:root{color-scheme:light;--bg: #f5f5f7;--bg-elevated: rgba(255, 255, 255, .72);--bg-solid: #ffffff;--bg-subtle: #f0f1f4;--ink: #1d1d1f;--ink-secondary: #6e6e73;--ink-tertiary: #86868b;--line: rgba(0, 0, 0, .08);--line-strong: rgba(0, 0, 0, .12);--accent: #0071e3;--accent-soft: rgba(0, 113, 227, .1);--accent-ink: #ffffff;--ok: #1f8a4c;--ok-soft: rgba(31, 138, 76, .12);--warn: #b86e00;--warn-soft: rgba(184, 110, 0, .12);--danger: #d70015;--danger-soft: rgba(215, 0, 21, .1);--info: #0077ed;--info-soft: rgba(0, 119, 237, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 8px 30px rgba(0, 0, 0, .08);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .18);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--sidebar-w: 248px;--sidebar-w-collapsed: 76px;--topbar-h: 56px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--ease-press: .1s ease-out;font-family:var(--font);color:var(--ink);background:var(--bg);font-size:15px;line-height:1.47;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(ellipse at top left,rgba(0,113,227,.06),transparent 42%),radial-gradient(ellipse at top right,rgba(29,29,31,.03),transparent 35%),var(--bg)}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;left:1rem;top:-3rem;z-index:100;background:var(--bg-solid);color:var(--ink);padding:.6rem .9rem;border-radius:999px;box-shadow:var(--shadow-md)}.skip-link:focus{top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;border:0;border-radius:980px;padding:.55rem 1.05rem;cursor:pointer;font-weight:560;letter-spacing:-.01em;transition:transform var(--ease-press),background .16s ease,box-shadow .16s ease,opacity .16s ease;-webkit-user-select:none;user-select:none}.btn>span:last-child{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;line-height:1}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #0071e340}.btn-primary:hover:not(:disabled){background:#0077ed}.btn-secondary{background:var(--ink);color:#fff}.btn-soft{background:var(--accent-soft);color:var(--accent)}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover:not(:disabled){background:#0000000d}.btn-danger{background:var(--danger);color:#fff}.btn-sm{min-height:32px;padding:.35rem .8rem;font-size:.875rem}.btn-lg{min-height:48px;padding:.75rem 1.35rem;font-size:1rem}.btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.icon-btn{width:36px;height:36px;display:inline-grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink-secondary);cursor:pointer;transition:transform var(--ease-press),background .16s ease}.icon-btn:hover{background:#0000000d;color:var(--ink)}.icon-btn:active{transform:scale(.94)}.icon-btn.ghost{color:inherit}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;transition:grid-template-columns .28s cubic-bezier(.32,.72,0,1)}.shell.is-collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:1rem .75rem;display:flex;flex-direction:column;gap:1rem;background:#fafafcc7;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-right:1px solid var(--line);z-index:20}.sidebar-collapse{position:absolute;top:1.55rem;right:-14px;z-index:2;width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:#ffffffeb;color:var(--ink-secondary);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--ease-press),color .16s ease,box-shadow .16s ease}.sidebar-collapse:hover{color:var(--ink);box-shadow:var(--shadow-md)}.sidebar-collapse:active{transform:scale(.92)}.brand{display:flex;align-items:center;gap:.75rem;padding:.35rem .5rem;min-height:48px}.brand-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#1d1d1f,#434346);color:#fff;font-weight:700;font-size:.78rem;letter-spacing:.02em;flex-shrink:0}.brand strong{display:block;font-size:.95rem;letter-spacing:-.02em;line-height:1.15}.brand p{margin:.15rem 0 0;color:var(--ink-tertiary);font-size:.75rem}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.nav-link{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.55rem .75rem;border-radius:12px;color:var(--ink-secondary);font-weight:520;letter-spacing:-.01em;transition:background .16s ease,color .16s ease,transform var(--ease-press)}.nav-link:hover{background:#0000000a;color:var(--ink)}.nav-link:active{transform:scale(.985)}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.nav-link svg{flex-shrink:0}.shell.is-collapsed .brand-copy,.shell.is-collapsed .nav-label,.shell.is-collapsed .sidebar-user-meta{display:none}.shell.is-collapsed .nav-link{justify-content:center;padding-inline:.5rem}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--line)}.sidebar-user{display:flex;align-items:center;gap:.65rem;padding:.45rem .5rem;border-radius:12px}.avatar{width:32px;height:32px;border-radius:50%;background:#e8e8ed;color:var(--ink);display:grid;place-items:center;font-size:.78rem;font-weight:650;flex-shrink:0}.sidebar-user-meta{min-width:0}.sidebar-user-meta strong{display:block;font-size:.85rem;letter-spacing:-.01em}.sidebar-user-meta span{color:var(--ink-tertiary);font-size:.75rem;text-transform:capitalize}.content-wrap{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:40;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.25rem;overflow:visible;background:#f5f5f7e0;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--line)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:.5rem}.mobile-app-identity{display:none}.status-chip{display:inline-flex;align-items:center;gap:.4rem;min-height:32px;padding:.25rem .7rem;border-radius:999px;background:var(--bg-solid);border:1px solid var(--line);font-size:.8rem;color:var(--ink-secondary);box-shadow:var(--shadow-sm)}.status-chip strong{color:var(--ink);font-weight:600}.content{padding:1.25rem 1.5rem 2.5rem}.page{max-width:1180px;margin:0 auto}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.35rem}.page-header h1{margin:0;font-size:clamp(1.7rem,2.4vw,2.15rem);line-height:1.1;letter-spacing:-.03em;font-weight:650}.page-header p{margin:.4rem 0 0;color:var(--ink-secondary);max-width:42rem}.page-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.card{background:var(--bg-solid);border:1px solid var(--line);border-radius:var(--radius-md);padding:1rem 1.1rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.card-elevated{box-shadow:var(--shadow-md)}.card-glass{background:var(--bg-elevated);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%)}.card-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem}.card-header h2,.card h2{margin:0;font-size:1.05rem;letter-spacing:-.02em;font-weight:620}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.stat{background:var(--bg-solid);border:1px solid var(--line);border-radius:var(--radius-md);padding:1rem 1.05rem;box-shadow:var(--shadow-sm);min-height:102px}.stat span{display:block;color:var(--ink-secondary);font-size:.8rem;margin-bottom:.45rem;letter-spacing:-.01em}.stat strong{display:block;font-size:1.35rem;letter-spacing:-.03em;line-height:1.15}.stat em{display:block;margin-top:.35rem;font-style:normal;color:var(--ink-tertiary);font-size:.78rem}.hero-status{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;margin-bottom:1rem}.hero-main{display:flex;flex-direction:column;gap:1rem}.hero-kicker{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.countdown{font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.04em;font-weight:650;line-height:1}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.meta-item{min-width:0;background:var(--bg-subtle);border-radius:12px;padding:.75rem .85rem}.meta-item span{display:block;color:var(--ink-tertiary);font-size:.75rem;margin-bottom:.25rem}.meta-item strong{display:block;min-width:0;font-size:.95rem;letter-spacing:-.02em;overflow-wrap:anywhere}.approval-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-meta-grid .meta-item-wide{grid-column:1 / -1}.table-wrap{overflow:auto;border-radius:12px;border:1px solid var(--line)}table.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{text-align:left;padding:.8rem .9rem;border-bottom:1px solid var(--line);vertical-align:middle}.data-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-tertiary);background:#fafafc;position:sticky;top:0;z-index:1}.data-table tbody tr{transition:background .12s ease}.data-table tbody tr:hover{background:#f7f8fa}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.data-table tbody tr:last-child td{border-bottom:0}.lms-link{display:inline-flex;align-items:center;gap:.3rem;font-weight:560;letter-spacing:-.01em;white-space:nowrap}.mobile-cards{display:none;gap:.65rem}.mobile-card-stack{display:grid;gap:.4rem}.mobile-card-stack .lms-link{justify-self:start;padding:0 .2rem .2rem}.mobile-card{border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;background:var(--bg-solid);cursor:pointer;text-align:left;width:100%}.mobile-card:active{transform:scale(.99)}.mobile-card-top{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem}.filters-dates{align-items:flex-start}.filters-dates .field{min-width:min(220px,100%);flex:1}.drawer-footer-actions{display:flex;flex-wrap:wrap;gap:.6rem;width:100%;justify-content:flex-end}.sla-chip-link{text-decoration:none;color:inherit}.filters .control{min-width:min(240px,100%)}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.filter-chip{border:1px solid var(--line);background:var(--bg-solid);color:var(--ink-secondary);border-radius:999px;min-height:32px;padding:.25rem .75rem;cursor:pointer;transition:transform var(--ease-press),background .14s ease,color .14s ease}.filter-chip:active{transform:scale(.97)}.filter-chip.is-active{background:var(--accent-soft);border-color:transparent;color:var(--accent);font-weight:600}.pagination{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.85rem;color:var(--ink-secondary);font-size:.875rem}.badge{display:inline-flex;align-items:center;gap:.35rem;min-height:26px;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:-.01em;background:#ececf0;color:var(--ink-secondary);white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-muted{background:#ececf0;color:var(--ink-secondary)}.badge-pulse .badge-dot{animation:pulse 1.6s ease-in-out infinite}.field{display:flex;flex-direction:column;gap:.35rem}.field-label{font-size:.82rem;font-weight:560;color:var(--ink-secondary)}.field-hint,.field-error{font-size:.78rem}.field-hint{color:var(--ink-tertiary)}.field-error{color:var(--danger)}.control{min-height:42px;border:1px solid var(--line-strong);border-radius:12px;padding:.55rem .8rem;background:#fff;color:var(--ink);transition:border-color .14s ease,box-shadow .14s ease}.control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.control:disabled{background:var(--bg-subtle);color:var(--ink-secondary);cursor:not-allowed;opacity:1}.inline-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.3rem;background:var(--bg-subtle);border-radius:14px}.segmented-item{border:0;background:transparent;border-radius:11px;padding:.7rem .8rem;text-align:left;cursor:pointer;color:var(--ink-secondary);transition:transform var(--ease-press),background .16s ease,color .16s ease,box-shadow .16s ease}.segmented-item strong{display:block;font-size:.92rem;letter-spacing:-.02em}.segmented-item span{display:block;margin-top:.15rem;font-size:.75rem;color:var(--ink-tertiary)}.segmented-item:active{transform:scale(.985)}.segmented-item.is-selected{background:var(--bg-solid);color:var(--ink);box-shadow:var(--shadow-sm)}.segmented.is-disabled{opacity:.72}.segmented-item:disabled{cursor:not-allowed}.day-row,.time-row,.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.day{min-width:44px;min-height:40px;border:1px solid var(--line);border-radius:999px;background:var(--bg-solid);color:var(--ink-secondary);cursor:pointer;transition:transform var(--ease-press),background .14s ease,color .14s ease}.day:active{transform:scale(.96)}.day.on{background:var(--ink);border-color:var(--ink);color:#fff}.day:disabled{cursor:not-allowed;opacity:.65}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.settings-page{max-width:980px;padding-bottom:5rem}.settings-page-header{margin-bottom:1.1rem}.settings-page-header h1{letter-spacing:-.035em}.settings-runtime-card,.settings-config-card,.settings-hours-card{padding:1.15rem;border-radius:20px}.settings-runtime-card{background:radial-gradient(circle at 95% 0%,rgba(0,113,227,.08),transparent 32%),#fffffff0}.settings-card-header{align-items:flex-start;margin-bottom:1rem}.settings-heading{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.settings-heading-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:var(--accent-soft)}.settings-heading h2{line-height:1.2}.settings-heading p{margin:.25rem 0 0;color:var(--ink-tertiary);font-size:.82rem;line-height:1.4}.runtime-state-row{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:.95rem 0;margin-bottom:.95rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.runtime-state-row>div{min-width:0}.runtime-state-row .btn{min-width:108px;flex:0 0 auto}.runtime-state-row strong{display:block;margin-top:.15rem;font-size:1.08rem;font-weight:630;letter-spacing:-.025em}.runtime-state-row p{margin:.25rem 0 0;color:var(--ink-tertiary);font-size:.82rem;line-height:1.45}.settings-eyebrow{display:block;color:var(--ink-tertiary);font-size:.7rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.settings-subsection-label{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 .65rem}.settings-subsection-label span{color:var(--ink-secondary);font-size:.78rem;font-weight:650}.settings-subsection-label small{color:var(--ink-tertiary);font-size:.72rem;text-align:right}.settings-divider{height:1px;margin:1.15rem 0;background:var(--line)}.settings-safety-note{display:flex;align-items:center;gap:.7rem;margin-top:.85rem;padding:.7rem .8rem;border-radius:12px;color:#9a3412;background:#ff95001a}.settings-safety-note>svg{flex:0 0 auto}.settings-safety-note p{flex:1;margin:0;font-size:.78rem;line-height:1.4}.settings-safety-note strong{display:block}.settings-switch{position:relative;width:48px;height:28px;flex:0 0 48px;padding:2px;border:0;border-radius:999px;background:#d1d1d6;cursor:pointer;transition:background .18s ease}.settings-switch span{display:block;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transform:translate(0);transition:transform .22s cubic-bezier(.2,.8,.2,1)}.settings-switch.is-on{background:var(--accent)}.settings-switch.is-on span{transform:translate(20px)}.settings-switch:active span{width:27px}.settings-switch.is-on:active span{transform:translate(17px)}.settings-switch:disabled{cursor:not-allowed;opacity:.55}.settings-toggle-summary{display:grid;gap:.2rem;padding:.85rem 0;border-top:1px solid var(--line)}.settings-toggle-summary strong{font-size:.9rem;letter-spacing:-.015em}.settings-toggle-summary span{color:var(--ink-tertiary);font-size:.78rem}.active-hours-panel{overflow:hidden;padding-top:.35rem}.active-hours-time-grid{max-width:520px}.settings-timezone-field{margin-top:.85rem}.settings-days{display:grid;gap:.5rem;margin-top:.9rem}.settings-days .day-row{display:grid;grid-template-columns:repeat(7,minmax(40px,1fr));gap:.4rem;overflow-x:auto;padding:1px}.settings-days .day{min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.38rem;border-color:var(--line-strong);border-radius:10px;background:var(--bg-solid);color:var(--ink-secondary);font-size:.78rem;font-weight:620}.settings-days .day-state{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;border:1.5px solid var(--line-strong);border-radius:50%;background:transparent}.settings-days .day:hover:not(:disabled){background:#0071e314}.settings-days .day.on{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 2px 8px #0071e333}.settings-days .day.on:hover:not(:disabled){border-color:#0077ed;background:#0077ed;color:#fff}.settings-days .day.on .day-state{border-color:#ffffffd1;background:#ffffff2e}.danger-zone{border-color:#d700152e;background:linear-gradient(180deg,#fff8f8,#fff)}.unsaved-bar{position:sticky;bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:16px;background:#1d1d1feb;color:#fff;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.overlay-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;justify-content:flex-end}.overlay-root.centered{align-items:center;justify-content:center;padding:1rem}.overlay-scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#00000047;cursor:pointer}.drawer{position:relative;width:min(440px,100%);height:100%;background:#ffffffeb;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border-left:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:1}.drawer-lg{width:min(560px,100%)}.drawer-header,.drawer-footer{padding:1.1rem 1.15rem;display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.drawer-header{border-bottom:1px solid var(--line)}.drawer-header h2{margin:0;font-size:1.2rem;letter-spacing:-.03em}.drawer-header p{margin:.3rem 0 0;color:var(--ink-secondary);font-size:.875rem}.drawer-body{padding:1.1rem 1.15rem;overflow:auto;flex:1}.drawer-footer{border-top:1px solid var(--line);align-items:center;background:#ffffffd1;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%)}.dialog{position:relative;z-index:1;width:min(440px,100%);background:#fffffff5;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:20px;padding:1.25rem;box-shadow:var(--shadow-lg)}.dialog h2{margin:0 0 .45rem;letter-spacing:-.03em}.dialog-desc{color:var(--ink-secondary);margin:0 0 1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.1rem}.timeline{display:flex;flex-direction:column;gap:0;margin:1rem 0}.timeline-item{position:relative;display:grid;grid-template-columns:14px 1fr;gap:.75rem;padding-bottom:.9rem}.timeline-item:last-child{padding-bottom:0}.timeline-item:not(:last-child):before{content:"";position:absolute;left:4px;top:13px;bottom:1px;width:2px;border-radius:999px;background:var(--accent-soft)}.timeline-dot{width:10px;height:10px;margin-top:.35rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.timeline-item strong{display:block;font-size:.9rem;letter-spacing:-.02em}.timeline-item span{color:var(--ink-tertiary);font-size:.78rem}.pre-block{white-space:pre-wrap;word-break:break-word;background:var(--bg-subtle);border-radius:12px;padding:.85rem;font-size:.82rem;margin:.5rem 0 0;max-height:220px;overflow:auto}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.25rem;background:radial-gradient(circle at 20% 20%,rgba(0,113,227,.12),transparent 35%),radial-gradient(circle at 80% 0%,rgba(0,0,0,.05),transparent 30%),#f5f5f7}.login-card{width:min(420px,100%);background:#ffffffd1;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.55);border-radius:24px;padding:1.75rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:.9rem}.login-card h1{margin:0;font-size:1.75rem;letter-spacing:-.035em;line-height:1.1}.login-card>p{margin:0;color:var(--ink-secondary)}.login-brand{display:flex;align-items:center;gap:.7rem;margin-bottom:.25rem}.chart-wrap{width:100%;height:240px}.muted{color:var(--ink-secondary)}.alert{border-radius:14px;padding:.85rem 1rem;margin-bottom:1rem;display:flex;gap:.65rem;align-items:flex-start}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.ok{background:var(--ok-soft);color:var(--ok)}.alert.warn{background:var(--warn-soft);color:var(--warn)}.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.45rem;padding:2rem 1rem;color:var(--ink-secondary)}.empty-state h3,.error-state strong{color:var(--ink);margin:0;letter-spacing:-.02em}.empty-state p,.error-state p{margin:0;max-width:28rem}.empty-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--bg-subtle);color:var(--ink-secondary);margin-bottom:.25rem}.error-state{flex-direction:row;text-align:left;justify-content:flex-start;background:var(--danger-soft);border-radius:14px;color:var(--danger)}.skeleton{background:linear-gradient(90deg,#ececf0 25%,#f5f5f7,#ececf0 75%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite;border-radius:12px}.sk-title{width:220px;height:28px;margin-bottom:.5rem}.sk-subtitle{width:320px;height:16px}.sk-stat{height:102px}.sk-panel{height:280px;margin-top:.5rem}.toast-region{position:fixed;right:1rem;bottom:1rem;z-index:80;display:flex;flex-direction:column;gap:.55rem;width:min(360px,calc(100vw - 2rem))}.toast{display:flex;justify-content:space-between;gap:.75rem;padding:.85rem .9rem;border-radius:16px;background:#ffffffeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-md);border:1px solid var(--line)}.toast strong{display:block;letter-spacing:-.02em}.toast p{margin:.2rem 0 0;color:var(--ink-secondary);font-size:.85rem}.toast-ok{border-color:#1f8a4c33}.toast-error{border-color:#d7001533}.menu-popover{position:absolute;right:0;top:calc(100% + .4rem);min-width:200px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);padding:.35rem;z-index:50}.menu-popover button{width:100%;display:flex;align-items:center;gap:.55rem;border:0;background:transparent;border-radius:10px;padding:.65rem .75rem;text-align:left;cursor:pointer;color:var(--ink)}.menu-popover button:hover{background:#0000000a}.profile-wrap{position:relative}.job-expand{background:#f7f8fa}.job-expand td{padding:0!important}.job-detail{padding:1rem 1.1rem 1.15rem;border-top:1px solid var(--line)}.job-detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.job-detail-title{display:flex;align-items:center;gap:.55rem;margin-bottom:.2rem}.job-detail-title>strong{font-size:1rem;letter-spacing:-.02em}.job-pipeline{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:.5rem;padding:.85rem;background:var(--bg-solid);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}.job-stage{min-width:0;display:flex;align-items:center;gap:.65rem}.job-stage-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;color:var(--accent);background:var(--accent-soft)}.job-stage span:not(.job-stage-icon){display:block;color:var(--ink-tertiary);font-size:.72rem}.job-stage strong{display:block;margin-top:.05rem;font-size:1.15rem;letter-spacing:-.03em}.job-stage-arrow{color:var(--ink-tertiary);opacity:.6}.job-detail-lower{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,1fr);gap:1rem;margin-top:1rem}.job-detail-section{min-width:0}.job-detail-section h3{margin:0 0 .55rem;color:var(--ink-secondary);font-size:.75rem;font-weight:620;letter-spacing:.04em;text-transform:uppercase}.job-outcomes{display:flex;flex-wrap:wrap;gap:.5rem}.job-outcome{min-width:96px;padding:.65rem .75rem;border-radius:11px;background:var(--bg-solid);border:1px solid var(--line)}.job-outcome strong{display:block;font-size:1.05rem;letter-spacing:-.03em}.job-outcome span{display:block;margin-top:.1rem;color:var(--ink-secondary);font-size:.72rem}.job-outcome-ok{border-color:#1f8a4c33;background:var(--ok-soft)}.job-outcome-info{border-color:#0077ed2e;background:var(--info-soft)}.job-outcome-warn{border-color:#b86e002e;background:var(--warn-soft)}.job-outcome-danger{border-color:#d700152e;background:var(--danger-soft)}.job-context{display:flex;flex-wrap:wrap;gap:.4rem}.job-context>span{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .6rem;border-radius:999px;color:var(--ink-secondary);background:var(--bg-solid);border:1px solid var(--line);font-size:.75rem}.job-context strong{color:var(--ink);font-weight:600}.job-detail-alert{margin:1rem 0 0}.job-detail-alert p{margin:.2rem 0 0}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--ink-secondary)}.mobile-nav-toggle,.mobile-drawer-nav{display:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}@media (max-width: 1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-status{grid-template-columns:1fr}.job-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.job-stage-arrow{display:none}.job-detail-lower{grid-template-columns:1fr}}@media (max-width: 900px){:root{--topbar-h: 64px}.shell,.shell.is-collapsed{grid-template-columns:1fr}.sidebar{display:none}.mobile-nav-toggle{display:inline-grid}.topbar{padding:.35rem .75rem;gap:.5rem;background:#fafafceb;box-shadow:0 1px #ffffffbf}.topbar-left{flex:1;min-width:0;gap:.65rem}.topbar-right{flex:0 0 auto}.desktop-schedule-status,.desktop-mode-status{display:none}.mobile-app-identity{min-width:0;display:flex;flex-direction:column;justify-content:center;line-height:1.2}.mobile-app-identity strong{overflow:hidden;font-size:.9rem;font-weight:650;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.mobile-app-identity span{display:flex;align-items:center;gap:.35rem;margin-top:.15rem;overflow:hidden;color:var(--ink-tertiary);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.mobile-app-identity i{color:var(--line-strong);font-style:normal}.topbar .icon-btn{width:40px;height:40px}.topbar .avatar{width:34px;height:34px;background:var(--ink);color:#fff;font-size:.72rem}.mobile-drawer-nav{display:block}.content{padding:1.1rem 1rem 2rem}.settings-grid{grid-template-columns:1fr}.settings-runtime-card,.settings-config-card,.settings-hours-card{padding:1rem;border-radius:18px}.runtime-state-row{align-items:flex-start}.settings-subsection-label{display:block}.settings-subsection-label small{display:block;margin-top:.15rem;text-align:left}.settings-safety-note{align-items:flex-start;flex-wrap:wrap}.table-desktop{display:none}.mobile-cards{display:grid}.page-header{flex-direction:column;gap:.85rem;margin-bottom:1rem}.page-header h1{font-size:1.5rem;line-height:1.15;letter-spacing:-.035em}.page-header p{margin-top:.3rem;max-width:34rem;color:var(--ink-tertiary);font-size:.84rem;line-height:1.45}.page-actions{width:100%}.page-actions .btn{flex:1 1 140px}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.85rem;padding:.7rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffc7;box-shadow:var(--shadow-sm)}.filters .control{width:100%;min-width:0;min-height:40px;border-radius:10px}.filters .control:first-child:nth-last-child(3){grid-column:1 / -1}.chip-row{flex-wrap:nowrap;gap:.4rem;margin-inline:-1rem;margin-bottom:.85rem;padding:0 1rem .15rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chip-row::-webkit-scrollbar{display:none}.filter-chip{flex:0 0 auto;min-height:30px;padding-inline:.7rem;font-size:.8rem}.card{padding:.85rem}}@media (max-width: 420px){.content{padding-inline:.85rem}.chip-row{margin-inline:-.85rem;padding-inline:.85rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:active:not(:disabled),.icon-btn:active,.nav-link:active,.filter-chip:active,.day:active,.segmented-item:active{transform:none}.settings-switch:active span,.settings-switch.is-on:active span{width:24px}}@media (prefers-reduced-transparency: reduce){.sidebar,.topbar,.card-glass,.drawer,.dialog,.login-card,.toast,.unsaved-bar{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}}@media (prefers-contrast: more){:root{--line: #000;--line-strong: #000;--ink-secondary: #000}.card,.stat,.control,.badge{border:1px solid #000}}
