:root{--blue:#5f8db5;--blue-dark:#3e6f99;--blue-soft:#d9e8f2;--line:#ccd4da;--ink:#243746;--muted:#6b7984;--paper:#fff;--canvas:#f1f3f5}*{box-sizing:border-box}html,body{margin:0;font:13px Arial,sans-serif;color:var(--ink);background:var(--canvas)}button,input,select{font:inherit}.app-shell{padding-top:49px;padding-left:188px}.topbar{height:49px;background:var(--blue);color:#fff;position:fixed;z-index:20;inset:0 0 auto 0;display:flex;align-items:center}.hamb{width:47px;height:49px;border:0;background:transparent;color:#fff;font-size:22px}.top-brand{height:49px;width:141px;display:flex;align-items:center;gap:7px;color:#fff;text-decoration:none}.top-brand img{width:34px;height:34px;object-fit:contain;filter:brightness(0) invert(1)}.top-brand b,.top-brand small{display:block}.top-brand b{font-size:16px}.top-brand small{font-size:7px}.topbar nav{display:flex;height:100%}.topbar nav button,.top-actions>button{border:0;background:transparent;color:#fff;padding:0 22px;font-weight:bold;font-size:11px}.topbar nav button:hover,.top-actions>button:hover{background:#ffffff16}.top-actions{margin-left:auto;height:100%;display:flex;align-items:center}.top-actions>button{font-size:18px;padding:0 10px}.profile{height:100%;border-left:1px solid #ffffff2b;display:flex;align-items:center;gap:8px;padding:0 14px}.profile i{width:32px;height:32px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-style:normal}.profile b,.profile small{display:block;font-size:9px}.profile small{font-weight:normal}.profile em{font-style:normal}.rail{position:fixed;left:0;top:49px;bottom:0;width:188px;background:#f7f7f7;border-right:1px solid var(--line);z-index:10;padding-bottom:70px}.rail-title{padding:12px 16px 7px;color:#697680;font-size:9px;font-weight:bold}.rail>a{height:47px;padding:0 10px;display:flex;align-items:center;gap:10px;color:#283843;text-decoration:none;border-left:3px solid transparent}.rail>a:hover{background:#e3e6e8;border-left-color:var(--blue)}.rail>a b{font-size:11px;font-weight:normal}.mono-icon,.table-icon{font-size:0;width:27px;height:27px;border:1px solid #506776;border-radius:4px;display:grid;place-items:center;color:#506776}.mono-icon:after,.table-icon:after{content:"";width:10px;height:10px;border:1px solid currentColor;border-radius:50%;box-shadow:5px 5px 0 -3px var(--paper),5px 5px 0 -2px currentColor}.rail-bottom{position:absolute;bottom:12px;left:12px;right:12px;display:flex;align-items:center;gap:7px}.rail-bottom img{width:34px;height:34px;object-fit:contain}.rail-bottom small{font-size:8px}.workspace{min-height:calc(100vh - 49px);background:#fff}.workbar{height:30px;background:var(--blue);margin:8px 10px 0;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:11px;font-weight:bold}.workbar button,.workbar a{border:0;background:none;color:#fff;font-size:10px;text-decoration:none;margin-left:15px}.page{padding:10px}.page-title{height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.page-title h1{font-size:15px;margin:0 0 4px}.page-title p{font-size:10px;color:var(--muted);margin:0}.page-tools button,.filter-strip button,.filters button{border:1px solid #b6c1c9;background:#fff;border-radius:2px;padding:7px 12px;margin-left:5px}.page-tools .primary,.filter-strip button,.filters button{background:var(--blue);border-color:var(--blue-dark);color:#fff}.filter-strip,.filters{background:#f3f4f5;border:1px solid var(--line);padding:10px;display:flex;align-items:end;gap:15px;margin:10px 0}.filter-strip label,.filters label{font-size:10px;display:grid;gap:4px}.filter-strip input,.filter-strip select,.filters input,.filters select{height:29px;border:1px solid #bdc7ce;background:white;padding:0 8px;min-width:180px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:10px}.kpis article{padding:15px 18px;border-right:1px solid var(--line)}.kpis article:last-child{border:0}.kpis span,.kpis small{display:block;font-size:9px;color:var(--muted)}.kpis strong{font-size:25px;display:block;margin:6px 0;color:var(--blue-dark)}.panel,.data-area{border:1px solid var(--line)}.panel-head{height:36px;background:var(--blue-soft);display:flex;align-items:center;gap:15px;padding:0 10px}.panel-head span{font-size:9px;color:var(--muted)}table{width:100%;border-collapse:collapse}th{font-size:9px;font-weight:normal;color:#687985;text-align:left;background:#f5f6f7;border-bottom:1px solid var(--line);padding:8px}td{font-size:10px;border-bottom:1px solid #e4e8ea;padding:8px}td:first-child{display:flex;align-items:center;gap:8px}.table-icon{width:23px;height:23px}.tag{background:#e6edf2;border:1px solid #c9d5dd;padding:3px 7px;border-radius:2px;color:#4d6575}.panel td:last-child a{color:#246fa5;font-weight:bold}.module-page{padding:0;display:flex;min-height:calc(100vh - 87px)}.section-menu{width:250px;background:#ededed;border-right:1px solid var(--line);flex:none}.search{padding:9px}.search input{width:100%;height:28px;border:1px solid #bac4cb;padding:0 8px}.section-menu h3{font-size:11px;padding:7px 12px;margin:0;border-bottom:1px solid #d3d7da}.section-menu a{display:flex;align-items:center;gap:8px;padding:10px 13px;color:#273a47;text-decoration:none;font-size:10px}.section-menu a span{width:8px;height:8px;border:1px solid #607988}.section-menu a.active{background:#d6d9dc;border-left:3px solid var(--blue-dark);padding-left:10px}.module-content{padding:0 10px 10px;min-width:0;flex:1}.tabs{display:flex;margin-top:10px;border-bottom:1px solid #aebdc7}.tabs button{border:0;border-right:1px solid #fff;background:#9bc4dc;padding:9px 22px;font-size:10px}.tabs button.active{background:var(--blue);color:#fff}.data-area{min-height:390px}.empty td{display:table-cell!important;text-align:center;padding-top:120px;border:0}.empty b,.empty span{display:block}.empty span{margin-top:7px;color:var(--muted)}.records{border-top:1px solid var(--line);padding:9px;font-size:9px}.login-page{min-height:100vh;overflow:hidden;color:#fff;background:linear-gradient(130deg,#193a51,#6689a3);position:relative}.login-backdrop{position:absolute;inset:0;background:linear-gradient(#1f344966,#0d243bbd),radial-gradient(circle at 30% 30%,#a8c2d366,transparent 45%)}.login-brand{position:absolute;z-index:2;top:25px;left:28px;display:flex;align-items:center;gap:10px}.login-brand img{width:55px;height:55px;object-fit:contain;filter:brightness(0) invert(1)}.login-brand b,.login-brand small{display:block}.login-brand b{font-size:23px}.login-brand small{font-size:10px}.login-center{position:relative;z-index:2;min-height:100vh;display:grid;place-items:center}.login-panel{width:380px;background:#162631c7;border:1px solid #ffffff36;box-shadow:0 20px 60px #0006;padding:30px}.municipality-mark{text-align:center;margin-bottom:25px}.crest-placeholder{margin:auto auto 9px;width:52px;height:58px;border:1px solid #ffffff99;display:grid;place-items:center;font-weight:bold}.municipality-mark strong,.municipality-mark small{display:block}.municipality-mark small{font-size:9px;margin-top:3px}.login-panel label{display:block;font-size:10px;margin:11px 0 5px}.login-panel input{width:100%;height:39px;border:1px solid #b6c4cf;background:#f7faff;padding:0 11px}.password{display:flex}.password input{border-right:0}.password button{border:1px solid #b6c4cf;background:#e7edf2;color:#345064}.login-submit{width:100%;height:40px;margin-top:17px;border:0;background:#2c93c7;color:#fff;font-weight:bold}.forgot{display:block;text-align:center;color:#fff;font-size:10px;margin-top:16px}.login-footer{position:absolute;z-index:2;bottom:0;left:0;right:0;height:32px;background:#173d5d;display:flex;justify-content:space-between;align-items:center;padding:0 25px;font-size:9px}@media(max-width:850px){.app-shell{padding-left:0}.rail{transform:translateX(-100%);transition:.2s}.menu-open .rail{transform:none}.topbar nav{display:none}.top-brand{width:auto}.profile b{display:none}.kpis{grid-template-columns:repeat(2,1fr)}.section-menu{width:200px}}@media(max-width:560px){.top-actions>button{display:none}.page-title{height:auto;padding:12px 0}.page-tools{display:none}.filter-strip,.filters{display:grid}.kpis{grid-template-columns:1fr}.module-page{display:block}.section-menu{width:auto;border:0}.login-panel{width:calc(100% - 30px)}.login-brand{left:18px}.panel{overflow:auto}}
