:root{color-scheme:dark;--od-bg: #0c1a2e;--od-bg-2: #0f1f36;--od-surface: rgba(10, 19, 35, .98);--od-surface-2: rgba(6, 16, 29, .98);--od-border: rgba(172, 185, 205, .16);--od-border-strong: rgba(172, 185, 205, .28);--od-card-border: rgba(172, 185, 205, .12);--od-card-border-top: rgba(172, 185, 205, .25);--od-text: #f5f9ff;--od-muted: #afbdd1;--od-muted-2: #8ea0bc;--od-amber: #facc15;--od-blue: #7dd3fc;--od-blue-2: #60a5fa;--od-success: #86efac;--od-success-bg: rgba(34, 197, 94, .12);--od-success-border: rgba(34, 197, 94, .24);--od-error: #fca5a5;--od-error-bg: rgba(239, 68, 68, .12);--od-error-border: rgba(239, 68, 68, .24);--od-info-bg: rgba(125, 211, 252, .14);--od-info-border: rgba(125, 211, 252, .24);--od-warning-bg: rgba(250, 204, 21, .12);--od-warning-border: rgba(253, 224, 71, .65);--od-pill-bg: rgba(15, 26, 46, .96);--od-pill-hover-bg: rgba(24, 39, 64, .92);--od-card-shadow: 0 24px 54px rgba(2, 6, 23, .34), 0 1px 3px rgba(2, 6, 23, .25);--od-modal-shadow: 0 32px 64px rgba(2, 6, 23, .55), 0 2px 4px rgba(2, 6, 23, .35);--od-mono: "JetBrains Mono", monospace;--od-space-xs: 4px;--od-space-sm: 8px;--od-space-md: 12px;--od-space-lg: 16px;--od-space-xl: 24px;--od-space-2xl: 32px;--od-space-3xl: 40px;--od-space-4xl: 48px;--od-radius-sm: 10px;--od-radius-md: 14px;--od-radius-lg: 18px;--od-radius-full: 999px;--od-btn-sm: 36px;--od-btn-md: 44px;--od-btn-lg: 52px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;font-family:DM Sans,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,rgba(125,211,252,.12),transparent 38%),linear-gradient(180deg,var(--od-bg) 0%,var(--od-bg-2) 100%);color:var(--od-text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.od-page{min-height:100vh}.od-shell,.od-loading-shell,.od-auth-shell{width:min(1180px,calc(100vw - 32px));margin:0 auto}.od-stack{display:grid;gap:var(--od-space-xl);padding:var(--od-space-xl) 0 var(--od-space-4xl)}.od-loading-shell{min-height:100vh;display:grid;place-items:center;color:var(--od-muted)}.od-auth-shell{min-height:100vh;display:grid;align-content:center;grid-template-columns:minmax(0,1.2fr) minmax(320px,440px);gap:var(--od-space-xl);padding:var(--od-space-2xl) 0}.od-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--od-space-lg)}.od-login-card{width:100%;max-width:440px;padding:var(--od-space-2xl);box-shadow:var(--od-card-shadow),0 -24px 80px #7dd3fc0d}.od-login-title{margin:0 0 32px;font-size:1.5rem;font-weight:700;color:var(--od-text);text-align:center}.od-login-form{display:grid;gap:var(--od-space-xl)}.od-input-with-toggle{position:relative;display:flex;align-items:center}.od-input-with-toggle .od-input{width:100%;padding-right:44px}.od-input-toggle-btn{position:absolute;right:0;top:0;bottom:0;width:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--od-muted-2);cursor:pointer;font-size:13px;padding:0;transition:color .15s}.od-input-toggle-btn:hover{color:var(--od-text)}.od-card,.modal-card{background:linear-gradient(180deg,rgba(125,211,252,.035) 0%,rgba(125,211,252,.01) 24%,transparent 100%),linear-gradient(180deg,var(--od-surface) 0%,var(--od-surface-2) 100%);border:1px solid var(--od-card-border);border-top:1px solid var(--od-card-border-top);border-radius:var(--od-radius-lg);box-shadow:var(--od-card-shadow)}.od-topbar{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--od-border);box-shadow:0 1px #7dd3fc14;background:#0a1323eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.od-topbar-inner,.od-topnav{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--od-space-xl)}.od-topbar-inner{padding:var(--od-space-lg) 0}.od-topbar-copy{display:grid;gap:var(--od-space-sm)}.od-topbar-actions,.od-chip-row,.od-inline-metrics,.modal-header,.modal-actions{display:flex;align-items:center;gap:var(--od-space-md);flex-wrap:wrap}.od-topbar-actions{justify-content:flex-end;padding-top:4px}.od-kicker{margin:0;color:var(--od-muted-2);font-size:12px;font-weight:600;letter-spacing:.06em}.od-heading,.od-section-title,.modal-header h3{margin:0;line-height:1.1}.od-heading{font-size:1.4rem}.od-heading--page{font-size:clamp(1.8rem,2vw + 1rem,2.6rem)}.od-section-title{font-size:1.35rem}.od-subtle,.od-metric-hint,.od-bullet-list,.od-empty-state{margin:0;color:var(--od-muted)}.od-badge,.od-user-pill,.od-filter-chip,.od-inline-pill,.od-topnav-link,.od-btn-primary,.od-btn-quiet,.primary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--od-space-sm);min-height:var(--od-btn-md);padding:var(--od-space-sm) var(--od-space-lg);border-radius:var(--od-radius-full);border:1px solid var(--od-border);font-size:14px;text-decoration:none;transition:background .16s var(--od-ease-out),border-color .16s var(--od-ease-out),color .16s var(--od-ease-out),transform 80ms ease}.od-btn--sm{min-height:var(--od-btn-sm);padding:6px var(--od-space-md);font-size:13px}.od-btn--lg{min-height:var(--od-btn-lg);padding:var(--od-space-md) var(--od-space-xl);font-size:16px}.od-badge,.od-inline-pill--warning{color:#fef3c7;background:var(--od-warning-bg);border-color:var(--od-warning-border)}.od-user-pill,.od-inline-pill{color:var(--od-muted);background:var(--od-pill-bg);border-color:var(--od-border-strong)}.od-topnav{padding:var(--od-space-lg) 0 0;justify-content:flex-start;flex-wrap:wrap}.od-topnav-link{background:#ffffff08;color:var(--od-muted)}.od-topnav-link:hover,.od-filter-chip:hover,.od-btn-quiet:hover,.ghost-button:hover,.od-inline-pill:hover{background:var(--od-pill-hover-bg);color:var(--od-text)}.od-topnav-link--active,.od-filter-chip--active{background:#7dd3fc1f;border-color:#7dd3fc47;color:var(--od-text)}.od-btn-primary,.primary-button{border:none;background:linear-gradient(180deg,#60a5fa,#2563eb);color:#eff6ff;font-weight:700}.od-btn-primary:hover,.primary-button:hover{transform:translateY(-1px)}.od-btn-quiet,.ghost-button{background:#ffffff08;color:var(--od-text)}.od-btn-full{width:100%}.od-btn-primary:disabled,.od-btn-quiet:disabled,.primary-button:disabled,.ghost-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.od-section,.od-auth-panel,.od-auth-form,.modal-card{padding:var(--od-space-xl)}.od-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--od-space-lg);margin-bottom:var(--od-space-xl)}.od-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--od-space-lg);margin-top:var(--od-space-xl)}.od-metric-card{display:grid;gap:var(--od-space-sm);padding:var(--od-space-lg);border-radius:var(--od-radius-md);background:#ffffff0d;border:1px solid var(--od-border)}.od-metric-card--warning{background:#facc1514;border-color:#facc152e}.od-metric-card--success{background:#22c55e14;border-color:#22c55e2e}.od-metric-card--info{background:#7dd3fc14;border-color:#7dd3fc2e}.od-metric-value{font-size:1.45rem;font-weight:700;color:var(--od-text)}.od-filter-bar,.form-grid{display:grid;gap:var(--od-space-lg)}.od-filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--od-space-md)}.od-field{display:grid;gap:var(--od-space-sm);color:var(--od-muted)}.od-field--compact{min-width:0}.od-field--compact .od-input,.od-field--compact input,.od-field--compact select{width:auto}.od-input,input,select,textarea{width:100%;border:1px solid var(--od-border);border-radius:var(--od-radius-md);padding:var(--od-space-md) var(--od-space-md);background:#acb9cd0f;color:var(--od-text);box-shadow:inset 0 1px #ffffff05}.od-input:focus,input:focus,select:focus,textarea:focus{outline:1px solid rgba(125,211,252,.4);border-color:#7dd3fc66}.od-textarea,textarea{resize:vertical}.od-inline-metrics{margin-top:var(--od-space-sm);margin-bottom:var(--od-space-lg);gap:var(--od-space-sm)}.od-inline-pill--success{color:var(--od-success);background:var(--od-success-bg);border-color:var(--od-success-border)}.od-inline-pill--danger{color:var(--od-error);background:var(--od-error-bg);border-color:var(--od-error-border)}.od-alert,.error-copy{margin:0;border-radius:var(--od-radius-md);padding:var(--od-space-md) var(--od-space-md)}.od-alert--error,.error-copy{background:var(--od-error-bg);border:1px solid var(--od-error-border);color:var(--od-error)}.od-table-shell{overflow:auto;border:1px solid var(--od-border);border-radius:var(--od-radius-lg)}.od-table{width:100%;border-collapse:collapse}.od-table th,.od-table td{padding:var(--od-space-lg);text-align:left;vertical-align:top;border-bottom:1px solid rgba(172,185,205,.12)}.od-table th{color:var(--od-muted);font-size:12px;font-weight:600;letter-spacing:.04em}.od-table td{color:var(--od-text)}.od-table-actions{display:grid;gap:var(--od-space-sm)}.od-table-actions--inline{grid-template-columns:repeat(2,minmax(0,auto))}.od-shift-status-cell{display:flex;align-items:center;gap:var(--od-space-sm);flex-wrap:wrap}.od-expand-toggle{background:none;border:none;color:var(--od-muted-2);font-size:12px;cursor:pointer;padding:var(--od-space-xs) var(--od-space-sm);border-radius:var(--od-radius-sm);transition:color .15s,background .15s}.od-expand-toggle:hover{color:var(--od-text);background:#acb9cd14}.od-shift-expand-row td{background:#0000001f;border-bottom:1px solid var(--od-border)}.od-shift-expand-panel{display:grid;gap:var(--od-space-lg);padding:var(--od-space-lg)}.od-shift-actions{display:flex;align-items:center;gap:var(--od-space-sm);flex-wrap:wrap}.od-btn-danger{color:var(--od-error);border-color:var(--od-error-border)}.od-btn-danger:hover{background:var(--od-error-bg)}.od-mono-data{font-family:var(--od-mono);font-size:13px;letter-spacing:.02em}.od-empty-state{display:grid;place-items:center;min-height:120px;padding:var(--od-space-xl);border-radius:var(--od-radius-lg);border:1px solid var(--od-border);background:#ffffff05;text-align:center}.od-auth-copy{display:grid;gap:var(--od-space-sm);margin-bottom:var(--od-space-lg)}.od-bullet-list{padding-left:18px;display:grid;gap:var(--od-space-sm)}.od-filter-bar--wide{grid-template-columns:repeat(5,minmax(120px,1fr)) auto}.od-grouped-board,.od-period-list{display:grid;gap:var(--od-space-lg)}.od-export-actions{display:flex;align-items:center;gap:var(--od-space-md);flex-shrink:0;flex-wrap:nowrap}.od-employee-card,.od-period-card{padding:var(--od-space-lg)}.od-employee-header,.od-period-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--od-space-lg);margin-bottom:var(--od-space-lg)}.od-period-title{margin:0;font-size:1.05rem}.od-status-pill{display:inline-flex;align-items:center;min-height:28px;padding:4px var(--od-space-md);border-radius:var(--od-radius-full);border:1px solid var(--od-border);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.od-status-pill--warning{background:var(--od-warning-bg);border-color:var(--od-warning-border);color:#fef3c7}.od-status-pill--success{background:var(--od-success-bg);border-color:var(--od-success-border);color:var(--od-success)}.od-status-pill--danger{background:var(--od-error-bg);border-color:var(--od-error-border);color:var(--od-error)}.od-review-meta{display:grid;gap:var(--od-space-sm)}.od-review-copy{margin:0;color:var(--od-muted);font-size:.85rem}.od-review-copy--error{color:var(--od-error)}.modal-backdrop{position:fixed;inset:0;background:#020617a8;display:grid;place-items:center;padding:var(--od-space-xl)}.modal-card{width:min(100%,700px);box-shadow:var(--od-modal-shadow)}.modal-header,.modal-actions{justify-content:space-between}.form-grid{margin:var(--od-space-xl) 0}@media(max-width:900px){.od-auth-shell{grid-template-columns:1fr;width:min(740px,calc(100vw - 32px))}}@media(max-width:720px){.od-shell,.od-loading-shell,.od-auth-shell{width:min(100vw - 24px,1180px)}.od-topbar-inner,.od-section-heading,.od-topbar-actions,.od-export-actions,.od-employee-header,.od-period-header,.modal-header,.modal-actions{flex-direction:column;align-items:stretch}.od-filter-bar,.od-filter-bar--wide,.od-table-actions--inline{grid-template-columns:1fr}.od-table th,.od-table td{padding:var(--od-space-md)}input,select,textarea{font-size:16px}}.od-mobile-only{display:none;gap:var(--od-space-md)}@media(max-width:600px){.od-desktop-only{display:none}.od-mobile-only{display:grid!important}}@media(max-width:480px){.od-filter-bar,.od-filter-bar--wide{grid-template-columns:1fr}}.od-mobile-shift-card{display:grid;gap:var(--od-space-sm);padding:var(--od-space-md) var(--od-space-lg);border-bottom:1px solid var(--od-border)}.od-mobile-shift-row{display:flex;align-items:center;gap:var(--od-space-md);flex-wrap:wrap;font-size:.85rem}.od-mobile-shift-actions{display:flex;gap:var(--od-space-sm)}.od-skip-link{position:absolute;top:-100%;left:16px;z-index:100;padding:var(--od-space-sm) var(--od-space-lg);border-radius:var(--od-radius-full);background:linear-gradient(180deg,#60a5fa,#2563eb);color:#eff6ff;font-weight:700;text-decoration:none;opacity:0;transition:top .2s ease,opacity .2s ease}.od-skip-link:focus-visible{top:12px;opacity:1}:is(button,a,[role=button],select,.od-topnav-link,.od-filter-chip,.od-btn-primary,.od-btn-quiet,.od-btn-danger,.od-expand-toggle,.od-status-pill,.od-badge,.od-user-pill,.od-inline-pill,.primary-button,.ghost-button):focus-visible{outline:2px solid var(--od-blue);outline-offset:2px}:is(.od-btn-primary,.od-btn-quiet,.od-btn-danger,.primary-button,.ghost-button,.od-expand-toggle):active{transform:scale(.97)}:is(.od-topnav-link,.od-filter-chip,.od-inline-pill,.od-user-pill,.od-badge):active{opacity:.8}.od-btn-primary:active,.primary-button:active{transform:scale(.97) translateY(0)}[aria-current=page].od-topnav-link{background:#7dd3fc1f;border-color:#7dd3fc47;color:var(--od-text)}.od-table tbody tr{transition:background .16s ease}.od-table tbody tr:hover{background:#ffffff05}.od-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.od-master-detail{display:grid;grid-template-columns:260px 1fr;gap:var(--od-space-xl);align-items:start}.od-employee-nav{display:grid;gap:2px;position:sticky;top:80px}.od-employee-nav-item{display:flex;align-items:center;gap:var(--od-space-sm);padding:var(--od-space-sm) var(--od-space-md);background:none;border:none;border-radius:var(--od-radius-sm);color:var(--od-muted);cursor:pointer;text-align:left;font:inherit;transition:background .12s ease}.od-employee-nav-item:hover{background:#ffffff0a;color:var(--od-text)}.od-employee-nav-item--active{background:#7dd3fc1a;color:var(--od-text);border:1px solid rgba(125,211,252,.2)}.od-employee-nav-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.od-employee-nav-count{font-family:var(--od-mono);font-size:12px;color:var(--od-muted-2)}.od-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.od-dot--success{background:var(--od-success)}.od-dot--warning{background:var(--od-amber)}.od-dot--muted{background:var(--od-muted-2)}.od-dot--info{background:var(--od-blue)}.od-filter-row{display:flex;flex-wrap:wrap;align-items:end;gap:var(--od-space-lg)}.od-employee-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--od-space-md);flex-wrap:wrap}.od-date-filter-row{display:flex;align-items:center;gap:var(--od-space-xs)}.od-input-mini{padding:2px var(--od-space-sm);font-size:12px;border:1px solid var(--od-border);border-radius:var(--od-space-sm);background:#acb9cd0f;color:var(--od-text);width:auto}.od-input-mini:focus{outline:1px solid rgba(125,211,252,.4);border-color:#7dd3fc66}.od-btn-mini{padding:2px var(--od-space-sm);font-size:12px;line-height:1;min-height:22px;border:1px solid var(--od-border);border-radius:var(--od-space-sm);background:#ffffff08;color:var(--od-text);cursor:pointer;transition:background .12s ease}.od-btn-mini:hover{background:var(--od-pill-hover-bg)}.od-btn-mini--active{background:#7dd3fc1f;border-color:#7dd3fc47}.od-btn-mini--success{color:var(--od-success);border-color:var(--od-success-border)}.od-btn-mini--success:hover{background:var(--od-success-bg)}.od-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--od-space-xs);background:none;color:var(--od-muted-2);cursor:pointer;transition:color .12s ease,background .12s ease}.od-btn-icon:hover{color:var(--od-text);background:#ffffff0f}.od-btn-icon--danger:hover{color:var(--od-error);background:var(--od-error-bg)}.od-btn-icon:disabled{opacity:.4;cursor:not-allowed}.od-employee-nav-btn{display:flex;align-items:center;gap:var(--od-space-sm);flex:1;background:none;border:none;color:inherit;cursor:pointer;font:inherit;text-align:left;padding:0}.od-btn-mini:disabled{opacity:.5;cursor:not-allowed}.od-employee-name{margin:0;font-size:20px;font-weight:700;line-height:1.2}.od-tag{display:inline-flex;align-items:center;padding:2px var(--od-space-sm);border-radius:var(--od-space-sm);border:1px solid var(--od-border);font-size:12px;line-height:1;min-height:22px;color:var(--od-muted);background:var(--od-pill-bg)}.od-tag--success{color:var(--od-success);background:var(--od-success-bg);border-color:var(--od-success-border)}.od-tag--warning{color:#fef3c7;background:var(--od-warning-bg);border-color:var(--od-warning-border)}.od-tag--danger{color:var(--od-error);background:var(--od-error-bg);border-color:var(--od-error-border)}.od-employee-detail{display:grid;gap:var(--od-space-lg)}.od-employee-profile{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--od-space-lg)}.od-employee-profile-meta{display:flex;gap:var(--od-space-xl);color:var(--od-muted);font-size:.85rem}@media(max-width:720px){.od-master-detail{grid-template-columns:1fr}.od-employee-nav{position:static;display:flex;flex-wrap:wrap;gap:var(--od-space-xs)}.od-employee-profile{flex-direction:column}.od-employee-profile-meta{flex-wrap:wrap;gap:var(--od-space-md)}}.od-input--compact{padding:var(--od-space-xs) var(--od-space-sm);font-size:13px;min-width:80px}.od-shift-actions-cell{display:flex;gap:var(--od-space-xs);align-items:center}.od-icon-inline{display:inline-block;vertical-align:middle;transform:translateY(-.5px)}.od-chevron-toggle{transition:transform .2s var(--od-ease-out)}.od-chevron-toggle--open{transform:translateY(-.5px) rotate(180deg)}:root{--od-ease-out: cubic-bezier(.16, 1, .3, 1);--od-ease-in: cubic-bezier(.5, 0, 1, .5)}@keyframes od-pulse{0%,to{opacity:.3}50%{opacity:.6}}@keyframes od-fade-in{0%{opacity:0}to{opacity:1}}@keyframes od-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.od-skeleton{background:var(--od-border);animation:od-pulse 1.8s ease-in-out infinite}.od-fade-in{animation:od-fade-in .2s var(--od-ease-out) both}.od-slide-up{animation:od-slide-up .28s var(--od-ease-out) both}.od-stagger>*{animation-delay:calc(var(--stagger-i, 0) * 40ms)}.od-empty-state-designed{display:grid;place-items:center;gap:var(--od-space-md);min-height:160px;padding:var(--od-space-2xl) var(--od-space-xl);border-radius:var(--od-radius-lg);border:1px solid var(--od-border);background:#ffffff05;text-align:center}.od-empty-state-designed .od-empty-headline{margin:0;font-size:1.1rem;font-weight:600;color:var(--od-text)}.od-empty-state-designed .od-empty-hint{margin:0;color:var(--od-muted);font-size:.85rem}.od-offline-banner{padding:var(--od-space-sm) var(--od-space-lg);background:var(--od-warning-bg);border:1px solid var(--od-warning-border);border-radius:var(--od-radius-md);color:#fef3c7;text-align:center;font-size:.85rem;animation:od-fade-in .2s var(--od-ease-out) both}@keyframes od-fade-out{0%{opacity:1}to{opacity:0}}.od-fade-out{animation:od-fade-out .15s var(--od-ease-in) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
