:root{color-scheme:light;--bg: #f3f5f8;--surface: #ffffff;--surface-sunk: #f7f8fa;--text: #1b2430;--muted: #566070;--faint: #7b8492;--border: #e1e5eb;--border-strong: #c6cdd6;--brand: #1a3a5c;--brand-hover: #234d78;--on-brand: #ffffff;--topbar: #1a3a5c;--error-bg: #fbe5e7;--error-text: #7d1a24;--error-edge: #c9404f;--warn-bg: #fff4d4;--warn-text: #5e4500;--warn-edge: #d9a400;--ok-bg: #dcf1e5;--ok-text: #14512c;--ok-edge: #2f9a5a;--radius: 10px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #11161d;--surface: #1a212b;--surface-sunk: #151b23;--text: #e6eaf0;--muted: #a5afbd;--faint: #8892a0;--border: #2b3441;--border-strong: #3c4757;--brand: #6ea8e0;--brand-hover: #8dbbe8;--on-brand: #0d1722;--topbar: #0c1219;--error-bg: #3a1d22;--error-text: #ffc9cf;--error-edge: #e0606e;--warn-bg: #3a3014;--warn-text: #fbe3a0;--warn-edge: #d9a400;--ok-bg: #173325;--ok-text: #b9ebcd;--ok-edge: #4cc07c;--shadow: none}}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}h2{font-size:1.25rem;line-height:1.3}h3{font-size:1.1rem;line-height:1.3}h4{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.topbar{background:var(--topbar);color:#fff}.topbar-inner{max-width:760px;margin:0 auto;padding:.6rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{margin:0;font-size:1.1rem;font-weight:650;letter-spacing:.01em;display:flex;align-items:center;gap:.6rem}.brand-mark{width:1.75rem;height:1.75rem;border-radius:7px;box-shadow:0 0 0 1px #ffffff47}.topbar-brand{display:flex;align-items:center;gap:.85rem;min-width:0}.tenant-chip{display:flex;align-items:center;gap:.55rem;padding-left:.85rem;border-left:1px solid rgba(255,255,255,.3);min-width:0}.tenant-logo{width:2rem;height:2rem;border-radius:6px;object-fit:contain;flex:none}.tenant-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:560px){.topbar-email{display:none}}.topbar-user{display:flex;align-items:center;gap:.75rem;font-size:.9rem;min-width:0}.topbar-email{opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{max-width:760px;margin:1.5rem auto 3rem;padding:0 1rem;display:grid;gap:1rem}.stack{display:grid;gap:1rem}.card{display:grid;gap:.85rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;min-width:0}.card .card{background:transparent;border:none;border-top:1px solid var(--border);border-radius:0;box-shadow:none;padding:1rem 0 0}.card>div:has(>h4:first-child){border-top:1px solid var(--border);padding-top:.9rem}.auth-card{width:100%;max-width:400px;margin:2.5rem auto 0;box-sizing:border-box}.auth-card form{max-width:none!important}.subcard{display:grid;gap:.4rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunk);padding:.75rem}.logo-preview{width:3rem;height:3rem;object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunk)}.file-button{display:inline-flex;align-items:center;min-height:2.75rem;padding:.25rem .7rem;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font-size:1rem;font-weight:500;cursor:pointer}.file-button:hover{background:var(--surface-sunk)}.file-button:focus-within{outline:3px solid var(--brand);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{margin:0;color:var(--muted)}.hours-total{color:var(--text);font-size:1.05rem}.statement{margin:0;font-style:italic;background:var(--surface-sunk);border-left:3px solid var(--brand);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:.6rem .9rem}.banner{margin:0;padding:.6rem .9rem;border-radius:var(--radius-sm);border-left:4px solid}.banner-error{background:var(--error-bg);color:var(--error-text);border-left-color:var(--error-edge)}.banner-warn{background:var(--warn-bg);color:var(--warn-text);border-left-color:var(--warn-edge)}.banner-ok{background:var(--ok-bg);color:var(--ok-text);border-left-color:var(--ok-edge)}input:not([type=checkbox]):not([type=radio]),select,textarea,button{font:inherit;font-size:1rem;min-height:2.75rem;padding:.25rem .7rem;box-sizing:border-box;border-radius:var(--radius-sm)}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;vertical-align:middle;accent-color:var(--brand)}label{font-size:.9rem;font-weight:500}button{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);font-weight:500;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}button:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--faint)}button.primary,button[type=submit]{background:var(--brand);border-color:var(--brand);color:var(--on-brand);font-weight:600}button.primary:hover:not(:disabled),button[type=submit]:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;color:#fff;border-color:#ffffff73;min-height:2.5rem}button.ghost:hover:not(:disabled){background:#ffffff1f;border-color:#fff}button.link-button{background:none;border:none;color:var(--brand);text-decoration:underline;justify-self:start;padding:0;font-weight:400}button.link-button:hover:not(:disabled){background:none}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.topbar :focus-visible{outline-color:#fff}.entry-list{list-style:none;padding:0;margin:0;display:grid;border-top:1px solid var(--border)}.entry-list>li{display:grid;gap:.4rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.data-table{border-collapse:collapse;width:100%;font-size:.9rem;font-variant-numeric:tabular-nums}.data-table th{background:var(--surface-sunk);color:var(--muted);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{border-bottom:1px solid var(--border)}.data-table tr:last-child td{border-bottom:none}
