@font-face{font-family:CarthageSans;src:url('/styles/fonts/carthage.woff') format('woff');font-weight:100 900;font-display:swap}
:root{--cg-background:#f8fafc;--cg-surface:#fff;--cg-ink:#1a1a2e;--cg-muted:#657487;--cg-border:#e1e6ed;--cg-accent:#d32f2f;--cg-accent-hover:#b71c1c;--cg-radius:18px;--cg-shadow:0 6px 24px #1a1a2e04;--bg:var(--cg-background);--panel:var(--cg-surface);--panel-strong:var(--cg-surface);--ink:var(--cg-ink);--muted:var(--cg-muted);--line:var(--cg-border);--accent:var(--cg-accent);--accent-dark:var(--cg-accent-hover);--radius:var(--cg-radius);--shadow:var(--cg-shadow)}
body{font-family:CarthageSans,system-ui,sans-serif;color:var(--cg-ink);background:var(--cg-background)}
/* Public pages and role workspaces share typography and controls; status colors stay meaningful. */
body.cg-legacy{font-family:CarthageSans,system-ui,sans-serif!important;color:var(--cg-ink)!important;background:var(--cg-background)!important;min-height:100vh}
.cg-legacy :is(button,input,select,textarea),:is(.op-page,.sub-page,.cg-maintenance){font-family:CarthageSans,system-ui,sans-serif}
:is(.op-page,.sub-page){background:var(--cg-background);color:var(--cg-ink)}
:is(.cg-legacy,.op-page,.sub-page,.cg-maintenance) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){border:1px solid var(--cg-border);border-radius:9px;background:#f8fafc;color:var(--cg-ink);padding:11px 12px;font-size:13px;box-sizing:border-box}
:is(.cg-legacy,.op-page,.sub-page,.cg-maintenance) :is(input,select,textarea,button,a):focus-visible{outline:2px solid var(--cg-accent);outline-offset:3px}
:is(.cg-legacy .btn-primary,.cg-legacy .primary-button,.cg-legacy .primary-btn,.sub-page button:not(.sub-secondary),.op-page button:not(.secondary):not(.fleet-event):not(.op-tabs button)){background:var(--cg-accent);border-color:var(--cg-accent);border-radius:10px;color:white;font-weight:700}
:is(.cg-legacy .btn-primary,.cg-legacy .primary-button,.sub-page button:not(.sub-secondary),.op-page button:not(.secondary):not(.fleet-event):not(.op-tabs button)):hover:not(:disabled){background:var(--cg-accent-hover)}
:is(.cg-legacy .btn,.cg-legacy .btn-outline,.cg-legacy .btn-success,.cg-legacy .btn-danger){border-radius:9px}
:is(.op-card,.op-login,.op-dialog,.sub-card,.cg-legacy .auth-card,.cg-legacy .modal,.cg-legacy .login-box,.cg-legacy .login-card,.cg-legacy .rental-card,.cg-legacy .panel,.cg-legacy .benefit-card,.cg-legacy .step-card,.cg-legacy .vehicle-card){border:1px solid var(--cg-border);border-radius:var(--cg-radius);box-shadow:var(--cg-shadow);background:var(--cg-surface);color:var(--cg-ink)}
:is(.op-header,.sub-header){padding-bottom:20px;border-bottom:1px solid var(--cg-border)}
:is(.op-header h1,.sub-hero h1,.mt-header h1){font-weight:800;letter-spacing:-1.4px;line-height:1.12}
:is(.op-card h2,.op-card h3,.sub-card h2,.sub-card h3){font-weight:700}
:is(.op-page,.sub-page) :is(.secondary,.sub-secondary){background:#fff;color:var(--cg-ink);border:1px solid var(--cg-border);border-radius:10px}
.cg-legacy :is(.admin-header,.cust-header){background:white;color:var(--cg-ink);border-bottom:1px solid var(--cg-border);padding:18px 24px;flex-wrap:wrap;gap:14px;box-shadow:var(--cg-shadow)}
.cg-legacy :is(.admin-header,.cust-header) a{color:var(--cg-muted)}
.cg-legacy :is(.admin-header,.cust-header) :is(h1,strong){font-weight:800;letter-spacing:-.5px}
.cg-legacy :is(.admin-header,.cust-header) h1 small{color:var(--cg-muted)}
.cg-legacy .header-name{color:var(--cg-accent)}
.cg-legacy :is(.topbar,.top-controls){flex-wrap:wrap;gap:14px}
.cg-legacy .topbar{background:#fff;border:1px solid var(--cg-border);border-radius:18px;padding:18px 22px}
.cg-legacy .brand-copy strong{font-size:24px;letter-spacing:-.8px;color:var(--cg-ink)}
.cg-legacy .brand-logo{width:48px;height:48px;object-fit:cover;border-radius:12px}
.cg-legacy .brand-mark{background:var(--cg-accent);border-radius:12px}
.cg-legacy .top-link{color:var(--cg-muted)}
.cg-legacy .top-link:hover{background:#fff1f1;color:var(--cg-accent)}
.cg-legacy .login-screen{background:var(--cg-background)}
.cg-legacy :is(.login-brand,.login-brand small){color:var(--cg-ink)}
.cg-legacy .login-brand{font-weight:800;letter-spacing:-1px}
.cg-legacy .tab-bar{background:white;border-bottom:1px solid var(--cg-border);gap:8px;padding:10px 16px;flex-wrap:wrap}
.cg-legacy .tab-btn{border-radius:9px;color:var(--cg-muted)}
.cg-legacy .tab-btn.active{background:#fff1f1;color:var(--cg-accent);border-bottom-color:var(--cg-accent)}
.cg-legacy th{background:#f8fafc;color:var(--cg-muted);padding:13px 12px}
.cg-legacy td{border-bottom-color:var(--cg-border);padding:12px}
.cg-legacy :is(.booking-row:hover td,.booking-row.expanded td){background:#fff7f7}
.cg-legacy .booking-detail td{background:#f8fafc}
.cg-legacy :is(.site-footer){background:var(--cg-ink)!important;color:#d0d4df!important;border-radius:18px 18px 0 0}
.cg-legacy .site-footer a{color:#e3e7ef!important}
/* Older article templates used pale text on a light background. */
.cg-legacy :is(main,#content,.legal-content,.article-content,.guide-content){color:var(--cg-ink)!important}
.cg-legacy :is(main,#content) :is(h1,h2,h3){color:var(--cg-ink)!important;font-weight:800;letter-spacing:-.6px}
.cg-legacy :is(main,#content) :is(p,li){color:var(--cg-muted)!important;line-height:1.8}
.cg-legacy :is(main,#content) a{color:var(--cg-accent)}
@media(max-width:760px){.cg-legacy :is(.topbar,.admin-header,.cust-header){padding:16px;gap:12px}.cg-legacy .page-shell{width:calc(100% - 28px)}.cg-legacy .tab-bar{overflow-x:auto;flex-wrap:nowrap}.cg-legacy .tab-btn{white-space:nowrap}.cg-legacy :is(.modal,.auth-card){padding:20px}.op-header nav,.sub-header nav{row-gap:12px}}
@media print{body.cg-legacy{background:white!important}.cg-legacy :is(.admin-header,.cust-header,.topbar,.site-footer){display:none}.cg-legacy :is(.panel,.auth-card,.modal){box-shadow:none}}
.cg-workspace-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;background:white;border-bottom:1px solid var(--cg-border);padding:18px max(18px,calc((100vw - 1320px)/2));color:var(--cg-ink)}.cg-workspace-brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--cg-ink);font-size:25px;font-weight:800;letter-spacing:-1px}.cg-workspace-brand img{width:48px;height:48px;border-radius:12px;object-fit:cover}.cg-workspace-brand span span{color:var(--cg-accent)}.cg-workspace-nav>div{display:flex;align-items:center;gap:20px;font-size:13px}.cg-workspace-nav>div a{color:var(--cg-muted);text-decoration:none}.cg-workspace-nav>div a:last-child{color:white;background:var(--cg-accent);padding:12px 20px;border-radius:10px;font-weight:700}.cg-workspace-link{display:inline-flex;align-items:center;margin:12px 6px;padding:12px 18px;background:var(--cg-ink);color:white;border-radius:10px;font:600 13px CarthageSans,system-ui;text-decoration:none}.cg-workspace-link:hover{background:var(--cg-accent)}
@media(max-width:500px){.cg-workspace-brand{font-size:21px}.cg-workspace-brand img{width:38px;height:38px}.cg-workspace-nav>div{gap:12px;font-size:11px}.cg-workspace-nav>div a:last-child{padding:10px 12px}}
@media print{.cg-workspace-nav,.cg-workspace-link{display:none!important}}
.cg-legacy :is(.login-screen,.key-prompt){background:var(--cg-background);padding:28px 16px;overflow-y:auto}.cg-auth-panel{width:min(460px,100%);padding:32px;border:1px solid var(--cg-border);border-radius:22px;box-shadow:0 12px 40px #1a1a2e08;background:#fff;display:flex;flex-direction:column;gap:14px;flex-shrink:0;margin:auto}.cg-auth-brand{display:flex;gap:10px;align-items:center;justify-content:center;color:var(--cg-ink);font-size:28px;letter-spacing:-1px;font-weight:800;text-decoration:none;margin-bottom:16px}.cg-auth-brand img{width:48px;height:48px;object-fit:cover;border-radius:12px}.cg-auth-brand span span{color:var(--cg-accent)}.cg-legacy :is(.login-screen,.key-prompt) h2{color:var(--cg-ink);font-weight:800}.cg-legacy :is(.login-screen,.key-prompt) p{color:var(--cg-muted);line-height:1.6}.cg-legacy .cg-auth-panel>input{width:100%;min-height:45px}.cg-legacy .cg-auth-panel .auth-card{max-width:none;padding:0;border:0;box-shadow:none;margin:0}.cg-legacy .cg-auth-panel :is(.login-brand,.login-brand small){color:var(--cg-muted)}.cg-legacy .cg-auth-panel .login-brand{font-size:14px;font-weight:600;text-align:center}.cg-legacy .cg-auth-panel .auth-card h2{margin:0 0 20px}.cg-legacy .cg-auth-panel>button{background:var(--cg-accent);color:white;border-radius:10px;padding:13px 20px;font-weight:700;cursor:pointer}.cg-auth-back{color:var(--cg-muted);font-size:12px;text-decoration:none;text-align:center;margin-top:12px}.cg-legacy .cg-auth-panel .auth-toggle{color:var(--cg-muted)}
@media(max-width:500px){.cg-auth-panel{padding:24px}.cg-legacy :is(.login-screen,.key-prompt){padding:16px}}
.cg-legacy :is(main,#content) :is(details,[style*="background:#1e1e3a"],[style*="background: #1e1e3a"],[style*="background:#2a2a3e"]){background:white!important;border:1px solid var(--cg-border);border-radius:18px!important;box-shadow:var(--cg-shadow)}.cg-legacy :is(main,#content) summary{color:var(--cg-ink)!important;font-weight:700!important}.cg-legacy :is(main,#content) [style*="color:#22c55e"]{color:var(--cg-accent)!important}.cg-legacy button[style*="background:#22c55e"]{background:var(--cg-accent)!important;border-radius:10px}.cg-legacy a[style*="background:#22c55e"]:not([href*="wa.me"]){background:var(--cg-accent)!important;border-radius:10px}
body .op-login h1{font-size:28px;font-weight:800;letter-spacing:-.8px;line-height:1.2;margin:12px 0}body .op-login p{font-size:14px;line-height:1.7;color:var(--cg-muted);margin:12px 0 20px}body .op-login>button,body .op-login form>button{width:100%;margin-top:8px}
