:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182442;background:#f4f6fb;font-synthesis:none;--blue:#3559d6;--border:#e1e6f0;--muted:#64708a}
.app-footer{text-align:center;padding:0 16px 24px}.app-footer button{font-size:12px;color:#64708a}dialog li{margin:12px 0;line-height:1.6}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;border-radius:10px;padding:12px 18px;font-weight:650;background:var(--blue);color:#fff;min-height:44px}button:disabled{opacity:.55;cursor:wait}button:hover:not(:disabled){filter:brightness(.94)}button:focus-visible,a:focus-visible{outline:3px solid #96b1ff;outline-offset:3px}.secondary{color:#243b79;background:#edf1fc;border:1px solid #d6dff4}.text-button{background:transparent;color:var(--blue);padding:8px 12px}.danger{color:#a32b22;background:#fff4f2}
.topbar{background:#172554;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px max(22px,calc((100vw - 1176px)/2));min-height:80px}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:750;font-size:21px}.brand img{height:42px;width:42px;border-radius:10px}.brand small{display:block;font-size:10px;letter-spacing:2.8px;font-weight:550;color:#adbcf0}#account{display:flex;align-items:center;gap:14px;font-size:13px}#account .text-button{color:#d9e3ff}
main{max-width:1220px;margin:0 auto;padding:24px 22px 40px}.tabs{display:flex;gap:6px;align-items:center;padding-bottom:24px}.tabs button{background:transparent;color:#596785}.tabs .selected{background:#e2e9fc;color:#2144b5}.tabs .install-link{margin-left:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:4px 0 22px}h1{font-size:30px;line-height:1.2;letter-spacing:-.7px;margin:8px 0}h2{font-size:18px;margin:0 0 18px}h3{font-size:15px;margin-top:24px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.7px;color:#657393}.muted,.help,.footnote{color:var(--muted)}.help,.footnote{font-size:12px;line-height:1.65}.card{background:white;border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:20px}.auth{max-width:440px;margin:38px auto;box-shadow:0 14px 40px #243b7909}.auth h1{margin-top:14px}.auth p{line-height:1.6}.auth button[type=submit]{width:100%}.auth form{margin-top:24px}
label{display:grid;gap:7px;font-size:13px;font-weight:650;margin-bottom:16px}input,select,textarea{width:100%;border:1px solid #cfd7e5;background:#fff;border-radius:9px;padding:11px 12px;color:#182442;min-height:44px;max-width:100%;font-size:16px}input:focus,select:focus,textarea:focus{outline:3px solid #dfe7ff;border-color:#6b87e5}textarea{resize:vertical;word-break:break-all}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-error{color:#b42318;font-size:13px;line-height:1.5;min-height:0}.form-error:empty{display:none}.company-picker{min-width:210px;margin:0}.filters{display:flex;align-items:flex-end;gap:12px;margin-bottom:18px}.filters label{margin:0;max-width:190px}.filters button{margin-bottom:0}.sync-strip{background:#edf9f1;color:#246446;padding:12px 15px;border:1px solid #d2ebdb;border-radius:10px;font-size:13px;margin-bottom:20px;line-height:1.5}.sync-strip.stale{color:#805618;border-color:#f2e2ba;background:#fff9ed}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric{border:1px solid var(--border);border-radius:16px;background:#fff;padding:23px 22px;display:grid;gap:12px;min-width:0}.metric>span{font-size:13px;font-weight:600;color:#64708a}.metric strong{font-size:clamp(23px,2.5vw,32px);letter-spacing:-.7px;overflow-wrap:anywhere}.metric small{font-size:11px;color:#7b87a0}.primary-metric{background:#2345b7;color:#fff;border-color:#2345b7}.primary-metric>span,.primary-metric small{color:#d5dfff}.summary-line{display:flex;gap:32px;flex-wrap:wrap;font-size:12px;color:#63728c;margin:18px 3px 24px}.summary-line b{margin-left:6px;color:#253858}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.value-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #eef1f6;font-size:14px}.value-row:last-child{border-bottom:0}.value-row b{white-space:nowrap}.value-row span{overflow-wrap:anywhere}.value-row small,.manage-row small,td small{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:4px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-heading .muted{font-size:11px;margin-bottom:18px}
.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#73809a;padding:12px 9px;background:#f6f8fc}td{padding:15px 9px;border-bottom:1px solid #edf0f6;vertical-align:middle}.number{text-align:right;white-space:nowrap}.invoice-link{color:#244db8;background:transparent;padding:0;min-height:30px;text-align:left}.badge{display:inline-block;padding:4px 7px;border-radius:5px;background:#eef2fa;font-size:10px;white-space:nowrap}.empty{text-align:center;padding:35px 20px;line-height:1.7;color:#66748d}.empty h1{color:#23395e}.loading{padding:48px;text-align:center;color:#6b7790}.hour-row{display:grid;grid-template-columns:48px 1fr minmax(80px,auto);align-items:center;gap:12px;margin:12px 0;font-size:12px}.hour-row svg{width:100%;height:12px}.hour-row b{text-align:right}.manage-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #eef1f6;overflow-wrap:anywhere}.manage-row:last-child{border-bottom:0}.row-actions{display:flex;align-items:center;gap:6px}.manage-row button{font-size:12px;flex-shrink:0}
.notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:14px 20px;background:#173f2d;color:white;border-radius:12px;z-index:5;max-width:calc(100% - 32px);box-shadow:0 6px 25px #0002;font-size:14px}.notice.error{background:#8e281e}.hidden{display:none!important}dialog{border:1px solid var(--border);border-radius:18px;width:min(92vw,550px);max-height:90dvh;padding:28px;color:#182442}dialog::backdrop{background:#11204080}dialog #close-detail{margin-top:24px;width:100%}dialog hr{border:0;border-top:1px solid var(--border)}
@media(max-width:760px){main{padding:18px 14px 30px}.topbar{padding:13px 16px}.brand{font-size:18px}.brand img{height:36px;width:36px}#account{gap:3px}#account>span{max-width:90px;overflow:hidden;text-overflow:ellipsis}.tabs{padding-bottom:18px;gap:2px}.tabs button{font-size:12px;padding:10px}.page-heading{align-items:flex-start;flex-direction:column;gap:13px}h1{font-size:26px}.company-picker{width:100%}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:18px 15px;gap:10px}.metric strong{font-size:24px}.two-columns{grid-template-columns:1fr;gap:0}.card{padding:20px 16px}.filters{gap:8px;flex-wrap:wrap}.filters label{flex:1;max-width:none;min-width:130px}.filters button{font-size:12px}.summary-line{gap:12px;justify-content:space-between;font-size:11px}.summary-line b{display:block;margin:3px 0}.section-heading{align-items:flex-start}.manage-row{flex-wrap:wrap;gap:10px}.row-actions{flex-wrap:wrap}.invoices{padding:20px 12px}.auth{margin:24px auto}th,td{padding-left:7px;padding-right:7px}.hour-row{grid-template-columns:42px 1fr 90px;gap:8px}.footnote{font-size:11px}}
