:root{color-scheme:light;--navy:#092b38;--ink:#173745;--muted:#5d7780;--teal:#08796f;--sky:#edf7f6;--line:#d6e7e8;--white:#fff}
*{box-sizing:border-box}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;background:#f3f9f8;color:var(--ink)}
button,input{font:inherit}button{cursor:pointer}a{color:inherit}button:disabled{opacity:.65;cursor:not-allowed}
button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #eba93c;outline-offset:3px}
[hidden]{display:none!important}
.topbar{background:var(--navy);color:#fff;padding:15px max(17px,calc((100vw - 1100px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}
.topbar a{text-decoration:none}.brand{display:flex;gap:6px;align-items:center;font-size:22px;white-space:nowrap}.brand strong{color:#47e6c0}.brand small{font-size:10px;letter-spacing:1px;margin-left:6px;color:#aec9d1}
.topbar nav{display:flex;gap:18px;font-weight:650;font-size:13px}
.shell{max-width:1100px;margin:auto;padding:24px 16px 60px}
.hero{text-align:center;max-width:720px;margin:12px auto 25px}.eyebrow{font-size:11px;font-weight:850;letter-spacing:1.5px;color:#08796f}
h1{font-size:clamp(32px,5.8vw,55px);line-height:1.12;letter-spacing:-1.6px;margin:12px 0}h1 span{color:var(--teal)}
.hero p{font-size:15px;line-height:1.65;color:var(--muted);margin:10px auto}
.warning{background:#fff7dd;border:1px solid #e9d393;color:#775a1d;border-radius:14px;padding:13px 18px;margin:20px auto;line-height:1.5;font-size:13px}
.layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start}
.card{background:var(--white);border:1px solid var(--line);border-radius:19px;padding:22px;box-shadow:0 12px 27px #112d3510}
.result{grid-column:span 2;max-width:100%}.step-title{display:flex;gap:11px;align-items:center}
.stepnum{width:38px;height:38px;background:#e0f5ee;display:grid;place-items:center;border-radius:50%;color:#066e62;font-weight:850;flex-shrink:0}
h2{font-size:18px;margin:5px 0 2px}.description{font-size:13px;line-height:1.6;color:var(--muted);margin:16px 0}
.scanButton{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(120deg,#066d67,#05957a);color:white;min-height:67px;border:0;border-radius:14px;font-size:17px;font-weight:850}
.scanButton span{font-size:27px}.scanButton small{font-weight:450;font-size:11px;opacity:.86}
.separator{text-align:center;color:#769093;font-size:11px;font-weight:750;letter-spacing:1.4px;padding:18px 0 11px}
.form{display:grid;gap:11px}.form label{font-size:13px;font-weight:750}.form input{width:100%;padding:15px;border:1px solid #b6cdd1;border-radius:11px;min-height:49px;text-transform:none}
.primary,.secondary{display:block;text-align:center;text-decoration:none;border:0;border-radius:11px;padding:14px 18px;font-weight:850;min-height:48px}
.primary{background:#077c70;color:#fff}.secondary{color:#06594f;background:#e2f5ee;border:1px solid #a6d8c7}
.helper{font-size:12px;color:var(--muted);line-height:1.5;margin:14px 0 0}
.durations{display:flex;gap:8px;flex-wrap:wrap;margin:19px 0 23px}
.duration{min-height:46px;min-width:76px;border-radius:10px;border:1px solid #c8dedd;background:#fff;color:#355764;font-weight:750;padding:10px}
.duration.selected{background:#076d62;border-color:#076d62;color:#fff}
.price-info{display:grid;grid-template-columns:1fr auto;gap:13px;font-size:14px;color:var(--muted);padding:15px;background:#eef8f6;border-radius:13px}
.price-info b{color:var(--ink)}.note{font-size:12px;color:var(--muted);line-height:1.65;margin-top:16px}
.empty{margin:17px 0;border:1px dashed #bed8d8;border-radius:14px;padding:21px;text-align:center;color:var(--muted)}
.empty span{font-size:44px}.empty p{font-size:13px;max-width:440px;margin:auto;line-height:1.6}
.vehicleTitle{display:flex;align-items:center;gap:15px;margin:18px 0 15px}.vehicleTitle>span:first-child{font-size:45px}.vehicleTitle b{display:block;font-size:21px}.vehicleTitle small{color:var(--muted)}.availability{margin-left:auto;font-size:11px;padding:8px;background:#e2f8ee;border-radius:30px;color:#0c6b4c;font-weight:800}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.facts>div{border-radius:12px;background:#f1f8f7;padding:13px}
.facts small{display:block;font-size:12px;color:var(--muted)}.facts b{font-size:20px}
.priceRow{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;margin:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.priceRow strong{font-size:30px;color:#076c61;white-space:nowrap}
.continue{margin:15px 0}.continue.disabled{pointer-events:none;background:#aec3c4;color:#f5ffff}
.fine{font-size:12px;line-height:1.55;color:var(--muted)}
.status{padding:12px 14px;border-radius:12px;background:#e3f3ef;color:#176256;font-size:13px;margin:17px 0;font-weight:650}
.status.error{background:#fff0e7;color:#9b3f2a}.status.success{background:#e1f9ed;color:#116143}
.textlink{font-weight:750;font-size:13px;color:#0a766e;text-decoration:none}
footer{text-align:center;font-size:12px;color:var(--muted);margin-top:30px}
.cameraBackdrop{position:fixed;inset:0;z-index:1000;background:#001820e3;display:grid;place-items:center;padding:13px}
.cameraPanel{width:100%;max-width:540px;padding:19px;background:#fff;border-radius:16px}
.cameraHead{display:flex;justify-content:space-between;gap:10px}.cameraHead h2{margin:3px 0}
.cameraHead button{width:44px;height:44px;border-radius:50%;border:1px solid #c5d5d5;background:#eef7f5;color:#295456;font-size:25px}
.cameraPanel p{font-size:13px;color:var(--muted);line-height:1.6}
.cameraPanel video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#112f35;border-radius:13px;margin:13px 0}
.cameraPanel .secondary{width:100%}
@media(max-width:760px){.layout{grid-template-columns:1fr}.result{grid-column:auto}.card{padding:17px}.shell{padding:13px 12px 50px}.topbar{padding:13px}.hero{margin:18px auto}.brand small{display:none}.duration{flex:1 1 26%}}
@media(max-width:390px){.brand{font-size:19px}.topbar nav{font-size:12px;gap:10px}.availability{font-size:10px}.scanButton{flex-wrap:wrap;padding:14px}.scanButton small{width:100%}}
