:root{color-scheme:light;--bg: #eef3f0;--surface: #ffffff;--surface-2: #f7faf8;--surface-3: #edf4f0;--ink: #1f2823;--muted: #5f6b64;--line: #d7dfd8;--line-strong: #b8c6bb;--green: #287a4a;--green-dark: #155b34;--blue: #245f8f;--blue-soft: #e6f0f8;--amber: #a96700;--amber-soft: #fff0cf;--red: #bd332f;--red-soft: #fae8e6;--shadow: 0 12px 30px rgba(36, 48, 40, .075);--shadow-soft: 0 5px 16px rgba(36, 48, 40, .05);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .86);--radius: 8px;--sidebar: 260px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,*:before,*:after{box-sizing:border-box}html{max-width:100%;overflow-x:hidden;scroll-behavior:smooth}html.work-shell-menu-open,body.work-shell-menu-open{overflow:hidden;overscroll-behavior:contain}body{position:relative;margin:0;max-width:100%;overflow-x:hidden;min-height:100vh;background:linear-gradient(120deg,rgba(40,122,74,.08),transparent 32%),linear-gradient(180deg,#fbfcfb 0%,var(--bg) 100%);color:var(--ink);isolation:isolate}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:url(/assets/waste-hero.svg);background-repeat:no-repeat;background-position:center center;background-size:cover;opacity:.14;mix-blend-mode:multiply}body>*{position:relative;z-index:1}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}img,svg{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;overflow-wrap:anywhere}h1{margin-bottom:10px;font-size:clamp(28px,4vw,46px)}h2{margin-bottom:8px;font-size:clamp(21px,2.5vw,30px)}h3{margin-bottom:7px;font-size:17px}p{color:var(--muted);line-height:1.55;overflow-wrap:break-word}:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--blue);outline-offset:3px}.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:18px 16px;background:#fffffff0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:10px 0 28px #2430280d}.sidebar-panel{min-height:100%}.mobile-menu-scrim,.mobile-menu-header,.mobile-sidebar-actions,.btn.mobile-menu-trigger,.mobile-context-marker,.mobile-current-route{display:none}.brand{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:18px;padding-bottom:16px;text-decoration:none}.brand.compact{width:max-content;max-width:100%;margin:0;padding:0;border:0}.brand img{width:46px;height:46px;object-fit:contain}.brand strong{display:block;overflow-wrap:anywhere;font-size:15px}.brand span:last-child{color:var(--muted);font-size:12px}.eyebrow,.metric-label,.field>span,.route-number{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.nav-group{display:grid;gap:7px;margin:18px 0;min-width:0}.nav-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:8px 10px;border-radius:var(--radius);color:#344139;font-size:14px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.nav-link:hover,.nav-link.active{background:var(--surface)}.nav-link.active{color:var(--green-dark);box-shadow:inset 3px 0 0 var(--green)}.nav-count{display:inline-flex;min-width:23px;min-height:22px;align-items:center;justify-content:center;border-radius:999px;background:var(--surface-3);color:var(--green-dark);font-size:12px}.sidebar-help{margin-top:24px;padding:12px;border-radius:var(--radius);background:var(--surface-2)}.sidebar-help strong{display:block;margin-bottom:5px;font-size:13px}.sidebar-help p{margin:0;font-size:12px}.main{min-width:0;overflow-x:clip}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;padding:12px 28px;background:#eef3f0eb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 26px #2430280d}.place-context,.top-actions,.button-row,.filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}.button-row--start{justify-content:flex-start}.place-context{min-width:0;gap:12px;flex:1 1 330px}.place-context>div{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0}.place-context>.mobile-context-marker{display:none}.place-context strong,.place-context span{overflow-wrap:anywhere}.place-context span{color:var(--muted);font-size:13px}.top-actions{justify-content:flex-end}.content{display:grid;gap:32px;width:min(100%,1240px);min-width:0;margin:0 auto;padding:28px}.screen{display:grid;gap:18px;min-width:0;scroll-margin-top:92px}.screen-header,.panel-header,.drawer-header,.modal-header,.citizen-header,.hub-header,.public-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-width:0}.screen-header p,.panel-header p,.drawer-header p,.hub-summary p{width:min(100%,760px);margin-bottom:0}.btn,.filter-chip,.tab{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;border:0;border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:14px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;overflow-wrap:anywhere;box-shadow:var(--shadow-soft),var(--shadow-inset)}.btn{padding:9px 14px}.btn.small{min-height:34px;padding:7px 10px;font-size:13px}.btn.large{min-height:48px;padding:12px 18px;font-size:16px}.btn.primary{background:var(--green);color:#fff;box-shadow:0 10px 22px #287a4a29,var(--shadow-inset)}.btn.ghost{background:transparent;box-shadow:none}.btn:disabled,.btn[disabled]{background:#e6ebe7;color:#6f7b73;box-shadow:none}.filter-chip,.tab{padding:8px 11px}.filter-chip.active,.tab.active,.tab[aria-selected=true]{background:var(--surface-3);color:var(--green-dark);box-shadow:inset 0 -3px #287a4a6b,var(--shadow-inset)}.role-pill,.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 9px;border-radius:999px;background:var(--surface-3);color:#48554d;font-size:12px;font-weight:700;white-space:normal}.status-pill.success{background:#eaf6ee;color:var(--green-dark)}.status-pill.warning{background:var(--amber-soft);color:#775000}.status-pill.danger{background:var(--red-soft);color:#8f201c}.status-pill.info{background:var(--blue-soft);color:#184d76}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric,.panel,.route-card,.access-card,.access-alert,.drawer-panel,.modal-card,.mini-card,.municipality-card{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow),var(--shadow-inset)}.metric{display:grid;gap:5px;min-width:0;padding:15px}.metric-value{display:block;color:var(--ink);font-size:clamp(24px,3.5vw,34px);line-height:1;overflow-wrap:anywhere}.metric-note{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.warning-metric{background:#fffaf0;box-shadow:inset 4px 0 #e5c679,var(--shadow-soft),var(--shadow-inset)}.panel{padding:16px;min-width:0}.panel-header{margin-bottom:14px}.priority-panel{box-shadow:inset 4px 0 #cfdbc9,var(--shadow),var(--shadow-inset)}.task-grid,.workflow-grid,.split-layout,.layout-2,.drawer-grid,.settings-grid{display:grid;gap:14px}.task-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.task-card{display:grid;gap:12px;min-width:0;padding:15px;border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset)}.task-card.urgent{background:#fff8f7;box-shadow:inset 4px 0 #e2b2ae,var(--shadow-soft),var(--shadow-inset)}.task-step{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:999px;background:var(--green);color:#fff;font-weight:800}.layout-2{grid-template-columns:repeat(2,minmax(0,1fr))}.split-layout{grid-template-columns:minmax(260px,380px) minmax(0,1fr)}.workflow-grid,.drawer-grid,.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0;margin:0;list-style:none}.step{display:flex;align-items:center;gap:8px;min-width:0;padding:10px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft),var(--shadow-inset)}.step span{display:inline-flex;width:26px;height:26px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;background:#e7ece8;font-weight:800}.step.active span{background:var(--green);color:#fff}.step.warning span{background:var(--amber);color:#fff}.five-steps{grid-template-columns:repeat(5,minmax(0,1fr))}.stacked-form{display:grid;gap:12px}.field{display:grid;gap:6px}.field input,.field select{width:100%;min-height:42px;border:0;border-radius:var(--radius);padding:9px 10px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #1f282329,var(--shadow-inset)}.field-help{margin:-4px 0 0;font-size:13px}.checkbox-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;color:var(--ink);font-size:14px}.checkbox-line input{margin-top:2px}.choice-fieldset{display:grid;gap:10px;min-width:0;margin:0;padding:0;border:0}.choice-fieldset legend{margin-bottom:8px;color:var(--muted);font-size:13px;font-weight:700}.choice-list{display:grid;gap:9px}.choice-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;min-width:0;padding:12px;border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset)}.choice-card input{margin-top:3px;accent-color:var(--green)}.choice-card span{display:grid;gap:3px;min-width:0}.choice-card strong,.choice-card small{overflow-wrap:anywhere}.choice-card small{color:var(--muted)}.container-list .choice-card:has(input:checked){background:#edf8f1;box-shadow:inset 4px 0 #a8cdb6,var(--shadow-soft),var(--shadow-inset)}.result-box{display:grid;gap:4px;padding:12px;border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset)}.result-box.success{background:#edf8f1;box-shadow:inset 4px 0 #b8d7c2,var(--shadow-soft),var(--shadow-inset)}.result-box span{color:var(--muted)}.code-result{display:grid;gap:6px;margin-bottom:14px;padding:18px;border-radius:var(--radius);background:#edf8f1;text-align:center;box-shadow:inset 4px 0 #a8cdb6,var(--shadow-soft),var(--shadow-inset)}.code-result span{color:var(--muted);font-size:13px;font-weight:700}.code-result strong{color:var(--green-dark);font-size:clamp(34px,6vw,52px);letter-spacing:.04em;overflow-wrap:anywhere}.selected-container-list{display:grid;gap:8px}.selected-container-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:10px;border-radius:var(--radius);background:#edf8f1;box-shadow:inset 4px 0 #a8cdb6,var(--shadow-soft),var(--shadow-inset)}.selected-container-chip>div{display:grid;gap:3px;min-width:0}.selected-container-chip strong,.selected-container-chip span{min-width:0;overflow-wrap:anywhere}.selected-container-chip span{color:var(--muted);font-size:12px;font-weight:700}.check-list,.blocker-list,.state-list,.list,.switch-list,.summary-list{display:grid;gap:9px}.check-row,.blocker-row,.state-row,.list-row,.switch-row,.summary-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset)}.check-row.ok{background:#edf8f1;box-shadow:inset 4px 0 #b8d7c2,var(--shadow-soft),var(--shadow-inset)}.check-row.warn,.blocker-row.danger,.state-row.danger{background:var(--red-soft);box-shadow:inset 4px 0 #e2b2ae,var(--shadow-soft),var(--shadow-inset)}.state-row.success{background:#edf8f1;box-shadow:inset 4px 0 #b8d7c2,var(--shadow-soft),var(--shadow-inset)}.summary-grid,.payment-review,.payment-instructions,.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.summary-grid div,.review-cell,.payment-instructions div,.contact-grid div{display:grid;gap:4px;min-width:0;padding:12px;border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset)}.summary-grid strong,.review-cell strong,.payment-instructions strong,.contact-grid strong,.summary-list strong{overflow-wrap:anywhere}.data-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.data-table th,.data-table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}.data-table th{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.data-table.compact th,.data-table.compact td{padding:8px}.data-table a{color:var(--blue);font-weight:700}.drawer-panel{padding:16px;scroll-margin-top:92px}.tab-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.mini-card{padding:14px;box-shadow:none}.modal-sample{display:grid;justify-items:center;padding:18px;border-radius:var(--radius);background:#ffffff8c;scroll-margin-top:92px;box-shadow:inset 0 0 0 1px #b8c6bb42}.modal-card{width:min(100%,620px);padding:16px}.inline-modal{padding:0;border:0;background:transparent}.inline-modal .modal-card{width:100%}.warning-box{margin-bottom:12px;padding:12px;border-radius:var(--radius);background:var(--red-soft);box-shadow:inset 4px 0 #e2b2ae,var(--shadow-soft),var(--shadow-inset)}.warning-box p,.warning-text{margin-bottom:0;color:#7b2c28}.conflict-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border-radius:var(--radius);background:#fff8df;box-shadow:inset 4px 0 #e5c679,var(--shadow-soft),var(--shadow-inset)}.conflict-row div:first-child{display:grid;gap:4px;min-width:0}.conflict-row span{color:#7a5a12;overflow-wrap:anywhere}.payment-card{background:#fffdf7;box-shadow:inset 4px 0 #e5c679,var(--shadow),var(--shadow-inset)}.blocker-row,.state-row{display:grid}.switch-row{align-items:center;justify-content:start;grid-template-columns:auto minmax(0,1fr)}.switch-row input{width:42px;height:24px;accent-color:var(--green)}.switch-row span{display:grid}.switch-row small{color:var(--muted)}.municipality-card{display:flex;justify-content:space-between;gap:18px;padding:22px;background:linear-gradient(135deg,#17452d,#215b65);color:#fff}.municipality-card p,.municipality-card .eyebrow{color:#ffffffd1}.hub-page,.public-page{background:linear-gradient(120deg,rgba(36,95,143,.08),transparent 34%),linear-gradient(180deg,#fbfcfb 0%,var(--bg) 100%)}.hub,.public-main{width:min(100%,1180px);margin:0 auto;padding:28px}.hub{display:grid;gap:28px;min-height:100vh;align-content:center}.hub-header{align-items:center}.hub-summary{max-width:760px}.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.route-card{display:grid;gap:24px;min-height:280px;padding:22px;align-content:space-between}.route-number{display:inline-flex;margin-bottom:18px;color:var(--green-dark)}.public-header{width:min(100%,1180px);margin:0 auto;padding:18px 28px;align-items:center}.public-page--citizen-dashboard .public-main{width:min(100%,1480px);padding-top:18px}.public-host{display:grid;justify-items:end;gap:3px;min-width:0;text-align:right}.public-host strong,.public-host span{overflow-wrap:anywhere}.public-host span{color:var(--muted);font-size:13px}.access-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:18px;align-items:start}.access-card{padding:clamp(22px,4vw,42px)}.access-form{display:grid;gap:12px;max-width:430px}.access-states{display:grid;gap:12px}.access-alert{display:grid;gap:4px;padding:14px;box-shadow:none}.access-alert>*{min-width:0}.access-alert.danger{background:var(--red-soft);box-shadow:inset 4px 0 #e2b2ae,var(--shadow-soft),var(--shadow-inset)}.access-alert.warning{background:var(--amber-soft);box-shadow:inset 4px 0 #e5c679,var(--shadow-soft),var(--shadow-inset)}.access-alert.info{background:var(--blue-soft);box-shadow:inset 4px 0 #b7cfdf,var(--shadow-soft),var(--shadow-inset)}.access-alert.success{background:#edf8f1;box-shadow:inset 4px 0 #b8d7c2,var(--shadow-soft),var(--shadow-inset)}.access-alert p{margin:4px 0 0;font-size:14px}.citizen-app{display:grid;gap:18px;min-width:0;scroll-margin-top:18px}.public-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.collection-list{display:grid;gap:10px}.collection-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto) auto;gap:12px;align-items:center;padding:12px;border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset)}.collection-item div{display:grid;min-width:0;gap:3px}.collection-item span{color:var(--muted);overflow-wrap:anywhere}.collection-item .status-pill{color:var(--green-dark)}@media (max-width: 1120px){.metric-grid,.task-grid,.workflow-grid,.route-grid,.public-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-grid,.settings-grid{grid-template-columns:1fr}}@media (max-width: 880px){body:before{background-position:center center;background-size:cover;opacity:.11}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;height:auto;padding:0;background:transparent;box-shadow:none;visibility:hidden;pointer-events:none}.sidebar[data-mobile-open=true]{visibility:visible;pointer-events:auto}.mobile-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;display:block;width:100%;min-height:100%;padding:0;border:0;background:#1f282357}.sidebar-panel{position:fixed;top:10px;right:10px;left:10px;display:block;max-height:calc(100dvh - 20px);min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fffffffa;box-shadow:var(--shadow);transform:translateY(-8px);opacity:0;transition:opacity .15s ease,transform .15s ease}.sidebar[data-mobile-open=true] .sidebar-panel{transform:translateY(0);opacity:1}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.nav-group{display:grid;gap:6px}.nav-link{flex:0 1 auto;min-width:0}.mobile-sidebar-actions{display:grid}.sidebar-help{display:none}.topbar{position:sticky;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:0;padding:8px 10px}.btn.mobile-menu-trigger{display:inline-flex;align-self:center}.mobile-current-route{display:inline-flex;width:fit-content;max-width:100%;padding:4px 8px;border-radius:999px;background:var(--surface-3);color:var(--green-dark);font-size:12px;font-weight:700}.topbar .place-context{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:0}.topbar .place-context>.role-pill,.topbar .place-context>div,.topbar .place-context>div strong,.topbar .place-context>.status-pill,.topbar .place-context>.mobile-current-route{display:none}.topbar .place-context>.mobile-context-marker{display:grid;min-width:0;gap:2px}.topbar .place-context>.mobile-context-marker strong,.topbar .place-context>.mobile-context-marker span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .place-context>.mobile-context-marker strong{color:var(--ink);font-size:13px;line-height:1.2}.topbar .place-context>.mobile-context-marker span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.2}.top-actions{display:none}.btn.small,.topbar .btn{min-height:40px}.top-actions .btn{flex:0 1 auto;min-width:0;width:auto;padding:8px 10px;font-size:13px;white-space:nowrap}.topbar .btn svg{width:16px;height:16px}.screen-header,.panel-header,.drawer-header,.modal-header,.citizen-header,.hub-header,.public-header{display:grid}.screen-header>*,.panel-header>*,.drawer-header>*,.modal-header>*,.citizen-header>*,.hub-header>*,.public-header>*{min-width:0;max-width:100%}.content,.hub,.public-main,.public-header{padding:18px}.layout-2,.split-layout,.access-layout{grid-template-columns:1fr}.stepper,.summary-grid,.payment-review,.payment-instructions,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-host{justify-items:start;text-align:left}}@media (max-width: 880px){.table-wrap{overflow-x:visible}.data-table{display:block}.data-table thead{display:none}.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tr{margin-bottom:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset);overflow:hidden}.data-table td{display:grid;grid-template-columns:minmax(92px,30%) minmax(0,1fr);gap:8px;min-width:0;padding:8px 10px;border-bottom:1px solid var(--line);overflow-wrap:break-word;word-break:normal}.data-table td>*{min-width:0}.data-table td:last-child{border-bottom:0}.data-table td:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:700;line-height:1.35;text-transform:uppercase}.data-table td[data-mobile-priority=primary]{grid-template-columns:minmax(0,1fr);gap:4px;padding:12px 12px 10px;background:var(--surface)}.data-table td[data-mobile-priority=primary]:before{color:var(--green-dark);font-size:10px}.data-table td[data-mobile-priority=primary] strong,.data-table td[data-mobile-priority=primary] code{font-size:16px}.data-table td[data-mobile-priority=secondary]{background:#ffffff6b}.data-table td[data-mobile-priority=actions]{grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch;padding:10px 12px 12px;background:var(--surface);border-top:1px solid var(--line-strong)}.data-table td[data-mobile-priority=actions]:before{color:var(--ink)}.data-table td[data-column-key=actions],.data-table td[data-column-key=action]{align-items:center}.data-table td[data-mobile-priority=actions] .button-row,.data-table td[data-column-key=actions] .button-row,.data-table td[data-column-key=action] .button-row{display:flex;flex-wrap:wrap;gap:8px;width:100%;max-width:none}.data-table td[data-mobile-priority=actions] .btn,.data-table td[data-mobile-priority=actions] a,.data-table td[data-column-key=actions] .btn,.data-table td[data-column-key=action] .btn{min-width:112px;min-height:40px}.data-table td[data-mobile-priority=actions] .btn,.data-table td[data-mobile-priority=actions] .button-row .btn{flex:1 1 100%;width:100%}.data-table td[data-mobile-priority=actions]>a:not(.btn){display:inline-flex;align-items:center;justify-content:center;width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--blue-soft);text-align:center;text-decoration:none}.data-table code,.data-table a{overflow-wrap:break-word;word-break:normal}.data-table .muted-block{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .text-button strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .import-batch-link{min-height:44px;align-content:center}.data-table .import-batch-link__id--desktop{display:none}.data-table .import-batch-link__id--mobile{display:inline}}@media (max-width: 640px){.metric-grid,.task-grid,.workflow-grid,.route-grid,.public-metrics,.summary-grid,.payment-review,.payment-instructions,.contact-grid,.stepper{grid-template-columns:1fr}.route-card{min-height:0}.place-context{display:grid;grid-template-columns:1fr}.topbar .place-context{display:grid;grid-template-columns:none}.button-row,.filter-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%;max-width:none}.button-row .btn,.filter-row .filter-chip{flex:1 1 100%;min-width:0;width:100%}.selected-container-chip{display:grid;grid-template-columns:1fr;align-items:stretch}.nav-link{flex-basis:100%}h1{max-width:340px;font-size:24px}.screen-header p,.panel-header p,.drawer-header p,.hub-summary p{width:min(100%,340px)}.panel,.metric,.task-card,.drawer-panel,.access-card,.route-card{width:100%;max-width:none}.collection-item{grid-template-columns:1fr;align-items:start}.conflict-row{grid-template-columns:1fr}.municipality-card{display:grid}}@media (max-width: 420px){h1,.screen-header p,.panel-header p,.drawer-header p,.hub-summary p{max-width:320px}}@media (max-width: 380px){h1{font-size:24px}h2{font-size:22px}.content,.hub,.public-main,.public-header,.sidebar,.topbar,.panel,.drawer-panel,.modal-card,.metric,.route-card,.access-card{padding:12px}.brand{grid-template-columns:40px minmax(0,1fr)}.brand img{width:40px;height:40px}.btn,.filter-chip,.tab{width:100%}.topbar{padding:8px 10px}.topbar .btn{width:auto}.data-table td{gap:4px;padding:8px}}.table-wrap{width:100%;overflow-x:auto}.route-stack,.auth-form,.admin-form,.action-list,.citizen-payment-list,.citizen-payment-details{display:grid;gap:12px}.suggestion-list{max-height:min(360px,42dvh);overflow-y:auto;padding-right:4px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.panel-title{margin-bottom:0}.empty-copy{margin-bottom:0;color:var(--muted);line-height:1.55}.empty-copy--panel,.placeholder-panel{display:grid;min-height:88px;place-items:center start;gap:10px;padding:14px;border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset)}.admin-grid{display:grid;gap:14px}.admin-grid--split{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}.admin-grid--imports{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.admin-grid--form,.admin-grid--payments{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.admin-grid--payments{grid-template-columns:repeat(3,minmax(0,1fr))}.field-label,.muted-block{color:var(--muted);font-size:12px;font-weight:700}.field-label{letter-spacing:.02em;text-transform:uppercase}.muted-block{display:block;margin-top:3px;font-weight:500;text-transform:none}.field textarea,.textarea,.input-control{width:100%;min-height:42px;border:0;border-radius:var(--radius);padding:9px 10px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #1f282329,var(--shadow-inset)}.textarea{min-height:80px;resize:vertical}.textarea--code,.font-monospace,code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.textarea--code{font-size:13px;line-height:1.45}.checkbox-line input{accent-color:var(--green)}.profile-editor-shell,.profile-editor,.profile-column-list{display:grid;gap:14px;min-width:0}.profile-editor-toolbar,.profile-editor-heading,.profile-column-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.profile-editor-toolbar{align-items:center;flex-wrap:wrap;padding:10px;border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset)}.profile-editor-section{display:grid;gap:12px;min-width:0;padding:12px;border-radius:var(--radius);background:#f8faf8;box-shadow:inset 0 0 0 1px #1f282314}.profile-editor-section--compact,.profile-column-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.profile-column-row{display:grid;gap:12px;min-width:0;padding:12px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft),var(--shadow-inset)}.profile-column-title{align-items:center}.profile-column-title strong{min-width:0;overflow-wrap:anywhere}.profile-required-toggle{min-height:42px;align-items:center}.profile-alias-field{grid-column:span 2}.profile-key-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px}.profile-json-preview{min-height:220px;background:#f8faf8}.action-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset)}.action-row__priority{width:7px;align-self:stretch;border-radius:999px;background:var(--green)}.action-row__priority--warning{background:var(--amber)}.action-row__priority--danger{background:var(--red)}.action-row--household-search{grid-template-columns:auto minmax(0,1fr);align-items:start}.action-row--household-search .action-row__content{min-width:0}.action-row--household-search .action-row__content>*{min-width:0}.action-row--household-search .action-row__actions{grid-column:2;justify-content:flex-start;align-items:center}.text-button{display:inline-grid;padding:0;border:0;background:transparent;color:var(--blue);cursor:pointer;font:inherit;font-weight:700;text-align:left;text-decoration:none}.import-batch-link__id--mobile{display:none}.runtime-badge{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border-radius:var(--radius);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;box-shadow:var(--shadow-soft),var(--shadow-inset)}.runtime-badge svg{width:15px;height:15px;color:var(--green-dark)}.auth-page{display:grid;min-height:calc(100vh - 160px);place-items:start center;padding:24px 0}.auth-card{width:min(100%,540px)}.auth-form__intro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px;border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset)}.auth-form__intro svg{width:22px;height:22px;color:var(--green-dark)}.dialog-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;overflow:hidden}.dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:flex-start;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.dialog-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;padding:0;border:0;background:#1f28236b;overflow:hidden}.modal-card{position:relative;z-index:1;margin-block:auto;max-height:none;overflow:visible}.modal-header h2{margin-bottom:0}.dialog-content{padding-top:12px;overflow:visible}.tenant-rules,.citizen-overview-grid,.citizen-summary{display:grid;gap:14px}.tenant-rules{grid-template-columns:repeat(4,minmax(0,1fr))}.tenant-rules article,.citizen-payment-card{padding:14px;border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-soft),var(--shadow-inset)}.citizen-summary{grid-template-columns:1fr;min-width:0}.citizen-summary--single,.citizen-overview-grid{grid-template-columns:1fr}.citizen-overview-grid{grid-template-columns:minmax(0,8fr) minmax(260px,4fr);min-width:0}.citizen-summary-name,.citizen-summary-host{display:block;min-width:0;max-width:100%;overflow-wrap:break-word;word-break:normal}.metric-grid--flush{margin-bottom:0}.panel--full-height{height:100%}.eyebrow--spaced{margin-bottom:8px}.table-cell-primary{font-weight:600}.table-cell-meta,.payment-card__due,.citizen-payment-detail-label,.contact-item__copy{color:var(--muted)}.table-cell-meta,.citizen-payment-details--compact,.contact-item__copy{font-size:.875em}.table-cell-meta--offset{margin-top:4px}.payment-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0;margin-bottom:16px}.payment-card .toast{margin-top:14px}.payment-card__header>div{min-width:0}.payment-card__header h2,.payment-card__header h3,.payment-card__header p{overflow-wrap:break-word;word-break:normal}.payment-amount{margin-bottom:8px;color:var(--green-dark);font-size:clamp(28px,4vw,38px);font-weight:800;line-height:1.1}.payment-card__due{margin-bottom:16px;overflow-wrap:anywhere}.citizen-payment-detail-row{display:flex;justify-content:space-between;gap:12px;min-width:0;padding-bottom:8px;border-bottom:1px solid var(--line)}.citizen-payment-detail-row:last-child{padding-bottom:0;border-bottom:0}.contact-item__title{display:block}.contact-item__title{font-weight:600}.citizen-payment-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto);gap:14px;min-width:0}.citizen-payment-list--active{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.citizen-payment-card--active{grid-template-columns:1fr;align-content:start;background:#fff}.payment-instructions--municipality{grid-template-columns:minmax(210px,.8fr) minmax(260px,1fr) minmax(320px,1.4fr);margin-top:14px}.payment-instructions--card{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.payment-instructions--municipality strong,.payment-instructions--card strong,.citizen-payment-card strong,.citizen-payment-card h3,.citizen-payment-card p,.summary-list strong{overflow-wrap:break-word;word-break:normal}.superadmin-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.small{font-size:.875em}.btn.danger{background:var(--red);color:#fff}@media (max-width: 1120px){.tenant-rules,.admin-grid--payments,.payment-instructions--municipality,.payment-instructions--card{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 880px){.admin-grid--split,.admin-grid--imports,.admin-grid--form,.admin-grid--payments,.profile-editor-section--compact,.profile-column-grid,.profile-key-grid,.citizen-summary,.citizen-overview-grid,.tenant-rules,.superadmin-checkbox-grid,.citizen-payment-list--active,.payment-instructions--municipality,.payment-instructions--card{grid-template-columns:1fr}}@media (max-width: 640px){.action-row,.citizen-payment-card{grid-template-columns:1fr}.action-row--household-search{grid-template-columns:auto minmax(0,1fr)}.action-row--household-search .action-row__actions{grid-column:2}.summary-list>div{min-width:0}.summary-list>div>*{min-width:0}.summary-list strong{overflow-wrap:anywhere}.action-row__priority{width:100%;height:6px}}
