:root{
  --bg:#f5f7fa;--surface:#ffffff;--surface-2:#f8fafc;--text:#132334;--muted:#5d6b7c;--line:#d8e1ea;
  --nav:#03111f;--nav-2:#020b14;--blue:#1769aa;--blue-2:#0f4f82;--green:#23824d;--yellow:#9a6a00;--orange:#bd5b00;--red:#b42318;--gray:#59616c;--gold:#c7922f;
  --radius:10px;--radius-sm:7px;--shadow:0 10px 24px rgba(16,24,40,.08);--focus:0 0 0 3px rgba(20,95,152,.25)
}
.dark{--bg:#0c1520;--surface:#142233;--surface-2:#0f1b2a;--text:#f5f8fb;--muted:#c3ceda;--line:#31465c;--nav:#020b14;--nav-2:#01060d;--blue:#5fb3f2;--blue-2:#86c8f5;--green:#58c787;--gold:#d8ad57}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:var(--blue)}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--surface);padding:.65rem 1rem;z-index:10;border-radius:var(--radius-sm);box-shadow:var(--shadow)}
.sidebar{position:fixed;inset:0 auto 0 0;width:276px;background:var(--nav);color:#fff;padding:1rem;display:flex;flex-direction:column;gap:1rem;border-right:1px solid rgba(255,255,255,.08)}
.brand{display:flex;gap:.8rem;align-items:center;padding:.3rem .2rem 1rem;border-bottom:1px solid rgba(255,255,255,.12)}.logo{width:46px;height:46px;display:grid;place-items:center;background:#fff;color:var(--nav);font-weight:900;border-radius:7px;letter-spacing:-.04em;border-bottom:3px solid var(--gold)}.brand-copy strong{display:block;font-size:1.08rem}.brand-copy small{display:block;color:#cbd5e1;line-height:1.25}.nav-main{display:grid;gap:.25rem}.nav-main a{display:flex;align-items:center;gap:.75rem;color:#eaf2f8;text-decoration:none;padding:.72rem .78rem;border-radius:7px;font-weight:650}.nav-main a:hover,.nav-main a:focus{background:rgba(255,255,255,.12);outline:2px solid rgba(199,146,47,.7)}.nav-icon{font-size:1.35rem;line-height:1;width:1.45rem;text-align:center;flex:0 0 1.45rem}.user-panel{margin-top:auto;padding:.85rem;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius);background:rgba(255,255,255,.07)}.user-panel small{color:#cbd5e1;display:block}.user-panel strong{display:block;margin:.15rem 0 .35rem}.user-panel a{color:#fff}
.shell{margin-left:276px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:64px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1rem;padding:0 1.25rem;position:sticky;top:0;z-index:4}.dark .topbar{background:rgba(23,35,49,.9)}.top-title{display:flex;flex-direction:column;line-height:1.2}.top-title span{font-size:.82rem;color:var(--muted)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:.45rem}.lang{font-weight:800;text-decoration:none;border:1px solid var(--line);background:var(--surface);padding:.42rem .55rem;border-radius:var(--radius-sm)}.iconbtn{border:1px solid var(--line);background:var(--surface);color:var(--text);width:38px;height:38px;border-radius:var(--radius-sm);cursor:pointer}.iconbtn:focus,.lang:focus{box-shadow:var(--focus);outline:0}.content{width:min(1680px,100%);margin:0 auto;padding:1.4rem;flex:1}footer{padding:1rem 1.4rem;text-align:center;color:var(--muted)}
.collapsed .sidebar{width:86px}.collapsed .brand-copy,.collapsed .nav-main span,.collapsed .user-panel{display:none}.collapsed .shell{margin-left:86px}.collapsed .nav-main a{justify-content:center}.collapsed .nav-icon{font-size:1.45rem}.collapsed .logo{width:42px;height:42px}
.card,.hero,.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:1.1rem;margin-bottom:1rem}.hero{padding:2rem}.civic-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.8fr);gap:1.25rem;align-items:stretch;background:var(--surface);border-top:4px solid var(--blue)}.dark .civic-hero{background:var(--surface)}.hero-copy{display:flex;flex-direction:column;justify-content:center;max-width:820px}.hero h1,.pagehead h1,.record-header h1{margin:.2rem 0 .5rem;font-size:clamp(1.9rem,4vw,3.3rem);line-height:1.05;letter-spacing:-.035em}.lead{font-size:1.05rem;color:var(--muted);max-width:70ch}.verify-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;display:grid;gap:.8rem}.panel-icon,.card-icon{display:inline-flex;align-items:center;color:var(--blue);font-weight:900;font-size:1.75rem;line-height:1}.card-icon{font-size:1.55rem}.icon-plain{background:transparent;border-radius:0;width:auto;height:auto}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:800;font-size:.74rem;margin:0 0 .3rem}.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--blue);color:#fff;text-decoration:none;padding:.68rem 1rem;border-radius:var(--radius-sm);font-weight:800;cursor:pointer;line-height:1.1}.btn.secondary{background:#334155}.btn.ghost{background:transparent;color:var(--blue);border:1px solid var(--line)}.btn.small{padding:.45rem .7rem;font-size:.88rem}.btn.full{width:100%}.btn:hover{background:var(--blue-2)}.btn:focus{outline:0;box-shadow:var(--focus)}.actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}
.grid{display:grid;gap:1rem}.cards{grid-template-columns:repeat(3,minmax(0,1fr));margin:1rem 0}.feature-strip article{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow)}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:1rem}.workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pagehead,.section-title,.record-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.hero-head{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.record-header{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem}.section-title h2{margin:0}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1rem}.metric{padding:1rem;text-decoration:none;color:var(--text);display:block}.metric:hover{border-color:var(--blue)}.metric span{color:var(--muted);display:block;text-transform:capitalize}.metric strong{font-size:1.7rem;letter-spacing:-.04em}.table-card{padding:0}.table-card>.section-title{padding:1rem 1rem 0}.table{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:.78rem .95rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:.76rem;text-transform:uppercase;color:var(--muted);background:var(--surface-2);letter-spacing:.04em}td small{display:block;color:var(--muted)}.ref-link{font-weight:850;text-decoration:none}.empty-state{text-align:center;color:var(--muted);padding:1rem}
label{display:grid;gap:.35rem;font-weight:700}label span{font-size:.85rem;color:var(--muted)}input,select,textarea{width:100%;padding:.68rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit}input:focus,select:focus,textarea:focus{outline:0;box-shadow:var(--focus);border-color:var(--blue)}textarea{min-height:96px}.formgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-stack{display:grid;gap:.85rem}.form-stack.compact{margin-top:.8rem}.inline-form{display:flex;gap:.55rem;align-items:end;flex-wrap:wrap;margin:.65rem 0}.inline-form input,.inline-form select{min-width:180px;flex:1}.wide{grid-column:1/-1}.check{display:flex;align-items:center;gap:.5rem}.check input{width:auto}.filters{display:grid;grid-template-columns:minmax(220px,1fr) 180px 130px auto auto;gap:.75rem;align-items:end;margin-bottom:1rem}.auth-wrap{min-height:calc(100vh - 150px);display:grid;grid-template-columns:minmax(300px,440px) minmax(0,1fr);gap:1rem;align-items:stretch}.auth-panel,.auth-aside{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.auth-aside{background:#102f45;color:#fff;display:flex;flex-direction:column;justify-content:end}.seal{width:58px;height:58px;display:grid;place-items:center;background:#fff;color:#102f45;border-radius:12px;font-weight:900}.badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.25rem .6rem;font-weight:800;font-size:.8rem;border:1px solid currentColor;white-space:nowrap}.green{color:var(--green)}.blue{color:var(--blue)}.yellow{color:var(--yellow)}.orange{color:var(--orange)}.red{color:var(--red)}.gray{color:var(--gray)}.alert{padding:.8rem 1rem;border-radius:8px;margin-bottom:1rem}.alert.error{background:#fee4e2;color:#912018}.alert.ok{background:#dcfae6;color:#085d3a}.data-list{display:grid;grid-template-columns:140px 1fr;gap:.45rem .9rem}.data-list dt{color:var(--muted);font-weight:800}.data-list dd{margin:0}.fee-box{display:grid;gap:.3rem;padding:1rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.fee-box strong{font-size:1.6rem}.doc-list{padding:0;margin:.8rem 0;display:grid;gap:.5rem}.doc-list li,.line-item{list-style:none;display:flex;justify-content:space-between;gap:.7rem;align-items:center;border:1px solid var(--line);background:var(--surface-2);padding:.65rem;border-radius:var(--radius-sm)}.notice{border:1px solid var(--line);border-left:4px solid var(--blue);padding:.8rem;background:var(--surface-2);margin:.6rem 0;border-radius:var(--radius-sm)}.notice.warning{border-left-color:var(--orange)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.45rem;padding:0;list-style:none}.steps li{border:1px solid var(--line);padding:.55rem;border-radius:var(--radius-sm);background:var(--surface-2);font-weight:700}.action-panel form{display:flex;gap:.6rem;flex-wrap:wrap}

.catalog-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;margin:1rem 0}.catalog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1rem}.catalog-header h2{font-size:clamp(1.35rem,2vw,2rem);line-height:1.1;margin:.1rem 0 .35rem;letter-spacing:-.02em}.catalog-header p{color:var(--muted);max-width:760px;margin:0}.catalog-summary{min-width:150px;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);padding:.85rem;text-align:center}.catalog-summary strong{display:block;font-size:2rem;line-height:1;color:var(--blue);letter-spacing:-.04em}.catalog-summary span{display:block;color:var(--muted);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.permit-card{display:flex;flex-direction:column;gap:.85rem;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:var(--radius);padding:1rem;min-height:270px}.permit-card:hover{border-color:var(--blue);box-shadow:0 12px 28px rgba(16,24,40,.1)}.permit-card-head{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.permit-code{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:.28rem .6rem;font-size:.78rem;font-weight:900;color:var(--muted)}.fee-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .65rem;background:#eaf3fb;color:var(--blue);font-weight:900;white-space:nowrap;border:1px solid #c9dff0}.dark .fee-pill{background:#173449;color:#9fd0f2}.permit-card h3{margin:0;font-size:1.18rem;line-height:1.2;letter-spacing:-.015em}.permit-meta{display:flex;justify-content:space-between;gap:.7rem;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);padding:.65rem}.permit-meta span{color:var(--muted);font-weight:750}.permit-meta strong{white-space:nowrap}.requirements-box{border-left:3px solid var(--blue);padding-left:.8rem;flex:1}.requirements-box span{display:block;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.requirements-list{margin:.45rem 0 0;padding-left:1.15rem;display:grid;gap:.42rem}.requirements-list li{line-height:1.35}.requirements-box p{margin:.25rem 0 0}.catalog-link{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .75rem;font-weight:850;color:var(--blue);background:var(--surface-2)}.catalog-link:hover,.catalog-link:focus{border-color:var(--blue);box-shadow:var(--focus);outline:0}.state-card{max-width:760px;margin:2rem auto;text-align:left}.state-icon{display:inline-flex;font-size:2rem;font-weight:900;color:var(--green);margin-bottom:.5rem}
@media(max-width:1050px){.cards,.detail-grid,.workflow-grid,.auth-wrap{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.civic-hero{grid-template-columns:1fr}}@media(max-width:760px){.catalog-header{flex-direction:column}.catalog-summary{width:100%;text-align:left}.permit-card{min-height:auto}.sidebar{position:static;width:auto}.shell,.collapsed .shell{margin-left:0}.topbar{position:static}.content{padding:.85rem}.cards,.two,.formgrid,.filters{grid-template-columns:1fr}.pagehead,.record-header{flex-direction:column}.collapsed .brand-copy,.collapsed .nav-main span,.collapsed .user-panel{display:block}.collapsed .sidebar{width:auto}.nav-main{grid-template-columns:repeat(2,minmax(0,1fr))}.data-list{grid-template-columns:1fr}.hero{padding:1.2rem}.hero h1{font-size:2rem}.inline-form{display:grid}.doc-list li,.line-item{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* PemiMeri institutional refinement: Lucide-style icon system and sidebar */
.lucide{display:inline-block;vertical-align:middle;flex:0 0 auto}.nav-main a .lucide{width:22px;height:22px;stroke-width:2.15}.iconbtn .lucide{width:20px;height:20px}.nav-main a{position:relative}.nav-main a.active{background:rgba(255,255,255,.14);color:#fff;border-left:3px solid var(--gold);padding-left:calc(.78rem - 3px)}.nav-main a.active .lucide{color:var(--gold)}.nav-main a:hover .lucide,.nav-main a:focus .lucide{color:var(--gold)}.collapsed .nav-main a{padding:.78rem;justify-content:center;border-left:0}.collapsed .nav-main a.active{border-left:0;border-right:3px solid var(--gold)}.collapsed .nav-main a span{display:none}.collapsed .nav-main a::after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--nav);color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:var(--shadow);padding:.45rem .6rem;border-radius:6px;font-size:.82rem;font-weight:750;white-space:nowrap;opacity:0;pointer-events:none;z-index:30}.collapsed .nav-main a:hover::after,.collapsed .nav-main a:focus::after{opacity:1}.collapsed .nav-main a .lucide{width:24px;height:24px}.admin-permit-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:.7rem 0;padding:.75rem}.admin-permit-card summary{display:flex;align-items:center;gap:.7rem;cursor:pointer;font-weight:850}.admin-permit-card summary::-webkit-details-marker{display:none}.admin-permit-card form{margin-top:1rem}.notification-list{display:grid;gap:.8rem}.notice-head{display:flex;justify-content:space-between;gap:.8rem;align-items:center}.inline-delete{margin:0}.icon-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;width:34px;height:34px;cursor:pointer}.icon-action.danger{color:var(--red)}.icon-action:hover,.icon-action:focus{border-color:currentColor;box-shadow:var(--focus);outline:0}.doc-list li span:first-child{display:grid;gap:.15rem}.doc-list small{color:var(--muted)}
@media(max-width:760px){.collapsed .nav-main a::after{display:none}.nav-main a .lucide{width:21px;height:21px}.nav-main a.active{border-left:0;border-bottom:2px solid var(--gold)}}

/* Simple modern permit catalog redesign */
.permit-simple-section{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:1.35rem;margin:1rem 0}.permit-simple-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.15rem}.permit-simple-header h2{margin:.1rem 0 .25rem;font-size:clamp(1.45rem,2.4vw,2.15rem);letter-spacing:-.025em}.permit-simple-header p{margin:0;color:var(--muted);max-width:720px}.permit-search-box{width:min(420px,100%)}.permit-search-box input{height:46px;background:var(--surface-2)}.permit-simple-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:1rem}.permit-simple-card{position:relative;display:flex;flex-direction:column;min-height:330px;height:100%;padding:1.1rem;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 6px 18px rgba(16,24,40,.06);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.permit-simple-card:hover,.permit-simple-card:focus{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 14px 30px rgba(16,24,40,.12);outline:0}.permit-simple-card:hover .permit-simple-icon,.permit-simple-card:focus .permit-simple-icon{color:var(--gold);border-color:rgba(199,146,47,.45);background:var(--surface-2)}.permit-simple-icon{width:64px;height:64px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;color:var(--blue);background:var(--surface);margin-bottom:1rem;transition:color .18s ease,border-color .18s ease,background .18s ease}.permit-simple-icon.large{width:78px;height:78px;margin:0}.permit-simple-card h3{margin:0 0 .45rem;font-size:1.08rem;line-height:1.25;letter-spacing:-.015em}.permit-simple-card p{margin:0;color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}.permit-simple-meta{display:grid;gap:.45rem;margin:1rem 0}.permit-simple-meta span{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.92rem}.permit-simple-meta strong{color:var(--text)}.permit-simple-status{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:.28rem .62rem;font-size:.78rem;font-weight:900;border:1px solid currentColor;margin-bottom:1rem}.permit-simple-status.available{color:var(--green)}.permit-simple-status.suspended{color:var(--orange)}.permit-simple-status.new{color:var(--blue)}.permit-apply{margin-top:auto;width:100%;position:relative;z-index:2}.permit-detail-hero{display:grid;gap:1.25rem}.permit-detail-main{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:start}.permit-detail-main h1{margin:.1rem 0 .35rem;font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.035em}.permit-detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.permit-detail-facts div{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:.8rem}.permit-detail-facts span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:850}.permit-detail-facts strong{display:block;margin-top:.2rem}.back-link{font-weight:850;text-decoration:none}.detail-list{display:grid;gap:.55rem;margin-top:.75rem}.detail-list li{line-height:1.45}
@media(max-width:1180px){.permit-simple-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permit-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.permit-simple-header{align-items:stretch;flex-direction:column}.permit-search-box{width:100%}}
@media(max-width:640px){.permit-simple-grid{grid-template-columns:1fr}.permit-simple-card{min-height:300px}.permit-detail-main{grid-template-columns:1fr}.permit-detail-facts{grid-template-columns:1fr}.permit-simple-section{padding:1rem}.permit-simple-icon{width:58px;height:58px}}

/* Required documents upload and official logo */
.brand-logo-img{max-width:64px;max-height:48px;object-fit:contain}.application-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1rem;align-items:start}.application-create-layout>.required-doc-panel{order:2;position:sticky;top:78px}.application-create-layout>section.card{order:1}.required-doc-panel h2{margin-top:0}.doc-rules{display:grid;gap:.25rem;border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem;color:var(--muted)}.doc-rules strong{color:var(--text)}.upload-section{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:1rem}.document-upload-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.doc-upload-row{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:.8rem}.doc-upload-row em{display:block;color:var(--muted);font-size:.76rem;font-style:normal}.file-status{color:var(--muted);font-weight:600}.doc-upload-row[hidden]{display:none!important}#upload-progress{width:100%;height:10px;margin-top:.75rem}.agent-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.agent-card{border:1px solid var(--line);border-radius:9px;padding:.85rem;background:var(--surface-2)}.backup-actions{display:flex;gap:.5rem;flex-wrap:wrap}.danger-zone{border-color:var(--red)!important}.official-logo{max-width:180px;height:auto;display:block}.permit-detail-hero .official-logo{max-width:220px}
@media(max-width:1050px){.application-create-layout{grid-template-columns:1fr}.application-create-layout>.required-doc-panel{order:1;position:static}.application-create-layout>section.card{order:2}.document-upload-fields{grid-template-columns:1fr}}

/* Municipal identity customization */
.municipal-logo{object-fit:contain;max-width:100%;height:auto}.brand picture{display:grid;place-items:center;flex:0 0 66px}.brand-logo-img{max-width:66px;max-height:52px;object-fit:contain;background:rgba(255,255,255,.08);border-radius:8px;padding:.25rem}.auth-logo{max-height:84px;max-width:220px;margin-bottom:1rem}.logo-preview,.asset-preview{border:1px solid var(--line);border-radius:10px;min-height:110px;display:grid;place-items:center;padding:1rem;margin:.75rem 0}.light-preview{background:#fff}.dark-preview{background:#0b2942}.preview-logo{max-height:86px;object-fit:contain}.asset-card .data-list{font-size:.9rem}.upload-preview{max-height:90px;max-width:220px;object-fit:contain;border:1px solid var(--line);border-radius:8px;padding:.4rem;background:var(--surface-2)}.certificate-actions{display:flex;gap:.5rem;flex-wrap:wrap}.readonly-note{border-left:3px solid var(--gold);padding-left:.75rem;color:var(--muted)}@media(max-width:760px){.brand picture{flex-basis:54px}.brand-logo-img{max-width:54px;max-height:44px}.municipal-identity-grid{grid-template-columns:1fr}.certificate-actions{display:grid}}


/* Professional administration portal redesign */
.admin-hero{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:8px;box-shadow:var(--shadow);padding:1.25rem;margin-bottom:1rem}.admin-hero h1{margin:.15rem 0 .35rem;font-size:clamp(1.9rem,3vw,2.75rem);letter-spacing:-.03em;line-height:1.05}.admin-hero p{margin:0;color:var(--muted);max-width:860px}.admin-hero-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.admin-module-nav{position:sticky;top:64px;z-index:3;display:flex;gap:.35rem;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.45rem;margin-bottom:1rem}.admin-module-nav a{flex:0 0 auto;text-decoration:none;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:.48rem .7rem;font-weight:800;font-size:.86rem}.admin-module-nav a:hover,.admin-module-nav a:focus{border-color:var(--blue);box-shadow:var(--focus);outline:0}.admin-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin:1rem 0}.admin-metrics article,.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.admin-metrics article{padding:.95rem}.admin-metrics span{display:block;color:var(--muted);font-weight:800;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}.admin-metrics strong{display:block;font-size:1.85rem;letter-spacing:-.04em;color:var(--text)}.admin-metrics small{color:var(--muted)}.admin-card{padding:1rem;margin-bottom:1rem}.admin-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}.admin-card-head h2{margin:.05rem 0 .15rem}.admin-grid-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.module-card{display:flex;flex-direction:column;gap:.5rem;min-height:210px}.module-card p{color:var(--muted);margin:0 0 auto}.module-icon{width:46px;height:46px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;color:var(--blue);background:var(--surface-2)}.table-tools{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}.table-tools input,.table-tools select{width:auto;min-width:220px}.admin-table-wrap{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:auto}.admin-data-table th[data-sort]{cursor:pointer;user-select:none}.admin-data-table th[data-sort]::after{content:' ↕';font-weight:700;color:var(--muted)}.admin-pagination{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.75rem;border-top:1px solid var(--line);background:var(--surface-2)}.admin-pagination .actions{margin-left:auto}.admin-inline{align-items:end;border:1px solid var(--line);border-radius:8px;padding:.8rem;background:var(--surface-2)}.admin-check-list{display:grid;gap:.45rem;padding-left:0;list-style:none}.admin-check-list li{display:flex;gap:.45rem;align-items:flex-start}.admin-check-list li::before{content:'✓';color:var(--green);font-weight:900}.compact .notice{padding:.55rem 0;border-bottom:1px solid var(--line)}.compact .notice:last-child{border-bottom:0}.admin-dialog{width:min(980px,calc(100vw - 2rem));max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.35);padding:1rem}.admin-dialog::backdrop{background:rgba(5,16,27,.58)}.dialog-close{position:sticky;top:0;float:right;z-index:1}.dialog-close button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;width:34px;height:34px;font-size:1.35rem;cursor:pointer}.admin-form{align-items:start}.asset-admin-grid{align-items:start}.identity-name-card input[readonly]{background:var(--surface-2);font-weight:850}.logo-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.preview-label{display:block;color:var(--muted);font-size:.82rem;font-weight:850;margin-bottom:.35rem}.logo-upload-guidance{border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:.75rem;color:var(--muted);font-size:.88rem}.logo-upload-guidance strong{color:var(--text)}.logo-upload-guidance ul{margin:.35rem 0 0;padding-left:1.1rem}.upload-validation-message{font-weight:800;font-size:.88rem}.upload-validation-message.ok{color:var(--green)}.upload-validation-message.error{color:var(--red)}.asset-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.compact-list{grid-template-columns:130px 1fr}.municipal-logo,.brand-logo-img,.preview-logo,.upload-preview{object-fit:contain}.asset-preview,.logo-preview{min-height:132px}.preview-logo{max-height:96px;max-width:260px}.upload-preview{max-height:140px;max-width:280px}.empty-state[hidden],tr[hidden]{display:none!important}@media(max-width:1280px){.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid-main{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.admin-hero,.admin-card-head{flex-direction:column}.admin-hero-actions,.table-tools{justify-content:flex-start;width:100%}.table-tools input,.table-tools select{width:100%;min-width:0}.admin-metrics,.admin-grid-main,.logo-preview-grid{grid-template-columns:1fr}.admin-module-nav{position:static}.admin-pagination{flex-direction:column;align-items:stretch}.admin-pagination .actions{margin-left:0}.admin-dialog{width:calc(100vw - 1rem);padding:.8rem}.compact-list{grid-template-columns:1fr}}

/* Sidebar header: official logo/fav icon only, no frame/card/text */
.sidebar .brand.brand-logo-only{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:168px;
  min-height:168px;
  padding:.1rem 0 .35rem;
  margin:0;
  gap:0;
  overflow:hidden;
  background:transparent!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.sidebar .brand.brand-logo-only .brand-logo-img,
.sidebar .brand.brand-logo-only .theme-logo,
.sidebar .brand.brand-logo-only .brand-favicon-img{
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0 auto;
  transform-origin:center;
  transition:opacity .22s ease, transform .22s ease, max-width .22s ease, max-height .22s ease;
  will-change:opacity,transform;
}
.sidebar .brand.brand-logo-only .theme-logo{
  max-width:238px;
  max-height:158px;
  opacity:1;
  transform:scale(1);
}
.sidebar .brand.brand-logo-only .theme-logo-dark{display:none;}
.dark .sidebar .brand.brand-logo-only .theme-logo-light{display:none;}
.dark .sidebar .brand.brand-logo-only .theme-logo-dark{display:block;}
.sidebar .brand.brand-logo-only .brand-favicon-img{
  position:absolute;
  inset:50% auto auto 50%;
  max-width:46px;
  max-height:46px;
  opacity:0;
  transform:translate(-50%,-50%) scale(.72);
  pointer-events:none;
}
.collapsed .sidebar .brand.brand-logo-only{
  height:96px;
  min-height:96px;
  padding:.2rem 0 .55rem;
}
.collapsed .sidebar .brand.brand-logo-only .theme-logo{
  max-width:0;
  max-height:0;
  opacity:0;
  transform:scale(.72);
  pointer-events:none;
}
.collapsed .sidebar .brand.brand-logo-only .brand-favicon-img{
  max-width:48px;
  max-height:48px;
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}
@media(max-width:1050px){
  .sidebar .brand.brand-logo-only{height:158px;min-height:158px;padding:.1rem 0 .35rem;}
  .sidebar .brand.brand-logo-only .theme-logo{max-width:224px;max-height:148px;}
}
@media(max-width:760px){
   .sidebar .brand.brand-logo-only{height:144px;min-height:144px;padding:.1rem 0 .3rem;}
  .collapsed .sidebar .brand.brand-logo-only{height:80px;min-height:80px;padding:.2rem 0 .45rem;}
  .sidebar .brand.brand-logo-only .theme-logo{max-width:220px;max-height:136px;}
  .collapsed .sidebar .brand.brand-logo-only .theme-logo{max-width:0;max-height:0;opacity:0;transform:scale(.72);pointer-events:none;}
  .collapsed .sidebar .brand.brand-logo-only .brand-favicon-img{max-width:44px;max-height:44px;opacity:1;transform:translate(-50%,-50%) scale(1);}
}
@media(prefers-reduced-motion:reduce){
  .sidebar .brand.brand-logo-only .brand-logo-img,
  .sidebar .brand.brand-logo-only .theme-logo,
  .sidebar .brand.brand-logo-only .brand-favicon-img{transition:none!important;}
}
.pagination-bar{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.pagination-summary{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;color:var(--muted);font-size:.94rem}.pagination-summary strong{color:var(--text)}.pagination-size{margin:0;display:flex;align-items:center}.pagination-size label{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.9rem}.pagination-size select,.filters select{min-width:86px}.pagination-controls{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.pagination-controls .direct-pages{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.btn.disabled,.btn[aria-disabled="true"],.pagination-controls button:disabled{opacity:.45;pointer-events:none;cursor:not-allowed}.admin-pagination{background:var(--surface);position:sticky;left:0}.admin-pagination .pagination-size{padding:0}.pagination-filter-form input[name="page"]{display:none}@media (max-width:760px){.pagination-bar{align-items:stretch;flex-direction:column}.pagination-summary,.pagination-controls,.pagination-size label{justify-content:center}.pagination-controls{gap:.28rem}.pagination-controls .btn{padding:.42rem .5rem}.pagination-controls .direct-pages a:nth-child(n+4),.pagination-controls .direct-pages button:nth-child(n+4){display:none}.pagination-size select{width:100%}.filters.pagination-filter-form{grid-template-columns:1fr}}

/* 2026-07 visual/theme refinement: professional sidebar, public logo, spacing, interaction states */
:root{
  --nav:#e6eff2;
  --nav-2:#d8e7eb;
  --nav-text:#143044;
  --nav-muted:#4f6570;
  --nav-hover:#d2e3e8;
  --nav-active:#ffffff;
  --nav-active-text:#0b2e44;
  --nav-border:rgba(11,46,68,.16);
  --nav-focus:0 0 0 3px rgba(23,105,170,.28);
  --hover-surface:#eef5f8;
  --disabled:#8b98a6;
}
.dark{
  --nav:#071d2c;
  --nav-2:#041420;
  --nav-text:#f2f8fb;
  --nav-muted:#b9cad4;
  --nav-hover:#123247;
  --nav-active:#0d3a55;
  --nav-active-text:#ffffff;
  --nav-border:rgba(255,255,255,.12);
  --nav-focus:0 0 0 3px rgba(134,200,245,.34);
  --hover-surface:#172a3d;
  --disabled:#6f7f8d;
}
body{background:var(--bg);color:var(--text)}
.sidebar{background:var(--nav)!important;color:var(--nav-text)!important;border-right:1px solid var(--nav-border);transition:background-color .18s ease,color .18s ease,border-color .18s ease,width .2s ease}.sidebar .lucide{color:currentColor}.nav-main a{color:var(--nav-text)!important;background:transparent;border:1px solid transparent;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.nav-main a:hover,.nav-main a:focus{background:var(--nav-hover)!important;color:var(--nav-active-text)!important;border-color:var(--nav-border);outline:0;box-shadow:var(--nav-focus);transform:translateX(2px)}.nav-main a.active{background:var(--nav-active)!important;color:var(--nav-active-text)!important;border-color:var(--nav-border);border-left:3px solid var(--gold);box-shadow:0 8px 18px rgba(16,24,40,.08)}.nav-main a.active .lucide,.nav-main a:hover .lucide,.nav-main a:focus .lucide{color:var(--gold)}.collapsed .nav-main a:hover,.collapsed .nav-main a:focus{transform:none}.collapsed .nav-main a.active{border-left:1px solid transparent;border-right:3px solid var(--gold)}.collapsed .nav-main a::after{background:var(--nav-active);color:var(--nav-active-text);border-color:var(--nav-border)}.user-panel{color:var(--nav-text);background:rgba(255,255,255,.35);border-color:var(--nav-border)}.dark .user-panel{background:rgba(255,255,255,.06)}.user-panel small{color:var(--nav-muted)}.user-panel a{color:var(--nav-active-text);font-weight:800}.dark .user-panel a{color:#fff}.sidebar .brand.brand-logo-only{padding:.05rem 0 .25rem}.sidebar .brand.brand-logo-only .theme-logo{max-width:238px;max-height:158px;filter:none}.collapsed .sidebar .brand.brand-logo-only .brand-favicon-img{max-width:48px;max-height:48px}
.topbar,.card,.hero,.metric,.verify-panel,.admin-card,.admin-metrics article,.catalog-section,.permit-simple-section,.permit-simple-card,.auth-panel,.auth-aside,.record-header,.hero-head{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.content{padding:1.5rem}.card,.admin-card{padding:1.15rem}.table-card{padding:0}.section-title,.pagehead,.record-header{gap:1rem}.grid,.metrics,.catalog-grid,.permit-simple-grid,.admin-grid-main,.admin-metrics{gap:1rem}.filters{gap:.8rem;padding:1rem}.table{border-radius:var(--radius-sm)}th,td{padding:.82rem .95rem}tr:hover td{background:var(--hover-surface)}.dark tr:hover td{background:rgba(255,255,255,.035)}
.civic-hero{grid-template-columns:minmax(0,1.35fr) minmax(330px,.75fr);gap:1.15rem;align-items:center}.civic-hero .hero-copy{gap:.55rem}.public-hero-logo{display:grid;place-items:start;min-height:252px;margin:0 0 .35rem}.civic-hero .auth-logo{display:block;width:min(620px,100%);max-width:620px;max-height:252px;height:auto;object-fit:contain;margin:0;padding:0}.civic-hero .theme-logo-dark{display:none}.dark .civic-hero .theme-logo-light{display:none}.dark .civic-hero .theme-logo-dark{display:block}.auth-panel .auth-logo{max-height:112px;max-width:300px;object-fit:contain}.preview-logo,.official-logo,.municipal-logo{object-fit:contain}.official-logo{max-width:360px;max-height:180px}.permit-detail-hero .official-logo{max-width:420px;max-height:220px}
.btn,.iconbtn,.lang,.permit-simple-card,.metric,.admin-module-nav a,.icon-action,.pagination-controls .btn,.pagination-controls button,.permit-card{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.btn:hover,.btn:focus-visible,.pagination-controls .btn:hover,.pagination-controls button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(16,24,40,.12)}.btn.secondary:hover{background:#1f2f43}.dark .btn.secondary{background:#26384c;color:#f7fbff}.dark .btn.secondary:hover{background:#334a61}.btn.ghost:hover,.btn.ghost:focus-visible,.lang:hover,.lang:focus-visible,.iconbtn:hover,.iconbtn:focus-visible{background:var(--hover-surface);border-color:var(--blue);color:var(--blue)}.btn:active,.iconbtn:active,.lang:active,.nav-main a:active{transform:translateY(0)}.btn.disabled,.btn[aria-disabled="true"],button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed;filter:saturate(.7)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:0;box-shadow:var(--focus)}
input,select,textarea{background:var(--surface);color:var(--text);border-color:var(--line);transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.78}.dark input,.dark select,.dark textarea{background:#101e2e;color:var(--text);border-color:#40586d}.dark input::placeholder,.dark textarea::placeholder{color:#aab8c4}.dark option{background:#101e2e;color:var(--text)}
.badge{background:var(--surface);border-color:currentColor}.dark .badge{background:rgba(255,255,255,.04)}.alert.error{background:#fee4e2;color:#7a1b15;border:1px solid #f6b5ad}.alert.ok{background:#dcfae6;color:#064e32;border:1px solid #a8f0bf}.dark .alert.error{background:#431914;color:#ffd7d2;border-color:#8f3027}.dark .alert.ok{background:#10351f;color:#c9f7d8;border-color:#2e7a49}.auth-aside{background:var(--nav);color:var(--nav-text);border-color:var(--nav-border)}.seal{background:var(--surface);color:var(--blue);border:1px solid var(--line)}dialog,.modal{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.logo-preview,.asset-preview{background:var(--surface-2);border-color:var(--line)}.light-preview{background:#f8fafc}.dark-preview{background:#071d2c}.empty-state{background:transparent;color:var(--muted)}
.pagination-bar{gap:.75rem}.pagination-controls a,.pagination-controls button{min-height:34px}.admin-pagination{background:var(--surface)}.table-tools{gap:.7rem}.admin-module-nav a:hover,.admin-module-nav a:focus{background:var(--hover-surface);transform:translateY(-1px)}.metric:hover,.permit-card:hover,.module-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(16,24,40,.12)}
@media(max-width:1050px){.content{padding:1.15rem}.public-hero-logo{min-height:220px}.civic-hero .auth-logo{width:min(520px,100%);max-height:220px}.civic-hero{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.sidebar .brand.brand-logo-only .theme-logo{max-width:232px;max-height:150px}}
@media(max-width:760px){.content{padding:.9rem}.public-hero-logo{min-height:190px;place-items:center}.card,.admin-card,.hero,.permit-simple-section,.catalog-section{padding:1rem}.table-card{padding:0}.pagehead,.section-title,.record-header,.admin-hero,.permit-simple-header{gap:.75rem}.civic-hero .auth-logo{width:min(100%,460px);max-height:190px;margin-inline:auto}.hero-copy{text-align:left}.nav-main a:hover,.nav-main a:focus{transform:none}.collapsed .brand-copy,.collapsed .nav-main span,.collapsed .user-panel{display:block}.collapsed .sidebar{width:auto}.collapsed .sidebar .brand.brand-logo-only .theme-logo{max-width:0;max-height:0;opacity:0}.collapsed .sidebar .brand.brand-logo-only .brand-favicon-img{opacity:1}.topbar{gap:.65rem;padding:0 .85rem}.top-title span{display:none}th,td{padding:.72rem .8rem}.actions{gap:.5rem}}
@media(max-width:480px){.public-hero-logo{min-height:165px}.civic-hero .auth-logo{max-height:165px}.sidebar .brand.brand-logo-only{height:144px;min-height:144px}.sidebar .brand.brand-logo-only .theme-logo{max-width:220px;max-height:136px}.btn{width:auto}.pagehead .btn,.admin-hero-actions .btn{width:100%}}

/* 2026-07 production layout system: spacious responsive municipal workspace */
:root{
  --bg:#f2f5f7;
  --surface:#ffffff;
  --surface-2:#f6f8fa;
  --surface-3:#edf2f5;
  --text:#172533;
  --muted:#5a6875;
  --line:#cfd8df;
  --nav:#dce9ed;
  --nav-2:#cadde3;
  --nav-text:#133244;
  --nav-muted:#4f6874;
  --nav-hover:#cce0e6;
  --nav-active:#f8fbfc;
  --nav-active-text:#082b42;
  --blue:#1769aa;
  --blue-2:#0f568e;
  --green:#1f7a49;
  --yellow:#8a6200;
  --orange:#a85100;
  --red:#ad261c;
  --gray:#59616c;
  --gold:#b9852c;
  --radius:6px;
  --radius-sm:4px;
  --shadow:none;
  --shadow-overlay:0 16px 36px rgba(16,24,40,.18);
  --focus:0 0 0 3px rgba(23,105,170,.28);
  --page-pad:clamp(1rem,1.45vw,2rem);
  --section-gap:clamp(.85rem,1.15vw,1.4rem);
}
.dark{
  --bg:#101922;
  --surface:#182532;
  --surface-2:#14212d;
  --surface-3:#203242;
  --text:#eef4f7;
  --muted:#b4c1ca;
  --line:#354856;
  --nav:#092032;
  --nav-2:#061824;
  --nav-text:#f3f8fb;
  --nav-muted:#b9c9d3;
  --nav-hover:#133449;
  --nav-active:#16405a;
  --nav-active-text:#ffffff;
  --blue:#69b7ef;
  --blue-2:#92cdf4;
  --green:#63c98c;
  --yellow:#dbb45a;
  --orange:#f0a35f;
  --red:#ff8c82;
  --gray:#b6c0c9;
  --gold:#d3a34d;
  --shadow:none;
  --shadow-overlay:0 18px 42px rgba(0,0,0,.36);
  --focus:0 0 0 3px rgba(105,183,239,.32);
}
html,body{min-width:0;overflow-x:hidden;background:var(--bg);color:var(--text)}
body{font-size:15px;line-height:1.48;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.shell{min-width:0;transition:margin-left .2s ease}.content{width:100%;max-width:none;margin:0;padding:var(--page-pad);display:grid;gap:var(--section-gap);align-content:start}.content>*{min-width:0}.collapsed .content{max-width:none}.site-footer{padding:.85rem var(--page-pad) 1.1rem;text-align:center;color:var(--muted);font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}.site-footer a{color:var(--blue);font-weight:800;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.topbar{height:60px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:none;padding:0 var(--page-pad);box-shadow:none}.dark .topbar{background:color-mix(in srgb,var(--surface) 96%,transparent)}.top-title strong{font-size:.98rem}.top-title span{font-size:.8rem}.sidebar{padding:.85rem;width:272px}.collapsed .sidebar{width:84px}.collapsed .shell{margin-left:84px}.nav-main{gap:.22rem}.nav-main a{min-height:42px;border-radius:var(--radius-sm);padding:.62rem .68rem;font-weight:750}.nav-main a.active{box-shadow:none}.user-panel{border-radius:var(--radius);padding:.75rem}.sidebar .brand.brand-logo-only{height:168px;min-height:168px}.sidebar .brand.brand-logo-only .theme-logo{max-width:238px;max-height:158px}.collapsed .sidebar .brand.brand-logo-only{height:84px;min-height:84px}.collapsed .sidebar .brand.brand-logo-only .brand-favicon-img{max-width:46px;max-height:46px}
.card,.hero,.metric,.verify-panel,.admin-card,.admin-metrics article,.catalog-section,.permit-simple-section,.permit-simple-card,.auth-panel,.auth-aside,.record-header,.hero-head,.admin-hero,.permit-card,.asset-card,.upload-section,.doc-upload-row,.agent-card{box-shadow:none!important;border-radius:var(--radius)!important;border-color:var(--line);background:var(--surface)}.card,.admin-card,.hero-head,.record-header,.admin-hero,.permit-simple-section,.catalog-section{padding:clamp(.95rem,1.2vw,1.3rem);margin-bottom:0}.pagehead,.section-title,.record-header,.admin-hero,.permit-simple-header,.catalog-header{margin-bottom:0;gap:.85rem}.pagehead h1,.hero h1,.record-header h1,.admin-hero h1{font-size:clamp(1.55rem,2.15vw,2.35rem);line-height:1.1;letter-spacing:-.025em}.section-title h2,.card h2,.admin-card h2{font-size:clamp(1.08rem,1.3vw,1.35rem);line-height:1.2}.lead{font-size:1rem}.eyebrow{font-size:.72rem}.muted,label span,td small,.metric span{color:var(--muted)}
.metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem;margin-bottom:0}.metric{padding:.9rem;border-radius:var(--radius);min-height:96px}.metric strong{font-size:clamp(1.45rem,1.8vw,1.95rem)}.admin-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;margin:0}.admin-grid-main{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.85rem}.module-card{min-height:unset}.grid,.two,.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:.9rem}.detail-grid,.workflow-grid,.application-create-layout,.municipal-identity-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.38fr);gap:1rem}.application-create-layout>section.card{min-width:0}.required-doc-panel{max-width:none}.permit-simple-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem}.permit-simple-card{min-height:280px;padding:1rem}.permit-simple-card:hover,.permit-simple-card:focus,.metric:hover,.permit-card:hover,.module-card:hover{transform:none;box-shadow:none;border-color:var(--blue)}
.table-card{padding:0!important}.table-card>.section-title{padding:1rem 1rem 0}.table{width:100%;max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.table-card .table{border-left:0;border-right:0;border-radius:0}table{min-width:760px;width:100%}th,td{padding:.72rem .82rem}th{background:var(--surface-2);color:var(--muted);font-size:.73rem;position:relative}tbody tr{transition:background-color .14s ease}tbody tr:hover td{background:var(--surface-2)}.dark tbody tr:hover td{background:var(--surface-3)}.filters,.table-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;align-items:end;padding:.9rem}.filters .btn,.table-tools .btn{min-height:40px}.pagination-bar{padding:1rem;align-items:center;border-top:1px solid var(--line);margin-top:0}.pagination-controls .btn,.pagination-controls button{min-height:36px;border-radius:var(--radius-sm)}
.btn,.iconbtn,.lang,input,select,textarea,.admin-module-nav a,.icon-action{border-radius:var(--radius-sm)!important}.btn{min-height:40px;padding:.58rem .86rem;font-weight:800;white-space:nowrap}.btn.small{min-height:34px;padding:.42rem .62rem}.btn.ghost{background:transparent}.btn:hover,.btn:focus-visible,.pagination-controls .btn:hover,.pagination-controls button:hover,.admin-module-nav a:hover,.admin-module-nav a:focus{transform:none;box-shadow:var(--focus)}.iconbtn{width:38px;height:38px}.lang{min-height:36px;display:inline-flex;align-items:center}.icon-action{min-width:36px;min-height:36px}.btn.disabled,.btn[aria-disabled="true"],button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.52!important;cursor:not-allowed!important;pointer-events:none}.badge,.permit-simple-status,.permit-code,.fee-pill{border-radius:999px!important}.badge{font-size:.76rem;padding:.2rem .52rem}.alert{border-radius:var(--radius);padding:.72rem .88rem}input,select,textarea{min-height:40px;padding:.58rem .68rem}textarea{min-height:92px}label{gap:.3rem}.formgrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem}.form-stack{gap:.75rem}.inline-form{gap:.55rem}.admin-module-nav{border-radius:var(--radius);padding:.4rem;gap:.3rem;box-shadow:none}.admin-module-nav a{min-height:36px}
.civic-hero{grid-template-columns:minmax(0,1.45fr) minmax(320px,.68fr);align-items:center;padding:clamp(1.1rem,1.7vw,1.8rem);gap:clamp(1rem,1.5vw,1.6rem)}.public-hero-logo{min-height:220px}.civic-hero .auth-logo{width:min(600px,100%);max-width:600px;max-height:220px}.verify-panel{padding:1rem}.auth-wrap{grid-template-columns:minmax(300px,430px) minmax(0,1fr);min-height:calc(100vh - 128px);gap:1rem}.auth-panel,.auth-aside{padding:1.25rem}.auth-panel .auth-logo{max-width:280px;max-height:104px}.official-logo{max-width:340px;max-height:170px}.preview-logo{max-height:92px}.logo-preview,.asset-preview{border-radius:var(--radius);padding:.9rem;min-height:104px}.light-preview{background:#f8fafc}.dark-preview{background:#092032}.dark .light-preview{background:#eef3f6;color:#172533}
dialog{max-width:min(780px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;border-radius:var(--radius)!important;box-shadow:var(--shadow-overlay)!important}dialog::backdrop{background:rgba(11,25,38,.55)}.backup-actions{gap:.45rem}.backup-actions form,.inline-delete{display:inline-flex;gap:.35rem;align-items:center}.backup-actions input{min-width:100px}.notice{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:.85rem}.notification-list{gap:.65rem}.empty-state{padding:.9rem}.data-list{grid-template-columns:minmax(120px,.28fr) minmax(0,1fr)}
@media(min-width:1800px){.content{padding-inline:2.2rem}.metrics{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.permit-simple-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
@media(max-width:1180px){.detail-grid,.workflow-grid,.application-create-layout,.municipal-identity-grid{grid-template-columns:1fr}.application-create-layout>.required-doc-panel{position:static}.civic-hero{grid-template-columns:1fr}.public-hero-logo{place-items:center start}.admin-hero{flex-direction:column}.admin-hero-actions{justify-content:flex-start}.auth-wrap{grid-template-columns:1fr}.auth-aside{min-height:220px}}
@media(max-width:760px){:root{--page-pad:.85rem;--section-gap:.8rem}.sidebar{position:static;width:auto;padding:.75rem}.shell,.collapsed .shell{margin-left:0}.topbar{position:sticky;height:auto;min-height:56px;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.6rem var(--page-pad)}.top-actions{width:auto}.content{padding:var(--page-pad)}.nav-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.nav-main a{min-height:44px;padding:.58rem}.collapsed .nav-main span,.collapsed .user-panel{display:block}.collapsed .sidebar{width:auto}.sidebar .brand.brand-logo-only{height:130px;min-height:130px}.sidebar .brand.brand-logo-only .theme-logo{max-width:210px;max-height:124px}.collapsed .sidebar .brand.brand-logo-only{height:76px;min-height:76px}.pagehead,.section-title,.record-header,.permit-simple-header,.catalog-header{flex-direction:column}.pagehead h1,.hero h1,.record-header h1,.admin-hero h1{font-size:clamp(1.42rem,7vw,1.9rem)}.card,.admin-card,.hero-head,.record-header,.admin-hero,.permit-simple-section,.catalog-section,.auth-panel,.auth-aside{padding:.9rem}.metrics{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.65rem}.metric{min-height:86px;padding:.78rem}.filters,.table-tools{grid-template-columns:1fr;padding:.8rem}.formgrid{grid-template-columns:1fr}.document-upload-fields{grid-template-columns:1fr}.table{border-left:0;border-right:0;border-radius:0;margin-inline:-.85rem;width:calc(100% + 1.7rem);max-width:calc(100% + 1.7rem)}th,td{padding:.66rem .72rem}.pagination-bar{align-items:stretch;gap:.65rem;padding:.85rem}.pagination-summary,.pagination-controls,.pagination-size label{justify-content:center}.pagination-controls{gap:.3rem}.pagination-controls .btn,.pagination-controls button{flex:1 1 auto;min-width:0}.civic-hero{padding:1rem}.public-hero-logo{min-height:170px;place-items:center}.civic-hero .auth-logo{width:min(100%,420px);max-height:170px}.actions{width:100%;gap:.45rem}.actions .btn{flex:1 1 auto}.site-footer{font-size:.84rem;padding:.8rem .9rem 1rem}.admin-module-nav{position:relative;top:auto}.backup-actions{display:grid}.backup-actions form,.backup-actions a{width:100%}.backup-actions .btn{width:100%}}
@media(max-width:430px){.nav-main{grid-template-columns:1fr}.top-title{min-width:0}.top-title strong{display:block;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{margin-left:0}.pagehead .btn,.admin-hero-actions .btn,.actions .btn{width:100%;flex-basis:100%}.pagination-controls .direct-pages{order:-1;width:100%;justify-content:center}.pagination-controls a:nth-of-type(1),.pagination-controls a:nth-of-type(2),.pagination-controls a:nth-last-of-type(1),.pagination-controls a:nth-last-of-type(2){font-size:.82rem}.public-hero-logo{min-height:150px}.civic-hero .auth-logo{max-height:150px}.auth-panel .auth-logo{max-width:240px;max-height:92px}}


/* Dark-mode action contrast correction: keep links bright, buttons readable */
.dark .btn:not(.ghost):not(.secondary){background:#1f6fa6;color:#fff}.dark .btn:not(.ghost):not(.secondary):hover,.dark .btn:not(.ghost):not(.secondary):focus-visible{background:#185b89;color:#fff}.dark .pagination-controls .btn.secondary,.dark .pagination-controls button.secondary{background:#1f6fa6;color:#fff}.dark .pagination-controls .btn.ghost{color:var(--blue);background:transparent}

/* Preserve readable expanded sidebar logo on phones while keeping collapsed favicon rules */
@media(max-width:760px){.sidebar .brand.brand-logo-only{height:144px!important;min-height:144px!important}.sidebar .brand.brand-logo-only .theme-logo{max-width:220px!important;max-height:136px!important}.collapsed .sidebar .brand.brand-logo-only{height:76px!important;min-height:76px!important}.collapsed .sidebar .brand.brand-logo-only .theme-logo{max-width:0!important;max-height:0!important;opacity:0!important}.collapsed .sidebar .brand.brand-logo-only .brand-favicon-img{max-width:46px!important;max-height:46px!important;opacity:1!important}}

/* 2026-07 navigation, mobile drawer, and payment reporting module */
.brand-home-link{display:flex;text-decoration:none;color:inherit;background:transparent!important;border:0!important;box-shadow:none!important}.brand-home-link:hover .theme-logo,.brand-home-link:focus-visible .theme-logo,.brand-home-link:hover .brand-favicon-img,.brand-home-link:focus-visible .brand-favicon-img{opacity:.92;transform:scale(.99)}.brand-home-link:focus-visible{outline:0}.brand-home-link:focus-visible::before{content:'';position:absolute;inset:.15rem;border:2px solid var(--gold);border-radius:var(--radius-sm);pointer-events:none}.mobile-menu-button,.mobile-drawer-close{display:none}.mobile-drawer-backdrop{display:none}.authenticated-layout .public-hero-logo{display:none!important}.civic-hero{grid-template-columns:minmax(0,1fr) minmax(300px,.48fr)}.authenticated-layout .auth-panel .auth-logo{display:none}.verify.state-card .preview-logo{display:none}.finance-head .actions{justify-content:flex-end}.payment-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.active-filters{display:flex;flex-wrap:wrap;gap:.45rem}.finance-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--section-gap)}.chart-card{display:grid;gap:.75rem;min-height:260px}.chart-card h2{margin:0;font-size:1.05rem}.bar-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:.65rem;align-items:end;min-height:190px}.bar{display:grid;grid-template-rows:auto 1fr auto;gap:.35rem;text-decoration:none;color:var(--text);min-width:0}.bar span,.bar strong{font-size:.78rem;overflow-wrap:anywhere}.bar i{display:block;height:calc(max(var(--v),3%) * 1.55);align-self:end;background:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 72%,var(--line));border-radius:var(--radius-sm) var(--radius-sm) 0 0}.bar:hover i,.bar:focus-visible i{background:var(--blue-2)}.paired-chart{display:grid;gap:.55rem}.paired-chart>div{display:grid;grid-template-columns:72px 1fr;gap:.45rem;align-items:center}.paired-chart span{font-size:.78rem;color:var(--muted)}.paired-chart i{grid-column:2;display:block;height:12px;width:var(--v);min-width:3px;border-radius:var(--radius-sm)}.paired-chart .expected{background:var(--surface-3);border:1px solid var(--line)}.paired-chart .collected{background:var(--green);margin-top:-.35rem}.legend{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.86rem}.key{width:16px;height:10px;display:inline-block;border-radius:2px}.key.expected{background:var(--surface-3);border:1px solid var(--line)}.key.collected{background:var(--green)}.category-bars{display:grid;gap:.65rem}.category-bars a{display:grid;grid-template-columns:minmax(140px,.55fr) minmax(120px,1fr) auto;gap:.55rem;align-items:center;text-decoration:none;color:var(--text)}.category-bars i{height:12px;width:var(--v);min-width:3px;background:var(--blue);border-radius:var(--radius-sm)}.status-grid{display:flex;gap:.45rem;flex-wrap:wrap}.finance-grid .empty-state{border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.payment-filters .btn{align-self:end}td .badge{vertical-align:middle}@media(max-width:1180px){.finance-grid{grid-template-columns:1fr}.civic-hero{grid-template-columns:1fr}}@media(max-width:760px){.mobile-menu-button{display:inline-flex}.mobile-drawer-close{display:inline-flex;position:absolute;right:.75rem;top:.75rem;z-index:61}.topbar #sidebar-toggle{display:none!important}.mobile-drawer-backdrop{display:block;position:fixed;inset:0;background:rgba(6,18,30,.5);z-index:50}.mobile-drawer-backdrop[hidden]{display:none!important}body.mobile-menu-open{overflow:hidden}.sidebar{position:fixed!important;inset:0 auto 0 0!important;width:min(84vw,330px)!important;max-width:330px;transform:translateX(-105%);transition:transform .2s ease,background-color .18s ease;z-index:60;overflow:auto;box-shadow:var(--shadow-overlay)!important}.mobile-menu-open .sidebar{transform:translateX(0)}.collapsed .sidebar{width:min(84vw,330px)!important}.collapsed .sidebar .brand.brand-logo-only .theme-logo,.sidebar .brand.brand-logo-only .theme-logo{max-width:220px!important;max-height:136px!important;opacity:1!important;transform:none!important}.collapsed .sidebar .brand.brand-logo-only .brand-favicon-img,.sidebar .brand.brand-logo-only .brand-favicon-img{opacity:0!important;pointer-events:none!important}.sidebar .brand.brand-logo-only,.collapsed .sidebar .brand.brand-logo-only{height:144px!important;min-height:144px!important;margin-right:2.75rem}.nav-main{grid-template-columns:1fr!important}.collapsed .nav-main span{display:inline!important}.collapsed .nav-main a{justify-content:flex-start}.category-bars a{grid-template-columns:1fr}.paired-chart>div{grid-template-columns:60px 1fr}.finance-head .actions{justify-content:flex-start}.finance-head .actions .btn{flex:1 1 auto}.payment-filters{grid-template-columns:1fr}.finance-metrics{grid-template-columns:1fr 1fr}}@media(max-width:430px){.finance-metrics{grid-template-columns:1fr}.bar-chart{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.sidebar,.topbar,.site-footer,.payment-filters,.pagination-bar,.finance-head .actions{display:none!important}.shell{margin:0!important}.content{padding:0}.card,.metric{border:1px solid #bbb!important}.finance-grid{grid-template-columns:1fr 1fr}}

/* 2026-07 single-municipality navigation hardening */
@media(max-width:760px){
  #sidebar-toggle{display:none!important;}
  .mobile-menu-button{display:inline-flex!important;}
  .sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:min(86vw,340px)!important;max-width:340px!important;height:100dvh!important;z-index:80!important;transform:translateX(-105%)!important;transition:transform .2s ease!important;overflow-y:auto!important;padding:1rem!important;box-shadow:18px 0 36px rgba(2,8,23,.22)!important;}
  body.mobile-menu-open .sidebar{transform:translateX(0)!important;}
  .shell,.collapsed .shell{margin-left:0!important;}
  body.collapsed .sidebar{width:min(86vw,340px)!important;}
  .sidebar .brand.brand-logo-only,.collapsed .sidebar .brand.brand-logo-only{height:148px!important;min-height:148px!important;padding:.2rem 2.4rem .55rem 0!important;justify-content:center!important;}
  .sidebar .brand.brand-logo-only .brand-home-link{width:100%!important;height:100%!important;position:relative!important;align-items:center!important;justify-content:center!important;}
  .sidebar .brand.brand-logo-only .theme-logo,.collapsed .sidebar .brand.brand-logo-only .theme-logo{display:block!important;max-width:min(260px,72vw)!important;max-height:136px!important;width:auto!important;height:auto!important;opacity:1!important;object-fit:contain!important;transform:none!important;}
  .sidebar .brand.brand-logo-only .brand-favicon-img,.collapsed .sidebar .brand.brand-logo-only .brand-favicon-img{display:none!important;}
  .nav-main{display:flex!important;grid-template-columns:none!important;flex-direction:column!important;gap:.32rem!important;}
  .nav-main a{justify-content:flex-start!important;}
  .nav-main span,.collapsed .nav-main span,.collapsed .user-panel{display:inline!important;}
  .mobile-drawer-close{display:inline-flex!important;position:absolute;right:.75rem;top:.75rem;z-index:2;}
  #mobile-drawer-backdrop{position:fixed;inset:0;background:rgba(2,8,23,.42);z-index:70;}
  body.mobile-menu-open{overflow:hidden!important;}
}
@media(min-width:761px){.mobile-menu-button,.mobile-drawer-close,#mobile-drawer-backdrop{display:none!important;}}

/* Reusable asynchronous pagination/search component */
.async-region{position:relative;transition:opacity .16s ease,border-color .16s ease}.async-region.is-loading .async-content{opacity:.55}.async-loading-indicator{position:absolute;right:1rem;top:1rem;z-index:3;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .7rem;color:var(--muted);font-size:.9rem}.async-error{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;border:1px solid var(--red,#b91c1c);background:color-mix(in srgb,var(--surface) 92%,#b91c1c);color:var(--text);border-radius:var(--radius-sm);padding:.7rem .85rem;margin:.7rem 0}.async-error span{color:var(--muted)}.certificate-search-form{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,.5fr) auto auto;gap:.75rem;align-items:end;margin:.9rem 0}.quick-search-field input[type=search]{font-size:1rem;padding-right:2rem}.certificate-table table{min-width:860px}.certificate-empty{display:flex;flex-direction:column;gap:.25rem}.async-pagination .pagination-summary:focus{outline:2px solid var(--gold);outline-offset:3px}.async-pagination a[aria-current="page"]{font-weight:700}.async-pagination .disabled{pointer-events:none;opacity:.5}.admin-pagination,.pagination-bar{scroll-margin-top:80px}@media(max-width:900px){.certificate-search-form{grid-template-columns:1fr 1fr}.certificate-search-form .btn{width:100%}}@media(max-width:620px){.certificate-search-form{grid-template-columns:1fr}.async-loading-indicator{position:static;margin:.5rem 0}.pagination-controls,.direct-pages{width:100%;justify-content:center}.async-pagination .pagination-summary{width:100%;text-align:center}.certificate-table{overflow-x:auto}}

/* Unified async listings and dashboard cleanup */
.compact-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem;align-items:end;margin:.85rem 0}.compact-filters .btn{width:100%}.admin-fluid-grid{align-items:stretch}.admin-fluid-grid>.admin-card{min-width:0}.admin-card .async-pagination{margin-top:.75rem}.admin-card .empty-state{padding:1rem;text-align:left}.admin-card .table{margin-top:.25rem}.admin-card .notification-list.compact{display:grid;gap:.55rem}.admin-card .notice{min-width:0}.admin-card .notice strong{overflow-wrap:anywhere}.agent-admin-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.alert:empty,[role="status"]:empty{display:none!important}.module-icon:empty,.empty-placeholder,.placeholder-card{display:none!important}@media(max-width:640px){.compact-filters{grid-template-columns:1fr}.admin-card-head{align-items:flex-start}.admin-fluid-grid{grid-template-columns:1fr}.admin-module-nav{overflow:auto}.admin-card .pagination-controls{justify-content:center}}

/* 2026-07 mobile branding and empty-alert regression hardening */
.async-error[hidden],.alert[hidden],.alert:empty,.async-error:empty{display:none!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}.theme-aware-logo{display:block;width:auto;height:auto;max-width:100%;object-fit:contain;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important}.sidebar .brand.brand-logo-only .theme-aware-logo{max-width:238px;max-height:158px}.collapsed .sidebar .brand.brand-logo-only .theme-aware-logo{max-width:0;max-height:0;opacity:0;pointer-events:none}.mobile-top-logo{display:none;text-decoration:none;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;line-height:0}.mobile-top-logo img{max-width:96px;max-height:40px;object-fit:contain}.topbar .mobile-top-logo:focus-visible{box-shadow:var(--focus);border-radius:var(--radius-sm)!important}@media(max-width:760px){.mobile-top-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sidebar .brand.brand-logo-only .theme-aware-logo,.collapsed .sidebar .brand.brand-logo-only .theme-aware-logo{display:block!important;max-width:min(260px,72vw)!important;max-height:136px!important;width:auto!important;height:auto!important;opacity:1!important;object-fit:contain!important;transform:none!important}.sidebar .brand.brand-logo-only .theme-logo,.collapsed .sidebar .brand.brand-logo-only .theme-logo{display:none!important}.top-title{flex:1 1 auto}}@media(max-width:430px){.mobile-top-logo img{max-width:72px;max-height:34px}.top-title strong{max-width:150px}}

/* Mobile drawer theme control */
.drawer-theme-toggle{display:none!important;margin:.65rem 0 .2rem;width:100%;justify-content:center;background:transparent!important;border:1px solid var(--nav-border)!important;color:var(--nav-text)!important}@media(max-width:760px){.drawer-theme-toggle{display:inline-flex!important}}

/* 2026-07 professional municipal finance dashboard */
.essential-finance-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:1rem 0}.daily-finance{display:grid;gap:.9rem}.daily-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.daily-grid>div{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.8rem;background:var(--surface-2)}.daily-grid span{display:block;color:var(--muted);font-size:.82rem;font-weight:700}.daily-grid strong{font-size:1.35rem}.method-breakdown{display:flex;gap:.5rem;flex-wrap:wrap}.payment-entry-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);gap:1rem}.payment-summary-panel{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.85rem;background:var(--surface-2);display:grid;gap:.45rem}.payment-summary-panel dl{display:grid;grid-template-columns:1fr auto;gap:.35rem .75rem;margin:0}.payment-summary-card .fee-box{margin-top:.75rem}.payment-history-list{display:grid;gap:.65rem}.payment-history-list .line-item{align-items:center;gap:.6rem}.payment-history-list small{display:block;color:var(--muted);font-size:.78rem}.clean-list{margin:0;padding-left:1.2rem;color:var(--muted)}.issued-chart .expected{background:var(--blue)}.issued-chart .collected{background:var(--green)}@media(max-width:900px){.payment-entry-grid,.finance-grid{grid-template-columns:1fr}.finance-head{align-items:flex-start}.finance-head .actions{justify-content:flex-start}.payment-filters{grid-template-columns:1fr 1fr}.payment-history-list .line-item{display:grid;grid-template-columns:1fr auto;align-items:start}.payment-history-list form{grid-column:1/-1}}@media(max-width:620px){.payment-filters,.daily-grid{grid-template-columns:1fr}.essential-finance-cards{grid-template-columns:1fr}.finance-head .actions{width:100%;overflow:auto}.chart-card{min-height:auto}.bar-chart{min-height:150px}.payment-summary-panel dl{grid-template-columns:1fr}.table table{min-width:920px}}

/* 2026-07-21 global spacing/padding consistency audit
   Shared scale: 4/8/12/16/24/32px. Final layer intentionally normalizes legacy one-off spacing. */
:root{
  --space-2xs:4px;
  --space-xs:8px;
  --space-sm:12px;
  --space-md:16px;
  --space-lg:24px;
  --space-xl:32px;
  --page-pad:clamp(var(--space-md),1.5vw,var(--space-xl));
  --section-gap:clamp(var(--space-md),1.2vw,var(--space-lg));
  --card-pad:clamp(var(--space-md),1.15vw,var(--space-lg));
  --card-pad-sm:var(--space-sm);
  --control-gap:var(--space-sm);
  --stack-gap:var(--space-md);
}

/* Page container and vertical rhythm */
.content{padding:var(--page-pad)!important;gap:var(--section-gap)!important;align-content:start;}
.content>*{min-width:0;margin-top:0!important;margin-bottom:0!important;}
.content>.alert+*{margin-top:0!important;}
.site-footer{padding:var(--space-md) var(--page-pad) var(--space-lg)!important;}

/* Headers and section headers */
.pagehead,.section-title,.record-header,.admin-hero,.permit-simple-header,.catalog-header,.admin-card-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)!important;margin:0!important;
}
.pagehead>div,.section-title>div,.record-header>div,.admin-hero>div,.admin-card-head>div{display:grid;gap:var(--space-xs);min-width:0;}
.pagehead h1,.record-header h1,.admin-hero h1,.hero h1,.auth-panel h1{margin:0!important;}
.pagehead p,.record-header p,.admin-hero p,.hero p,.auth-panel p,.section-title p,.card p{margin-top:0;}
.pagehead p:last-child,.record-header p:last-child,.admin-hero p:last-child,.hero p:last-child,.auth-panel p:last-child,.section-title p:last-child,.card p:last-child{margin-bottom:0;}
.eyebrow{margin:0!important;}

/* Cards, panels, widgets */
.card,.admin-card,.metric,.hero,.hero-head,.record-header,.admin-hero,.catalog-section,.permit-simple-section,.permit-simple-card,.permit-card,.verify-panel,.auth-panel,.auth-aside,.upload-section,.doc-upload-row,.agent-card,.asset-card,.payment-summary-panel,.daily-grid>div,.notice,.alert{
  padding:var(--card-pad)!important;
}
.card,.admin-card,.hero,.hero-head,.record-header,.admin-hero,.catalog-section,.permit-simple-section,.auth-panel,.auth-aside,.verify-panel,.upload-section,.payment-summary-panel,.notice,.alert{overflow-wrap:anywhere;}
.card,.admin-card,.permit-simple-card,.permit-card,.module-card,.daily-finance,.chart-card,.payment-summary-card,.required-doc-panel{display:grid;gap:var(--stack-gap)!important;align-content:start;}
.card>h2,.admin-card>h2,.chart-card>h2,.required-doc-panel>h2{margin:0!important;}
.metric{display:grid!important;gap:var(--space-xs)!important;align-content:start;min-height:104px;}
.metrics,.admin-metrics,.grid,.cards,.two,.detail-grid,.workflow-grid,.admin-grid-main,.admin-fluid-grid,.catalog-grid,.permit-simple-grid,.finance-grid,.application-create-layout,.municipal-identity-grid,.payment-entry-grid,.daily-grid,.document-upload-fields,.agent-admin-grid{gap:var(--section-gap)!important;}

/* Tables and table cards */
.table-card{padding:0!important;display:grid;gap:0!important;overflow:hidden;}
.table-card>.section-title{padding:var(--card-pad) var(--card-pad) var(--space-sm)!important;border-bottom:1px solid var(--line);}
.table{margin:0!important;width:100%!important;max-width:100%!important;border-radius:var(--radius)!important;overflow:auto!important;background:var(--surface);}
.table-card .table{border-left:0!important;border-right:0!important;border-radius:0!important;}
table{border-collapse:collapse;min-width:760px;}
th,td{padding:var(--space-sm) var(--space-md)!important;line-height:1.42;vertical-align:middle;}
th{white-space:nowrap;}
td small,td code{margin-top:var(--space-2xs);}
td .actions,td .certificate-actions,td .backup-actions,td .inline-form,td form.inline-form{display:flex;flex-wrap:wrap;gap:var(--space-xs)!important;align-items:center;margin:0!important;}
td .btn,td button.btn{white-space:normal;text-align:center;}

/* Filters, forms, search, upload controls */
.filters,.payment-filters,.compact-filters,.certificate-search-form,.table-tools{gap:var(--control-gap)!important;padding:var(--card-pad)!important;margin:0!important;align-items:end;}
.filters.card,.payment-filters.card,.compact-filters.card{display:grid;}
.formgrid,.form-stack,.admin-form{gap:var(--space-md)!important;}
.form-stack.compact{margin:0!important;gap:var(--space-sm)!important;}
label{gap:var(--space-xs)!important;min-width:0;}
input,select,textarea{padding:var(--space-xs) var(--space-sm)!important;min-height:42px;}
textarea{min-height:104px;resize:vertical;}
.check{display:flex!important;align-items:flex-start!important;gap:var(--space-xs)!important;line-height:1.35;}
.check input{margin-top:3px;flex:0 0 auto;}
.inline-form{gap:var(--space-xs)!important;margin:0!important;align-items:end;}
.inline-form input,.inline-form select,.inline-form textarea{min-width:min(210px,100%);}
.upload-section,.doc-upload-row{gap:var(--space-sm)!important;}
.doc-rules{gap:var(--space-xs)!important;margin-top:0!important;padding-top:var(--space-md)!important;}
.steps{display:flex;flex-wrap:wrap;gap:var(--space-xs)!important;margin:0!important;padding:0!important;list-style:none;}
.steps li{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-weight:800;}

/* Buttons and action bars */
.actions,.admin-hero-actions,.certificate-actions,.backup-actions,.pagination-controls,.pagination-controls .direct-pages,.method-breakdown,.active-filters{gap:var(--space-xs)!important;}
.actions,.admin-hero-actions,.certificate-actions,.backup-actions{display:flex;flex-wrap:wrap;align-items:center;}
.btn{min-height:40px;padding:var(--space-xs) var(--space-md)!important;gap:var(--space-xs);line-height:1.2;}
.btn.small{min-height:34px;padding:6px var(--space-sm)!important;}
.iconbtn,.icon-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}

/* Pagination */
.pagination-bar{margin:0!important;padding:var(--space-md)!important;gap:var(--space-sm)!important;border-top:1px solid var(--line);}
.pagination-summary,.pagination-size label{gap:var(--space-xs)!important;}
.pagination-size{margin:0!important;}

/* Charts and dashboard widgets */
.chart-card{padding:var(--card-pad)!important;min-height:260px;}
.chart-card h2{margin:0!important;}
.bar-chart,.paired-chart,.status-chart,.category-bars{gap:var(--space-sm)!important;min-width:0;}
.bar{gap:var(--space-xs)!important;min-width:0;}
.bar span,.bar strong,.category-bars span,.category-bars strong{overflow-wrap:anywhere;}
.daily-finance{padding:var(--card-pad)!important;}
.daily-grid>div{display:grid;gap:var(--space-xs)!important;}

/* Lists, alerts, empty states */
.notice,.alert{display:block;border:1px solid var(--line);margin:0!important;}
.alert strong,.notice strong{display:inline-block;margin-bottom:var(--space-2xs);}
.notification-list,.doc-list,.payment-history-list,.clean-list,.admin-check-list{gap:var(--space-sm)!important;}
.doc-list{display:grid;padding-left:0;list-style:none;margin:0;}
.doc-list li,.line-item{display:flex;gap:var(--space-sm)!important;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;border-bottom:1px solid var(--line);}
.doc-list li:last-child,.line-item:last-child{border-bottom:0;}
.empty-state{padding:var(--card-pad)!important;}
.empty-state[hidden],.alert:empty,.notice:empty,.async-error[hidden],.async-error:empty{display:none!important;padding:0!important;margin:0!important;border:0!important;min-height:0!important;}

/* Dialogs/modals/drawers */
dialog,.modal,.admin-dialog{padding:var(--card-pad)!important;}
.admin-dialog{width:min(920px,calc(100vw - var(--space-xl)))!important;}
.dialog-close{display:flex!important;justify-content:flex-end;margin:calc(var(--space-xs) * -1) calc(var(--space-xs) * -1) var(--space-xs) 0!important;}
.dialog-close button{min-width:36px;min-height:36px;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);}

/* Sidebar and navigation */
.sidebar{padding:var(--space-md)!important;gap:var(--space-md)!important;}
.nav-main{gap:var(--space-xs)!important;}
.nav-main a{padding:var(--space-xs) var(--space-sm)!important;gap:var(--space-sm)!important;min-height:44px;}
.user-panel{padding:var(--space-sm)!important;display:grid;gap:var(--space-2xs);}
.topbar{padding-inline:var(--page-pad)!important;gap:var(--space-sm)!important;}
.top-actions{gap:var(--space-xs)!important;}

/* Remove legacy layout hacks by final override */
.table{margin-inline:0!important;}
.permit-simple-section,.catalog-section,.admin-hero,.admin-card,.card{margin:0!important;}
[style*="margin"]{scroll-margin-top:80px;}

@media(max-width:1180px){
  .detail-grid,.workflow-grid,.application-create-layout,.municipal-identity-grid,.payment-entry-grid,.finance-grid{grid-template-columns:1fr!important;}
  .admin-hero,.pagehead,.section-title,.record-header,.permit-simple-header,.catalog-header,.admin-card-head{align-items:flex-start;}
}
@media(max-width:760px){
  :root{--page-pad:var(--space-sm);--section-gap:var(--space-sm);--card-pad:var(--space-sm);}
  .content{padding:var(--page-pad)!important;}
  .topbar{padding:var(--space-xs) var(--page-pad)!important;}
  .pagehead,.section-title,.record-header,.admin-hero,.permit-simple-header,.catalog-header,.admin-card-head{flex-direction:column;gap:var(--space-sm)!important;}
  .actions,.admin-hero-actions,.finance-head .actions{width:100%;align-items:stretch;}
  .actions .btn,.admin-hero-actions .btn,.finance-head .actions .btn{flex:1 1 auto;white-space:normal;}
  .filters,.payment-filters,.compact-filters,.certificate-search-form,.table-tools{grid-template-columns:1fr!important;padding:var(--card-pad)!important;}
  .table{border-left:1px solid var(--line)!important;border-right:1px solid var(--line)!important;border-radius:var(--radius)!important;width:100%!important;max-width:100%!important;}
  table{min-width:720px;}
  th,td{padding:var(--space-xs) var(--space-sm)!important;}
  .pagination-bar{padding:var(--space-sm)!important;align-items:stretch;}
  .pagination-controls .btn,.pagination-controls button{flex:1 1 auto;}
  .nav-main a{padding:var(--space-xs) var(--space-sm)!important;}
  .sidebar{padding:var(--space-md)!important;}
  .payment-history-list .line-item,.doc-list li,.line-item{display:grid;grid-template-columns:1fr;align-items:start;}
  .inline-form{display:grid!important;grid-template-columns:1fr;width:100%;}
  .inline-form input,.inline-form select,.inline-form textarea,.inline-form .btn,.inline-form button{width:100%;min-width:0;}
  dialog,.modal,.admin-dialog{width:calc(100vw - var(--space-lg))!important;max-width:calc(100vw - var(--space-lg))!important;max-height:calc(100dvh - var(--space-lg))!important;}
}
@media(max-width:430px){
  .btn,.actions .btn,.admin-hero-actions .btn{width:100%;white-space:normal;}
  .metrics,.admin-metrics,.permit-simple-grid,.cards,.grid{grid-template-columns:1fr!important;}
  table{min-width:680px;}
}

/* 2026-07-21 spacing audit fix: async/table regions must fit parent; only table body scrolls */
.async-region,.async-content,.admin-card .async-content,.table-card,.table-card .async-region,.admin-card,.card{min-width:0!important;max-width:100%!important;}
.async-region{overflow:visible!important;}
.async-content{display:grid;gap:var(--space-md)!important;}
.async-content>.filters,.async-content>.pagination-bar,.async-region>.filters,.async-region>.pagination-bar,.admin-card .filters,.admin-card .pagination-bar{width:100%!important;max-width:100%!important;min-width:0!important;}
.admin-card .filters,.filters.compact-filters,.filters.pagination-filter-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))!important;}
.admin-card .filters .btn,.filters.compact-filters .btn,.filters.pagination-filter-form .btn,.async-clear{width:auto!important;min-width:0!important;white-space:normal!important;}
.pagination-bar{display:flex!important;max-width:100%!important;overflow:visible!important;}
.pagination-summary{min-width:0;flex:1 1 220px;}
.pagination-controls{min-width:0;flex:1 1 260px;justify-content:flex-end;}
.pagination-size{flex:0 1 auto;min-width:0;}
.pagination-size select{width:auto;max-width:100%;}
.direct-pages{min-width:0;}
.admin-card .table,.table-card .table,.async-content>.table{min-width:0!important;max-width:100%!important;overflow-x:auto!important;}
.admin-card table,.table-card table,.async-content table{width:100%;min-width:720px;}
/* hide off-canvas drawer controls from generic layout measurements while drawer is closed */
body:not(.mobile-menu-open) .sidebar .mobile-drawer-close,
body:not(.mobile-menu-open) .sidebar .drawer-theme-toggle{visibility:hidden;}
body.mobile-menu-open .sidebar .mobile-drawer-close,
body.mobile-menu-open .sidebar .drawer-theme-toggle{visibility:visible;}
@media(max-width:1180px){
  .pagination-controls{justify-content:flex-start;}
}
@media(max-width:760px){
  .shell{margin-left:0!important;}
  .sidebar{transform:translateX(-105%)!important;position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:min(86vw,340px)!important;max-width:340px!important;height:100dvh!important;z-index:80!important;overflow-y:auto!important;box-shadow:18px 0 36px rgba(2,8,23,.22)!important;}
  body.mobile-menu-open .sidebar{transform:translateX(0)!important;}
  #sidebar-toggle{display:none!important;}
  .mobile-menu-button{display:inline-flex!important;}

  .async-content{gap:var(--space-sm)!important;}
  .pagination-bar{display:grid!important;grid-template-columns:1fr!important;}
  .pagination-summary,.pagination-controls,.pagination-size,.pagination-size label{width:100%;justify-content:center!important;}
  .pagination-size select{width:100%;}
  .direct-pages{justify-content:center;}
  .filters.compact-filters,.filters.pagination-filter-form,.admin-card .filters{grid-template-columns:1fr!important;}
  .admin-card table,.table-card table,.async-content table{min-width:680px;}
}

