:root{color-scheme:light;--bg: #edf2f5;--surface: #ffffff;--surface-soft: #f7fbfd;--surface-muted: #eef5f8;--text: #1f3552;--text-soft: #6b7d92;--accent: #7eb7c9;--accent-strong: #4d9bb2;--active: #dff0f8;--border: #d9e5ec;--shadow: 0 24px 48px rgba(80, 102, 123, .12)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#fff;color:var(--text)}.login-shell{min-height:100vh;padding:0;background:#fff}.login-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);min-height:100vh;overflow:hidden;background:#fff}.login-copy{display:grid;place-items:center;padding:24px 40px}.login-content-box{display:grid;gap:18px;width:min(100%,960px);justify-items:start}.login-brand-row{display:flex;align-items:center;gap:28px;width:100%}.login-brand{display:flex;align-items:center;justify-content:center}.login-brand-logo{width:148px;max-width:100%;object-fit:contain;display:block}.login-heading{display:grid;gap:10px;justify-items:start}.login-kicker{display:inline-flex;align-items:center;min-height:36px;padding:0 18px;border:1px solid #cfe1ec;border-radius:999px;color:#436883;font-size:.9rem}.login-copy h1{margin:0;max-width:760px;font-size:clamp(1.7rem,2.5vw,2.6rem);line-height:1.06;text-align:left;color:#24496a}.login-subtitle{max-width:760px;margin:0;color:#5f738a;font-size:.98rem;line-height:1.55;text-align:left}.login-form{display:grid;gap:14px;width:min(100%,820px);margin-top:6px}.login-field{display:grid;gap:8px;width:100%;color:#203b59;font-size:.95rem;font-weight:700}.login-field input{min-height:50px;border:1px solid #d8e5ed;border-radius:18px;background:#fff;padding:0 18px;color:#24374f;font-size:1rem}.login-submit{min-height:48px;margin-top:2px}.login-feedback{margin:0;color:#b54747;font-weight:700}.login-visual{position:relative;min-height:100%;background-position:center;background-size:cover}.login-visual-overlay{position:absolute;inset:auto 32px 32px 32px;display:grid;gap:6px;padding:22px 24px;border-radius:24px;background:#122a4085;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-visual-overlay strong{font-size:1.35rem}.login-visual-overlay span{color:#ffffffd9}@media (max-width: 1200px){.login-content-box{width:min(100%,820px)}.login-copy h1{max-width:680px;font-size:clamp(1.6rem,2.9vw,2.3rem)}.login-form{width:min(100%,720px)}}@media (max-width: 960px){.login-panel{grid-template-columns:1fr}.login-copy{min-height:100vh;padding:32px 24px}.login-content-box{width:min(100%,720px)}.login-brand-row{flex-direction:column;align-items:flex-start;gap:18px}.login-form{width:100%}.login-visual{display:none}}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 24px;background:#ffffffe0;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-brand,.topbar-meta,.topbar-chip,.topbar-user-trigger,.sidebar-header,.menu-link,.module-shortcut,.content-header,.indicator-card-top,.indicator-card-footer{display:flex;align-items:center}.topbar-brand{gap:16px}.topbar-logo{display:grid;place-items:center;width:84px;height:54px;border-radius:12px;overflow:hidden;background:#fff}.topbar-logo-image{width:100%;height:100%;object-fit:contain;display:block}.topbar-brand strong,.topbar-chip strong,.content-title,.indicator-card h2,.summary-card strong{display:block}.topbar-brand strong{font-size:1.05rem}.topbar-brand small,.topbar-chip small,.chip-label,.eyebrow,.content-breadcrumb{color:var(--text-soft)}.topbar-meta{gap:22px;flex-wrap:wrap}.topbar-user-menu{position:relative}.topbar-chip{gap:14px;min-height:56px;padding:0 16px;border:1px solid var(--border);border-radius:22px;background:#fffffff2;box-shadow:0 10px 24px #54697d14}.topbar-chip-municipality{min-width:286px}.topbar-chip-user{min-width:278px}.topbar-user-trigger{justify-content:space-between;width:100%;border:1px solid var(--border);cursor:pointer;text-align:left}.topbar-user-copy{flex:1}.topbar-user-chevron{color:#6b7d92;font-size:1.2rem;line-height:1;transition:transform .2s ease}.topbar-user-chevron[data-open=true]{transform:rotate(180deg)}.topbar-user-dropdown{position:absolute;top:calc(100% + 12px);right:0;z-index:999;display:grid;gap:10px;min-width:272px;padding:18px;border:1px solid var(--border);border-radius:22px;background:#fffffffa;box-shadow:0 18px 36px #50667b2e}.topbar-user-dropdown-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);font-weight:700}.topbar-user-dropdown span{color:var(--text-soft)}.logout-button{min-height:56px;margin-top:10px;border:0;border-radius:999px;background:linear-gradient(135deg,#72d2ea,#46b9d7);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 12px 24px #46b9d738}.chip-label{display:inline-flex;align-items:center;min-height:34px;padding:0 16px;border-radius:999px;background:#dff1f7;color:#467b8c;font-weight:700}.chip-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:#edf3f8;color:#394c60;font-weight:700}.workspace{display:grid;grid-template-columns:336px minmax(0,1fr);min-height:calc(100vh - 81px);transition:grid-template-columns .24s ease}.workspace[data-sidebar=collapsed]{grid-template-columns:92px minmax(0,1fr)}.sidebar{padding:24px 12px 24px 0;background:#fff;border-right:1px solid var(--border);transition:padding .24s ease}.sidebar.sidebar-collapsed{padding-right:8px}.sidebar-header{gap:14px;padding:0 24px 20px;font-size:1.05rem}.sidebar-toggle{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:transparent;font-size:1.35rem;color:#405266;cursor:pointer}.menu,.module-shortcuts{display:grid;gap:8px}.menu-link,.module-shortcut{gap:14px;min-height:50px;padding:0 24px;border-radius:0 18px 18px 0;font-size:.98rem;transition:background .2s ease,color .2s ease,transform .2s ease}.menu-link:hover,.module-shortcut:hover,.menu-link.router-link-active,.module-shortcut.router-link-active{background:var(--active);color:#18374c}.menu-link.router-link-active,.module-shortcut.router-link-active{font-weight:700}.sidebar-collapsed .menu-link,.sidebar-collapsed .module-shortcut{justify-content:center;padding:0;border-radius:16px;margin:0 10px}.sidebar-collapsed .sidebar-divider{margin:18px}.menu-link-icon{display:inline-grid;place-items:center;width:24px;height:24px;color:#3f566e;font-size:1rem}.sidebar-divider{height:1px;margin:18px 24px;background:var(--border)}.content{min-width:0;padding:24px 26px 26px}.content-header{margin-bottom:18px}.content-breadcrumb-shell,.content-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;width:fit-content}.content-breadcrumb-shell{min-height:44px;padding:0 18px;align-items:center;border:1px solid #dbe8ee;border-radius:999px;background:#fffffff5}.content-breadcrumb{font-size:.98rem;color:#7d8fa8;line-height:1}.content-breadcrumb span:last-child{color:#2b4668;font-weight:700}.content-breadcrumb span:not(:last-child):after{content:"/";margin-left:10px;color:#9eb0c2}.content-surface{min-width:0;min-height:calc(100vh - 190px)}.panel-page{display:grid;gap:24px;min-width:0}.page-header{display:grid;gap:10px}.page-header-inline{align-items:end}.page-label{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:700;color:#5e7898}.page-title{margin:0;font-size:1.8rem;font-weight:700;color:#163252}.module-filter-bar,.module-context-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--border);border-radius:26px;background:#fffffffa;box-shadow:var(--shadow)}.module-filter-bar{flex-wrap:wrap}.module-filter-field{position:relative;flex:1 1 220px}.base-select{position:relative}.base-select-open{z-index:90}.base-select-trigger,.dashboard-period-select{width:100%;min-height:48px;padding:0 54px 0 18px;border:2px solid #263240;border-radius:22px;background-color:#fff;box-shadow:0 0 0 5px #73d0e824,inset 0 0 0 1px #ffffffeb;color:#24374f;font-size:.96rem;font-weight:700;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.base-select-trigger{position:relative;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.base-select-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-select-chevron{position:absolute;right:18px;top:50%;width:14px;height:14px;border-right:2px solid #7f8ea5;border-bottom:2px solid #7f8ea5;transform:translateY(-64%) rotate(45deg);transition:transform .2s ease}.base-select-chevron[data-open=true]{transform:translateY(-36%) rotate(-135deg)}.dashboard-period-select:focus,.base-select-trigger:focus,.base-select-open .base-select-trigger{border-color:#263240;box-shadow:0 0 0 5px #73d0e833,inset 0 0 0 1px #ffffffeb}.dashboard-period-select:hover,.base-select-trigger:hover{border-color:#263240;background-color:#fbfdff}.base-select-dropdown{position:absolute;top:calc(100% + 10px);left:0;z-index:30;width:100%;max-height:280px;overflow-y:auto;padding:10px;border-radius:24px;background:#fffffffa;box-shadow:0 20px 38px #50667b2e;border:1px solid #e3edf3}.base-select-option{width:100%;min-height:52px;padding:0 18px;border:0;border-radius:16px;background:transparent;color:#4a5d74;text-align:left;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .16s ease,color .16s ease}.base-select-option:hover{background:#eef7fb;color:#203750}.base-select-option-active{background:#dfeef5;color:#203750}.base-select-dropdown::-webkit-scrollbar{width:10px}.base-select-dropdown::-webkit-scrollbar-track{background:transparent}.base-select-dropdown::-webkit-scrollbar-thumb{border-radius:999px;background:#d1e8ef}.municipality-multi-select{position:relative}.municipality-multi-select-trigger{width:100%;min-height:60px;padding:10px 54px 10px 18px;border:1px solid #d8e5ed;border-radius:22px;background:#fff;color:#24374f;box-shadow:inset 0 0 0 1px #ffffffeb;text-align:left;cursor:pointer}.municipality-multi-select-open .municipality-multi-select-trigger,.municipality-multi-select-trigger:hover{border-color:#263240;box-shadow:0 0 0 5px #73d0e824,inset 0 0 0 1px #ffffffeb}.municipality-multi-select-copy{display:grid;gap:2px}.municipality-multi-select-copy strong{color:#223750;font-size:.95rem;line-height:1.15}.municipality-multi-select-copy small{color:#6c7e95;font-size:.78rem;line-height:1.2}.municipality-multi-select-check{position:absolute;top:50%;right:18px;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#edf7fb;color:#9db1c1;font-size:1rem;font-weight:700;transform:translateY(-50%)}.municipality-multi-select-check[data-selected=true]{color:#5aa9bf}.municipality-multi-select-dropdown{position:absolute;top:calc(100% + 12px);left:0;z-index:35;width:100%;padding:16px;border-radius:24px;border:1px solid #e3edf3;background:#fffffffa;box-shadow:0 22px 42px #50667b2e}.municipality-multi-select[data-direction=up] .municipality-multi-select-dropdown{top:auto;bottom:calc(100% + 12px)}.municipality-multi-select-search input{width:100%;min-height:46px;padding:0 16px;border:1px solid #d8e5ed;border-radius:18px;background:#fff;color:#24374f}.municipality-multi-select-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;margin-bottom:12px}.municipality-multi-select-link{border:0;background:transparent;padding:0;color:#2d67d5;font-size:.95rem;font-weight:700;cursor:pointer}.municipality-multi-select-list{display:grid;gap:8px;max-height:min(var(--municipality-dropdown-max-height, 260px),320px);overflow-y:auto;padding-right:4px}.municipality-multi-select-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:8px 12px;border:1px solid #dbe7ef;border-radius:16px;background:#f7fbff;cursor:pointer}.municipality-multi-select-item input{width:18px;height:18px;margin-top:0}.municipality-multi-select-item-copy{display:grid;gap:3px}.municipality-multi-select-item-copy strong{color:#223750;font-size:.88rem;line-height:1.15}.municipality-multi-select-item-copy small{color:#6c7e95;font-size:.76rem;line-height:1.1}.municipality-multi-select-empty{padding:14px;border-radius:18px;background:#f7fbff;color:#6c7e95}.municipality-multi-select-list::-webkit-scrollbar{width:10px}.municipality-multi-select-list::-webkit-scrollbar-thumb{border-radius:999px;background:#b8c6d3}.module-context-card{justify-content:space-between}.module-context-title{margin:4px 0 0;font-size:1.4rem;color:#163252}.content-actions{display:flex;justify-content:flex-end;gap:12px}.content-actions-shell{display:block;padding:14px 18px;border:1px solid var(--border);border-radius:22px;background:#fffffff5;box-shadow:var(--shadow)}.content-actions{display:flex;align-items:end;justify-content:space-between;gap:18px}.execution-list-actions{align-items:end}.execution-list-filters-group,.execution-list-buttons-group{display:flex;align-items:end;gap:14px}.execution-list-filter{display:grid;gap:6px;min-width:280px}.execution-list-filter span{color:#5e7898;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.compact-button{min-width:176px;min-height:44px;padding:0 20px;font-size:.84rem}.execution-monitor-card{display:grid;gap:18px}.execution-monitor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.execution-monitor-copy{display:grid;gap:10px}.execution-monitor-header h2{margin:0 0 6px}.execution-monitor-header p{margin:0;color:#60758b}.execution-live-chip{display:inline-flex;align-items:center;width:fit-content;min-height:34px;padding:0 14px;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.execution-live-chip[data-state=success]{background:#e8f7ef;color:#2f8d5d}.execution-live-chip[data-state=failed]{background:#fee7e7;color:#b54747}.execution-live-chip[data-state=active]{background:#eef8fc;color:#467b8c}.execution-live-chip[data-state=idle]{background:#f2f6f9;color:#60758b}.execution-monitor-strip{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.execution-monitor-stat,.execution-item-card{display:grid;gap:8px;padding:16px 18px;border:1px solid #dde8ef;border-radius:20px;background:#fbfdff}.execution-monitor-stat span,.execution-item-card small{color:#60758b}.execution-monitor-stat strong,.execution-item-card strong{color:#173352;font-size:1.02rem}.execution-step-list{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.execution-step-card{display:grid;gap:8px;padding:16px;border-radius:20px;border:1px solid #dde8ef;background:#f9fcfe}.execution-step-card strong{color:#173352}.execution-step-card p{margin:0;color:#60758b;line-height:1.5}.execution-step-card[data-state=done]{border-color:#cfe9dc;background:#eff9f3}.execution-step-card[data-state=active]{border-color:#b8e4ef;background:#eef8fc}.execution-step-card[data-state=pending]{opacity:.85}.execution-monitor-empty{margin:0;color:#60758b}.execution-item-strip{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.execution-item-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.execution-item-card p{margin:0;color:#173352}.execution-item-error-summary{display:-webkit-box;overflow:hidden;color:#b54747;line-height:1.5;white-space:normal;word-break:break-word;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.execution-item-error-cell .execution-item-error-summary,.execution-item-error-cell .execution-item-error-button{display:block}.execution-item-error-button{justify-self:flex-start;border:0;padding:0;background:transparent;color:#1f5f8b;font:inherit;font-weight:700;cursor:pointer}.execution-item-error-button:hover,.execution-item-error-button:focus-visible{color:#173352;text-decoration:underline}.execution-error-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:#17335266}.execution-error-modal{width:min(720px,100%);max-height:min(80vh,720px);display:grid;gap:20px;overflow:hidden;border:1px solid #d8e5ee;border-radius:24px;background:#fff;box-shadow:0 28px 60px #17335233}.execution-error-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 0}.execution-error-modal-header h2,.execution-error-modal-header p,.execution-error-modal-body p,.execution-error-modal-body pre{margin:0}.execution-error-modal-header h2{color:#173352}.execution-error-modal-header p,.execution-error-modal-body p{color:#60758b}.execution-error-modal-close{border:0;border-radius:999px;padding:10px 14px;background:#eef4f8;color:#173352;font:inherit;font-weight:700;cursor:pointer}.execution-error-modal-close:hover,.execution-error-modal-close:focus-visible{background:#dde8ef}.execution-error-modal-body{display:grid;gap:12px;padding:0 24px 24px;overflow:auto}.execution-error-modal-body pre{overflow:auto;padding:16px;border-radius:18px;background:#f6f9fb;color:#173352;font-family:IBM Plex Mono,Fira Code,monospace;font-size:.86rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}@media (max-width: 640px){.execution-error-modal-backdrop{padding:16px}.execution-error-modal-header{flex-direction:column}.execution-error-modal-close{width:100%}}.dashboard-banner,.filter-panel,.summary-card,.result-card,.info-card,.group-card,.module-card,.empty-panel,.log-card,.data-table-shell,.indicator-card{border:1px solid var(--border);border-radius:22px;background:#fffffff5;box-shadow:var(--shadow)}.dashboard-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px}.dashboard-banner-filter{display:grid;gap:10px}.dashboard-banner-label{text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700;color:#36506f}.dashboard-period-select{min-width:240px;cursor:pointer}.dashboard-period-static{display:flex;align-items:center}.dashboard-banner-copy{margin:0;color:#60758b;font-size:1rem;line-height:1.6;text-align:right}.dashboard-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.indicator-card{position:relative;display:grid;gap:22px;padding:28px;overflow:hidden}.indicator-card-top{justify-content:space-between}.indicator-card-icon{position:relative;z-index:1;font-size:3.2rem;color:#5ca6b9}.indicator-card-watermark{position:absolute;top:28px;left:28px;font-size:4.5rem;font-weight:700;letter-spacing:.06em;color:#eff5f7;pointer-events:none}.indicator-card-lines{display:grid;gap:18px}.indicator-card-lines span{display:block;width:58px;height:6px;border-radius:999px;background:#9fd4e1}.indicator-card-lines[data-tone=pink] span:nth-child(1){background:#f46098}.indicator-card-lines[data-tone=pink] span:nth-child(2){background:#f9a3c6}.indicator-card-lines[data-tone=blue] span:nth-child(1){background:#57b7f6}.indicator-card-lines[data-tone=blue] span:nth-child(2){background:#9fd8fb}.indicator-card-lines[data-tone=yellow] span:nth-child(1){background:#ffc72e}.indicator-card-lines[data-tone=yellow] span:nth-child(2){background:#ffe17f}.indicator-card-lines[data-tone=purple] span:nth-child(1){background:#8e71f1}.indicator-card-lines[data-tone=purple] span:nth-child(2){background:#b7a5fb}.indicator-card-lines[data-tone=cyan] span:nth-child(1){background:#35c6c9}.indicator-card-lines[data-tone=cyan] span:nth-child(2){background:#89e0e1}.indicator-card-lines[data-tone=green] span:nth-child(1){background:#49c66f}.indicator-card-lines[data-tone=green] span:nth-child(2){background:#98e0aa}.indicator-card-body{position:relative;z-index:1;display:grid;gap:12px}.indicator-card h2{margin:0;font-size:1.08rem;line-height:1.35;color:#163252}.indicator-card p{margin:0;color:#60758b;line-height:1.55}.indicator-card-footer{position:relative;z-index:1;justify-content:flex-start;gap:16px}.indicator-card-link{display:inline-flex;align-items:center;justify-content:center;min-width:156px;min-height:50px;padding:0 26px;border-radius:999px;background:linear-gradient(135deg,#72d2ea,#46b9d7);color:#fff;font-size:.95rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 12px 24px #46b9d733;transition:transform .2s ease,box-shadow .2s ease}.dashboard-module-link{min-width:0;width:fit-content;min-height:44px;padding:0 22px;font-size:.86rem}.dashboard-module-action{border:0;cursor:pointer}.dashboard-module-action:disabled{opacity:.7;cursor:wait}.dashboard-card-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dashboard-submodule-list{display:flex;flex-wrap:wrap;gap:10px}.dashboard-submodule-button{min-height:34px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:#fbfdff;color:#5b7390;font-weight:700;cursor:pointer}.dashboard-submodule-button:disabled{opacity:.7;cursor:wait}.dashboard-inline-link{color:#5b7390;font-weight:700}.dashboard-inline-link:hover{color:#183451}.dashboard-module-meta{color:#60758b}.dashboard-attention-chip[data-attention=failed]{background:#fee7e7;color:#b54747}.dashboard-attention-chip[data-attention=running]{background:#eef7fb;color:#467b8c}.dashboard-attention-chip[data-attention=queued],.dashboard-attention-chip[data-attention=missing]{background:#fff5d9;color:#9a7b1c}.dashboard-attention-chip[data-attention=stale]{background:#eef7fb;color:#467b8c}.toast-stack{position:fixed;top:18px;right:18px;z-index:120;display:grid;gap:12px;width:min(360px,calc(100vw - 36px))}.toast-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border:1px solid var(--border);border-radius:20px;background:#fffffffa;box-shadow:0 18px 36px #50667b2e}.toast-item[data-type=success]{border-color:#cfe9dc}.toast-item[data-type=error]{border-color:#f3c5c5}.toast-item[data-type=info]{border-color:#cfe5ed}.toast-copy{display:grid;gap:6px}.toast-copy strong{color:#163252}.toast-copy p{margin:0;color:#60758b;line-height:1.5;white-space:pre-line}.toast-close{border:0;background:transparent;color:#6b7d92;font-size:1.25rem;cursor:pointer}.filter-panel,.result-card,.info-card,.group-card,.module-card,.empty-panel,.log-card,.data-table-shell{padding:20px}.result-card,.info-card,.group-card,.module-card,.empty-panel,.log-card,.data-table-shell{min-width:0}.filter-panel{position:relative;overflow:visible}.summary-grid,.info-grid,.module-card-grid,.table-columns,.module-chart-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.summary-card{display:grid;gap:8px;padding:20px}.module-chart-card{display:grid;gap:14px;padding:18px;border:1px solid var(--border);border-radius:18px;background:#fbfdff}.module-chart-card strong{color:#163252}.module-chart-list{display:grid;gap:10px}.module-chart-item{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#60758b}.module-chart-item strong{color:#163252}.action-list,.log-list,.pill-grid{display:grid;gap:12px}.execution-section-header,.municipality-failure-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-caption{margin:6px 0 0;color:#60758b}.execution-summary-grid{margin-top:18px}.compact-info-card p{margin-bottom:0}.municipality-failure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.municipality-failure-card{display:grid;gap:10px;padding:18px;border:1px solid #f1cfcf;border-radius:18px;background:linear-gradient(180deg,snow,#fff3f3)}.municipality-failure-card p,.municipality-failure-card small{margin:0}.execution-history-toolbar{align-items:end}.execution-history-filter{display:grid;gap:8px;min-width:220px;color:#5f738a;font-size:.88rem;font-weight:700}.execution-history-filter select{min-height:48px;border-radius:999px;border:1px solid #d8e5ed;background:#fff;padding:0 18px;color:#24374f;font-weight:600}.execution-history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:18px}.execution-history-card{display:grid;gap:16px;min-height:280px;padding:20px;border:1px solid #d8e6ef;border-radius:24px;background:radial-gradient(circle at top right,rgba(116,207,230,.14),transparent 34%),linear-gradient(180deg,#fbfdff,#f4f8fc);box-shadow:0 16px 36px #15345314}.execution-history-card p,.execution-history-card small{margin:0}.execution-history-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.execution-history-card-title{display:grid;gap:4px;min-width:0}.execution-history-card-title strong{color:#153453;font-size:1.18rem;line-height:1.2}.execution-history-card-title p{color:#31506f;font-size:1.02rem;line-height:1.35}.execution-history-card-title small{color:#6d8298;font-size:.83rem;letter-spacing:.02em}.execution-history-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.execution-history-highlight{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:#e8f7efcc;border:1px solid rgba(135,198,160,.42)}.execution-history-highlight strong{color:#153453;font-size:1.3rem;line-height:1}.execution-history-highlight span{color:#42617d;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.execution-history-highlight-muted{background:#e9f2f9d1;border-color:#a8c0d480}.execution-history-message{min-height:52px;color:#17385b;font-size:1rem;line-height:1.5}.execution-history-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.execution-history-timeline div{display:grid;gap:4px;padding-top:10px;border-top:1px solid rgba(180,200,216,.55)}.execution-history-timeline span{color:#70849a;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.execution-history-timeline strong{color:#17385b;font-size:.96rem;line-height:1.35}.execution-history-status-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.group-pill,.status-badge,.scope-chip{display:inline-flex;align-items:center;width:fit-content;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:#fbfdff}.status-badge[data-status=success]{background:#e8f7ef;color:#2f8d5d}.status-badge[data-status=queued]{background:#fff5d9;color:#9a7b1c}.status-badge[data-status=failed]{background:#fee7e7;color:#b54747}.status-badge[data-status=running]{background:#e7f1fe;color:#2f5fa3}.status-badge[data-status=cancelled]{background:#eef1f4;color:#5e6f80}.execution-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end}.execution-filters label{position:relative;display:grid;gap:8px;color:#5f738a;font-size:.88rem;font-weight:700;min-width:0}.execution-filters input,.primary-button,.secondary-button{min-height:48px;border-radius:999px;border:1px solid #74cfe6;background:#fff;padding:0 22px;color:inherit}.execution-filters input{min-height:48px;border:1px solid #d8e5ed;color:#24374f;font-weight:600}.execution-filters-actions{display:flex;align-items:center;justify-content:flex-end}.execution-filters-field{min-width:0}.execution-filters-field-municipalities{grid-column:1 / 2;position:relative;z-index:40;align-self:start}.execution-filters-field-actions{grid-column:2 / 4;align-self:stretch}.execution-filters-actions .primary-button,.execution-filters-actions .secondary-button{width:auto;min-height:46px}.execution-submit-button{gap:10px}.button-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:999px;animation:button-spin .8s linear infinite}.execution-form-hint{margin:-6px 0 0;padding:12px 16px;border:1px solid #dbe8ef;border-radius:16px;background:#f7fbff;color:#5f738a;font-size:.9rem;font-weight:600}@media (max-width: 1180px){.content-actions,.execution-list-actions{flex-direction:column;align-items:stretch}.execution-list-filters-group,.execution-list-buttons-group{width:100%}.execution-list-buttons-group{justify-content:flex-end}.execution-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.execution-filters-field-municipalities,.execution-filters-field-actions{grid-column:span 2}.execution-actions .primary-button,.execution-actions .secondary-button{flex:1 1 240px}.execution-monitor-strip,.execution-step-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.execution-list-filters-group,.execution-list-buttons-group{flex-direction:column;align-items:stretch}.execution-list-filter,.compact-button{min-width:0;width:100%}.execution-filters{grid-template-columns:minmax(0,1fr)}.execution-filters-field-municipalities,.execution-filters-field-actions{grid-column:span 1}.execution-actions{flex-direction:column;align-items:stretch}.execution-actions .primary-button,.execution-actions .secondary-button{min-width:0;width:100%}.execution-history-toolbar{align-items:stretch}.execution-history-filter{min-width:0}.municipality-form-grid{grid-template-columns:minmax(0,1fr)}.municipality-form-actions{flex-direction:column;align-items:stretch}.execution-monitor-strip,.execution-step-list{grid-template-columns:minmax(0,1fr)}}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.86rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 12px 24px #46b9d72e;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap}.primary-button{background:linear-gradient(135deg,#72d2ea,#46b9d7);color:#fff;border-color:transparent}.secondary-button{background:linear-gradient(180deg,#f8fcff,#eef6fb);color:#1f4f72;border-color:#cde0eb;box-shadow:0 10px 22px #587c981f}.primary-button:hover,.secondary-button:hover,.indicator-card-link:hover,.logout-button:hover{transform:translateY(-1px);box-shadow:0 16px 28px #46b9d73d}@keyframes button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.execution-actions{display:flex;flex-direction:row;gap:12px;width:100%;justify-content:flex-end;flex-wrap:wrap}.execution-actions .primary-button,.execution-actions .secondary-button{flex:0 1 auto;min-width:220px;padding:0 24px;border-radius:18px}.municipality-form-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.municipality-form-field{display:grid;gap:8px;color:#5f738a;font-size:.88rem;font-weight:700}.municipality-form-field input{min-height:46px;border-radius:18px;border:1px solid #d8e5ed;background:#fff;padding:0 16px;color:#24374f;font-weight:600}.municipality-form-toggle{display:flex;align-items:center;gap:10px;min-height:46px;color:#5f738a;font-weight:700}.municipality-form-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end;grid-column:1 / -1}.municipality-feedback{margin:4px 0 0;font-weight:700}.municipality-feedback[data-tone=success]{color:#2f8d5d}.municipality-feedback[data-tone=error]{color:#b54747}.table-action-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.table-icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid transparent;border-radius:12px;background:#f4f9fc;font-size:1.05rem;line-height:1;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.table-icon-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #50667b24}.table-icon-button-edit{color:#3d89b5;background:#eef7fd;border-color:#d4eaf7}.table-icon-button-disable{color:#c94b4b;background:#fff0f0;border-color:#f3d3d3}.table-icon-button-enable{color:#2f8d5d;background:#edf9f2;border-color:#cfe9dc}.data-table-shell{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}.data-table{width:max-content;min-width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.data-table thead th{color:var(--text-soft);font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}pre{overflow:auto;padding:16px;border-radius:16px;background:#f5f9fb;font-size:.88rem}ul{margin:0;padding-left:18px}@media (max-width: 1280px){.dashboard-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 980px){.execution-section-header,.municipality-failure-header{flex-direction:column;align-items:stretch}.login-panel{grid-template-columns:1fr}.login-visual{min-height:260px}.login-brand-row{align-items:flex-start;flex-direction:column;gap:18px}.login-heading{justify-items:start}.topbar,.dashboard-banner,.content-header{flex-direction:column;align-items:flex-start}.workspace,.workspace[data-sidebar=collapsed]{grid-template-columns:1fr}.sidebar{padding-right:12px;border-right:0;border-bottom:1px solid var(--border)}.dashboard-banner-copy{text-align:left}}@media (max-width: 720px){.login-shell{padding:0}.login-copy{padding:24px 18px}.login-brand-logo{width:140px}.login-copy h1,.login-subtitle{text-align:left}.topbar,.content{padding:18px}.dashboard-module-grid{grid-template-columns:1fr}.topbar-chip-municipality{min-width:100%}.execution-history-grid{grid-template-columns:1fr}.execution-history-card{min-height:auto;padding:18px}.execution-history-card-head,.execution-history-summary,.execution-history-timeline{grid-template-columns:1fr}.execution-history-card-head{display:grid}}
