:root{color:#18201f;font-synthesis:none;--accent:#176b5b;--accent-dark:#0e4e43;--green-soft:#e8f4f0;--border:#dfe5e3;--muted:#66726f;--amber:#bd6810;background:#f4f6f7;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.container{width:min(1160px,100% - 40px);margin:0 auto}.eyebrow{color:var(--accent);letter-spacing:.15em;font-size:11px;font-weight:800}.eyebrow.amber{color:var(--amber)}h1,h2,h3,p{margin-top:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafbfbeb;border-bottom:1px solid #d7dedcd9;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;width:min(1160px,100% - 40px);height:68px;margin:auto;display:flex}.logo{color:#192422;letter-spacing:.12em;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:13px;font-weight:800;display:flex}.logo span{color:#fff;background:var(--accent);letter-spacing:-.05em;border-radius:9px;place-items:center;width:32px;height:32px;font-size:11px;display:grid}.header-side{align-items:center;gap:20px;font-size:13px;display:flex}.nav-link,.logout{color:#52605d;background:0 0;border:0;padding:7px}.nav-link{color:#22302d;font-weight:700}.user-name{border-left:1px solid var(--border);padding-left:20px;font-weight:700}.logout:hover,.nav-link:hover{color:var(--accent)}.primary,.secondary,.warning-button,.upload-button{border:0;border-radius:10px;justify-content:center;align-items:center;gap:14px;min-height:44px;padding:0 18px;font-size:13px;font-weight:800;display:inline-flex}.primary{background:var(--accent);color:#fff;box-shadow:0 7px 20px #176b5b29}.primary:hover{background:var(--accent-dark)}.primary:disabled,.secondary:disabled{opacity:.55;cursor:wait}.full{width:100%}.secondary{border:1px solid var(--border);color:#42504d;background:#fff}.login-page{background:#102f2a;grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-brand{color:#fff;flex-direction:column;justify-content:space-between;min-height:100vh;padding:46px max(48px,8vw);display:flex;position:relative;overflow:hidden}.login-brand:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-150px;right:-160px;box-shadow:0 0 0 90px #ffffff06,0 0 0 180px #ffffff05}.login-brand .logo{color:#fff;z-index:1}.login-brand .logo span{color:var(--accent);background:#fff}.login-copy{z-index:1;max-width:620px;margin:auto 0}.login-copy .eyebrow{color:#86cdbc}.login-copy h1{letter-spacing:-.045em;margin:18px 0 22px;font-size:clamp(40px,5vw,68px);line-height:1.06}.login-copy p{color:#b8cbc7;max-width:510px;font-size:16px;line-height:1.7}.login-panel{background:#f5f7f7;place-items:center;padding:40px;display:grid}.login-card{border:1px solid var(--border);background:#fff;border-radius:22px;width:min(420px,100%);padding:42px;box-shadow:0 22px 70px #06241e1a}.login-card h2{letter-spacing:-.03em;margin:10px 0 8px;font-size:28px}.login-card>p{color:var(--muted);margin-bottom:30px}.login-card label{color:#34423f;margin:16px 0;font-size:13px;font-weight:700;display:block}.login-card input{background:#fbfcfc;border:1px solid #d7dfdd;border-radius:10px;outline:none;width:100%;height:48px;margin-top:8px;padding:0 14px;display:block}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #176b5b17}.login-card .primary{margin-top:10px}.form-error{color:#a73f32;background:#fff0ed;border-radius:8px;padding:10px 12px;font-size:12px}.demo-hint{text-align:center;color:#7a8583;margin:18px 0;font-size:12px}.switch-login{width:100%;color:var(--accent);background:0 0;border:0;font-size:12px;font-weight:800}.client-page{padding:42px 0 70px}.car-hero{justify-content:space-between;gap:40px;margin-bottom:30px;display:flex}.car-hero h1{letter-spacing:-.04em;margin:8px 0 10px;font-size:34px}.car-hero h1 span{color:#84908d;font-weight:500}.route-major{margin-bottom:5px;font-size:15px;font-weight:700}.route-major b{color:var(--accent);margin:0 7px}.route-detail{color:var(--muted);font-size:13px}.vehicle-meta{border:1px solid var(--border);background:#fff;border-radius:14px;grid-template-columns:1.5fr .7fr .8fr;align-self:center;min-width:430px;padding:20px 25px;display:grid}.vehicle-meta div+div{border-left:1px solid var(--border);padding-left:18px}.vehicle-meta span,.status-meta span{color:#87928f;letter-spacing:.12em;font-size:9px;font-weight:800;display:block}.vehicle-meta strong{margin-top:7px;font-size:12px;display:block}.action-card{color:#653c0d;background:#fff6e8;border:1px solid #f2d6ae;border-radius:16px;grid-template-columns:46px 1fr;align-items:start;gap:18px;margin:0 0 18px;padding:24px;display:grid}.action-icon{color:#fff;background:#d57a16;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.action-card h2{margin:7px 0 4px;font-size:19px}.action-amount{font-size:27px;font-weight:800}.action-card p{color:#856239;max-width:650px;margin:8px 0 0;font-size:13px;line-height:1.6}.status-card{color:#fff;background:#143f37;border-radius:20px;grid-template-columns:1.6fr .8fr;display:grid;overflow:hidden;box-shadow:0 18px 45px #0d393126}.status-main{padding:34px 38px}.status-card .eyebrow{color:#8dd1c1}.status-title-row{justify-content:space-between;align-items:start;gap:20px;display:flex}.status-title-row h2{letter-spacing:-.03em;margin:12px 0 14px;font-size:30px;line-height:1.25}.percent{letter-spacing:-.06em;color:#a4dfd1;font-size:42px;font-weight:800}.status-summary{color:#c4d7d2;max-width:610px;font-size:14px;line-height:1.65}.progress-track,.mini-progress{background:#ffffff24;border-radius:8px;height:7px;overflow:hidden}.progress-track{margin-top:27px}.progress-track span,.mini-progress span{background:#66c2ac;border-radius:8px;height:100%;display:block}.progress-labels{color:#91aaa4;justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.status-meta{background:#021a162e;align-content:center;gap:20px;padding:28px 32px;display:grid}.status-meta>div:not(:last-child){border-bottom:1px solid #ffffff1c;padding-bottom:17px}.status-meta strong{margin-top:7px;font-size:13px;line-height:1.4;display:block}.status-meta .all-good,.status-meta .need-action{color:#a9dfd2;background:#6bc7b021;border-radius:9px;padding:12px 13px;font-size:11px;font-weight:800}.status-meta .need-action{color:#ffd596;background:#f4ae4b29}.journey-card{border:1px solid var(--border);background:#fff;border-radius:18px;margin-top:24px;padding:32px 38px 40px}.section-title{justify-content:space-between;align-items:end;gap:20px;display:flex}.section-title h2{letter-spacing:-.03em;margin:8px 0 0;font-size:24px}.section-title>span{color:var(--muted);font-size:12px}.phase-strip{grid-template-columns:3fr 3fr 2fr 5fr 3fr;margin:34px 0 50px;display:grid}.phase{color:#9ba5a3;position:relative}.phase-line{align-items:center;height:24px;display:flex}.phase-line:after{content:"";background:#e1e6e5;flex:1;height:2px}.phase-line span{background:#fff;border:2px solid #d8dfdd;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:9px;font-weight:800;display:grid}.phase:last-child .phase-line:after{display:none}.phase strong,.phase small{display:block}.phase strong{text-transform:uppercase;letter-spacing:.08em;margin-top:7px;font-size:9px}.phase small{margin-top:3px;font-size:9px}.phase.done .phase-line span{color:#fff;border-color:var(--accent);background:var(--accent)}.phase.done .phase-line:after{background:var(--accent)}.phase.done strong,.phase.active strong{color:var(--accent)}.phase.active .phase-line span{color:#fff;background:var(--accent);border:5px solid #b9ddd4}.timeline{max-width:760px;margin:auto}.timeline-item{grid-template-columns:40px 1fr;min-height:105px;display:grid;position:relative}.timeline-item:before{content:"";background:#e1e6e5;width:2px;position:absolute;top:25px;bottom:-5px;left:13px}.timeline-item.completed:before{background:#77b6a7}.timeline-item:last-child:before{display:none}.timeline-marker{z-index:1;color:#aab3b1;background:#fff;border:2px solid #dbe1e0;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid;position:relative}.timeline-item.completed .timeline-marker{color:#fff;background:var(--accent);border-color:var(--accent)}.timeline-item.current .timeline-marker{color:#fff;background:var(--accent);border:6px solid #c3e3db;font-size:8px}.timeline-content{padding:1px 0 27px 10px}.timeline-heading{align-items:center;gap:10px;display:flex}.timeline-heading h3{margin:0;font-size:15px}.timeline-item.future .timeline-heading h3{color:#98a19f;font-weight:600}.now-badge{color:var(--accent);background:var(--green-soft);letter-spacing:.1em;border-radius:5px;padding:4px 7px;font-size:8px;font-weight:800;display:inline-flex}.stage-date{color:#84908d;margin-top:6px;font-size:11px}.stage-date.accent{color:var(--accent);font-weight:700}.timeline-content p{color:#74807d;margin:8px 0;font-size:12px;line-height:1.55}.payment-pill{color:var(--accent);background:#eef5f3;border-radius:7px;margin-top:7px;padding:7px 10px;font-size:10px;font-weight:800;display:inline-block}.payment-pill.pending{color:var(--amber);background:#fff2df}.photo-link{color:var(--accent);background:0 0;border:0;align-items:center;gap:8px;padding:9px 0 0;font-size:11px;font-weight:800;display:flex}.photo-stack{font-size:18px}.modal{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#081412cc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.gallery{background:#fff;border-radius:16px;width:min(780px,100%);max-height:92vh;padding:24px;position:relative;overflow:auto}.gallery h3{padding-right:40px}.modal-close{background:#edf1f0;border:0;border-radius:50%;width:36px;height:36px;font-size:23px;position:absolute;top:14px;right:17px}.gallery-main{object-fit:contain;background:#edf0ef;border-radius:10px;width:100%;max-height:62vh}.gallery-thumbs{gap:8px;margin-top:12px;display:flex}.gallery-thumbs button{background:0 0;border:2px solid #0000;border-radius:7px;width:70px;height:54px;padding:2px}.gallery-thumbs button.selected{border-color:var(--accent)}.gallery-thumbs img{object-fit:cover;border-radius:4px;width:100%;height:100%}footer{border-top:1px solid var(--border);color:#929c99;justify-content:space-between;align-items:center;width:min(1160px,100% - 40px);height:90px;margin:auto;font-size:10px;display:flex}.admin-page,.admin-detail{padding:42px 0 80px}.admin-title{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.admin-title h1{letter-spacing:-.04em;margin:7px 0 5px;font-size:36px}.admin-title p{color:var(--muted);margin:0;font-size:13px}.cars-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.admin-car-card{border:1px solid var(--border);background:#fff;border-radius:17px;padding:26px}.car-card-top{justify-content:space-between;align-items:center;display:flex}.car-avatar{color:#fff;background:#1d5147;border-radius:12px;place-items:center;width:45px;height:45px;font-size:12px;font-weight:800;display:grid}.in-transit{color:var(--accent);background:var(--green-soft);letter-spacing:.1em;border-radius:5px;padding:5px 8px;font-size:8px;font-weight:800}.client-name{color:var(--muted);margin-top:23px;font-size:12px;font-weight:600}.admin-car-card h2{letter-spacing:-.03em;margin:5px 0;font-size:23px}.vin-small{color:#929c99;font-size:10px}.mini-status{background:#f5f7f7;border-radius:10px;margin:22px 0 16px;padding:17px}.mini-status span,.mini-status strong,.mini-status small{display:block}.mini-status span{color:#8b9592;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.mini-status strong{margin:6px 0;font-size:13px}.mini-status small{color:var(--muted);font-size:10px}.mini-progress{background:#e3e9e7}.mini-progress span{background:var(--accent)}.card-progress-label{color:#7a8582;justify-content:space-between;margin:7px 0 22px;font-size:9px;display:flex}.back{color:var(--accent);background:0 0;border:0;margin-bottom:20px;padding:0;font-size:12px;font-weight:800}.admin-car-hero{color:#fff;background:#163f37;border-radius:16px 16px 0 0;justify-content:space-between;align-items:end;padding:25px 28px;display:flex}.admin-car-hero .eyebrow{color:#8ccabb}.admin-car-hero h1{margin:7px 0 5px;font-size:28px}.admin-car-hero p{color:#b6cbc6;margin:0;font-size:11px}.detail-progress{text-align:right}.detail-progress strong,.detail-progress span{display:block}.detail-progress strong{color:#9fdbcd;font-size:35px}.detail-progress span{color:#a9c0ba;font-size:10px}.current-admin{border:1px solid var(--border);background:#fff;border-top:0;border-radius:0 0 16px 16px;grid-template-columns:145px 260px 1fr;align-items:center;gap:24px;padding:19px 28px;display:grid}.current-admin span{color:var(--accent);letter-spacing:.12em;font-size:9px;font-weight:800}.current-admin strong{font-size:13px}.current-admin p{color:var(--muted);margin:0;font-size:11px}.admin-content{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;margin-top:18px;display:grid}.stages-panel,.admin-sidebar{border:1px solid var(--border);background:#fff;border-radius:16px}.stages-panel{padding:27px 30px}.admin-stages{margin-top:28px}.admin-stage{grid-template-columns:37px 1fr;min-height:100px;display:grid;position:relative}.admin-stage:before{content:"";background:#e1e6e5;width:2px;position:absolute;top:25px;bottom:-1px;left:12px}.admin-stage:last-child:before{display:none}.admin-marker{z-index:1;color:#a3adab;background:#fff;border:2px solid #d7dfdd;border-radius:50%;place-items:center;width:26px;height:26px;font-size:10px;display:grid;position:relative}.admin-stage.completed .admin-marker{color:#fff;background:var(--accent);border-color:var(--accent)}.admin-stage.current .admin-marker{color:#fff;background:var(--accent);border:5px solid #bde0d7;font-size:7px}.admin-stage-body{padding:0 0 28px 5px}.admin-stage-head{justify-content:space-between;gap:14px;display:flex}.stage-position{color:#96a09d;letter-spacing:.1em;font-size:8px;font-weight:800}.admin-stage h3{margin:4px 0;font-size:14px}.admin-stage.future h3{color:#919b98;font-weight:600}.admin-stage-meta{color:#8b9592;font-size:10px}.admin-payment{color:var(--accent);background:#eef5f3;border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 4px;padding:12px 14px;font-size:10px;font-weight:700;display:flex}.admin-payment>div span,.admin-payment>div strong{display:block}.admin-payment>div strong{margin-top:3px;font-size:15px}.admin-payment.pending{color:#9b5b12;background:#fff3e1}.warning-button{color:#fff;background:#c5761e;min-height:35px;font-size:10px}.admin-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.admin-actions .primary{min-height:37px;font-size:10px}.upload-button{min-height:37px;color:var(--accent);cursor:pointer;background:#fff;border:1px solid #ced8d5;font-size:10px}.upload-button input{display:none}.photo-count{color:var(--accent);font-size:10px;font-weight:800}.admin-sidebar{padding:24px;position:sticky;top:88px}.admin-sidebar h3{margin-bottom:22px;font-size:15px}.admin-sidebar dl{margin:0}.admin-sidebar dt{color:#929c99;letter-spacing:.1em;text-transform:uppercase;margin-top:17px;font-size:8px;font-weight:800}.admin-sidebar dd{color:#35423f;overflow-wrap:anywhere;margin:5px 0 0;font-size:11px;line-height:1.5}.loading{min-height:250px;color:var(--muted);justify-content:center;align-items:center;gap:12px;font-size:12px;display:flex}.loading span{border:2px solid #d4dcda;border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-error{text-align:center;place-content:center;justify-items:center;min-height:80vh;padding:30px;display:grid}.page-error p{color:var(--muted)}@media (width<=840px){.login-page{background:#f5f7f7;grid-template-columns:1fr}.login-brand{background:#123b33;min-height:auto;padding:25px}.login-copy{display:none}.login-panel{padding:24px 18px 45px}.login-card{padding:30px 25px}.car-hero{display:block}.vehicle-meta{min-width:0;margin-top:22px}.status-card{grid-template-columns:1fr}.status-meta{grid-template-columns:1fr 1fr}.status-meta .all-good,.status-meta .need-action{grid-column:1/-1}.cars-grid,.admin-content{grid-template-columns:1fr}.admin-sidebar{order:-1;position:static}}@media (width<=600px){.container,.topbar-inner,footer{width:min(100% - 28px,1160px)}.topbar-inner{height:58px}.logo{font-size:11px}.logo span{width:29px;height:29px}.header-side{gap:8px}.nav-link,.user-name{display:none}.logout{font-size:11px}.client-page,.admin-page,.admin-detail{padding-top:27px}.car-hero h1{font-size:27px}.route-detail{white-space:normal;line-height:1.55}.vehicle-meta{grid-template-columns:1.4fr .6fr;padding:16px}.vehicle-meta div:nth-child(3){display:none}.status-main{padding:25px 22px}.status-title-row h2{font-size:23px}.percent{font-size:33px}.status-summary{font-size:13px}.status-meta{padding:20px 22px}.status-meta>div:not(:last-child){padding-bottom:12px}.action-card{grid-template-columns:36px 1fr;padding:18px}.action-icon{width:34px;height:34px}.journey-card{margin-left:-2px;margin-right:-2px;padding:25px 18px 30px}.phase-strip{grid-template-columns:1fr;gap:0;margin:27px 0 38px 2px}.phase{grid-template-rows:20px 18px;grid-template-columns:37px 1fr;min-height:52px;display:grid}.phase-line{flex-direction:column;grid-row:1/3;align-items:start;height:52px}.phase-line:after{width:2px;height:auto;min-height:28px;margin-left:11px}.phase:last-child{min-height:26px}.phase strong{margin:2px 0 0;font-size:9px}.phase small,.timeline{margin:0}.timeline-item{grid-template-columns:34px 1fr}.timeline-content{padding-left:3px}.timeline-heading{flex-wrap:wrap;align-items:flex-start}.timeline-heading h3{font-size:14px}.section-title{align-items:start}.section-title>span{text-align:right}.admin-title{align-items:start;gap:12px}.admin-title h1{font-size:29px}.admin-title .secondary{white-space:nowrap;min-height:40px;padding:0 11px;font-size:10px}.admin-car-card{padding:21px}.admin-car-hero{align-items:start;padding:21px}.admin-car-hero h1{font-size:22px}.detail-progress strong{font-size:28px}.current-admin{grid-template-columns:1fr;gap:6px;padding:17px 20px}.stages-panel{padding:22px 17px}.admin-stage{grid-template-columns:32px 1fr}.admin-stage-head,.admin-payment{align-items:start}.gallery{padding:17px}footer{height:75px}footer>span{display:none}}
