:root{--green:#006755;--green-dark:#004b40;--ink:#102421;--muted:#5b6d68;--line:#d8e3df;--surface:#f4f8f6;--white:#fff;--danger:#a63232;--success:#176b46;--shadow:0 16px 45px #0b2a231f;color:var(--ink);background:var(--surface);font-family:Arial,Segoe UI,Tahoma,sans-serif}*{box-sizing:border-box}html,body{background:var(--surface);min-height:100%;margin:0}body{line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit}button,a,summary,input,select{outline-offset:3px}:focus-visible{outline:3px solid #e48b2c}button{cursor:pointer}.portal-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#062a27,#041d1b);flex-direction:column;gap:24px;padding:24px 18px;display:flex}.portal-brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark,.auth-mark{background:var(--green);border-radius:14px;place-items:center;width:46px;height:46px;font-size:26px;font-weight:800;display:grid}.portal-brand span:last-child,.auth-brand div{display:grid}.portal-brand small,.auth-brand small{color:#b9cbc6;font-size:12px}.sidebar nav{gap:5px;display:grid}.sidebar nav a{color:#dbe8e4;border-radius:10px;padding:10px 12px;text-decoration:none}.sidebar nav a:hover,.sidebar nav a:focus-visible{color:#fff;background:#ffffff14}.sidebar-user{color:#b9cbc6;border-top:1px solid #ffffff21;gap:4px;margin-top:auto;padding-top:18px;font-size:13px;display:grid}.sidebar-user strong{color:#fff}.portal-main{min-width:0}.portal-header{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px clamp(16px,3vw,38px);display:flex;position:sticky;top:0}.demo-banner{letter-spacing:.04em;color:#7d4b0f;background:#fff4df;border:1px solid #f0d3a4;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}.header-actions{align-items:center;gap:16px;display:flex}.logout-control{justify-items:end;gap:4px;display:grid}.logout-error{max-width:240px;color:var(--danger);text-align:end;font-size:12px;line-height:1.35}.link-button,.subtle-link{color:var(--green);text-underline-offset:4px;background:0 0;border:0;font-weight:700;text-decoration:underline}.mobile-menu{display:none}.portal-content{min-width:0;max-width:1500px;margin:0 auto;padding:clamp(20px,4vw,48px)}.page-stack{gap:24px;min-width:0;display:grid}.page-heading>span,.auth-copy>span{color:var(--green);letter-spacing:.16em;font-size:12px;font-weight:800}.page-heading h1,.auth-copy h1{margin:8px 0;font-size:clamp(28px,4vw,48px);line-height:1.08}.page-heading p,.auth-copy p{color:var(--muted);max-width:680px;margin:0}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.metric-card,.module-card,.panel,.form-panel,.gate-placeholder,.setting-card,.account-card,.mobile-record{border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:0 8px 24px #0e322a0f}.metric-card{gap:5px;padding:20px;display:grid}.metric-card strong{color:var(--green);font-size:28px}.metric-card span{color:var(--muted);font-size:13px}.panel{min-width:0;padding:clamp(18px,3vw,30px)}.section-heading h2{margin:0 0 18px;font-size:22px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.module-card{padding:22px}.module-card>span,.gate-placeholder>span{color:var(--green);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800}.module-card h3,.gate-placeholder h2{margin:8px 0}.module-card p,.gate-placeholder p{color:var(--muted);margin:0}.gate-placeholder{border-left:5px solid var(--green);padding:clamp(28px,7vw,80px)}.form-panel{overflow:hidden}.form-panel>summary{color:var(--green);cursor:pointer;padding:16px 20px;font-weight:800}.action-form{gap:16px;padding:0 20px 22px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.action-form label,.auth-form label,.setting-card label{gap:6px;font-size:13px;font-weight:700;display:grid}.action-form input,.action-form select,.auth-form input,.setting-card input{width:100%;color:var(--ink);background:#fff;border:1px solid #b8cbc5;border-radius:9px;padding:11px 12px}.check-field{grid-template-columns:auto 1fr;align-self:end;align-items:center;padding:11px}.check-field input{width:auto}.primary-button,.small-button{background:var(--green);color:#fff;border:0;border-radius:9px;justify-self:start;padding:11px 18px;font-weight:800}.primary-button:hover,.small-button:hover{background:var(--green-dark)}.small-button{padding:8px 10px;font-size:12px}.form-message,.inline-error,.inline-success{overflow-wrap:anywhere}.error,.inline-error{color:var(--danger)}.success,.inline-success{color:var(--success)}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.quick-action{gap:4px;display:grid}.table-scroll{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;max-width:100%;overflow:auto}.table-scroll table{border-collapse:collapse;width:100%;min-width:760px}.table-scroll th,.table-scroll td{text-align:start;border-bottom:1px solid var(--line);vertical-align:top;padding:13px 14px}.table-scroll th{color:#294d45;background:#eaf2ef;font-size:12px}.mobile-record-list{display:none}.empty-state{color:var(--muted);background:#fff;border:1px dashed #a9bdb7;border-radius:16px;padding:32px}.compliance-page .empty-state p{overflow-wrap:anywhere}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.setting-card{padding:18px}.account-card{padding:24px}.account-card dl,.mobile-record dl{gap:12px;margin:0;display:grid}.account-card dl>div,.mobile-record dl>div{grid-template-columns:minmax(120px,.35fr) 1fr;gap:12px;display:grid}.account-card dt,.mobile-record dt{color:var(--muted);font-size:12px}.account-card dd,.mobile-record dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:700}.auth-page{background:radial-gradient(circle at 15% 10%,#d7ece5,#0000 35%),linear-gradient(140deg,#f7faf9,#eaf2ef);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);background:#fff;border-radius:22px;gap:24px;padding:clamp(24px,6vw,48px);display:grid}.auth-brand{align-items:center;gap:12px;display:flex}.auth-brand strong{font-size:18px}.auth-copy h1{font-size:36px}.auth-form{gap:16px;display:grid}.form-hint{color:var(--muted);margin:0;font-size:13px}.private-note{color:var(--muted);font-size:12px}@media (max-width:1100px){.portal-shell{grid-template-columns:230px minmax(0,1fr)}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.portal-shell{display:block}.sidebar{display:none}.portal-header{min-height:64px;position:sticky}.mobile-menu{display:block;position:relative}.mobile-menu summary{color:var(--green);cursor:pointer;align-items:center;min-height:44px;font-weight:800;display:flex}.mobile-menu nav{top:48px;border:1px solid var(--line);width:min(320px,100vw - 32px);max-height:70vh;box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:8px;display:grid;position:absolute;inset-inline-start:0;overflow:auto}.mobile-menu nav a{border-radius:8px;padding:11px;text-decoration:none}.header-actions{gap:9px}.demo-banner{display:none}.portal-content{padding:20px 16px}.summary-grid,.module-grid,.settings-grid,.form-grid{grid-template-columns:1fr}.table-scroll{display:none}.mobile-record-list{gap:12px;display:grid}.mobile-record{padding:16px}.mobile-record dl>div{grid-template-columns:1fr;gap:2px}.account-card dl>div{grid-template-columns:1fr}.primary-button{min-height:44px}.link-button,.small-button{align-items:center;min-height:44px;display:inline-flex}.page-heading h1{font-size:32px}}.maintenance-page{gap:22px;display:grid}.maintenance-page .action-form{gap:14px;display:grid}.form-panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:0}.form-panel>summary{min-height:48px;color:var(--green);cursor:pointer;padding:14px 18px;font-weight:800}.form-panel>form{border-top:1px solid var(--line);padding:18px}.tire-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.tire-layout-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:18px}.tire-layout-card h2{margin:0 0 4px;font-size:18px}.tire-layout-card p{color:var(--muted);margin:0}.tire-layout-svg{width:100%;height:auto;margin-block:16px;display:block}.vehicle-outline{fill:#eff6f3;stroke:#8aa79e;stroke-width:2px}.vehicle-divider{stroke:#8aa79e;stroke-width:2px;stroke-dasharray:6 5}.tire-position{cursor:pointer;outline:none}.tire-position rect{fill:#fff;stroke:#6f8d84;stroke-width:2px}.tire-position.occupied rect{fill:#d8eee7;stroke:var(--green)}.tire-position.warning rect{fill:#fff0cf;stroke:#b56700}.tire-position.selected rect,.tire-position:focus rect{stroke:#e06a22;stroke-width:4px}.tire-position text{fill:var(--ink);pointer-events:none;font-size:10px;font-weight:800}.selected-tire-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.selected-tire-details div{border-top:1px solid var(--line);padding-top:8px}.selected-tire-details dt{color:var(--muted);font-size:12px}.selected-tire-details dd{margin:3px 0 0;font-weight:700}@media (max-width:900px){.tire-layout-grid{grid-template-columns:1fr}}@media (max-width:430px){.tire-layout-card{padding:12px}.selected-tire-details{grid-template-columns:1fr}.portal-header{padding-inline:12px}.header-actions{font-size:13px}.auth-panel{padding:22px}.auth-copy h1{font-size:30px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.analytics-dashboard-card{color:inherit;border-inline-start:5px solid var(--green);gap:10px;text-decoration:none;display:grid}.analytics-dashboard-card:hover,.analytics-dashboard-card:focus-visible{border-color:#e06a22;box-shadow:0 12px 30px #0e322a1f}.analytics-dashboard-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.analytics-dashboard-value{gap:2px;display:grid}.analytics-dashboard-value strong{color:var(--green);font-size:24px}.analytics-dashboard-values span,.analytics-dashboard-card small,.analytics-section-heading p,.analytics-controls>p{color:var(--muted)}.analytics-demo-marker{margin:0}.analytics-accuracy-note{color:var(--muted);margin:-12px 0 0;font-size:13px}.analytics-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.analytics-section-heading{justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px;display:flex}.analytics-section-heading h2,.analytics-section-heading p{margin:0}.analytics-section-heading p{margin-top:5px;font-size:13px}.analytics-export{color:#fff;white-space:nowrap;text-decoration:none}.analytics-filter-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.analytics-filter-form label{color:var(--ink);gap:5px;font-size:12px;font-weight:700;display:grid}.analytics-filter-form input,.analytics-filter-form select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #b8cbc5;border-radius:8px;padding:8px 9px}.analytics-selected-summary{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:12px 24px;margin-top:18px;padding-top:16px;display:flex}.analytics-selected-summary strong{color:var(--green);font-size:20px}.analytics-report-grid,.analytics-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.analytics-report-grid .panel{min-width:0}.analytics-control-grid{grid-template-columns:minmax(220px,1fr) minmax(180px,auto) minmax(240px,1fr);align-items:start;margin-top:18px}@media (max-width:1100px){.analytics-kpi-grid,.analytics-filter-form,.analytics-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.analytics-dashboard-values,.analytics-kpi-grid,.analytics-report-grid,.analytics-filter-form,.analytics-control-grid{grid-template-columns:1fr}.analytics-dashboard-values{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-section-heading{display:grid}.analytics-export,.analytics-filter-form .primary-button{justify-content:center;width:100%}}.inline-role-form{flex-wrap:wrap;align-items:start;gap:6px;display:flex}.inline-role-form label{display:block}.inline-role-form select{min-width:150px;min-height:44px;color:var(--ink);background:#fff;border:1px solid #b8cbc5;border-radius:9px;padding:8px}.inline-role-form .primary-button{min-height:44px;padding:8px 10px;font-size:12px}.inline-role-form .form-message{flex-basis:100%;margin:0;font-size:12px}.sales-page{scroll-behavior:smooth}.sales-subnav{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;gap:8px;padding:10px;display:flex}.sales-subnav a{min-height:42px;color:var(--green);border-radius:9px;align-items:center;padding:8px 12px;font-weight:750;text-decoration:none;display:inline-flex}.sales-subnav a:hover,.sales-subnav a:focus-visible{background:#eaf2ef}.sales-filter-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.sales-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.sales-filter-form label{gap:5px;min-width:0;font-size:12px;font-weight:700;display:grid}.sales-filter-form input,.sales-filter-form select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #b8cbc5;border-radius:8px;padding:8px 9px}.sales-page>.panel>.form-panel{margin-bottom:18px}@media (max-width:1100px){.sales-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.sales-report-grid,.sales-filter-form{grid-template-columns:1fr}.sales-subnav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (max-width:430px){.sales-subnav{grid-template-columns:1fr}}.report-links{flex-wrap:wrap;gap:10px 18px;margin-top:18px;display:flex}.report-links a{color:var(--green);font-weight:700}.vehicle-profile-tabs,.certificate-status-tabs,.tire-action-links{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;gap:8px;padding:10px;display:flex}.vehicle-profile-tabs a,.certificate-status-tabs a,.tire-action-links a{min-height:42px;color:var(--green);border-radius:8px;align-items:center;padding:8px 12px;font-weight:750;text-decoration:none;display:inline-flex}.vehicle-profile-tabs a:hover,.vehicle-profile-tabs a:focus-visible,.certificate-status-tabs a:hover,.certificate-status-tabs a:focus-visible,.tire-action-links a:hover,.tire-action-links a:focus-visible{background:#eaf2ef}.detail-grid,.selected-tire-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.detail-grid>div,.selected-tire-details>div{border-bottom:1px solid var(--line);min-width:0;padding:10px 0}.detail-grid dt,.selected-tire-details dt{color:var(--muted);font-size:12px;font-weight:700}.detail-grid dd,.selected-tire-details dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:750}.service-line-fields{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr);gap:12px;padding-top:12px;display:grid}.tire-detail-panel{z-index:80;border-inline-start:1px solid var(--line);background:#fff;width:min(480px,94vw);padding:24px;position:fixed;inset-block:0;inset-inline-end:0;overflow-y:auto;box-shadow:0 0 42px #05231d38}.tire-history-block{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.tire-history-block h5{color:var(--green);margin:14px 0 6px;font-size:14px}.tire-history-block p,.tire-history-block ul{color:var(--muted);font-size:13px;line-height:1.55}.vehicle-page .panel h3{margin:26px 0 12px}.data-warning{color:#6a3b16;background:#fff7ee;border-inline-start:4px solid #e06a22;padding:12px 16px;font-size:13px;font-weight:700}.compliance-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.report-toolbar{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;display:flex}.report-toolbar label{gap:5px;font-size:12px;font-weight:700;display:grid}.report-toolbar input{background:#fff;border:1px solid #b8cbc5;border-radius:8px;min-height:42px;padding:8px 9px}.report-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.report-module-grid dl{gap:7px;margin:0;display:grid}.report-module-grid dl div{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding-top:7px;display:flex}.report-module-grid dt{color:var(--muted);text-transform:capitalize}.report-module-grid dd{margin:0;font-weight:800}@media (max-width:1024px){.compliance-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.report-module-grid{grid-template-columns:1fr}}@media (max-width:520px){.compliance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid,.selected-tire-details,.service-line-fields{grid-template-columns:1fr}.vehicle-profile-tabs,.certificate-status-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tire-detail-panel{width:100%;padding:18px}}@media print{.portal-header,.portal-nav,.form-panel-grid,.maintenance-filters,.report-toolbar,.report-links,.data-warning{display:none!important}.management-report{box-shadow:none;border:0}}.maintenance-filters{border:1px solid var(--line);background:#f7faf9;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;padding:14px;display:grid}.maintenance-filters label{gap:5px;min-width:0;font-size:12px;font-weight:700;display:grid}.maintenance-filters input,.maintenance-filters select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #b8cbc5;border-radius:8px;padding:8px 9px}.filter-actions{align-items:center;gap:14px;display:flex}.filter-actions a{color:var(--green);font-weight:700}@media (max-width:900px){.maintenance-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.maintenance-filters{grid-template-columns:1fr}}.compact-action-form,.stacked-action,.signature-form{gap:10px;display:grid}.compact-action-form{min-width:230px}.compact-action-form label,.signature-form label{gap:5px;font-size:12px;font-weight:700;display:grid}.compact-action-form input,.compact-action-form select,.signature-form input{border:1px solid #b8cbc5;border-radius:8px;width:100%;padding:8px 9px}.compact-action-form .primary-button{min-height:40px;padding:8px 10px}.signature-page{max-width:820px;margin-inline:auto}.signature-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.signature-summary div{border-bottom:1px solid var(--line);padding-bottom:10px}.signature-summary dt{color:var(--muted);font-size:12px}.signature-summary dd{margin:3px 0 0;font-weight:700}.signature-canvas{touch-action:none;cursor:crosshair;background:#fff;border:2px dashed #87a49c;border-radius:12px;width:100%;height:210px}.signature-check{font-size:14px!important}@media (max-width:768px){.signature-summary{grid-template-columns:1fr}.signature-canvas{height:190px}}
