/* TRANSPORT CONTROL 1.1.0 — Admin responsive polish + centered request wizard */
:root{--ink:#172b3d;--muted:#657a88;--accent:#0e7978;--deep:#102b3c;--bg:#f4f7f9;--line:#e2e9ed;--shadow:0 7px 28px rgba(17,52,70,.035)}
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #0a8385;outline-offset:2px}
/* Admin: consistent dashboard shell */
.admin-page{background:#f4f7f9;font-size:13px}
.admin-page .app-shell{grid-template-columns:246px minmax(0,1fr)}
.admin-page .sidebar{padding:23px 12px 16px;background:#102c3b;border-right:1px solid #1c4250;gap:4px}
.admin-page .side-brand{padding:3px 12px 20px;font-size:13px;gap:11px;min-height:65px;letter-spacing:-.01em}
.admin-page .side-brand small{font-size:9px;margin-top:3px;letter-spacing:.12em;color:#8bb3bd}
.admin-page .side-nav{padding:0 3px 10px 0}
.admin-page .nav-group-label{font-size:9px;font-weight:780;color:#7b9ba9;letter-spacing:.12em;margin:21px 11px 8px}
.admin-page .side-nav a{padding:11px 12px;border-radius:10px;gap:11px;color:#bfd0da;font-size:12px;letter-spacing:.005em;margin:1px 0}
.admin-page .side-nav a.active{background:#166f72;box-shadow:inset 3px 0 #6dccc0;color:#fff}
.admin-page .side-nav a:hover{background:#244858}
.admin-page .nav-icon{width:19px;font-size:16px;flex-shrink:0}
.admin-page .side-footer{padding:15px 5px 3px;justify-content:start;gap:10px}
.admin-page .avatar-dot{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#1e6872;color:white;flex-shrink:0}
.admin-page .side-user{min-width:0;flex:1;overflow-wrap:anywhere;line-height:1.3}
.admin-page .side-user small{margin-top:4px}
.admin-page .logout{background:#214555;color:#e6f3f3;border:0;font-size:18px;width:34px;height:34px}
.admin-page .topbar{height:70px;padding:0 clamp(18px,3vw,38px);background:#fff;gap:11px;position:sticky;top:0;z-index:50}
.admin-page .topbar-heading strong{font-size:14px;line-height:1.3}
.admin-page .topbar-heading small{font-size:11px}
.admin-page .main-content{max-width:1510px;padding:29px clamp(18px,3vw,40px) 75px}
.admin-page .page-head{margin-bottom:21px;align-items:end}
.admin-page .page-head h1{font-size:clamp(23px,2vw,29px)}
.admin-page .page-head p{font-size:12px;margin-top:7px;max-width:680px}
.admin-page .panel{padding:23px;border-radius:14px;box-shadow:none;border-color:#dfe8ed;min-width:0}
.admin-page .panel h2{font-size:17px}
.admin-page .panel h3{font-size:14px}
.admin-page .section-block{margin-top:17px}
.admin-page .metrics{gap:13px}
.admin-page .metric{padding:19px 17px;border-radius:13px;box-shadow:0 3px 8px #082b3b06}
.admin-page .metric strong{font-size:clamp(17px,1.65vw,23px)}
.admin-page .metric small{font-size:11px;font-weight:650}
.admin-page .dashboard-columns{margin-top:17px;gap:16px}
.admin-page .form-grid{gap:13px 16px}
.admin-page .field>span{font-size:11.5px}
.admin-page .field input,.admin-page .field select,.admin-page .field textarea,.admin-page .searchbar input{min-height:41px;background:#fff;max-width:100%;font-size:12px}
.admin-page .btn{padding:9px 14px;font-size:12px}
.admin-page .btn-sm{padding:7px 10px;font-size:11px}
.admin-page .table-scroll{overflow:auto;max-width:100%;scrollbar-color:#a9bec7 transparent;scrollbar-width:thin}
.admin-page table{width:100%;min-width:680px}
.admin-page th,.admin-page td{padding:12px 11px;white-space:normal;overflow-wrap:anywhere;max-width:340px;vertical-align:top}
.admin-page thead th{font-size:10px;white-space:nowrap}
.admin-page td{font-size:12px}
.admin-page .form-actions{margin-top:18px}
.admin-page .inline-fields{gap:10px;align-items:end}
.admin-page .inline-fields .field{min-width:155px;flex:1}
.admin-page .pay-controls{flex-wrap:wrap;min-width:165px}
.admin-page .pay-controls input{width:105px}
.admin-page .searchbar{max-width:610px}
.admin-page .searchbar input{min-width:0}
.admin-page .detail-grid{gap:16px}
.admin-page .detail-grid strong{font-size:12px;line-height:1.55}
.admin-page .items-table td input,.admin-page .items-table td select{min-width:70px}
.admin-page .items-table{min-width:760px}
.admin-page .settings-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:17px;align-items:start}
.admin-page .settings-grid .panel p{margin:12px 0;line-height:1.75}
.admin-page .setting-row{display:grid;grid-template-columns:minmax(200px,2fr) minmax(150px,1.15fr) minmax(110px,.9fr) auto;gap:10px;align-items:end}
.admin-page .setting-row label{display:flex;flex-direction:column;gap:4px;min-width:0}
.admin-page .setting-row label span{font-size:10px;font-weight:600;color:#607a85}
.admin-page .setting-row input,.admin-page .setting-row select,.admin-page .setting-add input,.admin-page .setting-add select{width:100%;min-width:0;min-height:37px;border:1px solid #d7e2e7;border-radius:8px;padding:7px 10px;background:white;color:#213b4b}
.admin-page .setting-status{padding:8px 0}
.admin-page .setting-toggle{display:inline-block;margin-top:9px}
.admin-page .manage-table tbody td{background:#fff;padding:14px 12px}
.admin-page .manage-table thead th{display:none}
.admin-page .manage-table thead{display:none}
.admin-page .setting-add{background:#f5faf9;border:1px dashed #c6ddda;padding:19px;border-radius:12px;margin-top:20px}
.admin-page .setting-add h3{margin:0 0 13px}
.admin-page .setting-add-form{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:end;gap:11px}
.admin-page .setting-add-form .field{margin:0}
.admin-page .customer-address{padding:12px 0;border-bottom:1px solid #e9eff2}
.admin-page .customer-address:last-child{border-bottom:0}
.admin-page .customer-address strong{font-size:12px}
.admin-page .customer-address p{margin-top:4px;font-size:12px;line-height:1.6}
/* Public wizard single centered form only */
.request-only{min-height:100vh;background:radial-gradient(circle at 3% 0%,#e3f4f1,transparent 28%),radial-gradient(circle at 96% 92%,#e8f1f8,transparent 35%),#f6f8fa}
.request-only .site-footer{display:none}
.wizard-shell{max-width:880px;margin:0 auto;padding:35px 18px 60px}
.wizard-brand{display:flex;align-items:center;justify-content:center;gap:11px;margin:3px auto 32px;font-size:16px;font-weight:800;color:#173747}
.wizard-brand .brand-icon{width:37px;height:37px;border-radius:12px}
.wizard-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.085em;color:#547380;font-weight:800;margin-bottom:11px}
.wizard-topline span:last-child{text-transform:none;letter-spacing:0;font-size:11px}
.wizard-meter{height:5px;border-radius:999px;background:#dce7e9;overflow:hidden}
.wizard-meter span{width:20%;display:block;height:100%;background:linear-gradient(90deg,#0a7475,#35a5a0);border-radius:999px;transition:width .25s ease}
.wizard-step-labels{display:flex;justify-content:space-between;gap:7px;color:#829aa4;font-size:10px;font-weight:600;margin:11px 0 24px}
.wizard-card{background:#fff;border:1px solid #dde8ea;border-radius:19px;box-shadow:0 20px 65px rgba(34,75,85,.065);padding:clamp(20px,4vw,43px);min-height:350px}
.wizard-step{margin:0;padding:0;border:0;min-width:0}
.wizard-intro{margin-bottom:25px}
.wizard-intro h1{font-size:clamp(26px,3.4vw,34px);line-height:1.14;color:#153748;letter-spacing:-.035em}
.wizard-intro p{max-width:600px;font-size:13px;margin-top:10px;line-height:1.6}
.step-pill{display:inline-block;padding:5px 10px;background:#eaf5f2;color:#087c75;border-radius:100px;font-size:10px;letter-spacing:.07em;font-weight:800;margin-bottom:13px}
.wizard-card .field{gap:8px;margin-bottom:11px}
.wizard-card .field>span{font-size:12px;color:#2c4b59;font-weight:700}
.wizard-card .field input,.wizard-card .field select,.wizard-card .field textarea{min-height:47px;background:#fff;border-color:#d6e2e8;font-size:13px}
.wizard-card .field select:disabled,.wizard-card .field input:disabled{opacity:1;background:#edf2f4;color:#80939e;cursor:not-allowed}
.wizard-card .form-grid{gap:13px 18px;margin:0}
.wizard-card .field small{font-size:11px;line-height:1.45}
.wizard-actions{border-top:1px solid #e9eff2;padding-top:21px;margin-top:26px;display:flex;justify-content:space-between;gap:12px}
.wizard-actions #wizardNext,.wizard-actions #wizardSubmit{margin-left:auto;min-width:170px}
.wizard-actions .btn{min-height:44px}
.wizard-error{background:#ffeaec;color:#a52939;border:1px solid #f3c8d0;border-radius:10px;padding:12px 14px;font-size:12px;margin-top:14px}
.wizard-bottom-note{font-size:11px;text-align:center;margin:18px auto;max-width:520px}
.address-block{padding:17px;border:1px solid #dde9ed;border-radius:13px;margin:17px 0;background:#fcfefe}
.address-heading{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.address-heading strong{font-size:14px}
.address-heading span{color:#75909a;font-size:11px}
.same-address{display:flex;align-items:center;gap:9px;border-radius:9px;background:#ebf5f3;padding:13px 15px;cursor:pointer;font-size:12px;font-weight:750;color:#22565e;margin:15px 0}
.same-address input{accent-color:#0e7978;width:18px;height:18px}
.region-notice{background:#edf5f8;color:#4e7484;padding:11px 13px;font-size:11px;border-radius:9px}
.region-notice.error{background:#fff2ec;color:#9a4b24}
.region-notice .btn{margin-left:9px}
.form-tip{background:#f0f7f7;border-left:3px solid #7fbbb5;border-radius:8px;padding:13px 15px;color:#54717a;font-size:12px;margin:22px 0 0;line-height:1.65}
.request-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.request-summary>div{border:1px solid #e7eff1;border-radius:10px;padding:12px 15px;min-width:0}
.request-summary small{font-size:11px;display:block;color:#7c919c;margin-bottom:4px}
.request-summary strong{font-size:12px;display:block;line-height:1.5;overflow-wrap:anywhere;white-space:normal}
.request-summary>div:nth-child(3),.request-summary>div:nth-child(4),.request-summary>div:nth-child(10),.request-summary>div:nth-child(11){grid-column:1/-1}
.wizard-card .check-row{font-size:12px;margin-top:20px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1170px){.admin-page .settings-grid{grid-template-columns:1fr}.admin-page .main-content{padding:24px 23px 50px}}
@media(max-width:760px){
 .admin-page .sidebar{z-index:200}
 .admin-page .app-shell{display:block}
 .admin-page .topbar{height:64px;padding:0 16px}
 .admin-page .topbar button#menuToggle{display:block}
 .admin-page .topbar-heading small{font-size:10px}
 .admin-page .topbar .topbar-public{display:inline-flex;font-size:10px;padding:7px 9px}
 .admin-page .topbar-profile{display:none}
 .admin-page .main-content{padding:19px 14px 45px}
 .admin-page .panel{padding:17px}
 .admin-page .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .admin-page .metric{padding:15px}
 .admin-page .page-head{align-items:start}
 .admin-page .setting-row{grid-template-columns:1fr 1fr;gap:11px}
 .admin-page .setting-row label:first-of-type{grid-column:1/-1}
 .admin-page .setting-add-form{grid-template-columns:1fr 1fr}
 .admin-page .setting-add-form button{grid-column:1/-1}
 .admin-page .manage-table{min-width:470px}
 .admin-page .detail-grid{grid-template-columns:1fr 1fr}
 .wizard-shell{padding:19px 14px 40px}
 .wizard-brand{margin-bottom:22px}
 .wizard-card{border-radius:16px;padding:21px 18px}
 .wizard-card .form-grid{grid-template-columns:1fr;gap:12px}
 .wizard-card .span-all{grid-column:1/-1}
 .wizard-step-labels{font-size:9px}
 .address-block{padding:13px}
 .request-summary{grid-template-columns:1fr}
 .request-summary>div{grid-column:1/-1}
}
@media(max-width:470px){
 .admin-page .topbar .topbar-public{font-size:0;gap:0;padding:9px}
 .admin-page .topbar .topbar-public::after{content:'Form ↗';font-size:11px}
 .admin-page .metrics{grid-template-columns:1fr 1fr}
 .admin-page .metric strong{font-size:17px}
 .admin-page .setting-row{grid-template-columns:1fr}
 .admin-page .setting-row label:first-of-type{grid-column:auto}
 .admin-page .setting-add-form{grid-template-columns:1fr}
 .admin-page .setting-add-form button{grid-column:auto}
 .wizard-topline{font-size:9px}
 .wizard-step-labels span:nth-child(2),.wizard-step-labels span:nth-child(4){display:none}
 .wizard-actions #wizardNext,.wizard-actions #wizardSubmit{min-width:130px}
}
@media(max-width:760px){
 .admin-page .manage-table{min-width:0;width:100%}
 .admin-page .manage-table tbody,.admin-page .manage-table tr,.admin-page .manage-table td{display:block;width:100%;min-width:0}
 .admin-page .manage-table tbody tr{border-bottom:1px solid #e1e9ec}
 .admin-page .manage-table tbody td{max-width:none}
 .admin-page .panel-heading:has(+ .table-scroll .manage-table){align-items:flex-start;flex-direction:column;gap:2px}
}
/* TRANSPORT CONTROL V1.2.0 — 3-step form refinements */
.wizard-shell{max-width:920px}
.wizard-meter span{width:33.333%}
.wizard-step-labels{font-size:11px;gap:10px}
.wizard-step-labels span{flex:1;text-align:center}
.wizard-step-labels span:first-child{text-align:left}
.wizard-step-labels span:last-child{text-align:right}
.wizard-card{padding:clamp(22px,4vw,42px)}
.section-label{border-top:1px solid #e8eef0;margin:28px 0 12px;padding-top:24px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.section-label span{letter-spacing:.09em;font-weight:800;font-size:11px;color:#1c5860}
.section-label small{font-size:11px;color:#718994}
.delivery-block{background:#f8fbfc;border:1px solid #dce9ec;border-radius:13px;padding:17px;margin:20px 0}
.choice-title{display:block;font-size:13px;color:#1d4555;margin-bottom:11px}
.choice-title em{color:#dc5c62}
.delivery-choices{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.delivery-choice{cursor:pointer;display:flex;align-items:start;gap:12px;padding:14px;border:1px solid #dbe7e9;border-radius:11px;background:white;transition:border-color .15s,background .15s}
.delivery-choice:has(input:checked){border-color:#0c8580;background:#edf9f7}
.delivery-choice input{width:17px;height:17px;accent-color:#097e7a;margin-top:3px;flex-shrink:0}
.delivery-choice b{display:block;font-size:12px;color:#214353;line-height:1.45}
.delivery-choice small{display:block;font-size:10.5px;line-height:1.45;margin-top:5px;color:#6e8591}
.agreement-block{margin:22px 0 0;border:1px solid #b9dcd5;background:#f1faf8;border-radius:13px;padding:18px}
.agreement-block>strong{font-size:13px;color:#145950}
.agreement-block>p{font-size:11.5px;line-height:1.6;margin-top:6px}
.agreement-block .check-row{background:#fff;border:1px solid #d7e9e5;border-radius:10px;padding:12px 13px;margin-top:12px;line-height:1.6;color:#375d63}
.agreement-block .check-row input{min-width:17px;min-height:17px}
.privacy-confirm{border-top:1px solid #e5ecef;padding-top:18px}
.request-summary>div:nth-child(n){grid-column:auto}
.request-summary>div:nth-child(4),.request-summary>div:nth-child(5),.request-summary>div:nth-child(12),.request-summary>div:nth-child(13){grid-column:1/-1}
@media(max-width:760px){
 .wizard-step-labels{font-size:10px;gap:6px}
 .wizard-step-labels span{display:block!important}
 .wizard-step-labels span:nth-child(2),.wizard-step-labels span:nth-child(3){display:block!important}
 .section-label{flex-direction:column;gap:5px}
 .delivery-choices{grid-template-columns:1fr}
 .delivery-block,.agreement-block{padding:13px}
 .request-summary>div:nth-child(n){grid-column:1/-1}
}
@media(max-width:430px){.wizard-step-labels{font-size:9px}}

/* V1.3.0: photo-led fleet selection styled after provided rental UI reference */
.request-only{background:linear-gradient(135deg,#f0f2f4 0%,#f9fbfc 44%,#eaf1f2 100%)}
.wizard-shell{max-width:950px;padding-top:24px}
.wizard-brand{margin-bottom:22px}
.wizard-card{border-radius:16px;box-shadow:0 18px 54px rgba(17,38,53,.08)}
.wizard-meter span{background:linear-gradient(90deg,#e63b42,#f06e62)}
.step-pill{background:#fff1f1;color:#b9343b}
.wizard-step-labels{font-weight:750;color:#87949a}
.wizard-card .btn-primary{background:#d63b42;border-color:#d63b42;color:#fff}
.wizard-card .btn-primary:hover{background:#ba2633}
.catalogue-title{margin-top:15px}
.fleet-catalog{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}
.fleet-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:17px;align-items:center;border:1px solid #e2e9eb;background:#fff;border-radius:13px;padding:14px;transition:border-color .16s,box-shadow .16s}
.fleet-card:hover{border-color:#eeaaad;box-shadow:0 7px 26px rgba(38,55,70,.05)}
.fleet-card.is-selected{border-color:#d43e44;box-shadow:0 0 0 2px rgba(212,62,68,.11)}
.fleet-cover{border-radius:9px;border:1px solid #e9eef0;background:#f7fafb;display:grid;place-items:center;overflow:hidden;height:112px}
.fleet-cover img{width:100%;height:100%;object-fit:contain}
.fleet-placeholder{display:flex;flex-direction:column;align-items:center;gap:1px;color:#718d9b;font-size:10px}
.fleet-placeholder svg{width:125px;height:76px}
.fleet-info{min-width:0}.fleet-info>strong{display:block;font-size:16px;font-weight:800;color:#163442}
.fleet-info p{font-size:11px;color:#627c89;margin:7px 0;line-height:1.5}
.fleet-tags{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0}.fleet-tags span{padding:4px 9px;border-radius:6px;background:#f1f5f7;color:#546d76;font-size:10px;font-weight:700}
.fleet-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-top:7px}.fleet-price small{font-size:10px;color:#7b929c}.fleet-price strong{font-size:15px;color:#bd3039;white-space:nowrap}.fleet-price span{font-size:10px;color:#82909a}
.fleet-select .btn{white-space:nowrap;min-width:94px;font-size:12px;background:#db3f46;border:1px solid #db3f46;color:#fff}
.fleet-card.is-selected .fleet-select .btn{background:#136f68;border-color:#136f68}
.fleet-recommend{border:1px dashed #b2c9cc;background:#f7fbfb;border-radius:10px;padding:12px 14px;font-size:12px;color:#48626f;cursor:pointer;text-align:left}
.fleet-recommend.is-active{background:#eaf7f5;border-color:#188078;color:#075c57;font-weight:800}
.fleet-disclaimer{font-size:11px;color:#738994;line-height:1.6;margin:11px 0 25px}
.catalogue-empty{padding:17px;border:1px dashed #b7c9cf;border-radius:10px;background:#f8fafb}.catalogue-empty strong{font-size:13px}.catalogue-empty p{font-size:12px;margin-top:7px}
.fleet-current-photo{display:flex;align-items:center;gap:14px;padding:10px;border:1px solid #e2eaed;border-radius:10px}.fleet-current-photo img{width:135px;height:90px;object-fit:contain;border-radius:8px;background:#f1f6f6}.fleet-current-photo small{font-size:11px;color:#657783}
@media(max-width:650px){.fleet-placeholder small{display:none}.fleet-card{grid-template-columns:96px minmax(0,1fr);gap:11px;padding:11px}.fleet-cover{height:87px}.fleet-placeholder svg{width:90px;height:54px}.fleet-info>strong{font-size:13px}.fleet-price strong{font-size:12px}.fleet-select{grid-column:1/-1}.fleet-select .btn{width:100%}.fleet-info p{font-size:10px}}
