:root{--admin-ink:#132033;--admin-muted:#687487;--admin-line:#d9e0e9;--admin-paper:#f3f6fa;--admin-blue:#285bd7;--admin-green:#17845b;--admin-card:#fff}.admin-body{background:var(--admin-paper);color:var(--admin-ink)}.admin-shell{width:min(1120px,calc(100% - 40px));margin:0 auto}.admin-header{background:#fff;border-bottom:1px solid var(--admin-line)}.admin-header-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-brand{display:flex;align-items:center;gap:10px;color:var(--admin-ink);font-weight:800;text-decoration:none}.admin-account{display:flex;align-items:center;gap:18px;color:var(--admin-muted);font-size:12px}.admin-account form{margin:0}.admin-link-button{border:0;background:none;color:var(--admin-blue);cursor:pointer;font:inherit}.admin-hero{background:var(--admin-ink);color:#fff;padding:62px 0 54px}.admin-hero-compact{padding:38px 0 42px}.admin-hero h1{font-size:clamp(34px,5vw,56px);line-height:1.1;letter-spacing:-.06em;margin:16px 0 10px}.admin-hero p{color:#b8c2d1;max-width:650px;margin:0}.admin-kicker{font:700 10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:var(--admin-blue);text-transform:uppercase}.admin-hero .admin-kicker{color:#91b6ff}.admin-section{padding:38px 0 62px}.admin-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.admin-section-heading h2{font-size:25px;letter-spacing:-.04em;margin:9px 0 0}.admin-muted{color:var(--admin-muted);font-size:12px}.admin-alert{padding:12px 15px;border:1px solid;margin-bottom:22px;font-size:13px}.admin-alert-success{border-color:#a8d7c1;background:#edf9f2;color:#17633f}.admin-alert-error{border-color:#e4b4b0;background:#fff4f2;color:#8d302b}.admin-municipality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-municipality-card{display:flex;flex-direction:column;min-height:245px;background:var(--admin-card);border:1px solid var(--admin-line);padding:24px;color:var(--admin-ink);text-decoration:none;transition:.2s}.admin-municipality-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(19,32,51,.08)}.admin-card-topline{font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--admin-muted)}.admin-municipality-card h3{font-size:27px;letter-spacing:-.04em;margin:15px 0 24px}.admin-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:0}.admin-mini-stats div{border-top:1px solid var(--admin-line);padding-top:8px}.admin-mini-stats dt{font-size:11px;color:var(--admin-muted)}.admin-mini-stats dd{font:700 22px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;margin:3px 0 0}.admin-card-arrow{margin-top:auto;padding-top:22px;font-size:12px;font-weight:700;color:var(--admin-blue)}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-stat-card{background:var(--admin-card);border:1px solid var(--admin-line);padding:18px}.admin-stat-card span,.admin-stat-card small{display:block;color:var(--admin-muted);font-size:11px}.admin-stat-card strong{display:block;font:700 32px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;margin:13px 0 4px}.admin-person-list{border-top:1px solid var(--admin-line)}.admin-person-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--admin-line);padding:16px 0}.admin-person-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;min-width:0}.admin-person-main strong{font-size:16px}.admin-person-main span{font-size:11px;color:var(--admin-muted)}.admin-person-status{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.admin-status{font-size:11px;padding:3px 8px;border:1px solid}.admin-status.is-on{color:var(--admin-green);border-color:#9bd5b9;background:#f0fbf4}.admin-status.is-off{color:var(--admin-muted);border-color:var(--admin-line);background:#fff}.admin-analysis-status{font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--admin-muted)}.admin-button{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;padding:9px 12px;font:700 11px inherit}.admin-button-primary{background:var(--admin-blue);color:#fff}.admin-button-muted{background:#e8edf4;color:var(--admin-ink)}.admin-empty{padding:28px 0;color:var(--admin-muted);font-size:13px}.admin-back-link{display:inline-block;color:#c7d9ff;text-decoration:none;font-size:12px;margin-bottom:24px}.admin-login-wrap{min-height:100vh;display:grid;place-items:center;padding:30px}.admin-login-card{width:min(430px,100%);background:#fff;border:1px solid var(--admin-line);padding:32px;box-shadow:0 16px 36px rgba(19,32,51,.08)}.admin-login-card h1{font-size:30px;letter-spacing:-.05em;margin:14px 0 8px}.admin-login-card .admin-muted{line-height:1.7;margin-bottom:26px}.admin-form{display:grid;gap:8px}.admin-form label{font-size:12px;color:var(--admin-muted);margin-top:7px}.admin-form input[type=email],.admin-form input[type=password]{width:100%;height:44px;border:1px solid var(--admin-line);padding:0 12px;font:14px inherit;color:var(--admin-ink)}.admin-checkbox{display:flex;align-items:center;gap:7px;margin:10px 0 13px!important}.admin-checkbox input{accent-color:var(--admin-blue)}.admin-form .admin-button{height:44px;font-size:13px}@media(max-width:800px){.admin-municipality-grid,.admin-stat-grid{grid-template-columns:1fr}.admin-section-heading{display:block}.admin-section-heading .admin-muted{display:block;margin-top:8px}.admin-person-row{align-items:flex-start;flex-direction:column}.admin-person-status{justify-content:flex-start}.admin-account>span{display:none}}
.admin-control-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--admin-card);border:1px solid var(--admin-line);padding:22px;margin:28px 0 46px}.admin-control-card h2{font-size:20px;margin:8px 0}.admin-control-card p{margin:0;max-width:680px}.admin-post-list{border-top:1px solid var(--admin-line)}.admin-post-row{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--admin-line);padding:15px 0}.admin-post-row strong,.admin-post-row span{display:block}.admin-post-row strong{font-size:13px}.admin-post-row span{color:var(--admin-muted);font-size:11px;margin-top:5px}.admin-post-row a{font-size:12px;color:var(--admin-blue);white-space:nowrap}@media(max-width:800px){.admin-control-card,.admin-post-row{align-items:flex-start;flex-direction:column}}
.admin-log-notice{background:#fff;border:1px solid var(--admin-line);padding:14px 16px;color:var(--admin-muted);font-size:12px;margin-bottom:20px}.admin-log-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px;color:var(--admin-muted);font-size:12px}.admin-log-filters a{border:1px solid var(--admin-line);padding:7px 10px;color:var(--admin-muted);text-decoration:none;background:#fff}.admin-log-filters a.is-active{border-color:var(--admin-blue);background:#eef3ff;color:var(--admin-blue);font-weight:700}.admin-log-list{border-top:1px solid var(--admin-line)}.admin-log-row{display:grid;grid-template-columns:150px 1fr;gap:18px;border-bottom:1px solid var(--admin-line);padding:15px 0}.admin-log-time{font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--admin-muted);padding-top:2px}.admin-log-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-log-title strong{font-size:13px}.admin-log-channel{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--admin-blue);text-transform:uppercase}.admin-log-status{border:1px solid var(--admin-line);padding:2px 7px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--admin-muted)}.admin-log-status.status-completed,.admin-log-status.status-posted,.admin-log-status.status-success{border-color:#9bd5b9;background:#f0fbf4;color:var(--admin-green)}.admin-log-status.status-fallback,.admin-log-status.status-failed,.admin-log-status.status-dead,.admin-log-status.status-error{border-color:#e4b4b0;background:#fff4f2;color:#8d302b}.admin-log-main p{margin:7px 0 0;color:var(--admin-muted);font-size:12px;line-height:1.6}.admin-log-meta{display:inline-block;margin-top:7px;font-size:11px;color:var(--admin-ink)}.admin-log-source{display:inline-block;margin:7px 0 0 12px;font-size:11px;color:var(--admin-blue)}
@media(max-width:800px){.admin-log-row{display:block}.admin-log-time{margin-bottom:7px}}
.admin-log-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:22px;color:var(--admin-muted);font-size:11px}.admin-log-pagination .pagination{padding-top:0}.admin-log-pagination .pagination nav{justify-content:flex-end}
@media(max-width:800px){.admin-log-pagination{display:block}.admin-log-pagination .pagination{margin-top:12px}}
