/* Fleetnex Stage 2 additions: forms, authentication and portal */
.public-alert{padding:13px 20px;text-align:center;font-weight:700}.public-alert-success{color:#176b45;background:#e7f7ee}.public-alert-error{color:#9d3030;background:#fdeaea}
.form-page-hero{padding:88px 0 74px;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(16,167,163,.18),transparent 35%),linear-gradient(145deg,#08111f,#132033)}.form-page-hero h1{margin:0 auto;max-width:820px;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1;letter-spacing:-.055em}.form-page-hero p{max-width:720px;margin:22px auto 0;color:rgba(255,255,255,.68);font-size:1.04rem}.application-section{background:#f7f9fc}.form-container{max-width:980px}.application-form{display:grid;gap:24px}.form-section{padding:34px;border:1px solid #dbe2ea;border-radius:22px;background:#fff;box-shadow:0 12px 35px rgba(8,17,31,.06)}.form-section-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:28px}.form-section-heading>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:#155fc0;background:#eaf2ff;font-size:.76rem;font-weight:850}.form-section-heading h2{margin:0;color:#0b1320;font-size:1.55rem;letter-spacing:-.035em}.form-section-heading p{margin:3px 0 0;color:#64748b;font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-field{display:grid;align-content:start;gap:7px}.form-field-full{grid-column:1/-1}.form-field label,.decision-form label,.filter-bar label{color:#334155;font-size:.84rem;font-weight:750}.form-field input,.form-field textarea,.form-field select,.decision-form textarea,.filter-bar select{width:100%;border:1px solid #c7d0dc;border-radius:11px;background:#fff;color:#172033;outline:none;transition:border .18s ease,box-shadow .18s ease}.form-field input,.form-field select,.filter-bar select{height:48px;padding:0 13px}.form-field textarea,.decision-form textarea{padding:12px 13px;resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.decision-form textarea:focus,.filter-bar select:focus{border-color:#1a73e8;box-shadow:0 0 0 4px rgba(26,115,232,.1)}.form-field small{color:#64748b;font-size:.75rem}.checkbox-field label{display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid #dbe2ea;border-radius:12px;background:#f7f9fc}.checkbox-field input{width:18px;height:18px;margin-top:2px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:28px}.button-outline{color:#334155;background:#fff;border-color:#c7d0dc;box-shadow:none}.button-danger{background:#c83f3f;box-shadow:0 10px 28px rgba(200,63,63,.2)}.form-alert{margin-bottom:24px;padding:16px 18px;border-radius:13px;font-size:.88rem}.form-alert strong{display:block;margin-bottom:5px}.form-alert ul{margin:5px 0 0;padding-left:20px}.form-alert-error{color:#8e3030;border:1px solid #f4caca;background:#fff0f0}
.auth-page{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:70px 20px;background:radial-gradient(circle at 80% 20%,rgba(16,167,163,.13),transparent 35%),#f7f9fc}.auth-card{width:min(100%,520px);padding:38px;border:1px solid #dbe2ea;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(8,17,31,.12)}.auth-card-wide{width:min(100%,760px)}.auth-heading{text-align:center;margin-bottom:27px}.auth-heading h1{margin:0;color:#0b1320;font-size:2.3rem;line-height:1.06;letter-spacing:-.045em}.auth-heading p{margin:12px 0 0;color:#64748b}.auth-footnote{text-align:center;margin:22px 0 0;color:#64748b;font-size:.88rem}.auth-footnote a{color:#1a73e8;font-weight:750}
.portal-body{margin:0;background:#f4f7fb}.portal-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.portal-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 18px;color:rgba(255,255,255,.72);background:#08111f;overflow-y:auto}.portal-brand{padding:0 10px 22px;border-bottom:1px solid rgba(255,255,255,.08)}.portal-identity{display:flex;align-items:center;gap:11px;padding:22px 10px}.portal-avatar{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;color:#fff;background:linear-gradient(135deg,#1a73e8,#10a7a3);font-weight:850}.portal-identity>div{min-width:0;display:grid}.portal-identity strong{overflow:hidden;color:#fff;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.portal-identity span:not(.portal-avatar){overflow:hidden;color:rgba(255,255,255,.48);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.portal-nav{display:grid;gap:5px;margin-top:6px}.portal-nav a,.portal-nav-disabled{display:flex;align-items:center;min-height:42px;padding:9px 12px;border-radius:9px;font-size:.86rem;font-weight:650}.portal-nav a:hover,.portal-nav a.active{color:#fff;background:rgba(255,255,255,.09)}.portal-nav-disabled{color:rgba(255,255,255,.30);cursor:not-allowed}.portal-signout{margin-top:auto;padding-top:24px}.portal-signout button{width:100%;min-height:42px;border:1px solid rgba(255,255,255,.1);border-radius:9px;color:rgba(255,255,255,.72);background:rgba(255,255,255,.04);cursor:pointer}.portal-main{min-width:0}.portal-topbar{height:76px;display:flex;align-items:center;gap:16px;padding:0 30px;border-bottom:1px solid #dbe2ea;background:#fff}.portal-topbar>div{display:grid;line-height:1.2}.portal-page-label{color:#64748b;font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.portal-topbar strong{font-size:1.05rem}.portal-site-link{margin-left:auto;color:#1a73e8;font-size:.83rem;font-weight:750}.portal-menu-toggle{display:none;width:40px;height:40px;border:1px solid #dbe2ea;border-radius:9px;background:#fff}.portal-content{padding:30px}.portal-alert{margin-bottom:20px;padding:14px 16px;border-radius:11px;font-weight:700}.portal-alert-success{color:#176b45;background:#e7f7ee}.portal-alert-error{color:#9d3030;background:#fdeaea}.portal-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.portal-metric{min-height:150px;display:flex;flex-direction:column;padding:22px;border:1px solid #dbe2ea;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(8,17,31,.04)}.portal-metric>span{color:#64748b;font-size:.8rem;font-weight:700}.portal-metric>strong{margin-top:12px;color:#0b1320;font-size:2.15rem;line-height:1}.portal-metric>a,.portal-metric>small{margin-top:auto;color:#64748b;font-size:.76rem}.portal-metric>a{color:#1a73e8;font-weight:750}.portal-panel{padding:24px;border:1px solid #dbe2ea;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(8,17,31,.04)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.panel-label{display:block;color:#64748b;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.panel-heading h2{margin:2px 0 0;color:#0b1320;font-size:1.25rem;letter-spacing:-.03em}.panel-link,.back-link{color:#1a73e8;font-size:.82rem;font-weight:750}.portal-table-wrap{overflow-x:auto}.portal-table{width:100%;border-collapse:collapse}.portal-table th{padding:11px 12px;border-bottom:1px solid #dbe2ea;color:#64748b;font-size:.7rem;text-align:left;text-transform:uppercase;letter-spacing:.06em}.portal-table td{padding:14px 12px;border-bottom:1px solid #eef2f7;font-size:.84rem;vertical-align:middle}.portal-table td small{display:block;color:#64748b;margin-top:2px}.portal-table td>a{color:#1a73e8;font-weight:750}.empty-table{text-align:center;color:#64748b;padding:38px!important}.status-pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:.69rem;font-weight:850}.status-pending{color:#966000;background:#fff1d5}.status-approved{color:#17724a;background:#e6f7ee}.status-rejected{color:#a33737;background:#fdeaea}.status-suspended{color:#6648a3;background:#eee9fb}.filter-bar{display:flex;align-items:end;gap:12px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eef2f7}.filter-bar>div{display:grid;gap:5px;min-width:160px}.clear-filter{padding:10px;color:#64748b;font-size:.82rem}.pagination-wrap{margin-top:22px}.portal-grid{display:grid;gap:20px}.portal-grid-two{grid-template-columns:1fr 1fr}.portal-grid-review{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);align-items:start}.review-column,.decision-column{display:grid;gap:20px}.review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.review-header h1{margin:7px 0 0;color:#0b1320;font-size:2rem;letter-spacing:-.04em}.review-header p{margin:4px 0 0;color:#64748b}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#eef2f7;border:1px solid #eef2f7;border-radius:12px;overflow:hidden}.detail-grid>div{min-height:86px;display:grid;align-content:center;gap:4px;padding:15px;background:#fff}.detail-grid span,.detail-list span,.status-summary span{color:#64748b;font-size:.72rem;font-weight:700}.detail-grid strong,.detail-list strong,.status-summary strong{overflow-wrap:anywhere;font-size:.86rem}.detail-full{grid-column:1/-1}.detail-list{display:grid;gap:0;border:1px solid #eef2f7;border-radius:12px;overflow:hidden}.detail-list>div{display:grid;gap:3px;padding:14px;border-bottom:1px solid #eef2f7}.detail-list>div:last-child{border-bottom:0}.sticky-panel{position:sticky;top:96px}.decision-form{display:grid;gap:10px}.decision-divider{position:relative;margin:20px 0;text-align:center}.decision-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#eef2f7}.decision-divider span{position:relative;padding:0 10px;color:#64748b;background:#fff;font-size:.75rem}.decision-result p{color:#4b596b}.decision-result small{color:#64748b}.status-card{padding:30px;border:1px solid #dbe2ea;border-radius:20px;background:#fff}.status-card-large{max-width:850px;margin:25px auto;text-align:center;padding:48px}.status-symbol{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 20px;border-radius:50%;color:#fff;background:#27a36a;font-size:1.5rem;font-weight:850}.status-kicker{color:#1a73e8;font-size:.77rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.status-card h1{margin:9px 0 0;color:#0b1320;font-size:2.4rem;letter-spacing:-.045em}.status-card>p{max-width:650px;margin:14px auto;color:#64748b}.status-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:30px 0;background:#eef2f7;border:1px solid #eef2f7;border-radius:13px;overflow:hidden;text-align:left}.status-summary>div{display:grid;gap:4px;padding:15px;background:#fff}.status-text-pending{color:#966000}.application-status-message{padding:20px;border-radius:13px;background:#f7f9fc;margin-bottom:18px}.application-status-message h3{margin:0}.application-status-message p{margin:7px 0 0;color:#64748b}.timeline{display:grid}.timeline-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:10px;padding-bottom:24px}.timeline-item:before{content:"";position:absolute;left:5px;top:12px;bottom:0;width:2px;background:#dbe2ea}.timeline-item:last-child:before{display:none}.timeline-dot{position:relative;z-index:1;width:12px;height:12px;margin-top:5px;border:3px solid #dcecff;border-radius:50%;background:#1a73e8}.timeline-item p{margin:4px 0;color:#64748b;font-size:.84rem}.timeline-item small{color:#94a3b8}.welcome-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:28px;border-radius:20px;color:#fff;background:radial-gradient(circle at 90% 20%,rgba(16,167,163,.28),transparent 35%),linear-gradient(135deg,#0b1320,#1c2d45)}.welcome-panel h1{margin:5px 0 0;font-size:2rem;letter-spacing:-.04em}.welcome-panel p{max-width:680px;margin:8px 0 0;color:rgba(255,255,255,.66)}.welcome-panel .panel-label{color:#72ded8}.empty-state{text-align:center;padding:55px}.empty-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 18px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#1a73e8,#10a7a3);font-weight:850}.empty-state h2{margin:0}.empty-state p{max-width:620px;margin:9px auto 0;color:#64748b}
@media(max-width:1050px){.portal-metrics{grid-template-columns:repeat(2,1fr)}.portal-grid-review{grid-template-columns:1fr}.sticky-panel{position:static}.portal-grid-two{grid-template-columns:1fr}.status-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.form-grid{grid-template-columns:1fr}.form-field-full{grid-column:auto}.portal-shell{grid-template-columns:1fr}.portal-sidebar{position:fixed;left:0;top:0;z-index:200;width:270px;transform:translateX(-102%);transition:transform .22s ease}.portal-menu-open .portal-sidebar{transform:translateX(0)}.portal-menu-toggle{display:inline-grid;place-items:center}.portal-content{padding:20px}.portal-topbar{padding:0 20px}.review-header{flex-direction:column}.welcome-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.form-section,.auth-card{padding:22px;border-radius:18px}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions .button{width:100%}.portal-metrics{grid-template-columns:1fr}.portal-content{padding:14px}.portal-panel{padding:18px}.status-card-large{padding:28px 20px}.status-card h1{font-size:1.9rem}.status-summary{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-full{grid-column:auto}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar>div{min-width:0}.welcome-panel h1{font-size:1.65rem}.portal-site-link{display:none}}


/* Fleetnex Stage 3: garage directory and network connections */
.portal-error-list{margin:8px 0 0;padding-left:20px}.directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}.directory-heading h1{margin:5px 0 0;color:#0b1320;font-size:2.25rem;letter-spacing:-.045em}.directory-heading p{max-width:720px;margin:7px 0 0;color:#64748b}.directory-filter-panel{margin-bottom:20px}.garage-search-form{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;align-items:end;gap:14px}.garage-search-actions{display:flex;gap:8px}.directory-result-summary{display:flex;align-items:baseline;gap:7px;margin:22px 2px;color:#64748b}.directory-result-summary strong{color:#0b1320;font-size:1.5rem}.garage-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.garage-directory-card{display:flex;flex-direction:column;padding:23px;border:1px solid #dbe2ea;border-radius:19px;background:#fff;box-shadow:0 9px 28px rgba(8,17,31,.05)}.garage-directory-card-top{display:flex;align-items:flex-start;gap:13px}.garage-directory-logo,.garage-profile-logo{display:grid;place-items:center;flex:0 0 auto;border-radius:14px;color:#fff;background:linear-gradient(135deg,#1a73e8,#10a7a3);font-weight:850}.garage-directory-logo{width:48px;height:48px}.garage-directory-card h2{margin:2px 0 0;color:#0b1320;font-size:1.18rem;line-height:1.15;letter-spacing:-.03em}.garage-directory-card-top p{margin:4px 0 0;color:#64748b;font-size:.78rem}.verified-label{display:block;color:#1a73e8;font-size:.64rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.garage-card-description{min-height:76px;margin:19px 0 14px;color:#4b596b;font-size:.87rem}.garage-service-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.garage-service-tags span{padding:5px 8px;border-radius:8px;color:#334155;background:#eef2f7;font-size:.68rem;font-weight:750}.garage-card-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:auto 0 18px;border:1px solid #eef2f7;border-radius:11px;overflow:hidden;background:#eef2f7}.garage-card-facts>div{display:grid;gap:3px;padding:11px 8px;background:#fff}.garage-card-facts span{color:#64748b;font-size:.62rem}.garage-card-facts strong{font-size:.72rem}.garage-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:18px 0 22px;padding:28px;border-radius:20px;color:#fff;background:radial-gradient(circle at 88% 20%,rgba(16,167,163,.28),transparent 34%),linear-gradient(135deg,#0b1320,#1c2d45)}.garage-profile-identity{display:flex;align-items:center;gap:17px}.garage-profile-logo{width:66px;height:66px;font-size:1.1rem}.garage-profile-hero h1{margin:4px 0 0;font-size:2rem;letter-spacing:-.04em}.garage-profile-hero p{margin:3px 0 0;color:rgba(255,255,255,.6)}.garage-profile-layout{grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);align-items:start}.garage-profile-main{display:grid;gap:20px}.garage-profile-side{min-width:0}.profile-description{margin:0;color:#4b596b;white-space:pre-line}.service-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-list-item{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #eef2f7;border-radius:10px}.service-list-item span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#10a7a3;background:#dff8f6;font-size:.72rem;font-weight:900}.service-list-item strong{font-size:.83rem}.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.capability-grid>div{display:flex;align-items:center;gap:8px;padding:11px;border-radius:10px;font-size:.78rem}.capability-active{color:#17724a;background:#e6f7ee}.capability-inactive{color:#7b8798;background:#f2f4f7}.location-panel{display:grid;gap:1px;border:1px solid #eef2f7;border-radius:12px;overflow:hidden;background:#eef2f7}.location-panel>div{display:grid;gap:4px;padding:15px;background:#fff}.location-panel span,.commercial-terms-grid span,.decision-meta span{color:#64748b;font-size:.72rem;font-weight:700}.pre-line{white-space:pre-line}.side-panel-title{margin:5px 0 10px;color:#0b1320;font-size:1.38rem;letter-spacing:-.03em}.muted-copy{color:#64748b}.connection-request-form{display:grid;gap:13px;margin-top:20px}.network-heading{align-items:center}.table-actions-cell{text-align:right}.table-action-button{border:0;color:#c83f3f;background:transparent;font-size:.8rem;font-weight:750;cursor:pointer}.compact-empty-state{text-align:center;padding:38px}.compact-empty-state strong{font-size:1.1rem}.compact-empty-state p{margin:6px 0 20px;color:#64748b}.profile-warning{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px;padding:20px 22px;border:1px solid #f0d39a;border-radius:15px;background:#fff8e8}.profile-warning p{margin:4px 0 0;color:#7e6740;font-size:.86rem}.switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:26px}.switch-card,.service-checkbox-card{display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid #dbe2ea;border-radius:12px;background:#fff;cursor:pointer}.switch-card input,.service-checkbox-card input{width:18px;height:18px;flex:0 0 auto;margin-top:2px}.switch-card span,.service-checkbox-card span{display:grid;gap:2px}.switch-card strong,.service-checkbox-card strong{font-size:.85rem}.switch-card small,.service-checkbox-card small{color:#64748b;font-size:.73rem}.service-checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.service-checkbox-card:has(input:checked),.switch-card:has(input:checked){border-color:#8fbaf4;background:#f4f8ff}.connection-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #eef2f7}.connection-filter-tabs a{padding:8px 13px;border-radius:9px;color:#64748b;background:#f4f7fb;font-size:.8rem;font-weight:750}.connection-filter-tabs a.active{color:#fff;background:#1a73e8}.connection-review-header{margin-top:18px}.connection-message{padding:18px;border-radius:12px;color:#334155;background:#f7f9fc;white-space:normal}.commercial-terms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:18px;border:1px solid #eef2f7;border-radius:11px;overflow:hidden;background:#eef2f7}.commercial-terms-grid>div{display:grid;gap:4px;padding:14px;background:#fff}.decision-meta{display:grid;gap:3px;margin-top:18px;padding:13px;border-radius:10px;background:#f7f9fc}.status-ended{color:#526071;background:#e9edf2}
@media(max-width:1200px){.garage-directory-grid{grid-template-columns:repeat(2,1fr)}.garage-search-form{grid-template-columns:repeat(2,1fr)}.garage-search-actions{align-self:end}.garage-profile-layout{grid-template-columns:1fr}.garage-profile-side .sticky-panel{position:static}}
@media(max-width:800px){.directory-heading,.garage-profile-hero,.profile-warning{align-items:flex-start;flex-direction:column}.garage-directory-grid{grid-template-columns:1fr}.service-checkbox-grid{grid-template-columns:repeat(2,1fr)}.switch-grid{grid-template-columns:1fr}.capability-grid{grid-template-columns:repeat(2,1fr)}.commercial-terms-grid{grid-template-columns:1fr}.garage-profile-identity{align-items:flex-start}.garage-search-form{grid-template-columns:1fr}.garage-search-actions{width:100%}.garage-search-actions .button{flex:1}}
@media(max-width:560px){.service-checkbox-grid,.service-list-grid,.capability-grid{grid-template-columns:1fr}.garage-card-facts{grid-template-columns:1fr}.garage-profile-identity{flex-direction:column}.garage-profile-hero h1{font-size:1.65rem}}
