@font-face{font-family:Sofia Sans;src:url('/static/sofia-sans.woff2') format('woff2');font-display:swap}
:root{font-family:Sofia Sans,system-ui,sans-serif;color:#2b1920;background:#faf7f4;--bordo:#711b36;--line:#e7d9db;--muted:#68555a}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
header{background:var(--bordo);color:white}
.header-inner{max-width:1060px;margin:auto;padding:.55rem 1.25rem;display:flex;gap:1rem;align-items:center}
.header-inner img{width:164px;height:auto}
.header-inner span{font-weight:700}
.header-inner button{margin-left:auto;background:white;color:var(--bordo)}
main{max-width:1060px;margin:auto;padding:1rem 1.25rem 3rem}
h1,h2,p{margin:0 0 .65rem}
h1{font-size:clamp(1.8rem,5vw,2.7rem);line-height:1.05}
h2{font-size:1.3rem}
small,.muted{color:var(--muted);font-weight:400}
.intro,.section-heading,.actions{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem;flex-wrap:wrap}
.intro{margin:.5rem 0 1rem}
.eyebrow{color:var(--bordo);text-transform:uppercase;letter-spacing:.08em;font-weight:750;font-size:.78rem}
.badge{display:inline-block;border-radius:99rem;background:#daf2e5;color:#214c3c;padding:.45rem .8rem;font-size:.9rem;font-weight:700}
.panel{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.1rem;margin-bottom:1rem}
.entry{max-width:420px;margin:2rem auto}
.entry label{margin-bottom:.8rem}
.entry button{margin-bottom:.8rem}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.cabinet-sections{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1rem}
.cabinet-sections button{border-color:var(--line)}
.cabinet-sections button[aria-pressed=true]{background:var(--bordo);border-color:var(--bordo);color:white}
.wide{grid-column:1/-1}
label{display:grid;gap:.22rem;font-weight:700}
input,select,textarea,button{font:inherit}
input,select,textarea{width:100%;border:1px solid #cbbbc0;border-radius:.55rem;padding:.54rem .62rem;background:#fff;color:inherit}
.logo-setting{display:flex;align-items:center;gap:1rem;margin:.8rem 0 1.05rem}
.logo-preview{flex:0 0 76px;height:76px;display:grid;place-items:center;border:1px dashed #cbbbc0;border-radius:.8rem;background:#faf7f4;color:var(--muted);font-size:.8rem;font-weight:700}
.logo-preview img{width:100%;height:100%;padding:.35rem;object-fit:contain}
.logo-controls{min-width:0}
.logo-file-input{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.logo-file-control{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;cursor:pointer}
.file-button{border:1px solid #cbbbc0;border-radius:.55rem;padding:.35rem .65rem;color:var(--bordo);background:#fff}
.logo-file-input:focus-visible+.logo-file-control .file-button{outline:3px solid #267652;outline-offset:2px}
#logo-file-name{font-size:.85rem;overflow-wrap:anywhere}
.logo-setting small{display:block;margin:.3rem 0}
.logo-setting button{padding:.3rem .6rem}
button{border:1px solid var(--bordo);border-radius:.65rem;padding:.58rem .82rem;background:var(--bordo);color:white;cursor:pointer;font-weight:750}
button.secondary{background:#fff;color:var(--bordo)}
button:disabled{opacity:.52;cursor:default}
:focus-visible{outline:3px solid #267652;outline-offset:2px}
.route{min-width:0;border:1px solid var(--line);border-radius:.7rem;margin:.7rem 0 0}
.route summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.7rem .85rem;background:#faf7f4;border-radius:.65rem}
.route summary::-webkit-details-marker{display:none}
.route summary:hover{background:#f6edef}
.route[open] summary{border-bottom:1px solid var(--line);border-radius:.65rem .65rem 0 0}
.route-title,.route-meta{display:block}
.route-title{overflow-wrap:anywhere}
.route-meta{margin-top:.15rem}
.route-price{font-weight:750;color:var(--bordo);text-align:right}
.route-chevron{font-size:1.25rem;line-height:1;color:var(--bordo)}
.route[open] .route-chevron{transform:rotate(180deg)}
.route-body{padding:.85rem}
.vehicle-conditions{min-width:0;border:1px solid var(--line);border-radius:.6rem;margin:.95rem 0 .7rem;padding:.65rem .8rem .8rem}
.vehicle-conditions legend{padding:0 .3rem;color:var(--bordo);font-weight:750}
.remove-route{padding:.35rem .65rem}
.empty-routes{margin-top:.65rem}
#routes:not(:empty)+.empty-routes{display:none}
.brand-selection{display:flex;gap:.35rem;flex-wrap:wrap}
.brand-selection:empty{display:none}
.brand-chip{font-size:.86rem;padding:.22rem .5rem}
.actions{justify-content:flex-start;align-items:center}
.security form{margin-top:.85rem}
.error{color:#a51e36;font-weight:700}
[role=status]:empty{display:none}
#settings-feedback{margin-top:.7rem}
@media(max-width:620px){.header-inner{gap:.65rem;padding:.6rem .75rem}.header-inner img{width:115px}.header-inner span{font-size:.9rem}main{padding:.8rem .75rem 2rem}.panel{padding:.85rem}.cabinet-sections button{padding:.45rem .55rem}.route summary{gap:.45rem;padding:.65rem}.logo-setting{align-items:flex-start}}
@media(max-width:390px){.fields{grid-template-columns:1fr}.route-meta,.route-price{font-size:.85rem}.logo-preview{flex-basis:56px;height:56px}}
