.shift-templates{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.color-blue{--shift-bg:#edf3ff;--shift-ink:#355eaf;--shift-edge:#cddcff}.color-teal{--shift-bg:#eaf8f2;--shift-ink:#167260;--shift-edge:#c8e9dc}.color-purple{--shift-bg:#f3edff;--shift-ink:#7951ab;--shift-edge:#e0d0fa}.color-amber{--shift-bg:#fff5e5;--shift-ink:#97631a;--shift-edge:#f4dfb9}.color-rose{--shift-bg:#fff0f3;--shift-ink:#a84c65;--shift-edge:#f4cfd9}.color-slate{--shift-bg:#f5f6f8;--shift-ink:#738197;--shift-edge:#e5e9ee}
.shift-template{display:flex;align-items:center;gap:9px;border:1px solid var(--shift-edge);border-radius:9px;background:var(--shift-bg);color:var(--shift-ink);padding:10px 12px;font-size:11px}.shift-template strong{font-size:12px}.shift-template small{opacity:.8;margin-left:4px}.shift-dot{background:var(--shift-ink);width:7px;height:7px;border-radius:50%}.shift-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:#f6f8fc;border:1px solid #e4eaf3;padding:16px;border-radius:11px}.shift-toolbar .field{margin:0;flex:1 1 170px}.shift-toolbar .field:first-child{flex:0 1 265px}.shift-week-picker{display:flex;gap:6px;min-width:0}.shift-week-picker input{min-width:0;flex:1}.shift-week-picker button{padding:8px 12px;font-size:20px}.shift-period-line{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px}.shift-period-line h3{font-size:16px;margin:0 0 6px;letter-spacing:-.3px}.shift-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.shift-stats .stat{padding:16px}.shift-stats .n{font-size:26px}.shift-table{min-width:1190px;table-layout:fixed}.shift-table th:first-child{width:180px;position:sticky;left:0;z-index:1;background:#f5f8fc}.shift-table th:last-child{width:85px}.shift-table th{font-size:10px;white-space:normal;line-height:1.5;padding:12px;text-transform:none;letter-spacing:0}.shift-table tbody th{background:#fff;font-weight:600;box-shadow:1px 0 #e4eaf3}.shift-table tbody th strong{font-size:12px}.shift-person-office{display:block;color:#6d7f96;font-size:10px;font-weight:400;margin-top:5px}.shift-head-date{display:block;color:#8c9ab0;font-size:10px;margin-top:2px}.shift-holiday{display:block;color:#a36c24;font-size:9px;font-weight:500;margin-top:4px}.shift-table .shift-cell{padding:10px 7px;background:var(--shift-bg);border:4px solid white;vertical-align:top;white-space:normal}.shift-cell select{width:100%;border:0;border-bottom:1px solid var(--shift-edge);border-radius:0;background:transparent;color:var(--shift-ink);font-size:11px;font-weight:650;padding:4px 0 8px;outline-offset:3px}.shift-cell select:focus-visible{outline:2px solid #6287e4}.shift-time{font-size:12px;font-weight:700;color:var(--shift-ink);padding:9px 0 5px;white-space:nowrap;font-variant-numeric:tabular-nums}.shift-cell-note{display:block;font-size:9px;color:var(--shift-ink);opacity:.9}.shift-cell.is-dirty{box-shadow:inset 0 -3px #df9e32}.shift-table .shift-total{font-size:19px;font-weight:750;text-align:center;color:#355675;padding:12px 6px;white-space:normal}.shift-total small{display:block;font-size:10px;font-weight:400;margin-top:3px}.shift-draft-info{font-size:12px;color:#8e6427;margin:14px 0 0}.shift-print-name{display:none}.shift-reapply{border:0;border-bottom:1px dashed currentColor;font-size:9px;color:var(--shift-ink);background:transparent;padding:4px 0;margin-top:5px}.shift-table select:disabled{opacity:.6}.shift-plan-panel .panel-head p{margin:6px 0 0}
@media(max-width:1100px){.shift-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-period-line .toolbar{width:100%}}
@media(max-width:600px){.shift-toolbar{padding:12px}.shift-toolbar .field,.shift-toolbar .field:first-child{flex-basis:100%}.shift-toolbar>.btn{flex:1}.shift-period-line .toolbar .btn{flex:1}.shift-template{flex-wrap:wrap}.shift-table th:first-child{width:150px}.shift-stats .n{font-size:24px}.shift-stats .t{font-size:10px}}
@media print{
 @page{size:A4 landscape;margin:10mm}
 body:has(#view-shifts.active){background:#fff!important;font-size:10px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body:has(#view-shifts.active) .sidebar,body:has(#view-shifts.active) .topbar,body:has(#view-shifts.active) .shift-screen-only,body:has(#view-shifts.active) dialog,body:has(#view-shifts.active) #shiftMessage{display:none!important}
 body:has(#view-shifts.active) .app-shell{display:block;min-height:0}
 body:has(#view-shifts.active) .main{padding:0;max-width:none}
 body:has(#view-shifts.active) .panel{border:0;box-shadow:none;padding:0;overflow:visible;margin:0}
 body:has(#view-shifts.active) .shift-table-wrap{overflow:visible;border-radius:0}
 .shift-table{min-width:0;width:100%;font-size:8px;table-layout:fixed}
 .shift-table th:first-child{width:115px;position:static}.shift-table th:last-child{width:42px}.shift-table th,.shift-table tbody th strong{font-size:9px;padding:6px}.shift-table .shift-cell{padding:6px 3px;border-width:2px}.shift-time{font-size:9px;padding:4px 0}.shift-person-office,.shift-cell-note,.shift-head-date{font-size:8px}.shift-table .shift-total{font-size:12px}
 .shift-cell select,.shift-reapply{display:none}.shift-print-name{display:block;color:var(--shift-ink);font-size:9px;font-weight:700}.shift-period-line{margin-top:10px}.shift-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.shift-stats .stat{box-shadow:none;padding:8px;border-radius:0}.shift-stats .n{font-size:18px}.shift-stats .t{font-size:9px}.shift-table tr{break-inside:avoid}.shift-table thead{display:table-header-group}
}
#view-shifts .shift-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media screen and (max-width:1100px){#view-shifts .shift-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
