@import "https://fonts.googleapis.com/css2?family=Inter+Tight:wght@300;400&family=Space+Grotesk:wght@300;700&display=swap";
:root{--pink-50:#fff0f6;--pink-100:#ffdceb;--pink-200:#ffb3d3;--pink-300:#ff80b5;--pink-400:#ff4d9b;--pink-500:#ff1981;--pink-600:#e5006f;--pink-700:#c2005e;--pink-800:#8f0045;--pink-900:#4d0026;--slate-50:#f6f6f8;--slate-100:#eeedf1;--slate-200:#e0dfe6;--slate-300:#c7c6d1;--slate-400:#9c9baf;--slate-500:#6e6f88;--slate-600:#4a4b68;--slate-700:#35364d;--slate-800:#23232f;--slate-900:#1a1a1f;--slate-950:#111016;--white:#fff;--green-600:#1c8a57;--green-100:#ddf3e7;--amber-600:#b87400;--amber-100:#fcefd2;--red-600:#cf2e36;--red-100:#fbe1e2;--blue-600:#3552c8;--blue-100:#e1e7fb;--bg:#fff;--bg-sunken:#f7f8fb;--surface:#fff;--surface-inverse:var(--slate-900);--surface-inverse-hover:var(--slate-700);--text:var(--slate-900);--text-2:var(--slate-600);--text-3:var(--slate-500);--text-inverse:#fff;--text-on-accent:#fff;--accent:var(--pink-600);--accent-hover:var(--pink-700);--accent-text:var(--pink-700);--border:#e6e7ee;--border-strong:var(--slate-300);--focus-ring:var(--pink-400);--success:var(--green-600);--success-soft:var(--green-100);--warning:var(--amber-600);--warning-soft:var(--amber-100);--danger:var(--red-600);--danger-soft:var(--red-100);--info:var(--blue-600);--info-soft:var(--blue-100);--link:var(--accent);--link-hover:var(--text);--font:"Inter Tight",system-ui,-apple-system,sans-serif;--font-logo:"Space Grotesk","Helvetica Neue",Arial,sans-serif;--fs-h1:clamp(38px,5vw,56px);--fs-h2:clamp(30px,3.4vw,40px);--fs-h3:20px;--fs-lead:20px;--fs-body:17px;--fs-small:15px;--fs-caption:13px;--fs-overline:14px;--lh-h1:1.04;--lh-h2:1.1;--lh-h3:1.3;--lh-lead:1.5;--lh-body:1.6;--tracking-h1:-.025em;--tracking-h2:-.02em;--tracking-h3:-.01em;--fw-light:300;--fw-regular:400;--fw-heading:300;--fw-ui:400;--fw-num:300;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--container:1200px;--container-narrow:760px;--gutter:clamp(20px,4vw,40px);--section-y:clamp(64px,8vw,96px);--grid-gap:32px;--radius:4px;--focus:0 0 0 2px var(--bg),0 0 0 4px var(--pink-400);--ease-out:cubic-bezier(.2,.8,.2,1);--dur:.2s;--dur-slow:.36s}[data-theme=dark]{--bg:var(--slate-950);--bg-sunken:#17161e;--surface:#1c1b24;--surface-inverse:#f4f2f5;--surface-inverse-hover:var(--slate-300);--text:#f4f2f5;--text-2:#b9b8c8;--text-3:#8e8da2;--text-inverse:var(--slate-900);--accent:var(--pink-500);--accent-hover:var(--pink-400);--accent-text:var(--pink-300);--border:#2a2933;--border-strong:#403f4f;--success-soft:#133524;--warning-soft:#3a2a08;--danger-soft:#3d1416;--info-soft:#18214a}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font);font-weight:var(--fw-regular);font-size:var(--fs-body);line-height:var(--lh-body);font-feature-settings:"tnum" on;-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--font);font-weight:var(--fw-heading);color:var(--text);text-wrap:balance;margin:0}h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--tracking-h1)}h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--tracking-h2)}h3,h4{font-size:var(--fs-h3);font-weight:var(--fw-regular);line-height:var(--lh-h3);letter-spacing:var(--tracking-h3)}strong,b{font-weight:var(--fw-regular);color:var(--text)}p{text-wrap:pretty;color:var(--text-2);margin:0}.lead{font-size:var(--fs-lead);font-weight:var(--fw-light);line-height:var(--lh-lead);color:var(--text-2)}.overline{font-size:var(--fs-overline);color:var(--text-3);line-height:1.4}small,.caption{font-size:var(--fs-caption);color:var(--text-3)}a{color:var(--link);text-underline-offset:3px;transition:color var(--dur) var(--ease-out);text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--link-hover)}::selection{background:var(--pink-100);color:var(--slate-900)}:focus-visible{box-shadow:var(--focus);border-radius:var(--radius);outline:none}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}}
.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.nav{background:var(--bg-sunken);border-right:1px solid var(--border);padding:var(--sp-6) var(--sp-4);gap:var(--sp-6);flex-direction:column;display:flex}.brand,.nav .brand{align-items:center;gap:var(--sp-2);color:var(--text);font-family:var(--font-logo);font-size:22px;font-weight:300;text-decoration:none;display:flex}.brand img{flex:none;width:24px;height:24px;display:block}.nav-tenant{font-size:var(--fs-caption);color:var(--text-3);margin-top:calc(-1 * var(--sp-4));padding-left:32px}.nav ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav a{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);color:var(--text-2);font-size:var(--fs-small);transition:color var(--dur) var(--ease-out), background-color var(--dur) var(--ease-out);border:1px solid #0000;text-decoration:none;display:block}.nav .brand{border:0;padding:0;font-size:22px}.nav .brand:hover{background:0 0}.nav a:hover{color:var(--text);background:var(--bg)}.nav a[aria-current=page]{color:var(--text);background:var(--bg);border-color:var(--border)}.nav-foot{gap:var(--sp-2);font-size:var(--fs-caption);color:var(--text-3);flex-direction:column;margin-top:auto;display:flex}.main{padding:var(--sp-10) var(--gutter) var(--sp-16);width:100%;min-width:0;max-width:1080px}@media (max-width:760px){.shell{grid-template-columns:1fr}.nav{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.nav ul{flex-flow:wrap}}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-6);margin-bottom:var(--sp-8);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--tracking-h2)}.page-head p{margin-top:var(--sp-2)}.page-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.section{margin-top:var(--sp-12)}.section>h2{font-size:var(--fs-h3);font-weight:var(--fw-regular);letter-spacing:var(--tracking-h3);margin-bottom:var(--sp-2)}.section>p{margin-bottom:var(--sp-4);font-size:var(--fs-small)}.back{margin-bottom:var(--sp-4);font-size:var(--fs-small);display:inline-block}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:40px;padding:0 var(--sp-4);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font:inherit;font-size:var(--fs-small);font-weight:var(--fw-ui);cursor:pointer;white-space:nowrap;transition:color var(--dur) var(--ease-out), background-color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--text);color:var(--text)}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-on-accent)}.btn-ghost{color:var(--accent-text);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--text);border-color:#0000}.btn-danger{color:var(--danger);background:0 0;border-color:#0000}.btn-danger:hover{border-color:var(--danger);color:var(--danger)}.btn-sm{height:32px;padding:0 var(--sp-3);font-size:var(--fs-caption)}.panel{border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-8);background:var(--surface)}.panel+.panel{margin-top:var(--sp-6)}.form{gap:var(--sp-5);display:grid}.grid-2{gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.grid-3{gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.field{align-content:start;gap:6px;display:grid}.field>span,.label{font-size:var(--fs-small);color:var(--text-2)}.field small{font-size:var(--fs-caption);color:var(--text-3)}.input,.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;min-height:40px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;font-size:var(--fs-small);font-feature-settings:"tnum" on;transition:border-color var(--dur) var(--ease-out)}.field textarea{resize:vertical;min-height:96px}.input:hover,.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--text-3)}.input:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--text);box-shadow:var(--focus);outline:none}.check{align-items:center;gap:var(--sp-2);font-size:var(--fs-small);color:var(--text-2);cursor:pointer;display:inline-flex}.check input{accent-color:var(--accent);width:16px;height:16px}.form-actions{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.inline-form{gap:var(--sp-2);flex-wrap:wrap;align-items:end;display:flex}.inline-form .field{flex:160px}fieldset{border:0;min-width:0;margin:0;padding:0}legend{font-size:var(--fs-small);color:var(--text-2);margin-bottom:var(--sp-2);padding:0}.flash{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);margin-bottom:var(--sp-6);font-size:var(--fs-small);border:1px solid}.flash-error{background:var(--danger-soft);border-color:var(--danger);color:var(--text)}.flash-ok{background:var(--success-soft);border-color:var(--success);color:var(--text)}.form-error{margin-bottom:var(--sp-3);flex-basis:100%}.rows{border-bottom:1px solid var(--border);margin:0;padding:0;list-style:none}.rows>li{align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.rows .grow{flex:240px;min-width:0}.rows .meta{font-size:var(--fs-caption);color:var(--text-3)}.row-title{color:var(--text);text-decoration:none}a.row-title:hover{color:var(--accent-text)}.table{border-collapse:collapse;width:100%;font-size:var(--fs-small)}.table th{text-align:left;font-weight:var(--fw-regular);color:var(--text-3);font-size:var(--fs-caption);padding:var(--sp-2) var(--sp-3) var(--sp-2) 0}.table td{border-top:1px solid var(--border);padding:var(--sp-3) var(--sp-3) var(--sp-3) 0;vertical-align:middle}.table tr:last-child td{border-bottom:1px solid var(--border)}.table .num{text-align:right}.table-wrap{overflow-x:auto}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-3)}.band{background:var(--bg-sunken);border-radius:var(--radius);padding:var(--sp-6)}.band+.band{margin-top:var(--sp-4)}.tabs{gap:var(--sp-1);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.tabs a{padding:6px var(--sp-3);border-radius:var(--radius);font-size:var(--fs-small);color:var(--text-2);transition:color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);border:1px solid #0000;text-decoration:none}.tabs a:hover{color:var(--text)}.tabs a[aria-current=true]{color:var(--text);border-color:var(--border-strong)}.badge{padding:2px var(--sp-2);border-radius:var(--radius);font-size:var(--fs-caption);border:1px solid var(--border);color:var(--text-2);background:var(--bg);white-space:nowrap;line-height:1.5;display:inline-block}.badge-approved{background:var(--success-soft);color:var(--success);border-color:#0000}.badge-pending{background:var(--warning-soft);color:var(--warning);border-color:#0000}.badge-rejected{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge-done{background:var(--info-soft);color:var(--info);border-color:#0000}.badge-cancelled{color:var(--text-3)}[data-theme=dark] .badge-approved,[data-theme=dark] .badge-pending,[data-theme=dark] .badge-rejected,[data-theme=dark] .badge-done{color:var(--text)}.empty{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:var(--sp-10) var(--sp-8);text-align:center;gap:var(--sp-3);justify-items:center;display:grid}.empty-title{color:var(--text)}.code{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);white-space:pre-wrap;word-break:break-all;color:var(--text);resize:vertical;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6;display:block}.auth{min-height:100vh;padding:var(--sp-8) var(--gutter);background:var(--bg-sunken);place-items:center;display:grid}.auth-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;max-width:400px;padding:var(--sp-10);gap:var(--sp-6);display:grid}.auth-card h1{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--tracking-h2)}.landing{max-width:var(--container-narrow);padding:var(--section-y) var(--gutter);gap:var(--sp-8);margin:0 auto;display:grid}.landing .lead{max-width:560px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.input.input-sm{height:32px;min-height:32px;padding:0 var(--sp-2);font-size:var(--fs-caption);width:auto}.pager{align-items:center;gap:var(--sp-2);margin-top:var(--sp-6);display:flex}.pager .muted{margin-right:auto}.dl{gap:var(--sp-3) var(--sp-6);font-size:var(--fs-small);grid-template-columns:max-content 1fr;margin:0;display:grid}.dl dt{color:var(--text-3)}.dl dd{margin:0}.table.totals{max-width:420px}.table.totals tr:last-child td{color:var(--text)}.table tfoot td{border-top:1px solid var(--border-strong);padding:var(--sp-3) var(--sp-3) var(--sp-3) 0}.field>label{font-size:var(--fs-small);color:var(--text-2)}.field .field-error{color:var(--danger)}.code-input{text-transform:uppercase}fieldset:disabled .check,fieldset:disabled .field{opacity:.7;cursor:default}.auto-status:has([name=auto_status_enabled]:not(:checked)) .auto-status-fields{display:none}.flash-warning{background:var(--warning-soft);border-color:var(--warning);color:var(--text);gap:var(--sp-1);display:grid}.badge-waitlisted{color:var(--text-2);border-style:dashed}
