/* Pivoteka ERP 2.18.4 — annual Director Desktop schedule editor */
:root{
  --s218-green:#239b3b;
  --s218-green-soft:#eaf7ec;
  --s218-blue:#1769d2;
  --s218-blue-soft:#eaf2ff;
  --s218-red:#e5484d;
  --s218-red-soft:#fff0f1;
  --s218-orange:#ed8a18;
  --s218-orange-soft:#fff5e8;
  --s218-yellow:#e3b315;
  --s218-yellow-soft:#fff9df;
  --s218-gray:#8b939d;
  --s218-border:#dfe5eb;
  --s218-text:#17202a;
  --s218-muted:#697586;
  --s218-bg:#f5f7fa;
}
body.s218-active{background:var(--s218-bg)!important;color:var(--s218-text)!important}
body.s218-active .topbar,
body.s218-active .desktop-toolbar{display:none!important}
body.s218-active .desktop-workspace{padding:0 18px 30px!important;background:var(--s218-bg)!important}
body.s218-active .screen{padding:0!important;display:block!important;max-width:none!important}
body.s218-active .app-main{background:var(--s218-bg)!important}

.s218-sidebar-toggle{
  margin-left:auto;width:36px;height:36px;border:1px solid rgba(255,255,255,.24);border-radius:9px;
  background:rgba(255,255,255,.04);color:#fff;font-size:20px;line-height:1;cursor:pointer;flex:0 0 auto
}
.s218-sidebar-toggle:hover{background:rgba(255,255,255,.11)}
body.s218-sidebar-collapsed .app-main{--sidebar-width:72px!important}
body.s218-sidebar-collapsed .desktop-sidebar{width:72px!important;padding-left:8px!important;padding-right:8px!important}
body.s218-sidebar-collapsed .desktop-brand{justify-content:center!important;gap:0!important}
body.s218-sidebar-collapsed .desktop-brand>div:not(.desktop-brand__mark){display:none!important}
body.s218-sidebar-collapsed .desktop-brand__mark{display:none!important}
body.s218-sidebar-collapsed .s218-sidebar-toggle{margin:0;width:42px}
body.s218-sidebar-collapsed .desktop-nav-group>summary{display:none!important}
body.s218-sidebar-collapsed .desktop-nav-group{margin:0!important}
body.s218-sidebar-collapsed .desktop-nav-group__items{display:grid!important;gap:6px!important}
body.s218-sidebar-collapsed .tabbar__btn{font-size:0!important;justify-content:center!important;padding:11px 8px!important;min-height:42px!important}
body.s218-sidebar-collapsed .tabbar__btn>span{font-size:18px!important;margin:0!important}
body.s218-sidebar-collapsed .desktop-sidebar__footer small,
body.s218-sidebar-collapsed .sidebar-support{display:none!important}

