@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.block{display:block}.grid{display:grid}.inline{display:inline}.grow{flex-grow:1}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink: #1d2538;--muted: #6f778b;--subtle: #9299aa;--line: #e7e8ef;--canvas: #f5f6fa;--card: #ffffff;--primary: #4b4196;--primary-dark: #382f7d;--primary-soft: #eeecfb;--teal: #159b8b;--teal-soft: #e6f7f4;--amber: #e8a23a;--amber-soft: #fff4df;--danger: #e85f68;--danger-soft: #fff0f1;--blue: #477bc5;--blue-soft: #eaf2fc;--purple-team: #eee7fb;--orange-team: #fff0df;--gold-team: #fff5ca;--shadow: 0 12px 35px rgba(37, 40, 73, .07);--radius: 18px;--font-body: "DM Sans", sans-serif;--font-display: "Manrope", sans-serif;--page-bg: var(--canvas);--surface: var(--card);--glass: rgba(255, 255, 255, .72);--border: var(--line);--border-soft: var(--line);--text: var(--ink);--black: var(--primary);--purple-bg: var(--primary-soft);--purple-fg: var(--primary);--blue-bg: var(--blue-soft);--blue-fg: var(--blue);--green-bg: var(--teal-soft);--green-fg: var(--teal);--peach-bg: var(--primary-soft);--peach-fg: var(--primary);--yellow-bg: var(--amber-soft);--yellow-fg: #b97815;--gray-bg: #f0f1f4;--gray-fg: #717685;--ink-bg: var(--primary-dark);--ink-fg: #ffffff;--warn: var(--amber);--warn-soft: var(--amber-soft);--ok: var(--teal);--ok-soft: var(--teal-soft);--nav-text: #626a7d;--nav-hover-bg: #f6f5fb;--nav-label: var(--subtle);--sidebar-bg: var(--card);--main-bg: var(--canvas);--topbar-bg: var(--card);--crumb-sep: #c9ccd2}.schedule-page{padding:4px 0 30px;max-width:none}.schedule-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px}.schedule-toolbar h1{font-size:24px;margin:0}.schedule-toolbar .page-sub{margin:4px 0 0}.toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.schedule-controls{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:13px 13px 0 0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:10px 14px}.schedule-controls .legend{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:14px;margin:0}.schedule-controls .legend span{align-items:center;display:flex;gap:6px}.legend-dot{border-radius:3px;display:inline-block;height:10px;width:10px}.legend-dot.day{background:var(--blue-soft);border:1px solid #b8d1ef}.legend-dot.night{background:var(--primary-soft);border:1px solid #c8bff1}.legend-dot.protected{background:var(--amber-soft);border:1px solid #f0ce93}.legend-dot.off{background:#f0f1f4;border:1px solid #d8dae0}.schedule-workspace{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) 300px}@media(max-width:1100px){.schedule-workspace{grid-template-columns:1fr}}.schedule-sheet-wrap{background:var(--card);border:1px solid var(--line);border-top:0;overflow-x:auto}.schedule-sheet{min-width:720px}.sheet-row{border-bottom:1px solid #ececf1;display:grid;grid-template-columns:190px repeat(var(--sheet-days, 7),minmax(96px,1fr));min-height:72px}.sheet-row>div,.sheet-row>button{border-right:1px solid #ececf1}.sheet-row>:last-child{border-right:0}.sheet-header{background:#f8f8fb;min-height:58px;position:sticky;top:0;z-index:2}.resident-cell{align-items:center;display:flex;gap:10px;padding:10px 14px}.resident-cell strong,.resident-cell small{display:block}.resident-cell strong{font-size:13px}.resident-cell small{color:var(--subtle);font-size:11px;margin-top:2px}.header-resident{align-items:flex-start;flex-direction:column;gap:2px;justify-content:center}.header-resident>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.date-cell{display:flex;flex-direction:column;justify-content:center;padding:8px 12px}.date-cell strong{font-size:10px;letter-spacing:.05em;text-transform:uppercase}.date-cell>span{font-family:var(--font-display);font-size:14px;font-weight:700;margin-top:2px}.date-cell small{color:var(--subtle);font-size:10px;min-height:12px;margin-top:2px}.date-cell.weekend{background:#f4f2fb}.resident-avatar{align-items:center;border-radius:50%;color:var(--ink);display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;height:34px;justify-content:center;width:34px}.shift-cell{align-items:flex-start;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;font:inherit;justify-content:center;margin:5px;min-width:0;padding:9px 10px;position:relative;text-align:left;transition:.16s}.shift-cell strong{font-size:11px;font-weight:700;white-space:nowrap}.shift-cell small{color:var(--muted);font-size:10px;margin-top:3px}.shift-cell.day{background:var(--blue-soft);border-color:#b8d1ef;color:#315e9b}.shift-cell.night{background:var(--primary-soft);border-color:#c8bff1;color:#5c4ba5}.shift-cell.protected{background:var(--amber-soft);border-color:#f0ce93;color:#ad711a}.shift-cell.off{background:#f0f1f4;border-color:#d8dae0;color:#6d7280}.shift-cell.task{background:var(--teal-soft);border-color:#b8ded8;color:#0f766e}.shift-cell.protected small,.shift-cell.off small{color:inherit;opacity:.85}.shift-cell.empty{align-items:center;color:#c7cad3;font-size:18px;justify-content:center;opacity:0}.sheet-row:hover .shift-cell.empty{opacity:1}.shift-cell:hover,.shift-cell.selected{box-shadow:0 0 0 2px var(--primary);transform:translateY(-1px)}.shift-cell.readonly{cursor:default}.shift-cell.readonly:hover{transform:none}.cell-lane{align-items:center;color:inherit;display:flex;font-size:9px;font-style:normal;font-weight:800;gap:4px;margin-top:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-lane:before{background:var(--lane-color, var(--primary));border:1px solid rgba(0,0,0,.14);border-radius:2px;content:"";flex:0 0 auto;height:7px;width:7px}.coverage-row{background:#fafbfc;min-height:64px}.coverage-icon{align-items:center;background:var(--teal-soft);border-radius:8px;color:var(--teal);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px;font-size:14px}.coverage-cell{align-items:center;display:flex;flex-direction:column;justify-content:center}.coverage-cell strong{font-size:13px;font-weight:700}.coverage-cell span{font-size:10px;margin-top:2px}.coverage-cell.ok{color:var(--teal)}.coverage-cell.warning{background:var(--danger-soft);color:var(--danger)}.inspector{background:var(--card);border:1px solid var(--line);border-left:0;border-top:0;min-width:0;padding:16px;position:sticky;top:0}@media(max-width:1100px){.inspector{border-left:1px solid var(--line);border-top:1px solid var(--line);position:static}}.inspector-head{align-items:flex-start;display:flex;justify-content:space-between}.inspector-head h2{font-size:16px;margin:0}.inspector-head p{color:var(--muted);font-size:11px;margin:4px 0 0}.editor-kicker{color:var(--primary);display:block;font-size:10px;font-weight:800;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.source-banner{align-items:flex-start;border-radius:10px;display:grid;gap:8px;grid-template-columns:20px 1fr;margin:14px 0;padding:10px 12px}.source-banner.generated{background:var(--teal-soft);color:var(--teal)}.source-banner strong{font-size:12px}.source-banner p{color:currentColor;font-size:11px;line-height:1.4;margin:2px 0 0;opacity:.85}.cell-editor-section{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:10px 0}.editor-field{display:block;margin:10px 0}.editor-field>span{color:var(--muted);display:block;font-size:11px;font-weight:700;margin-bottom:5px}.editor-field select,.editor-field input,.editor-field textarea{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;font-size:12px;outline:0;padding:8px 10px;width:100%}.editor-field textarea{min-height:72px;resize:vertical}.cell-editor-actions{display:grid;gap:8px;grid-template-columns:.65fr .65fr 1.2fr;margin-top:14px}.cell-editor-actions button{font-size:12px;padding:9px 8px}.move-help{align-items:flex-start;background:#f8f8fb;border-radius:8px;color:var(--primary);display:flex;gap:8px;margin-top:12px;padding:10px}.move-help p{color:var(--muted);font-size:11px;line-height:1.45;margin:0}.insight-section{border-top:1px solid var(--line);padding:14px 0}.insight-section>h3{font-size:12px;margin:0 0 10px}.insight-item{align-items:flex-start;background:#fafafa;border:0;border-radius:9px;display:flex;gap:8px;margin:6px 0;padding:10px;text-align:left;width:100%}.insight-item strong,.insight-item small{display:block}.insight-item strong{font-size:12px}.insight-item small{color:var(--muted);font-size:11px;margin-top:2px}.insight-item.danger{background:var(--danger-soft);color:var(--danger)}.insight-item.success{background:var(--teal-soft);color:var(--teal)}.fairness-row{align-items:center;display:grid;font-size:11px;gap:8px;grid-template-columns:90px 1fr 32px;margin:10px 0}.progress-track{background:#ececf1;border-radius:10px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--primary),#9187d0);display:block;height:100%}.block-resident-totals{border-top:1px solid var(--line);margin-top:10px;max-height:220px;overflow-y:auto;padding-top:8px}.block-resident-totals>div{align-items:center;display:flex;gap:8px;padding:7px 0}.block-resident-totals strong,.block-resident-totals small{display:block}.block-resident-totals strong{font-size:12px}.block-resident-totals small{color:var(--muted);font-size:10px;margin-top:2px}.icon-button{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.icon-button:hover{background:#f5f5f8;color:var(--ink)}*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;font-family:var(--font-body);background:var(--canvas);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}h1{font-family:var(--font-display);font-size:21px;margin:0 0 4px;font-weight:700;letter-spacing:-.02em}h2{font-family:var(--font-display);font-size:15px;margin:0 0 14px;font-weight:600;letter-spacing:-.01em}.page{padding:22px 28px 32px}.page-sub{color:var(--muted);margin:0 0 20px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.grow{flex:1}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border-soft)}th{color:var(--muted);font-weight:500;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em}tr:last-child td{border-bottom:none}button,.btn{font:inherit;font-size:13px;font-weight:500;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 16px;border-radius:999px;cursor:pointer;text-decoration:none;display:inline-block;transition:background .15s,border-color .15s,box-shadow .15s}button:hover,.btn:hover{background:var(--nav-hover-bg);border-color:var(--line)}button:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-sm{padding:5px 12px;font-size:12.5px}input,select,textarea{font:inherit;font-size:13.5px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:#f7f8f9;color:var(--text);transition:border-color .15s,background .15s}input:focus,select:focus{outline:none;background:#fff;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px;font-weight:500}.field{display:flex;flex-direction:column}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600}.badge.ok{background:#fff;color:var(--ok);border:1px solid var(--border)}.badge.ok:before{content:"\2713";font-size:10px;background:var(--ok);color:#fff;border-radius:99px;width:13px;height:13px;display:inline-flex;align-items:center;justify-content:center}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--purple-bg);color:var(--purple-fg)}.badge.muted{background:var(--gray-bg);color:var(--gray-fg)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.stat .num{font-size:26px;font-weight:700;letter-spacing:-.02em}.stat .lbl{color:var(--muted);font-size:12px;margin-top:2px}.alert{padding:10px 16px;border-radius:12px;margin-bottom:8px;font-size:13px}.alert.error{background:var(--danger-soft);color:#b04a32}.alert.warning{background:var(--warn-soft);color:#97700f}.alert.info{background:var(--blue-bg);color:var(--blue-fg)}.alert.success{background:var(--ok-soft);color:#237a52}.sched-wrap{overflow-x:auto}.sched{border-collapse:separate;border-spacing:3px;font-size:12px;width:auto}.sched th,.sched td{border:none;padding:4px 6px;text-align:center;white-space:nowrap}.sched thead th{color:var(--muted);font-size:10.5px;font-weight:500;letter-spacing:.05em;padding-bottom:8px}.sched th.name-col,.sched td.name-col{text-align:left;position:sticky;left:0;background:var(--surface);min-width:140px;z-index:1;font-size:12.5px}.sched td{background:#fafafb;border-radius:9px}.sched td.name-col{background:var(--surface);border-radius:0}.sched .wkend{background:#f1f2f5}.sched thead th.wkend{background:transparent;color:#b3b7bf}.cell{min-width:38px;cursor:pointer;font-weight:600;font-size:10.5px;border-radius:9px;transition:filter .1s}.cell:hover{filter:brightness(.96)}.cell.DAY{background:var(--blue-bg);color:var(--blue-fg)}.cell.CALL{background:var(--peach-bg);color:var(--peach-fg)}.cell.NIGHT{background:var(--ink-bg);color:var(--ink-fg)}.cell.POST_CALL{background:var(--danger-soft);color:var(--danger)}.cell.CLINIC{background:var(--green-bg);color:var(--green-fg)}.cell.DIDACTICS{background:var(--purple-bg);color:var(--purple-fg)}.cell.LEAVE{background:var(--yellow-bg);color:var(--yellow-fg)}.cell.OFF{background:var(--gray-bg);color:var(--gray-fg)}.cell.CUSTOM{background:var(--amber-soft);color:#a87324}.cell.readonly{cursor:default}.cell.readonly:hover{filter:none}.legend{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 14px}.legend .cell{padding:4px 12px;border-radius:999px;cursor:default;font-size:10.5px}.chips{display:inline-flex;gap:8px;flex-wrap:wrap}.chip{padding:7px 16px;border-radius:999px;font-size:13px;font-weight:500;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}.nav-group{margin-bottom:18px}.nav-group-title{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--subtle);margin:0 8px 6px;padding-top:4px}.split{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}@media(max-width:960px){.split{grid-template-columns:1fr}}.attention{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.attention-head{padding:14px 18px;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;align-items:center}.attention-head h2{margin:0;font-size:14px}.attention-item{display:flex;gap:12px;align-items:flex-start;padding:12px 18px;border-bottom:1px solid var(--border-soft);text-decoration:none;color:inherit;transition:background .12s}.attention-item:last-child{border-bottom:none}.attention-item:hover{background:#fafafb}.attention-dot{width:8px;height:8px;border-radius:99px;margin-top:5px;flex-shrink:0}.attention-dot.error{background:var(--danger)}.attention-dot.warning{background:var(--warn)}.attention-dot.info{background:var(--blue-fg)}.data-panel.card{padding:0;overflow:hidden}.data-panel__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.data-panel__head h2{margin:0}.data-panel__count{font-size:12px;color:var(--subtle);font-variant-numeric:tabular-nums;white-space:nowrap}.data-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;min-width:560px}.data-table th,.data-table td{padding:11px 14px;vertical-align:middle}.data-table th{position:sticky;top:0;z-index:1;background:#f8f8fb;font-size:10px;letter-spacing:.06em}.data-table tbody tr{transition:background .12s ease}.data-table tbody tr:hover{background:#fafafd}.data-table .is-num{text-align:right;font-variant-numeric:tabular-nums}.data-table__break td{height:8px;padding:0;background:var(--canvas);border:none}.data-table__cell-title strong{display:block;font-size:13px;font-weight:600;color:var(--ink)}.data-table__cell-sub{margin-top:2px;font-size:11px;color:var(--muted)}.data-table__action{text-align:right;white-space:nowrap}.data-table__cell-note{max-width:200px;color:var(--muted);font-size:13px}.data-table-empty{margin:0;padding:18px;color:var(--muted);font-size:13px}.data-table__row-selected{cursor:pointer}.data-table__row-selected.is-selected,.data-table__row-selected.is-selected:hover{background:#f7f9fc}.data-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:12px 18px;border-top:1px solid var(--line);background:#fafafd}.data-pagination__meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.data-pagination__size{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12px;color:var(--muted)}.data-pagination__size select{min-height:32px;padding:5px 10px;font-size:12px;background:#fff}.data-pagination__controls{display:flex;align-items:center;gap:10px}.data-pagination__page{font-size:12px;color:var(--subtle);font-variant-numeric:tabular-nums;white-space:nowrap}@media(prefers-reduced-motion:reduce){.data-table tbody tr{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lifecycle{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize}.lifecycle.setup{background:var(--gray-bg);color:var(--gray-fg)}.lifecycle.pending,.lifecycle.review{background:var(--warn-soft);color:var(--warn)}.lifecycle.draft{background:var(--purple-bg);color:var(--purple-fg)}.lifecycle.ready{background:var(--blue-bg);color:var(--blue-fg)}.lifecycle.published{background:var(--ok-soft);color:var(--ok)}.checklist{list-style:none;margin:0;padding:0}.checklist li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border-soft);font-size:13px}.checklist li:last-child{border-bottom:none}.check-icon{width:20px;height:20px;border-radius:99px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.check-icon.pass{background:var(--ok-soft);color:var(--ok)}.check-icon.fail{background:var(--danger-soft);color:var(--danger)}.status-pills{display:flex;gap:6px;flex-wrap:wrap}.status-pill{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid var(--border);background:#fff;cursor:pointer}.status-pill.active{border-color:var(--primary);background:var(--primary);color:#fff}.status-pill.present.active{background:var(--ok);border-color:var(--ok)}.status-pill.absent.active{background:var(--danger);border-color:var(--danger)}.status-pill.excused.active{background:var(--warn);border-color:var(--warn)}.status-pill.late.active{background:var(--purple-fg);border-color:var(--purple-fg)}.notif-panel{position:absolute;right:0;top:calc(100% + 8px);width:320px;max-height:360px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 40px #1415191f;z-index:50}.notif-item{padding:12px 16px;border-bottom:1px solid var(--border-soft);font-size:13px}.notif-item.unread{background:#f7f9fc}.notif-wrap{position:relative}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial}}}
