:root{--bg:#f5f4f0;--card:#fff;--text:#2f3437;--text-secondary:#747a7d;--soft-green:#ddefe3;--green-text:#376b4b;--soft-amber:#fff0cf;--amber-text:#8a6418;--border:#e4e2db;--header-height:56px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.4}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1b1d1e;--card:#252728;--text:#e8e6e1;--text-secondary:#9a9ea1;--soft-green:#2a3d32;--green-text:#8fbf9a;--soft-amber:#3a3220;--amber-text:#d4b06a;--border:#343637}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1{margin:0}.app{min-height:100svh}.header{min-height:var(--header-height);background:var(--card);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;padding:10px 28px;display:flex}.header-left{align-items:baseline;gap:28px;min-width:0;display:flex}.header-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}.sign-out,.download-csv{color:var(--text-secondary);font-size:13px}.download-csv:disabled{opacity:.5;cursor:not-allowed}.csv-export{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.csv-export .export-error{flex-basis:100%;margin:0}.timeframe{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.timeframe-label{color:var(--text-secondary);font-size:13px}.timeframe-picker{position:relative}.timeframe-toggle{color:var(--text);border:1px solid var(--border);background:var(--bg);border-radius:4px;padding:4px 8px;font-size:13px}.timeframe-menu{z-index:20;background:var(--card);border:1px solid var(--border);border-radius:4px;min-width:max(100%,140px);margin:0;padding:4px 0;list-style:none;position:absolute;bottom:calc(100% + 4px);left:0}.timeframe-option{width:100%;color:var(--text);text-align:left;white-space:nowrap;padding:6px 12px;font-size:13px;display:block}.timeframe-option.is-selected,.timeframe-option:hover{background:var(--bg)}.timeframe-option.is-selected{font-weight:600}.timeframe-custom{align-items:center;gap:10px;display:flex}.timeframe-date{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.timeframe-date input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:13px}.export-error{color:var(--amber-text);margin:0;font-size:13px}.product-name{letter-spacing:-.01em;white-space:nowrap;font-size:16px;font-weight:600}.nav{align-items:baseline;gap:10px;display:flex}.nav-link{color:var(--text-secondary)}.nav-link[aria-current=page]{color:var(--text);font-weight:600}.nav-sep{color:var(--text-secondary)}.live-status{color:var(--green-text);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:500;display:flex}.live-status.is-offline{color:var(--text-secondary)}.live-dot{background:var(--green-text);border-radius:50%;width:7px;height:7px}.live-status.is-offline .live-dot{background:var(--text-secondary)}.main{max-width:1080px;margin:0 auto;padding:28px}.loading-copy{color:var(--text-secondary);margin:0}.error-panel{padding:20px 24px}.error-panel h2{margin:0 0 8px;font-size:16px;font-weight:600}.error-panel p{color:var(--text-secondary);margin:0}.error-panel .error-detail,.auth-card .error-detail{word-break:break-word;color:var(--text-secondary);margin-top:12px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.panel{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 14px}.data-table thead th{color:var(--text-secondary);font-size:12px;font-weight:500}.data-table tbody th{font-weight:600}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}.row-clocked-in{background:var(--soft-green)}.status-in{color:var(--green-text);font-weight:500}.status-out,.muted{color:var(--text-secondary)}.tabular{font-variant-numeric:tabular-nums}.premium{color:var(--amber-text);font-size:13px}.premium-sub{color:var(--amber-text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px;display:block}.week-table th,.week-table td{white-space:nowrap}.week-table thead th:not(:first-child),.week-table tbody td{text-align:right}.auth-screen{justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:8px;width:100%;max-width:360px;padding:28px 24px}.auth-card h1{letter-spacing:-.01em;font-size:18px;font-weight:600}.auth-subtitle{color:var(--text-secondary);margin:4px 0 0}.auth-copy{color:var(--text-secondary);margin:16px 0 0;font-size:14px}.auth-card form{margin-top:20px}.field{color:var(--text-secondary);flex-direction:column;gap:6px;margin:0 0 14px;font-size:13px;display:flex}.field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;width:100%;padding:10px 12px;font-size:15px}.field input:focus{outline:1px solid var(--green-text)}.remember-field{margin:0 0 14px;display:block}.remember-row{align-items:flex-start;gap:8px;display:flex}.remember-row input[type=checkbox]{width:auto;accent-color:var(--green-text);margin-top:3px}.remember-copy{color:var(--text);flex-direction:column;gap:2px;font-size:14px;display:flex}.remember-hint{color:var(--text-secondary);font-size:12px}.auth-error{color:var(--amber-text);margin:0 0 12px;font-size:13px}.auth-secret{background:var(--bg);border:1px solid var(--border);word-break:break-all;color:var(--text-secondary);border-radius:6px;margin:12px 0 0;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.4}.qr-wrap{justify-content:center;margin:16px 0 0;display:flex}.qr-wrap img{background:#fff;width:180px;height:180px}.btn-primary{background:var(--green-text);width:100%;color:var(--card);border-radius:6px;margin-top:4px;padding:10px 12px;font-weight:600}.auth-card>.btn-primary{margin-top:20px}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-text{width:100%;color:var(--text-secondary);margin-top:16px;font-size:13px;display:block}@media (width<=900px){.header{gap:16px;padding:0 16px}.header-left{gap:16px}.main{padding:16px}.data-table th,.data-table td{padding:9px 12px}}
