:root{--ozon-blue:#005bff;--wb-purple:#7a20ce;--wb-pink:#cb11ab;--brand-gradient:linear-gradient(120deg,#516b99 0%,#716694 52%,#8e628a 100%);--pvz-action:#4d5e87;--pvz-action-hover:#405077;--pvz-active-surface:#e8ecf7;--pvz-active-text:#334569;--pvz-active-border:#aab7d5;--ink:#22263a;--muted-ink:#687088;--line:#dfe3f0;--page:#f5f6fc}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);margin:0;font:14px/1.45 Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px 13px;display:inline-flex}button:hover{background:#f0edff}button:disabled{opacity:.55;cursor:wait}input,select,textarea{background:#fff;border:1px solid #cfd5e6;border-radius:8px;min-width:0;max-width:100%;padding:9px}:is(input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible){outline:2px solid var(--wb-purple);outline-offset:2px}a{color:#6330ba}main{max-width:1480px;margin:auto;padding:0 22px 30px}header{justify-content:space-between;align-items:center;gap:8px;height:72px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand strong{font-size:18px}.brand small{color:var(--muted-ink);font-size:12px;display:block}.brand-icon{background:var(--brand-gradient);color:#fff;border-radius:12px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 4px 12px #6335df24}.head-actions{align-items:center;gap:6px;display:flex}.icon{flex-shrink:0;min-width:36px;min-height:36px;padding:8px}.owner{color:#62528c;align-items:center;gap:5px;font-size:12px;display:flex}.toolbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.city{align-items:center;gap:10px;display:flex}.city select{min-width:225px}.restore-note{color:var(--muted-ink);align-items:baseline;gap:8px;padding:10px 0 12px;font-size:12px;display:flex}.dot{background:#b29040;border-radius:50%;flex-shrink:0;width:7px;height:7px}.text{color:var(--wb-purple);background:0 0;border:0;padding:0;text-decoration:underline}.card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px}.views{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.views button{padding:8px 12px;font-size:13px}.views .selected{background:var(--pvz-active-surface);border-color:var(--pvz-active-border);color:var(--pvz-active-text)}.empty{text-align:center;max-width:540px;margin:40px auto;padding:32px}.empty svg{color:var(--wb-purple)}.empty h1{font-size:22px}.muted{color:var(--muted-ink)}.small,small{font-size:12px}.section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.section-head select{min-width:200px;font-weight:600}.original{max-width:1150px;margin:0 auto 18px}.original img{border:1px solid var(--line);border-radius:8px;width:100%;height:auto;display:block}.original p{margin:5px 0}.calendar-label{justify-content:space-between;align-items:center;gap:8px;margin:14px 0 8px;font-weight:600;display:flex}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.weekday{text-align:center;color:var(--muted-ink);padding:4px;font-size:12px}.day{text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:3px;min-height:96px;padding:7px;display:flex;position:relative}.day>b{font-size:13px}.today{outline:1px solid #8aafff;background:#edf3ff!important}.slot{white-space:normal;border:1px solid #dce0ef;border-left:3px solid #a79ac4;border-radius:5px;min-width:0;padding:5px;display:block;position:relative}.slot strong{font-size:12px;line-height:1.2;display:block}.slot small{color:#56617d;white-space:nowrap;margin-top:2px;font-size:10px;display:block}.slot.free{border:1px dashed var(--wb-pink);background:#fff0fb}.slot.free strong{color:#902680;font-weight:800}.slot i{color:var(--ozon-blue);font-size:11px;position:absolute;top:1px;right:3px}.unknown{color:#8a91a8;font-size:11px;font-weight:400;display:block}.table-wrap{border:1px solid var(--line);border-radius:8px;max-height:65vh;overflow:auto}table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}th,td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;min-width:102px;padding:5px}thead th{z-index:2;text-align:center;background:#f0effa;position:sticky;top:0}thead th:first-child{z-index:4;left:0}th:first-child{z-index:3;text-align:left;background:#f0effa;width:150px;min-width:150px;position:sticky;left:0}th small{color:var(--muted-ink);font-weight:400;display:block}td button{text-align:left;background:0 0;border:0;border-radius:0;width:100%;min-height:70px;padding:0;display:block}td .slot{margin-bottom:4px}.bottom-line{justify-content:space-between;align-items:center;gap:15px;margin-top:12px;display:flex}.overlay{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#21133c66;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;width:100%;max-width:590px;max-height:90dvh;padding:22px;overflow:auto;box-shadow:0 15px 80px #28184840}.modal h2{margin:0;font-size:18px;line-height:1.3}.modal h2 small{color:var(--muted-ink);margin-top:4px;font-weight:400;display:block}.modal label{flex-direction:column;gap:5px;margin-bottom:12px;font-size:13px;display:flex}.modal textarea{resize:vertical;min-height:100px}.interval{border:1px solid var(--line);background:#f7f6ff;border-radius:9px;flex-wrap:wrap;gap:7px;margin:10px 0;padding:10px;display:flex}.interval>input{flex:1;min-width:140px}.time-row{align-items:center;gap:8px;width:100%;display:flex}.time-row input{flex:1;min-width:0}.danger{color:#9e4b4b}.wide{width:100%;margin-top:10px}.primary{background:var(--pvz-action);color:#fff;border-color:var(--pvz-action)}.primary:hover{background:var(--pvz-action-hover)}.add{margin:14px 0;text-decoration:none;display:flex}.detail-slot,.request{border:1px solid var(--line);border-radius:9px;margin:10px 0;padding:12px}.detail-slot p{margin:4px 0}.detail-slot small,.request>small{color:var(--muted-ink);display:block}.actions{flex-wrap:wrap;gap:6px;display:flex}.actions button{padding:6px 9px;font-size:12px}.warning{color:#8a6c31;background:#fff6e2;border-radius:7px;padding:10px}.toast{z-index:60;color:#fff;background:#38216e;border:1px solid #9075cc;border-radius:11px;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:12px 10px 12px 18px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #29144933}.toast .icon{color:inherit;background:0 0;border:0}@media (max-width:640px){main{padding:0 8px 22px}header{height:60px}.brand{gap:7px}.brand strong{font-size:15px}.brand-icon{border-radius:9px;width:33px;height:33px}.brand small{font-size:10px}.head-actions{gap:3px}.owner{max-width:78px;font-size:10px;line-height:1.1}.toolbar{flex-wrap:wrap;gap:7px}.city{flex:1;min-width:0;font-size:12px}.city select{flex:1;min-width:0;font-size:13px}.toolbar>input{width:145px;padding:8px;font-size:13px}.restore-note{padding:8px 2px;font-size:10px}.views{gap:4px;margin-bottom:7px}.views button{padding:7px 8px;font-size:12px}.card{border-radius:10px;padding:8px}.section-head{gap:5px}.section-head select{min-width:0;max-width:68%;padding:8px;font-size:12px}.section-head .small{font-size:10px}.calendar{gap:2px}.day{border-radius:5px;gap:3px;min-height:69px;padding:3px}.day>b{font-size:11px}.slot{border-left-width:2px;border-radius:3px;padding:3px 2px}.slot strong{font-size:clamp(7px,2.2vw,11px)}.slot small{font-size:clamp(6px,1.7vw,9px)}.unknown{font-size:8px}.weekday{font-size:10px}.calendar-label{flex-direction:column;align-items:flex-start;gap:2px;font-size:12px}.calendar-label small{font-size:10px;font-weight:400}.bottom-line{flex-direction:column;align-items:stretch;gap:8px}.bottom-line small{font-size:10px}.modal{border-radius:12px;max-height:94dvh;padding:16px}.overlay{padding:9px}.original{margin-bottom:10px}.original p{font-size:10px}.table-wrap{max-height:63dvh}th,td{min-width:75px;padding:3px}th:first-child{width:98px;min-width:98px;font-size:10px}thead th{font-size:11px}td .slot strong{font-size:9px}td .slot small{font-size:8px}.toast{font-size:13px;bottom:12px}main,.card,.calendar,.day{min-width:0;max-width:100%}.slot{overflow:hidden}.slot strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slot small{text-overflow:ellipsis;overflow:hidden}.slot small+small{display:none}}.access-signin{border-radius:9px;padding:10px 16px;text-decoration:none;display:inline-block}.access-form{border-top:1px solid var(--line);gap:10px;margin:20px 0 12px;padding-top:16px;display:grid}.access-form label{text-align:left;gap:7px;font-size:13px;display:grid}.access-form input{width:100%}.payroll{gap:10px;display:grid}.payroll h2{margin:0;font-size:18px}.payroll h3{font-size:15px}.pay-total{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:15px 0;display:flex}.pay-total strong{font-size:22px;display:block}.pay-person{border-top:1px solid var(--line)}.pay-person>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:13px 2px;display:flex}.pay-person small{color:var(--muted-ink);margin-top:3px;display:block}.pay-person>summary>b{white-space:nowrap}.pay-line{border-top:1px solid #edf0f8;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px;display:flex}.pay-line p{margin:3px 0}.pay-line button{font-size:12px}.pay-issue{display:block;color:#9a6a24!important}.pay-settings>summary{cursor:pointer}.pay-defaults{flex-wrap:wrap;gap:12px;margin:12px 0;font-size:12px;display:flex}.pay-edit{border:1px solid var(--line);background:#f7f6ff;border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0;padding:12px;display:grid}.pay-edit label{gap:4px;font-size:12px;display:grid}.pay-edit input,.pay-edit select{width:100%}.pay-note,.pay-edit>small,.pay-edit>p{grid-column:1/-1}.pay-line details summary{cursor:pointer;margin-top:5px}.pay-person[open]{padding-bottom:7px}@media (max-width:640px){.payroll h2{font-size:15px}.pay-total strong{font-size:20px}.pay-total{margin:10px 0}.pay-person>summary{padding:12px 0;font-size:13px}.pay-person small{font-size:10px}.pay-line{flex-wrap:wrap;padding:10px 0}.pay-edit{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.pay-edit label{min-width:0}.pay-edit>button{grid-column:1/-1}}body:before{content:"";background:var(--brand-gradient);height:4px;display:block}.views .selected:hover{background:#dfe5f5}.brand strong{color:var(--ink)}.pay-total strong{color:var(--ozon-blue)}.pay-person>summary:hover{background:#f7f6ff}::selection{color:#32155b;background:#e5d6ff}.view-link,.quiet-link{color:#5831a3;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.view-link{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 12px;font-size:13px}.view-link:hover,.quiet-link:hover{background:#f0edff}.quiet-link{border-radius:8px;padding:8px}.access-choices,.calendar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.access-choices{justify-content:center}.calendar-actions{margin:0 0 10px}.calendar-actions button:not(.text){padding:6px 9px;font-size:12px}.cabinet-shell{max-width:910px}.cabinet-header{margin-bottom:10px}.cabinet-content h1,.cabinet-content h2,.cabinet-intro h1,.signin-card h1{margin:0}.cabinet-content h1,.cabinet-intro h1,.signin-card h1{font-size:24px;line-height:1.2}.cabinet-content h2{font-size:18px}.cabinet-content{padding:20px}.cabinet-intro{justify-content:space-between;align-items:center;gap:10px;padding:20px;display:flex}.cabinet-intro p{margin:4px 0 0}.cabinet-intro .eyebrow{letter-spacing:.07em;text-transform:uppercase;color:#5831a3;margin:0 0 6px;font-size:11px;font-weight:700}.cabinet-controls{justify-content:space-between;align-items:center;gap:12px;margin:14px 0 10px;display:flex}.month-control{align-items:center;gap:8px;display:flex}.cabinet-tabs{margin-bottom:12px}.cabinet-tabs button{min-height:41px}.nav-count{color:#5428a5;background:#ebe6fc;border-radius:30px;padding:1px 6px;font-size:11px;font-weight:700}.signin-card{max-width:460px;margin:22px auto;padding:28px}.signin-card>svg{color:var(--wb-purple);margin-bottom:10px}.signin-card .text{margin-top:12px}.form-stack{gap:12px;display:grid}.form-stack label,.team-editor label,.team-filters label{gap:4px;font-weight:600;display:grid}.form-stack p{margin:0}.form-stack label input,.form-stack label select,.form-stack label textarea,.team-editor textarea{width:100%;font-weight:400}.form-error{color:#922044;background:#fff1f3;border:1px solid #f6c2ce;border-radius:8px;padding:10px 12px}.time-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.shift-item{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 0;display:grid}.shift-item:last-of-type{border-bottom:0}.shift-day{color:#4c2b92;text-align:center;background:#f0eaff;border-radius:9px;padding:9px 8px;font-weight:700}.shift-text{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.shift-text span{color:var(--muted-ink);align-items:center;gap:4px;font-size:12px;display:flex}.shift-item button{justify-self:end}.tag{color:#4d358e;background:#eeeafd;border-radius:30px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;line-height:1.35;display:inline-flex}.tag.verified{color:#216142;background:#e2f5ea}.tag.waiting{color:#6d4b03;background:#fff2d7}.empty-state{border:1px dashed var(--line);color:var(--muted-ink);text-align:center;border-radius:9px;padding:18px 10px}.cabinet-footer-button{text-align:left;margin-top:14px}.cabinet-divider{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.request-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.request-history{color:var(--muted-ink);margin-top:10px;padding:8px 0}.request-history summary{cursor:pointer;color:#5831a3;font-weight:600}.request .actions .primary{margin-top:0}.team-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:14px 0;display:grid}.team-filters label{position:relative}.team-filters label svg{color:var(--muted-ink);pointer-events:none;position:absolute;bottom:13px;left:9px}.team-filters input{padding-left:31px}.team-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.employee-row{text-align:left;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;width:100%;padding:10px 12px;display:grid}.employee-avatar{color:#502399;background:#eeeaff;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.employee-name{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.employee-name small{color:var(--muted-ink)}.scope-list{border:1px solid var(--line);border-radius:9px;gap:6px;margin:0;padding:8px 12px;display:grid}.scope-list legend{font-weight:600}.scope-list label{align-items:center;gap:8px;font-weight:400;display:flex}.scope-list input[type=checkbox]{width:17px;height:17px;accent-color:var(--wb-purple)}.team-access-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.planning-preview ul{max-height:200px;margin:8px 0 0;padding-left:20px;overflow:auto}.form-stack button.primary.wide{margin:0}@media (max-width:500px){.cabinet-content,.cabinet-intro,.signin-card{padding:14px}.cabinet-content h1,.cabinet-intro h1,.signin-card h1{font-size:21px}.shift-item{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.shift-item .tag{grid-column:2;justify-self:start}.shift-item button{grid-area:1/3/span 2;padding:8px;font-size:12px}.shift-day{padding:6px;font-size:12px}.team-filters{grid-template-columns:1fr;gap:7px}.employee-row{padding:8px}.employee-row .tag{max-width:83px}.head-actions .quiet-link{padding:6px 2px}}.november-header{height:auto;min-height:72px;padding-block:6px}.november-header .brand{min-width:0}.november-header .brand-icon{flex:none}.november-header .brand small{overflow-wrap:anywhere}.november-header-actions{flex-wrap:wrap;justify-content:flex-end}.november-desktop-nav{margin-bottom:10px}.november-desktop-nav :is(button,a){border:1px solid var(--line);min-height:36px;color:var(--ink);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;text-decoration:none;display:inline-flex}.november-desktop-nav :is(button,a):hover{background:#eef0f8}.november-desktop-nav :is(button,a).selected,.november-mobile-nav>[aria-current=page]{color:var(--pvz-active-text);border-color:var(--pvz-active-border);background:var(--pvz-active-surface)}.november-nav-icon{display:inline-flex;position:relative}.november-mobile-nav{display:none}.november-menu-backdrop{z-index:40;background:#21133c66;position:fixed;inset:0}.november-menu-content{z-index:41;overscroll-behavior:contain;border:1px solid var(--line);background:#fff;border-radius:12px;width:min(450px,100% - 18px);max-height:90dvh;padding:16px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 15px 80px #28184840}.november-menu-content :is(h2,p){margin:0}.november-menu-content h2{font-size:18px}.november-menu-list{gap:6px;margin-top:10px;display:grid}.november-menu-list>:is(button,a){border:1px solid var(--line);min-height:44px;color:var(--ink);text-align:left;border-radius:9px;justify-content:flex-start;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.november-menu-list>:is(button,a):is(:hover,[aria-current=page]){color:#4c2b92;background:#f0edff}.november-menu-list .nav-count{margin-left:auto}.november-role-page .cabinet-controls{margin:8px 0}.november-role-page .cabinet-content{padding:15px}.november-role-page .cabinet-content .november-section-title{font-size:18px}.november-profile h1{margin:2px 0 8px}.november-profile p{margin:4px 0}.november-profile .actions{margin-top:12px}.november-team .team-filters{gap:8px;margin:8px 0 10px}.november-team .team-list{gap:6px}.november-team .employee-row{gap:10px;min-height:44px;padding:7px 10px}.november-team .employee-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.november-team .employee-dot{background:var(--wb-purple);border-radius:50%;width:11px;height:11px}@media (max-width:700px){.november-header{min-height:60px}.november-desktop-nav{display:none}.november-mobile-nav:not([hidden]){z-index:25;padding:4px max(4px, env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));border-top:1px solid var(--line);background:#fff;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 12px #28184812}.november-mobile-nav>:is(button,a){color:#62528c;text-align:center;border:1px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:56px;padding:4px 2px;font-size:11px;line-height:1.2;text-decoration:none;display:flex}.november-nav-count{color:#fff;background:#b42318;border:1px solid #fff;border-radius:99px;min-width:17px;padding:1px 4px;font-size:10px;font-weight:700;line-height:1.2;position:absolute;top:-5px;left:14px}main:has(.november-mobile-nav){padding-bottom:calc(80px + env(safe-area-inset-bottom))}main:has(.november-mobile-nav) .toast{bottom:calc(72px + env(safe-area-inset-bottom))}.november-role-page .cabinet-content{border-radius:10px;padding:8px}.november-role-page .month-control input{min-height:36px;padding:5px 8px}}@media print{.november-mobile-nav{display:none!important}}.november-workspace .november-schedule-views{margin-top:8px}.november-workspace .november-request-panel{gap:12px;display:grid}.november-request-panel :is(h1,h2,p){margin:0}.november-request-panel h1{font-size:20px}.november-request-panel h2{font-size:16px}.november-attendance{gap:6px;display:grid}.november-attendance .shift-item{border:1px solid var(--line);border-radius:9px;padding:6px}.november-day-editor .interval label{gap:3px;font-size:12px;display:grid}.november-day-editor .interval .time-row,.november-day-editor .interval .helper-pay-fields{grid-column:1/-1}.helper-pay-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.slot .helper-slot-label{color:#5428a5;font-weight:700}.slot.helper-slot{border-style:dashed}.swappable-slot{cursor:grab}.swappable-slot:active{cursor:grabbing}@media (max-width:440px){.november-attendance .shift-item .tag{grid-column:2}}
