@font-face{font-family:Figtree;src:url('/static/quotation-brand/Figtree-Regular.ttf') format('truetype');font-weight:400 500;font-display:swap}
@font-face{font-family:Figtree;src:url('/static/quotation-brand/Figtree-SemiBold.ttf') format('truetype');font-weight:600 800;font-display:swap}
@font-face{font-family:Figtree;src:url('/static/quotation-brand/Figtree-Black.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--ralos:#0f7c86;--cream:#fff6ea;--ink:#13343a;--primary:185 80% 29%;--primary-foreground:0 0% 100%;--background:0 0% 100%;--foreground:189 51% 15%;--border:184 18% 86%;--input:184 18% 86%;--ring:185 80% 29%;--radius:8px;--muted:35 100% 96%;--muted-foreground:188 16% 37%;--card:0 0% 100%;--card-foreground:189 51% 15%;--popover:0 0% 100%;--popover-foreground:189 51% 15%}
html{font-family:Figtree,system-ui,sans-serif;color:var(--ink);background:white;scroll-behavior:smooth}
:root{--bg:#fff;--surface:#fff;--surface-2:#fff6ea;--fg:#13343a;--muted:#4f6a6f;--subtle:#63777b;--border:#d5e3e4;--line:#e7eeee;--blue:#0f7c86;--blue-ink:#13343a;--blue-soft:#e7f1f2;--green:#0f7c86;--green-soft:#e7f1f2;--sun:#0f7c86;--sun-strong:#0b5f67;--sun-soft:#fff6ea;--sun-ink:#13343a;--font-display:Figtree,system-ui,sans-serif;--font-body:Figtree,system-ui,sans-serif;--uk-global-font-family-sans:Figtree,system-ui,sans-serif;--ralos-ui-background:0 0% 100%;--ralos-ui-foreground:189 51% 15%;--ralos-ui-primary:185 80% 29%;--ralos-ui-primary-foreground:0 0% 100%;--ralos-ui-border:184 18% 86%;--ralos-ui-input:184 18% 86%;--ralos-ui-muted:35 100% 96%;--ralos-ui-muted-foreground:188 16% 37%;--ralos-ui-card:0 0% 100%;--ralos-ui-card-foreground:189 51% 15%;--ralos-ui-popover:0 0% 100%;--ralos-ui-popover-foreground:189 51% 15%;--ralos-ui-ring:185 80% 29%;--ralos-ui-secondary:35 100% 96%;--ralos-ui-secondary-foreground:189 51% 15%;--ralos-ui-accent:184 32% 93%;--ralos-ui-accent-foreground:189 51% 15%}
body,input,button,select,textarea{font-family:Figtree,system-ui,sans-serif;letter-spacing:0}
body{color:var(--ink);background:#fff}h1,h2,h3,h4,h5,h6{color:var(--ink);letter-spacing:0;font-family:inherit}h1{font-weight:900}h2,h3{font-weight:800}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
a{color:var(--ralos)}:focus-visible{outline:3px solid var(--ralos);outline-offset:3px}
.btn.primary,.vendor-v2-btn.is-primary,.vendor-v2-nav a.is-active,.uk-button-primary{background:var(--ralos);border-color:var(--ralos);color:#fff}
.btn,.vendor-v2-btn,.input,input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:8px}
.brand .logo-img,.vendor-v2-brand img,.auth-logo img,.ralos-wordmark{width:116px!important;height:40px!important;object-fit:contain;max-width:100%}
.brand-text,.vendor-v2-brand>span,.auth-logo>span{display:none}
.topbar,.vendor-v2-topbar{background:#fff;border-color:#d5e3e4;box-shadow:none}
.vendor-v2-shell{background:var(--cream)}.vendor-v2-nav a{color:var(--ink)}
.auth-page{background:var(--cream);min-height:75vh;display:grid;place-items:center;padding:28px 16px}.auth-card{width:min(100%,480px);border-radius:8px;border:1px solid #d5e3e4;background:#fff;padding:32px;box-shadow:none}
.auth-card .auth-logo{justify-content:flex-start}.auth-card h1{font-size:32px;line-height:1.12}
.ralos-unavailable{color:#63777b!important;background:#f0f3f3!important;border-color:#d6dfe0!important}.ralos-unavailable small{display:block;margin-top:6px;font-size:13px;font-weight:500}
.ralos-legal{color:#4f6a6f;font-size:12px;line-height:1.5;padding:20px 16px;text-align:center}
.lucide{width:20px;height:20px;flex:none;vertical-align:middle}
.admin-v2-brand .admin-v2-logo{width:116px;height:40px;object-fit:contain}.admin-v2-brand>span{display:none}.admin-v2-shell{background:var(--cream)}.admin-v2-nav a.is-active{background:var(--ralos);color:white}
.application-stage,.application-start{background:white;color:var(--ink)}.application-stage__form h1{font-size:40px;line-height:1.12}.application-kicker,.application-secondary,.application-back{color:var(--ralos);letter-spacing:0}
.application-illustration{display:none}.application-progress div span{background:var(--ralos)}.application-next,.report-cta{background:var(--ralos);color:#fff}.application-stage__nav{background:rgba(255,255,255,.97)}
.application-options input:checked+span,.application-options label:has(input:checked)>span{background:var(--cream);border-color:var(--ralos);box-shadow:inset 3px 0 var(--ralos);color:var(--ink)}
.application-options span{color:var(--ink)}.application-options input:focus-visible+span{outline:3px solid var(--ralos)}
.application-field input:focus,.application-field select:focus,.application-email-form input:focus{outline:3px solid #b8dee1;border-color:var(--ralos)}
.application-brand img{width:116px;height:40px;object-fit:contain}.application-start__art{background:var(--cream)}.application-start h1,.application-gallery h1,.application-message h1{font-size:48px;line-height:1.08}.application-start__copy{padding:48px 32px}
/* Intake states override the legacy green palette without masking validation errors. */
.application-stage .application-upload{background:var(--cream);border-color:var(--ralos)}
.application-stage .application-upload span{color:var(--ralos)}
.application-stage .application-upload small,.application-stage .application-upload__status{color:var(--ink)}
.application-stage .application-upload:focus-within{outline:3px solid var(--ralos);outline-offset:3px}
.application-stage .application-upload.has-file:not(.has-error){background:var(--cream);border-color:var(--ralos);box-shadow:inset 0 0 0 1px var(--ralos)}
.application-stage .application-upload.has-error{border-color:#bc4435;box-shadow:0 0 0 2px #bc443526}
.application-stage .application-upload__progress{background:#d5e3e4}
.application-stage .application-upload__progress i{background:var(--ralos)}
.application-stage .application-upload-confirmed{background:var(--cream);border-color:var(--ralos);color:var(--ink)}
.application-stage .application-check{color:var(--ink)}
.application-stage .application-check input{accent-color:var(--ralos)}
.application-stage .application-check.has-error{color:#7d261d}
.application-stage .money-input{border-color:#d5e3e4}
.application-stage .application-field.has-error .money-input{border-color:#bc4435}
.application-stage .application-field>span,.application-start .application-email-form label{color:var(--ink)}
.application-stage .application-field :is(input,select,textarea),.application-start .application-email-form input{color:var(--ink);border-color:#d5e3e4}
.application-stage .application-field :is(input,select,textarea):focus{border-color:var(--ralos);outline-color:var(--ralos)}
.application-stage .application-field.has-error :is(input,select,textarea){border-color:#bc4435}
.application-stage .application-stage__form>p:not(.application-kicker):not(.application-saved):not(.application-error),.application-start .application-start__copy>p:not(.application-kicker):not(.application-privacy):not(.application-error){color:#4f6a6f}
.application-stage .application-progress div{background:#d5e3e4}
.application-stage .application-progress p,.application-stage .application-reference,.application-stage .application-saved,.application-start .application-privacy{color:#4f6a6f}
.application-stage .application-or{color:#4f6a6f}
.application-stage .application-next:disabled,.application-stage .application-next.is-disabled,.application-start .application-next:disabled{background:#aab2b3}
.application-start__art .sun-disc{background:var(--cream)}
.application-start__art .roof-line{background:var(--ralos)}
.application-start__art .panel-grid{background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 25%),repeating-linear-gradient(var(--ink) 0 2px,var(--ralos) 2px 25%);box-shadow:none}
@media(max-width:760px){.application-stage__header{grid-template-columns:112px minmax(0,1fr) auto;gap:12px}.application-stage__header .application-brand img{width:104px;height:36px}.application-stage__form h1{font-size:30px}.application-start h1,.application-gallery h1,.application-message h1{font-size:36px}}
.ralos-maintenance{max-width:650px;margin:72px auto;padding:32px 24px}.ralos-maintenance h1{font-size:36px;line-height:1.12}
@media(max-width:600px){.auth-card{padding:24px}.vendor-v2{padding:12px}.vendor-v2-topbar{gap:12px}.vendor-v2-nav{flex-wrap:wrap}.vendor-v2-nav a,.vendor-v2-btn{font-size:13px;padding:9px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.topbar,.vendor-v2-topbar{position:static}.ralos-legal{break-inside:avoid}}
/* Staff controls and authentication states use the same brand tokens. */
.auth-page .btn.primary,.vendor-v2-shell .vendor-v2-btn.primary,.vendor-v2-shell .vendor-v2-btn--primary,.topbar .nav-link.cta{background:var(--ralos);border-color:var(--ralos);color:#fff}
.auth-page .btn.primary:is(:hover,:focus-visible,:active),.vendor-v2-shell .vendor-v2-btn.primary:is(:hover,:focus-visible,:active),.vendor-v2-shell .vendor-v2-btn--primary:is(:hover,:focus-visible,:active),.topbar .nav-link.cta:is(:hover,:focus-visible,:active){background:#0b5f67;border-color:#0b5f67;color:#fff;box-shadow:none}
.auth-card .ok-note.is-visible{border-color:var(--ralos);background:#e7f1f2;color:var(--ink)}
:is(.vendor-v2-shell,.admin-v2-shell,.auth-page) input:is([type=checkbox],[type=radio]){accent-color:var(--ralos)}
.admin-v2-shell :is(.text-emerald-600,.text-emerald-700,.text-green-600){color:var(--ralos)}
.admin-v2-shell .bg-emerald-600{background:var(--ralos)}.admin-v2-shell .bg-emerald-50{background:#e7f1f2}.admin-v2-shell .border-emerald-200{border-color:#d5e3e4}
:is(.vendor-v2-shell,.admin-v2-shell) :is(meter,progress){accent-color:var(--ralos);background:#e7eeee;border:0}
:is(.vendor-v2-shell,.admin-v2-shell) meter::-webkit-meter-bar{background:#e7eeee;border:0;border-radius:2px}
:is(.vendor-v2-shell,.admin-v2-shell) meter::-webkit-meter-optimum-value,:is(.vendor-v2-shell,.admin-v2-shell) meter::-webkit-meter-suboptimum-value,:is(.vendor-v2-shell,.admin-v2-shell) meter::-webkit-meter-even-less-good-value,:is(.vendor-v2-shell,.admin-v2-shell) progress::-webkit-progress-value{background:var(--ralos)}
:is(.vendor-v2-shell,.admin-v2-shell) meter::-moz-meter-bar,:is(.vendor-v2-shell,.admin-v2-shell) progress::-moz-progress-bar{background:var(--ralos)}
:is(.vendor-v2-shell,.admin-v2-shell) progress::-webkit-progress-bar{background:#e7eeee}
