:root{--bg:#050505;--card-bg:#101013;--text:#ece7db;--text-muted:#9a938a;--border:#d4af3729;--gold:#d4af37;--gold-bright:#f3dd8e;--gold-grad:linear-gradient(105deg, #8a6f23 0%, #d4af37 35%, #f3dd8e 50%, #d4af37 65%, #8a6f23 100%);--font-display:"Playfair Display", Georgia, serif;--font-body:"Inter", system-ui, sans-serif}*{box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}::selection{background:var(--gold);color:#050505}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.mark{background:var(--gold-grad);width:10px;height:10px;display:inline-block;transform:rotate(45deg)}.mark.big{width:16px;height:16px;margin-bottom:18px}.btn{background:var(--gold-grad);color:#050505;min-height:46px;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border:none;border-radius:2px;justify-content:center;align-items:center;padding:12px 28px;font-size:.85rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.6;cursor:wait}.auth-wrap{background:radial-gradient(ellipse at 50% 20%, #d4af3714, transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--card-bg);border:1px solid var(--border);border-top:2px solid var(--gold);border-radius:6px;flex-direction:column;gap:8px;width:min(400px,100%);padding:36px 32px;display:flex}.auth-logo{font-family:var(--font-display);letter-spacing:.05em;align-items:center;gap:10px;margin-bottom:10px;font-size:1.15rem;font-weight:700;display:flex}.auth-card h1{font-family:var(--font-display);letter-spacing:.03em;margin:0 0 4px;font-size:1.5rem}.auth-sub{color:var(--text-muted);margin:0 0 12px;font-size:.85rem}.auth-card label{text-transform:uppercase;letter-spacing:.16em;color:var(--gold);margin-top:8px;font-size:.7rem}.auth-card input{border:1px solid var(--border);color:var(--text);font-size:.95rem;font-family:var(--font-body);background:#0a0a0c;border-radius:3px;padding:12px 14px}.auth-card input:focus{border-color:var(--gold);outline:none}.auth-card .btn{margin-top:16px}.auth-error{color:#e5484d;margin:8px 0 0;font-size:.85rem}.loading{color:var(--text-muted)}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:#0a0a0c;flex-direction:column;flex-shrink:0;gap:20px;width:240px;padding:24px 16px;display:flex}.sidebar nav{flex-direction:column;flex:1;gap:4px;display:flex}.nav-item{color:var(--text-muted);font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:11px 14px;font-size:.9rem;transition:background .2s,color .2s;display:flex}.nav-item:hover{color:var(--gold-bright);background:#d4af370f}.nav-item.active{color:var(--gold);background:#d4af371a}.sidebar-foot{border-top:1px solid var(--border);padding-top:14px}.whoami{flex-direction:column;padding:0 14px 10px;display:flex}.whoami small{color:var(--text-muted)}.content{flex:1;padding:36px 40px}.content h1{font-family:var(--font-display);letter-spacing:.03em;margin:0 0 24px}.placeholder-card{border:1px solid var(--border);background:var(--card-bg);border-radius:6px;max-width:560px;padding:48px 40px}.placeholder-card h2{font-family:var(--font-display);margin:0 0 8px;font-size:1.2rem}.placeholder-card p{color:var(--text-muted);margin:0;font-size:.92rem}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:20px;display:grid}.tile{border:1px solid var(--border);background:var(--card-bg);border-radius:6px;flex-direction:column;gap:4px;padding:20px 22px;display:flex}.tile-value{font-family:var(--font-display);background:var(--gold-grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.1rem;line-height:1.15}.tile-value small{color:var(--text-muted);-webkit-text-fill-color:var(--text-muted);font-size:1.1rem}.tile-label{text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);font-size:.72rem}.tile-soon{opacity:.55}.card-panel{border:1px solid var(--border);background:var(--card-bg);border-radius:6px;max-width:720px;margin-bottom:20px;padding:22px 24px}.card-panel h2{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin:0 0 16px;font-size:.75rem;font-weight:600}.muted{color:var(--text-muted);font-size:.92rem}.gold{color:var(--gold-bright)}.chart svg{width:100%;height:auto;display:block}.chart-grid-label{fill:var(--text-muted);font-size:10px;font-family:var(--font-body)}.chart-x-label{fill:var(--text-muted);font-size:11px;font-family:var(--font-body)}.chart-value{fill:var(--gold-bright);font-size:12px;font-weight:600;font-family:var(--font-body)}.sr-only{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.present-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.present-list li{align-items:center;gap:10px;font-size:.95rem;display:flex}.present-list small{color:var(--text-muted)}.dot-on{background:var(--gold);border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #d4af37cc}.punch-card{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 12px 8px 0;font-size:.68rem;font-weight:600}.data-table td{border-bottom:1px solid #ece7db0d;padding:10px 12px 10px 0}.row-inactive td{opacity:.45}.badge{border:1px solid var(--border);letter-spacing:.04em;color:var(--text-muted);border-radius:999px;padding:3px 10px;font-size:.72rem;display:inline-block}.badge-on{color:var(--gold-bright);border-color:#d4af3773}.badge-off{color:#e5484d;border-color:#e5484d66}.badge-muted{opacity:.7}.btn-small{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;padding:6px 14px;font-size:.78rem;transition:color .2s,border-color .2s}.btn-small:hover{color:var(--gold-bright);border-color:var(--gold)}.user-form{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.fld{flex-direction:column;gap:6px;display:flex}.fld-full{grid-column:1/-1}.fld label{text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:.68rem}.fld input,.fld select{border:1px solid var(--border);color:var(--text);font-size:.92rem;font-family:var(--font-body);background:#0a0a0c;border-radius:3px;padding:11px 13px}.fld input:focus,.fld select:focus{border-color:var(--gold);outline:none}.block-note{margin-top:8px;display:block}@media (width<=560px){.user-form{grid-template-columns:1fr}}.inline-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inline-form input{border:1px solid var(--border);min-width:180px;color:var(--text);font-size:.92rem;font-family:var(--font-body);background:#0a0a0c;border-radius:3px;flex:1;padding:11px 13px}.inline-form input:focus{border-color:var(--gold);outline:none}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.select-slim{border:1px solid var(--border);color:var(--text);font-size:.82rem;font-family:var(--font-body);background:#0a0a0c;border-radius:3px;max-width:170px;padding:6px 10px}.select-slim:focus{border-color:var(--gold);outline:none}.report-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.report-head input[type=month]{border:1px solid var(--border);color:var(--text);font-family:var(--font-body);background:#0a0a0c;border-radius:3px;padding:10px 13px}.card-wide{max-width:980px}@media (width<=720px){.card-panel{overflow-x:auto}.shell{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:column;width:100%}.sidebar nav{flex-flow:wrap}.content{padding:24px 20px}}
