:root{color:#17312b;--green:#1e6f5c;--green-dark:#155245;--green-soft:#e7f2ed;--ink:#17312b;--muted:#657570;--line:#dce4df;--paper:#fff;--warm:#f3efe5;background:#f4f6f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f4f6f3;min-height:100%}body{min-height:100vh;color:var(--ink);margin:0}a{color:inherit}button,input{font:inherit}button{cursor:pointer}.eyebrow{color:var(--green);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800;display:inline-block}.muted{color:var(--muted);line-height:1.65}.button{background:var(--green);color:#fff;border:0;border-radius:13px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-weight:800;text-decoration:none;transition:all .18s;display:inline-flex}.button:hover{background:var(--green-dark);transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:wait;transform:none}.button--small{min-height:38px;padding:0 14px}.button--ghost{color:var(--green-dark);border:1px solid var(--line);background:#fff}.marketing-page{background:#fbfcfa}.marketing-header{justify-content:space-between;align-items:center;gap:20px;width:min(1180px,100% - 32px);min-height:72px;margin:0 auto;display:flex}.marketing-header nav{align-items:center;gap:22px;display:flex}.marketing-header nav>a:not(.button){color:#51615c;font-size:.9rem;font-weight:700;text-decoration:none}.brand{letter-spacing:-.02em;font-weight:900;text-decoration:none}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:52px;width:min(1180px,100% - 32px);margin:38px auto 70px;display:grid}.hero h1{letter-spacing:-.065em;max-width:740px;margin:14px 0 18px;font-size:clamp(2.6rem,6vw,5.5rem);line-height:.96}.hero p{max-width:680px;color:var(--muted);margin:0;font-size:1.12rem;line-height:1.65}.hero__actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.hero__panel{background:linear-gradient(145deg,#dcebe5,#f2ead7);border-radius:34px;place-items:center;min-height:480px;padding:24px;display:grid;box-shadow:0 24px 60px #294b411f}.map-placeholder{aspect-ratio:1;text-align:center;background:#ffffff94;border:2px dashed #1e6f5c66;border-radius:48% 52% 41% 59%/52% 43% 57% 48%;place-items:center;width:78%;display:grid;box-shadow:0 0 0 28px #1e6f5c0f}.map-placeholder span,.map-placeholder strong{display:block}.map-placeholder span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:800}.map-placeholder strong{margin-top:7px;font-size:1.35rem}.section{width:min(1180px,100% - 32px);margin:0 auto 70px}.section h2{letter-spacing:-.04em;max-width:760px;margin:10px 0 28px;font-size:clamp(1.9rem,3vw,3.2rem);line-height:1.05}.feature-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.feature-grid article{border:1px solid var(--line);background:#fff;border-radius:20px;padding:25px}.feature-grid h3{margin:0 0 10px;font-size:1.1rem}.feature-grid p{color:var(--muted);margin:0;line-height:1.55}.section--soft{background:var(--green-soft);border-radius:26px;grid-template-columns:1fr .75fr;align-items:center;gap:40px;padding:36px;display:grid}.section--soft h2{margin-bottom:0}.section--soft p{color:#4b615b;line-height:1.7}.marketing-footer{border-top:1px solid var(--line);width:min(1180px,100% - 32px);color:var(--muted);margin:0 auto;padding:24px 0 34px;font-size:.85rem}.simple-public-page{width:min(720px,100% - 32px);margin:0 auto;padding:12vh 0}.simple-public-page h1{letter-spacing:-.05em;font-size:clamp(2rem,5vw,3.8rem);line-height:1}.simple-public-page p{color:var(--muted);font-size:1.05rem;line-height:1.7}.back-text{color:var(--muted);margin-bottom:50px;font-weight:700;text-decoration:none;display:inline-block}.auth-page{background:radial-gradient(circle at 15% 10%,#dfeee8,#0000 36%),#f5f7f4;place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:24px;width:min(430px,100%);padding:34px;box-shadow:0 24px 60px #1f42391a}.auth-card--wide{width:min(560px,100%)}.auth-card h1{letter-spacing:-.04em;margin:8px 0;font-size:2.15rem}.form-stack{gap:12px;margin-top:26px;display:grid}.form-stack label>span{color:#455852;margin-bottom:6px;font-size:.82rem;font-weight:800;display:block}.form-stack input[type=email],.form-stack input[type=password]{border:1px solid #cad7d2;border-radius:11px;outline:none;width:100%;min-height:47px;padding:0 13px}.form-stack input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1e6f5c1c}.check-row{align-items:center;gap:8px;display:flex}.check-row span{margin:0!important}.form-error{color:#a43e34;margin:-6px 0 2px;font-size:.82rem}.municipality-choice-list{gap:10px;margin-top:22px;display:grid}.municipality-choice{border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;padding:16px 17px;text-decoration:none;transition:all .15s;display:flex}.municipality-choice:hover{background:#f4faf7;border-color:#9fc1b7}.municipality-choice strong,.municipality-choice span{display:block}.municipality-choice span{color:var(--muted);margin-top:3px;font-size:.8rem}.empty-state{color:var(--muted);background:#f4f6f3;border-radius:14px;margin-top:22px;padding:18px}.tenant-shell{background:#f4f6f3;min-height:100vh;padding-bottom:72px}.tenant-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding:0 max(18px,50vw - 590px);display:flex}.tenant-brand{align-items:center;gap:11px;display:flex}.tenant-brand strong,.tenant-brand span{display:block}.tenant-brand span{color:var(--muted);margin-top:2px;font-size:.78rem}.app-mark{background:var(--green);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:.78rem;font-weight:900;display:grid}.tenant-actions{align-items:center;gap:15px;display:flex}.text-action{width:auto;color:var(--green-dark);background:0 0;border:0;padding:0;font-size:.82rem;font-weight:800;text-decoration:none}.tenant-main{width:min(1180px,100% - 28px);margin:0 auto;padding:28px 0 42px}.page-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.page-heading h1{letter-spacing:-.05em;margin:5px 0;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.page-heading p{color:var(--muted);margin:0}.status-pill{min-height:30px;color:var(--green-dark);white-space:nowrap;background:#e4f2ec;border-radius:999px;align-items:center;padding:0 10px;font-size:.74rem;font-weight:800;display:inline-flex}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.dashboard-card{border:1px solid var(--line);background:#fff;border-radius:18px;gap:15px;min-height:180px;padding:20px;display:flex}.dashboard-card--accent{background:#f5faf8;border-color:#b7d3ca}.card-icon{background:var(--green-soft);width:42px;height:42px;color:var(--green-dark);border-radius:12px;flex:0 0 42px;place-items:center;font-size:.78rem;font-weight:900;display:grid}.dashboard-card small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:800}.dashboard-card h2{margin:5px 0 8px;font-size:1.08rem}.dashboard-card p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.55}.foundation-panel{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:16px;padding:22px}.foundation-panel h2{margin:0 0 10px;font-size:1.12rem}.foundation-panel p{color:var(--muted);margin:0;line-height:1.6}.foundation-steps{flex-wrap:wrap;gap:8px;display:flex}.foundation-steps span{color:#4f625c;background:#f1f4f1;border-radius:9px;padding:8px 10px;font-size:.78rem;font-weight:700}.bottom-nav{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-radius:18px;grid-template-columns:repeat(4,1fr);align-items:center;gap:4px;width:min(540px,100% - 22px);min-height:56px;padding:6px;display:grid;position:fixed;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 14px 35px #1f3f3626}.bottom-nav a,.bottom-nav span{color:#6d7975;border-radius:12px;place-items:center;min-height:42px;font-size:.75rem;font-weight:800;text-decoration:none;display:grid}.bottom-nav .is-active{color:#fff;background:var(--green)}.admin-shell{background:#f4f6f3;grid-template-columns:250px 1fr;min-height:100vh;display:grid}.admin-sidebar{color:#fff;background:#173b32;flex-direction:column;gap:28px;min-height:100vh;padding:22px;display:flex}.admin-sidebar .tenant-brand span{color:#a8c6bd}.admin-sidebar nav{gap:5px;display:grid}.admin-sidebar nav a,.admin-sidebar nav span{color:#bad1ca;border-radius:10px;padding:10px 12px;font-size:.88rem;font-weight:700;text-decoration:none}.admin-sidebar nav .is-active{color:#fff;background:#ffffff1a}.admin-sidebar .text-action{color:#fff;margin-top:auto}.admin-main{min-width:0;padding:34px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric-grid article{border:1px solid var(--line);background:#fff;border-radius:17px;padding:22px}.metric-grid small,.metric-grid strong{display:block}.metric-grid small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:800}.metric-grid strong{margin-top:8px;font-size:2rem}@media (width<=820px){.marketing-header nav>a:not(.button){display:none}.hero{grid-template-columns:1fr;gap:28px;margin-top:24px}.hero__panel{min-height:310px}.feature-grid,.dashboard-grid{grid-template-columns:1fr}.section--soft{grid-template-columns:1fr;gap:8px;padding:25px}.admin-shell{grid-template-columns:1fr}.admin-sidebar{min-height:auto}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-main{padding:22px 15px}.metric-grid{grid-template-columns:1fr}}@media (width<=560px){.marketing-header{min-height:62px}.brand{font-size:.9rem}.hero{margin-bottom:48px}.hero h1{font-size:3rem}.hero__panel{border-radius:24px;min-height:250px}.section{margin-bottom:48px}.auth-page{padding:14px}.auth-card{border-radius:20px;padding:24px 20px}.tenant-header{min-height:62px;padding:0 14px}.tenant-brand strong{font-size:.88rem}.tenant-actions .text-action:first-child{display:none}.tenant-main{width:min(100% - 20px,1180px);padding-top:20px}.page-heading{align-items:center}.page-heading h1{font-size:2rem}.status-pill{font-size:.66rem}.dashboard-card{min-height:0}}
