.schedule-dimensions{display:flex;gap:6px;width:max-content;margin:-8px 0 18px;padding:4px;border:1px solid #deddd1;border-radius:13px;background:#f9f8ee}.schedule-dimensions .btn{border:0;background:transparent}.schedule-dimensions .btn[aria-pressed=true]{background:#2e2f2a;color:#fff;border-color:#2e2f2a}.employee-pattern-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.employee-pattern-panel{overflow:hidden}.employee-pattern-table{table-layout:fixed;min-width:900px}.employee-pattern-table th,.employee-pattern-table td{text-align:center;padding:10px 8px}.employee-pattern-table th:first-child,.employee-pattern-table td:first-child{width:190px;text-align:left}.employee-pattern-table th:last-child,.employee-pattern-table td:last-child{width:100px}.employee-pattern-name strong,.employee-pattern-name small{display:block}.employee-pattern-name small{margin-top:5px;color:var(--muted);font-size:10px}.employee-day-state{display:flex;min-height:50px;align-items:center;justify-content:center;border-radius:9px;background:#f0f1eb;color:#77776f;font-size:12px;font-weight:650}.employee-day-state.is-working{background:#e7f1e8;color:#356d51}.employee-day-state.is-missing{background:#fff0df;color:#a15427;box-shadow:inset 0 0 0 1px #e6bd93}.employee-day-state.is-conflict{background:#fae5df;color:#a33f2e;box-shadow:inset 0 0 0 1px #e4aea3}.employee-pattern-editor{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:18px 0}.employee-pattern-choice{display:flex;min-width:0;flex-direction:column;align-items:center;gap:9px;padding:13px 7px;border:1px solid var(--line);border-radius:10px;background:#f2f2eb;cursor:pointer}.employee-pattern-choice:has(input:checked){border-color:#85aa91;background:#e9f2e9;color:#2f664a}.employee-pattern-choice input{width:17px;height:17px;accent-color:#356d51}.schedule-gap-row td{background:#fffaf2}.schedule-gap-row td:first-child{color:#9b542e}.schedule-gap-cell{display:flex;min-height:62px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;border:1px dashed transparent;border-radius:10px;color:#aaa79d;font-size:10px}.schedule-gap-cell.has-gap{border-color:#dda97c;background:#fff0df;color:#965026}.schedule-gap-cell .person-chip{font-size:10px}.schedule-cell.has-rest-conflict{background:#fae5df!important;border-color:#dc9f94!important;color:#943c2d!important}.schedule-cell .person-chip.is-rest-conflict{--person-fill:#f8dcd5;--person-line:#d99689;--person-ink:#8d3326}.schedule-conflict-note{display:block;font-size:9px;font-weight:650}.schedule-consistency{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 15px}.schedule-consistency>span{padding:7px 10px;border-radius:9px;background:#f0f1eb;color:var(--muted);font-size:11px}.schedule-consistency .has-warning{background:#fff0df;color:#955127}.employee-pattern-mobile{display:none}.employee-pattern-card{padding:16px 0;border-bottom:1px solid var(--line)}.employee-pattern-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.employee-pattern-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:12px}.employee-pattern-days>span{min-width:0;padding:7px 2px;border-radius:7px;background:#f0f1eb;color:#77776f;font-size:9px;text-align:center}.employee-pattern-days>span.is-working{background:#e7f1e8;color:#356d51}.employee-pattern-days>span.is-missing{background:#fff0df;color:#9b542e}.employee-pattern-days>span.is-conflict{background:#fae5df;color:#943c2d}
.employee-day-state{flex-direction:column;gap:3px}.employee-day-state small{font-size:9px}.schedule-gap-row td:first-child small{display:block;margin-top:4px}.employee-pattern-days>span strong,.employee-pattern-days>span small{display:block}.employee-pattern-days>span small{margin-top:3px}
.schedule-cell-editor{padding:7px}.schedule-cell-editor select{width:100%;min-width:0;padding:8px 24px 8px 8px;border:1px solid currentColor;border-radius:8px;background:#fff;color:#2e2f2a;font-size:12px;font-weight:650}.schedule-cell-editor select:focus{outline:2px solid #2e2f2a;outline-offset:2px}
.employee-matrix-table{min-width:1100px}.employee-matrix-table td{padding:4px}.employee-matrix-table th:not(:first-child):not(:last-child),.employee-matrix-table td:not(:first-child):not(:last-child){vertical-align:top}.employee-matrix-cell{min-height:0;padding:4px;border:1px solid #e1e0d6;border-radius:9px;background:#fff;text-align:left}.employee-matrix-cell.is-missing{border-color:#e6bd93;background:#fffaf4}.employee-matrix-cell.is-conflict{border-color:#e4aea3;background:#fff8f6}.employee-matrix-status{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:3px}.employee-matrix-status>span{padding:1px 5px;border-radius:999px;background:#f0f1eb;color:#77776f;font-size:9px;font-weight:700}.employee-matrix-cell.is-working .employee-matrix-status>span{background:#e7f1e8;color:#356d51}.employee-matrix-status small{color:#a15427;font-size:9px;font-weight:700}.employee-matrix-projects{display:grid;gap:2px}.employee-matrix-project{display:flex;width:100%;align-items:center;justify-content:space-between;gap:5px;padding:3px 5px;border:1px solid #dfded3;border-radius:6px;background:#f9f8f2;color:#2e2f2a;text-align:left;cursor:pointer}.employee-matrix-project:hover,.employee-matrix-project:focus-visible{border-color:#9d8a58;background:#fffdf4;outline:none}.employee-matrix-project strong{min-width:0;flex:1;overflow-wrap:anywhere;font-size:10px;line-height:1.2}.employee-matrix-project>span{display:flex;flex:none;align-items:center;gap:2px}.employee-matrix-project em{padding:1px 4px;border-radius:999px;background:#ebe9df;color:#5d5d55;font-size:8px;font-style:normal}.employee-matrix-empty{display:block;padding:4px 2px;color:#aaa79d;font-size:9px}.employee-matrix-mobile-days{display:grid;gap:7px;margin-top:11px}.employee-matrix-mobile-days>section{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:start}.employee-matrix-mobile-days h3{margin:8px 0 0;font-size:11px}.employee-matrix-cell.is-mobile{min-height:0}.employee-matrix-cell.is-mobile .employee-matrix-project strong{font-size:11px}
.broadcast-summary{display:flex;align-items:center;justify-content:space-between;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8f6ee}.broadcast-summary h3{margin:8px 0 3px}.broadcast-summary p{margin:0;color:var(--muted);font-size:12px}.broadcast-settings{display:grid;gap:12px;margin-top:16px}.broadcast-enable,.broadcast-confirm{display:flex;align-items:center;gap:8px;font-size:13px}.broadcast-tools,.broadcast-runs{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.broadcast-tools h3,.broadcast-runs h3{margin:0 0 12px}.broadcast-tool-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.broadcast-tools .action-group{margin-top:10px}.broadcast-preview{margin-top:12px;padding:12px;border:1px dashed #c9c3b4;border-radius:12px;background:#faf8f1;color:var(--muted);font-size:12px;text-align:center}.broadcast-preview img{display:block;width:100%;max-height:520px;object-fit:contain;border-radius:9px;background:#ebe7dc}.broadcast-result{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eee;color:#666;font-size:10px;font-weight:700}.broadcast-result.sent{background:#e6f2e8;color:#356d51}.broadcast-result.failed,.broadcast-result.unknown{background:#f9e6df;color:#9a3f2e}.broadcast-runs td small{display:block;max-width:260px;margin-top:4px;color:#9a3f2e;font-size:9px}.broadcast-runs .table-scroll{max-height:310px}
.employee-matrix-cell.is-night .employee-matrix-status>span{background:#e5e8f3;color:#4c587f}.employee-matrix-cell.is-unconfigured .employee-matrix-status>span{background:#fff0df;color:#a15427}
.employee-matrix-cell.is-midnight .employee-matrix-status>span{background:#e9e5f3;color:#605078}.employee-pattern-shift-summary .is-midnight{color:#605078}.employee-shift-group[data-shift=midnight] th{background:#eee9f5!important;color:#605078}.employee-shift-mobile-group[data-shift=midnight]>h2{color:#605078}
.employee-matrix-project-edit{padding:5px;border:1px solid #ad9140;border-radius:7px;background:#fffdf5;text-align:left}.employee-matrix-project-heading{display:flex;align-items:center;justify-content:space-between;gap:4px}.employee-matrix-project-heading strong{min-width:0;overflow-wrap:anywhere;font-size:10px;line-height:1.2}.employee-matrix-project-heading>span{display:flex;flex:none;gap:2px}.employee-matrix-project-heading em{padding:1px 4px;border-radius:999px;background:#ebe9df;color:#5d5d55;font-size:8px;font-style:normal}.employee-matrix-project-edit select{width:100%;min-width:0;margin-top:5px;padding:6px 7px;border:1px solid #bbb5a2;border-radius:6px;background:#fff;color:#2e2f2a;font-size:11px}.employee-matrix-project-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:4px}.employee-matrix-project-actions small{margin-right:auto;color:#777366;font-size:9px;line-height:1.2}.employee-matrix-project-actions button{padding:2px;color:#66542a;font-size:9px;text-decoration:underline}.employee-matrix-project-actions button:focus-visible{outline:2px solid #ad9140}
.employee-pattern-name{display:block;min-width:0}.employee-pattern-name .employee-pattern-value{margin-top:7px;color:#6c5721;font-size:11px;font-weight:750}.employee-output-bar{display:block;width:100%;max-width:138px;height:5px;margin-top:5px;overflow:hidden;border-radius:999px;background:#e6e2d7}.employee-output-bar>i{display:block;height:100%;border-radius:inherit;background:#9b7b2f}.employee-output-bar.is-empty{background:repeating-linear-gradient(135deg,#ebe9e1 0,#ebe9e1 3px,#f7f5ef 3px,#f7f5ef 6px)}.employee-output-bar.is-empty>i{display:none}
.employee-pattern-shift-summary{display:flex;flex-direction:column;gap:2px;margin-top:5px}.employee-pattern-shift-summary:empty{display:none}.employee-pattern-shift-summary>span{font-size:10px;font-weight:700;line-height:1.3}.employee-pattern-shift-summary .is-day{color:#356d51}.employee-pattern-shift-summary .is-night{color:#4c587f}.employee-matrix-status .employee-shift-label{padding:2px 6px;border-radius:6px;font-size:10px;white-space:nowrap}.employee-matrix-cell.is-night .employee-matrix-status .employee-shift-label{background:#e5e8f3;color:#4c587f}.employee-shift-group th{width:auto!important;height:auto;padding:8px 12px!important;text-align:left!important;background:#edf2e9!important;color:#356d51;font-size:11px;font-weight:750}.employee-shift-group[data-shift=night] th{background:#eceef7!important;color:#4c587f}.employee-shift-group[data-shift=other] th{background:#f2f1e9!important;color:#777366}.employee-shift-group small,.employee-shift-mobile-group h2 small{margin-left:8px;font-size:10px;font-weight:500;color:var(--muted)}.employee-matrix-away{display:flex;min-height:31px;align-items:center;justify-content:center;border-radius:7px;background:#f5f4ee;color:#aaa79d;font-size:10px}.employee-matrix-away.is-conflict{background:#fae5df;color:#943c2d;font-weight:650}.employee-shift-mobile-group>h2{margin:10px 0 0;padding:9px 0 5px;border-bottom:1px solid var(--line);color:#356d51;font-size:13px}.employee-shift-mobile-group[data-shift=night]>h2{color:#4c587f}.employee-shift-mobile-group[data-shift=other]>h2{color:#777366}.employee-shift-mobile-group+.employee-shift-mobile-group{margin-top:10px}.employee-matrix-no-shift{margin:5px 0;padding:9px;border-radius:7px;background:#f5f4ee;color:#888477;font-size:11px}.main .schedule-desktop .schedule-scroll{overflow-x:auto}.main .schedule-project-table{min-width:1100px}.main .schedule-project-table th:first-child,.main .schedule-project-table td:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 0 var(--line)}.main .schedule-project-table th:first-child{z-index:3;background:#f3f3eb}.schedule-project-periods{display:flex;flex-wrap:wrap;gap:4px}.schedule-project-periods span,.schedule-project-period{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#f0eee3;color:#625c4e;font-size:10px;font-weight:650;line-height:1.2}.schedule-project-periods span{padding:3px 6px}.schedule-project-day{display:grid;gap:7px}.schedule-project-shift{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0}.schedule-project-period{align-self:flex-start;padding:2px 5px}.main .schedule-project-day .schedule-cell{min-height:43px;padding:5px 4px}.schedule-project-day .schedule-cell .person-chip{padding:3px 5px;font-size:10px}.schedule-project-day .schedule-cell-people{gap:2px}.schedule-project-actions{display:grid;gap:7px}.schedule-project-actions>div{display:flex;align-items:center;justify-content:space-between;gap:3px;min-height:60px}.schedule-project-actions>div>span{font-size:10px;color:var(--muted)}.schedule-project-actions .btn{min-height:27px;padding:3px 6px;font-size:10px}.schedule-project-actions .slot-settings{margin:0;padding:3px;font-size:10px}.schedule-project-table tbody tr[data-schedule-project]>td{border-top:2px solid #e5e0ce}.schedule-project-table tbody tr[data-schedule-project]:nth-child(even)>td:first-child{background:#fcfbf5}
.employee-pattern-editor{grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:visible;padding:2px 0 8px}
.employee-pattern-choice{display:block;margin:0;padding:10px;border-radius:12px;text-align:left;cursor:default}
.employee-pattern-choice legend{padding:0 3px;color:#356d51;font-size:12px;font-weight:750}
.employee-pattern-shift-options{display:grid;gap:4px}
.employee-pattern-shift-options label{display:flex;align-items:center;gap:6px;padding:6px 4px;border-radius:7px;color:#4d594f;font-size:11px;white-space:nowrap;cursor:pointer}
.employee-pattern-shift-options label:has(input:checked){background:#fff;color:#275c40;font-weight:700}
.employee-pattern-shift-options input{flex:none;margin:0}
@media(max-width:760px){.employee-pattern-editor{grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:visible}.employee-pattern-choice{padding:9px}.employee-pattern-shift-options label{font-size:12px}}
@media(max-width:760px){.schedule-dimensions{width:100%;margin-top:0}.schedule-dimensions .btn{flex:1}.employee-pattern-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-pattern-desktop{display:none}.employee-pattern-mobile{display:block;padding:0 16px 8px}.employee-pattern-card>header .employee-pattern-name{flex:1}.employee-output-bar{max-width:180px}.employee-pattern-editor{grid-template-columns:repeat(4,minmax(0,1fr))}.employee-pattern-choice{padding:11px 5px}.schedule-gap-cell{align-items:flex-start}.schedule-consistency{margin-top:4px}}
@media(max-width:760px){.schedule-mobile .mobile-shift{display:block;padding:12px 0}.schedule-mobile .mobile-shift>strong{display:block;margin-bottom:7px;font-size:13px}.schedule-mobile .schedule-project-period{font-size:11px}.schedule-mobile .schedule-project-day .schedule-cell{min-height:49px}.schedule-mobile .mobile-shift:last-child{border-bottom:0}}
.employee-view-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;flex-wrap:wrap}.employee-view-switch{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:#f7f5ee}.employee-view-switch button,.employee-month-nav button{border:0;border-radius:7px;background:transparent;color:#544f44;cursor:pointer;padding:7px 12px;font:inherit;font-size:12px}.employee-view-switch button[aria-pressed=true]{background:#e9e0ca;color:#473919;font-weight:750}.temporary-transfer-toggle{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;font-weight:700}.temporary-transfer-toggle input{width:17px;height:17px;accent-color:#9b7b2f}.temporary-transfer-toggle small{font-size:11px;font-weight:400;color:var(--muted)}.temporary-mark{display:inline-block;margin-left:4px;color:#976b18;font-size:10px;font-weight:700}.employee-matrix-table thead th small,.employee-month-table thead th small{display:block;font-size:10px;font-weight:400;color:var(--muted)}
.employee-month-nav{display:flex;align-items:center;gap:12px;margin-bottom:12px}.employee-month-nav strong{font-size:14px}.employee-month-nav button{border:1px solid var(--line);background:#faf8f0;font-size:18px;line-height:1}.employee-month-panel{padding:0;overflow:hidden}.employee-month-scroll{overflow:auto;max-height:72vh}.employee-month-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.employee-month-table th,.employee-month-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;text-align:left;vertical-align:top}.employee-month-table thead th{position:sticky;top:0;z-index:2;width:140px;background:#f7f5ee;font-size:12px}.employee-month-table thead th:first-child{z-index:4}.employee-month-table th:first-child{position:sticky;left:0;z-index:3;width:150px;min-width:150px;background:#fbfaf5;box-shadow:1px 0 0 var(--line)}.employee-month-table thead th.is-today{background:#f6e9ca;color:#705217}.employee-month-table .employee-month-group th{position:sticky;left:0;background:#eceee6;color:#46624d;font-size:11px}.employee-month-cell{width:140px;min-width:140px;background:#fffdf8}.employee-month-cell>small{display:block;margin-bottom:4px;color:#6c6a5f;font-size:10px}.employee-month-cell .employee-matrix-project{margin:3px 0}.employee-month-cell.is-conflict{background:#fff0eb}.employee-month-away{background:#f7f6f1;color:#bbb;text-align:center!important}.schedule-kind-row th{padding:8px 12px!important;background:#f1f0e7!important;color:#595946;text-align:left!important;font-size:11px}.schedule-mobile-kind{margin:16px 0 4px;color:#6b603e;font-size:12px}
@media(max-width:760px){.employee-view-controls{align-items:flex-start}.temporary-transfer-toggle{width:100%}.employee-month-scroll{max-height:70vh}.employee-month-table th:first-child{width:90px;min-width:90px}.employee-month-table thead th,.employee-month-cell{width:125px;min-width:125px}}
.employee-month-nav{flex-wrap:wrap}.employee-month-temporary-count{font-size:12px;color:var(--muted);margin-left:auto}.employee-month-reset{white-space:nowrap}.employee-month-reset:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:760px){.employee-month-temporary-count{margin-left:0}.employee-month-reset{margin-left:auto}}
.main .employee-month-panel{overflow:hidden;max-width:100%;min-width:0}.main .employee-month-scroll{width:100%;max-width:100%;max-height:72vh;overflow:auto}.main .employee-month-table{width:max-content;min-width:100%;table-layout:fixed}.main .employee-month-table thead th{position:sticky}.main .employee-month-table th:first-child{position:sticky}.main .employee-month-table .employee-month-group th{position:sticky}

/* Let the weekly matrix fill wide screens and scroll in both directions on smaller screens. */
.main .employee-pattern-panel{max-width:100%;min-width:0;overflow:hidden}
.main .employee-pattern-panel .table-scroll{width:100%;max-width:100%;max-height:72dvh;overflow:auto;overscroll-behavior-x:contain}
.main .employee-pattern-panel .employee-pattern-table{width:100%;min-width:1100px;table-layout:fixed}
.main .employee-pattern-panel .employee-pattern-table thead th:first-child,.main .employee-pattern-panel .employee-pattern-table tbody td:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 0 var(--line)}
.main .employee-pattern-panel .employee-pattern-table thead th{position:sticky;top:0;z-index:3;background:#f8faf7}
.main .employee-pattern-panel .employee-pattern-table thead th:first-child{z-index:4;background:#f8faf7}
@media(min-width:1400px){.main .employee-pattern-panel{overflow:visible}.main .employee-pattern-panel .table-scroll{max-height:none;overflow:visible}}
@media(max-width:760px){.employee-pattern-editor{grid-template-columns:repeat(2,minmax(0,1fr))}}
