:root{--ink:#112c29;--muted:#647773;--green:#2d9334;--mint:#e5f4e5;--cream:#f5f1e8;--orange:#f39a56;--line:#d8e2df}.tester-page{--tester-blue:#2455e6;--tester-navy:#0b1739;--tester-orange:#ff7a22;color:var(--tester-navy);background:#f7f9fd;min-height:100vh}.tester-page *{box-sizing:border-box}.tester-header{background:#fff;border-bottom:1px solid #e8ebf2;justify-content:space-between;align-items:center;height:88px;padding:0 max(28px,50vw - 590px);display:flex}.tester-brand{color:inherit;align-items:center;gap:13px;text-decoration:none;display:flex}.tester-brand img{border-radius:12px;box-shadow:0 8px 22px #2455e633}.tester-brand span{flex-direction:column;display:flex}.tester-brand strong{font-size:20px}.tester-brand small{color:#69738a;font-size:12px}.tester-header-link{color:var(--tester-blue);font-weight:750;text-decoration:none}.tester-header-link span{margin-left:6px}.tester-hero{grid-template-columns:1.06fr .94fr;align-items:center;gap:75px;max-width:1180px;margin:0 auto;padding:86px 28px 94px;display:grid;overflow:hidden}.tester-kicker{text-transform:uppercase;letter-spacing:.15em;color:var(--tester-blue);align-items:center;gap:10px;margin:0 0 24px;font-size:12px;font-weight:800;display:flex}.tester-kicker span{background:var(--tester-orange);border-radius:3px;width:28px;height:3px}.tester-actions{gap:14px;margin:34px 0;display:flex}.tester-primary,.tester-secondary{border-radius:12px;justify-content:center;align-items:center;min-height:52px;padding:0 22px;font-weight:800;text-decoration:none;display:inline-flex}.tester-primary{background:var(--tester-blue);color:#fff;box-shadow:0 12px 30px #2455e636}.tester-primary span{margin-left:18px}.tester-secondary{color:var(--tester-navy);background:#fff;border:1px solid #dfe4ef}.tester-meta{color:#556078;flex-wrap:wrap;gap:18px;font-size:13px;font-weight:650;display:flex}.tester-visual{height:550px;position:relative}.phone{background:#fff;border:9px solid #10172b;border-radius:42px;width:270px;height:540px;position:absolute;overflow:hidden;box-shadow:0 35px 70px #10205035}.phone-back{top:26px;left:4px;transform:rotate(-7deg)}.phone-front{top:0;right:0;transform:rotate(5deg)}.phone-top{z-index:2;background:#10172b;border-radius:0 0 15px 15px;width:96px;height:21px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.phone-screen{height:100%;padding:45px 18px 20px}.map-preview{background:#eef3ed}.mock-title{margin-bottom:14px;font-size:23px;font-weight:850}.mock-map{background:#dfe9df;border-radius:18px;height:280px;position:relative;overflow:hidden}.road{background:#fff;border:2px solid #d7dbd5;width:340px;height:14px;position:absolute;left:-45px}.road-a{top:65px;transform:rotate(24deg)}.road-b{top:174px;transform:rotate(-22deg)}.road-c{top:128px;transform:rotate(83deg)}.zone{opacity:.82;border-radius:13px;width:58px;height:74px;position:absolute}.zone-blue{background:#4c7cff;top:86px;left:28px}.zone-green{background:#51b878;bottom:35px;right:24px}.location-dot{background:#2455e6;border:7px solid #fff;border-radius:50%;width:24px;height:24px;position:absolute;top:130px;left:112px;box-shadow:0 3px 12px #0004}.mock-card{background:#fff;border-radius:15px;flex-direction:column;margin-top:14px;padding:15px;display:flex;box-shadow:0 8px 25px #20352018}.mock-card strong{font-size:14px}.mock-card small{color:#768078;margin-top:5px;line-height:1.4}.parking-preview{text-align:center;background:linear-gradient(#f5f7ff,#fff);padding-top:78px}.parking-preview img{border-radius:16px;box-shadow:0 10px 24px #2455e62d}.parking-preview p{color:#737c90;margin:28px 0 7px;font-size:14px}.mock-time{letter-spacing:-.04em;font-size:35px}.mock-status{color:#287049;background:#edf8f1;border-radius:14px;margin:26px 0;padding:14px 9px;font-size:12px}.mock-status span{background:#31b66b;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.parking-preview button{color:#fff;background:#f04455;border:0;border-radius:12px;width:100%;padding:14px;font-weight:750}.tester-intro{background:#fff;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:78px max(28px,50vw - 590px);display:grid}.tester-intro>img{border-radius:22px;width:100%;height:auto;box-shadow:0 20px 50px #10205018}.tester-intro h2,.tester-section-heading h2,.tester-checks h2,.tester-feedback h2{letter-spacing:-.045em;margin:0 0 20px;font-size:clamp(32px,4vw,52px);line-height:1.06}.tester-intro div>p:last-child,.tester-section-heading>p:last-child{color:#5f687c;font-size:17px;line-height:1.7}.tester-steps{max-width:1180px;margin:auto;padding:100px 28px}.tester-section-heading{max-width:730px;margin-bottom:48px}.tester-step-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.tester-step-grid article{background:#fff;border:1px solid #e5e9f2;border-radius:17px;gap:22px;padding:28px;display:flex}.tester-step-grid article>span{color:var(--tester-blue);border-top:3px solid var(--tester-orange);padding-top:8px;font-size:13px;font-weight:900}.tester-step-grid h3{margin:0 0 9px;font-size:20px}.tester-step-grid p{color:#657086;margin:0;line-height:1.55}.tester-checks{background:var(--tester-navy);color:#fff;grid-template-columns:.85fr 1.15fr;gap:80px;padding:90px max(28px,50vw - 590px);display:grid}.tester-kicker.light{color:#a9bfff}.tester-checks>div>p:last-child{color:#aeb9d1;line-height:1.65}.tester-checks ul{margin:0;padding:0;list-style:none}.tester-checks li{border-bottom:1px solid #ffffff20;gap:18px;padding:21px 0;display:flex}.tester-checks li>span{background:#2dcb77;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.tester-checks li div{flex-direction:column;gap:5px;display:flex}.tester-checks li strong{font-size:17px}.tester-checks li small{color:#aeb9d1;font-size:14px;line-height:1.5}.tester-feedback{text-align:center;max-width:1180px;margin:0 auto;padding:100px 28px}.tester-feedback>div:first-child{max-width:750px;margin:auto}.tester-feedback .tester-kicker{justify-content:center}.feedback-list{grid-template-columns:repeat(4,1fr);gap:10px;margin:42px 0 34px;display:grid}.feedback-list span{background:#fff;border:1px solid #e3e8f1;border-radius:13px;padding:22px 10px;font-weight:750}.tester-footer{background:#fff;border-top:1px solid #e4e8f0;align-items:center;gap:28px;min-height:110px;padding:25px max(28px,50vw - 590px);display:flex}.tester-footer div{align-items:center;gap:9px;display:flex}.tester-footer img{border-radius:9px}.tester-footer p{color:#69738a;margin-right:auto}.tester-footer a{color:var(--tester-blue);font-weight:700;text-decoration:none}@media (width<=850px){.tester-header{height:76px}.tester-header-link{font-size:13px}.tester-hero{grid-template-columns:1fr;gap:52px;padding-top:58px}.tester-visual{width:100%;max-width:480px;height:460px;margin:auto}.phone{width:230px;height:460px}.phone-front{right:2%}.phone-back{left:2%}.phone-screen{padding:40px 15px 16px}.mock-map{height:220px}.tester-intro,.tester-checks{grid-template-columns:1fr;gap:36px}.tester-step-grid{grid-template-columns:1fr}.feedback-list{grid-template-columns:1fr 1fr}.tester-footer{flex-wrap:wrap}.tester-footer p{order:3;width:100%;margin:0}}@media (width<=520px){.tester-brand small{display:none}.tester-hero{padding-left:20px;padding-right:20px}.tester-hero h1{font-size:43px}.tester-actions{flex-direction:column;align-items:stretch}.tester-meta{flex-direction:column;gap:8px}.tester-visual{height:420px}.phone{border-width:7px;width:202px;height:406px}.phone-back{left:-8px}.phone-front{right:-8px}.parking-preview{padding-top:62px}.mock-time{font-size:29px}.tester-intro,.tester-steps,.tester-checks,.tester-feedback{padding-left:20px;padding-right:20px}.feedback-list{grid-template-columns:1fr}.tester-step-grid article{padding:22px}.tester-footer{padding-left:20px;padding-right:20px}}.parkia-features{max-width:1180px;margin:0 auto;padding:100px 28px}.parkia-feature-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.parkia-feature-grid article{background:#fff;border:1px solid #e3e8f1;border-radius:18px;padding:28px;box-shadow:0 12px 35px #1020500c}.parkia-feature-grid article>span{color:var(--tester-blue);border-bottom:3px solid var(--tester-orange);padding-bottom:6px;font-size:13px;font-weight:900;display:inline-block}.parkia-feature-grid h3{margin:22px 0 10px;font-size:20px}.parkia-feature-grid p{color:#657086;margin:0;line-height:1.6}.parkia-payment-note{border-left:5px solid var(--tester-blue);background:#eaf0ff;border-radius:17px;grid-template-columns:.55fr 1.45fr;align-items:center;gap:28px;margin-top:22px;padding:24px 28px;display:grid}.parkia-payment-note strong{font-size:19px}.parkia-payment-note p{color:#536079;margin:0;line-height:1.6}.parkia-test-transition{color:#fff;text-align:center;background:linear-gradient(135deg,#0b1739,#183778);padding:78px max(28px,50vw - 425px)}.parkia-test-transition .tester-kicker{justify-content:center}.parkia-test-transition h2{letter-spacing:-.04em;margin:0 0 18px;font-size:clamp(32px,4vw,50px);line-height:1.08}.parkia-test-transition>p:not(.tester-kicker){color:#c5d0e9;font-size:17px;line-height:1.65}.parkia-test-transition>a{min-height:52px;color:var(--tester-navy);background:#fff;border-radius:12px;align-items:center;gap:14px;margin-top:20px;padding:0 22px;font-weight:850;text-decoration:none;display:inline-flex}@media (width<=850px){.parkia-feature-grid{grid-template-columns:1fr 1fr}.parkia-payment-note{grid-template-columns:1fr;gap:8px}}@media (width<=520px){.parkia-features,.parkia-test-transition{padding-left:20px;padding-right:20px}.parkia-feature-grid{grid-template-columns:1fr}}.parking-facility-list{gap:18px;margin-top:20px;display:grid}.parking-facility-card{background:#fff;border:1px solid #c9d9d3;border-left:6px solid #1676b8;border-radius:14px;padding:18px}.parking-facility-card.underground{background:linear-gradient(135deg,#fff,#f1f4f5);border-left-color:#344955}.parking-facility-card>header{grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;margin-bottom:18px;display:grid}.parking-facility-card>header div{gap:3px;display:grid}.parking-facility-card>header small{color:#5d706b}.parking-kind-icon{color:#fff;background:#1676b8;border-radius:10px;place-items:center;width:44px;height:44px;font-size:20px;font-weight:900;display:grid}.parking-facility-card.underground .parking-kind-icon{background:#344955}.parking-facility-card>header button{color:#1f6f27;background:#fff;border:1px solid #2d9334;border-radius:8px;padding:10px 14px;font-weight:800}.parking-facility-card>header .delete-button{color:#b33f29;background:#fff4f0;border-color:#f0c6bc}.parking-facility-card textarea{min-height:76px}@media (width<=760px){.parking-facility-card>header{grid-template-columns:auto 1fr}.parking-facility-card>header button{width:100%}}.parking-register-table{border:1px solid #c9d9d3;border-radius:10px;margin-top:20px;overflow:hidden}.parking-register-head,.parking-register-row{grid-template-columns:.55fr 1.25fr .8fr 1.5fr .55fr .65fr 1.75fr;align-items:center;display:grid}.parking-register-head{background:#dfeae5;font-weight:900}.parking-register-head span,.parking-register-row>span,.parking-register-row>strong,.parking-register-row>.zone-name-link{padding:11px 10px}.parking-register-row{background:#fff;border-top:1px solid #d7e2de}.parking-register-row:hover{background:#f7faf8}.parking-register-row .zone-name-link{text-align:left}.parking-facility-card fieldset{border:0;margin:0;padding:0}.parking-facility-card fieldset:disabled{opacity:.88}@media (width<=900px){.parking-register-table{overflow-x:auto}.parking-register-head,.parking-register-row{min-width:930px}}.assistance-workspace{gap:24px;display:grid}.assistance-create,.assistance-list,.assistance-thread{background:#fff;border:1px solid #cfddd8;border-radius:16px;padding:24px}.assistance-create>p,.assistance-list header p,.assistance-thread header p{color:#60716c}.assistance-create form{gap:14px;margin-top:18px;display:grid}.assistance-create form>div{grid-template-columns:1fr 1fr;gap:14px;display:grid}.assistance-create label,.assistance-reply label{gap:7px;font-weight:800;display:grid}.assistance-create input,.assistance-create select,.assistance-create textarea,.assistance-reply textarea{font:inherit;border:1px solid #b9ccc5;border-radius:9px;padding:12px}.assistance-create textarea,.assistance-reply textarea{resize:vertical;min-height:110px}.assistance-create button,.assistance-reply button{color:#fff;background:#2d9334;border:0;border-radius:9px;justify-self:start;padding:12px 20px;font-weight:900}.assistance-list>header,.assistance-thread>header{justify-content:space-between;align-items:start;gap:16px;display:flex}.assistance-list>header button,.assistance-thread>header button{color:#1f6f27;background:#fff;border:1px solid #2d9334;border-radius:8px;padding:9px 13px;font-weight:800}.assistance-status{color:#1f6f27;background:#eff8ef;border-radius:8px;padding:10px 14px;font-weight:800}.assistance-ticket-table{border:1px solid #d1ded9;border-radius:10px;margin-top:18px;overflow:hidden}.assistance-ticket-head,.assistance-ticket-row{text-align:left;grid-template-columns:.45fr 1.8fr 1fr .75fr 1fr 1fr;align-items:center;display:grid}.assistance-ticket-row.master{grid-template-columns:.7fr .45fr 1.7fr 1fr .75fr 1fr 1fr}.assistance-ticket-head:has(span:nth-child(7)){grid-template-columns:.7fr .45fr 1.7fr 1fr .75fr 1fr 1fr}.assistance-ticket-head{background:#dfeae5;font-weight:900}.assistance-ticket-head span,.assistance-ticket-row>*{padding:11px 9px}.assistance-ticket-row{width:100%;font:inherit;color:inherit;cursor:pointer;background:#fff;border:0;border-top:1px solid #d8e3df}.assistance-ticket-row:hover,.assistance-ticket-row.active{background:#f0f8f0}.priority,.ticket-status{font-size:12px;font-weight:900}.priority.urgent{color:#b33924}.ticket-status.new{color:#b55316}.ticket-status.answered{color:#2d9334}.ticket-status.closed{color:#66716e}.assistance-status-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0;display:flex}.assistance-status-actions button{background:#fff;border:1px solid #b8cbc4;border-radius:99px;padding:7px 11px}.assistance-status-actions button.active{color:#fff;background:#2d9334}.assistance-messages{gap:14px;margin:20px 0;display:grid}.assistance-messages article{background:#f1f5f3;border-radius:14px;max-width:82%;padding:14px 16px}.assistance-messages article.parkia{background:#dff1e9;border:1px solid #acd4c6;justify-self:end}.assistance-messages article header{justify-content:space-between;gap:20px;font-size:13px;display:flex}.assistance-messages article p{white-space:pre-wrap;margin:9px 0 0}.assistance-reply{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.master-hero.compact{min-height:auto}.master-hero a{color:inherit}@media (width<=800px){.assistance-create form>div{grid-template-columns:1fr}.assistance-ticket-table{overflow-x:auto}.assistance-ticket-head,.assistance-ticket-row,.assistance-ticket-row.master{min-width:900px}.assistance-ticket-head:has(span:nth-child(7)){min-width:900px}.assistance-messages article{max-width:95%}.assistance-reply{grid-template-columns:1fr}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;background:#fbfcfa;margin:0}a{color:inherit;text-decoration:none}.site-header{justify-content:space-between;align-items:center;width:min(1180px,100% - 48px);height:88px;margin:0 auto;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:12px;font-size:20px;display:inline-flex}.brand strong{color:var(--green);font-weight:600}.brand-mark{color:#fff;background:var(--green);border-radius:9px 9px 9px 2px;place-items:center;width:38px;height:42px;font-size:25px;font-weight:800;display:grid;box-shadow:inset 0 0 0 2px #ffffff2e}nav{color:#445b57;align-items:center;gap:30px;font-size:14px;display:flex}nav a:hover{color:var(--green)}.nav-cta{border:1px solid var(--green);color:var(--green);border-radius:8px;padding:12px 17px;font-weight:650}.login-menu{position:relative}.login-menu summary{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:12px 17px;font-weight:750;list-style:none;display:flex}.login-menu summary::-webkit-details-marker{display:none}.login-menu[open] summary{background:#247a2a}.login-menu>div{z-index:50;border:1px solid var(--line);background:#fff;border-radius:12px;width:300px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 45px #112c292e}.login-menu>div a{color:var(--ink);border-radius:8px;gap:3px;padding:12px;display:grid}.login-menu>div a:hover{background:var(--mint);color:var(--green)}.login-menu>div small{color:var(--muted);font-size:12px;font-weight:500}.hero{background:radial-gradient(circle at 76% 12%,#e4f5ec 0,#0000 32%),linear-gradient(135deg,#f7f3ea 0%,#f3f8f4 100%);border-top:1px solid #112c290f;grid-template-columns:1.05fr .95fr;align-items:center;gap:76px;min-height:640px;padding:76px max(24px,50% - 590px) 84px;display:grid}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:1.8px;align-items:center;gap:10px;font-size:12px;font-weight:750;display:flex}.eyebrow span{background:var(--orange);width:28px;height:2px}h1{letter-spacing:-4px;max-width:650px;margin:22px 0;font-size:clamp(48px,6vw,78px);font-weight:650;line-height:.98}h1 em{color:var(--green);font-family:Georgia,serif;font-style:normal;font-weight:500}.hero-intro{color:#536964;max-width:600px;font-size:19px;line-height:1.65}.hero-actions{align-items:center;gap:25px;margin:34px 0 30px;display:flex}.primary-button{color:#fff;background:var(--green);border-radius:8px;justify-content:center;align-items:center;gap:24px;padding:16px 20px;font-weight:700;display:inline-flex;box-shadow:0 10px 24px #2d93342e}.primary-button span{font-size:20px}.primary-button:hover{background:#247a2a;transform:translateY(-1px)}.individual-app-download{border-left:3px solid var(--orange);background:#fff9;border-radius:0 10px 10px 0;align-items:center;gap:22px;width:fit-content;margin:4px 0 30px;padding:17px 19px;display:flex}.individual-app-download>div{max-width:365px}.individual-app-download>div>strong{color:var(--green);margin-bottom:6px;font-size:16px;display:block}.individual-app-download p{color:#536964;margin:0;font-size:13px;line-height:1.5}.app-store-button{color:#fff;background:#000;border:1px solid #000;border-radius:10px;flex:none;align-items:center;gap:10px;min-height:56px;padding:8px 17px 8px 13px;display:inline-flex;box-shadow:0 10px 24px #00000021}.app-store-button:hover{background:#202020;transform:translateY(-1px)}.app-store-button>span:last-child{line-height:1;display:grid}.app-store-button small{letter-spacing:.02em;font-size:10px}.app-store-button strong{letter-spacing:-.02em;margin-top:4px;font-size:19px;font-weight:650}.app-store-icon{color:#0000;width:29px;height:34px;position:relative}.app-store-icon:before,.app-store-icon:after{content:"";background:#fff;position:absolute}.app-store-icon:before{border-radius:45% 45% 48% 48%;width:20px;height:23px;bottom:3px;left:7px;transform:rotate(-7deg)}.app-store-icon:after{border-radius:9px 1px;width:9px;height:13px;top:0;left:17px;transform:rotate(38deg)}.hero-discover-link{margin-top:-10px;margin-bottom:26px;display:inline-block}@media (width<=600px){.individual-app-download{flex-direction:column;align-items:flex-start;width:100%}}.text-link{border-bottom:1px solid #8da09c;padding-bottom:3px;font-weight:600}.trust-line{color:#657a75;flex-wrap:wrap;gap:22px;font-size:12px;display:flex}.hero-panel{background:#ffffffeb;border:1px solid #dbe5e1;border-radius:18px;padding:28px;transform:none;box-shadow:0 30px 70px #24484121}.hero-city-band{background:#fffffff0;border:1px solid #dbe5e1;border-radius:18px;flex-direction:column;align-self:stretch;padding:28px;display:flex;box-shadow:0 30px 70px #24484121}.hero-city-band header h2{margin:7px 0 8px;font:600 30px Georgia,serif}.hero-city-band header p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.hero-city-list{border-top:1px solid var(--line);margin:22px 0;display:grid}.hero-city-list>a{border-bottom:1px solid var(--line);grid-template-columns:35px 1fr auto;align-items:center;gap:8px;padding:8px 0;display:grid}.hero-city-list>a:hover strong{color:var(--green)}.hero-city-rank{color:#9aaba6;font:700 14px Georgia,serif}.hero-city-list strong,.hero-city-list small{display:block}.hero-city-list strong{font-size:14px}.hero-city-list small{color:var(--muted);margin-top:2px;font-size:10px}.hero-city-list i{border-radius:999px;padding:4px 7px;font-size:9px;font-style:normal;font-weight:800}.hero-city-list i.pilot{color:var(--green);background:#e5f4e5}.hero-city-list i.registered{color:#a85220;background:#fff0df}.hero-city-all{border:1px solid var(--green);color:var(--green);text-align:center;border-radius:7px;margin-top:auto;padding:12px;font-size:12px;font-weight:800}.panel-top{justify-content:space-between;align-items:center;display:flex}.panel-top h2{margin:6px 0 0;font-size:32px}.panel-label{color:#8a9a96;letter-spacing:1.5px;font-size:10px;font-weight:750}.status{background:var(--mint);color:var(--green);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:650}.metric-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0;display:grid}.metric-grid article{background:#f4f6f2;border-radius:10px;padding:16px}.metric-grid strong,.metric-grid span{display:block}.metric-grid strong{font-size:19px}.metric-grid span{color:#71817d;margin-top:5px;font-size:10px}.zone-card{border:1px solid var(--line);border-radius:12px;padding:17px}.zone-heading{align-items:center;gap:12px;display:flex}.pin{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.zone-heading div{flex:1}.zone-heading strong,.zone-heading small{display:block}.zone-heading small{color:#7b8c88;margin-top:3px}.verified{color:var(--green);font-size:11px;font-weight:700}.zone-details{gap:8px;margin-top:16px;display:flex}.zone-details span{background:var(--cream);border-radius:6px;padding:7px 9px;font-size:10px}.panel-note{color:#73847f;margin-top:16px;font-size:11px}.panel-note span{background:var(--mint);width:18px;height:18px;color:var(--green);border-radius:50%;place-items:center;margin-right:7px;font-weight:800;display:inline-grid}.numbers{background:var(--green);color:#fff;border-radius:12px;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:-28px auto 0;padding:30px 48px;display:grid;position:relative;box-shadow:0 18px 35px #1f6d5e33}.numbers div{border-left:1px solid #ffffff3d;flex-direction:column;padding-left:34px;display:flex}.numbers div:first-child{border:0;padding-left:0}.numbers strong{font-family:Georgia,serif;font-size:30px}.numbers span{opacity:.75;margin-top:4px;font-size:12px}.city-statistics{padding-top:72px!important;padding-bottom:30px!important}.city-statistics-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px;display:flex}.city-statistics-heading h2{margin:8px 0 10px;font:600 clamp(30px,4vw,46px) Georgia,serif}.city-statistics-heading p{color:var(--muted);margin:0}.city-statistics-heading>strong{background:var(--green);color:#fff;border-radius:12px;flex-direction:column;flex:none;min-width:220px;padding:20px 24px;display:flex}.city-statistics-heading>strong b{font:600 38px Georgia,serif}.city-statistics-heading>strong span{opacity:.8;margin-top:4px;font-size:13px}.city-statistics-table{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:auto}.city-statistics-table table{border-collapse:collapse;width:100%}.city-statistics-table th,.city-statistics-table td{border-bottom:1px solid var(--line);text-align:left;padding:14px 18px}.city-statistics-table thead th{color:var(--green);text-transform:uppercase;letter-spacing:.08em;background:#e9f1ee;font-size:12px}.city-statistics-table td:first-child{align-items:center;gap:14px;display:flex}.city-statistics-table td:first-child b{min-width:34px;color:var(--green)}.city-statistics-table td:last-child,.city-statistics-table th:last-child{text-align:right;font-weight:800}.city-statistics-table tbody tr:hover{background:#f7faf8}.city-statistics-table tfoot th{background:#f2f6f4;border-bottom:0;font-size:15px}.city-statistics-note{color:var(--muted);margin:10px 2px 0;font-size:12px;font-style:italic}.city-statistics-table td:first-child button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:0;display:flex}.city-statistics-table tbody tr.selected{background:#edf7f3}.department-city-browser{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:18px;padding:20px}.department-city-browser>div,.department-city-browser form{justify-content:space-between;align-items:end;gap:12px;display:flex}.department-city-browser h3{margin:0;font:600 24px Georgia,serif}.department-city-browser button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:8px;padding:10px 14px;font-weight:800}.department-city-browser form{margin:18px 0}.department-city-browser label{flex:1;gap:6px;font-weight:800;display:grid}.department-city-browser input{border:1px solid #9db5ad;border-radius:8px;padding:12px;font-size:16px}.department-city-results{border:1px solid var(--line);border-radius:9px;overflow:auto}.department-city-results>div{border-bottom:1px solid var(--line);grid-template-columns:2fr 1fr 1fr .7fr;gap:12px;min-width:650px;padding:11px 13px;display:grid}.department-city-results>div:first-child{color:var(--green);background:#e9f1ee}.department-city-results>div:last-child{border-bottom:0}.department-city-results a{color:var(--green);font-weight:800}@media (width<=600px){.department-city-browser>div,.department-city-browser form{flex-direction:column;align-items:stretch}.department-city-browser>div button{align-self:flex-start}}.csv-folder-note{color:#6b4a00;background:#fff7e6;border:1px solid #f0d49a;border-radius:8px;margin:0;padding:10px 12px;font-weight:600;flex:100%!important}.hero-city-updating{color:#6c8179;align-items:center;gap:8px;margin:8px 0 0;font-size:13px;font-weight:600;display:flex}.hero-city-spinner.small{border-width:2px;width:14px;height:14px}.master-city-actions{align-self:end;gap:8px;display:grid}.commune-csv-button{white-space:nowrap}.commune-csv-panel{background:#f7fbf9;border:1px solid #cfe0d9;border-radius:10px;grid-column:1/-1;gap:6px;margin:0 0 18px;padding:12px 14px;font-size:14px;display:grid}.commune-csv-panel p{color:#173c34;margin:0}.commune-csv-panel p.error{color:#9a3412}.commune-csv-panel p.working{color:#6c8179}.commune-csv-panel strong{color:#1f6d5e}.commune-csv-validate{color:#173c34;align-items:center;gap:8px;font-weight:700;display:flex}.commune-csv-validate input{accent-color:#1f6d5e;width:17px;height:17px}.commune-csv-panel .csv-bat-cancel{justify-self:start}@media (width<=760px){.master-city-actions,.master-city-actions button{width:100%}}.section{padding:110px max(24px,50% - 590px)}.section-heading{max-width:670px;margin-bottom:50px}.section h2{letter-spacing:-1.5px;margin:14px 0;font-family:Georgia,serif;font-size:clamp(36px,4vw,52px);font-weight:500;line-height:1.08}.section-heading>p:last-child{color:var(--muted);line-height:1.6}.step-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.step-grid article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:30px;position:relative}.step-grid article b{color:#dce7e3;font-family:Georgia,serif;font-size:34px;position:absolute;top:18px;right:22px}.step-icon{background:var(--mint);width:48px;height:48px;color:var(--green);border-radius:10px;place-items:center;font-size:20px;font-weight:800;display:grid}.step-grid h3{margin:24px 0 10px;font-size:18px}.step-grid p{color:var(--muted);font-size:14px;line-height:1.6}.assurance{background:var(--ink);color:#fff;grid-template-columns:.9fr 1.1fr;gap:90px;display:grid}.eyebrow.light{color:#91c6b8}.assurance-list article{border-bottom:1px solid #ffffff24;grid-template-columns:48px 1fr;gap:20px;padding:24px 0;display:grid}.assurance-list article>span{color:var(--orange);font-family:Georgia,serif;font-size:20px}.assurance-list h3{margin:0 0 8px;font-size:18px}.assurance-list p{color:#aebcb8;margin:0;font-size:14px;line-height:1.55}.access{background:var(--cream);grid-template-columns:1fr 430px;align-items:center;gap:80px;display:grid}.access>div:first-child>p:last-child{color:var(--muted);max-width:620px;line-height:1.7}.access-card{background:#fff;border:1px solid #e5dfd1;border-radius:14px;padding:32px}.access-card .lock{color:var(--orange)}.access-card h3{margin:16px 0 8px;font-size:22px}.access-card p{color:var(--muted);margin-bottom:24px;line-height:1.55}.access-card .primary-button{width:100%}footer{color:var(--muted);grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:30px;padding:45px max(24px,50% - 590px);font-size:12px;display:grid}.footer-brand{font-size:17px}.footer-brand .brand-mark{border-radius:7px 7px 7px 2px;width:30px;height:32px;font-size:18px}footer>div{justify-content:flex-end;gap:20px;display:flex}footer a:hover{color:var(--green)}@media (width<=900px){nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;gap:45px;padding-top:54px}.hero-panel{transform:none}.numbers{border-radius:0;margin:0}.step-grid,.assurance,.access{grid-template-columns:1fr}.assurance,.access{gap:42px}footer{text-align:center;grid-template-columns:1fr}footer>div{justify-content:center}.footer-brand{justify-self:center}}@media (width<=600px){.site-header{width:calc(100% - 32px);height:74px}.brand{font-size:17px}.brand-mark{width:33px;height:36px;font-size:21px}.nav-cta,.login-menu summary{padding:10px 12px;font-size:12px}.login-menu>div{width:auto;position:fixed;top:70px;left:16px;right:16px}.site-header .login-menu a{display:grid}.hero{padding-left:20px;padding-right:20px}h1{letter-spacing:-2.5px}.hero-actions{flex-direction:column;align-items:stretch}.text-link{align-self:flex-start}.metric-grid{grid-template-columns:1fr}.zone-heading{flex-wrap:wrap;align-items:flex-start}.zone-details{flex-wrap:wrap}.numbers{grid-template-columns:1fr;gap:22px;padding:30px}.numbers div,.numbers div:first-child{border:0;padding:0}.city-statistics-heading{flex-direction:column;align-items:stretch}.city-statistics-heading>strong{min-width:0}.city-statistics{padding-top:48px!important}.city-statistics-table th,.city-statistics-table td{padding:12px}.section{padding-top:78px;padding-bottom:78px}}@media (prefers-reduced-motion:no-preference){.primary-button{transition:transform .18s,background .18s}}.dashboard-shell{background:#f4f6f3;min-height:100vh}.dashboard-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 32px;display:flex}.account{align-items:center;gap:22px;display:flex}.account span{text-align:right;flex-direction:column;font-size:12px;display:flex}.account small{color:var(--muted);margin-top:3px}.account>a{border:1px solid var(--line);border-radius:7px;padding:10px 13px;font-size:12px}.dashboard-layout{grid-template-columns:250px 1fr;max-width:1440px;min-height:calc(100vh - 78px);margin:0 auto;display:grid}.dashboard-layout aside{border-right:1px solid var(--line);background:#f8faf7;flex-direction:column;gap:7px;padding:34px 18px;display:flex}.dashboard-layout aside>p{color:#8b9a96;letter-spacing:1.4px;margin:0 10px 16px;font-size:10px;font-weight:750}.dashboard-layout aside>a,.dashboard-layout aside>span{color:#405b54;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;padding:13px 12px;font-size:14px;line-height:1.3;text-decoration:none;display:flex}.dashboard-layout aside>a:hover{color:var(--green);background:#eef5f1;border-color:#d7e5df}.dashboard-layout aside .nav-dot{background:#fff;border:1.5px solid #6f9188;border-radius:50%;flex:0 0 8px;width:8px;height:8px}.dashboard-layout aside .active{color:var(--green);background:var(--mint);border-color:#cfe7dd;font-weight:800;box-shadow:0 3px 10px #1967550f}.dashboard-layout aside .active .nav-dot{background:var(--green);border-color:var(--green);box-shadow:0 0 0 3px #cce9df}.dashboard-layout .city-sidebar{background:linear-gradient(#fbfcfa 0%,#f6f9f6 100%);gap:5px;padding:30px 16px}.dashboard-layout .city-sidebar>p{letter-spacing:1.5px;color:#71867f;margin:0 10px 12px;font-size:11px}.dashboard-layout .city-sidebar>a{border-radius:10px;gap:11px;min-height:44px;padding:9px 10px;font-size:13.5px;line-height:1.25;position:relative}.dashboard-layout .city-sidebar .nav-icon{color:#52756b;background:#fff;border:1px solid #d4e2dc;border-radius:8px;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:12px;font-weight:850;line-height:1;display:grid}.dashboard-layout .city-sidebar .nav-label{min-width:0}.dashboard-layout .city-sidebar .nav-back{color:#284d44;font-weight:700}.dashboard-layout .city-sidebar .nav-back .nav-icon{font-size:16px}.dashboard-layout .city-sidebar .nav-separator{background:#dce6e1;height:1px;margin:5px 10px 7px}.dashboard-layout .city-sidebar>a:hover .nav-icon{color:var(--green);background:#f9fffc;border-color:#a9cabd}.dashboard-layout .city-sidebar>a.active{background:#e0f2ea;border-color:#bcded0;padding-right:28px;box-shadow:0 4px 12px #19675514}.dashboard-layout .city-sidebar>a.active:after{content:"›";color:var(--green);font-size:20px;font-weight:500;position:absolute;top:50%;right:11px;transform:translateY(-52%)}.dashboard-layout .city-sidebar>a.active .nav-icon{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 3px 8px #19675538}.parking-register-row .candidate-action{color:#a65318;background:#fff1df;border-color:#efc28d}.parking-register-row .confirmed-status{color:#176b55;white-space:nowrap;background:#e5f4e5;border-radius:7px;align-items:center;padding:6px 9px;font-size:11px;font-weight:800;display:inline-flex}.parking-facility-card header .parking-confirm-button{color:#9d4b12;background:#fff1df;border-color:#efb975;font-weight:800}.parking-confirmation{color:#176b55;background:#edf8f3;border:1px solid #b9ddcf;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;margin:0 22px 16px;padding:12px 15px;display:flex}.parking-confirmation span{color:#456c62;font-size:13px}.pilot-badge{background:var(--ink);color:#fff;border-radius:9px;flex-direction:column;margin-top:auto;padding:16px;display:flex}.pilot-badge small{color:#9db5af;margin-top:5px}.dashboard-content{width:100%;max-width:1100px;padding:48px clamp(24px,5vw,70px) 120px}.dashboard-title{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px;display:flex}.dashboard-title h1{letter-spacing:-2px;margin:12px 0 8px;font-family:Georgia,serif;font-size:clamp(38px,5vw,58px)}.dashboard-title>div:first-child>p:last-child{color:var(--muted);margin:0}.city-codes{align-items:stretch;gap:10px;display:flex}.city-code{border:1px solid var(--line);background:#fff;border-radius:9px;flex-direction:column;min-width:120px;padding:15px;display:flex}.city-code small{color:var(--muted);letter-spacing:1.2px;font-size:9px}.city-code strong{color:var(--green);margin-top:4px;font-size:22px}.profile-form{gap:5px;display:grid}.profile-compact-section{padding:0;overflow:hidden}.profile-compact-section summary{cursor:pointer;grid-template-columns:28px 1fr auto;align-items:center;gap:7px;min-height:30px;padding:3px 10px;list-style:none;display:grid}.profile-compact-section summary::-webkit-details-marker{display:none}.profile-compact-section summary>span{color:#d95f21;font-family:Georgia,serif;font-size:15px;font-weight:800}.profile-compact-section summary h2{color:#173c33;margin:0;font-size:15px;font-weight:850;line-height:1;display:inline}.profile-compact-section summary p{color:var(--muted);margin-left:8px;font-size:10px;display:none}.profile-compact-section[open] summary p{display:inline}.profile-compact-section summary>b{color:var(--green);font-size:11px;font-weight:850}.profile-compact-section summary>b:before{content:"+ "}.profile-compact-section[open] summary{background:#f8faf8;border-bottom:1px solid #e8eeeb}.profile-compact-section[open] summary>b{font-size:0}.profile-compact-section[open] summary>b:before{content:"− Réduire";font-size:10px}.profile-section-fields{padding:14px}.official-parking-document{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 12px;display:grid}.official-parking-document label{min-width:0}.official-parking-document a{border:1px solid var(--green);min-height:42px;color:var(--green);white-space:nowrap;background:#edf7f2;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:850;text-decoration:none;display:inline-flex}.official-parking-document a:hover{background:var(--green);color:#fff}.official-parking-document p{color:var(--muted);grid-column:1/-1;margin:0;font-size:11px}.form-section{border:1px solid var(--line);background:#fff;border-radius:12px;padding:28px}.form-section-title{border-bottom:1px solid #e8eeeb;grid-template-columns:42px 1fr;gap:15px;margin-bottom:24px;padding-bottom:22px;display:grid}.form-section-title>span{color:var(--orange);font-family:Georgia,serif;font-size:20px}.form-section-title h2{letter-spacing:-.4px;margin:0 0 5px;font-family:inherit;font-size:20px}.form-section-title p{color:var(--muted);margin:0;font-size:13px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-grid label{color:#425a55;flex-direction:column;gap:7px;font-size:12px;font-weight:650;display:flex}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid textarea{width:100%;color:var(--ink);font:inherit;background:#fbfcfb;border:1px solid #cad7d3;border-radius:7px;outline:none;padding:12px 13px;font-size:14px}.form-grid input:focus,.form-grid textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1f6d5e1a}.form-grid input:disabled{color:#62736f;background:#eef2f0}.form-grid textarea{resize:vertical;line-height:1.5}.save-bar{background:var(--ink);color:#fff;border-radius:11px;justify-content:space-between;align-items:center;gap:25px;padding:18px 20px;display:flex;position:sticky;bottom:18px;box-shadow:0 15px 35px #112c2940}.save-bar>div{flex-direction:column;font-size:13px;display:flex}.save-bar span{color:#a8bbb6;margin-top:4px;font-size:11px}.save-bar button{background:var(--orange);color:#2f241a;cursor:pointer;border:0;border-radius:7px;padding:13px 17px;font-weight:750}.save-bar button:disabled{opacity:.55;cursor:wait}.save-bar button.has-unsaved-changes{animation:1s ease-in-out infinite unsaved-save-pulse}@keyframes unsaved-save-pulse{0%,to{opacity:1;box-shadow:0 0 #ff993dbf}50%{opacity:.58;box-shadow:0 0 0 7px #ff993d00}}@media (prefers-reduced-motion:reduce){.save-bar button.has-unsaved-changes{outline:3px solid #ff993d80;animation:none}}@media (width<=800px){.dashboard-header{padding:0 16px}.account span{display:none}.dashboard-layout{grid-template-columns:1fr}.dashboard-layout aside{display:none}.dashboard-content{padding:34px 18px 90px}.dashboard-title{flex-direction:column;align-items:flex-start}.city-codes{width:100%}.city-codes .city-code{flex:1;min-width:0}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.save-bar{flex-direction:column;align-items:stretch;bottom:8px}.official-parking-document{grid-template-columns:1fr}.official-parking-document p{grid-column:auto}.official-parking-document a{width:100%}}.parking-page{max-width:1200px}.tariff-list{border-top:1px solid #d9e5dc;grid-column:1/-1;margin-top:18px;padding-top:18px}.tariff-list h4{margin:0 0 4px;font-size:1rem}.tariff-list p{color:#66736a;margin:0}.tariff-row{background:#f5faf6;border-radius:14px;grid-template-columns:auto 1.4fr 1fr .7fr auto;align-items:end;gap:12px;margin-top:12px;padding:14px;display:grid}.tariff-row>b{color:#176337;white-space:nowrap;align-self:center}.tariff-empty{font-style:italic;margin-top:12px!important}@media (width<=900px){.tariff-row{grid-template-columns:1fr 1fr}}.parking-config{gap:24px;display:grid}.form-grid select{width:100%;color:var(--ink);font:inherit;background:#fbfcfb;border:1px solid #cad7d3;border-radius:7px;padding:12px 13px;font-size:14px}.zones-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin:22px 0 0;display:flex}.zones-heading h2{margin:10px 0 0;font-family:Georgia,serif;font-size:34px;font-weight:500}.outline-button,.empty-zone button,.subsection-head button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:7px;padding:11px 14px;font-weight:700}.empty-zone{text-align:center;background:#fff;border:1px dashed #afc3bd;border-radius:12px;padding:48px}.empty-zone p{color:var(--muted)}.zone-editor{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.zone-editor-head{background:var(--ink);color:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:20px 24px;display:grid}.zone-number{color:#87b7aa;letter-spacing:1.3px;font-size:10px;font-weight:750}.zone-name{color:#fff;font:inherit;background:0 0;border:0;outline:none;font-size:21px;font-weight:700}.danger-link,.nested-title button{color:#cc765a;cursor:pointer;background:0 0;border:0}.zone-editor>.form-grid{padding:24px}.zone-sheet-top{background:#fff;padding:24px}.zone-color-field{border-bottom:1px solid var(--line);background:#f6faf8;flex-wrap:wrap;align-items:center;gap:18px;padding:18px 24px;display:flex}.zone-color-field>div:first-child{gap:3px;margin-right:auto;display:grid}.zone-color-field small{color:#657871}.zone-color-palette{flex-wrap:wrap;gap:7px;display:flex}.zone-color-palette button{cursor:pointer;border:3px solid #fff;border-radius:50%;width:30px;height:30px;padding:0;box-shadow:0 0 0 1px #a7bbb4}.zone-color-palette button.active{box-shadow:0 0 0 3px #183f36}.zone-color-field label{align-items:center;gap:9px;font-weight:800;display:flex}.zone-color-field input[type=color]{cursor:pointer;background:#fff;border:1px solid #9eb4ac;border-radius:7px;width:46px;height:34px;padding:2px}.zone-sheet-top h3{margin:0 0 18px;font-size:17px}.street-editor{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.street-editor-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.street-editor-head h4{margin:0 0 4px;font-size:15px}.street-editor-head p,.street-empty{color:var(--muted);margin:0;font-size:12px}.street-editor-head button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:6px;padding:8px 11px;font-weight:700}.street-row{border:1px solid var(--line);background:#f8fbf9;border-bottom:0;grid-template-columns:28px minmax(190px,1.35fr) minmax(95px,.55fr) 72px 72px minmax(180px,1.2fr) minmax(300px,auto);align-items:end;gap:7px;padding:11px;display:grid}.street-row:last-child{border-bottom:1px solid var(--line)}.street-row>span{color:var(--green);align-self:center;font-weight:800}.street-row label{color:var(--muted);gap:5px;font-size:10px;font-weight:700;display:grid}.street-row input{width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border:1px solid #cad7d3;border-radius:5px;padding:9px;font-size:12px}.street-row>button{cursor:pointer;border:0;border-radius:5px;align-self:end;padding:10px}.street-row-actions{align-items:stretch;gap:5px;display:flex}.street-row-actions button{cursor:pointer;white-space:nowrap;border:0;border-radius:5px;flex:1;padding:8px;font-size:10px;font-weight:750}.street-row-actions .trace-button{color:var(--green);background:#e5f1ec}.street-row-actions .delete-button{color:#a9482d;background:#fff0eb}@media (width<=1200px) and (width>=801px){.street-row{grid-template-columns:28px minmax(190px,1.4fr) minmax(95px,.7fr) 72px 72px minmax(180px,1.2fr)}.street-row-actions{grid-column:2/-1;justify-self:end;width:min(100%,390px)}}.map-dialog-backdrop{z-index:1000;background:#0d241fb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.map-dialog{background:#fff;border-radius:14px;width:min(920px,100%);overflow:hidden;box-shadow:0 24px 80px #00000059}.map-dialog-head{justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px;display:flex}.map-dialog-head h3{margin:0 0 4px;font-size:20px}.map-dialog-head p{color:var(--muted);margin:0;font-size:12px}.map-dialog-head>button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:28px;line-height:1}.street-map{border-block:1px solid var(--line);width:100%;height:min(58vh,520px)}.map-result{border-top:1px solid var(--line);color:#9a4d32;text-align:center;min-height:48px;padding:13px 20px;font-size:14px}.map-result.found{color:var(--green);font-family:Georgia,serif;font-size:clamp(23px,3vw,34px);font-weight:700;line-height:1.15}.map-dialog-actions{justify-content:flex-end;gap:10px;padding:0 20px 18px;display:flex}.map-dialog-actions button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:7px;padding:11px 15px;font-weight:750}.map-dialog-actions button:disabled{opacity:.4;cursor:not-allowed}.map-dialog-actions .map-cancel{border:1px solid var(--line);color:var(--ink);background:#fff}.spreadsheet-section{background:#eef3ef}.sheet-scroll{background:#fff;border:1px solid #b8c7c0;border-radius:7px;font-family:Arial Narrow,Roboto Condensed,Arial,sans-serif;overflow-x:auto}.season-sheet{grid-template-columns:minmax(130px,1fr) 132px 132px 82px 82px 72px 72px 68px 88px 136px;width:100%;min-width:1080px;display:grid}.season-sheet input[type=date]{min-width:128px;padding-right:3px;font-size:11px}.sheet-header{color:#24463d;background:#dce8df;font-size:11px;font-weight:800}.sheet-header span,.sheet-row>*{border-bottom:1px solid #c9d4cf;border-right:1px solid #c9d4cf;min-width:0;padding:7px 5px}.sheet-row input,.sheet-row select,.tariff-sheet-row input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:0;outline:none;font-size:11px}.sheet-row input:disabled,.sheet-row select:disabled,.tariff-sheet-row input:disabled{opacity:1;color:#314b44;cursor:default;background:#f5f7f5}.sheet-row input:focus,.sheet-row select:focus,.tariff-sheet-row input:focus{box-shadow:inset 0 0 0 2px var(--green);background:#fff8dc}.sheet-row button{border-radius:0}.sheet-season:nth-child(odd)>.sheet-row{background:#fbfdfb}.tariff-sheet{background:#f5f8f6;border-bottom:2px solid #9fb3aa;width:100%;min-width:0;padding:10px 12px 14px 34px}.tariff-sheet-title{color:#31574d;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;display:flex}.tariff-sheet-title button{color:var(--green);cursor:pointer;background:#fff;border:1px solid #8daf9f;border-radius:5px;padding:6px 9px;font-weight:700}.period-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.period-actions .secondary-action{color:var(--green);border:1px solid var(--green);background:#fff}.tariff-sheet-row{background:#fff;border:1px solid #c9d4cf;border-bottom:0;grid-template-columns:34px 1.4fr .8fr .55fr 1.05fr;display:grid}.tariff-sheet-row:last-child{border-bottom:1px solid #c9d4cf}.tariff-sheet-row>*{border-right:1px solid #c9d4cf;padding:8px}.tariff-sheet-header{color:#526a63;background:#e7eee9;font-size:10px;font-weight:800}.row-actions{justify-content:center;align-items:center;gap:4px;display:flex;padding:4px!important}.row-actions button{cursor:pointer;border:0;border-radius:4px;padding:5px 6px;font-family:Arial,sans-serif;font-size:9px;font-weight:750}.edit-button{color:#176337;background:#e5f4e5}.delete-button{color:#a9482d;background:#fff0eb}.tariff-register-table{border:1px solid var(--line);border-radius:8px;font-family:Arial Narrow,Arial,sans-serif;overflow:hidden}.tariff-register-head,.tariff-register-row{grid-template-columns:.9fr 1.2fr 1fr 1.3fr .7fr .6fr;align-items:center;display:grid}.tariff-register-head{background:#dce8df;font-size:11px;font-weight:800}.tariff-register-head>*,.tariff-register-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:9px}.tariff-register-row input{width:100%;font:inherit;text-transform:uppercase;border:1px solid #b9cbc4;border-radius:4px;padding:7px}.tariff-register-row{font-size:11px}.parking-primary-actions{grid-template-columns:repeat(2,minmax(0,280px));align-items:center;gap:10px;margin:0 0 18px;display:grid}.parking-primary-actions button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:7px;padding:12px 18px;font-weight:800}.parking-primary-actions button:disabled{cursor:not-allowed;opacity:.45}.parking-primary-actions select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:7px;padding:12px;font-weight:700}.zone-register{margin-bottom:22px}.zone-register-table{border:1px solid var(--line);border-radius:8px;font-family:Arial Narrow,Arial,sans-serif;overflow-x:auto}.zone-register-head,.zone-register-row{grid-template-columns:.55fr 1.15fr 1fr .4fr .4fr .65fr 1.55fr;align-items:center;min-width:900px;display:grid}.zone-register-head{background:#dce8df;font-size:11px;font-weight:800}.zone-register-head>*,.zone-register-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:9px}.zone-register-row{font-size:11px}.zone-name-link{color:var(--green);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;font-weight:800}.zone-name-link:hover{text-decoration:underline}.zone-table-actions{flex-wrap:nowrap}.zone-editor-head-actions{align-items:center;gap:8px;display:flex}.zone-editor-head-actions button{color:var(--green);cursor:pointer;background:#fff;border:1px solid #8fb3aa;border-radius:5px;padding:7px 10px;font-weight:800}.zone-editor-head-actions .danger-link{color:var(--orange);background:0 0;border:0}.zone-editor-fields{border:0;min-width:0;margin:0;padding:0}.zone-editor-fields:disabled{opacity:1}.zone-editor-fields:disabled input,.zone-editor-fields:disabled select,.zone-editor-fields:disabled textarea{color:#253b35;-webkit-text-fill-color:#253b35;opacity:1;background:#f3f5f3}.form-grid.compact{gap:14px}.subsection{border-top:1px solid var(--line);background:#fbfcfa;padding:24px}.subsection-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.subsection-head h3{margin:0 0 4px;font-size:18px}.subsection-head p{color:var(--muted);margin:0;font-size:12px}.nested-card{border:1px solid var(--line);background:#fff;border-radius:9px;margin-top:12px;padding:18px}.nested-title{justify-content:space-between;margin-bottom:16px;display:flex}.check-label{align-items:center;padding-top:24px;flex-direction:row!important}.check-label input{width:auto}.inline-inputs{grid-template-columns:1fr 1fr;gap:7px;display:grid}.pmr-section{background:#f3f8f6}.pmr-card{border-left:4px solid #247f70}.electric-section{background:#f7f8f2}.electric-card{border-left:4px solid #e8ad27}.parking-primary-actions{grid-template-columns:repeat(3,minmax(0,280px))}.parking-primary-actions a{border:1px solid var(--green);color:var(--green);text-align:center;background:#fff;border-radius:7px;padding:12px 18px;font-weight:800;text-decoration:none}.reserved-section{background:#f7f5fb}.reserved-card{border-left:4px solid #7357ad}.reserved-card .nested-title>div{gap:3px;display:grid}.reserved-card .nested-title small{color:var(--muted)}.reserved-confirm-line{background:#f3f6f4;border-radius:7px;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:12px;display:flex}.reserved-confirm-line span{color:var(--muted);font-size:12px}.reserved-confirm-line button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:6px;padding:9px 12px;font-weight:800}.reserved-confirm-line button.confirmed{background:var(--green);color:#fff}.sensitive-field{background:#fff7f4;border:1px solid #ddb9b0;border-radius:7px;padding:12px}.reserved-map-marker{color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;font-size:12px;font-weight:900;box-shadow:0 2px 9px #00000059;display:grid!important}.reserved-map-marker span{line-height:1}.reserved-symbol{font-size:11px;font-weight:900}.parking-guidance-settings{border:1px solid #b9d8cd;border-left:4px solid var(--green);background:#f3f9f6;border-radius:8px;padding:16px}.parking-guidance-settings h4{margin:0 0 14px;font-size:16px}.parking-guidance-settings>small{color:var(--muted);margin-top:10px;line-height:1.45;display:block}.parking-guidance-warning{color:#9b511f;background:#fff1df;border-radius:5px;margin:10px 0 0;padding:9px;font-weight:700}.parking-availability{color:#2d9334;display:block}.parking-surface-marker{background:#1676b8}.public-map-page{min-height:100vh;color:var(--ink);background:#f4f5ef}.public-map-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:14px max(24px,50% - 640px);display:flex}.public-map-header>div{gap:8px;display:flex}.public-map-header button,.public-map-header-link{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:7px;padding:10px 13px;font-weight:800;text-decoration:none}.public-map-header button:last-child{background:var(--green);color:#fff}.public-map-intro{justify-content:space-between;align-items:end;gap:24px;width:min(1280px,100% - 36px);margin:0 auto;padding:42px 0 24px;display:flex}.public-map-intro h1{margin:8px 0;font-family:Georgia,serif;font-size:clamp(38px,6vw,66px)}.public-map-intro p{color:var(--muted);margin:0}.public-map-codes{gap:10px;display:flex}.public-map-codes span{border:1px solid var(--line);background:#fff;border-radius:9px;gap:4px;min-width:115px;padding:14px;display:grid}.public-map-codes small{letter-spacing:1px;color:var(--muted);font-size:9px}.public-map-codes b{color:var(--green);font-size:22px}.public-map-layout{grid-template-columns:280px 1fr;gap:18px;width:min(1280px,100% - 36px);margin:0 auto;display:grid}.public-map-layout aside,.public-map-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.public-map-layout aside{padding:20px}.public-map-layout aside h2{margin:0 0 16px;font-family:Georgia,serif}.public-map-zone,.public-map-symbol{border-bottom:1px solid #edf1ee;align-items:center;gap:10px;padding:9px 0;display:flex}.public-map-zone>i{border-radius:5px;flex:none;width:18px;height:18px}.public-map-zone span{gap:2px;display:grid}.public-map-zone small{color:var(--muted)}.public-map-symbol i{color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-style:normal;display:grid}.pmr-symbol{background:#2471c8}.electric-symbol{background:#e7a51d}.public-map-note{color:var(--muted);margin:16px 0 0;font-size:12px;line-height:1.5}.public-map-card{position:relative}.public-map-message{z-index:500;width:min(560px,100% - 30px);color:var(--muted);text-align:center;background:#fff;border-radius:8px;margin:0;padding:12px 15px;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 22px #00000029}.special-map-marker{color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;font-size:19px;font-weight:900;box-shadow:0 2px 9px #00000059;display:grid!important}.pmr-marker{background:#2471c8}.electric-marker{background:#e7a51d}.public-map-popup{gap:4px;min-width:180px;display:grid}.public-map-popup b{font-size:14px}.public-map-popup span{color:#2d9334;font-weight:700}.public-map-page footer{width:min(1280px,100% - 36px);color:var(--muted);margin:18px auto 0;padding:18px 0 36px;font-size:12px}.public-map-city-title{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.public-map-city-title h1{margin-right:0}.public-map-city-title a{border:1px solid var(--green);color:var(--green);background:#fff;border-radius:8px;align-items:center;padding:11px 15px;font-size:13px;font-weight:850;text-decoration:none;display:inline-flex;box-shadow:0 8px 20px #2d93341a}.public-map-city-title a:hover{background:var(--green);color:#fff}.compact-special-marker{border-width:2px;font-size:12px;box-shadow:0 1px 5px #00000052}@media (width<=850px){.public-map-header,.public-map-intro{flex-direction:column;align-items:stretch}.public-map-header>div{grid-template-columns:1fr 1fr;display:grid}.public-map-layout{grid-template-columns:1fr}.public-map-layout aside{order:2}.public-parking-map{min-height:480px}.public-map-codes{width:100%}.public-map-codes span{flex:1}.parking-primary-actions{grid-template-columns:1fr}}.zone-tariff-label{color:#fff!important;white-space:nowrap!important;background:#173b34!important;border:2px solid #fff!important;border-radius:7px!important;padding:5px 8px!important;font-size:11px!important;font-weight:900!important;box-shadow:0 2px 8px #0000004d!important}.zone-tariff-label:before{display:none!important}.charging-payment-link{background:#2d9334;border-radius:5px;margin-top:8px;padding:7px 9px;font-weight:800;text-decoration:none;display:inline-block;color:#fff!important}.charging-operators .form-section-title{align-items:center}.operator-add{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:6px;margin-left:auto;padding:9px 12px;font-weight:800}.operator-table{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.operator-table-head,.operator-table-row{grid-template-columns:1fr 1.15fr 1.25fr .8fr 1fr .65fr;align-items:center;min-width:1120px;display:grid}.operator-table-head{background:#dce8df;font-size:11px;font-weight:800}.operator-table-head>*,.operator-table-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:9px}.operator-table-row input{border:1px solid #b8cac3;border-radius:5px;width:100%;padding:8px}.operator-table-row button{color:#a9482d;cursor:pointer;background:#fff0eb;border:0;border-radius:5px;padding:8px;font-weight:700}.temporary-list{gap:12px;display:grid}.temporary-card{border:1px solid #e0c5ad;border-left:5px solid var(--orange);background:#fffaf5;border-radius:8px;padding:16px}.temporary-card-head{grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-bottom:14px;display:grid}.temporary-card-head>input{border:1px solid #c9b7a8;border-radius:5px;padding:10px;font-size:16px;font-weight:800}.temporary-card-head label{align-items:center;gap:6px;display:flex}.temporary-card-head label input{width:auto}.temporary-card-head button{color:#a9482d;cursor:pointer;background:#fff0eb;border:0;border-radius:5px;padding:9px;font-weight:700}.public-temporary-alert{background:#fff4df;border:2px solid #e68b32;border-radius:10px;width:min(1280px,100% - 36px);margin:0 auto 18px;padding:14px 18px}.public-temporary-alert h2{margin:0 0 8px;font-size:18px}.public-temporary-alert article{border-top:1px solid #ecd1ad;gap:3px;padding:7px 0;display:grid}.public-temporary-alert span,.public-temporary-alert p{margin:0;font-size:12px}.temporary-popup{color:#9e481a;background:#fff0df;border-radius:4px;margin-top:5px;padding:5px;font-size:11px}@page{size:A4 landscape;margin:10mm}@media print{html,body,.public-map-page{width:277mm;height:190mm;margin:0;padding:0;overflow:hidden}.public-map-header button,.public-map-page footer{display:none}.public-map-header{min-height:12mm;padding:0 0 3mm}.public-map-intro{width:100%;padding:3mm 0}.public-map-intro h1{margin:1mm 0;font-size:30px}.public-map-intro p{font-size:11px}.public-map-codes span{min-width:90px;padding:7px}.public-map-codes b{font-size:17px}.public-temporary-alert{width:100%;margin:0 0 2mm;padding:2mm 3mm}.public-temporary-alert h2{font-size:12px}.public-temporary-alert article{width:48%;padding:2px;display:inline-grid}.public-temporary-alert span,.public-temporary-alert p{font-size:8px}.public-map-page:has(.public-temporary-alert) .public-parking-map{height:110mm}.public-map-layout{break-inside:avoid;grid-template-columns:52mm minmax(0,1fr);gap:3mm;width:100%;margin:0;display:grid}.public-map-layout aside{border-radius:6px;order:0;padding:3mm;display:block}.public-map-layout aside h2{margin-bottom:5px;font-size:16px}.public-map-card{border:1px solid var(--line);break-inside:avoid;border-radius:6px;order:1;min-width:0}.public-map-zone,.public-map-symbol{gap:6px;padding:4px 0;font-size:9px}.public-map-zone>i{width:11px;height:11px}.public-map-symbol i{width:20px;height:20px;font-size:11px}.public-map-note{margin-top:6px;font-size:8px;line-height:1.3}.public-parking-map{width:100%;height:130mm;min-height:0}}@media (width<=800px){.parking-primary-actions{grid-template-columns:1fr}.zones-heading,.subsection-head,.street-editor-head{flex-direction:column;align-items:stretch}.zone-editor-head{grid-template-columns:1fr}.zone-name{width:100%}.empty-zone{padding:32px 18px}.zone-sheet-top{padding:18px}.street-row{grid-template-columns:28px 1fr 1fr}.street-row label:first-of-type,.street-row label:last-of-type,.street-row>button,.street-row-actions{grid-column:2/-1}.spreadsheet-section{padding:18px 10px}.season-sheet,.tariff-sheet{min-width:920px}.tariff-sheet{padding-left:18px}}.company-management{gap:22px;display:grid}.form-submit-line{color:var(--green);justify-content:space-between;align-items:center;margin-top:20px;font-size:12px;display:flex}.form-submit-line button,.control-tool form button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:7px;padding:12px 16px;font-weight:750}.company-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.company-table-head,.company-table-row{grid-template-columns:1.2fr 1.5fr .6fr .6fr;align-items:center;display:grid}.company-table-head{background:#dce8df;font-size:11px;font-weight:800}.company-table-head>*,.company-table-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px;font-size:12px}.company-table-row button{color:#a9482d;cursor:pointer;background:0 0;border:0}.active-pill{color:#176337;font-weight:750}.control-access-link{color:var(--green);margin-top:20px;font-weight:750;display:inline-block}.control-page{background:linear-gradient(135deg,#eff6f1,#f9f5ec);min-height:100vh}.control-page>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 max(24px,50% - 530px);display:flex}.control-content{width:min(760px,100% - 36px);margin:0 auto;padding:80px 0}.control-content h1{font-size:clamp(42px,7vw,66px)}.control-intro{color:var(--muted);font-size:18px;line-height:1.6}.control-tool{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:35px;padding:30px;box-shadow:0 20px 55px #112c2917}.control-tool form{grid-template-columns:1fr auto;align-items:end;gap:14px;display:grid}.control-tool label{flex-direction:column;gap:8px;font-size:13px;font-weight:750;display:flex}.control-tool input{letter-spacing:2px;text-transform:uppercase;border:1px solid #aebfb9;border-radius:7px;padding:15px;font-size:23px}.control-result{color:#7c331f;background:#fff0eb;border-radius:10px;gap:16px;margin-top:24px;padding:20px;display:flex}.control-result.valid{color:#145c33;background:#e5f4e5}.control-result>span{background:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:24px;font-weight:900;display:grid}.control-result h2{margin:0 0 7px}.control-result p{margin:4px 0}.privacy-note{color:var(--muted);margin:20px 0 0;font-size:11px}.camera-panel{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;padding-bottom:22px;display:flex}.camera-panel b{color:var(--ink)}.camera-panel p{color:var(--muted);margin:5px 0 0;font-size:12px}.camera-button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#f7fbf8;border-radius:7px;flex:none;padding:12px 15px;font-weight:750}.camera-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.plate-preview{background:#f4f7f4;border-radius:9px;grid-template-columns:190px 1fr;align-items:center;gap:18px;margin-bottom:22px;padding:14px;display:grid}.plate-preview img{object-fit:cover;border-radius:6px;width:100%;height:105px}.plate-preview strong,.plate-preview small{display:block}.plate-preview small{color:var(--muted);margin-top:8px}.ocr-progress{background:#dce5e0;border-radius:99px;height:7px;margin-top:12px;overflow:hidden}.ocr-progress span{background:var(--green);height:100%;transition:width .2s;display:block}@media (width<=700px){.company-table-head,.company-table-row,.control-tool form{grid-template-columns:1fr}.control-page .account span{display:none}.tariff-register-table{overflow-x:auto}.tariff-register-head,.tariff-register-row{min-width:760px}.camera-panel{flex-direction:column;align-items:stretch}.camera-button{text-align:center}.plate-preview{grid-template-columns:1fr}.plate-preview img{height:160px}}.control-history{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.control-history-head,.control-history-row{grid-template-columns:.8fr .7fr 1.25fr .6fr 1.25fr .7fr;align-items:center;min-width:900px;display:grid}.control-history-head{color:#24463d;background:#dce8df;font-size:11px;font-weight:800}.control-history-head>*,.control-history-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere;min-width:0;padding:11px;font-size:11px}.control-history-row strong{color:var(--green);letter-spacing:1px}.history-empty{text-align:center;color:var(--muted);padding:28px}.virtual-disc-notice{border-left:4px solid var(--green);background:#edf7f2;border-radius:6px;padding:14px}.virtual-disc-notice p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.5}.virtual-disc-policy{background:#f7fbf9;border:1px solid #c9dcd5;border-radius:9px;gap:16px;padding:18px;display:grid}.virtual-disc-policy-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.virtual-disc-policy-title p{color:var(--muted);margin:5px 0 0;font-size:13px}.virtual-disc-policy-title button{color:#9d4b12;cursor:pointer;background:#fff1df;border:1px solid #efb975;border-radius:6px;padding:9px 12px;font-weight:800}.virtual-disc-confirmation{color:#176b55;background:#e4f4ec;border-radius:6px;margin:0;padding:10px 12px;font-size:13px;font-weight:750}.subscription-management{gap:22px;display:grid}.subscription-table{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.subscription-table-head,.subscription-table-row{grid-template-columns:.8fr 1.3fr .8fr .55fr .65fr 1fr .85fr;align-items:center;min-width:920px;display:grid}.subscription-table-head{color:#24463d;background:#dce8df;font-size:11px;font-weight:800}.subscription-table-head>*,.subscription-table-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere;min-width:0;padding:11px;font-size:11px}.subscription-table-row strong{color:var(--green)}.subscription-actions{gap:6px;display:flex}.subscription-actions button,.subscription-actions a{color:var(--green);cursor:pointer;background:#e3f1eb;border:0;border-radius:4px;padding:6px;font-size:10px;font-weight:700;text-decoration:none}.subscription-actions button:last-child{color:#a9482d;background:#fff0eb}.subscription-next{border-left:4px solid var(--orange)}.subscription-next h2{margin:8px 0}.subscription-next p{color:var(--muted);line-height:1.6}.free-window-sheet{border-top:2px solid #4c8bc8;margin-top:10px}.free-window-sheet>p{color:var(--muted);margin:8px;font-size:11px}.free-window-row{border:1px solid var(--line);background:#f3f8fc;border-top:0;grid-template-columns:1.4fr .8fr .8fr .65fr .65fr .7fr;gap:6px;padding:7px;display:grid}.free-window-row input,.free-window-row select{border:1px solid var(--line);background:#fff;border-radius:4px;min-width:0;padding:7px}.entitlement-management{margin-top:22px}.entitlement-table-head,.entitlement-table-row{grid-template-columns:.8fr .9fr 1.4fr .8fr 1.1fr .6fr;align-items:center;min-width:850px;display:grid}.entitlement-table-head{background:#dce8df;font-weight:800}.entitlement-table-head>*,.entitlement-table-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;font-size:11px}.entitlement-table-row button{color:#a9482d;background:#fff0eb;border:0;border-radius:4px;margin:5px;padding:7px;font-weight:700}.season-calendar{margin-top:14px}.calendar-period-row{border-bottom:1px solid var(--line);background:#f8fbf9;grid-template-columns:1.2fr 1fr 1fr .8fr;align-items:end;gap:12px;padding:10px;display:grid}.calendar-period-row label{gap:4px;font-size:11px;font-weight:700;display:grid}.calendar-period-row input{border:1px solid var(--line);background:#fff;border-radius:5px;padding:7px}.calendar-period-row small{color:var(--green);padding-bottom:9px;font-weight:800}.tariff-register-head,.tariff-register-row{grid-template-columns:.8fr .9fr 1.3fr .65fr .6fr 1fr}.tariff-register-row input{border:1px solid var(--line);width:100%;min-width:0;font:inherit;border-radius:4px;padding:6px}.tariff-register-row input:disabled{color:var(--ink);opacity:1;background:0 0;border-color:#0000}.payment-methods{border:1px solid var(--line);border-radius:7px;gap:22px;padding:12px;display:flex}.payment-methods legend{padding:0 7px;font-weight:800}.payment-methods label{grid-template-columns:auto 1fr;align-items:center;gap:7px;display:flex}.payment-methods input{width:auto}.zone-editor{scroll-margin-top:18px}.general-rule-title{align-items:center}.general-tariff-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;margin-left:auto;display:flex}.general-tariff-actions button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:6px;padding:8px 11px;font-size:11px;font-weight:800}.general-tariff-actions button:hover{background:#e9f3ee}.city-zones-overview{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:28px;padding:24px;box-shadow:0 12px 30px #2448410f}.zones-overview-head{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.zones-overview-head h2{margin:7px 0 5px;font-family:Georgia,serif;font-size:30px}.zones-overview-head p{color:var(--muted);margin:0}.zones-overview-head>a{border:1px solid var(--green);color:var(--green);white-space:nowrap;border-radius:6px;padding:10px 14px;font-size:12px;font-weight:750}.zone-search{background:#edf4ef;border:1px solid #c8d8d0;border-radius:7px;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:12px;margin:22px 0 12px;padding:10px 12px;display:grid}.zone-search>span{color:#31574d;font-size:12px;font-weight:800}.zone-search input{width:100%;font:inherit;background:#fff;border:1px solid #adc2b8;border-radius:5px;padding:10px 12px}.zone-search small{color:var(--muted);white-space:nowrap}.city-zones-table-wrap{border:1px solid #becfc7;border-radius:7px;overflow-x:auto}.city-zones-table{min-width:960px;font-family:Arial Narrow,Arial,sans-serif}.city-zones-table-head,.city-zones-table-row{grid-template-columns:.55fr 1fr .8fr 1.55fr .48fr .48fr .5fr 1.35fr;align-items:stretch;display:grid}.city-zones-table-head{color:#24463d;background:#d8e6dc;font-size:11px;font-weight:800}.city-zones-table-head>*{border-right:1px solid #b8cbc1;padding:10px 8px}.city-zones-table-row>*{overflow-wrap:anywhere;border-top:1px solid #d3ded8;border-right:1px solid #d3ded8;min-width:0;padding:10px 8px;font-size:11px}.city-zones-table-row:nth-child(odd){background:#f8faf8}.city-zones-table-row strong{color:var(--green)}.zone-type{color:#526a63;background:#eef2ef;border-radius:4px;padding:4px 6px;font-style:normal;font-weight:750;display:inline-block}.zone-type.paid{color:#a84b23;background:#fff0e7}.zone-type.free{color:#18734c;background:#e5f5ec}.zone-type.blue{color:#285fa8;background:#e8f0ff}.zones-table-empty{text-align:center;color:var(--muted);margin:0;padding:24px}.city-zones-table-row>*{padding:8px}.city-zones-table-row-empty{min-height:31px}.city-zones-table-row-empty>*{padding:0}.city-zones-table-grouped{min-width:760px}.city-zones-table-grouped .city-zones-table-head,.city-zones-table-grouped .city-zones-table-row{grid-template-columns:.55fr 1.45fr 1.15fr .55fr .55fr 1fr}.draft-zones-page{color:#17332c;background:#f4f3ec;min-height:100vh;padding:30px 4vw 60px}.draft-zones-page>header{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto 24px;display:flex}.draft-zones-page>header a{color:var(--green);font-weight:800}.draft-zones-page>header span{letter-spacing:2px;color:var(--orange);font-size:11px;font-weight:900}.draft-zones-intro,.draft-city{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:1280px;margin:0 auto 22px;padding:24px;box-shadow:0 10px 25px #1c41370f}.draft-zones-intro h1{margin:7px 0;font:700 38px Georgia,serif}.draft-zones-intro>p:last-of-type{color:var(--muted);max-width:820px;line-height:1.5}.draft-zones-intro>div{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.draft-zones-intro>div b{color:var(--green);background:#e8f2ed;border-radius:6px;padding:8px 12px;font-size:12px}.draft-city-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;display:flex}.draft-city-head h2{margin:0;font:700 28px Georgia,serif}.draft-city-head h2 small{color:var(--muted);font:700 14px Arial,sans-serif}.draft-city-head p{color:var(--orange);margin:4px 0 0;font-size:11px;font-weight:800}.draft-city-head a{border:1px solid var(--green);color:var(--green);border-radius:6px;padding:8px 12px;font-size:11px;font-weight:800}.draft-zone-table{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.draft-zone-head,.draft-zone-row{grid-template-columns:.55fr 1.1fr 1fr 3.2fr .8fr;align-items:stretch;min-width:980px;display:grid}.draft-zone-head{background:#dce9e1;font-size:11px;font-weight:900}.draft-zone-head>*,.draft-zone-row>*{border-right:1px solid var(--line);padding:9px}.draft-zone-row>*{border-top:1px solid var(--line);font-size:11px}.draft-zone-row:nth-child(odd){background:#f8faf8}.draft-zone-row strong{color:var(--green)}.draft-zone-row i{color:#a85220;background:#fff0df;border-radius:10px;place-self:center start;padding:4px 7px;font-style:normal;font-weight:850}.draft-city-notes{border-left:4px solid var(--orange);color:#4c625c;background:#f6f8f5;margin:14px 0 0;padding:12px;font-size:12px;line-height:1.5}@media (width<=700px){.draft-zones-page{padding:18px 12px 40px}.draft-zones-page>header,.draft-city-head{flex-direction:column;align-items:flex-start}.draft-zones-intro,.draft-city{padding:16px}.draft-zones-intro h1{font-size:30px}}.draft-city-actions{align-items:center;gap:8px;display:flex}.candidate-sync{background:var(--orange);color:#1e2e29;cursor:pointer;border:0;border-radius:6px;padding:9px 12px;font-size:11px;font-weight:900}.candidate-sync:disabled{opacity:.65;cursor:wait}@media (width<=700px){.draft-city-actions,.zones-overview-head{flex-direction:column;align-items:stretch}.zone-search{grid-template-columns:1fr}.zone-search small{white-space:normal}.city-zones-overview{padding:16px}}.draft-city-links{flex-wrap:wrap;gap:12px;margin:0 0 22px;display:flex}.draft-city-links a{color:#fff;background:#2d9334;border:1px solid #2d9334;border-radius:8px;padding:12px 18px;font-weight:700;text-decoration:none}.commune-selector{background:#f7faf8;border:1px solid #cad9d4;border-radius:12px;margin-bottom:22px;padding:20px}.commune-selector h2{color:#102e29;margin:2px 0 4px;font-family:Georgia,serif;font-size:25px}.commune-selector>div>p:last-child{color:#59706b;margin:0 0 14px}.commune-selector-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.commune-selector-grid a{color:#173b34;background:#fff;border:1px solid #b9cec7;border-radius:9px;flex-direction:column;min-height:112px;padding:14px;text-decoration:none;display:flex}.commune-selector-grid a.current{background:#e8f3ef;border-color:#247563}.commune-selector-grid strong{font-size:16px}.commune-selector-grid small{color:#657a75;margin-top:5px}.commune-selector-grid span{color:#2d9334;margin-top:auto;padding-top:12px;font-size:13px;font-weight:800}@media (width<=900px){.commune-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.commune-selector-grid{grid-template-columns:1fr}}.commune-selector-table{background:#fff;border:1px solid #bfd0ca;border-radius:10px;overflow-x:auto}.commune-selector-head,.commune-selector-row{grid-template-columns:1.45fr .7fr .7fr 1.1fr .8fr .8fr;align-items:center;gap:12px;min-width:900px;padding:13px 15px;display:grid}.commune-selector-head{color:#24463d;background:#dce9e4;font-weight:900}.commune-selector-row{border-top:1px solid #d9e3df}.commune-selector-row:nth-child(odd){background:#f7faf8}.commune-selector-row.current{background:#e8f3ef}.commune-selector-row>a{color:#fff;background:#2d9334;border-radius:7px;justify-self:start;padding:8px 11px;font-size:13px;font-weight:800;text-decoration:none}.commune-selector-row>span{color:#5d716b}.commune-selector-row>span:nth-child(3){color:#31574d;font-weight:800}.commune-selector-table.manageable .commune-selector-head,.commune-selector-table.manageable .commune-selector-row{grid-template-columns:1.35fr .65fr .65fr 1fr .9fr .9fr 1.2fr;min-width:1100px}.commune-access-action button{cursor:pointer;border-radius:7px;padding:8px 10px;font-weight:800}.commune-access-action button.revoke{color:#a3422f;background:#fff;border:1px solid #a3422f}.commune-access-action button.reactivate{color:#fff;background:#2d9334;border:1px solid #2d9334}.commune-access-action button:disabled{opacity:.55;cursor:wait}.commune-access-action small{color:#71817c}.commune-access-message{color:#2d9334;background:#e8f5e8;border-radius:8px;margin:12px 0;padding:10px 12px;font-weight:800}.commune-selector-head>:first-child,.commune-selector-row>:first-child{z-index:2;background:#fff;align-self:stretch;align-items:center;margin:-13px 0 -13px -15px;padding:13px 15px;display:flex;position:sticky;left:0;box-shadow:8px 0 12px -12px #173b34}.commune-selector-head>:first-child{z-index:3;background:#dce9e4}.commune-selector-row:nth-child(odd)>:first-child{background:#f7faf8}.commune-selector-row.current>:first-child{background:#e8f3ef}.commune-selector-head,.commune-selector-row,.commune-selector-row strong{font-size:13px}.commune-selector-row>a,.commune-access-action button,.commune-access-action small{font-size:12px}.master-access{background:#133f36;border-radius:7px;font-weight:800;text-decoration:none;color:#fff!important;padding:9px 13px!important}.master-page{color:#102e29;background:#f4f4ee;min-height:100vh}.master-page>header{background:#fff;border-bottom:1px solid #dce5e1;justify-content:space-between;align-items:center;padding:18px max(4vw,28px);display:flex}.master-page>header>div{align-items:center;gap:18px;display:flex}.master-page a{color:#2d9334}.master-hero,.master-list{background:#fff;border:1px solid #d2ddd8;border-radius:14px;max-width:1180px;margin:28px auto;padding:26px}.master-hero h1{margin:5px 0;font:700 40px Georgia,serif}.master-hero>p:last-of-type{color:#5c716c}.master-hero>div{flex-wrap:wrap;gap:10px;display:flex}.master-hero>div b{background:#e5f0ec;border-radius:7px;padding:9px 12px}.master-list h2{margin:0;font:700 28px Georgia,serif}.master-search{margin:22px 0;display:block}.master-search span{margin-bottom:7px;font-weight:800;display:block}.master-search input{border:1px solid #9db5ad;border-radius:8px;width:100%;padding:15px;font-size:17px}.master-city-table{border:1px solid #c8d6d1;border-radius:9px;overflow:hidden}.master-city-head,.master-city-row{grid-template-columns:2fr 1fr 1fr 1.5fr .8fr;align-items:center;gap:12px;padding:13px;display:grid}.master-city-head{background:#dce8e4;font-weight:800}.master-city-row:nth-child(odd){background:#f5f8f6}.master-city-row a{font-weight:800}.master-empty{text-align:center;padding:20px}@media (width<=760px){.master-city-head{display:none}.master-city-row{grid-template-columns:1fr 1fr}.master-city-row strong{grid-column:1/-1}.master-page>header>div b{display:none}}.master-city-head.connections,.master-city-row.connections{grid-template-columns:1.2fr 1.7fr 1.5fr 1fr}.master-city-row small{color:#6b7e79;display:block}.access-request-page{color:#102e29;background:#f4f4ee;min-height:100vh}.access-request-page>header{background:#fff;justify-content:space-between;align-items:center;padding:18px max(4vw,28px);display:flex}.access-request-page>section{background:#fff;border:1px solid #ccdad5;border-radius:15px;max-width:720px;margin:40px auto;padding:30px}.access-request-page h1{font:700 38px Georgia,serif}.access-request-form{gap:15px;margin-top:25px;display:grid}.access-request-form label{gap:6px;font-weight:800;display:grid}.access-request-form>div{grid-template-columns:1fr 1fr;gap:12px;display:grid}.access-request-form input{border:1px solid #9db5ad;border-radius:7px;padding:13px;font-size:16px}.access-request-form button{color:#fff;background:#2d9334;border:0;border-radius:8px;padding:14px;font-size:16px;font-weight:800}.portal-connections,.portal-authorizations{max-height:545px;overflow:auto}.portal-connections .master-city-head,.portal-authorizations .master-city-head{z-index:2;position:sticky;top:0}.master-city-head.authorizations,.master-city-row.authorizations{grid-template-columns:1.05fr 1.5fr 1.25fr .6fr .65fr .7fr;min-width:980px}.portal-authorizations .access-active,.portal-authorizations .access-inactive{border-radius:999px;width:max-content;padding:5px 9px;font-size:12px}.portal-authorizations .access-active{color:#2d9334;background:#e3f2e4}.portal-authorizations .access-inactive{color:#9d351a;background:#fbe5df}.authorization-delete{color:#a33425;cursor:pointer;background:#fff;border:1px solid #b84534;border-radius:7px;padding:7px 10px;font-weight:800}.authorization-delete:disabled{opacity:.5;cursor:not-allowed}.authorization-message{color:#246c2a;background:#edf7ed;border-left:4px solid #2d9334;margin:12px 0;padding:10px 12px;font-weight:800}.master-table-menu{z-index:50;background:#fffffff5;border:1px solid #cbdad4;border-radius:12px;gap:8px;max-width:1180px;margin:0 auto 18px;padding:12px;display:flex;position:sticky;top:0;overflow-x:auto;box-shadow:0 8px 24px #102e2917}.master-table-menu a{color:#267d2c;background:#fff;border:1px solid #2d9334;border-radius:8px;flex:none;padding:9px 12px;font-weight:850;text-decoration:none}.master-table-menu a:hover,.master-table-menu a:focus-visible{color:#fff;background:#2d9334}.master-list[id]{scroll-margin-top:90px}.app-account-table{max-height:665px;overflow:auto}.app-account-table .master-city-head{z-index:3;position:sticky;top:0}.master-city-head.app-accounts,.master-city-row.app-accounts{grid-template-columns:1.15fr 1.7fr 1fr 1fr 1fr .75fr;min-width:1080px}.master-city-row.app-accounts span:nth-child(3){color:#2d9334;font-weight:800}.app-account-delete{color:#a3422f;cursor:pointer;background:#fff;border:1px solid #a3422f;border-radius:7px;padding:8px 11px;font-weight:800}.app-account-delete:hover{color:#fff;background:#a3422f}.app-account-message{color:#2d9334;background:#e5f0ec;border-radius:8px;margin:0 0 14px;padding:11px 13px;font-weight:800}.app-account-dialog-backdrop{z-index:1200;background:#081c1894;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.app-account-dialog{background:#fff;border-radius:14px;width:min(480px,100%);padding:25px;box-shadow:0 22px 70px #00000047}.app-account-dialog h3{margin:0 0 12px;font:700 27px Georgia,serif}.app-account-dialog p{line-height:1.55}.app-account-dialog>div{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.app-account-dialog button{cursor:pointer;border-radius:8px;padding:11px 14px;font-weight:900}.app-account-dialog button:disabled{opacity:.6;cursor:wait}.app-account-dialog .cancel{color:#174f43;background:#fff;border:1px solid #9db5ad}.app-account-dialog .confirm{color:#fff;background:#a3422f;border:1px solid #a3422f}.app-account-stats{grid-template-columns:repeat(2,minmax(0,240px));gap:12px;margin:20px 0;display:grid}.app-account-stats article{background:#edf5f2;border:1px solid #c8d6d1;border-radius:10px;gap:3px;padding:16px 18px;display:grid}.app-account-stats strong{color:#2d9334;font-size:30px;line-height:1}.app-account-stats span{color:#526b65;font-size:13px;font-weight:800}@media (width<=560px){.app-account-stats{grid-template-columns:1fr}}.app-account-tools{align-items:end;gap:10px;margin:0 0 12px;display:flex}.app-account-tools label{flex:1;gap:6px;font-weight:800;display:grid}.app-account-tools input{border:1px solid #9db5ad;border-radius:8px;width:100%;padding:13px;font-size:16px}.app-account-tools button,.app-account-pagination button,.app-account-filters button{color:#267d2c;cursor:pointer;background:#fff;border:1px solid #2d9334;border-radius:8px;padding:12px 15px;font-weight:800}.app-account-tools button,.app-account-filters button.active{color:#fff;background:#2d9334}.app-account-filters{flex-wrap:wrap;gap:8px;margin:0 0 15px;display:flex}.app-account-filters button{padding:8px 11px}.app-account-tools button:disabled,.app-account-pagination button:disabled,.app-account-filters button:disabled{opacity:.5;cursor:not-allowed}.app-account-table.loading{opacity:.55}.app-account-pagination{justify-content:center;align-items:center;gap:18px;margin-top:16px;display:flex}.app-account-pagination span{color:#526b65}@media (width<=560px){.app-account-tools{flex-direction:column;align-items:stretch}.app-account-pagination{gap:8px}.app-account-pagination button{padding:9px}}.master-hero .master-action-button{color:#fff;background:#2d9334;border:1px solid #2d9334;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:42px;padding:10px 16px;font-weight:900;transition:transform .15s,background .15s;display:inline-flex;box-shadow:0 5px 12px #17675629}.master-hero .master-action-button:hover{background:#105546;transform:translateY(-1px)}.master-hero .master-action-button.secondary{color:#2d9334;background:#fff}.master-hero .master-action-button.secondary:hover{background:#edf5f2}.master-hero .master-action-button:focus-visible{outline-offset:2px;outline:3px solid #17675640}.access-management-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.access-management-form label{gap:7px;font-weight:800;display:grid}.access-management-form input,.access-management-form select{min-height:48px;font:inherit;background:#fff;border:1px solid #9db5ad;border-radius:8px;padding:10px 12px}.access-management-form button{color:#fff;cursor:pointer;background:#2d9334;border:0;border-radius:8px;align-self:end;min-height:48px;font-weight:900}.access-management-form button:disabled{opacity:.55}.access-management-status{background:#e5f0ec;border-radius:8px;margin:16px 0 0;padding:11px 13px;font-weight:800}.access-members{border:1px solid #c8d6d1;border-radius:10px;margin-top:22px;overflow:hidden}.access-members-head,.access-members-row{grid-template-columns:1.4fr 1.2fr 1.4fr .7fr .7fr;align-items:center;gap:12px;padding:13px;display:grid}.access-members-head{background:#dce8e4;font-weight:900}.access-members-row:nth-child(odd){background:#f5f8f6}.access-members-row small{color:#647872;margin-top:3px;font-weight:500;display:block}.access-members-row button{color:#174f43;cursor:pointer;background:#fff;border:1px solid #9db5ad;border-radius:7px;padding:8px 10px;font-weight:800}.access-active{color:#2d9334}.access-inactive{color:#9b3b2c}.sales-page{color:#102e29;background:#f1f4f2;min-height:100vh}.sales-page>header{background:#fff;border-bottom:1px solid #dce5e1;justify-content:space-between;align-items:center;padding:18px max(4vw,28px);display:flex}.sales-page>header>div{align-items:center;gap:20px;display:flex}.sales-page>header span{display:grid}.sales-page>header small{color:#60756f}.sales-page a{color:#2d9334}.sales-hero,.sales-section{background:#fff;border:1px solid #d2ddd8;border-radius:15px;max-width:1080px;margin:28px auto;padding:28px}.sales-hero h1{margin:6px 0 10px;font:700 40px Georgia,serif}.sales-hero>p:last-child{color:#526b65;max-width:780px;line-height:1.65}.sales-section>div:first-child{justify-content:space-between;align-items:center;display:flex}.sales-section h2{margin:0 0 18px;font:700 28px Georgia,serif}.sales-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid!important}.sales-team article{border:1px solid #d3dfda;border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.sales-team article>div:nth-child(2){gap:3px;display:grid}.sales-team article>div:nth-child(2) span{color:#60756f}.sales-team article>b{color:#2d9334;margin-left:auto}.sales-avatar{color:#fff;background:#2d9334;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.sales-boundaries>div{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.sales-boundaries article{background:#edf4f1;border-radius:10px;padding:17px}.sales-boundaries p{color:#526b65;margin-bottom:0;line-height:1.5}@media (width<=760px){.access-management-form{grid-template-columns:1fr}.access-members-head{display:none}.access-members-row{grid-template-columns:1fr 1fr}.access-members-row strong,.access-members-row>span:nth-child(3){grid-column:1/-1}.sales-page>header>div span{display:none}.sales-team,.sales-boundaries>div{grid-template-columns:1fr!important}}.parkia-login-page{color:#102e29;background:radial-gradient(circle at 80% 10%,#dff3eb,#0000 35%),#f4f2e9;place-items:center;min-height:100vh;padding:24px;display:grid}.parkia-login-page>section{background:#fff;border:1px solid #cbd9d4;border-radius:18px;width:min(520px,100%);padding:34px;box-shadow:0 20px 60px #183b3220}.parkia-login-page .brand{margin-bottom:34px;display:inline-flex}.parkia-login-page h1{margin:8px 0;font:700 42px Georgia,serif}.parkia-login-form{gap:15px;margin-top:25px;display:grid}.parkia-login-form label{gap:7px;font-weight:800;display:grid}.parkia-login-form input{border:1px solid #8ea9a0;border-radius:8px;padding:15px;font-size:17px}.parkia-login-form button{color:#fff;cursor:pointer;background:#2d9334;border:0;border-radius:8px;padding:15px;font-size:16px;font-weight:900}.parkia-login-form p{background:#e8f3ef;border-radius:7px;margin:0;padding:12px;font-weight:700}.parkia-login-form small{color:#657872}.auth-callback-state{background:#e8f3ef;border-radius:8px;margin-top:24px;padding:16px;font-weight:800}.login-session-choice{text-align:center;gap:14px;margin-top:25px;display:grid}.login-session-choice>a:last-child{color:#247a2a;text-underline-offset:3px;font-weight:800;text-decoration:underline}.draft-zone-head,.draft-zone-row{grid-template-columns:.55fr 1.05fr .9fr 2.75fr 1.25fr .7fr;min-width:1120px}.operator-code{color:#2d9334;font-size:11px}.city-directory-search{margin:16px 0 18px;position:relative}.city-directory-search label{display:block}.city-directory-search label span{color:#173b34;margin-bottom:7px;font-weight:900;display:block}.city-directory-search input{background:#fff;border:1px solid #8eaba1;border-radius:8px;width:100%;padding:14px 16px;font-size:16px}.city-directory-search>p{color:#61756f;margin:8px 0}.city-directory-results{z-index:20;background:#fff;border:1px solid #a9bfb7;border-radius:9px;max-height:360px;position:absolute;top:78px;left:0;right:0;overflow:auto;box-shadow:0 15px 35px #183b3225}.city-directory-results article{border-bottom:1px solid #dce5e1;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.city-directory-results article:last-child{border-bottom:0}.city-directory-results strong,.city-directory-results small{display:block}.city-directory-results small{color:#697b76;margin-top:3px}.city-directory-results a{color:#2d9334;font-weight:900}.city-directory-results article>span{color:#8a5b3c;font-size:12px;font-weight:700}.free-window-row{grid-template-columns:1.5fr .8fr .8fr .7fr .7fr .7fr}.tariff-price-input{max-width:86px}.tariff-sheet-row input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.tariff-register-row input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.tariff-sheet-row input[type=number],.tariff-register-row input[type=number]{appearance:textfield}.tariff-options{border:1px solid var(--line);background:#fffaf0;flex-wrap:wrap;gap:12px;margin:10px 30px;padding:10px;display:flex}.tariff-options label{align-items:center;gap:8px;font-size:11px;font-weight:750;display:flex}.tariff-options input,.tariff-options select{border:1px solid var(--line);background:#fff;border-radius:5px;padding:7px}.exception-sheet{border-top:2px solid var(--orange);margin-top:10px}.exception-sheet>p{color:var(--muted);margin:8px;font-size:11px}.exception-rule-row{border:1px solid var(--line);background:#fff8f2;border-top:0;grid-template-columns:1.4fr 110px 110px 90px 90px 76px 76px 100px 75px 80px;gap:5px;min-width:1120px;padding:7px;display:grid}.exception-rule-row input,.exception-rule-row select{border:1px solid var(--line);background:#fff;border-radius:4px;min-width:0;padding:7px;font-size:11px}.tariff-base-help{color:var(--muted);margin:12px 0 0;font-size:12px}.tariff-plan-editor{margin-top:18px}.tariff-plan-head,.tariff-plan-row{grid-template-columns:.7fr 1.4fr .65fr .75fr 1fr 1fr}.tariff-sync-notice{color:#6b4b1e;background:#fffaf0;border:1px solid #e4cfab;border-radius:7px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.5}.tariff-plan-head,.tariff-plan-row{grid-template-columns:64px minmax(165px,1fr) 76px 88px 120px 205px;min-width:760px}.tariff-plan-row>.zone-table-actions{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:3px;padding:5px 6px;display:flex}.tariff-plan-row>.zone-table-actions button{padding:5px 6px;font-size:10px;line-height:1.2}.parking-section-filter{z-index:15;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;border:1px solid #bfd2ca;border-radius:12px;margin:0 0 18px;padding:16px 18px;display:block;position:sticky;top:0;box-shadow:0 12px 30px #1940351a}.parking-section-filter>div:first-child{justify-content:flex-start;align-items:baseline;gap:14px;margin-bottom:12px;display:flex}.parking-section-filter>div:first-child strong{color:var(--ink);flex:none;font-size:17px}.parking-section-filter>div:first-child span{color:var(--muted);font-size:13px}.parking-section-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.parking-section-options button{color:#31564c;text-align:left;cursor:pointer;background:#f7faf8;border:1px solid #c5d5ce;border-radius:8px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:52px;padding:9px 11px;display:grid}.parking-section-options button:hover{border-color:var(--green);background:#eef6f2}.parking-section-options button.active{border-color:var(--green);color:#0f5d4a;box-shadow:inset 0 0 0 1px var(--green);background:#dff1e8}.parking-section-options b{overflow-wrap:anywhere;min-width:0;font-size:14px;line-height:1.2}.parking-section-options em{color:#31564c;background:#dfe8e3;border-radius:999px;place-items:center;min-width:25px;height:25px;padding:0 6px;font-size:12px;font-style:normal;font-weight:900;display:grid}.parking-section-options button.active em{background:var(--green);color:#fff}.section-check{color:#fff;background:#fff;border:2px solid #91aaa0;border-radius:5px;place-items:center;width:22px;height:22px;font-size:14px;font-weight:900;display:grid}.parking-section-options button.active .section-check{border-color:var(--green);background:var(--green)}.special-register-table{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.special-register-head,.special-register-row{grid-template-columns:1.8fr .55fr .65fr 1fr .75fr 1fr;align-items:center;min-width:820px;display:grid}.special-register-head{color:#24463d;background:#dce8df;font-size:12px;font-weight:900}.special-register-head>*,.special-register-row>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:12px}.special-register-row:nth-child(odd){background:#f8faf8}.special-register-row strong{color:var(--green)}.special-register-row button{color:var(--green);cursor:pointer;background:#e3f1eb;border:0;border-radius:5px;padding:8px 10px;font-weight:800}.parking-map-header-link{border:1px solid var(--green);background:var(--green);-webkit-text-fill-color:#fff;white-space:nowrap;border-radius:7px;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:9px 14px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex;color:#fff!important}.parking-auto-import-button{border:1px solid var(--orange);color:#9b511f;cursor:pointer;background:#fff7ec;border-radius:7px;padding:9px 14px;font-size:13px;font-weight:800}.parking-auto-import-button:disabled{cursor:wait;opacity:.8}.parking-activity-console{color:#edf8f4;background:#102f29;border:1px solid #264a42;border-radius:12px;margin:-10px 0 18px;overflow:hidden;box-shadow:0 12px 28px #12342d21}.parking-activity-console header{background:#163b33;border-bottom:1px solid #ffffff21;justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;display:flex}.parking-activity-console header>div{align-items:center;gap:11px;display:flex}.parking-activity-console header>div>span{background:#8ca39d;border-radius:50%;width:10px;height:10px}.parking-activity-console header>div>span.running{background:#f2a348;animation:1.25s ease-in-out infinite parking-activity-pulse;box-shadow:0 0 0 5px #f2a34821}.parking-activity-console header b,.parking-activity-console header small{display:block}.parking-activity-console header small{color:#b7ccc6;margin-top:2px}.parking-activity-console header button{color:#e9f5f1;cursor:pointer;background:0 0;border:1px solid #ffffff47;border-radius:7px;padding:6px 10px}.parking-activity-lines{max-height:230px;padding:7px 0;font-family:Consolas,Courier New,monospace;font-size:12px;overflow:auto}.parking-activity-lines p{border-bottom:1px solid #ffffff0e;grid-template-columns:66px minmax(110px,170px) 1fr;gap:10px;margin:0;padding:7px 16px;line-height:1.45;display:grid}.parking-activity-lines p:last-child{border-bottom:0}.parking-activity-lines time{color:#8fb0a7}.parking-activity-lines strong{color:#70d5bb;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.parking-activity-lines span{color:#e4efec}.parking-activity-lines p.active span{color:#ffc475}@keyframes parking-activity-pulse{50%{opacity:.45;transform:scale(.82)}}.parking-auto-import-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:-10px 0 18px;display:grid}.parking-auto-import-actions .parking-auto-import-button{max-width:none;min-height:48px}.parking-auto-import-actions .parking-map-visibility-option{grid-column:1/-1;width:100%;max-width:none;min-height:48px;margin:0}.parking-search-spinner{vertical-align:middle;border:3px solid #9b511f47;border-top-color:#9b511f;border-radius:50%;width:18px;height:18px;animation:.75s linear infinite parking-search-spin;display:inline-block}@keyframes parking-search-spin{to{transform:rotate(360deg)}}@media (width<=1100px){.parking-section-options{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media (width<=700px){.parking-activity-console{margin-top:0}.parking-activity-lines p{grid-template-columns:58px 1fr;gap:4px 8px}.parking-activity-lines p span{grid-column:2}.parking-auto-import-actions{flex-direction:column;margin-top:0}.parking-auto-import-actions .parking-auto-import-button,.parking-auto-import-actions .parking-map-visibility-option{width:100%;max-width:none}.parking-section-filter{padding:13px;position:static}.parking-section-filter>div:first-child{flex-direction:column;align-items:flex-start;gap:4px}.parking-map-header-link{text-align:center;width:100%;margin:7px 0 0}.parking-section-options{grid-template-columns:1fr 1fr}.parking-section-options button{grid-template-columns:20px minmax(0,1fr) auto}.parking-section-options b{font-size:13px}}@media (width>=801px){.parking-section-filter{padding:12px 14px}.parking-section-filter>div:first-child{margin-bottom:8px}.parking-section-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.parking-section-options button{min-height:44px;padding:6px 9px}.parking-section-options b{font-size:13px}}@media (width>=701px) and (width<=800px){.parking-section-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.candidate-zone-register{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:1280px;margin:0 auto 22px;padding:24px;box-shadow:0 10px 25px #1c41370f}.candidate-zone-register .zones-overview-head h2{margin-top:0}.candidate-zone-table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.candidate-zone-table{min-width:1050px}.candidate-zone-head,.candidate-zone-row{grid-template-columns:.55fr 1.15fr 1fr 2.4fr 1.35fr .7fr;align-items:stretch;display:grid}.candidate-zone-head{background:#dce9e1;font-size:11px;font-weight:900}.candidate-zone-head>*,.candidate-zone-row>*{border-right:1px solid var(--line);padding:9px}.candidate-zone-row>*{border-top:1px solid var(--line);font-size:11px}.candidate-zone-row:nth-child(odd){background:#f8faf8}.candidate-zone-row strong{color:var(--green)}.candidate-zone-row i{color:#a85220;background:#fff0df;border-radius:10px;place-self:center start;padding:4px 7px;font-style:normal;font-weight:850}.public-map-details{border:1px solid var(--line);background:#fff;border-radius:13px;width:min(1280px,100% - 36px);margin:26px auto;padding:22px}.public-map-details header{margin-bottom:16px}.public-map-details h2{margin:7px 0 0;font-family:Georgia,serif;font-size:28px}.public-map-details>div{overflow-x:auto}.public-map-details table{border-collapse:collapse;width:100%;min-width:1080px;font-size:11px}.public-map-details th{text-align:left;background:#dce9e1;padding:10px 8px}.public-map-details td{vertical-align:top;border-bottom:1px solid #d7e1dc;padding:8px}.public-map-details tbody tr:nth-child(2n){background:#f7f9f7}.public-map-details td:first-child i{border-radius:4px;width:18px;height:18px;display:block}@page{size:A4 landscape;margin:10mm}@media print{html,body,.public-map-page{width:auto;height:auto;overflow:visible}.public-map-header,.public-temporary-alert,.public-map-symbol,.public-map-note,.special-map-marker{display:none!important}.public-map-intro{padding-top:0}.public-map-layout{min-height:0}.public-parking-map{height:135mm;min-height:0}.public-map-details{break-before:page;page-break-before:always;border:0;border-radius:0;width:100%;margin:0;padding:0}.public-map-details header{margin:0 0 4mm}.public-map-details h2{font-size:22px}.public-map-details>div{overflow:visible}.public-map-details table{table-layout:fixed;min-width:0;font-size:8px}.public-map-details th,.public-map-details td{overflow-wrap:anywhere;padding:4px}.public-map-details th:first-child,.public-map-details td:first-child{width:12mm}.public-map-details th:nth-child(2){width:35mm}.public-map-details th:nth-child(3){width:48mm}.public-map-details th:nth-child(4){width:25mm}.public-map-details th:nth-child(7){width:20mm}.public-map-details tr{break-inside:avoid;page-break-inside:avoid}}.admin-access-page{background:radial-gradient(circle at 50% 20%,#e4f3ed 0,#f6f4ec 42%,#eef1ec 100%);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.admin-pin-card{text-align:center;background:#fff;border:1px solid #cfdcd7;border-radius:24px;width:min(100%,430px);padding:34px;box-shadow:0 24px 70px #10322c24}.admin-pin-logo{color:#fff;background:#1e735f;border-radius:14px;place-items:center;width:58px;height:58px;margin:0 auto 14px;font:800 32px/1 Arial,sans-serif;display:grid;box-shadow:inset 0 0 0 2px #ffffff40}.admin-pin-card h1{letter-spacing:-.8px;white-space:normal;text-wrap:balance;overflow-wrap:normal;color:#102f29;max-width:360px;margin:8px auto 10px;font-family:Arial,sans-serif;font-size:clamp(25px,7vw,32px);font-weight:800;line-height:1.15}.admin-pin-card>p:not(.panel-label):not(.form-message){color:#5a6d68;margin:0 auto 20px;line-height:1.5}.pin-dots{justify-content:center;gap:14px;margin:24px 0;display:flex}.pin-dots span{background:#fff;border:2px solid #2d7767;border-radius:50%;width:16px;height:16px}.pin-keypad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:320px;margin:0 auto 18px;display:grid}.pin-keypad button{color:#102f29;cursor:pointer;background:#f7faf8;border:1px solid #b8cbc4;border-radius:14px;min-height:58px;font-size:24px;font-weight:800}.pin-keypad button:hover,.pin-keypad button:focus-visible{background:#e4f3ed;border-color:#2d7767;outline:3px solid #2d77672e}.pin-tools{grid-template-columns:1fr 2fr;gap:10px;display:grid}.pin-tools button{cursor:pointer;border:1px solid #b8cbc4;border-radius:12px;min-height:52px;font-weight:800}.pin-tools .primary-button{color:#fff;background:#26715f;border-color:#26715f;width:100%;display:block}.pin-tools .primary-button:disabled{opacity:.5;cursor:not-allowed}.admin-pin-card .form-message{color:#9d351a;background:#fff0eb;border-radius:9px;margin:16px 0 4px;padding:10px;font-weight:700}.admin-pin-card>a{color:#235e52;margin-top:20px;font-weight:700;display:inline-block}.admin-pin-loading{color:#264f46;font-weight:700}@media (width<=520px){.admin-pin-card{padding:24px 18px}.admin-pin-card h1{max-width:300px;font-size:27px}.pin-keypad button{min-height:54px}.pin-tools{grid-template-columns:1fr}.pin-tools .primary-button{grid-row:1}}.brand-mark,.admin-pin-logo{position:relative;border-radius:12px!important;overflow:visible!important}.brand-mark:after,.admin-pin-logo:after{content:"i";color:#ff3939;text-shadow:0 1px 1px #0000002e;font:900 12px/1 Georgia,serif;position:absolute;bottom:3px;right:5px}.admin-pin-logo:after{font-size:15px;bottom:5px;right:7px}.pin-count{font-size:12px;font-weight:800;color:#2d7767!important;margin:-15px 0 16px!important}.pin-tools .primary-button:not(:disabled){color:#fff;background:#26715f}.department-controls{background:#f7faf8;border:1px solid #cbdcd5;border-radius:12px;grid-template-columns:minmax(280px,1.35fr) minmax(220px,1fr) auto;align-items:end;gap:18px;margin:18px 0 22px;padding:18px;display:grid}.department-controls label{color:#173c34;gap:7px;font-weight:800;display:grid}.department-controls select{width:100%;font:inherit;background:#fff;border:1px solid #9eb9b0;border-radius:8px;padding:12px}.department-controls .master-action-button{white-space:nowrap;justify-content:center;align-items:center;min-height:46px;display:flex}.department-progress{gap:8px;display:grid}.department-progress>div{background:#dce8e3;border-radius:999px;height:10px;overflow:hidden}.department-progress>div span{border-radius:inherit;background:#26715f;height:100%;display:block}.department-progress b{color:#315c52;font-size:13px}.department-search{margin:0 0 16px}.department-city-list{border:1px solid #ccdad5;border-radius:10px;overflow:auto}.department-city-row{border-top:1px solid #d7e1dd;grid-template-columns:minmax(210px,1.5fr) 120px 110px minmax(190px,1fr) 155px;align-items:center;min-width:850px;display:grid}.department-city-row:first-child{border-top:0}.department-city-row>*{padding:11px 12px}.department-city-row.heading{background:#dce9e4;font-size:12px;font-weight:900}.department-city-row>a{color:#16634f;font-weight:800}.department-status{border-radius:999px;width:max-content;margin:8px 12px;font-size:11px;font-weight:850;padding:5px 9px!important;display:inline-flex!important}.department-status.ready{color:#17604d;background:#def0e8}.department-status.pending{color:#95510d;background:#fff0d9}.department-safety-note{color:#604a2f;background:#fff9ef;border-left:4px solid #e88b2e;margin:18px 0 0;padding:14px 16px;line-height:1.5}@media (width<=900px){.department-controls{grid-template-columns:1fr}.department-controls .master-action-button{white-space:normal}}.department-progress small{color:#61766f;font-weight:750}.department-city-row strong{gap:2px;display:grid}.department-city-row strong small{color:#738881;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.department-controls{grid-template-columns:minmax(260px,1.35fr) minmax(170px,.65fr) minmax(220px,1fr) auto}.department-batch-size input{width:100%;font:inherit;background:#fff;border:1px solid #9eb9b0;border-radius:8px;padding:12px}.department-batch-size small{color:#61766f}.department-city-row.in-current-batch{background:#fffaf0;box-shadow:inset 4px 0 #e88b2e}.department-confirm{cursor:pointer;border:0}.department-confirm:disabled{opacity:.5;cursor:not-allowed}.department-batch-preview{background:#fffaf0;border:1px solid #e4cfab;border-radius:12px;margin:0 0 22px;padding:18px}.department-batch-preview>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.department-batch-preview h3{color:#173c34;margin:0}.department-batch-preview>div>b{color:#82460b;background:#f6dfbb;border-radius:999px;padding:5px 9px}.department-batch-preview ol{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:14px 0;padding:0;list-style:none;display:grid}.department-batch-preview li{background:#fff;border:1px solid #ead8bb;border-radius:8px;grid-template-columns:28px 1fr;align-items:center;column-gap:8px;padding:9px;display:grid}.department-batch-preview li>span{color:#fff;background:#26715f;border-radius:50%;grid-row:1/3;place-items:center;width:26px;height:26px;font-size:11px;font-weight:900;display:grid}.department-batch-preview li small{color:#71817c}.department-batch-preview>.master-action-button{margin-top:4px;display:inline-flex}.department-batch-preview>.department-batch-actions{flex-wrap:wrap;justify-content:flex-start;margin-top:4px}.preprocessing-message{color:#173c34;background:#edf7f3;border-left:4px solid #26715f;margin:0 0 18px;padding:12px 16px;font-weight:750}.preprocessing-summary{gap:12px;display:grid}.preprocessing-summary p{color:#536a62;margin:0}.preprocessing-summary .master-action-button{width:max-content}.preprocessing-table .department-city-row{grid-template-columns:minmax(190px,1.2fr) 110px 145px 175px minmax(210px,1.25fr) 105px;min-width:1050px}.preprocessing-table .department-city-row>span{gap:3px;display:grid}.preprocessing-table .department-city-row small{color:#6c8179}.preprocessing-table .department-city-row a{color:#176b57;font-weight:800}.preprocessing-table .department-city-row button{color:#8d4808;cursor:pointer;background:#fff8ee;border:1px solid #d67c23;border-radius:7px;margin:8px 10px;padding:8px 10px;font-weight:850}.preprocessing-table .department-city-row button:disabled{opacity:.5;cursor:not-allowed}.department-status.probable{color:#245b9a;background:#e6f0ff}.department-status.uncertain{color:#55635f;background:#f0f1f1}.department-status.error{color:#a32f27;background:#ffe6e4}.department-status.working{color:#915313;background:#fff1d8}.master-action-button.stop{background:#8e3b32;border-color:#8e3b32}@media (width<=1050px){.preprocessing-controls{grid-template-columns:1fr 1fr}.preprocessing-controls label{grid-column:1/-1}}@media (width<=700px){.preprocessing-controls{grid-template-columns:1fr}.preprocessing-controls>*{grid-column:auto}}.ai-data-workspace{gap:24px;display:grid}.ai-intro,.ai-api-card{background:#fff;border:1px solid #ccd9d3;border-radius:18px;justify-content:space-between;gap:28px;padding:26px;display:flex}.ai-intro span,.ai-api-card span{letter-spacing:.16em;color:#287665;font-size:11px;font-weight:800}.ai-intro h2,.ai-api-card h2{margin:7px 0}.ai-intro p,.ai-api-card p{color:#52635f;max-width:720px}.ai-intro ol{gap:8px;min-width:230px;margin:0;padding:0;list-style:none;display:grid}.ai-intro li{align-items:center;gap:10px;display:flex}.ai-intro li b{color:#176b59;background:#e4f1ec;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.ai-import textarea{min-height:210px}.ai-proposal-table{display:grid}.ai-proposal-head,.ai-proposal-row{border-bottom:1px solid #d9e2de;grid-template-columns:70px 1fr 150px 150px 110px;align-items:center;gap:10px;padding:11px;display:grid}.ai-proposal-head{background:#dce8e2;font-weight:800}.ai-proposal-row button,.ai-api-card a{color:#176b59;text-align:center;background:#fff;border:1px solid #176b59;border-radius:9px;padding:10px 14px;font-weight:800;text-decoration:none}.ai-api-card a{color:#fff;background:#287665;align-self:center}.ai-review pre{white-space:pre-wrap;font:inherit;background:#f4f7f5;border-radius:12px;padding:18px;line-height:1.55}.ai-review .assistance-status-actions button:nth-of-type(2){color:#fff;background:#287665}.ai-review .assistance-status-actions button:nth-of-type(3){color:#a43d29}@media (width<=800px){.ai-intro,.ai-api-card{display:grid}.ai-proposal-head{display:none}.ai-proposal-row{grid-template-columns:55px 1fr}.ai-proposal-row>:nth-child(n+3){grid-column:2}.ai-intro ol{min-width:0}}.legal-page{min-height:100vh;color:var(--ink);background:#f4f4ee}.legal-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:18px max(24px,50% - 450px);display:flex}.legal-header .brand{color:var(--ink);align-items:center;gap:10px;font-weight:800;text-decoration:none;display:flex}.legal-header>a:last-child,.legal-document a,.legal-footer a{color:var(--green);font-weight:700}.legal-document{width:min(900px,100% - 36px);margin:0 auto;padding:58px 0 38px}.legal-document h1{letter-spacing:-1.5px;margin:10px 0 8px;font-family:Georgia,serif;font-size:clamp(40px,7vw,66px);line-height:1.05}.legal-updated{color:var(--muted);margin:0;font-size:14px}.legal-intro{color:#31574d;max-width:720px;margin:30px 0 42px;font-family:Georgia,serif;font-size:22px;line-height:1.5}.legal-document section{border-top:1px solid var(--line);padding:26px 0}.legal-document h2{margin:0 0 12px;font-family:Georgia,serif;font-size:25px}.legal-document p,.legal-document li{font-size:16px;line-height:1.75}.legal-document section p{margin:0}.legal-document ul{gap:8px;margin:0;padding-left:22px;display:grid}.legal-footer{border-top:1px solid var(--line);width:min(900px,100% - 36px);color:var(--muted);justify-content:space-between;gap:20px;margin:0 auto;padding:24px 0 42px;font-size:14px;display:flex}@media (width<=600px){.legal-header{flex-direction:column;align-items:flex-start}.legal-document{padding-top:38px}.legal-document h1{font-size:42px}.legal-intro{font-size:19px}.legal-footer{flex-direction:column}}.password-field{gap:8px;display:flex}.password-field input{flex:1;min-width:0}.password-toggle{white-space:nowrap;color:#2d9334!important;background:#fff!important;border:1px solid #9db5ad!important;min-height:48px!important;padding:0 14px!important}.commune-access-help{color:#24463d;background:#e8f5e8;border-left:4px solid #2d9334;border-radius:6px;margin:14px 0;padding:11px 13px;font-size:14px}.floating-back-button{z-index:950;color:#2d9334;cursor:pointer;background:#fff;border:1px solid #2d9334;border-radius:999px;padding:11px 16px;font-weight:900;position:fixed;bottom:18px;left:18px;box-shadow:0 6px 22px #102e2933}.floating-back-button:hover{color:#fff;background:#2d9334}.floating-back-button:focus-visible{outline-offset:2px;outline:3px solid #1767564d}.master-city-management{overflow-x:auto}.master-city-management .master-city-head,.master-city-management .master-city-row{grid-template-columns:1.55fr .8fr .8fr 1.2fr .65fr 1.15fr;min-width:1030px}.master-city-management .commune-access-action button{cursor:pointer;border-radius:7px;padding:8px 10px;font-weight:800}.master-city-management .commune-access-action button.revoke{color:#a3422f;background:#fff;border:1px solid #a3422f}.master-city-management .commune-access-action button.reactivate{color:#fff;background:#2d9334;border:1px solid #2d9334}.master-city-management .commune-access-action button:disabled{opacity:.55;cursor:wait}.master-city-management .commune-access-action small{color:#71817c}.master-city-tools{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin:22px 0;display:grid}.master-city-tools .master-search{margin:0}.manual-city-toggle{color:#fff;min-height:51px;font:inherit;cursor:pointer;background:#2d9334;border:1px solid #2d9334;border-radius:8px;padding:11px 16px;font-weight:900}.manual-city-toggle:hover{background:#105546}.manual-city-form{background:#f6faf8;border:1px solid #9db5ad;border-radius:10px;margin:0 0 18px;padding:18px}.manual-city-form>form{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;display:grid}.manual-city-form label{color:#173c34;gap:7px;font-weight:800;display:grid}.manual-city-form input{width:100%;font:inherit;background:#fff;border:1px solid #9db5ad;border-radius:7px;padding:12px}.manual-city-form>p{color:#5b706a;margin:11px 0;font-size:14px}.manual-city-form button{color:#2d9334;font:inherit;cursor:pointer;background:#fff;border:1px solid #2d9334;border-radius:7px;padding:10px 15px;font-weight:900}.manual-city-form form button,.manual-city-result button{color:#fff;background:#2d9334}.manual-city-form button:disabled{opacity:.6;cursor:wait}.manual-city-form .manual-city-error{color:#9d2d21;background:#fff0ed;border-radius:7px;padding:10px 12px;font-weight:800}.manual-city-results{background:#fff;border:1px solid #c8d6d1;border-radius:8px;overflow-x:auto}.manual-city-result{border-top:1px solid #dce5e1;grid-template-columns:1.4fr .7fr 1.1fr .8fr;align-items:center;gap:10px;min-width:760px;padding:11px 12px;display:grid}.manual-city-result:first-child{border-top:0}.manual-city-result.heading{background:#dce8e4;font-size:13px;font-weight:900}.manual-city-close{justify-content:flex-end;margin-top:12px;display:flex}@media (width<=760px){.master-city-tools,.manual-city-form>form{grid-template-columns:1fr}.manual-city-form form button,.manual-city-close button{width:100%}}.visitor-content{max-width:1100px;margin:0 auto;padding:34px 24px}.visitor-hero{background:linear-gradient(135deg,#fff,#edf6f1);border:1px solid #cbdcd5;border-radius:16px;padding:34px}.visitor-hero h1{margin:8px 0 12px;font:700 clamp(34px,5vw,56px) Georgia,serif}.visitor-hero p:not(.eyebrow){color:#526b65;max-width:720px;line-height:1.65}.visitor-badge{color:#2d9334;background:#dcefe7;border-radius:999px;margin-top:12px;padding:8px 12px;font-weight:900;display:inline-block}.visitor-cities{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.visitor-cities a{color:inherit;background:#fff;border:1px solid #d2dfda;border-radius:10px;gap:6px;padding:18px;text-decoration:none;display:grid}.visitor-cities a:hover{border-color:#2d9334}.visitor-cities small{color:#60756f}.visitor-cities span{color:#2d9334;margin-top:6px;font-weight:800}.visitor-readonly-note{color:#31574d;background:#eef4f1;border-radius:10px;margin-top:20px;padding:18px}.visitor-readonly-note p{margin:6px 0 0}@media (width<=760px){.visitor-cities{grid-template-columns:1fr}}.visitor-nav{align-items:center;gap:18px;margin-left:auto;margin-right:24px;display:flex}.visitor-nav a{color:#2d9334;font-weight:800;text-decoration:none}.visitor-nav a.active{border-bottom:2px solid #2d9334;padding-bottom:5px}@media (width<=900px){.visitor-nav{display:none}}.public-commune-nav{z-index:900;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border-bottom:1px solid #d7e0dc;justify-content:center;gap:10px;padding:12px 24px;display:flex;position:sticky;top:0}.public-commune-nav a{color:#2d9334;border:1px solid #b8ccc4;border-radius:8px;padding:10px 14px;font-weight:800;text-decoration:none}.public-commune-nav a:hover,.public-commune-nav a:focus-visible{color:#fff;background:#2d9334}.public-map-intro,.public-map-layout,.public-map-details{scroll-margin-top:88px}@media (width<=760px){.public-commune-nav{justify-content:flex-start;padding:10px 14px;overflow-x:auto}.public-commune-nav a{white-space:nowrap}}.chantilly-reference{color:#18352f;background:#fff;border:1px solid #cfddd7;border-radius:14px;width:min(1280px,100% - 36px);margin:24px auto 40px;padding:24px}.chantilly-reference-compact{width:100%;margin:28px 0}.chantilly-reference header{justify-content:space-between;align-items:start;gap:20px;display:flex}.chantilly-reference h2{margin:5px 0 7px;font-family:Georgia,serif;font-size:clamp(25px,3vw,34px)}.chantilly-reference h3{margin:0 0 12px;font-size:18px}.chantilly-reference header p:last-child,.chantilly-reference-note{color:#536760;line-height:1.5}.chantilly-reference a{color:#2d9334;font-weight:750}.chantilly-reference header>a{border:1px solid #2d9334;border-radius:8px;flex:none;padding:10px 14px;text-decoration:none}.chantilly-reference-stats{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;display:flex}.chantilly-reference-stats>div{background:#edf7f2;border-radius:9px;flex:1;gap:3px;min-width:145px;padding:14px;display:grid}.chantilly-reference-stats strong{color:#155a4b;font-size:27px}.chantilly-reference-stats span,.chantilly-reference-stats>a{font-size:14px}.chantilly-reference-grids{grid-template-columns:1fr 1fr;gap:22px;display:grid}.chantilly-reference-grids>div{min-width:0}.chantilly-reference-scroll{overflow-x:auto}.chantilly-reference table{border-collapse:collapse;width:100%;font-size:14px}.chantilly-reference th,.chantilly-reference td{text-align:left;white-space:nowrap;border-bottom:1px solid #dce7e1;padding:9px 7px}.chantilly-reference th{font-weight:750}.chantilly-reference th small{color:#647870;margin-top:3px;font-weight:400;display:block}.chantilly-reference-grids>div>a{margin-top:10px;font-size:14px;display:inline-block}.chantilly-reference-note{margin:19px 0 0;font-size:14px}@media (width<=760px){.chantilly-reference{padding:18px}.chantilly-reference header{display:block}.chantilly-reference header>a{margin-top:10px;display:inline-block}.chantilly-reference-grids{grid-template-columns:1fr}.chantilly-reference-stats>div{min-width:110px}}.public-map-location-link{color:#2d9334;text-align:left;text-underline-offset:2px;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.public-map-location-link:hover,.public-map-location-link:focus-visible{color:#0b4337;text-decoration-thickness:2px}.public-map-location-link:focus-visible{outline-offset:3px;outline:2px solid #2d9334}.parking-surface-marker,.parking-underground-marker{background:#00a7b7}.parking-symbol{font-weight:900}.parking-meter-marker{color:#fff;filter:drop-shadow(0 1px 2px #00000073);box-sizing:border-box;background:#126d5a;border:1.5px solid #fff;border-radius:50%;place-items:center;font-size:9px;font-weight:900;width:16px!important;height:16px!important;display:grid!important}.parking-meter-marker:after{content:"";border-left:3px solid #0000;border-right:3px solid #0000;position:absolute;left:50%;translate:-50%}.parking-meter-marker.pointer-down:after{border-top:6px solid #126d5a;bottom:-5px}.parking-meter-marker.pointer-up:after{border-bottom:6px solid #126d5a;top:-5px}.parking-meter-marker.pointer-left:after{border-top:3px solid #0000;border-bottom:3px solid #0000;border-right:6px solid #126d5a;top:50%;left:-5px;translate:0 -50%}.parking-meter-marker.pointer-right:after{border-top:3px solid #0000;border-bottom:3px solid #0000;border-left:6px solid #126d5a;top:50%;left:auto;right:-5px;translate:0 -50%}.parking-meter-marker.pointer-up-left:after,.parking-meter-marker.pointer-up-right:after,.parking-meter-marker.pointer-down-left:after,.parking-meter-marker.pointer-down-right:after{z-index:-1;background:#126d5a;border:0;width:6px;height:6px;transform:rotate(45deg)}.parking-meter-marker.pointer-up-left:after{top:-2px;left:-2px}.parking-meter-marker.pointer-up-right:after{top:-2px;left:auto;right:-2px}.parking-meter-marker.pointer-down-left:after{bottom:-2px;left:-2px}.parking-meter-marker.pointer-down-right:after{bottom:-2px;left:auto;right:-2px}.parking-meter-marker span{line-height:1}.parking-meter-marker.pointer-left:after{filter:drop-shadow(-1px 0 #fff);border-top-width:4px;border-bottom-width:4px;border-right-width:7px;left:-6px}.parking-meter-marker.pointer-right:after{filter:drop-shadow(1px 0 #fff);border-top-width:4px;border-bottom-width:4px;border-left-width:7px;right:-6px}.pointer-direction-field{border:1px solid #c8d8d1;border-radius:12px;padding:12px}.pointer-direction-picker{grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px);gap:6px;width:max-content;margin-top:8px;display:grid}.pointer-direction-picker label,.pointer-direction-center{color:#185f52;cursor:pointer;background:#eef4f1;border-radius:50%;place-items:center;width:44px;height:44px;font-size:23px;font-weight:900;display:grid}.pointer-direction-picker label.selected{color:#fff;background:#126d5a;box-shadow:0 0 0 3px #126d5a2e}.pointer-direction-picker input{opacity:0;pointer-events:none;position:absolute}.pointer-direction-center{color:#fff;cursor:default;background:#173d36}.meter-register-table{border:1px solid #d4dfda;border-radius:12px;overflow:hidden}.meter-register-head,.meter-register-row{grid-template-columns:.6fr 1.1fr 1.7fr .7fr .7fr 1.5fr;align-items:center;gap:10px;padding:11px 12px;display:grid}.meter-register-head{color:#173d36;text-transform:uppercase;background:#dce8e2;font-size:12px;font-weight:800}.meter-register-row{background:#fff;border-top:1px solid #dce5e1}.meter-register-row>span{min-width:0}.meter-editor-card{margin-top:22px}.meter-editor-fields{border:0;min-width:0;margin:0;padding:0}.meter-editor-fields:disabled{opacity:.82}.meter-editor-fields:disabled button{cursor:default}@media (width<=900px){.meter-register-head{display:none}.meter-register-row{grid-template-columns:1fr 1fr}.meter-register-row .zone-table-actions,.meter-register-row>span:nth-child(3){grid-column:1/-1}}.meter-position-action{margin-top:-4px;margin-bottom:4px}.meter-position-action button{width:max-content}.public-commune-nav .public-map-admin-link{color:#fff;background:#2d9334;border-color:#2d9334}.public-commune-nav .public-map-admin-link:hover,.public-commune-nav .public-map-admin-link:focus-visible{color:#fff;background:#0d4d3f}.public-commune-nav .public-map-admin-link.secondary{color:#2d9334;background:#fff}.public-commune-nav .public-map-admin-link.secondary:hover,.public-commune-nav .public-map-admin-link.secondary:focus-visible{color:#0d4d3f;background:#e3f1eb}.parking-temporary-settings{background:#f1fbfb;border:1px solid #9fcfcf;border-left:4px solid #00a7b7;border-radius:8px;padding:16px}.parking-temporary-settings>.check-label{font-weight:800}.parking-temporary-settings p{color:#3e625f;margin:8px 0 14px}.parking-temporary-settings>.form-grid{margin:10px 0}.parking-temporary-settings>small{color:#315a57;display:block}.parking-temporary-days{border:1px solid #bdd9d7;border-radius:7px;flex-wrap:wrap;gap:10px 16px;padding:12px;display:flex}.parking-temporary-days legend{padding:0 5px;font-weight:800}.parking-temporary-days label{align-items:center;gap:5px;min-width:90px;display:flex}.public-cities-table{border:1px solid #c8d6d1;border-radius:12px;margin-top:22px;overflow:hidden}.public-cities-head,.public-cities-row{grid-template-columns:1.7fr .8fr .55fr .8fr 1fr;align-items:center;gap:14px;padding:14px 16px;display:grid}.public-cities-head{background:#dce8e4;font-weight:900}.public-cities-row:nth-child(odd){background:#f5f8f6}.public-cities-row a{color:#fff;background:#2d9334;border-radius:7px;justify-self:start;padding:8px 12px;font-weight:800;text-decoration:none}.city-pilot,.city-listed{border-radius:999px;padding:5px 9px;font-size:13px;display:inline-block}.city-pilot{color:#8b5400;background:#fff0d8}.city-listed{color:#2d9334;background:#e3f2e4}@media (width<=760px){.public-cities-head{display:none}.public-cities-row{grid-template-columns:1fr 1fr}.public-cities-row strong,.public-cities-row a{grid-column:1/-1}.public-cities-row a{text-align:center;justify-self:stretch}}.public-city-search{gap:7px;margin-top:22px;font-weight:800;display:grid}.public-city-search input{width:min(560px,100%);min-height:48px;font:inherit;background:#fff;border:1px solid #9db5ad;border-radius:9px;padding:10px 14px}.public-cities-empty{text-align:center;color:#60756f;grid-column:1/-1;margin:0;padding:24px}.visitor-hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:12px;display:flex}.visitor-hero-actions .visitor-badge{margin-top:0}.visitor-hero-actions a{color:#2d9334;border:1px solid #2d9334;border-radius:8px;padding:9px 13px;font-weight:900;text-decoration:none}.demo-page{color:#12332c;background:#f2f4ef;min-height:100vh}.demo-header{z-index:30;background:#fff;border-bottom:1px solid #cad8d2;align-items:center;gap:20px;min-height:76px;padding:12px 28px;display:flex;position:sticky;top:0}.demo-header .brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.demo-lock{color:#825500;background:#fff1d6;border-radius:999px;margin-left:auto;padding:9px 13px;font-weight:900}.demo-exit{color:#2d9334;border:1px solid #2d9334;border-radius:8px;padding:10px 14px;font-weight:800;text-decoration:none}.demo-layout{grid-template-columns:290px minmax(0,1fr);min-height:calc(100vh - 76px);display:grid}.demo-sidebar{background:#fff;border-right:1px solid #cad8d2;padding:26px 20px}.demo-sidebar>div{align-items:center;gap:12px;margin-bottom:28px;display:flex}.demo-city-initial{color:#fff;background:#2d9334;border-radius:12px;place-items:center;width:44px;height:44px;font:800 22px Georgia,serif;display:grid}.demo-sidebar p{margin:0}.demo-sidebar small{color:#6a7b76;margin-top:3px;display:block}.demo-sidebar nav{gap:7px;display:grid}.demo-sidebar nav button{color:#274d44;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;gap:4px;padding:13px 14px;display:grid}.demo-sidebar nav button:hover,.demo-sidebar nav button.active{color:#0d6652;background:#e5f1ec;border-color:#bcd0c8}.demo-sidebar-note{color:#526b65;background:#edf4f1;border-radius:9px;padding:14px;font-size:14px;line-height:1.5;margin-top:26px!important}.demo-workspace{min-width:0;padding:26px 32px 60px}.demo-readonly-banner{background:#fff8e9;border:1px solid #e8c684;border-radius:10px;align-items:center;gap:14px;margin-bottom:28px;padding:14px 17px;display:flex}.demo-readonly-banner strong{white-space:nowrap;color:#7a5000}.demo-readonly-banner span{color:#665e4f}.demo-title{margin-bottom:24px}.demo-title p{color:#2d9334;letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:13px;font-weight:900}.demo-title h1{margin:0 0 8px;font:700 clamp(32px,4vw,48px) Georgia,serif}.demo-title>span{color:#5e716c;font-size:16px}.demo-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.demo-kpis article{color:#61736e;background:#fff;border:1px solid #cbd9d3;border-radius:11px;padding:15px}.demo-kpis span{color:#2d9334;font:800 26px Georgia,serif;display:block}.demo-subnav{gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.demo-subnav button{white-space:nowrap;color:#2d9334;cursor:pointer;background:#fff;border:1px solid #afc6bd;border-radius:8px;padding:11px 15px;font-weight:900}.demo-subnav button.active{color:#fff;background:#2d9334}.demo-card{background:#fff;border:1px solid #cbd9d3;border-radius:14px;padding:22px;box-shadow:0 8px 24px #1c41370f}.demo-card-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.demo-card-head span{color:#687b75;font-size:13px}.demo-card-head h2{margin:4px 0 0;font:700 26px Georgia,serif}.demo-card-head button,.demo-form-actions button{color:#fff;cursor:not-allowed;background:#a9b9b4;border:0;border-radius:8px;padding:11px 14px;font-weight:900}.demo-status{background:#eef1ef;border-radius:999px;padding:7px 10px;font-weight:800;color:#63716d!important}.demo-table{border:1px solid #d1dcd7;border-radius:9px;overflow-x:auto}.demo-table>div{border-bottom:1px solid #dce4e0;grid-template-columns:1.2fr 1.2fr .7fr .55fr .55fr;align-items:center;gap:12px;min-width:720px;padding:13px 14px;display:grid}.demo-table>div:last-child{border-bottom:0}.demo-table-head{background:#dce9e4;font-weight:900}.demo-table b,.demo-simple-list b{color:#2d9334}.demo-hint{color:#47645c;background:#edf5f1;border-radius:8px;margin:18px 0 0;padding:13px}.demo-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.demo-form-grid label{color:#24463e;gap:7px;font-weight:800;display:grid}.demo-form-grid label.wide{grid-column:1/-1}.demo-form-grid input,.demo-form-grid textarea{color:#4f615c;width:100%;font:inherit;background:#f5f7f5;border:1px solid #b2c6be;border-radius:8px;padding:12px 13px}.demo-form-grid textarea{resize:none;min-height:90px}.demo-check{grid-template-columns:auto 1fr;justify-content:flex-start;align-items:center;display:flex!important}.demo-check input{width:18px;height:18px}.demo-form-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.demo-offers{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.demo-offers article{border:1px solid #d3dfda;border-radius:10px;gap:10px;padding:18px;display:grid}.demo-offers b{color:#2d9334}.demo-offers strong{font:700 25px Georgia,serif}.demo-offers span{color:#667772}.demo-simple-list{padding:0;display:grid;overflow:hidden}.demo-simple-list>div{border-bottom:1px solid #d9e2de;grid-template-columns:1.3fr 1fr .5fr;gap:14px;padding:16px 18px;display:grid}.demo-simple-list>div:last-child{border-bottom:0}@media (width<=900px){.demo-layout{grid-template-columns:1fr}.demo-sidebar{border-bottom:1px solid #cad8d2;border-right:0}.demo-sidebar>div{margin-bottom:16px}.demo-sidebar nav{display:flex;overflow-x:auto}.demo-sidebar nav button{min-width:190px}.demo-sidebar-note{display:none}.demo-workspace{padding:22px 18px 50px}.demo-header{padding:12px 16px}.demo-header .demo-lock{font-size:13px}.demo-exit{display:none}.demo-kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.demo-header .brand span:last-child{display:none}.demo-lock{margin-left:auto}.demo-readonly-banner{flex-direction:column;align-items:flex-start}.demo-form-grid,.demo-offers{grid-template-columns:1fr}.demo-form-grid label.wide{grid-column:auto}.demo-card{padding:17px}.demo-card-head{flex-direction:column;align-items:flex-start}.demo-simple-list>div{grid-template-columns:1fr}.demo-form-actions{flex-direction:column}.demo-form-actions button{width:100%}}.floating-back-button{top:88px;bottom:auto}.city-removed{opacity:.68}.city-removed strong{text-decoration:line-through}@media (width<=760px){.floating-back-button{padding:9px 13px;top:78px;left:10px}}.commune-selector-table.manageable .commune-selector-head,.commune-selector-table.manageable .commune-selector-row{grid-template-columns:1.25fr .58fr .58fr 1.05fr .58fr .52fr .62fr;gap:6px;min-width:0;padding:10px 9px}.commune-selector-table.manageable .commune-selector-row>a,.commune-selector-table.manageable .commune-access-action button{white-space:nowrap;padding:7px 8px}.commune-selector-table.manageable .commune-selector-head>:first-child,.commune-selector-table.manageable .commune-selector-row>:first-child{margin:-10px 0 -10px -9px;padding:10px 9px}.commune-selector-table.manageable .commune-selector-head,.commune-selector-table.manageable .commune-selector-row,.commune-selector-table.manageable strong,.commune-selector-table.manageable a,.commune-selector-table.manageable button{font-size:12px}.commune-selector-table.manageable .commune-selector-head,.commune-selector-table.manageable .commune-selector-row{gap:8px;padding:11px 12px}.master-city-head.requests,.master-city-row.requests{grid-template-columns:1.15fr 1.05fr 1.35fr .85fr .6fr 2.1fr}.access-requests-table{overflow-x:auto}.access-requests-table .requests{min-width:1220px}.request-state{text-align:center;border-radius:999px;padding:6px 8px;font-size:12px}.request-state.pending{color:#8b5400;background:#fff0d8}.request-state.approved{color:#2d9334;background:#e3f2e4}.request-state.rejected{color:#9d351a;background:#fbe5df}.request-actions{align-items:flex-end;gap:7px;display:flex}.request-actions label{gap:3px;display:grid}.request-actions label small{color:#60756f;font-size:10px}.request-actions input{border:1px solid #9db5ad;border-radius:6px;width:105px;min-width:100px;padding:8px}.request-actions button{color:#fff;cursor:pointer;background:#2d9334;border:1px solid #2d9334;border-radius:6px;padding:8px 10px;font-weight:800}.request-actions button.reject,.request-actions button.delete{color:#a3422f;background:#fff;border-color:#a3422f}.request-actions button:disabled{opacity:.55;cursor:not-allowed}.request-actions>span{color:#60756f;font-size:13px}.request-action-message{color:#2d9334;background:#e8f5e8;border-radius:7px;margin:12px 0 0;padding:11px;font-weight:800}.uncovered-city-table{overflow-x:auto}.master-city-head.uncovered-cities,.master-city-row.uncovered-cities{grid-template-columns:1.25fr .65fr .65fr .5fr .95fr .65fr .65fr;min-width:940px}.uncovered-status{border:0;border-radius:999px;justify-content:center;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex}.uncovered-status.pending{color:#8b5400;background:#fff0d8}.uncovered-status.researching{color:#245b8c;background:#e3edf8}.uncovered-status.covered{color:#2d9334;background:#e3f2e4}.uncovered-status.rejected{color:#9d351a;background:#fbe5df}button.uncovered-status.pending{cursor:pointer}button.uncovered-status.pending:disabled{opacity:.55;cursor:wait}.uncovered-delete{color:#a3422f;cursor:pointer;background:#fff;border:1px solid #a3422f;border-radius:7px;justify-self:start;padding:7px 9px;font-weight:800}.uncovered-delete:disabled{opacity:.55;cursor:wait}.uncovered-status.studying{align-items:center;gap:7px;min-width:145px;display:inline-flex;opacity:1!important}.uncovered-status.studying .parking-search-spinner{border-width:2px;flex:none;width:15px;height:15px}.uncovered-error-toast{z-index:1500;color:#8d2d18;background:#fff3ef;border:2px solid #a3422f;border-radius:10px;align-items:center;gap:14px;max-width:min(520px,100vw - 32px);padding:14px 16px;font-weight:800;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 40px #31140d40}.uncovered-error-toast button{color:#8d2d18;cursor:pointer;background:0 0;border:0;font-size:25px;font-weight:900}.uncovered-refresh{color:#48645a;background:#edf7f3;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;font-size:13px;display:flex}.uncovered-refresh button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:7px;flex:none;padding:7px 10px;font-weight:800}.uncovered-refresh button:disabled{opacity:.55;cursor:wait}@media (width<=700px){.uncovered-refresh{flex-direction:column;align-items:stretch}.uncovered-refresh button{align-self:flex-start}}.offers-page{min-height:100vh;color:var(--ink);background:linear-gradient(145deg,#f8f5ed 0%,#f2f8f1 55%,#edf6ed 100%)}.offers-header{justify-content:space-between;align-items:center;max-width:1180px;margin:auto;padding:24px 32px;display:flex}.offers-header nav{gap:22px;display:flex}.offers-header nav a{color:var(--ink);font-weight:750}.offers-hero{max-width:1180px;margin:auto;padding:72px 32px 46px;position:relative}.offers-hero h1{max-width:760px;margin:10px 0 16px;font:600 clamp(43px,6vw,78px)/.98 Georgia,serif}.offers-hero>p:not(.eyebrow){max-width:650px;color:var(--muted);margin:0;font-size:19px;line-height:1.6}.launch-price{background:var(--green);color:#fff;border-radius:14px;min-width:200px;padding:22px;display:grid;position:absolute;bottom:46px;right:32px;box-shadow:0 18px 40px #2d933433}.launch-price span,.launch-price small{font-size:13px;font-weight:800}.launch-price strong{margin:4px 0;font:600 40px Georgia,serif}.offers-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1180px;margin:auto;padding:20px 32px 64px;display:grid}.offer-card{background:#ffffffe0;border:1px solid #cbd9d2;border-radius:16px;flex-direction:column;padding:28px;display:flex;box-shadow:0 12px 30px #153a310f}.offer-card.premium{border:2px solid var(--green);transform:translateY(-10px);box-shadow:0 20px 42px #2d933429}.offer-label{color:var(--green);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:12px;font-weight:900}.offer-card h2{margin:10px 0 4px;font:600 34px Georgia,serif}.offer-price{align-items:end;gap:6px;min-height:52px;margin:4px 0 14px;display:flex}.offer-price strong{font:600 36px Georgia,serif}.offer-price span{color:var(--muted);padding-bottom:5px}.offer-status{width:max-content;color:var(--green);background:#e4f2e2;border-radius:999px;margin:0 0 10px;padding:5px 9px;font-size:12px;font-weight:900}.offer-card ul{gap:12px;margin:8px 0 28px;padding:0;list-style:none;display:grid}.offer-card li{padding-left:23px;line-height:1.45;position:relative}.offer-card li:before{content:"✓";color:var(--green);font-weight:900;position:absolute;left:0}.offer-button{border:1px solid var(--green);background:var(--green);color:#fff;text-align:center;border-radius:9px;width:100%;margin-top:auto;padding:13px;font-weight:900;display:block}.offer-button.secondary{color:var(--green);background:#fff}.offer-button.disabled,.offer-button:disabled{opacity:.6;cursor:not-allowed}.offer-note{color:var(--muted);text-align:center;margin-top:9px}.offers-explanation{color:#fff;background:#153c34;border-radius:18px;grid-template-columns:1fr 1fr;gap:50px;max-width:1116px;margin:0 auto 60px;padding:42px;display:grid}.offers-explanation h2{margin:8px 0 0;font:600 34px Georgia,serif}.offers-explanation>p{color:#d8e6e1;margin:0;font-size:17px;line-height:1.7}.offers-footer{border-top:1px solid #cad8d0;justify-content:space-between;max-width:1180px;margin:auto;padding:28px 32px;display:flex}.offers-footer a{color:var(--green);font-weight:850}@media (width<=850px){.launch-price{width:max-content;margin-top:28px;position:static}.offers-grid{grid-template-columns:1fr}.offer-card.premium{transform:none}.offers-explanation{grid-template-columns:1fr;margin-left:20px;margin-right:20px}.offers-header nav{gap:12px;font-size:13px}}@media (width<=560px){.offers-header{align-items:flex-start;gap:16px;padding:20px}.offers-header nav{flex-direction:column;align-items:flex-end}.offers-hero,.offers-grid{padding-left:20px;padding-right:20px}.offers-explanation{padding:28px}.offers-footer{padding:24px 20px}}.public-map-layout aside{overscroll-behavior:contain;scrollbar-gutter:stable;height:min(68vh,720px);min-height:520px;font-size:12px;overflow-y:auto}@media print{.public-map-layout aside{scrollbar-gutter:auto;height:auto;min-height:0;overflow:visible}}.public-map-header{padding-left:max(20px,50% - 780px);padding-right:max(20px,50% - 780px)}.public-map-intro,.public-map-layout,.public-map-details,.public-map-page footer{width:min(1560px,100% - 32px)}.public-map-layout{grid-template-columns:240px minmax(0,1fr);gap:16px}.public-parking-map{height:min(76vh,820px);min-height:600px}@media (width<=850px){.public-map-intro,.public-map-layout,.public-map-details,.public-map-page footer{width:min(100% - 24px,1560px)}.public-map-layout{grid-template-columns:1fr}.public-map-layout aside{height:65vh;min-height:320px}.public-parking-map{height:65vh;min-height:480px}}.public-map-layout aside h2{margin-bottom:12px;font-size:19px}.public-map-zone,.public-map-symbol{gap:8px;padding:7px 0}.public-map-zone>i{border-radius:4px;width:15px;height:15px}.public-map-zone span{gap:1px}.public-map-zone b{font-size:12px;line-height:1.2}.public-map-zone small{font-size:10px;line-height:1.25}.public-map-symbol{font-size:11px}.public-map-symbol i{width:24px;height:24px;font-size:12px}.public-map-note{margin-top:12px;font-size:10px;line-height:1.4}.tester-page{color:#eef6ff;--tester-blue:#2476ff;--tester-orange:#ff6542;--tester-panel:#0d2034;background:#071321;min-height:100vh}.tester-nav{justify-content:space-between;align-items:center;width:min(1180px,100% - 40px);height:82px;margin:auto;display:flex}.tester-nav .brand{font-weight:800}.tester-nav .brand-mark{background:linear-gradient(155deg,#287eff,#0e387e)}.tester-nav>a:last-child{color:#dbeaff;border:1px solid #45617d;border-radius:999px;padding:10px 15px;font-weight:700}.tester-hero{grid-template-columns:1.3fr .7fr;align-items:center;gap:70px;width:min(1180px,100% - 40px);min-height:590px;margin:auto;padding:70px 0 90px;display:grid;position:relative}.tester-hero:before{z-index:0;content:"";pointer-events:none;background:radial-gradient(circle at 78% 36%,#2476ff45,#0000 32%),radial-gradient(circle at 12% 80%,#ff65421f,#0000 30%);position:absolute;inset:-80px -14vw 0}.tester-hero>*{z-index:1;position:relative}.tester-kicker,.tester-heading>p,.tester-feedback>div>p{color:#79aaff;letter-spacing:.18em;margin:0;font-size:13px;font-weight:850}.tester-hero h1{letter-spacing:-4px;max-width:820px;margin:22px 0 26px;font-size:clamp(48px,7vw,86px);line-height:.96}.tester-hero h1 em{color:#6fa4ff;font-style:normal}.tester-hero-copy>p:not(.tester-kicker){color:#b8cadb;max-width:720px;font-size:19px;line-height:1.7}.tester-actions{flex-wrap:wrap;gap:14px;margin:34px 0 22px;display:flex}.tester-actions a{background:var(--tester-blue);border-radius:9px;padding:15px 19px;font-weight:800}.tester-actions a+a{background:0 0;border:1px solid #41617e}.tester-hero-copy small{color:#7f98ad}.tester-app-card{background:linear-gradient(155deg,#183e68cc,#08192bd1);border:1px solid #87b5ff3d;border-radius:30px;justify-items:center;padding:44px 28px;display:grid;transform:rotate(2deg);box-shadow:0 28px 70px #00000052}.tester-app-card img{filter:drop-shadow(0 20px 25px #00000052);border-radius:32px}.tester-app-card strong{margin-top:24px;font-size:30px}.tester-app-card span{color:#91abc2;margin-top:5px}.tester-summary{background:#09192a;border-block:1px solid #18324d;grid-template-columns:repeat(4,1fr);display:grid}.tester-summary article{border-right:1px solid #18324d;justify-content:center;align-items:center;gap:12px;min-height:100px;display:flex}.tester-summary article:last-child{border:0}.tester-summary b{color:#79aaff;background:#143557;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.tester-summary span{font-weight:750}.tester-section{width:min(1180px,100% - 40px);margin:auto;padding:105px 0}.tester-heading{max-width:760px;margin-bottom:42px}.tester-heading h2,.tester-feedback h2{letter-spacing:-2px;margin:12px 0 14px;font-size:clamp(36px,5vw,58px)}.tester-heading>span{color:#9eb4c8;font-size:18px;line-height:1.65}.tester-gallery{grid-template-columns:1.25fr .75fr;gap:22px;display:grid}.tester-gallery figure{background:var(--tester-panel);border:1px solid #24405a;border-radius:20px;margin:0;display:grid;overflow:hidden}.tester-gallery figure img{object-fit:cover;width:100%;height:560px}.tester-gallery-wide{grid-row:span 2}.tester-gallery-wide img{background:#eaf4ff;object-fit:contain!important;height:100%!important}.tester-gallery figcaption{gap:6px;padding:20px;display:grid}.tester-gallery figcaption strong{font-size:19px}.tester-gallery figcaption span{color:#99afc1;line-height:1.5}.tester-flow{border-top:1px solid #18324d}.tester-point-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.tester-point-grid article{background:#0b1d30;border:1px solid #24415c;border-radius:16px;min-height:260px;padding:24px}.tester-point-grid b{color:#ff8063;font:700 24px Georgia,serif}.tester-point-grid h3{margin:55px 0 12px;font-size:21px}.tester-point-grid p{color:#9db2c5;margin:0;line-height:1.6}.tester-feedback{background:linear-gradient(135deg,#103964,#0c2846);border-radius:24px;grid-template-columns:.8fr 1fr;gap:55px;width:min(1180px,100% - 40px);margin:0 auto 90px;padding:55px;display:grid}.tester-feedback ul{color:#d9e8f5;gap:14px;margin:0;padding-left:22px;font-size:17px;display:grid}.tester-note{color:#a9c0d3;border-top:1px solid #ffffff29;grid-column:1/-1;margin:0;padding-top:24px;line-height:1.6}.tester-footer{color:#7f98ad;border-top:1px solid #18324d;justify-content:space-between;gap:20px;padding:30px max(20px,50% - 590px);display:flex}.tester-footer a{color:#b9d0e4}@media (width<=900px){.tester-hero{grid-template-columns:1fr;gap:30px;padding-top:48px}.tester-app-card{justify-self:center;width:min(420px,100%);transform:none}.tester-summary{grid-template-columns:repeat(2,1fr)}.tester-summary article:nth-child(2){border-right:0}.tester-summary article:nth-child(-n+2){border-bottom:1px solid #18324d}.tester-gallery{grid-template-columns:1fr 1fr}.tester-gallery-wide{grid-area:auto/1/auto/-1}.tester-gallery-wide img{height:auto!important}.tester-gallery figure img{height:460px}.tester-point-grid{grid-template-columns:repeat(2,1fr)}.tester-feedback{grid-template-columns:1fr}}@media (width<=620px){.tester-nav{height:70px}.tester-hero h1{letter-spacing:-2.5px;font-size:48px}.tester-hero{padding-bottom:60px}.tester-app-card{padding:32px}.tester-app-card img{width:145px;height:145px}.tester-summary{grid-template-columns:1fr}.tester-summary article{border-bottom:1px solid #18324d;border-right:0;justify-content:flex-start;padding-left:28px}.tester-gallery{grid-template-columns:1fr}.tester-gallery-wide{grid-column:auto}.tester-gallery figure img{height:auto}.tester-point-grid{grid-template-columns:1fr}.tester-point-grid article{min-height:220px}.tester-feedback{padding:32px 24px}.tester-footer{flex-direction:column}.tester-actions a{text-align:center;width:100%}}.public-map-zone{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #edf1ee}.public-map-zone:hover,.public-map-zone:focus-visible,.public-map-zone.selected{background:#edf5f1;outline:none}.tester-page .tester-section-heading h2{color:#f5f8ff}.tester-page .tester-section-heading>p:last-child{color:#b8cadb}.tester-page .tester-actions .tester-secondary{color:#f4f8ff;background:0 0;border-color:#6f8eaa}.tester-page .tester-actions .tester-secondary:hover{background:#ffffff12;border-color:#a8c4dc}.tester-page .tester-meta{color:#c3d3e2}.tester-page .tester-intro{color:#0b1739}.tester-page .tester-intro .tester-kicker,.tester-page .parkia-features .tester-kicker,.tester-page .tester-steps .tester-kicker{color:#2455e6}.tester-page .parkia-features,.tester-page .parkia-feature-grid h3{color:#0b1739}.tester-page .parkia-feature-grid p{color:#526078}.tester-page .parkia-payment-note,.tester-page .tester-steps,.tester-page .tester-step-grid h3{color:#0b1739}.tester-page .tester-feedback{color:#f4f8ff}.tester-page .tester-footer{color:#0b1739}.tester-page .tester-footer p{color:#536079}.tester-page .tester-header{color:#0b1739}.tester-page .tester-brand strong{color:#17429c}.tester-page .parkia-page-logo{border:3px solid #fff;border-radius:13px;box-shadow:0 0 0 1px #d8e2f2,0 8px 22px #2455e633}.tester-page .tester-footer .parkia-page-logo{border-radius:13px;width:48px;height:48px}.tester-page .parkia-feature-grid article h3{color:#13294b}.tester-page .feedback-list span{color:#13294b;background:#fff}.parkia-blue-disc{color:#fff;background:linear-gradient(135deg,#1749b7,#2476ff);grid-template-columns:220px 1fr;align-items:center;gap:56px;padding:72px max(28px,50vw - 500px);display:grid}.parkia-blue-disc-mark{background:#0b3692;border:9px solid #fff;border-radius:28px;place-items:center;width:190px;height:190px;display:grid;box-shadow:0 24px 55px #06194355}.parkia-blue-disc-mark span{font-size:86px;font-weight:950;line-height:.8}.parkia-blue-disc-mark small{letter-spacing:.14em;text-align:center;font-size:13px;font-weight:850}.parkia-blue-disc h2{letter-spacing:-.04em;margin:8px 0 16px;font-size:clamp(34px,4vw,54px)}.parkia-blue-disc>div:last-child>p:last-child{color:#e2ebff;max-width:760px;margin:0;font-size:18px;line-height:1.7}@media (width<=700px){.parkia-blue-disc{grid-template-columns:1fr;gap:30px}.parkia-blue-disc-mark{width:150px;height:150px}.parkia-blue-disc-mark span{font-size:68px}}.governance-panel{gap:1.4rem;display:grid}.governance-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.governance-heading h3{margin:0}.governance-heading button,.governance-actions button{color:#174b91;cursor:pointer;background:#eaf2ff;border:1px solid #2d64b5;border-radius:8px;padding:.55rem .8rem}.governance-rules,.governance-reviews{gap:1rem;display:grid}.governance-rule,.governance-review{background:#fff;border:1px solid #d8e2ec;border-radius:12px;padding:1rem}.governance-rule-title,.governance-statuses,.governance-actions{flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:.8rem;display:flex}.governance-rule-title{justify-content:space-between}.governance-rule-title button,.governance-actions .contest{color:#9b2525;cursor:pointer;background:#fff5f5;border:1px solid #be5a5a;border-radius:8px;padding:.5rem .7rem}.governance-review h4{margin:0 0 .8rem}.governance-statuses span{background:#eef3f7;border-radius:999px;padding:.35rem .65rem}.governance-help{color:#526274;margin:0}.governance-feedback{color:#164e2c;margin:0}.governance-bulk-actions{flex-wrap:wrap;gap:.55rem;display:flex}.governance-bulk-actions button{background:var(--green);border-color:var(--green);color:#fff;justify-content:center;align-items:center;min-width:180px;display:inline-flex}.governance-bulk-actions .parking-search-spinner{border-width:2px;border-color:#fff #ffffff59 #ffffff59;width:16px;height:16px}.parking-map-visibility-option{color:#5e3817;background:#fff8ee;border:1px solid #d5a467;border-radius:9px;align-items:flex-start;gap:11px;width:min(620px,100%);margin:14px 0 18px;padding:13px 15px;display:flex}.parking-map-visibility-option input{width:19px;height:19px;accent-color:var(--green);margin-top:2px}.parking-map-visibility-option span{gap:3px;display:grid}.parking-map-visibility-option small{color:#745d49;line-height:1.35}.candidate-zone-table{width:100%;min-width:900px}.candidate-zone-head,.candidate-zone-row{grid-template-columns:70px 150px 130px minmax(0,1fr) 170px 110px}.candidate-zone-head>*,.candidate-zone-row>*{box-sizing:border-box;min-width:0}.candidate-zone-row i{white-space:nowrap}.public-map-edit-link{background:#247a2a;border-radius:7px;justify-content:center;margin-top:8px;padding:8px 10px;font-weight:800;text-decoration:none;display:inline-flex;color:#fff!important}.public-map-edit-link:hover{background:#0e4034}.linked-parking-prompt{background:#fff9e9;border:1px solid #d6b975;border-radius:9px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 16px;padding:16px;display:flex}.linked-parking-prompt p{margin:5px 0 0;line-height:1.45}.linked-parking-prompt button{color:#fff;cursor:pointer;background:#247a2a;border:0;border-radius:7px;flex:none;padding:10px 14px;font-weight:800}@media (width<=700px){.linked-parking-prompt{flex-direction:column;align-items:stretch}}.street-row-actions .view-map-button{color:#2455a2;background:#eaf1ff}.map-result a{color:#2455a2;margin-left:10px;font-weight:750}.master-data-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start;gap:18px;max-width:1180px;margin:28px auto;display:grid}.master-data-tree,.master-data-content{background:#fff;border:1px solid #d2ddd8;border-radius:14px;padding:22px}.master-data-tree{gap:20px;display:grid}.master-data-tree section{gap:6px;display:grid}.master-data-tree h2{margin:0;font-size:17px}.master-data-tree small{color:#64746f;margin-bottom:7px}.master-data-tree a{border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:700;text-decoration:none;display:flex}.master-data-tree a:hover,.master-data-tree a.active{color:#124f42;background:#e7f4ed}.master-data-tree a b{background:#d4e5dc;border-radius:99px;padding:2px 8px;font-size:12px}.master-data-heading{border-bottom:1px solid #dbe6e0;justify-content:space-between;align-items:end;gap:18px;padding-bottom:16px;display:flex}.master-data-heading h2{margin:3px 0;font:700 30px Georgia,serif}.master-data-heading strong{color:#526e63;white-space:nowrap}.master-data-note{color:#61756d}.master-data-records{gap:10px;margin-top:18px;display:grid}.master-data-records article{border:1px solid #d6e3dc;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.master-data-records article small{color:#60736c;font-weight:800}.master-data-records article h3{margin:4px 0;font-size:18px}.master-data-records article p{color:#64746f;margin:0}.master-data-records article a{border:1px solid #2d9334;border-radius:8px;flex-shrink:0;padding:9px 12px;font-weight:800;text-decoration:none}@media (width<=800px){.master-data-layout{grid-template-columns:1fr;margin:18px}.master-data-records article{flex-direction:column;align-items:start}}.hero-city-search{gap:6px;margin-top:18px;display:grid}.hero-city-search span{color:var(--green);font-size:12px;font-weight:800}.hero-city-search input{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #bdccc7;border-radius:8px;padding:10px 12px}.hero-city-search input:focus{border-color:var(--green);outline:3px solid #1f705f29}.hero-city-band .hero-city-list{margin:12px 0 22px}.hero-city-empty{color:var(--muted);text-align:center;margin:0;padding:18px 4px;font-size:13px}.preprocessing-controls{grid-template-columns:minmax(220px,1.1fr) minmax(170px,.65fr) minmax(210px,1fr) auto auto}.population-threshold input{width:100%;font:inherit;background:#fff;border:1px solid #9eb9b0;border-radius:8px;padding:12px}.population-threshold small{color:#61766f;font-weight:500}@media (width<=1050px){.preprocessing-controls{grid-template-columns:1fr 1fr}}@media (width<=700px){.preprocessing-controls{grid-template-columns:1fr}}.preprocessing-launch{background:#fff8ee;border:2px solid #d77b20;border-radius:12px;align-items:center;gap:18px;margin:-6px 0 18px;padding:16px 18px;display:flex}.preprocessing-launch .master-action-button{min-width:310px;font-size:15px}.preprocessing-launch p{color:#5d6f69;margin:0}.preprocessing-activity{color:#fff;background:#10382f;border:1px solid #244e43;border-radius:13px;margin:0 0 18px;overflow:hidden;box-shadow:0 12px 28px #10382f1f}.preprocessing-activity header{border-bottom:1px solid #ffffff21;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 17px;display:grid}.preprocessing-activity header div{gap:2px;display:grid}.preprocessing-activity header small{color:#b8d2ca}.activity-dot{background:#8fa9a2;border-radius:50%;width:11px;height:11px}.preprocessing-activity.running .activity-dot{background:#efa640;box-shadow:0 0 0 6px #efa64021}.activity-progress{background:#234b40;height:6px}.activity-progress span{background:#efa640;height:100%;transition:width .25s;display:block}.activity-log{max-height:235px;overflow:auto}.activity-log>div{border-top:1px solid #ffffff17;grid-template-columns:76px minmax(140px,190px) 1fr;gap:12px;padding:10px 17px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;display:grid}.activity-log>div:first-child{border-top:0}.activity-log time{color:#83d7c1}.activity-log .ok span{color:#b9eadc}.activity-log .error span{color:#ffb7b0}.activity-log p{color:#b8d2ca;margin:0;padding:18px}@media (width<=700px){.preprocessing-launch{flex-direction:column;align-items:stretch}.preprocessing-launch .master-action-button{width:100%;min-width:0}.activity-log>div{grid-template-columns:65px 1fr}.activity-log>div span{grid-column:1/-1}}.department-controls.preprocessing-controls{grid-template-columns:minmax(220px,1.1fr) minmax(170px,.65fr) minmax(210px,1fr) auto}@media (width<=1050px){.department-controls.preprocessing-controls{grid-template-columns:1fr 1fr}}@media (width<=700px){.department-controls.preprocessing-controls{grid-template-columns:1fr}}.brand .brand-mark,.admin-pin-logo{color:#0000!important;box-shadow:none!important;text-shadow:none!important;background:url(/parkia-logo-green.png) 50%/contain no-repeat!important;border:0!important}.brand .brand-mark:after,.admin-pin-logo:after{display:none!important}.brand .brand-mark{flex:none}.preprocessing-table .department-status{gap:4px;width:auto;max-width:230px;display:grid!important}.preprocessing-table .department-status small{color:inherit;font-weight:600;line-height:1.35}.official-page-cell{min-width:0}.official-page-cell a{overflow-wrap:anywhere;font-size:11px;line-height:1.35}.official-page-cell small{line-height:1.35}.department-status.official{color:#17604d;background:#e2f4ef}.department-status.regulated{color:#245b84;background:#e8f2ff}.csv-import{background:#f3f8f6;border:1px solid #9eb9b0;border-radius:12px;align-items:center;gap:18px;margin:-6px 0 12px;padding:14px 18px;display:flex}.csv-import .master-action-button{color:#2d9334;min-width:240px;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #2d9334;border-radius:8px;justify-content:center;align-items:center;padding:10px 16px;font-weight:900;display:inline-flex}.csv-import .master-action-button:disabled{opacity:.55;cursor:not-allowed}.csv-import p{color:#536a62;margin:0}@media (width<=700px){.csv-import{flex-direction:column;align-items:stretch}.csv-import .master-action-button{width:100%}}.preprocessing-launch .master-action-button{color:#fff;min-width:310px;min-height:44px;font:inherit;cursor:pointer;background:#2d9334;border:1px solid #2d9334;border-radius:8px;justify-content:center;align-items:center;padding:10px 16px;font-size:15px;font-weight:900;display:inline-flex;box-shadow:0 5px 12px #17675629}.preprocessing-launch .master-action-button.stop{color:#fff;background:#8e3b32;border-color:#8e3b32}.preprocessing-launch .master-action-button.stop:hover{background:#742f28}.csv-import-primary{background:#eef7f4;border:2px solid #2d9334;margin:0 0 18px}.csv-import-primary .master-action-button{color:#fff;background:#2d9334;box-shadow:0 5px 12px #17675629}.csv-controls{grid-template-columns:minmax(280px,1fr) minmax(280px,1fr)}.csv-table .department-city-row{grid-template-columns:minmax(180px,1.2fr) 95px 120px 70px 95px 80px 70px 95px 90px minmax(170px,1fr) minmax(210px,1.2fr) 180px;min-width:1650px}.csv-row-actions{gap:6px;display:flex;padding:8px!important}.csv-row-actions button{margin:0!important}.csv-row-actions .delete{color:#9c2e28!important;background:#fff1f0!important;border-color:#bd4b43!important}.preprocessing-summary .master-action-button:disabled{opacity:.5;cursor:not-allowed}.csv-bat-ready{flex-wrap:wrap}.csv-bat-ready p{flex:320px;margin:0}.csv-bat-cancel{cursor:pointer;background:#fff;border:1px solid #9eb9b0;border-radius:8px;padding:8px 12px;font-weight:700}.csv-table .department-city-row{grid-template-columns:minmax(150px,1.3fr) 48px 62px 66px 52px 64px 60px minmax(130px,1fr) 58px 172px;min-width:920px;font-size:13px}.csv-table .department-city-row>*{padding:7px 8px}.csv-table .department-city-row.heading{z-index:3;font-size:11px;position:sticky;top:0}.csv-table .department-city-row>:first-child{z-index:2;background:#fff;position:sticky;left:0;box-shadow:1px 0 #d7e1dd}.csv-table .department-city-row.heading>:first-child{background:#dce9e4}.csv-table .department-city-row strong small{text-transform:none;letter-spacing:0;font-size:11px}.csv-table .department-status{max-width:100%;margin:4px 8px}.csv-table .department-status .status-detail{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;display:-webkit-box;overflow:hidden}.csv-table .csv-row-actions{padding:4px 6px!important}.csv-table .csv-row-actions button{font-size:12px;padding:5px 8px!important}.csv-table{max-height:70vh}.csv-bat-cities{background:#fff;border:1px solid #9eb9b0;border-radius:10px;flex:100%;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 14px;margin:0;padding:10px 12px;display:grid}.csv-bat-cities legend{color:#173c34;align-items:center;gap:8px;padding:0 6px;font-weight:800;display:flex}.csv-bat-cities legend button{cursor:pointer;background:#f3f8f6;border:1px solid #9eb9b0;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.csv-bat-cities label{cursor:pointer;align-items:center;gap:7px;padding:3px 0;display:flex}.csv-bat-cities label small{color:#6c8179;margin-left:auto;font-size:11px}.map-detail-hint{color:#173c34;pointer-events:none;background:#ffffffeb;border:1px solid #9eb9b0;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:700;box-shadow:0 1px 4px #0000002e}.splash{background:radial-gradient(circle at 50% 35%,#fff 0,#f5f1e8 70%);place-items:center;min-height:100svh;padding:24px 16px;display:grid}.splash-card{text-align:center;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:520px;display:flex}.splash-logo{filter:drop-shadow(0 18px 30px #112c292e);width:min(68vw,340px);height:auto;animation:.5s ease-out both splash-in}.splash-title{letter-spacing:-.02em;color:#2d9334;margin:18px 0 0;font-size:clamp(34px,8vw,56px);font-weight:850;line-height:1.05}.splash-by{letter-spacing:0;margin-top:4px;font-size:.42em;font-weight:700;display:block}.splash-tagline{color:#c8312b;margin:12px 0 26px;font-size:clamp(18px,4.4vw,24px);font-weight:600}.splash-enter{color:#fff;background:#2d9334;border-radius:999px;align-items:center;gap:10px;padding:15px 34px;font-size:19px;font-weight:800;transition:transform .15s,background .15s;display:inline-flex;box-shadow:0 10px 24px #1f6d5e47}.splash-enter:hover{background:#247a2a;transform:translateY(-1px)}.splash-links{flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:22px;display:flex}.splash-links a{color:#2d9334;text-underline-offset:3px;font-weight:700;text-decoration:underline}.hero-city-loading{color:#6c8179;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:220px;margin:14px 0;font-weight:600;display:flex}.hero-city-spinner{border:4px solid #d7e6e0;border-top-color:#2d9334;border-radius:50%;width:42px;height:42px;animation:.8s linear infinite hero-city-spin}@keyframes hero-city-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.hero-city-spinner{animation-duration:2.4s}}@keyframes splash-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.splash-logo{animation:none}}.parking-entrance-marker{letter-spacing:-.5px;border-width:2px;font-size:11px;box-shadow:0 1px 5px #00000052}.parking-meter-marker span{font-weight:600}.csv-folder-import{flex-wrap:wrap}.csv-folder-import p{flex:320px;margin:0}.csv-auto-validate{color:#173c34;cursor:pointer;flex:100%;align-items:center;gap:8px;font-weight:700;display:flex}.csv-auto-validate input{accent-color:#2d9334;width:18px;height:18px}.admin-access-page{background:radial-gradient(circle at 50% 20%,#e5f4e5 0,#f6f4ec 42%,#eff4ed 100%)}.admin-pin-card{border-color:#cbdcca;box-shadow:0 24px 70px #2d933424}.pin-dots span{border-color:#2d9334}.pin-dots span.filled{background:#2d9334;box-shadow:0 0 0 4px #e5f4e5}.pin-count{color:#2d9334!important}.pin-keypad button{background:#f7faf7;border-color:#b9cfb8}.pin-keypad button:hover,.pin-keypad button:focus-visible{background:#e5f4e5;border-color:#2d9334;outline-color:#2d93342e}.pin-tools button{border-color:#b9cfb8}.pin-tools .primary-button,.pin-tools .primary-button:not(:disabled){background:#2d9334;border-color:#2d9334}.pin-tools .primary-button:not(:disabled):hover{background:#247a2a}.pin-tools .primary-button:disabled{background:#a8cba9}.admin-pin-card>a,.admin-pin-loading{color:#247a2a}.department-city-browser>.department-city-results{display:block;overflow:auto hidden}.city-statistics-layout{grid-template-columns:minmax(300px,1fr) minmax(0,2fr);align-items:start;gap:20px;display:grid}.city-statistics-layout>.city-statistics-table{max-height:650px;overflow:auto}.city-statistics-layout>.department-city-browser{min-width:0;margin-top:0;position:sticky;top:18px}.department-city-browser.empty{text-align:center;min-height:220px;color:var(--muted);align-content:center;display:grid}.department-city-browser.empty h3{color:var(--ink)}@media (width<=900px){.city-statistics-layout{grid-template-columns:1fr}.city-statistics-layout>.city-statistics-table{max-height:520px}.city-statistics-layout>.department-city-browser{position:static}}.city-statistics-layout .city-statistics-table table{table-layout:fixed}.city-statistics-layout .city-statistics-table th,.city-statistics-layout .city-statistics-table td{padding-left:10px;padding-right:10px}.city-statistics-layout .city-statistics-table th:nth-child(2),.city-statistics-layout .city-statistics-table td:nth-child(2){text-align:center;width:48px;padding-left:4px;padding-right:4px}.city-statistics-layout .city-statistics-table th:nth-child(3),.city-statistics-layout .city-statistics-table td:nth-child(3){width:84px;padding-left:4px;padding-right:7px}.city-statistics-layout .city-statistics-table td:first-child{display:table-cell;overflow:hidden}.city-statistics-layout .city-statistics-table td:first-child button{align-items:center;gap:7px;min-width:0;display:flex}.city-statistics-layout .city-statistics-table td:first-child button span{overflow-wrap:anywhere;min-width:0}.department-city-results{max-height:475px;overflow-y:auto!important}.department-city-results>div:first-child{z-index:2;position:sticky;top:0}.city-statistics-table .department-map-button{border:1px solid var(--green);width:76px;color:var(--green);white-space:nowrap;cursor:pointer;background:#fff;border-radius:7px;padding:6px 4px;font-size:9px;font-weight:850;line-height:1.15}.city-statistics-table .department-map-button:disabled{opacity:.35;cursor:not-allowed}.department-view-actions{gap:8px;display:flex}.department-map{border:1px solid var(--line);border-radius:10px;height:460px;margin-top:18px;overflow:hidden}.department-map-note{color:var(--muted);margin:10px 0 0;font-size:13px}@media (width<=600px){.department-map{height:360px}.department-view-actions{flex-direction:column;align-items:flex-start}}.department-map-detail{color:#225f27;background:#edf7ed;border-left:4px solid #329428;margin:10px 0 0;padding:9px 11px;font-size:13px;font-weight:750}.department-meter-icon{color:#fff;background:#167a71;border:2px solid #fff;border-radius:50%;place-items:center;font:900 15px Arial,sans-serif;box-shadow:0 2px 7px #00000059;display:grid!important}.commune-csv-help{color:#536a62;flex-basis:100%;margin:-4px 2px 2px;line-height:1.4;display:block}.commune-csv-help b{color:#173c34}.login-city-field{position:relative}.login-city-results{background:#fff;border:1px solid #b7cbc4;border-radius:9px;max-height:240px;display:grid;overflow:auto;box-shadow:0 10px 24px #102e291f}.login-city-results-head,.parkia-login-form .login-city-results button{grid-template-columns:minmax(150px,1.5fr) 100px 100px;align-items:center;gap:10px;padding:10px 12px;display:grid}.login-city-results-head{z-index:2;color:#247a2a;background:#e9f1ee;font-size:12px;position:sticky;top:0}.parkia-login-form .login-city-results button{color:#102e29;text-align:left;background:#fff;border:0;border-bottom:1px solid #e0e9e5;border-radius:0;width:100%;font-size:14px}.parkia-login-form .login-city-results button:hover{background:#edf7f1}.login-city-results button:last-child{border-bottom:0}.login-city-results button span{white-space:nowrap;font-weight:650}.parkia-login-form .login-city-selected,.parkia-login-form .login-city-choice-note{color:#247a2a;font-weight:800}.parkia-login-form .login-city-choice-note{color:#a45913}@media (width<=600px){.login-city-results-head,.parkia-login-form .login-city-results button{grid-template-columns:minmax(120px,1fr) 82px 82px;padding:9px 8px;font-size:12px}}.city-pin-login{text-align:center}.city-pin-login h2{color:#102f29;margin:8px auto 10px;font:800 29px/1.15 Arial,sans-serif}.city-pin-login>p:not(.panel-label):not(.pin-count){color:#5a6d68;margin:0 auto;line-height:1.5}.city-pin-login .pin-count{color:#329428;margin:-12px 0 18px;font-size:13px;font-weight:850}.parkia-login-form .city-pin-login .pin-keypad button{color:#102f29;background:#f7faf7;width:100%;padding:0;font-size:24px;display:block}.parkia-login-form .pin-tools{display:grid}.parkia-login-form .pin-tools button{width:100%;padding:0;display:block}.parkia-login-form .city-pin-change-email{color:#247a2a;box-shadow:none;background:0 0;border:0;margin-top:10px}.parkia-login-form .city-pin-change-email:hover{background:0 0;text-decoration:underline}.offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-card.premium{transform:none}.offer-card.premium-plus{background:linear-gradient(160deg,#fff 0%,#eef8f1 100%);border:2px solid #1b5549}.offer-limit{color:#7d5010;background:#fff4df;border-radius:7px;margin:-12px 0 20px;padding:9px 11px;font-size:13px;font-weight:750}@media (width<=850px){.offers-grid{grid-template-columns:1fr}}.ratings-preview-link{color:#fff;text-underline-offset:4px;margin-top:16px;font-weight:900;text-decoration:underline;display:inline-block}.ratings-preview-page{min-height:100vh;color:var(--ink);background:#f4f5f0}.ratings-preview-hero{max-width:1140px;margin:auto;padding:58px 32px 34px}.ratings-preview-hero h1{margin:10px 0 14px;font:600 clamp(38px,5vw,64px) Georgia,serif}.ratings-preview-hero>p:not(.eyebrow){max-width:730px;color:var(--muted);font-size:18px;line-height:1.55}.ratings-preview-hero>span{color:var(--green);background:#e0f0de;border-radius:999px;margin-top:12px;padding:7px 11px;font-size:12px;font-weight:900;display:inline-block}.ratings-preview-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:22px;max-width:1140px;margin:auto;padding:10px 32px 70px;display:grid}.rating-form,.rating-summary{border:1px solid var(--line);background:#fff;border-radius:15px;padding:28px}.rating-city{grid-template-columns:1fr 1fr;gap:14px;display:grid}.rating-city label,.rating-comment{gap:7px;font-weight:850;display:grid}.rating-city input,.rating-comment textarea{font:inherit;border:1px solid #9db5ad;border-radius:8px;padding:12px}.rating-form h2{margin:28px 0 12px;font:600 26px Georgia,serif}.rating-criterion{border:0;border-bottom:1px solid var(--line);margin:0;padding:13px 0}.rating-criterion legend{font-weight:800}.rating-criterion>div{align-items:center;gap:4px;margin-top:7px;display:flex}.rating-criterion button{color:#cad5cf;cursor:pointer;background:0 0;border:0;padding:0;font-size:28px}.rating-criterion button.active{color:#f39a22}.rating-criterion div span{color:var(--muted);margin-left:10px;font-size:13px}.rating-comment{margin-top:20px}.rating-comment textarea{resize:vertical;min-height:110px}.rating-comment small{text-align:right;color:var(--muted)}.rating-check{color:#496158;align-items:flex-start;gap:9px;margin:16px 0;font-size:13px;line-height:1.45;display:flex}.rating-submit{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;padding:13px;font-weight:900}.rating-submit:disabled{opacity:.4;cursor:not-allowed}.rating-message{color:#276b38;background:#eef7f1;border-radius:7px;margin:12px 0 0;padding:10px;font-weight:750}.rating-summary>p{color:var(--muted);margin:0;font-weight:800}.rating-summary>strong{margin:8px 0 0;font:600 58px Georgia,serif;display:block}.rating-summary>strong small{font-size:18px}.rating-summary-stars span{color:#cad5cf;font-size:25px}.rating-summary-stars span.active{color:#f39a22}.rating-summary h2{margin-top:30px;font:600 24px Georgia,serif}.rating-summary ul{color:#496158;gap:10px;padding-left:20px;display:grid}.official-response{border-left:4px solid var(--green);background:#edf7f3;margin-top:22px;padding:15px}.official-response p{margin:6px 0 0;line-height:1.5}@media (width<=800px){.ratings-preview-layout,.rating-city{grid-template-columns:1fr}}@media (width<=560px){.ratings-preview-hero,.ratings-preview-layout{padding-left:20px;padding-right:20px}}.ratings-preview-hero>h2{color:var(--green);margin:-4px 0 14px;font:600 clamp(23px,3vw,34px) Georgia,serif}