/* 2026-07-21 report/tablet page-header spacing fix */
@media(max-width:900px){
  .pagehead,.record-header,.admin-hero,.section-title,.admin-card-head{flex-direction:column!important;align-items:flex-start!important;}
  .pagehead>.actions,.record-header>.actions,.admin-hero-actions,.section-title>.actions,.admin-card-head>.actions,.report-export-actions{width:100%;justify-content:flex-start!important;}
  .report-export-actions .btn{flex:0 1 auto;}
}

/* 2026-07 PemiMeri public catalog compact accordion redesign */
.public-catalog{display:grid;gap:var(--space-md)!important;}
.public-catalog-header{border-bottom:0!important;padding-bottom:0!important;margin-bottom:0!important;}
.public-catalog-filters{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(150px,1fr)) auto;gap:var(--space-sm);align-items:end;padding:var(--space-md);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);}
.public-catalog-filters .permit-search-box{min-width:0;width:100%;}
.permit-result-summary{color:var(--muted);font-size:.94rem;}
.permit-result-summary strong{color:var(--text);}
.public-permit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:var(--section-gap)!important;}
.public-permit-card{min-height:0!important;display:flex!important;flex-direction:column;gap:var(--space-md)!important;padding:var(--card-pad)!important;border:1px solid var(--line);background:var(--surface);overflow:hidden;}
.public-permit-card[hidden]{display:none!important;}
.permit-card-main{display:grid;gap:var(--space-xs);min-width:0;}
.permit-card-topline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);}
.public-permit-card .permit-simple-icon{width:48px;height:48px;border-radius:var(--radius);background:var(--surface-2);display:grid;place-items:center;color:var(--blue);border:1px solid var(--line);}
.permit-card-category{margin:0;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere;}
.public-permit-card h3{margin:0;font-size:1.08rem;line-height:1.22;letter-spacing:-.01em;}
.permit-card-description{margin:0;color:var(--muted);line-height:1.45;}
.permit-card-actions{margin-top:auto;display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;}
.permit-card-actions .permit-apply{flex:1 1 145px;}
.permit-details-toggle{flex:0 0 auto;gap:.45rem;}
.toggle-chevron{display:inline-block;transition:transform .16s ease;font-size:1rem;line-height:1;}
.public-permit-card.is-expanded .toggle-chevron{transform:rotate(180deg);}
.permit-details-panel{overflow:hidden;max-height:0;transition:max-height .18s ease;border-top:1px solid var(--line);padding-top:0;}
.public-permit-card.is-expanded .permit-details-panel{padding-top:var(--space-md);}
.permit-detail-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);}
.permit-detail-groups section{padding:var(--space-sm);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);min-width:0;}
.permit-detail-groups h4{margin:0 0 .35rem;font-size:.82rem;color:var(--text);}
.permit-detail-groups p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.42;}
.permit-detail-groups strong{color:var(--text);}
.documents-preview{grid-column:1/-1;}
.documents-preview ul,.detail-list{margin:.25rem 0 0;padding-left:1.15rem;display:grid;gap:.25rem;}
.documents-preview li,.detail-list li{overflow-wrap:anywhere;}
.permit-details-footer{display:flex;justify-content:flex-end;margin-top:var(--space-sm);}
.permit-simple-status{white-space:nowrap;border:1px solid currentColor;border-radius:999px;padding:.22rem .5rem;font-size:.75rem;font-weight:800;}
.permit-simple-status.available{color:var(--green);}
.permit-simple-status.suspended{color:var(--orange);}
.permit-detail-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--section-gap);}
.public-permit-card .btn:focus-visible,.permit-details-toggle:focus-visible,.public-catalog-filters input:focus,.public-catalog-filters select:focus{outline:0;box-shadow:var(--focus);}
.dark .public-catalog-filters,.dark .public-permit-card .permit-simple-icon,.dark .permit-detail-groups section{background:var(--surface-2);border-color:var(--line);}
@media(max-width:1180px){.public-catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));}.public-catalog-filters .permit-search-box{grid-column:1/-1}.public-permit-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.permit-detail-sections{grid-template-columns:1fr;}}
@media(max-width:760px){.public-catalog-filters{grid-template-columns:1fr;padding:var(--space-sm);}.public-permit-grid{grid-template-columns:1fr;}.public-permit-card{padding:var(--space-md)!important;}.permit-card-actions{display:grid;grid-template-columns:1fr;}.permit-card-actions .btn{width:100%;}.permit-detail-groups{grid-template-columns:1fr;}.permit-details-footer .btn{width:100%;}.permit-simple-status{font-size:.72rem}.public-permit-card .permit-simple-icon{width:44px;height:44px;}}
@media(max-width:430px){.permit-card-topline{align-items:flex-start}.permit-simple-status{white-space:normal;text-align:center}.public-catalog{gap:var(--space-sm)!important;}}
@media(prefers-reduced-motion:reduce){.permit-details-panel,.toggle-chevron{transition:none!important;}}

