@font-face{font-family:AppEmoji;src:url(/assets/notoemoji-subset-oxDpg6Ha.woff2)format("woff2");font-display:swap;unicode-range:U+23F3,U+2600,U+2611,U+26A0,U+2795,U+1F319,U+1F334,U+1F464,U+1F4A4,U+1F4C5,U+1F4CA,U+1F4CC,U+1F4DF,U+1F5D1,U+1F5D3,U+1F6AB,U+1F6E0,U+1F6E1,U+1F912,U+FE0F}:root{-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Apple Color Emoji,Segoe UI Emoji,AppEmoji,Noto Color Emoji,sans-serif;line-height:1.5}body{margin:0}:root{--bg:#172239;--bg-deep:#1c2942;--surface:#263756;--border:#3e5174;--cell-workday:#1b3626;--head-workday:#164630;--cell-preholiday:#3a2a10;--head-preholiday:#63400f;--cell-weekend:#2b2870;--head-weekend:#3a2f85;--cell-holiday:#4e2020}*{box-sizing:border-box}body{background:var(--bg);color:#e2e8f0;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Apple Color Emoji,Segoe UI Emoji,AppEmoji,Noto Color Emoji,sans-serif}a{color:#93c5fd}.topnav{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:1.5rem;padding:.75rem 1.25rem;display:flex}.topnav__brand{font-weight:600}.topnav__links{flex:1;gap:1rem;display:flex}.topnav__links a{text-decoration:none}.topnav__user{align-items:center;gap:.75rem;display:flex}.topnav__name{color:#cbd5e1;cursor:pointer;border-radius:6px;padding:.3rem .55rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.topnav__name:hover,.topnav__name.is-active{background:var(--border);color:#fff}.page{max-width:1400px;margin:2rem auto;padding:0 1.25rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;padding:1.25rem}.form-row{flex-direction:column;gap:.35rem;margin-bottom:.85rem;display:flex}.form-row label{color:#94a3b8;font-size:.85rem}.form-row input,.form-row select,.form-row textarea{background:var(--bg-deep);border:1px solid var(--border);color:#e2e8f0;font:inherit;border-radius:4px;padding:.5rem .65rem}input,select,textarea{background:var(--bg-deep);border:1px solid var(--border);color:#e2e8f0;font:inherit;border-radius:4px;padding:.35rem .5rem}button{color:#fff;font:inherit;cursor:pointer;background:#2563eb;border:none;border-radius:4px;padding:.4rem .85rem}button.secondary{background:var(--border)}button.danger{background:#dc2626}button:disabled{opacity:.5;cursor:not-allowed}.date-jump{background:var(--border);color:#fff;cursor:pointer;font:inherit;border-radius:4px;align-items:center;gap:.3rem;padding:.4rem .6rem;line-height:1;display:inline-flex}.date-jump__input{color:#fff;font:inherit;cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;padding:0}.date-jump__input::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert();opacity:.8}.load-more-hint{color:#94a3b8;border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:.2rem .5rem;font-size:.78rem;animation:1s ease-in-out infinite load-more-pulse}@keyframes load-more-pulse{0%,to{opacity:.5}50%{opacity:1}}.hscroll{-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.4rem .55rem}th{color:#94a3b8;font-size:.85rem;font-weight:600}.error{color:#fca5a5;background:#7f1d1d33;border:1px solid #b9252533;border-radius:4px;margin-bottom:.75rem;padding:.5rem .75rem}.success{color:#86efac;background:#14532d33;border:1px solid #16a34a33;border-radius:4px;margin-bottom:.75rem;padding:.5rem .75rem}.schedule-layout{grid-template-columns:220px 1fr;gap:1rem;display:grid}@media (width<=900px){.schedule-layout{grid-template-columns:1fr}}.schedule-layout--full{grid-template-columns:1fr}.people-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-self:start;padding:1rem;position:sticky;top:1rem}.person-chip{cursor:grab;-webkit-user-select:none;user-select:none;color:#fff;border:2px solid #0000;border-radius:4px;margin-bottom:.35rem;padding:.4rem .6rem;font-size:.9rem;transition:transform 50ms}.person-chip.is-dragging{opacity:.5;cursor:grabbing}.person-chip.is-droptarget{border-color:#facc15;transform:scale(1.02)}.schedule-main{min-width:0}.schedule-grid{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:100%}.schedule-grid th,.schedule-grid td{border:1px solid var(--border);padding:.35rem .4rem}.schedule-grid .slot-header{background:var(--surface);text-align:left;z-index:5;width:180px;min-width:180px;position:sticky;left:0}.schedule-grid .day-header{text-align:center;background:var(--head-workday);color:#e2e8f0;min-width:78px;position:relative}.schedule-grid .day-header__dow{color:#cbd5e1;font-size:.75rem}.schedule-grid .day-header__marker{opacity:.9;margin-top:2px;font-size:.65rem;font-weight:600}.schedule-grid .day-header.kind-workday{background:var(--head-workday)}.schedule-grid .day-header.kind-pre_holiday{background:var(--head-preholiday);border-bottom:2px solid #f59e0b}.schedule-grid .day-header.kind-weekend{background:var(--head-weekend);color:#c7d2fe}.schedule-grid .day-header.kind-working_weekend{background:var(--head-workday);border-bottom:2px solid #f59e0b}.schedule-grid .day-header.kind-holiday{color:#fee2e2;background:#7f1d1d}.schedule-grid .day-header.is-today{outline-offset:-2px;color:#fff;outline:2px solid #22c55e}.slot-cell{vertical-align:top;background:var(--cell-workday);min-height:48px}.slot-cell.kind-workday{background:var(--cell-workday)}.slot-cell.kind-pre_holiday{background:var(--cell-preholiday)}.slot-cell.kind-weekend{background:var(--cell-weekend)}.slot-cell.kind-working_weekend{background:var(--cell-workday)}.slot-cell.kind-holiday{background:var(--cell-holiday)}.slot-cell.is-inactive{background:repeating-linear-gradient(45deg,#141f36,#141f36 6px,#1d2b47 6px 12px)}.slot-cell.kind-holiday.is-inactive{background:repeating-linear-gradient(45deg, #3d1a1a, #3d1a1a 6px, var(--cell-holiday) 6px, var(--cell-holiday) 12px)}.slot-cell.kind-weekend.is-inactive{background:repeating-linear-gradient(45deg, #211f56, #211f56 6px, var(--cell-weekend) 6px, var(--cell-weekend) 12px)}.slot-cell.is-today{box-shadow:inset 2px 0 #22c55e,inset -2px 0 #22c55e}.slot-cell.is-droptarget{outline-offset:-2px;background-color:#54300a;outline:2px solid #facc15}.assignment-chip{color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:.25rem;margin:2px 2px 0 0;padding:.2rem .5rem;font-size:.8rem;display:inline-flex}.assignment-chip.is-dragging{opacity:.5}.assignment-chip.is-optimistic{opacity:.7;outline:1px dashed #facc15}.assignment-chip.is-recurring{opacity:.6;cursor:default;border:1px dashed #ffffffb3}.recurring-marker{opacity:.8;font-size:.7rem}.trash-zone{text-align:center;color:#94a3b8;border:2px dashed #475569;border-radius:6px;margin-top:.5rem;padding:.75rem;font-size:.9rem}.trash-zone.is-over{color:#fca5a5;border-color:#dc2626}.toast-stack{z-index:1000;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.toast{color:#fff;border-radius:6px;min-width:240px;padding:.6rem .9rem;font-size:.9rem;box-shadow:0 4px 14px #00000059}.toast--error{background:#b91c1c}.toast--success{background:#15803d}.toast--info{background:#1e40af}.modal-backdrop{z-index:1100;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;min-width:300px;max-width:440px;max-height:calc(100vh - 2rem);padding:1.25rem 1.5rem;position:relative;overflow-y:auto;box-shadow:0 12px 40px #00000080}.modal-title{margin:0 0 .75rem}.modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:.1rem .35rem;font-size:1.4rem;line-height:1;position:absolute;top:.5rem;right:.6rem}.modal-close:hover{color:#e2e8f0}.contacts-card__head{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.contacts-card__swatch{border-radius:6px;flex:none;width:28px;height:28px;display:inline-block}.contacts-card__name{font-weight:600}.contacts-card__sub{color:#94a3b8;font-size:.8rem}.contacts-card__list{margin:0}.contacts-card__list dt{color:#94a3b8;font-size:.75rem}.contacts-card__list dd{margin:0 0 .5rem}.contacts-card__row{margin-bottom:.4rem}.contacts-card__empty{color:#94a3b8;font-size:.85rem}.contacts-card__vacations{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.5rem}.contacts-card__vacations h4{margin:0 0 .35rem;font-size:.9rem}.contacts-card__vacations ul{margin:0;padding-left:1.1rem;font-size:.85rem}.assignment-chip-wrap{vertical-align:top;flex-direction:column;gap:2px;display:inline-flex}.assignment-chip{cursor:pointer}.assignment-chip__name{cursor:inherit}.chip-x{color:#ffffffd9;cursor:pointer;background:0 0;border:none;margin-left:.1rem;padding:0 .1rem;font-size:.95rem;line-height:1}.chip-x:hover{color:#fff}.crq-badge{background:#0000004d;border-radius:3px;padding:0 .25rem;font-size:.65rem}.crq-input{max-width:110px;padding:.1rem .25rem;font-size:.7rem}.crq-readonly{color:#94a3b8;font-size:.7rem}.crq-badge--missing{color:#fbbf24;white-space:nowrap;background:#78350f4d;border:1px solid #b4530944}.crq-missing-hint{color:#fbbf24;margin-top:.15rem;font-size:.78rem;display:block}.work-form__hints{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.2rem 1rem;margin-top:.1rem;display:flex}.work-form__hints .crq-missing-hint{margin-top:0}.work-form__duty-hint{color:#86efac;font-size:.78rem}.audit-category{background:var(--border);color:#cbd5e1;border-radius:3px;padding:.05rem .4rem;font-size:.75rem}.works-warning{color:#fbbf24;white-space:nowrap;background:#78350f4d;border:1px solid #b4530944;border-radius:4px;padding:.2rem .55rem;font-size:.9rem}.works-table .work-row--unassigned td{background:#7c2d1226}.work-row__nextday{color:#94a3b8;font-size:.75rem}.work-date--weekend{color:#fca5a5}.night-badge{font-size:.8rem}.assignee-select--empty{border-color:#b45309}.duty-badge{font-size:.9rem;font-weight:700}.duty-badge--full{color:#4ade80}.duty-badge--partial{color:#fbbf24}.duty-badge--none{color:#f87171}.status-chip{white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.78rem}.status-chip--open{color:#93c5fd;background:#1e40af55}.status-chip--done{color:#86efac;background:#14532d66}.status-chip--cancelled{color:#94a3b8;background:#3e517488;text-decoration:line-through}.topnav__links{align-items:center}.topnav__link{color:#cbd5e1;border:1px solid #0000;border-radius:6px;padding:.4rem .7rem;font-size:.92rem;line-height:1;text-decoration:none;transition:background .12s,color .12s,border-color .12s}.topnav__link:hover,.topnav__link.is-active{background:var(--border);color:#fff}.topnav__link--primary{color:#fff;background:#2563eb;padding:.5rem 1rem;font-weight:600;box-shadow:0 1px 4px #2563eb66}.topnav__link--primary:hover{color:#fff;background:#1d4ed8}.topnav__link--primary.is-active{color:#fff;outline-offset:1px;background:#1d4ed8;outline:2px solid #93c5fd}.tab-btn{border:1.5px solid #0000;font-weight:600;transition:filter .12s}.tab-btn:hover{filter:brightness(1.12)}.tab-btn.is-active{box-shadow:0 1px 6px #00000059}.summary-picker{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.summary-picker__label{color:#cbd5e1;margin-right:.2rem;font-weight:600}.summary-picker__chip{border:1.5px solid var(--border);color:#94a3b8;background:0 0;border-radius:999px;padding:.2rem .7rem;font-size:.85rem;font-weight:500;transition:filter .12s,background .12s,color .12s}.summary-picker__chip:hover:not(:disabled){filter:brightness(1.15)}.summary-picker__chip.is-on{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.summary-picker__chip:disabled{cursor:default;opacity:.75}.summary-svc-tab{color:#93c5fd;background:#2563eb29;border-radius:6px;padding:.1rem .5rem;font-size:.78rem;font-weight:500}.absence-chip{color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;margin-bottom:2px;padding:1px 5px;font-size:.78rem;display:block;overflow:hidden}.vac-tl__header{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin-bottom:.5rem;display:flex}.vac-tl__legend{color:#94a3b8;font-size:.8rem}.vac-tl__legend-overlap{color:#fca5a5;font-weight:600}.vac-tl__controls{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.vac-tl__controls .secondary.is-active{color:#fff;background:#2563eb;border-color:#2563eb}.vac-tl__sep{background:var(--border);width:1px;height:18px;margin:0 .2rem}.vac-tl__warn{color:#fed7aa;background:#54300a;border:1px solid #b45309;border-radius:6px;margin:0 0 .5rem;padding:.4rem .6rem;font-size:.85rem}.vac-timeline.schedule-grid th,.vac-timeline.schedule-grid td{padding:0}.vac-timeline .slot-header{z-index:6;width:180px;min-width:180px;padding:.3rem .5rem}.vac-timeline .day-header{min-width:0;padding:.25rem 0}.vac-tl__daynum{color:#e2e8f0;font-size:.72rem}.vac-timeline tbody td{border-left-color:#0000;border-right-color:#0000}.vac-timeline .slot-cell{min-height:0}.vac-timeline tbody td{height:28px}.vac-tl__count{text-align:center;color:#94a3b8;height:22px;font-size:.78rem;font-weight:700}.vac-tl__count.is-one{color:#cbd5e1}.vac-tl__count.is-overlap{color:#fff;background:#7f1d1d}.vac-tl__name{align-items:center;gap:.4rem;display:flex}.vac-tl__name.is-draggable{cursor:grab;touch-action:none;border-radius:6px;margin:-.1rem -.2rem;padding:.1rem .2rem;transition:background .12s}.vac-tl__name.is-draggable:hover{background:#94a3b829}.vac-tl__name.is-dragging{opacity:.5;cursor:grabbing}.vac-tl__grip{color:#64748b;cursor:grab;flex:none;font-size:.8rem;line-height:1}.vac-tl__name.is-draggable:hover .vac-tl__grip{color:#cbd5e1}.vac-tl__dot{border-radius:50%;flex:none;width:10px;height:10px}.vac-tl__name-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.vac-tl__name-days{color:#64748b;flex:none;font-size:.72rem}.vac-tl__cell{height:26px;position:relative}.vac-tl__cell.has-label{z-index:3}.vac-fill{background:#475569;position:absolute;inset:4px 0}.vac-fill.seg-start{border-top-left-radius:6px;border-bottom-left-radius:6px;left:3px}.vac-fill.seg-end{border-top-right-radius:6px;border-bottom-right-radius:6px;right:3px}.vac-fill.is-pending{opacity:.9;background:repeating-linear-gradient(45deg,#64748b,#64748b 5px,#475569 5px 10px)}.vac-fill__label{color:#f8fafc;white-space:nowrap;pointer-events:none;text-shadow:0 1px 2px #000000d9;z-index:2;font-size:.72rem;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.absence-band.schedule-grid tbody td{padding:0}.absence-band.schedule-grid tbody .slot-header{padding:.2rem .5rem}.absence-band .slot-header{width:240px;min-width:240px}.absence-band tbody .slot-header{font-size:.85rem}.absence-band tbody td{border-left-color:#0000;border-right-color:#0000}.absence-band tbody .slot-header{border-left-color:var(--border);border-right-color:var(--border);z-index:6}.absence-band .slot-cell{vertical-align:middle;min-height:0}.absence-band tbody td{height:26px}.absence-band tbody td.vac-tl__count{height:22px}.absence-band tbody td.slot-cell{position:relative}.absence-tl__cell.has-label{z-index:3}.absence-band tbody td.slot-cell.is-today:after{content:"";pointer-events:none;z-index:4;position:absolute;inset:0;box-shadow:inset 2px 0 #22c55e,inset -2px 0 #22c55e}.absence-band .vac-fill{left:-1px;right:-1px}.absence-band .vac-fill.seg-start{left:3px}.absence-band .vac-fill.seg-end{right:3px}.absence-band .vac-fill.is-dayoff,.absence-legend__swatch.is-dayoff{background:#d97706}.absence-band .vac-fill.is-unavail,.absence-legend__swatch.is-unavail{background:#7c8aa0 repeating-linear-gradient(45deg,#0f172a80 0 5px,#0000 5px 10px)}.absence-band .vac-fill.is-vac,.absence-legend__swatch.is-vac{background:#3b82f6}.absence-legend{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.absence-legend__item{color:#94a3b8;align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.absence-legend__swatch{border-radius:3px;flex:none;width:14px;height:10px}.absence-tl__label{text-overflow:ellipsis;overflow:hidden}.absence-band__summary td.vac-tl__count{color:#cbd5e1}.absence-band__summary td.vac-tl__count.absence-band__total--many{color:#fca5a5}.absence-band tbody td.absence-band__empty{color:#64748b;height:auto;padding:.5rem .6rem}.absence-band__count{color:#cbd5e1;background:#94a3b82e;border-radius:999px;padding:0 .45rem;font-size:.78rem;font-weight:700}.absence-band__more{margin-top:.4rem;font-size:.8rem}.vac-tl__filters{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0 .75rem;display:flex}.vac-tl__filters-label{color:#94a3b8;font-size:.8rem}.chip{background:var(--surface);color:#cbd5e1;border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:.2rem .7rem;font-size:.8rem}.chip:hover{border-color:#475569}.chip.is-active{color:#fff;background:#2563eb;border-color:#2563eb}.vac-tl__emp-filter{position:relative}.vac-tl__emp-filter>summary{cursor:pointer;background:var(--surface);border:1px solid var(--border);color:#cbd5e1;border-radius:999px;padding:.2rem .7rem;font-size:.8rem;list-style:none}.vac-tl__emp-filter>summary::-webkit-details-marker{display:none}.vac-tl__emp-list{z-index:20;background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;min-width:240px;max-height:280px;margin-top:.3rem;padding:.5rem .6rem;position:absolute;overflow-y:auto;box-shadow:0 8px 24px #00000080}.vac-tl__emp-item{white-space:nowrap;cursor:pointer;align-items:center;gap:.4rem;padding:.15rem 0;font-size:.85rem;display:flex}.vac-tl__cell--addable{cursor:pointer}.vac-tl__cell--addable:hover{background:#2563eb2e}.vac-tl__cell--editable{cursor:pointer}.works-band__header{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin-bottom:.5rem;display:flex}.works-band__legend{color:#94a3b8;font-size:.8rem}.works-band__hint{color:#64748b;font-size:.8rem}.works-band col,.works-band .day-header{width:156px;min-width:156px}.works-band td.slot-cell{vertical-align:top;white-space:normal;width:156px;min-width:156px}.works-empty{color:#475569;font-size:.75rem}.works-past-summary,.works-past-collapse{color:#64748b;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:2px 0;font-size:.72rem;display:block}.works-past-summary:hover,.works-past-collapse:hover{color:#94a3b8}.works-past-collapse{margin-top:2px}.stats-title-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.stats-title-row h1{margin-bottom:.25rem}.stats-subtitle{color:#94a3b8;margin-top:0}.stats-filters{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.stats-filters .form-row{min-width:160px;margin:0}.stats-error{color:#f87171;align-self:center}.stats-cards{grid-template-columns:repeat(4,minmax(150px,1fr));gap:.75rem;margin:1rem 0;display:grid}.stats-card{flex-direction:column;gap:.35rem;display:flex}.stats-card span{color:#94a3b8;font-size:.82rem}.stats-card b{font-size:1.35rem}.table-scroll{overflow-x:auto}.stats-table{border-collapse:collapse;width:100%}.stats-table th,.stats-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:.55rem .65rem}.stats-table th{color:#94a3b8;font-size:.8rem}.stats-empty{color:#64748b;text-align:center!important}.crq-load-score{color:#94a3b8;margin-top:1px;font-size:.72rem;display:block}@media (width<=850px){.stats-cards{grid-template-columns:repeat(2,minmax(140px,1fr))}.stats-title-row{flex-direction:column}}.works-duty__cell{text-align:left}.works-duty__chip{background:var(--bg-deep);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:.3rem;max-width:100%;padding:1px 8px;font-size:.78rem;display:inline-flex;overflow:hidden}.works-duty__none{color:#94a3b8}.works-duty__backup{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.72rem;display:block;overflow:hidden}.work-card{background:var(--bg-deep);border:1px solid var(--border);border-left:3px solid #2563eb;border-radius:5px;margin-bottom:4px;padding:4px 6px;font-size:.78rem;overflow:hidden}.work-card.is-clickable{cursor:pointer;transition:border-color .12s,background .12s}.work-card.is-clickable:hover{background:#223454;border-color:#475569 #475569 #475569 #3b82f6}.work-card--done{opacity:.8;border-left-color:#16a34a}.work-card--cancelled{opacity:.6;border-left-color:#64748b}.work-card__head{flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:.3rem;display:flex}.work-card__head .crq-badge{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.work-card__time{color:#cbd5e1;white-space:nowrap;font-size:.72rem}.work-card__title{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin:1px 0;overflow:hidden}.work-card__role{align-items:baseline;gap:.25rem;margin-top:2px;display:flex}.work-card__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.work-card__warn{color:#fbbf24}.work-card__role-tag{text-align:center;background:var(--border);color:#cbd5e1;border-radius:3px;flex:none;min-width:1.4em;padding:0 3px;font-size:.68rem;display:inline-block}.work-add-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px dashed #475569;border-radius:5px;width:100%;padding:3px 0;font-size:.74rem;transition:border-color .12s,color .12s,background .12s;display:block}.work-add-btn:hover{color:#93c5fd;background:#223454;border-color:#3b82f6}.works-warning{color:#fbbf24}.works-linked-tag{color:#38bdf8;font-size:.8rem;font-weight:500}.monitoring-coverage-warning{color:#fde68a;background:#78350f4d;border:1px solid #b4530944;border-left:3px solid #f59e0b;border-radius:5px;flex-wrap:wrap;gap:.2rem .5rem;margin:.65rem 0;padding:.55rem .75rem;display:flex}.monitoring-coverage-warning span{color:#fef3c7}.modal-dialog--wide{max-width:600px}.work-editor{flex-direction:column;gap:.7rem;min-width:min(540px,86vw);display:flex}.work-editor .form-row{margin:0}.work-editor__grid{flex-wrap:wrap;gap:.7rem;display:flex}.work-editor__grid .form-row{flex:1;min-width:120px}.work-editor__crq{flex:150px!important}.work-editor__desc{flex:2 230px!important}.work-editor__templates{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.work-editor__tpl-label{color:#94a3b8;font-size:.85rem}.work-editor__actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.3rem;display:flex}.chip-works{flex-wrap:wrap;gap:2px;margin-top:2px;display:flex}.chip-work-tag{color:#7dd3fc;white-space:nowrap;background:#0ea5e933;border:1px solid #0ea5e955;border-radius:3px;padding:0 4px;font-size:.68rem}.chip-work-tag--done{color:#86efac;background:#14532d44;border-color:#16a34a55}.chip-work-tag--cancelled{color:#94a3b8;opacity:.7;text-decoration:line-through}.slot-header .night-badge{margin-left:.25rem}.assignment-chip.is-continuation{opacity:.55;cursor:default;background-image:repeating-linear-gradient(45deg,#ffffff14 0 6px,#0000 6px 12px)}.view-toggle{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.view-toggle__btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;padding:.35rem .7rem;font-size:.85rem}.view-toggle__btn+.view-toggle__btn{border-left:1px solid var(--border)}.view-toggle__btn:hover{background:var(--surface)}.view-toggle__btn.is-active{color:#fff;background:#2563eb}.psg-scroll{min-width:0}.people-grid .day-header{min-width:96px}.people-cell{vertical-align:top;padding:3px 4px}.people-cell.is-scheduled-off{background-image:repeating-linear-gradient(135deg,#0f172a3d 0 6px,#47556924 6px 12px)}.psg-schedule-off{color:#64748b;text-align:center;pointer-events:none;margin-top:.45rem;font-size:.68rem;display:block}.psg-shift{color:#fff;cursor:pointer;border-radius:4px;flex-direction:column;align-items:flex-start;max-width:100%;margin:0 2px 3px 0;padding:2px 6px;font-size:.78rem;line-height:1.2;display:flex}.psg-shift.is-recurring{opacity:.85}.psg-shift.is-actionable:hover{filter:brightness(1.15)}.psg-shift.is-dragging{opacity:.4}.psg-shift__t{opacity:.95;white-space:nowrap;align-items:center;gap:2px;font-size:.72rem;display:inline-flex}.psg-dot{border-radius:50%;flex:none;width:9px;height:9px}.absence-chip.is-dayoff{color:#fde68a;background:#3f3f1f}.absence-chip.is-unavail{color:#cbd5e1;background:#2c2c34}.absence-chip.is-vac{color:#bae6fd;background:#1e3a5f}.absence-chip.is-clickable{cursor:pointer}.absence-chip.is-clickable:hover{filter:brightness(1.25)}.cell-menu__backdrop{z-index:40;position:fixed;inset:0}.cell-menu{z-index:41;background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;min-width:210px;max-width:280px;max-height:calc(100vh - 16px);padding:.3rem;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #00000073}.cell-menu__title{color:#94a3b8;border-bottom:1px solid var(--surface);margin-bottom:.25rem;padding:.25rem .4rem .35rem;font-size:.78rem}.cell-menu__item,.cell-menu__slot{text-align:left;color:#e2e8f0;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:.4rem;width:100%;padding:.4rem .45rem;font-size:.85rem;display:flex}.cell-menu__item:hover,.cell-menu__slot:not(:disabled):hover{background:var(--surface)}.cell-menu__slot:disabled{color:#64748b;cursor:not-allowed}.cell-menu__sep{color:#64748b;text-transform:uppercase;letter-spacing:.04em;padding:.35rem .45rem .15rem;font-size:.72rem}.cell-menu__free{color:#94a3b8;margin-left:auto;font-size:.72rem}.cell-menu__empty{color:#64748b;padding:.35rem .45rem;font-size:.8rem}.user-schedule-edit{flex-direction:column;gap:.25rem;min-width:180px;display:flex}.psg-shift__name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;max-width:100%;font-weight:600;overflow:hidden}:root{--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", "DejaVu Sans Mono", monospace}.psg-shift__top{align-items:baseline;gap:4px;width:100%;min-width:0;display:flex}.psg-shift__svc{white-space:nowrap;font-family:var(--mono);letter-spacing:.02em;color:#fff;text-transform:uppercase;background:#00000057;border-radius:3px;flex:none;padding:0 3px;font-size:.66rem;font-weight:700;line-height:1.35}.psg-shift__svc--ghost{color:#cbd5e1;background:#94a3b82e}.psg-cont{border-left:2px solid var(--svc-color,#475569);color:#94a3b8;white-space:nowrap;align-items:center;gap:3px;margin-bottom:2px;padding-left:3px;font-size:.72rem;font-style:italic;display:flex;overflow:hidden}.psg-cont .psg-shift__svc{font-style:normal}.psg-cont__t{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.psg-shift,.psg-cont,.absence-chip{transition:opacity .12s,box-shadow .12s}.psg-shift:focus-visible{outline-offset:1px;outline:2px solid #93c5fd}.psg-scroll[data-hover-svc] .absence-chip,.psg-scroll[data-hover-svc] .psg-warn{opacity:.3}@media (prefers-reduced-motion:reduce){.psg-shift,.psg-cont,.absence-chip{transition:none}}.psg-legend{flex-wrap:wrap;align-items:center;gap:.25rem .6rem;margin:.1rem 0 .45rem;display:flex}.psg-legend__label{color:#94a3b8;font-size:.75rem}.psg-legend__group{flex-wrap:wrap;align-items:center;gap:.2rem .35rem;display:flex}.psg-legend__tab{color:#93c5fd;background:#2563eb29;border-radius:6px;padding:.05rem .4rem;font-size:.72rem;font-weight:500}.psg-legend__item{color:#cbd5e1;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.3rem;padding:.1rem .35rem .1rem .15rem;font-size:.75rem;line-height:1.3;display:inline-flex}.psg-legend__item:hover,.psg-legend__item:focus-visible{border-color:var(--border);background:var(--surface)}.psg-legend__item.is-pinned{background:#2563eb2e;border-color:#93c5fd}.psg-legend__code{text-align:center;min-width:3.1ch;font-family:var(--mono);letter-spacing:.02em;color:#fff;border-radius:3px;flex:none;padding:0 4px;font-size:.66rem;font-weight:700;box-shadow:inset 0 0 0 20px #00000057}.psg-legend__name{white-space:nowrap}.psg-tip{z-index:45;pointer-events:none;background:var(--bg-deep);border:1px solid var(--border);color:#e2e8f0;border-radius:8px;min-width:190px;max-width:280px;padding:.4rem .55rem;font-size:.78rem;line-height:1.35;position:fixed;box-shadow:0 8px 24px #00000080}.psg-tip__head{align-items:baseline;gap:.35rem;margin-bottom:.15rem;display:flex}.psg-tip__code{font-family:var(--mono);letter-spacing:.02em;color:#fff;border-radius:3px;flex:none;padding:0 4px;font-size:.66rem;font-weight:700;box-shadow:inset 0 0 0 20px #00000057}.psg-tip__svc{font-weight:600}.psg-tip__tab{color:#93c5fd;margin-bottom:.15rem;font-size:.72rem}.psg-tip__person{color:#f1f5f9;font-weight:600}.psg-tip__row{color:#cbd5e1;font-variant-numeric:tabular-nums}.psg-tip__hint{border-top:1px solid var(--surface);color:#64748b;margin-top:.3rem;padding-top:.3rem;font-size:.72rem}@media (hover:none){.psg-tip{display:none}}.psg-warn{color:#fbbf24;cursor:help;margin:0 2px 2px 0;font-size:.85rem;line-height:1;display:inline-block}.vac-groups{flex-direction:column;gap:.4rem;display:flex}.vac-group{border:1px solid var(--border);background:var(--bg-deep);border-radius:6px}.vac-group__summary{cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem .75rem;font-weight:600}.vac-group__summary:hover{background:var(--surface)}.vac-group[open] .vac-group__summary{border-bottom:1px solid var(--border)}.vac-group__count{color:#94a3b8;font-weight:400}.vac-group>table{margin:.25rem .5rem .5rem}.struct-form{border:1px dashed var(--border);background:#94a3b80d;border-radius:6px;padding:.6rem .7rem}.struct-form__title{margin-bottom:.15rem;font-size:.9rem;font-weight:600}.struct-form__hint{color:#94a3b8;margin:0 0 .5rem;font-size:.8rem}.struct-form__row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin-bottom:.4rem;display:flex}.struct-form__row:last-of-type{margin-bottom:0}.struct-field{flex-direction:column;gap:.15rem;display:flex}.struct-field__label{color:#94a3b8;font-size:.75rem}.struct-days{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.struct-days__sep{background:var(--border);align-self:stretch;width:1px;margin:0 .3rem}
