*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0;padding:0}ol[role=list],ul[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body,html{height:100%}body{line-height:1.5;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}img,picture,svg{display:block}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}body{font-family:sans-serif;margin:0}:root{--clr-primary:#1b4579;--clr-holiday:#f99;--clr-workday:#4a7ebf;--clr-mix:#bf4a65;--clr-empty:#fff;--text-empty:#000;--text-full:#fff;--bg-holiday:var(--clr-empty);--txt-holiday:var(--text-empty);--bg-workday:var(--clr-workday);--txt-workday:var(--text-full);--bg-mix:var(--clr-workday);--txt-mix:var(--text-full)}#holidays-switch:checked~.calendar{--bg-holiday:var(--clr-holiday);--txt-holiday:var(--text-full)}#mix-switch:checked~.calendar{--bg-mix:var(--clr-mix);--txt-mix:var(--text-full)}.today{outline:2px solid #7b004f}.header{background:var(--clr-primary);color:#fff;margin:0 auto 2rem;padding:1rem 0}.nav{display:flex;margin:0 auto;max-width:800px;width:95%}.menu{align-items:center;display:inline-flex;gap:2rem;justify-content:space-evenly;list-style:none;margin-left:2rem}.menu a{color:#fff;text-decoration:none}.menu a:hover{text-decoration:underline}.footer{background:#333;color:#fff;font-size:.8rem;margin:0 auto;padding:2rem 1rem;text-align:center}.wrapper{margin:1em auto;max-width:800px;width:95%}.calendar{display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}table.month{min-width:220px}h1{color:#2c3e50;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:2.2rem;line-height:1.2;margin:20px 0 10px}h1,h2{font-weight:600;text-align:center}h2{color:#34495e;font-size:1.4rem;margin:0 0 16px}.info{color:#7f8c8d;font-size:1rem;line-height:1.6;margin-bottom:30px;text-align:center}b{font-weight:700}p{margin-bottom:1rem}.nobr{white-space:nowrap}.slogan{font-size:1rem;font-weight:100}.intro{border-top:2px solid #ccc;margin:1em auto;max-width:1200px;padding:1em}.intro ul{margin-bottom:20px;margin-left:40px}.result{font-size:1rem;text-align:center}.legend-info{font-size:.8rem!important;margin-block:2em;margin-inline:auto}table.legend-info td:first-child{padding-right:8px}.legend{display:block;height:20px;padding:0;width:20px}.legend-workday{background:var(--clr-workday)}.legend-holiday{background:var(--clr-holiday)}.legend-mix{background:var(--clr-mix)}.legend-today{border:2px solid #7b004f}th{text-align:right}th.month-title{text-align:center}td.day-container{position:relative;text-align:right}tr.total td{font-size:.9rem;line-height:1;text-align:center}tr.total td:first-child{padding-top:10px}.month-title{font-weight:700}.day{border-radius:3px;cursor:pointer;display:block;padding:0 4px}.day.holiday,.day.weekend{background:var(--bg-holiday);color:var(--txt-holiday)}.day.work{background:var(--bg-workday);color:var(--txt-workday)}.day.mix{background:var(--bg-mix);color:var(--txt-mix)}.day.dayshift:before{content:"Д"}.day.dayshift:before,.day.nightshift:before{font-size:.6rem;left:3px;position:absolute;top:0;vertical-align:super}.day.nightshift:before{content:"Н"}.holidays ul{list-style:square;margin-bottom:1em;margin-left:1em}.holidays ul li::marker{color:var(--clr-mix)}.btn{padding:2px 1rem}ul.history{list-style-type:none}ul.history li{margin-bottom:.5rem}.permalink{-webkit-user-select:all;user-select:all}@media screen and (min-width:860px){header{padding-inline:3em!important}}@media screen and (max-width:424px){.btn{margin-top:1rem}}.sitename{display:none;font-size:1.4rem;font-weight:700}@media screen and (max-width:860px){.sitename{display:block}}.prim{background:#e6eff9;padding:.5rem 1rem}.prim strong,strong{font-weight:700}.prim strong{line-height:2}.prim em,h3{font-weight:700}h3{font-size:1.3rem;margin-bottom:1rem;margin-top:2rem}article ul{margin-bottom:2rem;margin-left:3rem;margin-top:1.5rem}.fieldset{margin-block:2rem}table.zp{padding:8px}sup{font-size:.8rem}#schedule-help{display:block;position:relative;top:-85px}.schedule-form{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:18px;margin-bottom:16px;padding:24px}.schedule-form-param{color:#2c3e50;font-size:16px;font-weight:500;margin:0 0 8px}.select-date{display:flex;flex-wrap:wrap;gap:10px}.select-date-day{flex:1;min-width:80px}.select-date-day,.select-date-month{background:#fdfdfd;border:1px solid #bdc3c7;border-radius:8px;font-size:15px;padding:10px 14px}.select-date-month{flex:2;min-width:120px}.select-date-year{background:#fdfdfd;border:1px solid #bdc3c7;border-radius:8px;flex:1;font-size:15px;min-width:100px;padding:10px 14px}.select-schedule{align-items:center;background:#f8f9fa;border:1px solid #ecf0f1;border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;padding:12px}.select-schedule-more,.select-schedule-off,.select-schedule-work{border:1px solid #95a5a6;border-radius:6px;font-size:15px;min-width:70px;padding:10px}.schedule-form-submit{background:var(--clr-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1;font-size:15px;font-weight:500;min-width:300px;padding:12px 20px;transition:background .2s}.schedule-form-submit:hover{background:#1a3a66}.label1{background:#f8f9fa;border:1px solid #d0d7de;border-radius:8px 8px 8px 8px;color:#24292f;font-size:14px;line-height:1;margin:0 16px 8px 0;padding:8px 30px 8px 12px;user-select:none}.input1,.label1{cursor:pointer;display:inline-block;vertical-align:middle}.input1{left:-44px;margin:0;position:relative;top:-3px;transform:scale(1.15)}.label2{background:#f8f9fa;border:1px solid #d0d7de;border-radius:8px 8px 8px 8px;color:#24292f;font-size:14px;line-height:1;margin:-8px 16px 0 0;padding:8px 30px 8px 12px;user-select:none}.input2,.label2{cursor:pointer;display:inline-block;vertical-align:middle}.input2{left:-44px;position:relative;top:-4px;transform:scale(1.15)}.block1{align-items:center;gap:12px;margin-top:8px}.block1,.block2{display:flex;flex-wrap:wrap}.block2{border-top:1px solid #ecf0f1;color:#7f8c8d;font-size:14px;gap:20px;margin-top:16px;padding-top:16px}.select-order{border:1px solid #bdc3c7;border-radius:6px;font-size:15px;min-width:120px;padding:10px}.select-first,.select-hours{border:1px solid #bdc3c7;border-radius:6px;font-size:14px;margin-left:8px;padding:6px 10px;width:auto}.spacer{clear:both;display:block;margin-top:1rem}select[name=days-more]:has(option[value=""]:checked)~select[name=order]{background:#f5f5f5;color:#aaa;pointer-events:none}input[type=radio]{margin-left:8px}.adtop{max-height:120px}.admid{max-height:180px}.adfoot,.admid{margin-bottom:1rem;margin-top:1rem}.adfoot{max-height:120px}@media screen and (max-width:860px){.adfoot,.admid,.adtop{max-height:300px}}.adv{display:none}.vahta-container{display:flex;flex-wrap:wrap;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;gap:20px;justify-content:center}.vahta-container h2{color:#2c3e50;font-weight:600;margin-bottom:30px;text-align:center}.card{background:#fff;border-radius:12px;box-shadow:0 6px 15px rgba(0,0,0,.08);padding:20px;transition:transform .3s ease,box-shadow .3s ease;width:320px}.card:hover{box-shadow:0 10px 25px rgba(0,0,0,.12);transform:translateY(-5px)}.card h3{align-items:center;color:#2980b9;display:flex;font-size:1.3em;gap:8px;margin-top:0}.card p{color:#555;margin:10px 0}.card strong{color:#2c3e50}.highlight{background-color:#f1f8ff;border-radius:4px;color:#2980b9;font-weight:600;padding:2px 6px}.rest-days{color:#27ae60;font-weight:600}.text-center{text-align:center}ul.howto-legend{list-style:none}ul.howto-legend li span{float:left;margin-right:8px;margin-top:4px}.actions-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:1.5rem 0}.action-card{background:#fff;border:1px solid #eee;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:16px}.action-card div{text-align:left}.input-group{display:flex;gap:8px}.input-group input{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;color:#333;flex:1;font-size:.95rem;padding:8px 12px}.input-group button{background:#3498db;border:none;border-radius:6px;color:#fff;padding:8px 14px}.btn-qr,.input-group button{cursor:pointer;font-size:.95rem}.btn-qr{background:#f0f7ff;border:2px dashed #3498db;border-radius:8px;color:#3498db;font-weight:500;gap:8px;justify-content:center;padding:12px;width:100%}.action-link,.btn-qr{align-items:center;display:flex}.action-link{color:inherit;gap:10px;text-decoration:none}.action-link span{font-size:1.4rem}.action-link div{line-height:1.4}.action-link .desc{color:#7f8c8d;font-size:.85rem}.btn-history,.btn-print{border-radius:6px;flex:1;font-size:.95rem;font-weight:500;padding:10px;text-align:center;text-decoration:none}.btn-print{background:#2c3e50;color:#fff}.btn-history{background:#95a5a6;color:#fff}.action-card,.action-card a,.action-card button,.input-group button,.input-group input{transition:all .2s ease}.action-link:hover{background:#f8f9ff;border-color:#d0e0ff;box-shadow:0 6px 16px rgba(0,0,0,.1);transform:translateY(-2px)}.action-card:first-of-type:hover .input-group input{background:#fff;border-color:#3498db}.action-card:first-of-type:hover .input-group button{background:#2980b9;transform:translateY(-1px)}.btn-qr:hover{background:#e3f2fd;border-color:#2980b9;box-shadow:0 4px 12px rgba(52,152,219,.15);color:#2980b9;transform:translateY(-1px)}.btn-history:hover,.btn-print:hover{background:#1a252f!important;box-shadow:0 6px 16px rgba(0,0,0,.15);transform:translateY(-2px)}.toast{opacity:0;transition:opacity .3s ease}.toast.show{opacity:1}#copy-toast{background:#27ae60;border-radius:8px;bottom:20px;box-shadow:0 4px 12px rgba(0,0,0,.15);color:#fff;display:none;font-size:.95rem;left:50%;opacity:0;padding:10px 20px;position:fixed;transform:translateX(-50%);transition:opacity .3s ease;z-index:1001}#calendar-instructions{align-items:center;background:rgba(0,0,0,.7);display:none;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}#calendar-instructions,#qr-modal{opacity:0;pointer-events:none;transition:opacity .2s ease}#calendar-instructions.show,#qr-modal.show{opacity:1;pointer-events:auto}.qr_code_print{display:none}#calendar-instructions ol{text-align:left}.print-history{align-items:center;background:#f8f9fa;border-radius:8px;color:#555;display:flex;flex-wrap:wrap;font-size:.95rem;gap:12px;grid-column:span 2;padding:12px}@media (max-width:600px){.actions-grid{grid-template-columns:1fr}.print-history{grid-column:auto}}.gray{color:#7f8c8d;font-size:15px}.gray-sm{color:#7f8c8d;font-size:.85rem}.gray-t8{color:#7f8c8d;font-size:.9em;margin-top:8px}.qr-modal{align-items:center;background:rgba(0,0,0,.7);display:none;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.qr-modal.show{display:flex}.qr-modal-content{background:#fff;border-radius:12px;max-width:320px;padding:24px;text-align:center;width:90%}.qr-modal-content h4{color:#2c3e50;font-size:1.1rem;margin:0 0 12px}.qr-modal-content p{color:#555;font-size:.95rem;line-height:1.5;margin:0 0 16px}.qr-code-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);display:inline-block;padding:12px}.qr-code-wrapper img{height:auto;max-width:100%;min-width:180px}.btn-close{background:#95a5a6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;margin-top:18px;padding:8px 16px;transition:background .2s ease}.btn-close:hover{background:#7f8c8d}header{background:#333;color:#fff;padding:10px 0}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:auto;max-width:800px;padding-inline:1rem;position:relative}.logo{max-width:100px}nav ul{display:flex;list-style:none}nav li{margin:0 10px}nav a{color:#fff;text-decoration:none;transition:color .3s}nav a:hover{color:#ddd}.hamburger{cursor:pointer;display:none}.hamburger span{background-color:#fff;display:block;height:2px;height:3px;margin-bottom:5px;margin:5px 0;transition:all .3s;transition:transform .3s,opacity .2s;width:25px;width:30px}.nav-toggle{display:none}.nav-toggle:checked+nav .hamburger span:first-child{margin:4px 0!important;transform:rotate(45deg) translate(5px,5px)}.nav-toggle:checked+nav .hamburger span:nth-child(2){margin:4px 0!important;opacity:0}.nav-toggle:checked+nav .hamburger span:last-child{margin:4px 0!important;transform:rotate(-45deg) translate(5px,-5px)}.nav-toggle:checked+.hamburger span:first-child{transform:rotate(45deg) translate(5px,5px)}.nav-toggle:checked+.hamburger span:nth-child(2){opacity:0}.nav-toggle:checked+.hamburger span:last-child{transform:rotate(-45deg) translate(7px,-8px)}@media only screen and (max-width:860px){.nav-menu{background-color:#333;display:none;flex-direction:column;left:0;position:absolute;text-align:center;top:58px;width:100%}.nav-menu li{padding:10px 0}.nav-toggle:checked~nav .nav-menu{display:flex}.hamburger,.hamburger span{display:block}}@media print{body{margin-top:36px;-webkit-print-color-adjust:exact;print-color-adjust:exact}#howto-guide,.schedule-form,div.intro,form,header,input,label,p.slogan,section.holidays,section.result,section.schedule-description{display:none!important}.nop,h1,h2{visibility:hidden!important}.info,h1,h2{display:none!important}.calendar{break-after:page;gap:1rem 3rem!important}.adfoot,.admid,.adtop{display:none!important}h1:before{content:"График смен";margin-bottom:-1.2rem}h1:after,h1:before{display:block;text-align:center;visibility:visible}h1:after{content:"ProstoSmena.Ru";font-size:1.2rem;margin-bottom:1rem}.calendar{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.month{page-break-inside:avoid}.footer{background-color:#fff;bottom:0;color:#333;left:50%;position:fixed;transform:translate(-50%,-50%);visibility:hidden}.adv{color:#222;display:block;margin:0 auto;max-width:800px;text-align:center}.qr_code_print{display:block;margin-top:36px}}@page{size:A4 portrait;margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin:0;margin-top:20px;-webkit-print-color-adjust:exact;@top-center{content:"Рассчитай свой график смен онлайн на сайте ProstoSmena.ru";margin-top:20px}@bottom-center{content:"ProstoSmena.ru — калькулятор смен 2/2, 1/3, 6/2 и других графиков";margin-top:-26px}}