/* 2026-07 PemiMeri payments compact export buttons */
.payment-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs)!important;flex-wrap:wrap;}
.payment-export-actions{display:inline-flex;align-items:center;gap:var(--space-2xs);flex:0 0 auto;white-space:nowrap;min-width:max-content;}
.payment-export-actions .btn{flex:0 0 auto;min-width:52px;padding-inline:var(--space-sm)!important;}
@media(max-width:760px){.payment-head-actions{width:100%;justify-content:stretch;}.payment-head-actions>.btn{flex:1 1 100%;}.payment-export-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;}.payment-export-actions .btn{width:100%;min-width:0;}}
@media print{.payment-export-actions{display:none!important;}}

/* 2026-07 PemiMeri authentication-aware logo placement */
.public-layout .shell{margin-left:0!important;}
.public-layout .topbar{padding-inline:var(--page-pad)!important;}
.public-layout .top-title{min-width:0;}
.public-nav-link{display:inline-flex;align-items:center;}
.public-hero-logo{display:flex;align-items:center;justify-content:flex-start;width:100%;min-width:0;min-height:0!important;margin:0 0 var(--space-md)!important;}
.public-brand-logo{display:block;width:420px;max-width:100%;max-height:150px;height:auto;object-fit:contain;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;}
.auth-logo-wrap{display:flex;align-items:center;justify-content:flex-start;margin:0 0 var(--space-md);}
.auth-panel .auth-logo{display:block;width:300px;max-width:100%;max-height:110px;height:auto;object-fit:contain;margin:0;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;}
.authenticated-layout .content .public-hero-logo,.authenticated-layout .content .auth-logo-wrap{display:none!important;}
.authenticated-layout .topbar .theme-aware-logo{display:none!important;}
.public-layout .brand-logo-only,.public-layout .brand-favicon-img{display:none!important;}
.sidebar .brand.brand-logo-only .brand-logo-img{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;}
@media(max-width:760px){.public-layout .topbar{gap:var(--space-xs)!important;}.public-layout .top-actions{margin-left:auto;gap:var(--space-2xs)!important;}.public-layout .public-nav-link{font-size:.82rem;padding:.35rem .45rem;}.public-hero-logo{justify-content:center;margin-bottom:var(--space-sm)!important;}.public-brand-logo{width:330px;max-width:100%;max-height:120px;}.auth-logo-wrap{justify-content:center;}.auth-panel .auth-logo{width:260px;max-width:100%;max-height:96px;}}
@media(max-width:430px){.public-layout .top-title span{display:none;}.public-layout .top-actions{width:auto;}.public-layout .lang{padding:.3rem .42rem;}.public-brand-logo{width:280px;max-width:100%;max-height:105px;}}

