:root{--ink:#12212b;--muted:#667781;--line:#dfe8e5;--bg:#f5f8f6;--card:#fff;--green:#044e37;--green2:#ccee37;--orange:#f59f00;--red:#d94841;--blue:#2878c8;--shadow:0 14px 35px #12212b14;--radius:22px}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.app{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{letter-spacing:-.03em;align-items:center;gap:11px;font-weight:800;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:13px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.brand small{color:var(--muted);letter-spacing:0;font-size:11px;font-weight:500;display:block}.nav{align-items:center;gap:8px;display:flex}.nav button,.lang{color:var(--muted);background:0 0;border-radius:10px;padding:10px 12px}.nav button:hover,.lang:hover{background:var(--bg);color:var(--ink)}.shell{max-width:1180px;margin:0 auto;padding:42px 5vw 70px}.hero{grid-template-columns:1.15fr .85fr;align-items:stretch;gap:28px;display:grid}.hero-copy{padding:36px 0}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}.hero h1{letter-spacing:-.065em;margin:18px 0;font-size:clamp(42px,6vw,78px);line-height:.96}.hero p{color:var(--muted);max-width:570px;font-size:19px;line-height:1.55}.actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.primary{background:var(--green);color:#fff;border-radius:13px;padding:15px 20px;font-weight:750;box-shadow:0 8px 18px #044e3733}.primary:hover{background:#023324}.secondary{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px 20px;font-weight:700}.hero-card{color:#fff;box-shadow:var(--shadow);background:linear-gradient(145deg,#033626,#044e37);border-radius:30px;padding:28px;position:relative;overflow:hidden}.hero-card:after{content:"";border:1px solid #fff3;border-radius:50%;width:250px;height:250px;position:absolute;top:-60px;right:-65px;box-shadow:0 0 0 34px #ffffff0d,0 0 0 68px #ffffff0a}.hero-card h3{z-index:1;margin:0 0 24px;font-size:24px;position:relative}.mini-stat{z-index:1;border-top:1px solid #ffffff3d;justify-content:space-between;padding:16px 0;display:flex;position:relative}.mini-stat strong{font-size:25px}.section{margin-top:58px}.section h2{letter-spacing:-.04em;margin:0 0 18px;font-size:30px}.sub{color:var(--muted);margin-top:-8px}.steps{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.step,.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 5px 18px #12212b08}.step b{background:var(--green2);width:34px;height:34px;color:var(--green);border-radius:11px;place-items:center;margin-bottom:17px;display:grid}.step h4{margin:0 0 7px}.step p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.impact{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.impact .card strong{letter-spacing:-.05em;font-size:30px;display:block}.impact .card span{color:var(--muted);font-size:13px}.page{display:none}.page.active{display:block}.panel{border:1px solid var(--line);max-width:650px;box-shadow:var(--shadow);background:#fff;border-radius:26px;margin:15px auto;padding:28px}.panel h2{letter-spacing:-.04em;margin:0 0 8px;font-size:30px}.field{margin-top:18px}.field label{margin-bottom:7px;font-size:13px;font-weight:750;display:block}.field input,.field textarea,.field select{background:#fbfdfc;border:1px solid #ccd9d5;border-radius:12px;outline:0;width:100%;padding:13px 14px}.field textarea{resize:vertical;min-height:100px}.field input:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green2)}.consent{color:var(--muted);align-items:flex-start;gap:10px;margin-top:17px;font-size:12px;line-height:1.45;display:flex}.consent input{width:17px;height:17px;accent-color:var(--green);flex:none;margin-top:1px}.consent a{color:var(--green);cursor:pointer;font-weight:700;text-decoration:underline}.demo-note{color:#72520a;background:#fff7df;border:1px solid #f2d58a;border-radius:12px;margin-top:16px;padding:11px 13px;font-size:13px}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;display:flex}.dash-head h2{margin:0}.stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0;display:grid}.stat-grid .card strong{font-size:30px}.stat-grid .card span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.reports{gap:12px;display:grid}.report-row{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:17px;display:grid}.report-row h4{margin:0 0 5px}.report-row p{color:var(--muted);margin:0;font-size:13px}.badge{color:#2465a7;background:#e8f0ff;border-radius:99px;align-items:center;padding:6px 9px;font-size:11px;font-weight:800;display:inline-flex}.badge.green{color:#044e37;background:#d4f3e8}.badge.orange{color:#9b6500;background:#fff1d6}.badge.red{color:#b93831;background:#ffe3e0}.map{background:linear-gradient(135deg,#dbf2ea,#bce0d0);border:1px solid #a3ccbc;border-radius:17px;height:190px;position:relative;overflow:hidden}.map:before,.map:after{content:"";background:#fffc;width:130%;height:8px;position:absolute;top:45%;left:-10%;transform:rotate(-28deg)}.map:after{background:#fff9;top:60%;transform:rotate(28deg)}.pin{background:var(--red);z-index:1;border-radius:50% 50% 50% 0;width:19px;height:19px;position:absolute;top:48%;left:55%;transform:rotate(-45deg);box-shadow:0 4px 10px #0000002e}.pin:after{content:"";background:#fff;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;left:6px}.severity{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.severity button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 6px;font-weight:750}.severity button.selected{border-color:var(--green);background:var(--green2);color:var(--green)}.upload{grid-template-columns:1fr;gap:10px;display:grid}.upload button{color:var(--green);background:#fbfdfc;border:1px dashed #9bc4b4;border-radius:14px;padding:22px 12px;font-weight:750}.upload button:disabled,.field>button:disabled{cursor:not-allowed;opacity:.5}.timeline{border-left:2px solid #bce0d0;margin-top:20px;padding-left:22px}.event{margin:0 0 22px;position:relative}.event:before{content:"";background:var(--green);border:3px solid var(--bg);border-radius:50%;width:14px;height:14px;position:absolute;top:3px;left:-31px}.event.pending:before{background:#fff;border:2px solid #9bc4b4}.event strong{display:block}.event span{color:var(--muted);font-size:13px}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow);z-index:10;border-radius:14px;padding:14px 18px;display:none;position:fixed;bottom:20px;right:20px}.footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:60px;padding-top:22px;font-size:13px;display:flex}@media (max-width:820px){.hero{grid-template-columns:1fr}.steps,.impact,.stat-grid{grid-template-columns:repeat(2,1fr)}.nav button:nth-child(n+3){display:none}.hero-card{min-height:260px}}@media (max-width:480px){.shell{padding-top:25px}.topbar{padding:0 18px}.brand span{font-size:14px}.steps,.severity{grid-template-columns:1fr 1fr}.panel{padding:21px}.hero h1{font-size:50px}}.brand-button{color:inherit;text-align:left;background:0 0;padding:0}.brand-button strong{display:block}.text-link,.footer-link{color:var(--green);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline;display:inline}.footer-link{color:inherit;font-weight:inherit}.full-width{width:100%}.auth-action{margin-top:20px}.profile-step{border-top:1px solid var(--border);margin-top:24px;padding-top:22px}.profile-step h3{margin-bottom:6px}.optional-label{color:var(--muted);font-weight:500}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.coordinate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.coordinate-grid label{margin-bottom:7px;display:block}.empty-reports{color:var(--muted);text-align:center}.unverified-impact{color:var(--muted);text-align:center;padding:28px}.location-lock{color:var(--muted);gap:5px;margin-top:12px;display:grid}.location-lock strong{color:var(--green)}.location-lock span{color:var(--ink);font-variant-numeric:tabular-nums}.report-submit:disabled{cursor:wait;opacity:.65}@media (max-width:620px){.coordinate-grid{grid-template-columns:1fr}}.auth-action:disabled{cursor:not-allowed;opacity:.5}.dashboard-reports{margin-top:30px}.small-button{margin-top:8px;padding:7px 10px;font-size:12px}.location-button{width:100%;color:var(--green);border-color:#b9d9cb}.report-map,.details-map{margin-top:10px}.muted-text,.muted-paragraph{color:var(--muted)}.muted-paragraph{margin:0}.report-submit,.legal-accept{margin-top:20px}.success-panel{text-align:center;padding:45px 28px}.success-icon{color:var(--green);font-size:58px}.report-id-card{background:var(--green2);border-color:#a3ccbc;margin:25px 0}.report-id-label,.coordinate-text{font-size:13px}.report-id{color:var(--green);font-size:27px}.centered-actions{justify-content:center}.details-badge{font-size:13px}.details-grid{grid-template-columns:1fr 1fr;margin-top:25px}.photo-placeholder{color:#fff;background:linear-gradient(145deg,#697678,#c9a27e);border-radius:15px;place-items:center;height:220px;font-weight:800;display:grid}.card-label{font-size:13px;font-weight:750}.details-map{height:220px}.impact-top{margin-top:25px}.public-map-card{margin-top:18px}.public-map{height:370px}.public-pin-one{top:42%;left:31%}.public-pin-two{background:#f59f00;top:31%;left:56%}.public-pin-three{background:#044e37;top:62%;left:68%}.public-pin-four{background:#d94841;top:72%;left:44%}.visible-toast{display:block}.legal-overlay{z-index:100;background:#12212b8c;padding:22px;position:fixed;inset:0;overflow:auto}.legal-panel{max-width:700px;margin:40px auto;position:relative}.legal-close{color:var(--muted);background:0 0;padding:0;font-size:24px;position:absolute;top:15px;right:18px}@media (max-width:820px){.details-grid{grid-template-columns:1fr}}
