:root{--bg:#f5f6f8;--panel:#fff;--border:#e3e6eb;--text:#1f2733;--muted:#6b7683;--accent:#2f6fed;--warn:#c0392b}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13px}.toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.toolbar h1{font-size:15px;margin:0;font-weight:600}.toolbar .spacer{flex:1 1}.toolbar button,.toolbar input,.toolbar select{font-size:13px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:#fff}.toolbar button{cursor:pointer}.toolbar button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.toolbar button:disabled{opacity:.5;cursor:default}.bulkbar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.bulkbar-label{font-size:12px;color:var(--muted);margin-right:4px}.bulkbar .spacer{flex:1 1}.filter-field{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.filter-field select{padding:3px 6px;max-width:220px}.bulkbar button,.filter-field select{font-size:12px;border:1px solid var(--border);border-radius:6px;background:#fff}.bulkbar button{padding:4px 10px;cursor:pointer}.bulkbar button:disabled{opacity:.5;cursor:default}.status{padding:6px 16px;font-size:12px;color:var(--muted)}.status.error{color:var(--warn)}.grid-wrap{padding:0 16px 16px}.legend{display:flex;gap:16px;padding:6px 16px;font-size:12px;color:var(--muted)}.legend .dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:middle}.whoami{font-size:12px;color:var(--muted);margin-right:4px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px 26px;width:340px;max-width:calc(100vw - 32px);box-shadow:0 12px 40px rgba(15,23,35,.12);display:flex;flex-direction:column;gap:12px}.login-card h1{font-size:18px;margin:0}.login-sub{margin:0}.login-card label,.login-sub{font-size:12px;color:var(--muted)}.login-card label{display:flex;flex-direction:column;gap:4px}.login-card input{font-size:14px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text)}.login-card button.primary{margin-top:6px;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:6px;padding:9px 14px;font-size:14px;cursor:pointer}.login-card button:disabled{opacity:.5;cursor:default}.login-err{font-size:12px;color:var(--warn)}.admin-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#fff;background:var(--accent);padding:2px 8px;border-radius:10px;margin-right:4px}.controls-pop-anchor{position:relative;display:inline-flex}.controls-pop-backdrop{position:fixed;inset:0;z-index:90}.controls-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:91;width:min(760px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 40px rgba(15,23,35,.18);overflow:hidden}.controls-scroll{max-height:min(60vh,440px);overflow:auto}.controls-head{display:flex;align-items:baseline;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border)}.controls-totals{font-size:12px;color:var(--muted)}.controls-table{width:100%;border-collapse:collapse;font-size:12px}.controls-table td,.controls-table th{padding:5px 10px;border-bottom:1px solid var(--border);text-align:left}.controls-table th{font-weight:600;color:var(--muted);background:#fafbfc}.controls-table td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.controls-table tr:last-child td{border-bottom:none}.controls-table .flags{display:flex;flex-wrap:wrap;gap:4px}.flag{display:inline-block;padding:1px 6px;border-radius:10px;background:#fdecea;color:var(--warn);font-size:11px;white-space:nowrap}.wage-opera-pop{width:min(880px,calc(100vw - 32px))}.wage-opera-actions{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.wage-opera-actions .spacer{flex:1 1}.wage-opera-msg{padding:6px 12px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border)}.wage-opera-msg.error{color:var(--warn)}.wage-opera-plan{padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px}.wage-opera-plan pre{margin:6px 0 0;max-height:180px;overflow:auto;background:#fafbfc;border:1px solid var(--border);border-radius:6px;padding:8px;font-size:11px}.wage-opera-empty{text-align:center;color:var(--muted);padding:16px}.tca-status{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;white-space:nowrap;text-transform:capitalize}.tca-auto{background:#e6f4ea;color:#1e7e34}.tca-approved{background:#e7f0fd;color:#1a56db}.tca-pending_review{background:#fff4d6;color:#8a6d00}.tca-blocked{background:#fdecea;color:var(--warn)}.tca-pushed{background:#eee;color:var(--muted)}.tca-actions{white-space:nowrap}button.mini{padding:2px 8px;font-size:11px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,35,.4);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px 22px;width:420px;max-width:calc(100vw - 32px);box-shadow:0 12px 40px rgba(15,23,35,.25)}.modal h2{font-size:15px;margin:0 0 8px}.modal-warn{margin:0 0 14px;font-size:12px;color:var(--warn)}.plan-summary{width:100%;border-collapse:collapse;font-size:13px}.plan-summary td{padding:5px 0;border-bottom:1px solid var(--border)}.plan-summary td:last-child{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.plan-summary tr.plan-warn-row td{color:var(--warn)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-actions button{font-size:13px;padding:7px 14px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.modal-actions button.danger{background:var(--warn);color:#fff;border-color:var(--warn)}.modal-actions button:disabled{opacity:.5;cursor:default}