/* 2026-07 PemiMeri public dashboard logo enhancement */
.public-layout .civic-hero{
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.72fr);
  align-items:center;
  gap:clamp(var(--space-md),2vw,var(--space-xl));
  padding:clamp(var(--space-lg),3vw,44px);
}
.public-layout .civic-hero .hero-copy{
  align-items:center;
  justify-content:center;
  text-align:center;
  max-width:none;
  gap:var(--space-md);
}
.public-layout .public-hero-logo{
  grid-column:1 / -1;
  display:flex!important;
  align-items:center;
  justify-content:center!important;
  width:100%;
  min-width:0;
  min-height:0!important;
  margin:0 0 var(--space-sm)!important;
}
.public-layout .public-brand-logo{
  display:block;
  width:640px;
  max-width:100%;
  max-height:230px;
  height:auto;
  object-fit:contain;
  object-position:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  image-rendering:auto;
}
.public-layout .civic-hero .lead{
  max-width:760px;
  margin-inline:auto;
}
.public-layout .civic-hero .actions{
  justify-content:center;
}
@media(max-width:1180px){
  .public-layout .civic-hero{grid-template-columns:1fr;padding:clamp(var(--space-md),3vw,var(--space-xl));}
  .public-layout .public-brand-logo{width:560px;max-height:205px;}
}
@media(max-width:760px){
  .public-layout .civic-hero{gap:var(--space-md);padding:var(--space-md);}
  .public-layout .public-brand-logo{width:430px;max-height:165px;}
  .public-layout .civic-hero .lead{text-align:left;}
  .public-layout .civic-hero .actions{width:100%;}
}
@media(max-width:430px){
  .public-layout .public-brand-logo{width:340px;max-height:130px;}
}

