:root{--bg: #0f172a;--surface: #1e293b;--text: #f1f5f9;--muted: #94a3b8;--primary: #22c55e;--secondary: #f59e0b;--danger: #ef4444;--border: #334155;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.screen{min-height:100vh;max-width:480px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:16px}@media (min-width: 860px){.screen.wide{max-width:820px}}.center{justify-content:center;align-items:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;width:100%}h1{font-size:1.4rem;margin:0 0 4px}.muted{color:var(--muted)}.small{font-size:.85rem}label{display:block;margin:14px 0 6px;font-size:.9rem;color:var(--muted)}input,select{width:100%;padding:12px;border-radius:10px;border:1px solid var(--border);background:#0b1220;color:var(--text);font-size:1rem}input[type=checkbox]{width:auto}.header-actions{display:flex;gap:8px}.btn{border:none;border-radius:12px;padding:14px 18px;font-size:1rem;font-weight:600;cursor:pointer}.btn.primary{background:var(--primary);color:#062412}.btn.secondary{background:var(--secondary);color:#2b1900}.month-picker .btn.ghost{background:#32828f;border-color:#32828f}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn.meal{background:#6366f1;color:#eef0ff}.btn.logout{display:block;margin:0 auto;border:none;border-radius:999px;padding:10px 24px;font-size:.85rem;font-weight:600;color:#fff;background:#1e3a8a;cursor:pointer}.pending-banner{background:#6366f126;color:#a5a9ff;border:1px solid rgba(99,102,241,.35);border-radius:10px;padding:10px 14px;font-size:.85rem}.stale-warning{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.4);border-radius:10px;padding:10px 14px;font-size:.85rem;margin:0}.btn.big{padding:22px;font-size:1.1rem;border-radius:16px}.btn.small{padding:8px 12px;font-size:.85rem}.btn:disabled{opacity:.4;cursor:not-allowed}.error{color:var(--danger);font-size:.9rem}.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;background:#f4f6fb;color-scheme:light}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column}.login-logo{display:block;max-width:220px;margin:0 auto 20px}.login-title{margin:0 0 6px;font-size:1.7rem;font-weight:700;color:#1d4ed8;text-align:center}.login-subtitle{margin:0 0 24px;color:#64748b;text-align:center;font-size:.95rem}.login-label{display:block;margin:0 0 6px;font-size:.85rem;color:#475569}.login-input{width:100%;padding:14px 16px;border-radius:999px;border:1.5px solid #c7d2fe;background:#fff;color:#1e293b;font-size:1rem;margin-bottom:18px}.login-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.login-password-wrap{position:relative}.login-password-wrap .login-input{padding-right:46px}.login-password-toggle{position:absolute;right:14px;top:14px;background:none;border:none;padding:0;color:#94a3b8;cursor:pointer;display:flex}.login-error{color:var(--danger);font-size:.85rem;margin:-8px 0 14px}.login-submit{width:100%;border:none;border-radius:999px;padding:15px;margin-top:8px;font-size:1rem;font-weight:600;color:#fff;background:#1e3a8a;cursor:pointer}.login-submit:disabled{opacity:.5;cursor:not-allowed}.topbar{display:flex;align-items:center;justify-content:space-between}.app-topbar{background:#1e3a8a;color:#fff;padding:16px 20px;display:flex;align-items:center;gap:12px}.app-topbar-logo{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-topbar-logo img{width:100%;height:100%;object-fit:contain}.app-topbar-text{flex:1;min-width:0}.app-topbar-title{font-weight:700;font-size:1rem;line-height:1.2}.app-topbar-subtitle{font-size:.78rem;color:#ffffffbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar-actions{display:flex;gap:6px;flex-shrink:0}.app-topbar-actions .btn.ghost{border-color:#fff6;color:#fff;white-space:nowrap}.app-topbar-logout{background:transparent;border:none;padding:0;margin-top:2px;font-size:.78rem;color:#ffffffbf;text-decoration:underline;cursor:pointer}.app-menu{position:relative}.app-menu-trigger{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:10px;padding:6px 12px;font-size:1.1rem;line-height:1;cursor:pointer}.app-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:200px;padding:6px;box-shadow:0 10px 30px #00000059;z-index:50}.app-menu-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);padding:10px 12px;border-radius:8px;font-size:.9rem;cursor:pointer}.app-menu-item:hover{background:#ffffff14}@media (max-width: 420px){.app-topbar{flex-wrap:wrap}.app-topbar-actions{flex-basis:100%;justify-content:flex-end;margin-top:4px}}.actions-panel{background:#eef1f6;border-radius:16px;padding:14px;display:flex;flex-wrap:wrap;gap:12px}.action-tile{flex:1 1 calc(50% - 6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 10px;border:none;border-radius:14px;font-size:.88rem;font-weight:600;cursor:pointer;text-align:center}.action-tile svg{width:26px;height:26px}.action-tile:disabled{opacity:.45;cursor:not-allowed}.action-tile.drive{background:#cfe8ff;color:#0b4a8f}.action-tile.wait{background:#ffe8bf;color:#8a5a00}.action-tile.meal{background:#e6d9ff;color:#5b21b6}.action-tile.end{background:#d8dee8;color:#33404f}.home-light{background:#f4f6fb;color:#1e293b}.home-light .muted{color:#64748b}.home-light .status-card{background:#fff;border:1px solid #e2e8f0;color:#1e293b}.home-light .status-value{color:#0f172a}.home-light .pending-banner{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca}.home-light .stale-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.home-light .btn.ghost{color:#1e293b;border-color:#cbd5e1}.home-light .month-picker .btn.ghost{color:#fff;border-color:#32828f}.home-light .card{background:#fff;border:1px solid #e2e8f0;color:#1e293b}.home-light label{color:#475569}.home-light input,.home-light select{background:#fff;color:#1e293b;border:1px solid #cbd5e1}.home-light .month-grid-header{color:#64748b}.home-light .day-row-toggle{color:#1e293b}.home-light .day-row+.day-row{border-top:1px solid #e2e8f0}.home-light .day-row-icon{background:#eef1f6;border:1px solid #cbd5e1}.home-light .history-table th,.home-light .history-table td{border-bottom:1px solid #e2e8f0}.name{font-weight:600}.status-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;text-align:center}.meal-hint{margin-top:10px;color:#a5a9ff}.month-picker-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.month-picker-row input[type=month]{flex:1}.month-summary{border-top:1px solid var(--border);padding-top:12px}.month-total-value{font-size:1.15rem;font-weight:700;margin-top:4px}.status-value{font-size:1.6rem;font-weight:700;margin:6px 0}.month-grid{padding:8px 0}.month-grid-header{display:grid;grid-template-columns:28px 1fr auto auto auto;gap:8px;padding:4px 16px 8px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.month-grid-header span:nth-child(3),.month-grid-header span:nth-child(4),.month-grid-header span:nth-child(5){text-align:right}.day-row+.day-row{border-top:1px solid var(--border)}.day-row-toggle{display:grid;grid-template-columns:28px 1fr auto auto auto;gap:8px;align-items:center;width:100%;background:transparent;border:none;color:var(--text);padding:12px 16px;font-size:.9rem;text-align:left;cursor:pointer}.day-row-toggle:hover{background:#ffffff08}.day-row-toggle span:nth-child(3),.day-row-toggle span:nth-child(4),.day-row-toggle span:nth-child(5){text-align:right;font-variant-numeric:tabular-nums}.day-row-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--surface);border:1px solid var(--border);font-weight:700;text-align:center!important}.day-detail{padding:0 16px 16px}.actions{display:flex;flex-direction:column;gap:12px}.day-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.table-wrap{overflow-x:auto}.history-table{width:100%;border-collapse:collapse;font-size:.85rem}.history-table th{text-align:left;color:var(--muted);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;padding:6px 8px;border-bottom:1px solid var(--border)}.history-table td{padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}.history-table tfoot td{border-bottom:none;border-top:1px solid var(--border);font-weight:600;padding-top:10px}.tag{font-size:.75rem;padding:3px 8px;border-radius:999px;font-weight:600}.location-link{display:inline-block;font-size:1.1rem;text-decoration:none;padding:4px;background:none;border:none;cursor:pointer}.corrected-row td{background:#f59e0b14}.corrected-note-row td{padding-top:0;padding-bottom:8px;white-space:normal;border-bottom:1px solid var(--border)}.correction-badge{cursor:help}.superseded-row td{text-decoration:line-through;color:var(--muted)!important;opacity:.75}.superseded-row .location-link,.superseded-row .tag{text-decoration:none}.tag.drive_start{background:#22c55e33;color:var(--primary)}.tag.wait_start{background:#f59e0b33;color:var(--secondary)}.tag.shift_end{background:#94a3b833;color:var(--muted)}.tag.meal_start,.tag.meal_end{background:#6366f133;color:#a5a9ff}.report-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.compliance-card{display:flex;flex-direction:column;gap:18px}.compliance-disclaimer{font-size:.8rem;line-height:1.45;color:var(--muted);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:10px 12px}.compliance-section+.compliance-section{border-top:1px solid var(--border);padding-top:18px}.compliance-title{font-weight:600;font-size:.95rem;margin-bottom:8px}.compliance-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.compliance-list{margin:0;padding-left:18px;font-size:.85rem}.compliance-list li{margin-bottom:4px}.compliance-note{margin:0 0 10px;line-height:1.4}.min-rest-label{display:flex!important;align-items:center;gap:6px;margin:0!important;font-size:.8rem!important;color:var(--muted)!important;white-space:nowrap}.min-rest-input{width:56px;padding:4px 6px}.rest-gap-low td{color:var(--danger)!important;font-weight:600}.rest-gap-low-text{color:var(--danger);font-weight:600;font-size:.85rem}.annotations-card,.holidays-card{display:flex;flex-direction:column;gap:4px}.inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}.inline-form input,.inline-form select{width:auto;flex:1 1 140px}.inline-form .min-rest-label{flex:0 0 auto}.annotation-list li,.compliance-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.record-table{margin-top:8px}.record-table .record-type{font-weight:600}.record-table .record-note{white-space:normal;min-width:200px;width:100%}.record-table .record-actions{text-align:right;padding-top:4px;padding-bottom:4px}@media (max-width: 640px){.record-table thead{display:none}.record-table,.record-table tbody{display:block}.record-table tr{display:grid;grid-template-columns:1fr auto;column-gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}.home-light .record-table tr{border-bottom-color:#e2e8f0}.record-table td,.home-light .record-table td{grid-column:1;padding:1px 0;border-bottom:none;white-space:normal}.record-table td[data-label]:before{content:attr(data-label) ": ";color:var(--muted)}.record-table .record-note{min-width:0;width:auto}.record-table td.record-actions,.home-light .record-table td.record-actions{grid-column:2;grid-row:1 / span 4;align-self:center}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.icon-btn svg{width:18px;height:18px}.icon-btn.danger:hover,.icon-btn.danger:focus-visible{color:var(--danger);border-color:currentColor}.icon-btn.restore{color:var(--primary)}.icon-btn.restore:hover,.icon-btn.restore:focus-visible{border-color:currentColor}.record-voided .record-type,.record-voided td[data-label],.record-voided .record-note-text{text-decoration:line-through;color:var(--muted)}.history-table .rest-gap-reason{white-space:normal;min-width:180px}.gap-justification{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border);color:var(--text);font-weight:400}.home-light .gap-justification{border-top-color:#cbd5e1;color:#1e293b}.gap-justification-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.rest-gap-reason .btn{margin-top:6px}.record-history{margin-top:4px;font-size:.8rem;color:var(--muted)}.record-history summary{cursor:pointer}.record-history ul{margin:4px 0 0;padding-left:16px}.record-void-info{margin-top:2px;font-size:.8rem;font-style:italic;color:var(--danger)}.holiday-log{margin-top:10px}.holiday-log summary{cursor:pointer}.holiday-log .compliance-list{margin-top:8px}.print-only{display:none}@media print{.no-print{display:none!important}.print-only{display:block}body,.screen,.print-report{background:#fff!important;color:#000!important;max-width:none}.report-title{font-size:1.1rem;font-weight:700;margin-bottom:12px}.card,.month-grid{background:#fff!important;border-color:#999!important}.month-total-value,.day-row-toggle,.history-table th,.history-table td,.compliance-title,.compliance-list,.compliance-disclaimer,.compliance-note,.muted{color:#000!important}.compliance-disclaimer{background:none!important;border:1px solid #999!important}.rest-gap-low td{color:#000!important;font-weight:700}.history-table th,.history-table td,.day-row+.day-row{border-color:#999!important}.day-row-toggle{grid-template-columns:1fr auto auto auto}.tag{background:none!important;border:1px solid #999}.print-summary-table,.print-detail-table{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:.85rem}.print-summary-table th,.print-summary-table td,.print-detail-table th,.print-detail-table td{border:1px solid #999;padding:4px 8px;text-align:left}.print-detail-title{font-weight:700;margin:20px 0 8px}.print-totals-row td{font-weight:700}}
