/* Gmail-inspired shared palette. Printing retains the original receipt styles. */
@media screen {
:root{color-scheme:light;--ink:#202124;--muted:#5f6368;--accent:#0b57d0;--accent-dark:#0842a0;--line:#dce1e7;--surface:#fff;--canvas:#f6f8fc;--soft:#edf2fa;--selected:#d3e3fd;--hover:#e8eef7;--on-accent:#fff;--radius:20px;--success-bg:#e6f4ea;--success:#137333;--warn-bg:#fef7e0;--warn:#795500;--error-bg:#fce8e6;--error:#b3261e}
:root[data-theme="dark"]{color-scheme:dark;--ink:#e3e3e3;--muted:#b9bdc6;--accent:#a8c7fa;--accent-dark:#c2d7fc;--line:#444746;--surface:#202124;--canvas:#141518;--soft:#292b30;--selected:#004a77;--hover:#30343b;--on-accent:#062e6f;--success-bg:#163d2a;--success:#81c995;--warn-bg:#45391b;--warn:#fdd663;--error-bg:#522522;--error:#f2b8b5}
body,button,input,select,textarea{font-family:'Google Sans','Google Sans Text',Arial,sans-serif}
body{background:var(--canvas);color:var(--ink);font-size:14px}
.sidebar{background:var(--canvas);color:var(--ink);border:0;scrollbar-color:var(--line) transparent;padding-top:24px}
.brand strong,.login-card .brand strong{color:var(--ink);font-weight:600}.brand small,.login-card .brand small{color:var(--muted)}
.brand-mark{background:var(--surface);color:var(--accent);border-radius:50%;box-shadow:0 0 0 2px var(--line);border-top:3px solid #4285f4;border-right:3px solid #34a853;border-bottom:3px solid #fbbc04;border-left:3px solid #ea4335}
.new-entry{background:var(--selected);color:var(--ink);border:0;border-radius:16px;padding:17px 14px;font-size:14px;box-shadow:0 1px 2px #00000012}.new-entry:hover{background:var(--hover)}
.sidebar nav a,.nav-parent-title{color:var(--muted);font-size:13px;border-radius:24px;padding:10px 14px}.nav-label{color:var(--muted)}
.sidebar nav a:hover,.nav-parent summary:hover,.sidebar-logout button:hover{background:var(--hover);color:var(--ink)}
.sidebar nav a[aria-current="page"]{background:var(--selected);color:var(--ink);box-shadow:none;font-weight:700}
.sidebar .nav-sub{border-color:var(--line);border-radius:20px!important}.nav-parent[open]>summary{color:var(--ink)}
.topbar{background:var(--canvas);border:0;min-height:68px;backdrop-filter:none}.topbar-title{font-size:20px;color:var(--ink);font-weight:500;letter-spacing:-.4px;flex:1}.topbar-user{background:var(--surface);border-color:var(--line);color:var(--muted);padding:8px 12px}.topbar-user::before{background:#34a853}
.page{padding-top:12px}.card,.section,.stat,.login-card{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none;border-radius:20px}.section h2,.section h1,.stat strong,.metric,td strong,.login-card h1{color:var(--ink)}
.metric-label,.metric-note,.stat span,.stat small,.page-title-meta,.field label,.field small,.login-card p,.footer-note,.page-context,.muted,.saas-dashboard-cards .metric small{color:var(--muted)}
.card,.saas-dashboard-cards .card{border-top-color:#4285f4}.card:nth-child(4n+2),.saas-dashboard-cards .card:nth-child(4n+2){border-top-color:#ea4335}.card:nth-child(4n+3),.saas-dashboard-cards .card:nth-child(4n+3){border-top-color:#fbbc04}.card:nth-child(4n+4),.saas-dashboard-cards .card:nth-child(4n+4){border-top-color:#34a853}.stat:before{background:#4285f4}.stat:nth-child(2):before{background:#ea4335}.stat:nth-child(3):before{background:#fbbc04}.stat:nth-child(4):before{background:#34a853}
.btn,.quick a,.permission-option,.tabs a{background:var(--surface);border-color:var(--line);color:var(--accent)}.btn{border-radius:22px;padding:9px 16px;font-size:12px}.btn:hover,.quick a:hover{background:var(--hover);border-color:var(--accent);color:var(--accent)}
.btn.primary,.btn.dark,.login-card button{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:none}.btn.primary:hover,.btn.dark:hover,.login-card button:hover{background:var(--accent-dark);color:var(--on-accent)}
.btn.danger,.alert.error{background:var(--error-bg);color:var(--error);border-color:var(--error)}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea{background:var(--surface);color:var(--ink);border-color:var(--line);font-size:13px;border-radius:8px}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--selected)}input[readonly],input:disabled{background:var(--soft);color:var(--muted)}
.permission-option:has(input:checked){background:var(--selected);border-color:var(--accent)}
.table-wrap,.data-table-wrap{background:var(--surface);border-color:var(--line);scrollbar-color:var(--muted) var(--soft)}table{color:var(--ink);font-size:12px}thead th{background:var(--soft);color:var(--muted)}th,td{border-color:var(--line)}.data-table thead{box-shadow:0 1px 0 var(--line)}.data-table tbody tr:nth-child(even){background:var(--surface)}tbody tr:hover,.data-table tbody tr:hover{background:var(--hover)}
.status,.status.medium,.status.low,.alert{background:var(--soft);color:var(--muted);border-color:var(--line)}.status.active,.status.present,.status.resolved,.status.completed,.alert.success{background:var(--success-bg);color:var(--success);border-color:var(--success-bg)}.status.open,.status.in_progress,.status.late,.status.maintenance,.status.high,.status.waiting{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-bg)}.status.inactive,.status.absent,.status.lost,.status.blocked,.status.urgent{background:var(--error-bg);color:var(--error);border-color:var(--error-bg)}
.login{background:var(--canvas)}.login-card{width:min(440px,100%);padding:40px}.login-card h1{font-size:28px;font-weight:400}.login-card button{border-radius:24px}.login-card .brand{padding-bottom:24px}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);font-size:12px;white-space:nowrap;flex-shrink:0;cursor:pointer}.theme-toggle:hover{background:var(--hover)}.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login>.theme-toggle{position:fixed;right:20px;top:20px}.menu-btn{background:var(--soft);color:var(--ink);border-color:var(--line)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:700px){.card-table .data-table tr{background:var(--surface)!important;border-color:var(--line)}.card-table .data-table td{border-color:var(--line)}.card-table .data-table td::before{color:var(--muted)}}
@media(max-width:600px){.topbar{gap:8px;min-height:64px}.topbar-title{font-size:16px}.topbar-user{max-width:24%;font-size:10px;padding:6px}.theme-toggle{width:40px;padding:8px}.theme-toggle span{display:none}.login{padding-top:76px}.login-card{padding:28px}.sidebar{background:var(--canvas)}}
}
@media print{.theme-toggle{display:none!important}}

/* VehicleSpin shared UI: matches vehiclespin.com. Screen only; receipt printing is preserved. */
@media screen{
:root,:root[data-theme="dark"]{color-scheme:light;--ink:#1a1a1a;--muted:#616161;--accent:#0067b8;--accent-dark:#005a9e;--line:#e5e5e5;--surface:#fff;--canvas:#fff;--soft:#f2f2f2;--selected:#e5edf5;--hover:#edf4fa;--on-accent:#fff;--radius:4px}
body{background:#fff;color:var(--ink);line-height:1.6}body,button,input,select,textarea{font-family:'Google Sans','Nirmala UI',Arial,sans-serif}h1,h2,h3,h4{font-weight:600;letter-spacing:-.5px}.sidebar{background:#f2f2f2;border-right:1px solid var(--line);padding-top:22px}.sidebar nav a,.nav-parent-title{border-radius:3px;padding:10px 14px}.sidebar nav a[aria-current="page"]{color:var(--accent);font-weight:600}.sidebar .nav-sub{border-radius:3px!important}.new-entry{background:var(--accent);color:#fff;border-radius:3px;padding:12px 14px}.new-entry:hover{background:var(--accent-dark);color:#fff}.topbar{background:#fff;border-bottom:1px solid var(--line);min-height:60px}.topbar-title{font-weight:600;font-size:20px}.topbar-user{border-radius:3px}.topbar-user:before{background:#0067b8}.page{padding-top:24px}.card,.section,.stat,.login-card{border:1px solid var(--line);border-radius:4px;box-shadow:0 2px 7px #00000008}.card,.saas-dashboard-cards .card,.card:nth-child(n){border-top-color:var(--line)}.stat:before,.stat:nth-child(n):before{background:#0067b8}.btn,.quick a,.tabs a,.permission-option{border-radius:3px}.btn,.quick a{padding:10px 16px}.btn.primary,.btn.dark,.login-card button[type="submit"]{background:#0067b8;color:#fff;border-color:#0067b8;border-radius:3px}.btn.primary:hover,.btn.dark:hover,.login-card button[type="submit"]:hover{background:#005a9e;color:#fff}input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea{border-color:#b8b8b8;border-radius:3px;min-height:40px;font-size:14px}.table-wrap,.data-table-wrap{border-radius:3px}thead th{background:#f2f2f2;color:#444}.login{background:#f5f8fb}.login-card{background:#fff;padding:36px}.login-card h1{font-weight:600;font-size:28px}.login-card .brand{padding-bottom:20px}.login-links,.footer-note{color:#616161}.theme-toggle{display:none!important}.menu-btn{border-radius:3px}.vs-wordmark,html[data-theme="dark"] .vs-wordmark{color:#172c42}.vs-wordmark .vs-spin{color:#087bc1}.login-card .brand .vs-wordmark{font-size:28px!important}.sidebar-desktop-toggle{border-radius:3px!important}
/* Public parking landing page uses the same palette and spacing. */
body:has(.wrap>.nav){--paper:#fff;--lime:#e5edf5;background:#fff}.wrap>.nav{height:60px;border-color:#eee}.wrap .btn{border-radius:3px;background:#0067b8;color:#fff;border-color:#0067b8}.wrap .btn:hover{background:#005a9e;color:#fff}.wrap .btn.outline{background:#fff;color:#0067b8;border-color:#bbb}.wrap .btn.light{background:#fff;color:#0067b8;border-color:#fff}.wrap .hero{gap:0;background:#eaf2fa;padding:0;margin-top:28px}.wrap .hero>div:first-child{padding:38px}.wrap h1{font-size:clamp(34px,4vw,48px);font-weight:600;line-height:1.15;letter-spacing:-1.5px}.wrap h1 em{color:#0067b8}.wrap .lead,.wrap .heading p,.wrap .feature p,.wrap .access-paths p{color:#616161}.wrap .scene{border-radius:0;background:#eaf2fa;min-height:390px}.wrap .dot{background:#087bc1}.wrap .strip{border-color:#e5e5e5}.wrap .mini,.wrap .feature .icon{background:#e5edf5;color:#0067b8}.wrap .feature,.wrap .access-paths article{border-radius:4px;border-color:#e5e5e5}.wrap .access-paths a{color:#0067b8}.wrap .section{background:transparent;border:0;box-shadow:none;padding:48px 0}.wrap .workflow{border-radius:4px;background:#eaf2fa;color:#1a1a1a;padding:32px;gap:40px}.wrap .workflow p{color:#616161}.wrap .workflow .eyebrow{color:#0067b8}.wrap .step{border-color:#cbdceb}.wrap .step-num{color:#0067b8;border-color:#9ebbd3}.wrap .cta{background:#eaf2fa;border-radius:4px;padding:30px}.wrap .cta p{color:#616161}.wrap .questions summary:after{color:#0067b8}.wrap h2{font-size:30px;font-weight:600;line-height:1.25;letter-spacing:-.7px}.wrap .access-paths h2{font-size:23px}.wrap .footer{border-color:#e5e5e5}.wrap .scene-label,.wrap .scene-caption{color:#51667b}
@media(max-width:700px){.wrap .hero{margin-top:18px;grid-template-columns:1fr}.wrap .hero>div:first-child{padding:26px}.wrap .scene{min-height:280px}.wrap .workflow{padding:24px}.wrap>.nav{min-height:60px;height:auto}.login-card{padding:26px}.page{padding-top:18px}}
}

/* Compact operational workspaces only. Public pages, login and print layouts retain their spacing. */
@media screen{
.app-shell .topbar{min-height:50px;height:auto;padding:6px 20px;gap:12px}.app-shell .topbar-title{font-size:17px;line-height:1.35;margin:0}.app-shell .topbar-user{font-size:12px;padding:5px 9px}.app-shell .page{max-width:none;padding:16px 20px 22px}.app-shell .sidebar{width:230px;padding:18px 10px}.app-shell .main-content{margin-left:230px;width:calc(100% - 230px)}html.sidebar-collapsed .app-shell .main-content{margin-left:0;width:100%}.app-shell .sidebar .brand{padding:5px 9px 17px}.app-shell .sidebar nav a,.app-shell .nav-parent-title{padding:8px 11px;font-size:12px;line-height:1.4;margin:1px 0}.app-shell .nav-label{padding:10px 11px 4px;font-size:9px}.app-shell .new-entry{padding:10px 12px;margin-bottom:12px;font-size:13px}.app-shell .page-title{margin-bottom:12px;gap:12px}.app-shell .page-title h1{font-size:23px;line-height:1.25}.app-shell .page-title-meta,.app-shell .page-context{font-size:12px}.app-shell .page-actions{gap:8px;margin-bottom:12px}.app-shell .page-title-actions{gap:7px}.app-shell .hero{margin-bottom:15px}.app-shell .hero h1{font-size:24px}.app-shell .cards,.app-shell .saas-dashboard-cards{gap:12px}.app-shell .card{padding:15px}.app-shell .metric{font-size:25px;margin-top:5px}.app-shell .metric-note{margin-top:4px;font-size:11px}.app-shell .metric-label{font-size:12px}.app-shell .section{padding:15px}.app-shell .section-head{margin-bottom:11px;gap:10px;flex-wrap:wrap}.app-shell .section h2{font-size:17px;line-height:1.4}.app-shell .grid2{gap:14px;margin-top:14px}.app-shell .form-grid{gap:12px}.app-shell .field label{font-size:12px;margin-bottom:5px;line-height:1.4}.app-shell .field input:not([type="checkbox"]):not([type="radio"]),.app-shell .field select,.app-shell .field textarea{padding:8px 10px;font-size:13px;min-height:36px}.app-shell .field textarea{min-height:76px}.app-shell .form-actions{margin-top:12px;gap:7px;align-items:center;flex-wrap:wrap}.app-shell .btn{font-size:12px;padding:8px 12px;line-height:1.4;min-height:34px;white-space:nowrap}.app-shell .toolbar{gap:10px;margin-bottom:12px;flex-wrap:wrap}.app-shell .tabs{gap:6px;margin-bottom:12px}.app-shell .tabs a{padding:7px 11px;font-size:12px}.app-shell .quick{gap:8px}.app-shell .quick a{padding:10px 12px;font-size:13px}.app-shell .alert{padding:9px 12px;margin-bottom:12px;font-size:13px}
/* GET forms are search/filter controls; do not change business-entry forms. */
.app-shell .page form[method="get" i]{margin:0}.app-shell .page form[method="get" i] .form-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;gap:10px 12px!important;align-items:end}.app-shell .page form[method="get" i] .field{min-width:0;margin:0}.app-shell .page form[method="get" i] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select){width:100%;min-width:0;max-width:100%;height:36px;min-height:36px;padding:7px 9px;font-size:13px;box-sizing:border-box}.app-shell .page form[method="get" i] .form-actions{margin-top:10px;gap:7px}.app-shell .page .section:has(form[method="get" i]){padding:13px 15px;margin-bottom:14px}.app-shell .page .section:has(form[method="get" i])+br{display:none}.app-shell .history-filters .form-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important}
/* Dense rows with stable table headers; long reports scroll inside their panel. */
.app-shell .page .table-wrap,.app-shell .page .data-table-wrap{max-height:clamp(240px,calc(100dvh - 350px),680px);overflow:auto;position:relative;scrollbar-gutter:stable;overscroll-behavior:auto}.app-shell table{font-size:12px}.app-shell th,.app-shell td{padding:8px 10px;line-height:1.5;vertical-align:top}.app-shell table thead{position:sticky;top:0;z-index:2;background:#f2f2f2}.app-shell table thead th{background:#f2f2f2;font-size:11px;line-height:1.45}.app-shell td .btn{padding:5px 9px;min-height:28px;font-size:11px}.app-shell .status{padding:3px 7px;font-size:10px}.app-shell .history-section{padding:0}.app-shell .history-section .section-head{padding:13px 15px;margin:0}.app-shell .history-table th,.app-shell .history-table td{padding:8px 10px}.app-shell .history-meta,.app-shell .history-time{font-size:11px}.app-shell .history-count{font-size:11px}.app-shell .history-total{font-size:13px}
@media(min-width:1500px){.app-shell .page{padding-left:24px;padding-right:24px}.app-shell .page form[method="get" i] .form-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))!important}}
@media(max-width:1100px){.app-shell .page{padding:15px}.app-shell .page form[method="get" i] .form-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important}}
@media(max-width:900px){.app-shell .sidebar{width:230px}.app-shell .main-content{margin-left:0;width:100%}.app-shell .topbar{padding:7px 15px;min-height:50px}.app-shell .menu-btn{min-width:34px;min-height:34px}.app-shell .page .table-wrap,.app-shell .page .data-table-wrap{max-height:65dvh}}
@media(max-width:600px){.app-shell .page{padding:12px}.app-shell .section{padding:13px}.app-shell .page form[method="get" i] .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.app-shell .page form[method="get" i] .field.full{grid-column:1/-1}.app-shell .form-actions .btn{min-height:38px}.app-shell .page-title h1{font-size:21px}.app-shell .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .card{padding:12px}.app-shell .metric{font-size:22px}.app-shell .topbar-user{max-width:32%;overflow-wrap:anywhere}.app-shell .page .card-table .data-table-wrap{max-height:none}.app-shell .card-table .data-table tbody{gap:10px}.app-shell .card-table .data-table tr{padding:9px}.app-shell .card-table .data-table td{padding:8px}.app-shell .page .section:has(form[method="get" i]){padding:12px}.app-shell .toolbar{align-items:stretch}.app-shell .toolbar>form{width:100%}}
@media(max-width:340px){.app-shell .page form[method="get" i] .form-grid{grid-template-columns:1fr!important}}
}