/* 2026-07 PemiMeri navigation toggle and login modal modernization */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.sidebar-state-toggle{flex:0 0 auto;position:relative;border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--text)!important;min-width:42px;min-height:42px;box-shadow:none!important;}
.sidebar-state-toggle:hover,.sidebar-state-toggle:focus-visible{background:var(--hover-surface)!important;color:var(--blue)!important;box-shadow:var(--focus)!important;transform:none!important;}
.sidebar-state-toggle .sidebar-toggle-icon{display:grid;place-items:center;line-height:0;}
.sidebar-state-toggle .sidebar-toggle-icon[hidden]{display:none!important;}
.dark .sidebar-state-toggle{background:var(--surface-2)!important;color:var(--text)!important;border-color:var(--line)!important;}
@media(max-width:760px){.sidebar-state-toggle{display:none!important;}}
.login-modal-backdrop{position:fixed;inset:0;background:rgba(2,8,23,.48);z-index:90;opacity:1;transition:opacity .16s ease;}
.login-modal-backdrop[hidden],.login-modal[hidden]{display:none!important;}
.login-modal{position:fixed;inset:0;z-index:91;display:grid;place-items:center;padding:clamp(16px,3vw,32px);overflow:auto;}
.login-modal-panel{width:min(100%,430px);max-height:min(760px,calc(100vh - 32px));overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-overlay);padding:clamp(18px,3vw,28px);position:relative;transform:translateY(8px) scale(.985);opacity:.98;transition:transform .16s ease,opacity .16s ease,background-color .18s ease,border-color .18s ease;color-scheme:light;}
.dark .login-modal-panel{background:var(--surface);color:var(--text);border-color:var(--line);color-scheme:dark;}
.login-modal.is-open .login-modal-panel{transform:translateY(0) scale(1);opacity:1;}
body.login-modal-open{overflow:hidden!important;}
.login-modal-close{position:absolute;right:12px;top:12px;background:transparent!important;color:var(--muted)!important;border:1px solid transparent!important;}
.login-modal-close:hover,.login-modal-close:focus-visible{color:var(--text)!important;border-color:var(--line)!important;background:var(--hover-surface)!important;box-shadow:var(--focus)!important;}
.login-modal-brand{display:flex;justify-content:center;align-items:center;margin:0 2.5rem var(--space-md);}
.login-modal-logo{display:block;width:220px;max-width:100%;max-height:84px;height:auto;object-fit:contain;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.login-modal h2{margin:0 0 .35rem;text-align:center;font-size:clamp(1.45rem,2vw,1.85rem);letter-spacing:-.02em;}
.login-modal .muted{text-align:center;margin:0 auto var(--space-md);max-width:34ch;}
.login-modal-error{margin:0 0 var(--space-md)!important;}
.login-modal-form{gap:var(--space-sm);}
.login-modal-form label{display:grid;gap:.38rem;font-weight:800;color:var(--text);}
.login-modal-form input{width:100%;min-height:44px;}
.password-field{display:flex;align-items:center;gap:.4rem;}
.password-field input{flex:1 1 auto;min-width:0;}
.password-toggle{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--text)!important;}
.password-toggle:hover,.password-toggle:focus-visible{background:var(--hover-surface)!important;box-shadow:var(--focus)!important;}
.login-submit[disabled]{opacity:.72;cursor:progress;}
.forgot-link{justify-self:center;color:var(--blue);font-weight:800;text-decoration:none;font-size:.92rem;}
.forgot-link:hover,.forgot-link:focus-visible{text-decoration:underline;outline:0;box-shadow:var(--focus);border-radius:var(--radius-sm);}
@media(max-width:760px){.login-modal{padding:12px;align-items:center;}.login-modal-panel{width:min(100%,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:18px;}.login-modal-logo{width:190px;max-height:72px;}.password-field{gap:.35rem;}}
@media(prefers-reduced-motion:reduce){.login-modal-panel,.login-modal-backdrop{transition:none!important;}}
