:root{--bg:#f4f7fb;--bg-accent-a:#d2e7ff;--bg-accent-b:#ffe3c2;--surface:#fff;--surface-muted:#f7f9fc;--ink:#0f172a;--ink-soft:#334155;--ink-muted:#64748b;--line:#dbe4f0;--primary:#0f4c81;--primary-strong:#09345a;--accent:#f97316;--danger:#b91c1c;--success:#166534;--shadow-soft:0 10px 30px #09345a14;--shadow-card:0 14px 42px #0f172a14;--radius-sm:10px;--radius-md:14px;--radius-lg:22px;--container:1120px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:radial-gradient(circle at 12% 8%,var(--bg-accent-a)0%,transparent 32%),radial-gradient(circle at 88% 0%,var(--bg-accent-b)0%,transparent 30%),var(--bg);position:relative}body:before{content:"";pointer-events:none;z-index:-2;background-image:linear-gradient(#0f4c8108 1px,#0000 1px),linear-gradient(90deg,#0f4c8108 1px,#0000 1px);background-size:34px 34px;position:fixed;inset:0}a{color:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;margin:0}p{color:var(--ink-soft);margin:0;line-height:1.6}.app-shell{min-height:100vh;font-family:var(--font-body),sans-serif;flex-direction:column;display:flex}.container{width:min(var(--container),100%);margin:0 auto;padding:32px 20px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.page-header h1{font-size:clamp(1.6rem,4.5vw,2.1rem)}.subtle{color:var(--ink-muted)}.card{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:linear-gradient(#fff 0%,#fdfefe 100%);padding:18px}.card h2,.card h3{margin-bottom:6px}.glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-card);background:#ffffffc2;border:1px solid #ffffff8c}.grid{gap:16px;display:grid}.input,.select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--ink);background:var(--surface);padding:11px 12px;transition:border-color .2s,box-shadow .2s}.input:focus,.select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0f4c8129}.button{font:inherit;cursor:pointer;background:linear-gradient(140deg,var(--primary)0%,var(--primary-strong)100%);color:#fff;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;line-height:1;text-decoration:none;transition:transform .15s,box-shadow .2s,opacity .2s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #0f4c8140}.button:disabled{opacity:.65;cursor:not-allowed}.button.secondary{color:var(--primary-strong);background:#eef3f9;border-color:#d4e2f2}.button.ghost{color:var(--primary-strong);background:0 0;border-color:#bad0e9}.status-chip{letter-spacing:.02em;text-transform:uppercase;color:#365372;background:#edf2fa;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-chip.status-paid{color:#166534;background:#e8f8ee}.status-chip.status-expired,.status-chip.status-cancelled{color:#991b1b;background:#fee2e2}.status-chip.status-sent,.status-chip.status-viewed{color:#1e3a8a;background:#e5efff}.table-wrap{border-radius:var(--radius-md);border:1px solid var(--line);width:100%;overflow-x:auto}table{border-collapse:collapse;background:var(--surface);width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px}th{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);background:var(--surface-muted);font-size:12px}tr:last-child td{border-bottom:none}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpi{border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(#fff 0%,#f7fbff 100%);padding:14px}.kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-size:12px}.kpi-value{font-size:1.55rem;font-family:var(--font-display),sans-serif;margin-top:8px}.error-text{color:var(--danger)}.success-text{color:var(--success)}.two-col{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.stack-sm{gap:10px;display:grid}.muted-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);padding:12px}.actions-row{flex-wrap:wrap;gap:10px;display:flex}.container-narrow{max-width:760px}.container-sm{max-width:520px}.pt-lg{padding-top:64px}.pt-md{padding-top:48px}.mt-1{margin-top:6px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:14px}.mt-5{margin-top:16px}.mt-6{margin-top:18px}.m-0{margin:0}.font-strong{font-weight:600}.font-bold{font-weight:700}.link-strong{color:var(--primary-strong);font-weight:700;text-decoration:none}.summary-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.detail-grid-2{grid-template-columns:2fr 1fr;gap:8px;display:grid}.detail-grid-3{grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;display:grid}.detail-grid-4{grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;display:grid}.quote-item-grid{grid-template-columns:1fr 160px 120px;gap:8px;display:grid}.checkbox-row{align-items:center;gap:8px;font-size:14px;display:flex}.meta-list{gap:4px;margin-top:4px;display:grid}.meta-item,.small-text{font-size:13px}.align-start{align-content:start}.empty-state{border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--surface-muted);text-align:center;gap:8px;padding:22px;display:grid}.empty-state-action{margin-top:8px}.toast{border-radius:var(--radius-sm);border:1px solid #0000;padding:10px 12px;font-size:14px}.toast-error{color:#991b1b;background:#fee2e2;border-color:#fecaca}.toast-success{color:#166534;background:#e8f8ee;border-color:#c8efd6}.toast-info{color:#1e3a8a;background:#e5efff;border-color:#c9dcff}.skeleton{background:linear-gradient(90deg,#e8eef6 25%,#f4f8fd 37%,#e8eef6 63%) 0 0/400% 100%;border-radius:999px;width:100%;height:14px;animation:1.2s ease-in-out infinite skeleton-shimmer}.skeleton-row{border-radius:10px;height:42px}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.info-list{gap:8px;display:grid}.info-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.info-row:last-child{border-bottom:none}.event-list{gap:8px;display:grid}.event-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);gap:6px;padding:10px 12px;display:grid}.event-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.event-meta{color:var(--ink-muted);font-size:12px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (max-width:960px){.container{padding:24px 14px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.detail-grid-3,.detail-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.kpi-grid{grid-template-columns:1fr}.card{padding:14px}.quote-item-grid,.detail-grid-2,.detail-grid-3,.detail-grid-4{grid-template-columns:1fr}}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.bb140f9f.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.50575af1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.78d1a7ae.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.247c8473.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.18d7c7dc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.71e1367e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_8e7c4640-module__8nQh9W__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_8e7c4640-module__8nQh9W__variable{--font-body:"Manrope","Manrope Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_7487b259-module__w0w__a__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_7487b259-module__w0w__a__variable{--font-display:"Space Grotesk","Space Grotesk Fallback"}