.s218-root{min-width:0;padding:14px 0 40px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--s218-text)}
.s218-top{position:sticky;top:0;z-index:25;background:rgba(245,247,250,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--s218-border);padding:2px 0 0}
.s218-head-row{display:flex;align-items:center;gap:12px;min-height:58px}
.s218-title{font-size:22px;font-weight:800;white-space:nowrap;margin-right:8px}
.s218-year{display:flex;align-items:center;border:1px solid var(--s218-border);border-radius:9px;background:#fff;height:42px;overflow:hidden}
.s218-year button{width:40px;height:100%;border:0;background:#fff;font-size:22px;cursor:pointer;color:#303947}
.s218-year strong{min-width:86px;text-align:center;font-size:17px}
.s218-head-spacer{flex:1}
.s218-action{height:42px;border-radius:9px;padding:0 16px;border:1px solid var(--s218-border);background:#fff;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.s218-action:disabled{opacity:.45;cursor:not-allowed}
.s218-action.save{border-color:#9ad6a5;color:#187b2c;background:#f7fff8}
.s218-action.publish{border-color:var(--s218-green);background:var(--s218-green);color:#fff}
.s218-filters{display:flex;gap:9px;flex-wrap:wrap;padding:0 0 12px}
.s218-filter{height:38px;padding:0 13px;border:1px solid var(--s218-border);background:#fff;border-radius:8px;cursor:pointer;color:#303947;display:flex;align-items:center;gap:8px}
.s218-filter.is-active{border-color:#b9c8da;background:#eef3f9;font-weight:700}
.s218-filter-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#99a1aa}
.s218-filter[data-filter="unpublished"] .s218-filter-dot{background:var(--s218-yellow)}
.s218-filter[data-filter="conflicts"] .s218-filter-dot{background:var(--s218-red)}
.s218-filter[data-filter="unfilled"] .s218-filter-dot{background:var(--s218-gray)}
.s218-filter[data-filter="unclosed"] .s218-filter-dot{background:var(--s218-orange)}
.s218-filter-count{font-weight:800;color:inherit}
.s218-store-strip{display:flex;align-items:center;gap:4px;overflow-x:auto;background:#fff;border:1px solid var(--s218-border);border-radius:10px 10px 0 0;padding:0 10px;scrollbar-width:thin}
.s218-store-tab{height:52px;border:0;border-bottom:3px solid transparent;background:transparent;padding:0 15px;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px;color:#26313e}
.s218-store-tab.is-active{border-bottom-color:var(--s218-blue);font-weight:800}
.s218-store-tab:hover{background:#f8fafc}
.s218-store-dot{width:10px;height:10px;border-radius:50%;background:var(--s218-gray)}
.s218-store-dot.published{background:#35a854}.s218-store-dot.draft{background:var(--s218-yellow)}.s218-store-dot.conflict{background:var(--s218-red)}.s218-store-dot.unclosed{background:var(--s218-orange)}.s218-store-dot.unfilled,.s218-store-dot.empty{background:var(--s218-gray)}
.s218-store-badge{min-width:20px;height:20px;border-radius:10px;background:var(--s218-red);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.s218-filter-empty{background:#fff;border:1px solid var(--s218-border);border-top:0;padding:18px;border-radius:0 0 10px 10px;color:var(--s218-muted)}

.s218-months{display:grid;gap:12px;padding-top:12px}
.s218-month{background:#fff;border:1px solid var(--s218-border);border-radius:11px;overflow:hidden}
.s218-month.current{border-color:#69a9ff;box-shadow:0 0 0 1px rgba(23,105,210,.12)}
.s218-month-head{min-height:48px;display:block;padding:0;border-bottom:1px solid var(--s218-border)}
.s218-month-toggle{width:100%;min-height:48px;border:0;background:#fff;display:flex;align-items:center;gap:10px;padding:0 14px;text-align:left;color:inherit;cursor:pointer}
.s218-month-toggle:hover{background:#fafbfd}
.s218-month-toggle:focus-visible{outline:2px solid var(--s218-blue);outline-offset:-2px}
.s218-month-chevron{width:18px;flex:0 0 18px;font-size:22px;line-height:1;color:#596675;text-align:center}
.s218-month.is-collapsed .s218-month-head{border-bottom:0}
.s218-month.is-collapsed .s218-month-body{display:none}
.s218-month-title{font-size:18px;font-weight:800}.s218-month-year{font-size:16px}
.s218-status{font-size:12px;border-radius:6px;padding:5px 9px;background:#f1f3f5;color:#59636f;white-space:nowrap}
.s218-status.published{background:var(--s218-green-soft);color:#237938}.s218-status.draft{background:var(--s218-yellow-soft);color:#9a7000}.s218-status.conflict{background:var(--s218-red-soft);color:#b3262d}.s218-status.unclosed{background:var(--s218-orange-soft);color:#ad5d00}.s218-status.unfilled,.s218-status.empty{background:#f1f3f5;color:#626b76}
.s218-month-meta{margin-left:auto;color:var(--s218-muted);font-size:12px;display:flex;gap:12px;align-items:center}
.s218-month-dirty{color:#a87400;font-weight:700}
.s218-grid-scroll{overflow-x:auto;position:relative;scrollbar-width:thin}
.s218-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;table-layout:fixed;font-size:12px}
.s218-table th,.s218-table td{border-right:1px solid #e6eaef;border-bottom:1px solid #e6eaef;text-align:center;height:48px;padding:0;position:relative;background:#fff}
.s218-table thead th{height:57px;background:#fafbfd;font-weight:500;color:#46515f;position:sticky;top:0;z-index:5}
.s218-table thead th.weekend{background:#fff3f3;color:#d64045}
.s218-table th.employee-col,.s218-table td.employee-col{position:sticky;left:0;z-index:8;width:184px;min-width:184px;max-width:184px;background:#fff;text-align:left}
.s218-table thead th.employee-col{z-index:10;background:#fafbfd;text-align:center}
.s218-day-col{width:39px;min-width:39px;max-width:39px}
.s218-day-number{font-weight:700;font-size:12px;line-height:18px}.s218-weekday{font-size:11px;line-height:16px;color:#687484}.weekend .s218-weekday{color:#d64045}
.s218-day-warning{color:var(--s218-red);font-weight:900;margin-left:2px;font-size:13px}
.s218-table td.unclosed-col{background:linear-gradient(90deg,rgba(229,72,77,.075),rgba(229,72,77,.075))}
.s218-table td.blocking-col{background:rgba(229,72,77,.10)}
.s218-person{display:flex;align-items:center;gap:7px;height:100%;padding:0 8px;min-width:0}
.s218-drag{border:0;background:transparent;color:#1f2a36;cursor:grab;font-size:17px;padding:0 2px;line-height:1}.s218-drag:active{cursor:grabbing}
.s218-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 28px;overflow:hidden;color:#fff;font-weight:800;background:#6676d8}
.s218-avatar.c0{background:#2f80ed}.s218-avatar.c1{background:#29a45c}.s218-avatar.c2{background:#8d58d6}.s218-avatar.c3{background:#f08a21}.s218-avatar.c4{background:#d75252}.s218-avatar.c5{background:#467e9b}
.s218-avatar img{width:100%;height:100%;object-fit:cover}
.s218-person-name{font-size:12px;font-weight:750;color:#17202a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;text-shadow:0 0 0 currentColor}
.s218-person-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.s218-remove{margin-left:auto;border:0;background:transparent;color:#99a2ad;cursor:pointer;font-size:16px;opacity:0}.s218-person:hover .s218-remove{opacity:1}.s218-remove:hover{color:var(--s218-red)}
.s218-row-dragging{opacity:.45}.s218-row-over td{box-shadow:inset 0 2px 0 var(--s218-blue)}
.s218-shift{width:100%;height:100%;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:2px;padding:2px;color:#313a46}
.s218-shift:focus-visible{outline:2px solid var(--s218-blue);outline-offset:-2px}
.s218-shift.is-selected{background:rgba(23,105,210,.12);box-shadow:inset 0 0 0 2px rgba(23,105,210,.65)}
.s218-shift.is-blocking{background:rgba(229,72,77,.12);box-shadow:inset 0 0 0 1px rgba(229,72,77,.48)}
.s218-shift.has-other-store:not(.is-blocking):hover{background:rgba(105,117,134,.05)}
.s218-hours{min-width:25px;height:28px;border-radius:5px;background:#edf4ff;border:1px solid #d7e6ff;color:#1162cc;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.s218-hours.c0{background:#edf4ff;border-color:#d7e6ff;color:#1162cc}.s218-hours.c1{background:#edf8ee;border-color:#d6eed8;color:#20873a}.s218-hours.c2{background:#f2edff;border-color:#e2d9ff;color:#6e42c1}.s218-hours.c3{background:#fff5e9;border-color:#ffe1bc;color:#d56d00}.s218-hours.c4{background:#fff0f0;border-color:#ffd5d5;color:#c53d3d}.s218-hours.c5{background:#eef6f9;border-color:#d9eaf0;color:#36728b}
.s218-lock{min-width:28px;height:28px;border-radius:5px;background:#f1f3f5;border:1px solid #e0e4e8;color:#66717e;display:inline-flex;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:700;padding:0 4px}
.s218-lock.blocking{background:var(--s218-red-soft);border-color:#ffc9cc;color:#b3262d}
.s218-divider{color:#9ba4af}.s218-inline-hours{width:34px;height:30px;border:2px solid var(--s218-blue);border-radius:5px;text-align:center;font-size:12px;padding:0;background:#fff;color:#17202a;font-weight:700;appearance:textfield;-moz-appearance:textfield}
.s218-inline-hours::-webkit-outer-spin-button,.s218-inline-hours::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.s218-add-row{height:48px;display:flex;align-items:center;gap:10px;padding:0 13px;border-bottom:1px solid var(--s218-border)}
.s218-add-label{color:#20943b;font-weight:750;display:flex;align-items:center;gap:8px}.s218-plus{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#2aaa45;color:#fff;font-size:16px}
.s218-add-select{height:32px;min-width:260px;border:1px solid var(--s218-border);border-radius:7px;background:#fff;padding:0 9px;color:#34404d}
.s218-month-foot{min-height:47px;display:flex;align-items:center;gap:26px;padding:0 14px;background:#fff;color:#4f5b68;font-size:12px;flex-wrap:wrap}
.s218-month-foot b{font-size:13px;color:#26313e}.s218-good{color:#21893a!important}.s218-bad{color:var(--s218-red)!important}.s218-warn{color:#b86800!important}
.s218-problem-links{margin-left:auto;display:flex;gap:6px;align-items:center;color:var(--s218-red)}
.s218-problem-link{border:0;background:transparent;color:var(--s218-red);cursor:pointer;text-decoration:underline;padding:2px}
.s218-empty-month{padding:18px;color:var(--s218-muted)}

.s218-selection-bar{position:fixed;z-index:60;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:8px;border:1px solid #cfd7e1;border-radius:11px;background:#fff;box-shadow:0 12px 35px rgba(25,38,55,.22)}
.s218-selection-bar.hidden{display:none}.s218-selection-count{padding:0 8px;color:var(--s218-muted);font-size:12px}.s218-selection-bar button{height:34px;min-width:38px;border:1px solid var(--s218-border);border-radius:7px;background:#fff;cursor:pointer;font-weight:700}.s218-selection-bar button:hover{background:#f1f5f9}.s218-selection-bar button.clear{color:var(--s218-red)}.s218-other-input{width:58px;height:34px;border:1px solid var(--s218-border);border-radius:7px;text-align:center}

.s218-loading{padding:80px 20px;text-align:center;color:var(--s218-muted)}
.s218-error{padding:20px;border:1px solid #ffc8cb;background:#fff1f2;color:#a8272d;border-radius:10px;margin-top:20px}
.s218-modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(10,20,32,.46);display:grid;place-items:center;padding:24px}
.s218-modal{width:min(620px,100%);max-height:min(80vh,760px);overflow:auto;background:#fff;border-radius:13px;border:1px solid var(--s218-border);box-shadow:0 22px 65px rgba(0,0,0,.28)}
.s218-modal header{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid var(--s218-border)}
.s218-modal h3{margin:0;font-size:19px}.s218-modal header p{margin:5px 0 0;color:var(--s218-muted);font-size:13px}.s218-modal-close{margin-left:auto;border:0;background:transparent;font-size:24px;cursor:pointer;color:#6c7682}
.s218-modal-body{padding:18px 20px;line-height:1.55;color:#34404d}.s218-modal-body ul{margin:8px 0;padding-left:20px}.s218-modal-body .warning{background:var(--s218-orange-soft);border:1px solid #ffd9a8;border-radius:8px;padding:10px 12px;margin:10px 0}.s218-modal-body .error{background:var(--s218-red-soft);border:1px solid #ffc7ca;border-radius:8px;padding:10px 12px;margin:10px 0}
.s218-modal footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid var(--s218-border);flex-wrap:wrap}.s218-modal footer button{height:39px;border-radius:8px;padding:0 14px;border:1px solid var(--s218-border);background:#fff;cursor:pointer;font-weight:700}.s218-modal footer button.primary{background:var(--s218-green);border-color:var(--s218-green);color:#fff}.s218-modal footer button.danger{color:var(--s218-red)}.s218-modal footer button:disabled{opacity:.45;cursor:not-allowed}
.s218-publish-store{padding:10px 0;border-bottom:1px solid #edf0f3}.s218-publish-store:last-child{border-bottom:0}.s218-publish-store strong{display:block;margin-bottom:4px}.s218-publish-month{display:flex;justify-content:space-between;gap:10px;padding:3px 0;color:#4b5663}.s218-publish-warning{color:#b46100;font-size:12px}.s218-publish-error{color:var(--s218-red);font-size:12px}
.s218-toast-note{font-size:12px;color:var(--s218-muted)}

@media(max-width:1100px){
  .s218-title{display:none}.s218-head-row{flex-wrap:wrap;padding:8px 0}.s218-head-spacer{display:none}.s218-filters{overflow-x:auto;flex-wrap:nowrap}.s218-month-meta{display:none}
}
@media(max-width:760px){
  .s218-action{padding:0 10px}.s218-action span.s218-action-text{display:none}.s218-store-tab{padding:0 10px}.s218-month-foot{gap:12px;padding:8px 10px}.s218-add-select{min-width:160px;max-width:60vw}
}

/* Pivoteka ERP 2.18.2 — usability fixes */
.s218-root{position:relative}
.s218-store-loading{display:none;position:fixed;z-index:70;top:14px;left:50%;transform:translateX(-50%);padding:8px 14px;border:1px solid #b9c9dc;border-radius:9px;background:#fff;color:#263646;font-weight:700;box-shadow:0 8px 24px rgba(28,44,64,.16)}
.s218-root.is-loading-store .s218-store-loading{display:block}
.s218-root.is-loading-store .s218-store-strip{opacity:.72}

.s218-store-tab{cursor:grab;user-select:none}
.s218-store-tab:active{cursor:grabbing}
.s218-store-grip{color:#9aa4af;font-size:13px;letter-spacing:-3px;margin-right:2px}
.s218-store-dragging{opacity:.45}
.s218-store-over{box-shadow:inset 3px 0 0 var(--s218-blue);background:#f0f6ff!important}

.s218-status.empty.is-quiet{background:transparent;border:0;padding:0;color:#7b8591;font-weight:650}
.s218-day-closed-mark{display:inline-block;margin-left:3px;color:#59636e;font-weight:900;font-size:14px}
.s218-table thead th.store-closed{background:#eef1f4;color:#5d6671}
.s218-table td.store-closed-col{background:#f7f8f9}
.s218-table td.store-closed-col .s218-shift{background:repeating-linear-gradient(135deg,transparent,transparent 5px,rgba(95,105,116,.045) 5px,rgba(95,105,116,.045) 10px)}

.s218-table th,.s218-table td{border-right:1px solid #d9dfe6;border-bottom:1px solid #d5dce4}
.s218-table tbody tr:nth-child(even) td:not(.unclosed-col):not(.blocking-col):not(.store-closed-col){background:#fcfdfe}
.s218-table tbody tr:hover td{box-shadow:inset 0 1px 0 rgba(23,105,210,.06),inset 0 -1px 0 rgba(23,105,210,.06)}
.s218-table thead th{background:#edf1f5!important;color:#222d39;font-weight:800;font-size:12px;border-bottom:2px solid #cbd3dc}
.s218-table thead th.weekend{background:#f7eaea!important;color:#b9343b}
.s218-table thead th.employee-col{background:#e8edf2!important;color:#1e2935;font-weight:850;text-align:left;padding-left:14px}
.s218-day-number{font-weight:850;color:inherit}
.s218-weekday{font-weight:700;color:#52606e}
.weekend .s218-weekday{color:#b9343b}
.s218-person-name{font-size:12.5px;font-weight:800;color:#101923;text-shadow:none}
.s218-table th.employee-col,.s218-table td.employee-col{width:218px;min-width:218px;max-width:218px}
.s218-person{padding:0 10px}

.s218-add-employee-row td{height:48px;background:#fafbfd!important;border-bottom:1px solid #d5dce4}
.s218-add-employee-row td.employee-col{padding:7px 10px}
.s218-add-select{width:100%;min-width:0;height:34px;border-color:#cbd4de;color:#26313e;font-weight:650;background:#fff}
.s218-add-employee-space{background:#fafbfd!important}
.s218-add-row,.s218-add-label,.s218-plus{display:none!important}

.s218-month-foot{justify-content:space-between;gap:14px;padding:8px 12px;min-height:56px;border-top:0}
.s218-month-summary{display:flex;align-items:center;gap:22px;flex-wrap:wrap;min-width:0;flex:1}
.s218-month-publish{height:38px;border:1px solid var(--s218-green);border-radius:8px;background:var(--s218-green);color:#fff;padding:0 14px;font-weight:800;cursor:pointer;white-space:nowrap}
.s218-month-publish:disabled{opacity:.42;cursor:not-allowed;background:#eef1f4;border-color:#d5dbe2;color:#7d8792}

.s218-selection-bar{color:#17202a;border-color:#aeb9c6;background:#fff;padding:9px 10px;box-shadow:0 14px 36px rgba(20,34,50,.26)}
.s218-selection-count{color:#273544;font-size:13px}
.s218-keyboard-hint{color:#3c4b5a;font-size:12px;font-weight:650;padding:0 6px}
.s218-selection-bar button{color:#17202a;background:#fff;border-color:#c8d1db}
.s218-selection-bar button:hover{background:#eaf2ff;border-color:#9ebce2}
.s218-selection-bar button.clear{color:#bd3037;background:#fff6f6;border-color:#efc3c6}
.s218-other-input{color:#17202a;background:#fff;border-color:#b9c4cf;font-weight:700}
.s218-occupied-bar{gap:10px;max-width:min(760px,calc(100vw - 30px));flex-wrap:wrap;justify-content:center}
.s218-occupied-link{height:auto!important;min-width:230px!important;padding:7px 10px!important;display:flex!important;align-items:center!important;gap:9px!important;text-align:left!important;border-color:#efb554!important;background:#fff8e9!important;color:#5b3a00!important}
.s218-occupied-link small{display:block;color:#7a5a21;font-weight:600;margin-top:2px}
.s218-occupied-lock{width:30px;height:30px;border-radius:7px;background:#ffd578;display:grid;place-items:center;font-size:16px;flex:0 0 30px}

.s218-shift.is-selected{background:rgba(23,105,210,.15);box-shadow:inset 0 0 0 2px #1769d2}
.s218-shift.has-other-store:not(.is-blocking).is-selected{background:#fff6df;box-shadow:inset 0 0 0 2px #e39a19}
.s218-shift.has-other-store:not(.is-blocking).is-selected::after{content:'🔒';position:absolute;right:2px;top:2px;font-size:10px;line-height:1}

@media(max-width:760px){
  .s218-table th.employee-col,.s218-table td.employee-col{width:184px;min-width:184px;max-width:184px}
  .s218-month-foot{align-items:stretch}.s218-month-publish{width:100%}
  .s218-selection-bar{max-width:calc(100vw - 18px);overflow-x:auto;justify-content:flex-start}
}
.s218-selection-bar button.closed-day{font-size:19px;line-height:1;color:#4e5965;background:#f3f5f7;border-color:#cbd2da}

/* Pivoteka ERP 2.18.4 — employee monthly totals */
.s218-total-col{width:58px;min-width:58px;max-width:58px;font-variant-numeric:tabular-nums;text-align:center!important}
.s218-table thead th.s218-total-col{background:#e3e9ef!important;color:#1d2834;font-weight:850;font-size:11.5px;line-height:1.15}
.s218-table td.s218-total-col{background:#f7f9fb!important;color:#17212c;font-size:12.5px;font-weight:850}
.s218-table .s218-hours-total-head,.s218-table .s218-hours-total{border-left:2px solid #bcc6d0!important}
.s218-table .s218-shifts-total-head,.s218-table .s218-shifts-total{border-right:0}
.s218-table tbody tr:nth-child(even) td.s218-total-col{background:#f1f5f8!important}
.s218-table tbody tr:hover td.s218-total-col{background:#edf4fc!important}
@media(max-width:760px){.s218-total-col{width:52px;min-width:52px;max-width:52px}}

/* Pivoteka ERP 2.18.7 — read-only periods, employee calendar and schedule health */
.s218-status.empty,
.s218-status.unfilled,
.s218-status.empty.is-quiet{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  color:#5a6572!important;
  font-weight:700!important;
}
.s218-status.unfilled{color:#8a5b00!important}
.s218-hours{
  color:#0b376e!important;
  font-size:12.5px!important;
  font-weight:850!important;
  border-color:#a9c9ee!important;
  text-shadow:none!important;
}
.s218-hours.c0{color:#064f9f!important;border-color:#9fc4ef!important;background:#e6f1ff!important}
.s218-hours.c1{color:#126a28!important;border-color:#a9d8b1!important;background:#e8f6eb!important}
.s218-hours.c2{color:#5631a2!important;border-color:#c9b8ef!important;background:#eee7ff!important}
.s218-hours.c3{color:#a65000!important;border-color:#edc18a!important;background:#fff0dc!important}
.s218-hours.c4{color:#9f2929!important;border-color:#e7aaaa!important;background:#ffe8e8!important}
.s218-hours.c5{color:#235f78!important;border-color:#a9cfdd!important;background:#e7f3f7!important}
.s218-table td.s218-total-col{
  color:#101a25!important;
  font-weight:900!important;
  opacity:1!important;
}
.s218-table thead th.s218-total-col{
  color:#17212c!important;
  opacity:1!important;
}
.s218-conflict-link{
  border:0;
  background:transparent;
  color:var(--s218-red);
  padding:2px 0;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
  font:inherit;
  white-space:nowrap;
}
.s218-conflict-link b{color:inherit!important}
.s218-conflict-link:hover{color:#b91f29}
.s218-shift.is-conflict-focus{
  position:relative;
  z-index:12;
  animation:s218-conflict-pulse .75s ease-in-out 3;
  box-shadow:inset 0 0 0 3px #e5484d,0 0 0 5px rgba(229,72,77,.22)!important;
  background:#fff0f1!important;
}
@keyframes s218-conflict-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.09)}
}

/* Pivoteka ERP 2.18.7 — employee calendar across stores */
.s218-employee-calendar{border:0;background:transparent;color:#4d6680;cursor:pointer;font-size:16px;line-height:1;padding:3px;border-radius:5px;flex:0 0 auto}
.s218-employee-calendar:hover{color:#1769d2;background:#e9f2ff}
.s218-person .s218-remove{margin-left:0}
.s218-calendar-loading{padding:28px 8px;text-align:center;color:var(--s218-muted);font-weight:700}
.s218-employee-calendar-summary{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:14px;padding:10px 12px;background:#f4f7fa;border:1px solid #dce3ea;border-radius:9px;color:#34404d}
.s218-employee-calendar-week,.s218-employee-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:5px}
.s218-employee-calendar-week{margin-bottom:5px;color:#65717e;font-size:11px;font-weight:800;text-align:center}
.s218-employee-calendar-grid{min-width:720px}
.s218-employee-day{min-height:92px;border:1px solid #d8e0e8;border-radius:8px;background:#fbfcfd;padding:7px;overflow:hidden}
.s218-employee-day.is-empty{border-color:transparent;background:transparent}
.s218-employee-day.is-weekend{background:#fff8f8}
.s218-employee-day.has-shift{background:#f2f8ff;border-color:#b9d4f2}
.s218-employee-day-number{font-size:12px;font-weight:900;color:#4b5866;margin-bottom:5px}
.s218-employee-day-entry{display:flex;justify-content:space-between;gap:7px;font-size:11px;line-height:1.3;padding:2px 0;color:#263441}
.s218-employee-day-entry span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s218-employee-day-entry b{white-space:nowrap;color:#174f8e}
.s218-employee-day-total{margin-top:4px;padding-top:4px;border-top:1px solid #cbdced;font-size:11px;font-weight:850;color:#17283a}
.s218-modal-body:has(.s218-employee-calendar-grid){overflow-x:auto}
@media(max-width:900px){.s218-employee-calendar-week,.s218-employee-calendar-grid{grid-template-columns:repeat(7,minmax(82px,1fr));}.s218-employee-calendar-grid{min-width:650px}}

/* Pivoteka ERP 2.18.7.2 — full employee month calendar without clipping */
.s218-modal:has(.s218-employee-calendar-grid){
  width:min(980px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.s218-modal:has(.s218-employee-calendar-grid) .s218-modal-body{
  overflow:auto;
  flex:1 1 auto;
  min-height:0;
}
.s218-modal:has(.s218-employee-calendar-grid) .s218-employee-calendar-week,
.s218-modal:has(.s218-employee-calendar-grid) .s218-employee-calendar-grid{
  grid-template-columns:repeat(7,minmax(105px,1fr));
  min-width:0;
}
.s218-modal:has(.s218-employee-calendar-grid) .s218-employee-day{min-height:86px}
@media(max-width:760px){
  .s218-modal:has(.s218-employee-calendar-grid){width:calc(100vw - 12px);max-height:calc(100vh - 12px)}
  .s218-modal:has(.s218-employee-calendar-grid) .s218-employee-calendar-week,
  .s218-modal:has(.s218-employee-calendar-grid) .s218-employee-calendar-grid{grid-template-columns:repeat(7,minmax(82px,1fr));min-width:650px}
}
