:root{--bg: #eef1f6;--bg-2: #e8ecf3;--surface: #ffffff;--surface-2: #f6f8fb;--surface-3: #eef1f6;--border: #e7eaf1;--border-2: #d9dfe9;--ring: #d5e2fd;--text: #131824;--text-2: #3f4757;--text-3: #6a7280;--text-4: #9aa2af;--brand: #2f6df6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-weak: #e9f0ff;--green: #147343;--green-bg: #e5f6ec;--red: #c02617;--red-bg: #fdecea;--amber: #96590a;--amber-bg: #fff3e1;--star: #f5a524;--violet:#6d28d9;--violet-bg:#f2ecfe;--info: #1d4ed8;--info-bg: #e9f0ff;--radius: 14px;--radius-md: 10px;--radius-sm: 8px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(19,24,36,.05);--shadow-sm: 0 1px 2px rgba(19,24,36,.05), 0 1px 3px rgba(19,24,36,.04);--shadow: 0 2px 6px rgba(19,24,36,.05), 0 8px 24px rgba(19,24,36,.06);--shadow-md: 0 8px 28px rgba(19,24,36,.1);--shadow-lg: 0 16px 40px rgba(19,24,36,.16);--focus: 0 0 0 3px rgba(47,109,246,.25);--topbar-h: 60px;--sidebar-w: 236px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.55;color:var(--text-2);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{color:var(--text);font-weight:700;letter-spacing:-.01em}h1{font-size:22px;margin:0 0 4px;letter-spacing:-.02em}h2{font-size:17px;margin:0}h3{font-size:15px;margin:0}a{color:var(--brand-700);text-decoration:none}::selection{background:#2f6df62e}*{scrollbar-width:thin;scrollbar-color:#c8cfdb transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#c8cfdb;border-radius:999px;border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#b2bbcb;background-clip:padding-box}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:9px 11px;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--text-4)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}input[type=checkbox],input[type=radio]{width:auto;padding:0;box-shadow:none;accent-color:var(--brand)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236a7280' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:30px}.primary,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-weight:600;line-height:1;padding:9px 15px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .04s ease}.primary{background:var(--brand);color:#fff;border:1px solid var(--brand);box-shadow:var(--shadow-xs)}.primary:hover{background:var(--brand-700);border-color:var(--brand-700)}.primary:active{transform:translateY(1px)}.primary:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.ghost{background:var(--surface);color:var(--text-2);border:1px solid var(--border-2);font-weight:550}.ghost:hover{background:var(--surface-2);border-color:var(--border-2);color:var(--text)}.ghost:disabled{opacity:.5;cursor:default}.link{background:none;border:0;padding:0;color:var(--brand-700);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.link:hover{text-decoration:underline}.link.danger,.danger{color:var(--red)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.muted{color:var(--text-3)}.small{font-size:12px}.sub{margin:2px 0 0;color:var(--text-3);font-size:13px}.hint{font-size:12px;color:var(--text-4)}.err{color:var(--red);font-size:13px}.ok{color:var(--green);font-size:13px}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;background:var(--surface-3);color:var(--text-2);border-radius:5px;padding:1.5px 6px}.tabs{display:flex;gap:6px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.tabs button{background:var(--surface);color:var(--text-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.tabs button:hover{background:var(--surface-2);border-color:var(--border-2)}.tabs button.sel{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:var(--shadow-xs)}.tablewrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;box-shadow:var(--shadow-sm)}.tablewrap table{width:100%;border-collapse:collapse;font-size:14px}.tablewrap th{text-align:left;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);padding:11px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}.tablewrap td{padding:12px 16px;color:var(--text-2);border-bottom:1px solid var(--surface-3)}.tablewrap tbody tr:last-child td{border-bottom:0}.tablewrap tbody tr{transition:background .12s ease}.tablewrap tbody tr:hover td{background:var(--surface-2)}.pill,.status,.badge{display:inline-block;line-height:1.6;border-radius:var(--radius-pill);padding:2px 10px;font-size:12px;font-weight:550;background:var(--surface-3);color:var(--text-2);text-transform:capitalize}.badge{text-transform:none}.pill.paid,.pill.active,.pill.published,.pill.installed,.pill.confirmed,.pill.booked,.pill.ok,.pill.completed,.pill.approved,.status.active{background:var(--green-bg);color:var(--green)}.pill.void,.pill.cancelled,.pill.failed,.pill.bad,.pill.overdue,.status.cancelled{background:var(--red-bg);color:var(--red)}.pill.partially_paid,.pill.trialing,.pill.pending,.pill.busy,.pill.running,.pill.waiting,.pill.past_due{background:var(--amber-bg);color:var(--amber)}.pill.sent{background:var(--info-bg);color:var(--info)}.starline{color:var(--star);letter-spacing:1px}
