:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#193a31;background:#f5f7f4;font-synthesis:none;--green:#165b45;--line:#dce4de;--muted:#64766c}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #d3aa55;outline-offset:4px}.wrap{max-width:1220px;margin:auto;padding:0 38px}.top{height:88px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.logo{font-weight:800;letter-spacing:-.7px;font-size:23px;display:flex;align-items:center;gap:10px}.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--green);color:white;font-size:21px}.logo small{font-size:10px;letter-spacing:1.4px;display:block;font-weight:600}.top nav{margin-left:auto;display:flex;align-items:center;gap:25px;font-size:14px}.btn{border:1px solid var(--line);border-radius:9px;padding:12px 19px;display:inline-flex;justify-content:center;align-items:center;gap:9px;background:white;color:#254b3b;font-weight:600;font-size:14px}.btn.solid{background:var(--green);border-color:var(--green);color:white}.eyebrow{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:1.9px;color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(36px,5.3vw,66px);line-height:1.08;letter-spacing:-2.5px;font-weight:650}h2{font-size:30px;letter-spacing:-1px}h3{font-size:18px;letter-spacing:-.4px}.muted{color:var(--muted);line-height:1.7}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;padding:78px 0 72px;align-items:center}.hero p{max-width:440px;font-size:16px;line-height:1.8}.hero h1 em{font-style:normal;color:#448167}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.micro{font-size:12px;color:var(--muted)}.hero-art{border-radius:28px;min-height:390px;background:#e4ece3;position:relative;padding:38px;overflow:hidden}.route-art{position:absolute;inset:0;background:linear-gradient(35deg,transparent 40%,#f4f7ef 40%,#f4f7ef 47%,transparent 47%),linear-gradient(145deg,transparent 30%,#cfded2 30%,#cfded2 32%,transparent 32%);opacity:.8}.sample-ticket{position:relative;background:white;max-width:285px;margin:auto;border-radius:18px;box-shadow:0 24px 60px #274d3420;padding:24px;transform:rotate(-3deg)}.sample-ticket .ticket-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}.parking-symbol{background:#e9f2ec;border-radius:12px;color:var(--green);font-size:25px;font-weight:bold;padding:12px 19px}.ticket-plate{font-size:25px;font-weight:700;letter-spacing:3px;padding:20px 0}.sample-row{display:flex;justify-content:space-between;font-size:12px;margin:14px 0}.sample-check{background:#edf4ee;border-radius:10px;padding:13px;font-size:12px;text-align:center}.demo-label{position:relative;margin:20px 0 0;text-align:center;font-size:11px;color:#506c59;letter-spacing:1px}.section{padding:55px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin:35px 0 10px}.step-num{font-size:12px;color:#678271;display:inline-block;border-bottom:2px solid #bfd2c3;padding-bottom:10px;margin-bottom:20px}.steps p{font-size:14px}.account-callout{background:#e8eee5;border-radius:20px;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:30px}.account-callout p{margin:0;font-size:14px}.footer{display:flex;justify-content:space-between;padding:30px 0;color:#6c7f71;font-size:12px;border-top:1px solid var(--line);gap:20px}.previewbar{background:#f0e3c8;color:#654e25;text-align:center;padding:9px;font-size:12px;line-height:1.5}.dashboard{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 38px)}.sidebar{background:#123e31;color:#e0e9e2;padding:30px 20px;display:flex;flex-direction:column;gap:38px}.sidebar .logo{font-size:19px}.sidebar .mark{background:#e3ecd8;color:#17432e}.sidebar nav{display:grid;gap:8px}.sidebar nav a{padding:12px;font-size:14px;border-radius:8px}.sidebar nav a.active{background:#ffffff14;color:white}.side-bottom{margin-top:auto;font-size:12px;color:#afc8b9;line-height:1.8}.dashboard-main{padding:35px 42px;min-width:0}.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px;gap:20px}.dash-header h1{font-size:31px;letter-spacing:-1px;margin:6px 0 0}.avatar{border-radius:50%;background:#e2eadf;width:38px;height:38px;display:grid;place-items:center;font-size:12px;font-weight:750}.dash-user{display:flex;align-items:center;gap:11px;font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.stat small{font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:31px;font-weight:600;letter-spacing:-1px;margin:13px 0 8px}.stat p{font-size:12px;color:var(--muted);margin:0}.panel{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;margin:25px 0}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:22px;gap:15px}.panel-head h2{font-size:19px;margin:0}.search{border:1px solid var(--line);padding:10px 12px;border-radius:8px;min-width:0;background:#fbfcfa;font-size:13px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:11px;letter-spacing:.4px;color:#77867e;font-weight:500;background:#f8faf7;padding:13px 22px;white-space:nowrap}td{padding:20px 22px;border-top:1px solid #edf0ea;white-space:nowrap}td strong{font-weight:600}td small{display:block;color:#7a887f;margin-top:5px;font-size:11px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:20px;background:#e9f3eb;color:#296347;font-size:11px;padding:6px 10px;white-space:nowrap}.pill::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.pill.offline{background:#faeee9;color:#a65f49}.pill.unknown{background:#f1f0e9;color:#817543}.text-button{background:none;border:0;color:var(--green);font-size:13px;font-weight:600;padding:4px}.connection-note{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;line-height:1.6}.dot{width:6px;height:6px;border-radius:50%;background:#6d9979}.empty{padding:30px;color:var(--muted);font-size:14px;line-height:1.8}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-grid .panel{padding:24px;margin:0}.details dl{display:grid;grid-template-columns:1fr 1fr;font-size:14px;gap:20px}.details dt{color:var(--muted)}.details dd{margin:0;overflow-wrap:anywhere}.back{display:inline-block;font-size:13px;margin-bottom:20px;color:var(--green)}.account-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;max-width:950px;margin:65px auto;align-items:start}.account-form{padding:32px;background:white;border:1px solid var(--line);border-radius:16px}.account-form h2{font-size:26px}.account-form .btn{display:flex;width:100%;margin:12px 0}.account-form label{display:block;font-size:12px;margin:25px 0 8px}.account-form input{width:100%;border:1px solid var(--line);border-radius:8px;padding:13px}.account-form .info{font-size:12px;line-height:1.7;color:var(--muted);padding-top:18px;border-top:1px solid var(--line)}.account-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.notice{font-size:13px;line-height:1.7;background:#eef3ea;padding:16px;border-radius:10px}.hidden{display:none!important}[role=status]{line-height:1.6}dialog{border:1px solid var(--line);border-radius:15px;padding:28px;max-width:450px;width:90%;color:#193a31}dialog::backdrop{background:#142d2160}.preview-nav{display:flex;gap:16px;justify-content:center}.preview-nav a{font-weight:600;text-decoration:underline}.error{color:#a04332}.admin-login{max-width:430px;margin:90px auto} @media(max-width:900px){.hero{gap:25px}.wrap{padding:0 22px}.dashboard{grid-template-columns:180px 1fr}.dashboard-main{padding:25px}.stat-grid{gap:10px}.stat{padding:15px}.top nav{gap:14px}.top nav a.optional{display:none}}@media(max-width:650px){.top{height:74px;gap:15px}.logo{font-size:19px}.top nav{gap:10px}.hero{grid-template-columns:1fr;padding:45px 0;gap:30px}.hero h1{font-size:44px}.hero-art{min-height:330px}.steps{grid-template-columns:1fr;gap:16px}.step-num{margin-bottom:10px}.account-callout{display:block;padding:24px}.account-callout .btn{margin-top:20px}.dashboard{display:block}.sidebar{padding:15px 20px;gap:20px}.sidebar nav{display:flex;gap:8px;flex-wrap:wrap}.sidebar .side-bottom{display:none}.dashboard-main{padding:24px 16px}.dash-header{align-items:start}.dash-user .user-label{display:none}.stat-grid{grid-template-columns:1fr}.stat{display:grid;grid-template-columns:1fr auto;gap:8px}.stat strong{grid-column:2;grid-row:1/3;margin:0}.stat p{grid-column:1}.panel-head{align-items:start;flex-direction:column}.detail-grid,.account-layout{grid-template-columns:1fr}.account-layout{margin:35px 0;gap:20px}.footer{flex-wrap:wrap}.section-head{display:block}.preview-nav{gap:10px;flex-wrap:wrap}}
.parking-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.parking-choice{display:flex;align-items:center;gap:16px;background:white;border:1px solid var(--line);border-radius:12px;padding:22px;transition:background .15s}.parking-choice:hover{background:#edf4ed}.parking-icon{display:grid;place-items:center;background:#e9f2ec;color:var(--green);width:44px;height:44px;border-radius:10px;font-size:24px;font-weight:700;flex-shrink:0}.parking-choice strong{display:block;font-size:16px}.parking-choice small{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.6}.parking-choice>span:last-child{margin-left:auto}#parkSearch{width:min(100%,460px);padding:15px} @media(max-width:650px){.parking-directory{grid-template-columns:1fr}.parking-choice{padding:18px}}
.simple-home .wrap{max-width:1000px}.parking-first{padding:48px 0 32px}.parking-first h1{font-size:clamp(32px,4.4vw,48px);letter-spacing:-1.8px;margin:12px 0}.parking-first .intro{font-size:16px;margin-bottom:25px}.search-label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.simple-home #parkSearch{width:100%;max-width:none;background:white;font-size:16px;padding:17px}.simple-home .parking-directory{grid-template-columns:1fr;gap:10px;margin:12px 0 24px}.simple-home .parking-choice{padding:17px 20px}.simple-home .parking-choice .parking-cta{font-size:13px;font-weight:650;background:var(--green);color:white;padding:12px 15px;border-radius:8px;white-space:nowrap;margin-left:auto}.wall-qr{display:flex;align-items:center;gap:18px;padding:20px;background:#e8eee5;border-radius:12px;font-size:14px}.wall-qr p{margin:6px 0 0;color:var(--muted);line-height:1.6;font-size:13px}.qr-symbol{font-size:36px;color:var(--green)}.compact-how{border-top:1px solid var(--line);padding:28px 0}.compact-how h2{font-size:23px}.compact-how .steps{margin:20px 0 0;gap:25px}.compact-how .step-num{margin-bottom:9px;padding-bottom:6px}.compact-how h3{font-size:16px}.compact-how p{font-size:13px}.account-short{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0}.account-short h3{font-size:16px;margin-bottom:7px}.account-short p{font-size:13px;margin:0}@media(max-width:650px){.parking-first{padding-top:30px}.simple-home .parking-choice{flex-wrap:wrap;gap:12px}.simple-home .parking-choice .parking-cta{flex-basis:100%;text-align:center}.simple-home .parking-choice strong{font-size:15px}.compact-how .steps{grid-template-columns:1fr;gap:12px}.account-short{align-items:start;flex-direction:column}.simple-home .parking-choice small{font-size:12px}.simple-home .top{height:74px}}
[hidden]{display:none!important}
.simple-home .parking-first{padding-top:28px}.simple-home .parking-first h1{font-size:clamp(30px,4vw,42px);margin-top:0}.login-dialog{width:calc(100% - 32px);max-width:365px;padding:30px 25px 24px;background:#fff;box-shadow:0 20px 80px #153e3026}.login-dialog h2{font-size:23px;letter-spacing:-.6px;margin:12px 0}.login-dialog>.muted{font-size:13px;line-height:1.6;margin-bottom:20px}.login-dialog>.btn{width:100%;margin:5px 0;min-height:46px}.login-close{position:absolute;right:12px;top:8px;font-size:26px;border:0;background:none;color:#52695b;padding:3px 8px}.login-dialog .login-guest{display:block;margin:16px auto 0;font-size:13px}.login-dialog #accountStatus{margin:14px 0 0}.login-dialog::backdrop{background:#1c3d2e35}
.simple-home .parking-choice{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:16px;row-gap:10px}.simple-home .parking-choice .parking-icon{grid-column:1;grid-row:1/3}.simple-home .parking-choice .parking-info{grid-column:2;grid-row:1/3;min-width:0}.parking-availability{grid-column:3;grid-row:1;justify-self:end;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:20px;padding:6px 10px;line-height:1.4}.parking-availability:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.parking-availability.available{background:#e7f3e9;color:#236346}.parking-availability.full{background:#faeae7;color:#a34035}.parking-availability.stale{background:#f0f1ed;color:#667269}.simple-home .parking-choice .parking-cta{grid-column:3;grid-row:2;justify-self:end}@media(max-width:650px){.simple-home .parking-choice{grid-template-columns:44px minmax(0,1fr)}.simple-home .parking-choice .parking-icon{grid-column:1;grid-row:1}.simple-home .parking-choice .parking-info{grid-column:1/3;grid-row:2}.parking-availability{grid-column:2;grid-row:1;text-align:right;max-width:100%;font-size:11px}.simple-home .parking-choice .parking-cta{grid-column:1/3;grid-row:3;justify-self:stretch;margin-left:0}}
.parking-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.simple-home .parking-card .parking-choice{border:0;border-radius:0}.parking-details{display:flex;flex-wrap:wrap;gap:12px 24px;padding:12px 20px;border-top:1px solid var(--line);font-size:13px}.parking-details a{text-decoration:underline;text-underline-offset:3px}.parking-card a:focus-visible{outline:3px solid var(--green);outline-offset:-3px}.parking-info small{overflow-wrap:anywhere}
