:root{--site-bg:#f6f4ec;--site-surface:#fff;--site-soft:#edf0e5;--site-fg:#21322f;--site-muted:#53665a;--site-line:#d8ded5;--site-brand:#214f45;--site-on-brand:#fff;--site-hover:#e2e8db;--site-shadow:#26352c12;--site-danger:#a53226;--site-focus:#789b5f}
html[data-theme=light]{--site-bg:#f7f9fb;--site-surface:#fff;--site-soft:#eef3f6;--site-fg:#182e37;--site-muted:#526772;--site-line:#d8e3e8;--site-brand:#245666;--site-on-brand:#fff;--site-hover:#e2ecf0;--site-focus:#33768b}
html[data-theme=dark]{color-scheme:dark;--site-bg:#121b18;--site-surface:#1b2823;--site-soft:#23352c;--site-fg:#edf4ef;--site-muted:#b2c4b8;--site-line:#40574a;--site-brand:#abd09a;--site-on-brand:#14281b;--site-hover:#304936;--site-shadow:#0004;--site-danger:#ffaea4;--site-focus:#c2e7af}
html{background:var(--site-bg)}body{--ink:var(--site-fg);--green:var(--site-brand);--cream:var(--site-bg);--line:var(--site-line);--muted:var(--site-muted);background:var(--site-bg);color:var(--site-fg)}
.nav,.top,.card,.welcome-preview,.admin-table,dialog,.publish-dialog,.route-card,.section-card,.template{background:var(--site-surface);color:var(--site-fg);border-color:var(--site-line)}
.company-hero,.empty,.pill,.sidebar,.sidebar .tabs,.workbar,.canvas,.company-placeholder,.hero-sample{background:var(--site-soft);color:var(--site-fg);border-color:var(--site-line)}
.company-hero{border-top:0;border-radius:18px;border:1px solid var(--site-line);box-shadow:0 6px 24px var(--site-shadow);gap:28px}.company-logo,.company-placeholder{width:128px;height:128px;border-radius:26px;background:var(--site-surface);border:1px solid var(--site-line);box-shadow:0 3px 12px var(--site-shadow);object-fit:contain;padding:12px}.company-placeholder{font-size:48px;color:var(--site-brand)}.company-banner{border-radius:18px;margin-bottom:14px;max-height:340px}.company-logo{flex-shrink:0}.directory-logo{border-radius:14px}.card,.route-card{border-radius:12px}.tabs button{border-radius:9px}.company-hero h1{letter-spacing:-1.2px}
button,.button{background:var(--site-brand);color:var(--site-on-brand);border-color:var(--site-brand)}button.secondary,.button.secondary,.ghost,.panel>.ghost,.mini-actions button,.zoom button,.icon{background:var(--site-surface);color:var(--site-fg);border-color:var(--site-line)}button:hover,.button:hover{filter:brightness(1.07)}
input:not([type=checkbox]):not([type=color]),textarea,select{background:var(--site-surface);color:var(--site-fg);border-color:var(--site-line)}input::placeholder,textarea::placeholder{color:var(--site-muted);opacity:1}input[type=color]{background:var(--site-surface);border-color:var(--site-line)}label,.hint,.muted,.card p,.welcome-copy>p,.welcome-preview>p,.home-features p,.preview-footer,.preview-top span,.route-card small,.section-card small,.brand small,.workbar span,.site-footer,.pill,.eyebrow,.home-features article>span,.template small,.top #saved{color:var(--site-muted)}
.brand-link .brand-name,.close,.mini-actions button{color:var(--site-fg)}.brand-name span{color:var(--site-brand)}.company-initial{color:var(--site-brand)!important}a{color:inherit}.form-error,.publish-error{color:var(--site-danger)}
.welcome-preview{box-shadow:10px 14px 0 var(--site-soft)}.welcome-preview tbody tr:nth-child(even){background:var(--site-soft)}.welcome-preview th,.preview-top b{background:var(--site-brand);color:var(--site-on-brand)}.tabs,.site-footer,.preview-top,.column-config,.project-label{border-color:var(--site-line)}.fleet-modal td,.fleet-modal th,td,th{border-color:var(--site-line)}.sidebar .tabs button{background:transparent;color:var(--site-muted);border-color:var(--site-line)}.sidebar .tabs button.active{color:var(--site-brand);border-color:var(--site-brand)}.template.active{border-color:var(--site-brand);box-shadow:0 0 0 2px var(--site-soft)}.theme-control{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;color:var(--site-muted);font-weight:500}.theme-control select{width:auto;min-width:100px;margin:0;padding:8px;font-size:14px}.nav nav{flex-wrap:wrap}.theme-control span{display:none}
/* Timetable design and exported/printed document colours are independent of the site theme. */
.sheet,.export-sheet{--ink:#17201d;--muted:#68736e;--line:#dce2de;--paper:#fff;color:#17201d;background:#fff;color-scheme:light}.sheet td,.sheet th,.export-sheet td,.export-sheet th{border-color:#d9dedb}.sheet input{color:#17201d}.sheet .footer,.export-sheet .footer{color:#4d5853}
.maintenance-control{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--site-soft);border:1px solid var(--site-line);border-radius:12px;padding:20px}.maintenance-control p{margin-bottom:0;color:var(--site-muted)}.maintenance-page{min-height:100vh;display:grid;place-items:center;padding:24px}.maintenance-card{max-width:560px;text-align:center;background:var(--site-surface);color:var(--site-fg);border:1px solid var(--site-line);border-radius:22px;padding:36px;box-shadow:0 12px 40px var(--site-shadow)}.maintenance-card img{width:80px;height:80px;object-fit:contain;border-radius:18px;margin:0 auto 22px;display:block}.maintenance-card h1{font-size:34px;line-height:1.15;letter-spacing:-1px}.maintenance-card p{color:var(--site-muted);line-height:1.7}.maintenance-card .theme-control{justify-content:center;margin-top:24px}.maintenance-overlay{position:fixed;z-index:10000}.maintenance-overlay::backdrop{background:var(--site-bg)}.maintenance-card a{display:inline-block;margin-top:16px}.maintenance-card .eyebrow{display:block}
@media(max-width:700px){.maintenance-control{flex-direction:column;align-items:flex-start}.theme-control{margin-top:6px}.top-actions{flex-wrap:wrap}.company-logo,.company-placeholder{width:104px;height:104px;border-radius:24px}.maintenance-card{padding:24px}.maintenance-card h1{font-size:28px}}
@media print{body{background:#fff;color:#17201d}.theme-control,.maintenance-overlay{display:none!important}}
