:root{--green:#006633;--green-dark:#004b2a;--green-deep:#073c28;--green-soft:#eaf5ef;--green-pale:#f5faf7;--ink:#17251e;--muted:#647169;--line:#dce6e0;--bg:#f4f7f5;--white:#fff;--danger:#b42318;--warning:#a15c00;--info:#175cd3;--shadow:0 8px 28px rgba(17,53,35,.08);--shadow-sm:0 3px 12px rgba(17,53,35,.07);--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Inter,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 34px));margin-inline:auto}.govbar{background:var(--green-dark);color:#e9f3ee;font-size:12px}.govbar-inner{height:31px;display:flex;align-items:center;justify-content:space-between;gap:18px}.navbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 2px 12px rgba(20,48,34,.05);backdrop-filter:blur(9px)}.nav-inner{min-height:76px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:10px;min-width:240px;color:var(--ink);text-decoration:none}.brand:hover{text-decoration:none}.brand img{width:48px;height:51px;object-fit:contain;flex:0 0 auto}.brand-copy{min-width:0}.brand strong{display:block;color:var(--green-dark);font-size:18px;line-height:1.05;white-space:nowrap}.brand small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.1;white-space:nowrap}.nav-links{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex:1}.nav-primary,.nav-account{display:flex;align-items:center;gap:3px;min-width:0}.nav-account{margin-left:auto}.nav-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:39px;padding:8px 10px;border-radius:9px;color:#34473d;font-size:13px;font-weight:700;line-height:1;white-space:nowrap;text-decoration:none}.nav-link:hover{background:var(--green-pale);color:var(--green);text-decoration:none}.nav-link.active{background:var(--green-soft);color:var(--green-dark)}.nav-alert{position:relative}.bell{width:8px;height:8px;border-radius:50%;background:var(--green);font-size:0}.count{min-width:19px;height:19px;padding:0 5px;display:inline-grid;place-items:center;border-radius:999px;background:#b42318;color:#fff;font-size:10px;font-weight:800}.user-chip{max-width:170px;margin-left:5px;padding:3px 10px 3px 12px;border-left:1px solid var(--line);line-height:1.25}.user-chip span,.user-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip span{font-weight:800;font-size:12px}.user-chip small{color:var(--muted);font-size:10px;margin-top:2px}.signout{color:#7b332d}.nav-toggle{display:none;width:42px;height:40px;margin-left:auto;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.nav-toggle span{display:block;height:2px;margin:4px 0;background:var(--green-dark);border-radius:2px}.nav-signin{padding:10px 16px}.admin-tabs-wrap{padding-top:14px}.admin-tabs{display:flex;gap:6px;overflow:auto;padding:5px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-sm);scrollbar-width:thin}.admin-tab{flex:0 0 auto;padding:8px 12px;border-radius:8px;color:#425047;font-size:12px;font-weight:800;white-space:nowrap}.admin-tab:hover,.admin-tab.active{background:var(--green-soft);color:var(--green-dark);text-decoration:none}.hero{background:linear-gradient(135deg,#005c32,#003d25);color:#fff;padding:64px 0 70px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.8fr);gap:34px;align-items:center}.hero h1{font-size:clamp(34px,4.2vw,52px);line-height:1.08;letter-spacing:-.025em;margin:8px 0 14px;max-width:820px}.hero p{max-width:760px;color:#dbece3;font-size:16px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800;color:#bce0cc}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.contact-card{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);padding:22px;border-radius:16px;box-shadow:0 14px 36px rgba(0,0,0,.13)}.contact-card h3{margin:0 0 10px}.contact-item{padding:11px 0;border-top:1px solid rgba(255,255,255,.17)}.contact-item:first-of-type{border-top:0}.page-head{background:#fff;border-bottom:1px solid var(--line);padding:22px 0}.page-head-row{display:flex;justify-content:space-between;align-items:center;gap:18px}.page-head h1{margin:0;font-size:26px;line-height:1.18}.page-head p{margin:6px 0 0;color:var(--muted)}.content{padding:24px 0 44px}.section{padding:36px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:17px}.section-title h2{margin:0;font-size:23px}.section-title p{margin:4px 0 0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stats.stats-5{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-card,.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.stat-card{padding:18px;min-width:0}.stat-card span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.stat-card strong{display:block;font-size:29px;line-height:1.12;margin-top:6px}.stat-card small{color:var(--muted)}.stat-card.danger{border-color:#f2c8c3;background:#fff9f8}.stat-card.danger strong{color:var(--danger)}.card{padding:20px}.card h2,.card h3{margin-top:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.process-step{display:flex;gap:13px}.step-no{min-width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border:1px solid transparent;border-radius:9px;padding:9px 14px;font-weight:800;line-height:1.05;cursor:pointer;text-decoration:none;white-space:nowrap;max-width:100%}.btn:hover{text-decoration:none;filter:brightness(.98)}.btn-primary{background:var(--green);color:#fff}.hero .btn-primary{background:#fff;color:var(--green-dark)}.btn-outline{border-color:#b8cec2;background:#fff;color:var(--green-dark)}.hero .btn-outline{border-color:rgba(255,255,255,.55);background:transparent;color:#fff}.btn-danger{background:#b42318;color:#fff}.btn-warning{background:#f3b61f;color:#29200a}.btn-sm{min-height:32px;padding:6px 9px;font-size:11px}.toolbar{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.toolbar>form{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-group{display:flex;flex-direction:column;gap:6px;min-width:0}.form-group.full{grid-column:1/-1}.form-group label{font-weight:800;font-size:12px}.required:after{content:" *";color:#b42318}input,select,textarea{width:100%;min-height:42px;border:1px solid #c6d4cc;border-radius:8px;background:#fff;padding:9px 11px;color:var(--ink);outline:none}input[type=checkbox],input[type=radio]{width:auto;min-height:0}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,102,51,.09)}select:disabled,input:disabled{background:#eef2f0;color:#89958e;cursor:not-allowed}textarea{min-height:125px;resize:vertical}.help{color:var(--muted);font-size:11px}.form-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.flash{margin-top:14px;padding:11px 14px;border-radius:9px;border:1px solid}.flash-success{background:#ecfdf3;border-color:#abefc6;color:#067647}.flash-warning{background:#fffaeb;border-color:#fedf89;color:#93370d}.flash-danger{background:#fef3f2;border-color:#fecdca;color:#b42318}.flash-info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:13px;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:780px}.table th,.table td{padding:10px 11px;border-bottom:1px solid #e8efeb;text-align:left;vertical-align:top}.table th{position:relative;background:#f7faf8;color:#526159;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fbfdfc}.table td small{display:block;color:var(--muted);margin-top:2px}.table-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:max-content}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10.5px;font-weight:800;line-height:1.2;background:#edf2f0;color:#415047;white-space:nowrap}.badge-success{background:#dcfae6;color:#067647}.badge-danger{background:#fee4e2;color:#b42318}.badge-warning{background:#fef0c7;color:#93370d}.badge-info{background:#dff1ff;color:#175cd3}.badge-primary{background:#e1f2e8;color:var(--green)}.filters{display:grid;grid-template-columns:minmax(210px,2fr) repeat(4,minmax(120px,1fr)) auto;gap:10px;align-items:end}.meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.meta{padding:12px;background:#f7faf8;border:1px solid var(--line);border-radius:9px;min-width:0}.meta label{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.meta strong{display:block;margin-top:4px;font-size:13px;overflow-wrap:anywhere}.timeline{position:relative;margin:20px 0 0}.timeline:before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:#d9e6df}.timeline-item{position:relative;padding:0 0 18px 44px}.timeline-dot{position:absolute;left:7px;top:4px;width:18px;height:18px;border-radius:50%;background:var(--green);border:4px solid #dff2e8}.timeline-item h4{margin:0;font-size:13px}.timeline-item p{margin:5px 0;color:#46534d}.timeline-item small{color:var(--muted)}.sla{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:10px;background:#f7faf8;border:1px solid var(--line)}.sla strong{font-size:22px}.sla.overdue{background:#fff3f2;border-color:#fecdca;color:#b42318}.track-box{max-width:760px;margin:-28px auto 0;position:relative;z-index:2}.track-form{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px;align-items:end}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.doc-row{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.doc-row:last-child{border-bottom:0}.doc-row .grow{flex:1;min-width:0}.login-shell{min-height:calc(100vh - 200px);display:grid;place-items:center;padding:36px 0}.login-card{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:26px}.login-card .brand{min-width:0}.login-card h1{margin:0 0 4px}.muted{color:var(--muted)}.text-right{text-align:right}.text-center{text-align:center}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mb-0{margin-bottom:0}.split{display:flex;justify-content:space-between;align-items:center;gap:12px}.kpi-line{height:8px;background:#e9efec;border-radius:5px;overflow:hidden}.kpi-line i{display:block;height:100%;background:var(--green)}.action-panel{border-left:4px solid var(--green);background:#fbfdfc}.notice{padding:12px;border-radius:9px;background:#fffaeb;border:1px solid #fedf89;color:#7a2e0e}.management-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;background:#eef7f2;border:1px solid #cde3d6;border-radius:11px}.quick-links{display:flex;gap:8px;flex-wrap:wrap}.footer{background:#0e2a1d;color:#e4eee9;padding:31px 0 13px;margin-top:42px}.footer-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(210px,.8fr);gap:32px;align-items:start}.footer-brand{display:flex;gap:14px;align-items:flex-start}.footer-brand img{width:62px;height:66px;object-fit:contain;flex:0 0 auto}.footer strong{font-size:13px}.footer p{color:#b6c8bf;margin:7px 0}.copyright{border-top:1px solid #29483a;padding-top:12px;margin-top:18px;font-size:11px;color:#9db1a7}.print-only{display:none}.action-conditional[hidden],[hidden]{display:none!important}.official-report-header{display:none}.report-screen-title{margin-bottom:14px}.master-form-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.danger-zone{border-color:#f0c4be}.inline-note{padding:9px 11px;border-radius:8px;background:#f6faf8;color:var(--muted);font-size:11px}
@media(max-width:1120px){.nav-toggle{display:block}.nav-links{display:none;position:absolute;left:17px;right:17px;top:82px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:10px;max-height:calc(100vh - 105px);overflow:auto}.nav-links.open{display:block}.nav-primary,.nav-account{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.nav-account{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line)}.nav-link{justify-content:flex-start;min-height:42px;padding:10px 11px}.nav-signin{width:100%}.user-chip{max-width:none;margin:0;padding:7px 10px;border:0;grid-column:1/-1;background:#f7faf8;border-radius:8px}.hero-grid{grid-template-columns:1fr}.contact-card{max-width:520px}.stats.stats-5{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters>.btn{align-self:end}.grid-3{grid-template-columns:1fr 1fr}.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.container{width:min(100% - 22px,1180px)}.govbar-inner{height:29px}.govbar-inner span:last-child{display:none}.nav-inner{min-height:68px}.brand{min-width:0}.brand img{width:41px;height:44px}.brand strong{font-size:16px}.brand small{font-size:10px}.nav-links{top:74px;left:11px;right:11px}.nav-primary,.nav-account{grid-template-columns:1fr}.hero{padding:42px 0 54px}.hero h1{font-size:34px}.hero p{font-size:14px}.stats,.stats.stats-5,.grid-2,.grid-3,.form-grid,.footer-grid,.meta-grid{grid-template-columns:1fr}.stat-card{padding:15px}.stat-card strong{font-size:26px}.form-group.full{grid-column:auto}.track-form,.filters{grid-template-columns:1fr}.page-head{padding:18px 0}.page-head-row{align-items:flex-start;flex-direction:column}.page-head-row>.toolbar{width:100%}.page-head-row>.toolbar .btn{flex:1}.page-head h1{font-size:23px}.section{padding:27px 0}.section-title{align-items:flex-start;flex-direction:column}.card{padding:16px}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.management-intro{align-items:flex-start;flex-direction:column}.quick-links{width:100%}.quick-links .btn{flex:1}.doc-row{align-items:flex-start;flex-wrap:wrap}.doc-row>.btn{margin-left:auto}.footer-brand img{width:52px;height:56px}.table{font-size:12px}.table th,.table td{padding:8px 9px}.track-box{margin:-20px auto 0}.login-shell{padding:24px 0}.login-card{padding:20px}.admin-tabs-wrap{padding-top:10px}.admin-tab{padding:7px 10px}.btn{min-height:40px}.toolbar .btn-sm{min-height:34px}}
@media(max-width:420px){.brand small{display:none}.hero h1{font-size:30px}.hero-actions .btn{width:100%}.page-head-row>.toolbar{display:grid;grid-template-columns:1fr}.quick-links{display:grid;grid-template-columns:1fr}.user-chip span{font-size:11px}}
@media print{@page{size:A4 portrait;margin:13mm 11mm 15mm}.govbar,.navbar,.footer,.no-print,.form-actions,.flash,.admin-tabs-wrap{display:none!important}.print-only{display:block!important}.official-report-header{display:block!important;margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid #004b2a}.official-report-brand{display:grid;grid-template-columns:68px 1fr;gap:12px;align-items:center;text-align:center}.official-report-brand img{width:64px;height:68px;object-fit:contain}.report-gov{font-size:13px;font-weight:700}.report-dept{font-size:17px;font-weight:800;line-height:1.15}.report-cell{font-size:12px;font-weight:700;margin-top:2px}.report-title{text-align:center;margin-top:8px;font-size:15px;font-weight:800;text-transform:uppercase}.report-subtitle{text-align:center;font-size:10px;margin-top:2px}.report-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:9px}.report-meta>div{border:1px solid #aeb9b3;padding:4px 6px}.report-meta span{display:block;font-size:7px;text-transform:uppercase;font-weight:700;color:#555}.report-meta strong{font-size:9px}.container{width:100%;max-width:none}.card,.table-wrap{box-shadow:none;border-color:#aaa}.card{padding:10px}.content{padding:0}.page-head{display:none}.stats{grid-template-columns:repeat(4,1fr);gap:5px}.stat-card{box-shadow:none;padding:7px;border-color:#aaa}.stat-card strong{font-size:18px}.stat-card small{font-size:8px}.grid-3{grid-template-columns:repeat(3,1fr);gap:7px}.table-wrap{overflow:visible}.table{min-width:0;font-size:8px}.table th,.table td{padding:4px 5px}.table th{font-size:7px}.badge{border:1px solid #999;background:#fff!important;color:#000!important;padding:2px 4px;font-size:7px}.muted{color:#444}.section-title{margin:8px 0 5px}.section-title h2{font-size:13px}.section-title p{font-size:8px}.meta-grid{grid-template-columns:repeat(4,1fr);gap:4px}.meta{padding:5px;border-color:#aaa}.meta label{font-size:7px}.meta strong{font-size:8px}.timeline-item{padding-bottom:9px}.copyright-print{display:block;text-align:center;border-top:1px solid #aaa;margin-top:10px;padding-top:5px;font-size:7px;color:#555}a{color:#000;text-decoration:none}body{background:#fff;color:#000;font-size:9px}.report-screen-title{display:none}}

/* v1.0.2 — UI/UX refinement, report preview and visual dashboard */
html,body{min-height:100%}body{min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}.content{min-width:0}.btn{min-width:0;letter-spacing:-.005em}.btn:focus-visible,.nav-link:focus-visible,.admin-tab:focus-visible,a:focus-visible{outline:3px solid rgba(0,102,51,.18);outline-offset:2px}.toolbar{row-gap:8px}.table-wrap{overscroll-behavior-inline:contain}.table td{overflow-wrap:anywhere}.table th{vertical-align:middle}.tracking-id{display:inline-flex;align-items:center;max-width:100%;padding:3px 6px;border:1px solid #d6e4dc;border-radius:6px;background:#f6faf8;color:#075331;font:700 10.5px/1.25 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;letter-spacing:-.02em;white-space:nowrap}.tracking-id:hover{background:#edf7f1;text-decoration:none}.table .tracking-cell{width:1%;white-space:nowrap}.table .tracking-cell small{white-space:normal}.table-compact-id .tracking-id{font-size:10px}.page-head-row>.toolbar{justify-content:flex-end}.mode-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);background:#fff;border-radius:11px;box-shadow:var(--shadow-sm)}.mode-switch .btn{min-height:34px;border-radius:7px;padding:7px 11px;font-size:11px}.mode-switch .btn:not(.btn-primary){border-color:transparent;background:transparent}.mode-switch .preview-dot{width:7px;height:7px;border-radius:50%;background:#56a879;box-shadow:0 0 0 3px rgba(86,168,121,.13)}

/* New dashboard */
.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.dashboard-topbar .dashboard-note{color:var(--muted);font-size:12px}.dashboard-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.metric-card{position:relative;overflow:hidden;padding:17px 17px 15px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);min-width:0;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#c8d9cf}.metric-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.metric-label{color:#647169;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.metric-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#edf7f1;color:var(--green);font-size:14px;font-weight:900}.metric-card strong{display:block;margin-top:7px;font-size:30px;line-height:1}.metric-card small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.metric-card.metric-danger{border-color:#f0d1cc}.metric-card.metric-danger .metric-icon{background:#fff0ee;color:var(--danger)}.metric-card.metric-danger strong{color:var(--danger)}.metric-card.metric-success .metric-icon{background:#e8f7ee;color:#067647}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.chart-card{padding:0;overflow:hidden}.chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 18px 0}.chart-card-head h3{margin:0;font-size:15px}.chart-card-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.chart-canvas{width:100%;height:315px;outline:none}.chart-canvas:focus-visible{box-shadow:inset 0 0 0 3px rgba(0,102,51,.14)}.chart-fallback{display:grid;place-items:center;height:280px;padding:24px;color:var(--muted);text-align:center}.charts-ready .chart-fallback{display:none}.charts-unavailable .chart-canvas{display:none}.management-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;padding:15px 17px;border:1px solid #cae0d3;border-radius:12px;background:linear-gradient(90deg,#eef8f2,#f9fcfa)}.management-strip h3{margin:0;font-size:14px}.management-strip p{margin:3px 0 0;color:var(--muted);font-size:11px}

/* Role administration */
.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.role-card{min-width:0}.permission-list{display:grid;gap:7px;margin-top:12px}.permission-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fafcfb;cursor:pointer}.permission-row span{min-width:0}.permission-row strong{display:block;font-size:11.5px}.permission-row small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.permission-row input{width:18px;height:18px;accent-color:var(--green);flex:0 0 auto}.permission-row.compact{margin-top:10px}

/* Report builder and IAMS-style preview */
.report-builder{max-width:1060px;margin-inline:auto}.report-actions{position:sticky;top:108px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 auto 14px;padding:10px 12px;border:1px solid #d6e2dc;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 8px 26px rgba(17,53,35,.1);backdrop-filter:blur(10px)}.report-actions-left,.report-actions-right{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.report-actions .btn{min-height:36px;padding:8px 11px;font-size:11px}.report-preview-shell{padding:8px 0 30px;overflow-x:auto}.report-paper{width:min(100%,210mm);min-height:270mm;margin:0 auto;background:#fff;border:1px solid #ced9d3;border-radius:3px;box-shadow:0 12px 36px rgba(28,52,39,.12);padding:11mm 10mm 12mm;transition:width .18s ease;print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-paper.report-landscape{width:min(100%,297mm)}.report-paper.report-portrait{width:min(100%,210mm)}.official-report-header{display:block;margin:0 0 13px;padding-bottom:10px;border-bottom:2px solid var(--green-dark)}.official-report-brand{display:grid;grid-template-columns:66px 1fr 66px;gap:12px;align-items:center;text-align:center}.official-report-brand:after{content:""}.official-report-brand img{width:62px;height:65px;object-fit:contain}.report-gov{font-size:12px;font-weight:700}.report-dept{font-size:17px;font-weight:850;line-height:1.15;color:#173a28}.report-cell{font-size:11px;font-weight:800;margin-top:2px;color:#365a46}.report-title{text-align:center;margin-top:8px;font-size:15px;font-weight:850;text-transform:uppercase;letter-spacing:.02em}.report-subtitle{text-align:center;font-size:9.5px;margin-top:3px;color:#4d5f55}.report-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.report-meta>div{border:1px solid #d3ddd7;border-radius:5px;padding:5px 7px;background:#fbfcfb;min-width:0}.report-meta span{display:block;font-size:7.5px;text-transform:uppercase;font-weight:800;color:#65736b;letter-spacing:.03em}.report-meta strong{display:block;margin-top:1px;font-size:9px;overflow-wrap:anywhere}.report-paper .stats{gap:7px}.report-paper .stat-card{box-shadow:none;border-radius:8px;padding:9px 10px}.report-paper .stat-card span{font-size:8px}.report-paper .stat-card strong{font-size:20px}.report-paper .stat-card small{font-size:8px}.report-paper .grid-3{gap:8px}.report-paper .card{box-shadow:none;border-radius:7px;padding:10px}.report-paper .card h3{font-size:11px;margin-bottom:7px}.report-paper .split{font-size:8.5px;padding:1px 0}.report-paper .table-wrap{border-radius:5px;overflow:visible;box-shadow:none}.report-paper .table{min-width:0;font-size:8.2px}.report-paper .table th,.report-paper .table td{padding:4.5px 5px;line-height:1.3}.report-paper .table th{font-size:7px}.report-paper .badge{font-size:7px;padding:2px 4px}.report-paper .tracking-id{font-size:7.3px;padding:2px 4px;border-radius:4px}.report-paper .section-title{margin:10px 0 6px}.report-paper .section-title h2{font-size:12px}.report-paper .section-title p{font-size:8px}.report-paper .meta-grid{gap:5px}.report-paper .meta{padding:6px;border-radius:5px}.report-paper .meta label{font-size:7px}.report-paper .meta strong{font-size:8.5px}.report-paper .copyright-print{display:block;text-align:center;border-top:1px solid #c8d2cc;margin-top:10px;padding-top:6px;font-size:7px;color:#68756e}.report-paper.pdf-exporting{box-shadow:none;border-color:#fff}.orientation-label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:10.5px;font-weight:700}.report-help{padding:10px 12px;border-radius:9px;border:1px solid #d7e5dd;background:#f6faf8;color:#516158;font-size:11px}

/* Footer */
.footer{flex:0 0 auto;margin-top:auto;padding:0;background:#0d2c1e;color:#eaf1ed}.footer-inner{text-align:center;padding:25px 0 12px}.footer-shortcuts{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 8px}.footer-shortcuts a{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#e9f2ed;font-size:11px;font-weight:750}.footer-shortcuts a:hover{background:rgba(255,255,255,.07);text-decoration:none}.footer-divider{width:66px;height:2px;margin:17px auto 14px;background:#4a7e63;border-radius:2px}.footer-logo{width:48px;height:51px;object-fit:contain;margin:0 auto 7px}.footer-title{display:block;font-size:13px}.footer-service{max-width:680px;margin:5px auto 0!important;color:#bcd0c5!important;font-size:11.5px}.footer-contact{margin:8px auto 0!important;color:#c8d9d0!important;font-size:10.5px}.footer-contact span{padding:0 5px}.copyright{max-width:760px;margin:15px auto 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);color:#98b0a3;font-size:10px}

@media(max-width:1120px){.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.report-actions{top:87px}.role-grid{grid-template-columns:1fr}.official-report-brand{grid-template-columns:58px 1fr 58px}.official-report-brand img{width:54px;height:57px}}
@media(max-width:780px){.dashboard-topbar{align-items:flex-start;flex-direction:column}.dashboard-topbar .mode-switch{width:100%}.dashboard-topbar .mode-switch .btn{flex:1}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.chart-canvas{height:285px}.management-strip{grid-template-columns:1fr}.management-strip .quick-links{width:100%}.report-actions{position:relative;top:auto;align-items:stretch;flex-direction:column}.report-actions-left,.report-actions-right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.report-actions .btn{width:100%}.report-preview-shell{margin-inline:-11px;padding-inline:11px}.report-paper{padding:7mm 6mm}.report-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{padding-top:21px}}
@media(max-width:520px){.dashboard-kpis{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:13px}.metric-card strong{font-size:25px}.metric-card small{font-size:10px}.metric-icon{width:27px;height:27px}.chart-card-head{padding:14px 14px 0}.chart-canvas{height:255px}.report-actions-left,.report-actions-right{grid-template-columns:1fr}.report-paper{min-width:680px}.report-preview-shell{overflow:auto}.footer-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:360px;margin-inline:auto}.footer-shortcuts a{justify-content:center}.tracking-id{font-size:9.5px}.table .tracking-cell{max-width:160px}.mode-switch{width:100%}.mode-switch .btn{flex:1}}

@media print{
.govbar,.navbar,.footer,.no-print,.flash,.admin-tabs-wrap,.report-actions{display:none!important}body{display:block!important;background:#fff!important;color:#111!important;font-size:9px!important}.container{width:100%!important;max-width:none!important}.content{padding:0!important}.page-head{display:none!important}.report-preview-shell{padding:0!important;overflow:visible!important}.report-paper,.report-paper.report-portrait,.report-paper.report-landscape{width:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}.official-report-header{display:block!important}.report-paper .table-wrap{overflow:visible!important}.report-paper .card,.report-paper .table-wrap{break-inside:auto}.report-paper tr{break-inside:avoid}.report-paper .no-page-break{break-inside:avoid}.print-only{display:block!important}.copyright-print{display:block!important}a{color:#111!important;text-decoration:none!important}
}

/* v1.0.3 — complaint register readability, interactive dashboard and footer refinement */
@media screen{
.table-register{min-width:1040px;table-layout:fixed}.table-register col.col-track{width:190px}.table-register col.col-complaint{width:auto}.table-register col.col-source{width:150px}.table-register col.col-received{width:118px}.table-register col.col-section{width:190px}.table-register col.col-status{width:124px}.table-register col.col-age{width:82px}.table-recent{min-width:930px}.table-recent col.col-track{width:190px}.table-recent col.col-received{width:116px}.table-recent col.col-section{width:205px}.table-recent col.col-status{width:124px}.table-recent col.col-age{width:82px}.table-register th{padding:10px 12px;font-size:10.5px;letter-spacing:.045em}.table-register td{padding:12px;font-size:12.5px;line-height:1.38;vertical-align:middle;color:#26372e}.table-register tbody tr{transition:background .14s ease,box-shadow .14s ease}.table-register tbody tr:hover{background:#f8fcfa;box-shadow:inset 3px 0 0 var(--green)}.table-register .tracking-cell{width:auto;max-width:none;white-space:normal}.table-register .tracking-id{display:inline-flex;padding:5px 8px;border-color:#cbded3;border-radius:7px;background:#f1f8f4;color:#064d30;font-size:11.5px;font-weight:800;line-height:1.15;letter-spacing:-.015em;white-space:nowrap}.table-register .tracking-id:hover{border-color:#9fc8b2;background:#e8f5ee;color:#003d25}.priority-note,.source-inline{margin-top:5px!important;font-size:10.5px!important;line-height:1.2;color:#7a8880!important}.complaint-cell{min-width:0}.complaint-subject{display:-webkit-box;overflow:hidden;color:#1d3026;font-size:13px;font-weight:750;line-height:1.38;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}.complaint-subject:hover{color:var(--green);text-decoration:underline}.source-chip{display:inline-flex;align-items:flex-start;gap:6px;max-width:100%;padding:5px 8px;border:1px solid #dbe6e0;border-radius:7px;background:#f8faf9;color:#44564c;font-size:10.8px;font-weight:700;line-height:1.25}.source-chip i{width:6px;height:6px;margin-top:3.5px;flex:0 0 auto;border-radius:50%;background:#2a8a5e}.date-cell{white-space:nowrap}.date-main{display:block;font-size:11.8px;font-weight:750;color:#273b30}.date-cell small{font-size:10px!important;color:#7b8981!important}.section-cell{font-size:11.7px!important;font-weight:650;color:#34483d!important;overflow-wrap:anywhere}.status-cell{white-space:nowrap}.age-cell{text-align:center!important;white-space:nowrap}.duration-chip{display:inline-flex;align-items:baseline;justify-content:center;gap:3px;min-width:50px;padding:5px 7px;border:1px solid #d5e4dc;border-radius:7px;background:#f3f8f5;color:#145a39}.duration-chip strong{font-size:12px;line-height:1}.duration-chip small{display:inline!important;margin:0!important;font-size:9.5px!important;color:inherit!important}.duration-chip.is-overdue{border-color:#f0c6c1;background:#fff4f2;color:var(--danger)}.overdue-note{display:block;margin-top:3px;color:var(--danger);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.active-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:9px 12px;border:1px solid #cfe1d7;border-radius:9px;background:#f4faf6;color:#43554b;font-size:11.5px}.active-filter a{font-weight:800;white-space:nowrap}.filters{grid-template-columns:minmax(200px,1.7fr) minmax(128px,.9fr) minmax(160px,1.15fr) minmax(122px,.8fr) minmax(122px,.8fr) minmax(150px,1fr) auto}
.dashboard-topbar{min-height:50px;margin-bottom:14px;padding:7px 8px 7px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}.dashboard-view-copy{display:flex;align-items:baseline;gap:9px;min-width:0}.dashboard-view-copy strong{font-size:12px;color:#26392f}.dashboard-view-copy span{overflow:hidden;color:var(--muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.mode-switch{gap:3px;padding:3px;border-radius:9px;box-shadow:none}.mode-option{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:31px;padding:6px 10px;border-radius:6px;color:#53645b;font-size:10.8px;font-weight:800;line-height:1;text-decoration:none;white-space:nowrap}.mode-option:hover{background:#f2f7f4;color:var(--green-dark);text-decoration:none}.mode-option.active{background:var(--green);color:#fff;box-shadow:0 2px 6px rgba(0,102,51,.18)}.mode-option small{padding:2px 4px;border-radius:4px;background:rgba(0,0,0,.06);font-size:8px;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.mode-option.active small{background:rgba(255,255,255,.18);color:#fff}.metric-link{display:block;color:inherit;text-decoration:none}.metric-link:hover{text-decoration:none}.metric-link:focus-visible{outline:3px solid rgba(0,102,51,.16);outline-offset:2px}.metric-action{display:block;margin-top:9px;color:var(--green);font-size:9.8px;font-weight:800;opacity:.75}.metric-danger .metric-action{color:var(--danger)}.metric-success .metric-action{color:#067647}.chart-card{border-color:#d9e5de}.chart-card-head{min-height:67px;padding:15px 17px 0}.chart-card-head h3{font-size:14px}.chart-card-head p{font-size:10.5px}.chart-click-hint{flex:0 0 auto;margin-top:1px;padding:3px 6px;border:1px solid #d4e4db;border-radius:999px;background:#f6faf8;color:#63736a;font-size:8.5px;font-weight:800;white-space:nowrap}.chart-canvas{height:305px}.chart-card:hover{border-color:#c8dbd0;box-shadow:0 7px 22px rgba(17,53,35,.085)}
.footer{margin-top:auto;background:#0d2c1e;color:#eaf1ed}.footer-inner{padding:24px 0 13px;text-align:center}.footer-shortcuts{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px 20px;margin:0 auto 18px;padding:0 0 17px;border-bottom:1px solid rgba(255,255,255,.11)}.footer-shortcuts a{position:relative;min-height:0;padding:2px 0;border:0;border-radius:0;background:transparent;color:#dce9e2;font-size:11px;font-weight:750}.footer-shortcuts a:hover{background:transparent;color:#fff;text-decoration:underline;text-underline-offset:3px}.footer-information{max-width:780px;margin-inline:auto}.footer-title{font-size:13px;line-height:1.35}.footer-service{max-width:720px;margin:5px auto 0!important;color:#bcd0c5!important;font-size:11px}.footer-contact{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 16px;margin:9px auto 0!important;color:#c8d9d0!important;font-size:10.5px}.footer-contact span{padding:0}.copyright{max-width:820px;margin:15px auto 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);color:#94aa9f;font-size:9.8px}.footer-logo,.footer-divider{display:none!important}
}
@media screen and (max-width:1040px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters .btn{width:100%}.dashboard-view-copy span{max-width:420px}}
@media screen and (max-width:780px){.dashboard-topbar{align-items:center;flex-direction:row}.dashboard-view-copy{display:block}.dashboard-view-copy span{display:block;max-width:420px;margin-top:2px}.dashboard-topbar .mode-switch{width:auto}.dashboard-topbar .mode-switch .mode-option{flex:0 0 auto}.chart-card-head{min-height:64px}.chart-canvas{height:280px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .form-group:first-child{grid-column:1/-1}}
@media screen and (max-width:680px){.container{width:min(100% - 24px,1180px)}.register-table-wrap{overflow:visible;border:0;background:transparent}.responsive-table{display:block;min-width:0!important;background:transparent}.responsive-table colgroup,.responsive-table thead{display:none}.responsive-table tbody{display:grid;gap:10px}.responsive-table tr{display:block;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}.responsive-table tbody tr:hover{background:#fff;box-shadow:var(--shadow-sm)}.responsive-table td{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:start;gap:9px;width:100%!important;max-width:none!important;padding:9px 11px!important;border-bottom:1px solid #edf1ef!important;text-align:left!important;white-space:normal!important}.responsive-table td:last-child{border-bottom:0!important}.responsive-table td:before{content:attr(data-label);padding-top:2px;color:#75827b;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.responsive-table .empty{display:block;text-align:center!important}.responsive-table .empty:before{display:none}.responsive-table .tracking-id{font-size:11.5px}.responsive-table .complaint-subject{-webkit-line-clamp:3}.responsive-table .age-cell{align-items:center}.responsive-table .age-cell>*{justify-self:start}.responsive-table .overdue-note{display:inline;margin:0 0 0 6px}.filters{grid-template-columns:1fr}.filters .form-group:first-child{grid-column:auto}.active-filter{align-items:flex-start}.footer-shortcuts{gap:6px 16px}.footer-contact{display:grid;gap:3px}.footer-inner{padding-top:21px}}
@media screen and (max-width:520px){.dashboard-topbar{align-items:stretch;flex-direction:column;padding:10px}.dashboard-view-copy span{white-space:normal}.dashboard-topbar .mode-switch{width:100%}.mode-switch .mode-option{flex:1 1 0}.dashboard-kpis{grid-template-columns:1fr 1fr}.metric-action{font-size:9.2px}.chart-click-hint{display:none}.chart-card-head{min-height:58px}.chart-canvas{height:255px}.responsive-table td{grid-template-columns:92px minmax(0,1fr)}.footer-shortcuts{gap:7px 14px}.footer-shortcuts a{font-size:10.5px}.footer-title{font-size:12px}.copyright{font-size:9.3px}}

/* v1.0.3 report table proportions */
.report-register-table{table-layout:fixed}.report-register-table col.report-col-track{width:15%}.report-register-table col.report-col-date{width:8%}.report-register-table col.report-col-source{width:9%}.report-register-table col.report-col-unit{width:14%}.report-register-table col.report-col-status{width:9%}.report-register-table col.report-col-duration{width:6%}.report-register-table col.report-col-action{width:15%}.report-register-table .report-duration-cell{text-align:center;white-space:nowrap}.report-register-table .report-date-cell{white-space:nowrap}.report-register-table .report-source{font-weight:650}.report-paper .report-register-table .tracking-id{font-size:7.8px;font-weight:800;letter-spacing:-.015em}.report-paper .report-register-table th{white-space:normal;line-height:1.15}.report-paper .report-register-table td{vertical-align:top}
@media screen{.table-recent{min-width:1040px}.table-recent col.col-source{width:150px}}

/* v1.0.4 — authenticated left navigation, evidence uploader and privacy refinements */
.app-shell-body{display:block;min-height:100vh;overflow-x:hidden;background:#f4f7f5}.app-shell{min-height:100vh}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:80;width:258px;display:flex;flex-direction:column;background:linear-gradient(180deg,#063d29 0%,#073522 100%);color:#e9f3ee;box-shadow:10px 0 28px rgba(13,47,31,.12);transition:width .2s ease,transform .22s ease}.sidebar-brand{height:76px;display:flex;align-items:center;padding:11px 15px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand a{display:flex;align-items:center;gap:11px;min-width:0;color:#fff;text-decoration:none}.sidebar-brand img{width:43px;height:48px;object-fit:contain;flex:0 0 auto}.sidebar-brand strong,.sidebar-brand small{display:block;white-space:nowrap}.sidebar-brand strong{font-size:17px;line-height:1}.sidebar-brand small{margin-top:5px;color:#bcd4c8;font-size:10.5px}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 10px 16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.side-section+.side-section{margin-top:17px;padding-top:14px;border-top:1px solid rgba(255,255,255,.09)}.side-section-title{display:block;padding:0 10px 7px;color:#8fb3a1;font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.side-link{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:43px;margin:2px 0;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:#d7e7df;font:inherit;font-size:12.2px;font-weight:720;text-align:left;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .14s ease,color .14s ease,transform .14s ease}.side-link:hover{background:rgba(255,255,255,.08);color:#fff;text-decoration:none}.side-link.active{background:#fff;color:#075033;box-shadow:0 5px 14px rgba(0,0,0,.12)}.side-link.active:before{content:"";position:absolute;left:-10px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:#8fd3aa}.nav-svg{width:19px;height:19px;flex:0 0 19px}.side-label{overflow:hidden;text-overflow:ellipsis}.side-count{margin-left:auto;min-width:21px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#d63b31;color:#fff;font-size:9px;font-weight:850}.sidebar-footer{padding:9px 10px 12px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-collapse .nav-svg{transition:transform .2s ease}.side-signout{color:#f3d6d3}.app-shell-main{min-height:100vh;margin-left:258px;display:flex;flex-direction:column;transition:margin-left .2s ease}.app-topbar{position:sticky;top:0;z-index:60;height:64px;display:flex;align-items:center;gap:14px;padding:0 clamp(15px,2.5vw,30px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(10px);box-shadow:0 2px 10px rgba(24,54,39,.045)}.mobile-menu-btn{display:none;width:40px;height:38px;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff}.mobile-menu-btn span{display:block;height:2px;margin:4px 0;border-radius:2px;background:#174b34}.topbar-context{min-width:0;display:flex;align-items:baseline;gap:10px}.topbar-context strong{overflow:hidden;max-width:46vw;color:#173f2d;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.topbar-context span{overflow:hidden;max-width:34vw;color:var(--muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.topbar-account{margin-left:auto;display:flex;align-items:center;gap:11px}.topbar-notification{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:#385548}.topbar-notification .nav-svg{width:18px}.topbar-notification>span{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border:2px solid #fff;border-radius:999px;background:#c4372e;color:#fff;font-size:8px;font-weight:850}.topbar-user{max-width:190px;line-height:1.22}.topbar-user span,.topbar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user span{font-size:11.5px;font-weight:800}.topbar-user small{margin-top:2px;color:var(--muted);font-size:9.5px}.app-main{flex:1;min-width:0}.app-flash-wrap{width:min(1180px,calc(100% - 34px));margin:0 auto}.app-footer{margin-top:auto;border-top:1px solid #dce6e0;background:#fff}.app-footer-inner{min-height:48px;display:flex;align-items:center;justify-content:center;gap:9px 18px;flex-wrap:wrap;padding:10px 18px;color:#77837d;font-size:9.8px;text-align:center}.app-footer-inner span+span:before{content:"·";margin-right:18px;color:#b2beb7}.sidebar-backdrop{display:none}.sidebar-collapsed .app-sidebar{width:76px}.sidebar-collapsed .app-shell-main{margin-left:76px}.sidebar-collapsed .sidebar-brand{padding-inline:16px}.sidebar-collapsed .sidebar-brand span,.sidebar-collapsed .side-section-title,.sidebar-collapsed .side-label{display:none}.sidebar-collapsed .side-link{justify-content:center;padding-inline:9px}.sidebar-collapsed .side-count{position:absolute;top:4px;right:5px;min-width:17px;height:17px;padding:0 3px}.sidebar-collapsed .sidebar-collapse .nav-svg{transform:rotate(180deg)}.sidebar-collapsed .side-link.active:before{left:-10px}.sidebar-collapsed .sidebar-brand img{width:42px}.sidebar-collapsed .side-section+.side-section{margin-top:12px;padding-top:10px}
.complaint-entry-card{overflow:visible}.privacy-option{display:flex!important;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid #cfe1d7;border-radius:10px;background:#f6fbf8;cursor:pointer}.privacy-option input{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--green)}.privacy-option span{display:block}.privacy-option strong{display:block;color:#174b34;font-size:12px}.privacy-option small{display:block;margin-top:3px;color:#66766d;font-size:10.5px;font-weight:500;line-height:1.45}.evidence-section{padding:16px;border:1px solid #d9e6df;border-radius:12px;background:#fbfdfc}.evidence-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.evidence-head h3{margin:0}.evidence-head p{max-width:720px;margin:4px 0 0;color:var(--muted);font-size:11px}.document-list{display:grid;gap:10px;margin-top:13px}.document-list:empty{display:none}.doc-upload-row{padding:12px;border:1px solid #d7e4dc;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(17,53,35,.045)}.doc-upload-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.doc-upload-head strong{color:#315044;font-size:11px}.doc-remove{padding:2px 0;border:0;background:transparent;color:#a7352d;font-size:10.5px;font-weight:800;cursor:pointer}.doc-remove:hover{text-decoration:underline}.doc-upload-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr);gap:12px}.upload-types{margin:10px 0 0}.submission-notice{display:flex;align-items:flex-start;gap:12px;margin-top:16px;padding:12px 14px;border-left:3px solid var(--green);border-radius:8px;background:#f0f7f3}.submission-notice strong{flex:0 0 auto;color:#174b34;font-size:11px}.submission-notice span{color:#5f6f66;font-size:10.5px}.privacy-shield{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #d4e0da;border-radius:999px;background:#f5f8f6;color:#52645a;font-size:10px;font-weight:800}.privacy-shield:before{content:"◆";font-size:7px;color:#287552}.identity-protected-panel{padding:15px;border:1px solid #d6e2dc;border-radius:10px;background:#f7faf8}.identity-protected-panel strong{display:block;color:#244b38}.identity-protected-panel p{margin:5px 0 0;color:#6b7871;font-size:11px}.attachment-description{display:block;margin-top:3px;color:#43564b;font-size:11px;line-height:1.4}
@media(max-width:900px){.app-sidebar{width:258px;transform:translateX(-105%);box-shadow:14px 0 34px rgba(0,0,0,.24)}.app-shell-main,.sidebar-collapsed .app-shell-main{margin-left:0}.sidebar-collapsed .app-sidebar{width:258px}.sidebar-collapsed .sidebar-brand span,.sidebar-collapsed .side-section-title,.sidebar-collapsed .side-label{display:block}.sidebar-collapsed .side-link{justify-content:flex-start;padding-inline:10px}.sidebar-collapsed .sidebar-collapse .nav-svg{transform:none}.sidebar-open .app-sidebar{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:70;background:rgba(10,30,20,.42);backdrop-filter:blur(1px)}.sidebar-open .sidebar-backdrop{display:block}.mobile-menu-btn{display:block;flex:0 0 auto}.topbar-context strong{max-width:45vw}.topbar-context span{display:none}.app-topbar{height:60px;padding-inline:13px}.topbar-user{display:none}.app-flash-wrap{width:min(100% - 24px,1180px)}.app-footer-inner span+span:before{display:none}.app-footer-inner{gap:3px 11px}}
@media(max-width:680px){.doc-upload-grid{grid-template-columns:1fr}.evidence-head{align-items:stretch;flex-direction:column}.evidence-head .btn{align-self:flex-start}.submission-notice{display:block}.submission-notice strong{margin-bottom:3px}.topbar-context strong{max-width:55vw}.app-footer-inner{display:grid;gap:2px;padding-block:9px}.app-shell-body .page-head{padding:18px 0}.app-shell-body .page-head h1{font-size:22px}}
@media(max-width:460px){.topbar-context strong{max-width:50vw;font-size:12.5px}.topbar-notification{width:35px;height:35px}.mobile-menu-btn{width:37px;height:36px}.evidence-section{padding:13px}.privacy-option{padding:11px}}
@media print{.app-sidebar,.app-topbar,.app-footer,.sidebar-backdrop{display:none!important}.app-shell-main{margin:0!important}.app-main{display:block!important}}
.settings-grid{align-items:start}.settings-summary{display:grid;gap:9px;margin-top:14px}.settings-summary>div{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f8fbf9}.settings-summary span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.settings-summary strong{min-width:0;overflow-wrap:anywhere;color:#254638;font-size:12px}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}.settings-summary>div{grid-template-columns:1fr;gap:3px}}

/* v1.0.5-beta1 — beta navigation, chart label spacing, information-request workflow and archival complaint print */
.sidebar-brand{position:relative;padding-right:49px}.sidebar-brand>a{min-width:0;flex:1}.sidebar-brand-toggle{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.07);color:#eaf4ef;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .2s ease}.sidebar-brand-toggle:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}.sidebar-brand-toggle:focus-visible{outline:3px solid rgba(164,222,190,.28);outline-offset:2px}.sidebar-brand-toggle .nav-svg{width:17px;height:17px;transition:transform .2s ease}.sidebar-collapsed .sidebar-brand{padding:9px 31px 9px 9px}.sidebar-collapsed .sidebar-brand img{width:35px;height:43px}.sidebar-collapsed .sidebar-brand-toggle{right:5px;width:25px;height:28px}.sidebar-collapsed .sidebar-brand-toggle .nav-svg{transform:rotate(180deg)}
.chart-card{overflow:visible}.chart-card .chart-canvas[data-chart="sources"],.chart-card .chart-canvas[data-chart="offices"]{min-height:330px}.chart-card-head{padding-inline:20px}.chart-card-head p{max-width:470px}.chart-grid{align-items:start}
.info-request-list{display:grid;gap:12px}.info-request-card{border:1px solid #d7e4dd;border-radius:12px;background:#fff;overflow:hidden}.info-request-card.is-open{border-color:#efd29a;box-shadow:inset 3px 0 0 #d18a00}.info-request-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;background:#f8fbf9;border-bottom:1px solid #e3ebe6}.info-request-head strong{display:block;color:#254638;font-size:12px}.info-request-head small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.info-request-state{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#e8f3ed;color:#14613d;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}.info-request-state.open{background:#fff4dd;color:#8a5200}.info-request-body{padding:13px 14px}.info-request-body p{margin:0;white-space:pre-wrap}.info-response{margin-top:11px;padding:11px 12px;border-left:3px solid var(--green);border-radius:7px;background:#f4faf6}.info-response strong{display:block;margin-bottom:3px;color:#214d36;font-size:10.5px}.info-response p{font-size:11.5px;color:#40564a}.info-response-form{margin-top:12px;padding:14px;border:1px solid #cfe1d7;border-radius:11px;background:#f7fbf9}.info-response-form h4{margin:0 0 4px;font-size:13px}.info-response-form>p{margin:0 0 12px;color:var(--muted);font-size:10.8px}.request-empty{padding:14px;border:1px dashed #d4e1da;border-radius:10px;background:#fafcfb;color:var(--muted);font-size:11px;text-align:center}
.complaint-record-header{padding-bottom:9px;border-bottom:2px solid #164c33}.complaint-record-brand{display:grid;grid-template-columns:62px minmax(0,1fr) 62px;align-items:center;gap:10px;text-align:center}.complaint-record-brand:after{content:""}.complaint-record-brand img{width:58px;height:62px;object-fit:contain}.complaint-record-gov{font-size:11px;font-weight:750}.complaint-record-dept{margin-top:1px;color:#163b28;font-size:16px;font-weight:850;line-height:1.12}.complaint-record-portal{margin-top:3px;color:#3f5d4d;font-size:10px;font-weight:800}.complaint-record-title{margin-top:8px;text-align:center;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.025em}.complaint-record-track{margin-top:3px;text-align:center;color:#183e2b;font:850 10px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace}.complaint-record-printdate{margin-top:3px;text-align:center;color:#6a776f;font-size:7.8px}.record-section{margin-top:10px}.record-section-title{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #bdcbc3;color:#173e2b;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.035em}.record-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.record-summary-item{min-width:0;padding:6px 7px;border:1px solid #d7e0db;border-radius:5px;background:#fbfcfb}.record-summary-item.wide{grid-column:span 2}.record-summary-item.full{grid-column:1/-1}.record-summary-item span{display:block;color:#69766e;font-size:6.8px;font-weight:850;text-transform:uppercase;letter-spacing:.035em}.record-summary-item strong{display:block;margin-top:2px;color:#1f3328;font-size:8.4px;line-height:1.35;overflow-wrap:anywhere}.record-summary-item .protected-value{color:#6d756f;font-style:italic}.record-body-box{padding:8px 9px;border:1px solid #d7e0db;border-radius:5px;background:#fff}.record-body-box h4{margin:0 0 4px;color:#254436;font-size:9px}.record-body-box p{margin:0;color:#26372f;font-size:8.5px;line-height:1.55;white-space:pre-wrap}.record-body-box+.record-body-box{margin-top:6px}.movement-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:7.7px}.movement-table th,.movement-table td{padding:4px 4.5px;border:1px solid #cfd9d3;vertical-align:top;line-height:1.35;overflow-wrap:anywhere}.movement-table th{background:#eef5f1;color:#355344;font-size:6.8px;text-transform:uppercase;letter-spacing:.025em}.movement-table .mv-no{width:4.5%;text-align:center}.movement-table .mv-date{width:11.5%}.movement-table .mv-from{width:17%}.movement-table .mv-to{width:17%}.movement-table .mv-status{width:12%}.movement-table .mv-remarks{width:38%}.movement-table tbody tr:nth-child(even){background:#fbfcfb}.supplementary-block{padding:7px 8px;border:1px solid #d8e1dc;border-radius:5px;background:#fff}.supplementary-block+.supplementary-block{margin-top:6px}.supplementary-block .supplementary-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;color:#69766e;font-size:7px}.supplementary-block h4{margin:0 0 4px;color:#234936;font-size:8.6px}.supplementary-block p{margin:0;font-size:8px;line-height:1.5;white-space:pre-wrap}.attachment-index{width:100%;border-collapse:collapse;table-layout:fixed;font-size:7.8px}.attachment-index th,.attachment-index td{padding:4px 5px;border:1px solid #d1dbd5;vertical-align:top;line-height:1.35}.attachment-index th{background:#f1f6f3;color:#3a5547;font-size:6.8px;text-transform:uppercase}.attachment-index .att-no{width:5%;text-align:center}.attachment-index .att-date{width:14%}.attachment-index .att-type{width:12%}.attachment-index .att-file{width:24%}.attachment-index .att-desc{width:45%}.evidence-sheet{break-before:page;page-break-before:always;padding-top:2mm}.evidence-sheet:first-of-type{break-before:auto;page-break-before:auto}.evidence-sheet-head{padding-bottom:6px;border-bottom:1.5px solid #244d39}.evidence-sheet-head strong{display:block;color:#173e2b;font-size:10px}.evidence-sheet-head span{display:block;margin-top:2px;color:#65736b;font-size:7.5px}.evidence-sheet-description{margin-top:8px;padding:8px;border:1px solid #d4ded8;border-radius:5px;background:#fafcfb}.evidence-sheet-description label{display:block;color:#68766e;font-size:6.8px;font-weight:850;text-transform:uppercase}.evidence-sheet-description p{margin:3px 0 0;font-size:8.5px;line-height:1.5;white-space:pre-wrap}.evidence-image-preview{display:flex;justify-content:center;margin-top:9px;padding:7px;border:1px solid #d9e1dc;background:#fff}.evidence-image-preview img{max-width:100%;max-height:190mm;object-fit:contain}.evidence-file-note{margin-top:9px;padding:12px;border:1px dashed #c8d5ce;border-radius:6px;background:#fafcfb;color:#5d6d64;font-size:8px;line-height:1.5;text-align:center}.record-footer-note{margin-top:10px;padding-top:5px;border-top:1px solid #cbd5cf;color:#68756e;font-size:6.7px;text-align:center}.privacy-print-note{margin-top:6px;padding:5px 7px;border:1px solid #d7e0db;border-radius:4px;background:#f7f9f8;color:#5f6c65;font-size:7.2px;font-style:italic}.report-paper.complaint-record-paper{padding:9mm 9mm 10mm}.report-paper.complaint-record-paper.report-landscape .record-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.report-paper.complaint-record-paper.report-landscape .record-summary-item.wide{grid-column:span 2}.report-paper.complaint-record-paper.report-landscape .record-summary-item.full{grid-column:1/-1}
@media(max-width:900px){.sidebar-brand-toggle{display:none}.sidebar-brand{padding-right:15px}.sidebar-collapsed .sidebar-brand{padding:11px 15px}.sidebar-collapsed .sidebar-brand img{width:43px;height:48px}.chart-card .chart-canvas[data-chart="sources"],.chart-card .chart-canvas[data-chart="offices"]{min-height:350px}}
@media(max-width:680px){.info-request-head{align-items:stretch;flex-direction:column}.info-request-state{align-self:flex-start}.record-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-summary-item.wide{grid-column:span 2}.complaint-record-brand{grid-template-columns:50px minmax(0,1fr) 50px}.complaint-record-brand img{width:46px;height:50px}.chart-card-head{padding-inline:15px}.chart-card .chart-canvas[data-chart="sources"],.chart-card .chart-canvas[data-chart="offices"]{min-height:365px}}
@media print{.complaint-record-paper .card{border:0!important;padding:0!important}.complaint-record-paper .record-section{break-inside:auto}.complaint-record-paper .record-body-box,.complaint-record-paper .supplementary-block,.complaint-record-paper .record-summary-item{break-inside:avoid}.complaint-record-paper .movement-table tr,.complaint-record-paper .attachment-index tr{break-inside:avoid}.evidence-sheet{break-before:page!important;page-break-before:always!important}.evidence-sheet:first-of-type{break-before:auto!important;page-break-before:auto!important}}

/* v1.0.5 — final navigation handle, complaint-view fit and compact archival complaint report */
.sidebar-brand{padding-right:15px}.sidebar-edge-toggle{position:fixed;z-index:86;top:23px;left:243px;width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid #c8d9d0;border-radius:999px;background:#fff;color:#075033;box-shadow:0 4px 14px rgba(13,47,31,.16);cursor:pointer;transition:left .2s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.sidebar-edge-toggle:hover{background:#f1f8f4;color:#004b2a;box-shadow:0 6px 18px rgba(13,47,31,.2)}.sidebar-edge-toggle:focus-visible{outline:3px solid rgba(0,102,51,.18);outline-offset:2px}.sidebar-edge-toggle .nav-svg{width:16px;height:16px;transition:transform .2s ease}.sidebar-collapsed .sidebar-edge-toggle{left:61px}.sidebar-collapsed .sidebar-edge-toggle .nav-svg{transform:rotate(180deg)}
.complaint-view-head>div:first-child{min-width:0;flex:1}.complaint-view-head h1{max-width:100%;font-size:clamp(20px,2.2vw,26px);overflow-wrap:anywhere}.complaint-view-head p{max-width:760px}.report-launch{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:560px}.print-privacy-option{display:inline-flex;align-items:center;gap:8px;min-height:39px;padding:6px 9px;border:1px solid #cfe0d7;border-radius:9px;background:#f7fbf9;color:#315244;cursor:pointer}.print-privacy-option input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--green);flex:0 0 auto}.print-privacy-option span{min-width:0}.print-privacy-option strong,.print-privacy-option small{display:block;line-height:1.2}.print-privacy-option strong{font-size:10.5px}.print-privacy-option small{margin-top:2px;color:#708078;font-size:8.8px;font-weight:600}.complaint-view-grid{align-items:start}.complaint-view-card{min-width:0;overflow:hidden}.complaint-view-card .meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.complaint-view-card .meta{min-width:0;padding:10px 11px}.complaint-view-card .meta strong{min-width:0;max-width:100%;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.complaint-status-value{display:flex;align-items:flex-start}.complaint-status-value .badge{max-width:100%;white-space:normal;text-align:center;justify-content:center;overflow-wrap:anywhere}.complaint-card-title{align-items:flex-start}.complaint-card-title h3{min-width:0;margin-bottom:0}.sla{min-width:0;flex-wrap:wrap}.sla>div:last-child{min-width:220px;flex:1}.sla .muted{overflow-wrap:anywhere}
.complaint-report-actions .report-actions-right{justify-content:flex-end}.report-privacy-form{margin:0}.report-privacy-control{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 9px;border:1px solid #cfe0d7;border-radius:8px;background:#f7fbf9;color:#315244;font-size:9.8px;font-weight:800;line-height:1.2;cursor:pointer;white-space:nowrap}.report-privacy-control input{width:15px;height:15px;min-height:0;margin:0;accent-color:var(--green)}.report-privacy-state{display:inline-flex;align-items:center;min-height:36px;padding:7px 9px;border:1px solid #d4e0da;border-radius:8px;background:#f5f8f6;color:#596a61;font-size:9.5px;font-weight:800;white-space:nowrap}.record-particulars{margin-top:7px}.record-particulars .record-section-title{margin-bottom:4px}.record-particulars-table{width:100%;border-collapse:collapse;table-layout:fixed;color:#22342a;font-size:7.7px;line-height:1.28}.record-particulars-table th,.record-particulars-table td{padding:3.2px 4.5px;border:1px solid #cfd9d3;vertical-align:top;overflow-wrap:anywhere}.record-particulars-table th{width:17%;background:#f2f6f4;color:#344d40;font-size:6.45px;font-weight:900;text-align:left;text-transform:uppercase;letter-spacing:.02em}.record-particulars-table td{width:33%;background:#fff;font-weight:600}.record-particulars-table td.subject-value{font-weight:750}.record-particulars-table .protected-value{color:#6b756f;font-style:italic;font-weight:650}.privacy-print-note{margin-top:4px;padding:3.5px 5px;font-size:6.6px;line-height:1.3}.report-paper.complaint-record-paper{padding:8.5mm 8.5mm 9.5mm}.complaint-record-header{padding-bottom:7px}.complaint-record-title{margin-top:6px}.record-section{margin-top:8px}.record-section-title{margin-bottom:5px;padding-bottom:3px}.record-body-box{padding:7px 8px}.movement-table th,.movement-table td{padding:3.6px 4px}.attachment-index th,.attachment-index td{padding:3.6px 4px}
@media(max-width:900px){.sidebar-edge-toggle{display:none}.sidebar-brand{padding-right:15px}.complaint-report-actions .report-actions-right{justify-content:stretch}.report-privacy-form,.report-privacy-control,.report-privacy-state{width:100%}.report-privacy-control,.report-privacy-state{justify-content:center}}
@media(max-width:820px){.complaint-view-grid{grid-template-columns:1fr}.complaint-view-card .meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.complaint-view-head{align-items:flex-start;flex-direction:column}.report-launch{width:100%;max-width:none;justify-content:flex-start}.report-launch .btn{width:100%}.print-privacy-option{width:100%}.complaint-view-card{padding:16px}.sla>div:last-child{min-width:0}.record-particulars-table{font-size:7.2px}.record-particulars-table th{font-size:6.1px}}
@media(max-width:480px){.complaint-view-card .meta-grid{grid-template-columns:1fr}.complaint-card-title{gap:8px}.complaint-card-title .privacy-shield{flex:0 0 auto}.complaint-view-head h1{font-size:19px}.sla{align-items:flex-start}.sla>div:first-child{width:100%}}
@media print{.sidebar-edge-toggle{display:none!important}.complaint-record-paper .record-particulars-table tr{break-inside:avoid}.complaint-record-paper .record-particulars-table th,.complaint-record-paper .record-particulars-table td{padding:3px 4px!important}.complaint-record-paper .record-particulars{break-inside:avoid}.complaint-record-paper .privacy-print-note{break-inside:avoid}}

/* v1.0.6 — print-safe reports, standard navigation handle, account menu and UI consistency */
.sidebar-edge-toggle{top:94px;left:257px;width:24px;height:44px;border:1px solid rgba(0,75,42,.28);border-left:0;border-radius:0 9px 9px 0;background:#f8fbf9;color:#075033;box-shadow:4px 2px 10px rgba(13,47,31,.10);transition:left .2s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.sidebar-edge-toggle:hover{background:#eaf5ef;color:#003f25;box-shadow:4px 3px 12px rgba(13,47,31,.14)}.sidebar-edge-toggle .nav-svg{width:15px;height:15px}.sidebar-collapsed .sidebar-edge-toggle{left:75px}.sidebar-edge-toggle:after{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:1px;background:#d4e1da}
.topbar-account{position:relative}.account-menu{position:relative}.account-menu>summary{list-style:none}.account-menu>summary::-webkit-details-marker{display:none}.account-trigger{min-width:0;max-width:260px;height:42px;display:flex;align-items:center;gap:9px;padding:4px 8px 4px 5px;border:1px solid transparent;border-radius:10px;color:#243b2f;cursor:pointer;user-select:none;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.account-trigger:hover,.account-menu[open] .account-trigger{border-color:#d6e3dc;background:#f7faf8;box-shadow:0 2px 8px rgba(17,53,35,.05)}.account-trigger:focus-visible{outline:3px solid rgba(0,102,51,.16);outline-offset:2px}.account-avatar{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:9px;background:#e4f2e9;color:#075033;font-size:10.5px;font-weight:900;letter-spacing:.03em}.account-copy{min-width:0;line-height:1.16}.account-copy strong,.account-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-copy strong{font-size:11.3px;font-weight:850}.account-copy small{margin-top:3px;color:#6a7870;font-size:9px;font-weight:650}.account-chevron{display:grid;place-items:center;color:#708078}.account-chevron .nav-svg{width:14px;height:14px;transition:transform .15s ease}.account-menu[open] .account-chevron .nav-svg{transform:rotate(180deg)}.account-dropdown{position:absolute;z-index:100;top:calc(100% + 8px);right:0;width:250px;overflow:hidden;border:1px solid #d7e2dc;border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(16,45,30,.16)}.account-dropdown:before{content:"";position:absolute;top:-5px;right:18px;width:10px;height:10px;border-left:1px solid #d7e2dc;border-top:1px solid #d7e2dc;background:#fff;transform:rotate(45deg)}.account-dropdown-head{position:relative;padding:13px 14px 11px;border-bottom:1px solid #e6ece8;background:#fbfdfc}.account-dropdown-head strong,.account-dropdown-head span,.account-dropdown-head small{display:block;overflow-wrap:anywhere}.account-dropdown-head strong{color:#1d3729;font-size:12px}.account-dropdown-head span{margin-top:2px;color:#52645a;font-size:10px;font-weight:750}.account-dropdown-head small{margin-top:3px;color:#7b8881;font-size:9px;line-height:1.3}.account-dropdown-links{padding:6px}.account-dropdown-links a{display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 9px;border-radius:8px;color:#35483d;font-size:11px;font-weight:750;text-decoration:none}.account-dropdown-links a:hover{background:#f1f7f3;color:#075033;text-decoration:none}.account-dropdown-links .nav-svg{width:17px;height:17px;color:#527164}.account-dropdown-links a b{display:inline-grid;min-width:18px;height:18px;margin-left:3px;padding:0 4px;place-items:center;border-radius:999px;background:#e7f3eb;color:#075033;font-size:8.5px}.account-dropdown-links .account-signout{margin-top:3px;border-top:1px solid #edf1ef;border-radius:0 0 8px 8px;color:#8f332c}.account-dropdown-links .account-signout:hover{background:#fff4f2;color:#a72f27}.account-dropdown-links .account-signout .nav-svg{color:currentColor}
.section-action-link{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;border:1px solid #cfe0d7;border-radius:8px;background:#fff;color:#075033;font-size:11px;font-weight:850;line-height:1;text-decoration:none;white-space:nowrap;transition:background .14s ease,border-color .14s ease,transform .14s ease}.section-action-link:hover{border-color:#a9cbb8;background:#eef7f2;color:#004a2b;text-decoration:none}.section-action-link:focus-visible{outline:3px solid rgba(0,102,51,.16);outline-offset:2px}.section-action-arrow{font-size:14px;line-height:1;transition:transform .14s ease}.section-action-link:hover .section-action-arrow{transform:translateX(2px)}
/* Consistent authenticated/public page surfaces */
.page-head-row{min-width:0}.page-head-row>div:first-child{min-width:0}.page-head-row h1{overflow-wrap:anywhere}.section-title>div:first-child{min-width:0}.section-title h2,.section-title p{overflow-wrap:anywhere}.card{min-width:0}.split{min-width:0;gap:12px}.split>*{min-width:0}.toolbar .btn,.table-actions .btn{flex:0 0 auto}.table-actions form{margin:0}.table-actions{align-items:center}.table td,.meta strong,.timeline-item p,.doc-row,.notice{overflow-wrap:anywhere}.timeline-item h4{line-height:1.4}.timeline-item .badge{vertical-align:middle}.btn{transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .08s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.62;cursor:not-allowed;transform:none}.table tbody tr{transition:background .12s ease}.table-actions .btn-sm{min-height:31px}.track-form{align-items:end}.login-card .btn-primary{width:100%}
/* Improved report preview: visible safe paper and larger, still compact typography */
.report-preview-shell{padding:16px 12px 34px;border:1px solid #dfe8e3;border-radius:13px;background:#e9eeeb;overflow:auto}.report-paper{padding:12mm 11mm 13mm}.report-paper.report-portrait{width:min(100%,210mm)}.report-paper.report-landscape{width:min(100%,297mm)}.official-report-header{margin-bottom:14px;padding-bottom:11px}.official-report-brand img{width:58px;height:62px}.report-gov{font-size:12.5px}.report-dept{font-size:17.5px}.report-cell{font-size:11.3px}.report-title{font-size:15.5px}.report-subtitle{font-size:10px}.report-meta span{font-size:8px}.report-meta strong{font-size:9.5px}.report-paper .table{font-size:8.8px}.report-paper .table th,.report-paper .table td{padding:5px 5.5px;line-height:1.36}.report-paper .table th{font-size:7.5px}.report-paper .badge{font-size:7.5px}.report-paper .tracking-id{font-size:8px}.report-paper .card h3{font-size:11.5px}.report-paper .split{font-size:9px}.report-paper .section-title h2{font-size:12.5px}.report-paper .section-title p{font-size:8.5px}.report-paper .meta label{font-size:7.5px}.report-paper .meta strong{font-size:9px}.report-help{line-height:1.45}.report-paper.pdf-exporting{border:0;border-radius:0;box-shadow:none}
.complaint-record-brand img{width:58px;height:62px}.complaint-record-gov{font-size:10px}.complaint-record-dept{font-size:14.8px}.complaint-record-portal{font-size:9.4px}.complaint-record-title{font-size:12.3px}.complaint-record-track{font-size:10.6px}.complaint-record-printdate{font-size:7.8px}.record-particulars-table{font-size:8.35px;line-height:1.34}.record-particulars-table th{font-size:6.9px}.record-particulars-table th,.record-particulars-table td{padding:3.8px 5px}.record-section-title{font-size:8.2px}.record-body-box h4{font-size:9.5px}.record-body-box p{font-size:9px;line-height:1.58}.movement-table{font-size:8.25px}.movement-table th{font-size:7.1px}.movement-table th,.movement-table td{padding:4.2px 4.8px;line-height:1.4}.attachment-index{font-size:8.25px}.attachment-index th{font-size:7.1px}.attachment-index th,.attachment-index td{padding:4.2px 4.8px;line-height:1.4}.supplementary-block h4{font-size:9px}.supplementary-block p{font-size:8.6px}.supplementary-block .supplementary-meta{font-size:7.4px}.record-footer-note{font-size:7.1px}.privacy-print-note{font-size:7.2px}.report-paper.complaint-record-paper{padding:11mm 11mm 12mm}
@media(max-width:900px){.sidebar-edge-toggle{display:none}.account-copy{display:none}.account-trigger{padding:4px;border-color:#dce6e0;background:#fff}.account-avatar{width:34px;height:34px;flex-basis:34px}.account-chevron{display:none}.account-dropdown{right:-2px;width:min(260px,calc(100vw - 24px))}.topbar-account{gap:7px}.topbar-notification{width:36px;height:36px}.page-head-row{align-items:flex-start}.report-actions{top:74px}}
@media(max-width:680px){.page-head{padding:17px 0}.page-head h1{font-size:22px}.page-head-row{flex-direction:column;align-items:stretch}.page-head-row>.btn,.page-head-row>.toolbar,.page-head-row>form{width:100%}.page-head-row>.btn{justify-content:center}.section-title{align-items:flex-start;flex-direction:column;gap:10px}.section-action-link{align-self:flex-start}.content{padding-top:18px}.card{padding:16px}.form-actions{justify-content:stretch}.form-actions .btn,.form-actions>a.btn{flex:1 1 auto}.table-actions{min-width:0}.report-preview-shell{padding:10px 8px 24px;border-radius:10px}.report-actions{position:relative;top:auto}.report-paper{min-width:680px}.complaint-view-head .report-launch{gap:7px}}
@media print{@page{size:A4 portrait;margin:15mm 14mm 16mm}.govbar,.navbar,.footer,.no-print,.form-actions,.flash,.admin-tabs-wrap,.app-sidebar,.app-topbar,.app-footer,.sidebar-backdrop,.sidebar-edge-toggle{display:none!important}html,body{width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important}body{font-size:10px!important;overflow:visible!important}.app-shell,.app-shell-main,.app-main,main,.container,.content,.report-preview-shell{width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;background:#fff!important;border:0!important;box-shadow:none!important;overflow:visible!important}.app-shell-main{margin-left:0!important}.report-paper,.report-paper.report-portrait,.report-paper.report-landscape,.report-paper.complaint-record-paper{width:auto!important;max-width:none!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}.official-report-brand img,.complaint-record-brand img{max-width:58px!important;max-height:62px!important}.report-paper .table{font-size:8.8px!important}.report-paper .table th{font-size:7.5px!important}.report-paper .table th,.report-paper .table td{padding:4.5px 5px!important;line-height:1.34!important}.record-particulars-table{font-size:8.4px!important}.record-particulars-table th{font-size:6.9px!important}.record-particulars-table th,.record-particulars-table td{padding:3.7px 4.8px!important}.record-body-box p{font-size:9px!important;line-height:1.55!important}.movement-table,.attachment-index{font-size:8.2px!important}.movement-table th,.attachment-index th{font-size:7.05px!important}.movement-table th,.movement-table td,.attachment-index th,.attachment-index td{padding:4px 4.5px!important;line-height:1.38!important}.record-footer-note{font-size:7px!important}.evidence-image-preview img{max-width:100%!important;max-height:190mm!important}.official-report-header,.complaint-record-header{break-inside:avoid;page-break-inside:avoid}.report-paper tr,.complaint-record-paper .record-particulars,.complaint-record-paper .record-body-box,.complaint-record-paper .supplementary-block{break-inside:avoid;page-break-inside:avoid}a{color:#111!important;text-decoration:none!important}}
.account-form-card{max-width:620px}.login-submit{width:100%}.tracking-eyebrow{color:var(--green)}.prewrap{white-space:pre-wrap}.meta-full{grid-column:1/-1}

/* v1.0.7 — print-safe report header and fixed five-column management summary */
.report-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 12px;overflow:hidden;border:1px solid #ccd8d1;border-radius:8px;background:#fff;box-shadow:none}
.report-summary-item{min-width:0;padding:8px 9px;text-align:center;border-left:1px solid #dce4df;background:#fff}
.report-summary-item:first-child{border-left:0}
.report-summary-item span{display:flex;align-items:center;justify-content:center;min-height:25px;color:#5d6c64;font-size:7.9px;font-weight:850;line-height:1.18;text-transform:uppercase;letter-spacing:.025em;overflow-wrap:anywhere}
.report-summary-item strong{display:block;margin:3px 0 1px;color:#173a28;font-size:20px;font-weight:900;line-height:1}
.report-summary-item small{display:block;min-height:12px;color:#76837c;font-size:7.7px;font-weight:650;line-height:1.2;overflow-wrap:anywhere}
.report-summary-item.is-overdue{background:#fff9f8}
.report-summary-item.is-overdue strong{color:var(--danger)}
/* Give the crest enough visual weight while retaining true centered headings. */
.official-report-brand{grid-template-columns:78px minmax(0,1fr) 78px;gap:13px}
.official-report-brand img{width:72px;height:76px}
.complaint-record-brand img{width:68px;height:72px}
@media(max-width:820px){.report-summary-strip{grid-template-columns:repeat(5,minmax(105px,1fr));min-width:620px}.report-summary-item{padding-inline:7px}}
@media print{
  /* Keep the summary identical to preview; do not inherit the generic four-column dashboard print grid. */
  .report-summary-strip{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%!important;margin:0 0 8px!important;border:1px solid #aeb9b3!important;border-radius:0!important;overflow:hidden!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .report-summary-item{display:block!important;min-width:0!important;padding:6px 5px!important;border-left:1px solid #b9c3bd!important;background:#fff!important;text-align:center!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .report-summary-item:first-child{border-left:0!important}
  .report-summary-item span{display:flex!important;align-items:center!important;justify-content:center!important;min-height:22px!important;font-size:7.5px!important;line-height:1.15!important;color:#333!important}
  .report-summary-item strong{display:block!important;margin:2px 0 1px!important;font-size:18px!important;line-height:1!important;color:#173a28!important}
  .report-summary-item small{display:block!important;min-height:10px!important;font-size:7.1px!important;line-height:1.15!important;color:#555!important}
  .report-summary-item.is-overdue strong{color:#8d241c!important}
  .official-report-brand{grid-template-columns:80px minmax(0,1fr) 80px!important;gap:12px!important}
  .official-report-brand img{width:74px!important;height:78px!important;max-width:74px!important;max-height:78px!important}
  .complaint-record-brand img{width:70px!important;height:74px!important;max-width:70px!important;max-height:74px!important}
  .official-report-header{padding-top:1mm!important}
}
.complaint-record-brand{grid-template-columns:76px minmax(0,1fr) 76px}
@media print{.complaint-record-brand{grid-template-columns:76px minmax(0,1fr) 76px!important}}

/* v1.0.8 — print-stable report register + progressive portal navigation */
.portal-progress{position:fixed;z-index:160;top:0;left:0;width:0;height:3px;opacity:0;pointer-events:none;background:linear-gradient(90deg,#006633,#39a36f);box-shadow:0 1px 5px rgba(0,102,51,.22);transition:opacity .12s ease,width .18s ease}.portal-progress.is-active{width:72%;opacity:1;animation:ccipr-progress 1.05s ease-in-out infinite}.portal-loading .app-main{cursor:progress}.portal-loading [data-portal-main]{opacity:.72;transition:opacity .1s ease;pointer-events:none}@keyframes ccipr-progress{0%{width:14%}55%{width:68%}100%{width:92%}}[data-portal-region] .app-main{animation:ccipr-content-in .14s ease-out}@keyframes ccipr-content-in{from{opacity:.55;transform:translateY(2px)}to{opacity:1;transform:none}}
/* Five independent report summary cards: identical in preview and print. */
.report-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0 0 12px;overflow:visible;border:0;border-radius:0;background:transparent}
.report-summary-item,.report-summary-item:first-child{min-width:0;padding:8px 7px;text-align:center;border:1px solid #ccd8d1;border-radius:6px;background:#fff}
.report-summary-item span{display:flex;align-items:center;justify-content:center;min-height:27px;padding:0 1px;color:#53645b;font-size:7.9px;font-weight:850;line-height:1.18;text-transform:uppercase;letter-spacing:.02em;white-space:normal;overflow-wrap:anywhere}
.report-summary-item strong{display:block;margin:3px 0 2px;color:#173a28;font-size:20px;font-weight:900;line-height:1}
.report-summary-item small{display:block;min-height:12px;color:#738079;font-size:7.6px;font-weight:650;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
.report-summary-item.is-overdue{border-color:#e7c8c4;background:#fffafa}
/* Report register column balance and wrapping. */
.report-register-table{width:100%;table-layout:fixed}
.report-register-table col.report-col-track{width:14%}.report-register-table col:nth-child(2){width:17%}.report-register-table col.report-col-date{width:8%}.report-register-table col.report-col-source{width:9%}.report-register-table col.report-col-unit{width:13%}.report-register-table col.report-col-status{width:11%}.report-register-table col.report-col-duration{width:7%}.report-register-table col.report-col-duration+col.report-col-duration{width:6%}.report-register-table col.report-col-action{width:15%}
.report-register-table th,.report-register-table td{min-width:0;overflow-wrap:anywhere;word-break:normal}.report-register-table th{white-space:normal;line-height:1.18}.report-register-table .report-status-cell{padding-left:5px;padding-right:5px;text-align:center}.report-register-table .report-status-cell .badge{display:inline-flex;align-items:center;justify-content:center;max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere;word-break:normal;line-height:1.2;padding:3px 5px;border-radius:5px}.report-register-table .report-duration-cell{padding-left:3px;padding-right:3px;text-align:center;white-space:nowrap}.report-register-table .report-unit-cell,.report-register-table .report-action-cell{line-height:1.35}.report-register-table .report-date-cell{white-space:normal}.report-register-table .report-source{display:block;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:820px){.report-summary-strip{grid-template-columns:repeat(5,minmax(112px,1fr));min-width:650px}.report-summary-item{padding-inline:6px}}
@media print{
  @page{size:A4 portrait;margin:15mm 15mm 17mm}
  .report-summary-strip{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;width:100%!important;margin:0 0 8px!important;border:0!important;border-radius:0!important;overflow:visible!important;break-inside:avoid!important;page-break-inside:avoid!important;background:transparent!important}
  .report-summary-item,.report-summary-item:first-child{display:block!important;min-width:0!important;padding:6px 4px!important;border:1px solid #aeb9b3!important;border-radius:4px!important;background:#fff!important;text-align:center!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .report-summary-item span{display:flex!important;align-items:center!important;justify-content:center!important;min-height:24px!important;padding:0 1px!important;font-size:7.4px!important;line-height:1.16!important;color:#333!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .report-summary-item strong{display:block!important;margin:2px 0!important;font-size:18px!important;line-height:1!important;color:#173a28!important}
  .report-summary-item small{display:block!important;min-height:10px!important;font-size:7px!important;line-height:1.15!important;color:#555!important;white-space:normal!important}
  .report-summary-item.is-overdue{border-color:#b99d9a!important;background:#fff!important}.report-summary-item.is-overdue strong{color:#8d241c!important}
  .report-register-table{table-layout:fixed!important;width:100%!important;font-size:8.45px!important}
  .report-register-table col.report-col-track{width:14%!important}.report-register-table col:nth-child(2){width:17%!important}.report-register-table col.report-col-date{width:8%!important}.report-register-table col.report-col-source{width:9%!important}.report-register-table col.report-col-unit{width:13%!important}.report-register-table col.report-col-status{width:11%!important}.report-register-table col.report-col-duration{width:7%!important}.report-register-table col.report-col-duration+col.report-col-duration{width:6%!important}.report-register-table col.report-col-action{width:15%!important}
  .report-register-table th{font-size:7.2px!important;line-height:1.16!important;white-space:normal!important;overflow-wrap:anywhere!important;padding:4px 4px!important}.report-register-table td{font-size:8.35px!important;line-height:1.34!important;vertical-align:top!important;padding:4.5px 4px!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .report-register-table .report-status-cell{padding-left:4px!important;padding-right:4px!important;text-align:center!important}.report-register-table .report-status-cell .badge{display:inline-block!important;max-width:100%!important;padding:2.5px 4px!important;border-radius:4px!important;font-size:7.25px!important;font-weight:800!important;line-height:1.2!important;white-space:normal!important;text-align:center!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .report-register-table .report-duration-cell{padding-left:2px!important;padding-right:2px!important;text-align:center!important;white-space:nowrap!important}.report-register-table .report-date-cell{white-space:normal!important}.report-register-table .tracking-id{white-space:normal!important;line-height:1.15!important;overflow-wrap:anywhere!important}.report-register-table .report-source{line-height:1.28!important}
  .report-paper tr{break-inside:avoid!important;page-break-inside:avoid!important}
}
@media(prefers-reduced-motion:reduce){.portal-progress,.portal-loading [data-portal-main],[data-portal-region] .app-main{animation:none!important;transition:none!important}}

/* v1.0.9 — complaint register balance, form usability, login refinement, dashboard total, content limits */
@media screen{
  /* Complaint Register / Recent Complaints: keep status and age readable; allow section names to wrap. */
  .table-register{min-width:1020px}
  .table-register col.col-track{width:185px}
  .table-register col.col-source{width:130px}
  .table-register col.col-received{width:112px}
  .table-register col.col-section{width:165px}
  .table-register col.col-status{width:135px}
  .table-register col.col-age{width:76px}
  .table-recent{min-width:990px}
  .table-recent col.col-track{width:180px}
  .table-recent col.col-source{width:125px}
  .table-recent col.col-received{width:105px}
  .table-recent col.col-section{width:165px}
  .table-recent col.col-status{width:132px}
  .table-recent col.col-age{width:76px}
  .table-register .section-cell{min-width:0;white-space:normal!important;line-height:1.3!important}
  .table-register .section-cell>span,.table-recent .section-cell{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal}
  .table-register .status-cell,.table-recent .status-cell{text-align:left!important;white-space:normal!important}
  .table-register .status-cell .badge,.table-recent .status-cell .badge{display:inline-flex;max-width:100%;white-space:normal;text-align:left;line-height:1.2;overflow-wrap:anywhere}

  /* Complaint filters: deliberate wrapping prevents native date controls from being clipped. */
  .complaint-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px 10px;align-items:end}
  .complaint-filters .filter-search{grid-column:span 2}
  .complaint-filters .filter-unit{grid-column:span 2}
  .complaint-filters .filter-position{grid-column:span 1}
  .complaint-filters .filter-date{min-width:0}
  .complaint-filters input[type=date]{min-width:0;padding:8px 9px;font-size:12.25px;line-height:1.2;font-variant-numeric:tabular-nums}
  .complaint-filters .filter-submit{align-self:end;justify-self:start;min-width:118px}

  /* Login: compact government-service sign-in hierarchy. */
  .login-shell{min-height:calc(100vh - 190px);padding:42px 0}
  .login-card{width:min(440px,100%);padding:30px;border-radius:18px;box-shadow:0 18px 48px rgba(19,55,36,.11)}
  .login-brand{display:flex;align-items:center;gap:12px;padding-bottom:17px;border-bottom:1px solid var(--line)}
  .login-brand img{width:48px;height:52px;object-fit:contain;flex:0 0 auto}
  .login-brand div{display:flex;flex-direction:column;min-width:0}
  .login-brand strong{color:var(--green-dark);font-size:18px;font-weight:900;line-height:1.05;letter-spacing:.01em}
  .login-brand span{margin-top:3px;color:var(--muted);font-size:10.5px;font-weight:650}
  .login-intro{margin:20px 0 19px}
  .login-eyebrow{display:inline-block;margin-bottom:5px;color:var(--green);font-size:9.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
  .login-intro h1{margin:0;color:#18372a;font-size:24px;line-height:1.15;letter-spacing:-.02em}
  .login-intro p{margin:7px 0 0;color:var(--muted);font-size:11.5px;line-height:1.5}
  .login-form{display:grid;gap:15px}
  .login-form input{min-height:44px}
  .login-submit{min-height:44px;margin-top:2px}
  .login-register{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
  .login-register a{font-weight:850}

  /* Character limits are visible without crowding the complaint form. */
  .field-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:16px}
  .char-counter{flex:0 0 auto;color:#718078;font-size:10px;font-weight:750;font-variant-numeric:tabular-nums}
  .char-counter.near-limit{color:#9a6700}.char-counter.at-limit{color:#b42318;font-weight:900}

  /* Evidence upload count: same five-file rule across intake and subsequent workflow actions. */
  .upload-limit-note{display:block;margin-top:5px;color:#64736b;font-size:10px;font-weight:750}
  [data-add-file].is-limit,[data-add-file]:disabled{cursor:not-allowed;opacity:.68;filter:none}
}
@media screen and (max-width:1180px){
  .complaint-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .complaint-filters .filter-search{grid-column:span 2}
  .complaint-filters .filter-unit{grid-column:span 2}
  .complaint-filters .filter-position{grid-column:span 1}
}
@media screen and (max-width:680px){
  .complaint-filters{grid-template-columns:1fr}
  .complaint-filters .filter-search,.complaint-filters .filter-unit,.complaint-filters .filter-position{grid-column:auto}
  .complaint-filters .filter-submit{width:100%;justify-self:stretch}
  .complaint-filters input[type=date]{font-size:13px}
  .login-shell{padding:24px 0}.login-card{padding:22px 18px;border-radius:14px}.login-intro h1{font-size:22px}.login-register{flex-wrap:wrap}
  .field-meta{align-items:flex-start}.evidence-head{gap:10px}
}

/* v1.0.10 — dashboard polish + print pagination stability */
.print-table-title-row{display:none}
@media screen{
  /* Recent Complaints: cleaner hierarchy and compact status treatment. */
  .dashboard-recent-table-wrap{overflow:auto;border-color:#d7e3dc;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(17,53,35,.055)}
  .dashboard-recent-table-wrap .table-recent{min-width:960px}
  .dashboard-recent-table-wrap .table-recent col.col-track{width:178px}
  .dashboard-recent-table-wrap .table-recent col.col-source{width:120px}
  .dashboard-recent-table-wrap .table-recent col.col-received{width:104px}
  .dashboard-recent-table-wrap .table-recent col.col-section{width:148px}
  .dashboard-recent-table-wrap .table-recent col.col-status{width:112px}
  .dashboard-recent-table-wrap .table-recent col.col-age{width:72px}
  .dashboard-recent-table-wrap .table-recent th{padding:10px 10px;background:#f1f7f3;color:#46594e;font-size:9.9px;letter-spacing:.045em;border-bottom:1px solid #dbe5df}
  .dashboard-recent-table-wrap .table-recent td{padding:11px 10px;border-bottom-color:#e9efeb;vertical-align:middle}
  .dashboard-recent-table-wrap .table-recent tbody tr:nth-child(even){background:#fcfdfc}
  .dashboard-recent-table-wrap .table-recent tbody tr:hover{background:#f5faf7;box-shadow:inset 3px 0 0 #1b8157}
  .dashboard-recent-table-wrap .complaint-subject{font-size:12.6px;line-height:1.34}
  .dashboard-recent-table-wrap .source-chip{padding:4px 6px;border-radius:6px;font-size:10.2px;background:#fafcfb}
  .dashboard-recent-table-wrap .date-main{font-size:11px}
  .dashboard-recent-table-wrap .section-cell{font-size:11px!important;line-height:1.27!important;color:#344a3e!important}
  .dashboard-recent-table-wrap .status-cell{padding-left:8px!important;padding-right:8px!important;text-align:left!important}
  .dashboard-recent-table-wrap .status-cell .badge{display:inline-flex!important;width:max-content!important;max-width:92px!important;padding:4px 7px!important;border-radius:7px!important;white-space:normal!important;text-align:left!important;justify-content:flex-start!important;line-height:1.16!important;font-size:9.8px!important;overflow-wrap:normal!important;word-break:normal!important}
  .dashboard-recent-table-wrap .age-cell{padding-left:6px!important;padding-right:6px!important}
  .dashboard-recent-table-wrap .duration-chip{min-width:46px;padding:4px 6px;border-radius:6px}
  .dashboard-recent-table-wrap .duration-chip strong{font-size:11.5px}.dashboard-recent-table-wrap .duration-chip small{font-size:9px!important}
}
@media screen and (max-width:680px){
  .dashboard-recent-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
  .dashboard-recent-table-wrap .table-recent{min-width:0}
  .dashboard-recent-table-wrap .table-recent tbody tr:nth-child(even){background:#fff}
  .dashboard-recent-table-wrap .status-cell .badge{max-width:118px!important}
}
@media print{
  /* Repeated title + column headings on every printed table page. */
  .report-table-heading-screen{display:none!important}
  .report-register-table,.movement-table,.attachment-index{page-break-inside:auto!important;break-inside:auto!important}
  .report-register-table thead,.movement-table thead,.attachment-index thead{display:table-header-group!important}
  .report-register-table tbody,.movement-table tbody,.attachment-index tbody{display:table-row-group!important}
  .report-register-table tr,.movement-table tr,.attachment-index tr{break-inside:avoid!important;page-break-inside:avoid!important;page-break-after:auto!important}
  .print-table-title-row{display:table-row!important}
  .print-table-title-row th{padding:5px 6px!important;border:1px solid #aebbb4!important;border-bottom-color:#9cada3!important;background:#eaf2ed!important;color:#173e2b!important;text-align:left!important;text-transform:none!important;letter-spacing:0!important;line-height:1.2!important}
  .print-table-title-row th strong{display:block!important;font-size:8.6px!important;font-weight:900!important;line-height:1.2!important}
  .print-table-title-row th small{display:block!important;margin-top:1px!important;color:#56675e!important;font-size:6.9px!important;font-weight:650!important;line-height:1.2!important;text-transform:none!important;letter-spacing:0!important}
  .print-table-section{break-inside:avoid!important;page-break-inside:avoid!important}
  /* A long table may still span pages; in that case thead above repeats automatically. */
  .report-register-table .report-status-cell .badge{width:max-content!important;max-width:100%!important}
  .complaint-record-paper{height:auto!important;min-height:0!important;break-after:auto!important;page-break-after:auto!important}
  .complaint-record-paper>.record-footer-note:last-child,.complaint-record-paper>.evidence-sheet:last-child{break-after:auto!important;page-break-after:auto!important}
}

/* v2.0.0 — consolidated print/PDF and interface stabilization */
:root{--ui-font:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--report-font:Arial,"Helvetica Neue",sans-serif}
body,button,input,select,textarea{font-family:var(--ui-font)}

/* Login: the public header already carries the departmental brand; keep the form focused. */
.login-shell{display:flex;align-items:flex-start;justify-content:center;min-height:calc(100vh - 220px);padding:46px 0 56px}
.login-card{width:min(430px,100%);padding:30px;border:1px solid #dbe5df;border-radius:16px;background:#fff;box-shadow:0 16px 44px rgba(18,53,35,.09)}
.login-intro{margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.login-eyebrow{display:block;margin:0 0 6px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.075em;text-transform:uppercase}
.login-intro h1{margin:0;color:#173b29;font-size:25px;font-weight:800;line-height:1.18;letter-spacing:-.015em}
.login-intro p{margin:7px 0 0;color:#68766e;font-size:12px;line-height:1.5}
.login-form{display:grid;gap:15px}.login-form label{font-weight:750}.login-form input{min-height:45px}.login-submit{min-height:45px;font-weight:800}.login-register{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}

/* Report preview = physical-paper preview, with predictable printable area. */
.report-preview-shell{padding:20px 16px 38px;background:#e7ece9}
.report-paper{font-family:var(--report-font);background:#fff}
.report-paper.report-landscape{width:min(100%,297mm)}
.report-paper.report-portrait{width:min(100%,210mm)}
.report-paper .table,.report-paper table{font-family:var(--report-font)}
.official-report-brand{grid-template-columns:84px minmax(0,1fr) 84px;gap:14px}
.official-report-brand img{width:78px;height:82px;object-fit:contain}
.complaint-record-brand{grid-template-columns:82px minmax(0,1fr) 82px;gap:13px}
.complaint-record-brand img{width:76px;height:80px;object-fit:contain}

/* Management KPI cards remain independent cards in preview, print and PDF. */
.report-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0 0 12px;border:0;background:transparent;overflow:visible}
.report-summary-item,.report-summary-item:first-child{min-width:0;padding:8px 7px;border:1px solid #ccd8d1;border-radius:6px;background:#fff;text-align:center}
.report-summary-item span{display:flex;align-items:center;justify-content:center;min-height:26px;font-size:8px;line-height:1.2;font-weight:800;color:#52635a;white-space:normal;overflow-wrap:anywhere}
.report-summary-item strong{display:block;margin:3px 0 2px;font-size:20px;line-height:1;color:#173a28}
.report-summary-item small{display:block;min-height:12px;font-size:7.7px;line-height:1.2;color:#707e76;white-space:normal;overflow-wrap:anywhere}

/* Report register: wrap meaningful text, keep short numeric fields compact. */
.report-register-table{width:100%;table-layout:fixed;border-collapse:collapse}
.report-register-table col.report-col-track{width:13.5%}.report-register-table col:nth-child(2){width:18%}.report-register-table col.report-col-date{width:8.5%}.report-register-table col.report-col-source{width:9.5%}.report-register-table col.report-col-unit{width:13%}.report-register-table col.report-col-status{width:10.5%}.report-register-table col.report-col-duration{width:6.5%}.report-register-table col.report-col-duration+col.report-col-duration{width:6%}.report-register-table col.report-col-action{width:14.5%}
.report-register-table th,.report-register-table td{min-width:0;vertical-align:top;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.report-register-table .report-status-cell{text-align:left;padding-inline:4px}
.report-register-table .report-status-cell .badge{display:inline-block;width:auto;max-width:100%;white-space:normal;text-align:left;line-height:1.2;padding:3px 5px}
.report-register-table .report-duration-cell{text-align:center;white-space:nowrap;padding-inline:2px}

/* PDF clone uses print-like geometry even though html2canvas uses screen media. */
.pdf-render-host{position:fixed!important;left:-100000px!important;top:0!important;z-index:-1!important;background:#fff!important;overflow:visible!important}
.pdf-render-source{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#fff!important;color:#111!important;font-family:var(--report-font)!important}
.pdf-render-source .no-print{display:none!important}
.pdf-render-source .report-summary-strip{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;margin-bottom:8px!important}
.pdf-render-source .report-summary-item{padding:6px 4px!important;border-radius:4px!important}
.pdf-render-source .report-summary-item span{min-height:24px!important;font-size:7.5px!important}.pdf-render-source .report-summary-item strong{font-size:18px!important}.pdf-render-source .report-summary-item small{font-size:7px!important}
.pdf-render-source .official-report-brand{grid-template-columns:80px minmax(0,1fr) 80px!important}.pdf-render-source .official-report-brand img{width:74px!important;height:78px!important}.pdf-render-source .complaint-record-brand{grid-template-columns:78px minmax(0,1fr) 78px!important}.pdf-render-source .complaint-record-brand img{width:72px!important;height:76px!important}
.pdf-render-source .report-register-table{font-size:8.5px!important}.pdf-render-source .report-register-table th{font-size:7.3px!important;padding:4px!important;line-height:1.18!important}.pdf-render-source .report-register-table td{font-size:8.35px!important;padding:4.5px 4px!important;line-height:1.33!important}.pdf-render-source .report-register-table .badge{font-size:7.3px!important}
.pdf-render-source .print-table-title-row{display:table-row!important}.pdf-render-source .report-table-heading-screen{display:none!important}
.pdf-render-source .print-table-title-row th{padding:5px 6px!important;background:#eaf2ed!important;color:#173e2b!important;text-align:left!important;text-transform:none!important;letter-spacing:0!important}.pdf-render-source .print-table-title-row th strong{display:block!important;font-size:8.7px!important}.pdf-render-source .print-table-title-row th small{display:block!important;margin-top:1px!important;font-size:7px!important;color:#56675e!important;text-transform:none!important;letter-spacing:0!important}
.pdf-render-source .record-particulars-table{font-size:8.7px!important}.pdf-render-source .record-particulars-table th{font-size:7.1px!important}.pdf-render-source .record-particulars-table th,.pdf-render-source .record-particulars-table td{padding:4px 5px!important}.pdf-render-source .record-body-box p{font-size:9.2px!important;line-height:1.55!important}.pdf-render-source .movement-table,.pdf-render-source .attachment-index{font-size:8.45px!important}.pdf-render-source .movement-table th,.pdf-render-source .attachment-index th{font-size:7.2px!important}.pdf-render-source .movement-table th,.pdf-render-source .movement-table td,.pdf-render-source .attachment-index th,.pdf-render-source .attachment-index td{padding:4px 4.5px!important;line-height:1.38!important}

@media screen and (max-width:680px){.login-shell{padding:26px 0 38px}.login-card{padding:23px 19px;border-radius:14px}.login-intro h1{font-size:23px}}

@media print{
  @page{size:A4 portrait;margin:15mm 15mm 17mm}
  html,body{font-family:var(--report-font)!important}
  .report-paper,.report-paper *{font-family:var(--report-font)!important}
  .report-paper,.report-paper.report-landscape,.report-paper.report-portrait,.report-paper.complaint-record-paper{width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#fff!important}
  .official-report-brand{grid-template-columns:82px minmax(0,1fr) 82px!important;gap:13px!important}.official-report-brand img{width:76px!important;height:80px!important;max-width:76px!important;max-height:80px!important}
  .complaint-record-brand{grid-template-columns:80px minmax(0,1fr) 80px!important;gap:12px!important}.complaint-record-brand img{width:74px!important;height:78px!important;max-width:74px!important;max-height:78px!important}
  .report-gov{font-size:12.8px!important}.report-dept{font-size:18px!important}.report-cell{font-size:11.5px!important}.report-title{font-size:15.8px!important}.report-subtitle{font-size:10.2px!important}
  .report-summary-strip{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;width:100%!important;margin:0 0 8px!important;border:0!important;overflow:visible!important;break-inside:avoid!important;page-break-inside:avoid!important;background:transparent!important}
  .report-summary-item,.report-summary-item:first-child{display:block!important;min-width:0!important;padding:6px 4px!important;border:1px solid #aeb9b3!important;border-radius:4px!important;background:#fff!important;text-align:center!important}
  .report-summary-item span{display:flex!important;align-items:center!important;justify-content:center!important;min-height:24px!important;font-size:7.5px!important;line-height:1.18!important}.report-summary-item strong{font-size:18px!important}.report-summary-item small{font-size:7.1px!important;line-height:1.16!important}
  .report-paper .table{font-size:8.8px!important}.report-paper .table th{font-size:7.5px!important}.report-paper .table th,.report-paper .table td{padding:4.5px 4px!important;line-height:1.34!important}
  .report-register-table{table-layout:fixed!important;width:100%!important}.report-register-table col.report-col-track{width:13.5%!important}.report-register-table col:nth-child(2){width:18%!important}.report-register-table col.report-col-date{width:8.5%!important}.report-register-table col.report-col-source{width:9.5%!important}.report-register-table col.report-col-unit{width:13%!important}.report-register-table col.report-col-status{width:10.5%!important}.report-register-table col.report-col-duration{width:6.5%!important}.report-register-table col.report-col-duration+col.report-col-duration{width:6%!important}.report-register-table col.report-col-action{width:14.5%!important}
  .report-register-table .report-status-cell{text-align:left!important;padding-inline:4px!important}.report-register-table .report-status-cell .badge{display:inline-block!important;width:auto!important;max-width:100%!important;padding:2.5px 4px!important;font-size:7.35px!important;line-height:1.2!important;white-space:normal!important;text-align:left!important}.report-register-table .report-duration-cell{white-space:nowrap!important;padding-inline:2px!important}
  /* Let tables begin in remaining first-page space and continue naturally. */
  .print-table-section{break-inside:auto!important;page-break-inside:auto!important}
  .report-register-table,.movement-table,.attachment-index{break-inside:auto!important;page-break-inside:auto!important}
  .report-register-table thead,.movement-table thead,.attachment-index thead{display:table-header-group!important}
  .report-register-table tfoot,.movement-table tfoot,.attachment-index tfoot{display:table-footer-group!important}
  .report-register-table tbody,.movement-table tbody,.attachment-index tbody{display:table-row-group!important}
  .report-register-table tr,.movement-table tr,.attachment-index tr{break-inside:avoid!important;page-break-inside:avoid!important;page-break-after:auto!important}
  .print-table-title-row{display:table-row!important}
  .print-table-title-row th{padding:5px 6px!important;border:1px solid #aebbb4!important;border-bottom-color:#9cada3!important;background:#eaf2ed!important;color:#173e2b!important;text-align:left!important;text-transform:none!important;letter-spacing:0!important;line-height:1.2!important}
  .print-table-title-row th strong{display:block!important;font-size:8.8px!important;font-weight:900!important}.print-table-title-row th small{display:block!important;margin-top:1px!important;color:#56675e!important;font-size:7px!important;font-weight:650!important;text-transform:none!important;letter-spacing:0!important}
  .report-table-heading-screen{display:none!important}
  .record-particulars-table{font-size:8.7px!important}.record-particulars-table th{font-size:7.1px!important}.record-particulars-table th,.record-particulars-table td{padding:4px 5px!important}.record-body-box p{font-size:9.2px!important;line-height:1.56!important}.movement-table,.attachment-index{font-size:8.45px!important}.movement-table th,.attachment-index th{font-size:7.2px!important}.movement-table th,.movement-table td,.attachment-index th,.attachment-index td{padding:4.1px 4.6px!important;line-height:1.38!important}
  .record-section{break-inside:auto!important;page-break-inside:auto!important}.record-body-box,.supplementary-block,.record-particulars{break-inside:avoid!important;page-break-inside:avoid!important}
  .evidence-sheet{break-before:page!important;page-break-before:always!important;break-after:auto!important;page-break-after:auto!important}.evidence-sheet:last-child{break-after:auto!important;page-break-after:auto!important}
  .copyright-print,.record-footer-note{orphans:2;widows:2}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
.pdf-render-source .table-wrap{overflow:visible!important;max-width:none!important}
.pdf-render-source a{color:#111!important;text-decoration:none!important}
.pdf-render-source .tracking-id{color:#0a5b37!important}

/* v2.0.1 - typography rollback and paged-table border hardening */
/* Restore the pre-v2 application font stack. Report typography remains separate. */
:root{--ui-font:Inter,Segoe UI,Roboto,Arial,sans-serif}
body,button,input,select,textarea{font-family:var(--ui-font)}
@media print{
  /* Separate cell borders survive page fragmentation more reliably than collapsed borders. */
  .report-register-table,.movement-table,.attachment-index{border-collapse:separate!important;border-spacing:0!important;border:0!important}
  .report-register-table th,.report-register-table td,
  .movement-table th,.movement-table td,
  .attachment-index th,.attachment-index td{border:0!important;border-right:1px solid #aebbb4!important;border-bottom:1px solid #aebbb4!important;background-clip:padding-box!important}
  .report-register-table tr>*:first-child,
  .movement-table tr>*:first-child,
  .attachment-index tr>*:first-child{border-left:1px solid #aebbb4!important}
  .report-register-table thead tr:first-child>*,
  .movement-table thead tr:first-child>*,
  .attachment-index thead tr:first-child>*{border-top:1px solid #aebbb4!important}
  .report-register-table tbody tr:last-child>*,
  .movement-table tbody tr:last-child>*,
  .attachment-index tbody tr:last-child>*{border-bottom:1px solid #aebbb4!important}
}

/* v2.0.2 — consolidated UI/UX polish layer (screen only; report/print/PDF rules unchanged) */
@media screen {
  :root{
    --ui-font:Inter,"Segoe UI",Roboto,Arial,sans-serif;
    --ui-bg:#f5f7f6;
    --ui-surface:#ffffff;
    --ui-surface-soft:#f8faf9;
    --ui-text:#1e2d25;
    --ui-text-2:#44534b;
    --ui-muted:#6d7972;
    --ui-border:#dde5e0;
    --ui-border-strong:#cfdad4;
    --ui-green:#006633;
    --ui-green-dark:#004c2a;
    --ui-green-soft:#edf7f1;
    --ui-danger:#b42318;
    --ui-warning:#945500;
    --ui-info:#175cd3;
    --ui-radius:12px;
    --ui-radius-sm:8px;
    --ui-shadow:0 1px 2px rgba(15,40,27,.035),0 8px 24px rgba(15,40,27,.055);
    --ui-shadow-hover:0 2px 5px rgba(15,40,27,.05),0 12px 30px rgba(15,40,27,.075);
  }

  html{font-size:100%}
  body,button,input,select,textarea{font-family:var(--ui-font)}
  body{background:var(--ui-bg);color:var(--ui-text);font-size:14px;line-height:1.52;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
  p{line-height:1.58}
  strong,b{font-weight:650}
  h1,h2,h3,h4,h5,h6{color:#1c3327;font-weight:650;letter-spacing:-.012em}
  h1{font-weight:680}
  .muted,.help{color:var(--ui-muted)}
  a{transition:color .14s ease,background-color .14s ease,border-color .14s ease,box-shadow .14s ease}
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(0,102,51,.16);outline-offset:2px}

  /* Application shell */
  .app-sidebar{background:linear-gradient(180deg,#063e28 0%,#073824 100%);box-shadow:1px 0 0 rgba(255,255,255,.04)}
  .sidebar-brand{min-height:72px;border-bottom:1px solid rgba(255,255,255,.09)}
  .sidebar-brand strong{font-size:16px;font-weight:650;letter-spacing:.005em}
  .sidebar-brand small{font-size:10.5px;font-weight:450;color:#b7cfc2}
  .side-section-title{color:#8fb0a0;font-size:9.5px;font-weight:650;letter-spacing:.075em}
  .side-link{min-height:42px;gap:11px;border-radius:8px;color:#d7e6de;font-size:12.7px;font-weight:520;line-height:1.25}
  .side-link:hover{background:rgba(255,255,255,.075)}
  .side-link.active{background:#fff;color:#064c2e;font-weight:620;box-shadow:0 4px 14px rgba(0,0,0,.09)}
  .side-link.active:before{width:3px;background:#78c497}
  .side-count{font-weight:650}
  .sidebar-edge-toggle{width:25px;height:42px;border-color:#cfdcd5;background:#fff;color:#174f35;box-shadow:2px 2px 8px rgba(17,53,35,.09)}
  .sidebar-edge-toggle:hover{background:#f2f8f4;box-shadow:2px 4px 12px rgba(17,53,35,.11)}

  .app-topbar{height:62px;border-color:var(--ui-border);background:rgba(255,255,255,.985);box-shadow:0 1px 5px rgba(20,48,34,.035)}
  .topbar-context{gap:9px}
  .topbar-context strong{font-size:13.5px;font-weight:620;color:#233b2e}
  .topbar-context span{font-size:10.5px;font-weight:450;color:var(--ui-muted)}
  .topbar-notification{border-color:var(--ui-border);border-radius:9px;color:#385549;box-shadow:none}
  .topbar-notification:hover{border-color:#c9d9d0;background:#f6faf8}
  .account-trigger{border-radius:9px}
  .account-avatar{border-radius:8px;background:#e8f3ed;font-weight:650}
  .account-copy strong{font-size:11.5px;font-weight:620}
  .account-copy small{font-size:9.5px;font-weight:450}
  .account-dropdown{border-color:var(--ui-border);border-radius:11px;box-shadow:0 18px 42px rgba(16,45,30,.14)}
  .account-dropdown-head strong{font-weight:650}
  .account-dropdown-head span{font-weight:550}
  .account-dropdown-links a{font-size:11.5px;font-weight:550}

  /* Page hierarchy */
  .page-head{padding:21px 0;background:#fff;border-color:var(--ui-border)}
  .page-head h1{font-size:24px;line-height:1.2;font-weight:670;color:#193a29}
  .page-head p{margin-top:5px;max-width:850px;color:var(--ui-muted);font-size:12.5px;line-height:1.5}
  .content{padding-top:22px;padding-bottom:46px}
  .section-title{margin-bottom:14px;align-items:center}
  .section-title h2{font-size:19px;font-weight:650;line-height:1.25}
  .section-title p{margin-top:3px;font-size:12px;line-height:1.45}
  .eyebrow{font-size:10px;font-weight:650;letter-spacing:.085em}

  /* Cards and surfaces */
  .card,.stat-card,.metric-card,.table-wrap{border-color:var(--ui-border);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}
  .card{padding:19px}
  .card h2{font-size:18px;font-weight:650}
  .card h3{font-size:15px;font-weight:650}
  .card h4{font-size:13px;font-weight:620}
  .grid-2,.grid-3{gap:16px}
  .notice{border-radius:10px}
  hr{border:0;border-top:1px solid var(--ui-border);margin:18px 0}

  /* Buttons and segmented controls */
  .btn{min-height:40px;padding:9px 14px;border-radius:8px;font-size:12.5px;font-weight:620;line-height:1.15;letter-spacing:0;box-shadow:none;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .08s ease}
  .btn:hover{filter:none;box-shadow:0 2px 8px rgba(14,51,31,.08)}
  .btn-primary{background:var(--ui-green);border-color:var(--ui-green);color:#fff}
  .btn-primary:hover{background:#005a2d;border-color:#005a2d}
  .btn-outline{background:#fff;border-color:#c7d6ce;color:#174d34}
  .btn-outline:hover{background:#f5faf7;border-color:#a9c6b6}
  .btn-danger{background:var(--ui-danger);border-color:var(--ui-danger)}
  .btn-sm{min-height:32px;padding:6px 10px;font-size:11px;border-radius:7px}
  .mode-switch{gap:2px;padding:3px;border-color:var(--ui-border);border-radius:9px;box-shadow:none;background:#f7f9f8}
  .mode-option,.mode-switch .btn{border-radius:7px;font-size:11.5px;font-weight:580}
  .mode-option.active{box-shadow:0 1px 3px rgba(17,53,35,.08)}
  .section-action-link{min-height:34px;padding:7px 10px;border-color:#d1dfd7;border-radius:8px;font-size:11.5px;font-weight:600;background:#fff}
  .section-action-link:hover{background:#f4faf6;border-color:#afcab9;transform:none}

  /* Forms */
  .form-grid{gap:15px 14px}
  .form-group{gap:6px}
  .form-group label,.track-form label{color:#34483d;font-size:12px;font-weight:600;line-height:1.3}
  input,select,textarea{min-height:44px;padding:9px 11px;border-color:#cbd7d0;border-radius:8px;color:#213128;font-size:13px;line-height:1.35;box-shadow:0 1px 0 rgba(16,45,30,.015)}
  input::placeholder,textarea::placeholder{color:#8a958f;opacity:1}
  textarea{min-height:128px;line-height:1.5}
  input:hover,select:hover,textarea:hover{border-color:#b7c9bf}
  input:focus,select:focus,textarea:focus{border-color:#2a8058;box-shadow:0 0 0 3px rgba(0,102,51,.09)}
  .help{font-size:10.8px;line-height:1.45}
  .form-actions{gap:8px;margin-top:18px;padding-top:16px;border-color:var(--ui-border)}
  .filters{border-color:var(--ui-border);box-shadow:none}
  .complaint-filters{gap:12px 10px}
  .complaint-filters input[type=date]{font-size:12.5px}

  /* Operational tables */
  .table-wrap{overflow:auto;background:#fff}
  .table{color:#26372f}
  .table th,.table td{border-bottom-color:#e7ece9;text-align:left}
  .table th{padding:10px 11px;background:#f6f8f7;color:#536159;font-size:10.8px;font-weight:620;line-height:1.25;text-transform:none;letter-spacing:0;white-space:nowrap}
  .table td{padding:11px;font-size:12.6px;line-height:1.42;vertical-align:middle}
  .table tbody tr:hover{background:#f8fbf9}
  .table td small{margin-top:3px;font-size:10.5px;line-height:1.35}
  .table-register th{padding:10px 11px;font-size:10.7px;font-weight:620;letter-spacing:0}
  .table-register td{padding:11px;font-size:12.4px;line-height:1.42;color:#2a3931}
  .table-register tbody tr:hover,.dashboard-recent-table-wrap .table-recent tbody tr:hover{background:#f7fbf9;box-shadow:inset 3px 0 0 #3b8f66}
  .tracking-id,.table-register .tracking-id{padding:4px 7px;border-color:#d3e0d9;border-radius:6px;background:#f5f9f7;color:#075331;font-size:10.8px;font-weight:600;letter-spacing:-.015em}
  .complaint-subject{font-size:12.8px;font-weight:600;line-height:1.4;color:#22352a}
  .source-chip{padding:4px 7px;border-color:#dde5e1;border-radius:6px;background:#fafcfb;color:#4d5c54;font-size:10.6px;font-weight:520;line-height:1.3}
  .date-main{font-size:11.6px;font-weight:600}
  .section-cell{font-size:11.7px!important;font-weight:500!important;line-height:1.36!important;color:#3d4f45!important}
  .status-cell{text-align:left!important;white-space:normal}
  .badge{width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:600;line-height:1.25;white-space:normal;text-align:left}
  .duration-chip{min-width:48px;padding:4px 6px;border-color:#d8e3dd;border-radius:6px;background:#f6f9f7;font-weight:500}
  .duration-chip strong{font-size:11.5px;font-weight:650}.duration-chip small{font-size:9px!important;font-weight:500}
  .priority-note,.source-inline{font-size:10px!important;font-weight:450!important}
  .empty{color:#75827b;font-size:12px}

  /* Dashboard */
  .dashboard-topbar{margin-bottom:14px;padding:0}
  .dashboard-view-copy strong{font-size:12.5px;font-weight:620}.dashboard-view-copy span{font-size:10.5px;color:var(--ui-muted)}
  .management-strip{padding:14px 16px;border-color:#d4e3da;border-radius:10px;background:#f4faf6}
  .management-strip h3{font-size:13.5px;font-weight:650}.management-strip p{font-size:11px}
  .dashboard-kpis{gap:11px}
  .metric-card{padding:16px;border-radius:11px;box-shadow:var(--ui-shadow);overflow:hidden}
  .metric-card:hover{transform:translateY(-1px);border-color:#cbd9d1;box-shadow:var(--ui-shadow-hover)}
  .metric-label{font-size:10.8px;font-weight:600;text-transform:none;letter-spacing:0;color:#5e6c64}
  .metric-icon{width:29px;height:29px;border-radius:8px;font-size:13px;font-weight:650;background:#eef7f2}
  .metric-card strong{margin-top:9px;font-size:28px;font-weight:680;letter-spacing:-.02em;color:#183a28}
  .metric-card small{margin-top:5px;font-size:10.5px;line-height:1.35}
  .metric-action{font-size:10.5px;font-weight:600}
  .chart-grid{gap:14px}
  .chart-card{border-radius:11px;box-shadow:var(--ui-shadow)}
  .chart-card-head{padding:16px 17px 0}
  .chart-card-head h3{font-size:14.5px;font-weight:650}
  .chart-card-head p{font-size:10.8px;line-height:1.4}
  .chart-click-hint{font-size:9.5px;font-weight:550;color:#6b7a72}
  .dashboard-recent-table-wrap .table-recent th{font-size:10.5px;font-weight:620;letter-spacing:0;background:#f5f8f6}
  .dashboard-recent-table-wrap .table-recent td{font-size:12.1px;line-height:1.4}
  .dashboard-recent-table-wrap .complaint-subject{font-size:12.5px;font-weight:600}
  .dashboard-recent-table-wrap .status-cell .badge{font-size:9.8px!important;font-weight:600!important;padding:4px 7px!important;line-height:1.22!important}

  /* Complaint detail and timeline */
  .sla{border-radius:10px;border-color:#d6e2db;background:#f8fbf9;box-shadow:none}
  .sla>div:first-child strong,.sla>div:first-child{font-weight:650}
  .complaint-view-card{border-radius:11px}
  .complaint-view-card .meta{padding:10px 11px;border-color:#e0e7e3;border-radius:8px;background:#f8faf9}
  .meta label{font-size:9.8px;font-weight:600;letter-spacing:.035em}
  .meta strong{font-size:12.5px;font-weight:580;line-height:1.4;color:#2b3e33}
  .complaint-view-card .meta strong{font-size:12px;font-weight:560}
  .privacy-shield{font-weight:600}
  .identity-protected-panel{border-radius:9px}
  .timeline:before{background:#dce5e0}
  .timeline-dot{background:#257a52;border-color:#e3f2e9}
  .timeline-item{padding-bottom:19px}
  .timeline-item h4{font-size:12.5px;font-weight:620}
  .timeline-item p{font-size:12px;line-height:1.52;color:#46564e}
  .timeline-item small{font-size:10.5px}
  .doc-row{border-color:#e0e7e3}
  .doc-row strong{font-weight:600}
  .attachment-description{font-size:11.5px;line-height:1.42}
  .info-request-card{border-color:#dce5e0;border-radius:10px}
  .info-request-head{background:#f7faf8}
  .info-request-head strong{font-size:12px;font-weight:620}
  .info-request-state{font-size:9px;font-weight:600;letter-spacing:.025em}

  /* Admin and settings */
  .settings-summary>div,.permission-row,.role-card{border-color:#e0e7e3;background:#f9fbfa}
  .settings-summary span{font-size:9.8px;font-weight:600;letter-spacing:.025em}
  .settings-summary strong{font-size:12px;font-weight:600}
  .master-form-head h3,.role-card h3{font-weight:650}

  /* Login and public site */
  .govbar{font-size:11.5px}
  .navbar{border-color:var(--ui-border);box-shadow:0 1px 7px rgba(20,48,34,.045)}
  .brand strong{font-size:17px;font-weight:650}.brand small{font-size:10.8px;font-weight:450}
  .nav-link{font-size:12.5px;font-weight:560;border-radius:8px}
  .nav-link.active{font-weight:620}
  .hero{padding:58px 0 64px;background:linear-gradient(135deg,#005c32 0%,#064329 100%)}
  .hero h1{font-size:clamp(33px,4vw,49px);font-weight:680;letter-spacing:-.025em}
  .hero p{font-size:15.5px;line-height:1.6}
  .contact-card{border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.11)}
  .login-shell{padding:42px 0 52px}
  .login-card{width:min(420px,100%);padding:27px;border-color:var(--ui-border);border-radius:13px;box-shadow:0 14px 38px rgba(18,53,35,.075)}
  .login-intro{margin-bottom:20px;padding-bottom:16px}
  .login-eyebrow{font-size:9.5px;font-weight:650;letter-spacing:.075em}
  .login-intro h1{font-size:23px;font-weight:670;letter-spacing:-.015em}
  .login-intro p{font-size:11.8px;line-height:1.5}
  .login-form{gap:14px}
  .login-form label{font-size:12px;font-weight:600}
  .login-submit{font-weight:620}
  .login-register{font-size:11.2px}.login-register a{font-weight:600}
  .footer-shortcuts a{font-weight:550}.footer-title{font-weight:620}.copyright{font-weight:400}

  /* Feedback / state components */
  .flash{padding:11px 13px;border-radius:8px;font-size:12px;line-height:1.45}
  .active-filter{border-radius:8px;font-size:11.5px}
  .active-filter a{font-weight:600}
  .char-counter{font-weight:500}

  /* Motion should remain restrained and optional. */
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  }
}

@media screen and (max-width:1120px){
  .dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media screen and (max-width:900px){
  .app-topbar{height:60px}
  .page-head h1{font-size:23px}
  .card{padding:18px}
}
@media screen and (max-width:680px){
  body{font-size:13.5px}
  .container{width:min(100% - 24px,1180px)}
  .page-head{padding:17px 0}.page-head h1{font-size:21px}.page-head p{font-size:12px}
  .content{padding-top:17px;padding-bottom:34px}
  .card{padding:16px;border-radius:10px;box-shadow:0 1px 2px rgba(17,53,35,.035)}
  .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .metric-card{padding:13px}.metric-card strong{font-size:25px}.metric-label{font-size:10.2px}.metric-action{font-size:10px}
  .chart-card-head{padding:14px 14px 0}
  .form-grid{grid-template-columns:1fr}
  .form-group.full{grid-column:auto}
  input,select,textarea{font-size:13px}
  .btn{min-height:40px}
  .login-shell{padding:25px 0 36px}.login-card{padding:22px 18px}
}
@media screen and (max-width:430px){
  .dashboard-kpis{grid-template-columns:1fr}
  .metric-card{display:grid;grid-template-columns:1fr auto;column-gap:10px}
  .metric-card .metric-head{grid-column:1/-1}.metric-card strong{grid-column:1}.metric-card small{grid-column:1}.metric-action{grid-column:1;margin-top:7px}
  .page-head h1{font-size:20px}
}

/* v2.0.3 — report readability + complaint register pagination */
.report-paper .report-register-table th{font-size:8px!important;font-weight:700!important;line-height:1.2!important;padding:4.5px 4px!important;color:#35483e!important}
.report-paper .report-register-table .report-source{font-size:7.7px!important;font-weight:560!important;line-height:1.28!important;color:#4f5e56!important}
.report-paper .report-register-table .report-complaint-cell{font-size:8.35px!important;line-height:1.34!important;color:#26382e!important}
.report-paper .report-register-table .report-complaint-subject{display:block;font-weight:650;line-height:1.34;color:#20372a}
.report-paper .report-register-table .report-complaint-cell small{display:block;margin-top:2px;font-size:7.45px!important;font-weight:500!important;line-height:1.25!important;color:#6a7770!important}
.report-paper .report-breakdown-grid{gap:9px!important}
.report-paper .report-breakdown-card{padding:11px 12px!important}
.report-paper .report-breakdown-card h3{margin:0 0 7px!important;font-size:11.8px!important;font-weight:700!important;line-height:1.25!important;color:#174b31!important}
.report-paper .report-breakdown-row{gap:10px;padding:2.5px 0!important;font-size:9.5px!important;line-height:1.32!important}
.report-paper .report-breakdown-row span{min-width:0;line-height:1.32!important;overflow-wrap:anywhere}
.report-paper .report-breakdown-row strong{flex:0 0 auto;font-size:9.5px!important;font-weight:700!important;line-height:1.32!important}

@media screen {
  .register-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;min-height:38px}
  .register-count{color:var(--ui-muted,#6d7972);font-size:11.8px;line-height:1.4}
  .register-count strong{color:#2b4034;font-weight:650}
  .register-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
  .page-size-form{display:flex;align-items:center;gap:7px;margin:0;color:#65736b;font-size:11.2px;white-space:nowrap}
  .page-size-form label{font-weight:600;color:#47584f}
  .page-size-form select{width:auto;min-width:68px;min-height:34px;height:34px;padding:5px 28px 5px 9px;border-radius:7px;font-size:11.5px;background-color:#fff}
  .pagination-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 0 0}
  .pagination-pages{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}
  .pagination-btn,.pagination-page{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid #d2ddd7;border-radius:7px;background:#fff;color:#2f493b;font-size:11.2px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .14s ease,border-color .14s ease,color .14s ease}
  .pagination-btn{padding:7px 10px;white-space:nowrap}
  .pagination-page{min-width:34px;padding:7px}
  .pagination-btn:hover,.pagination-page:hover{background:#f3f8f5;border-color:#b6cabf;color:#075431;text-decoration:none}
  .pagination-page.active{background:#006633;border-color:#006633;color:#fff;box-shadow:0 1px 3px rgba(0,77,42,.12)}
  .pagination-btn.disabled{pointer-events:none;color:#9aa59f;background:#f7f9f8;border-color:#e1e7e4}
  .pagination-ellipsis{display:inline-grid;place-items:center;min-width:25px;color:#89958e;font-size:12px}
}
@media screen and (max-width:680px){
  .register-toolbar{align-items:flex-start;flex-direction:column;gap:9px}
  .register-toolbar-actions{width:100%;justify-content:space-between}
  .pagination-wrap{flex-wrap:wrap;justify-content:center}
  .pagination-pages{order:3;width:100%;overflow-x:auto;padding-bottom:2px}
  .pagination-btn{flex:1 1 120px;max-width:180px}
}


/* v2.0.4 — report table typography refinement */
/* Keep report typography restrained: headers are stronger, while dense date/office values stay secondary and readable. */
.report-paper .report-register-table{font-family:inherit}
.report-paper .report-register-table th{font-size:8.25px!important;font-weight:750!important;line-height:1.2!important;letter-spacing:.005em!important;color:#2d4437!important}
.report-paper .report-register-table .report-date-cell{font-size:7.55px!important;font-weight:500!important;line-height:1.28!important;color:#536159!important}
.report-paper .report-register-table .report-unit-cell{font-size:7.7px!important;font-weight:500!important;line-height:1.3!important;color:#405148!important}

/* v2.0.5 — report-preview balance, responsive shell spacing, public hero contrast and footer standardization */
@media screen {
  /* Report preview: one deliberate typography scale for dense official records. */
  .report-paper .report-register-table th{
    font-size:8.55px!important;
    font-weight:700!important;
    line-height:1.24!important;
    letter-spacing:.003em!important;
    color:#263d31!important;
    padding:5px 4.5px!important;
  }
  .report-paper .report-register-table td{
    font-size:8.1px!important;
    line-height:1.36!important;
    padding:5px 4.5px!important;
    color:#2a3931!important;
  }
  .report-paper .report-register-table .tracking-id{
    font-size:7.85px!important;
    font-weight:650!important;
    line-height:1.2!important;
  }
  .report-paper .report-register-table .report-complaint-cell{
    font-size:8.25px!important;
    line-height:1.38!important;
    color:#24372c!important;
  }
  .report-paper .report-register-table .report-complaint-subject{
    font-size:8.35px!important;
    font-weight:650!important;
    line-height:1.38!important;
    color:#1f382a!important;
  }
  .report-paper .report-register-table .report-complaint-cell small{
    margin-top:2px!important;
    font-size:7.35px!important;
    font-weight:450!important;
    line-height:1.28!important;
    color:#6b7770!important;
  }
  .report-paper .report-register-table .report-date-cell{
    font-size:7.8px!important;
    font-weight:500!important;
    line-height:1.3!important;
    color:#526058!important;
  }
  .report-paper .report-register-table .report-source{
    font-size:7.75px!important;
    font-weight:520!important;
    line-height:1.3!important;
    color:#536159!important;
  }
  .report-paper .report-register-table .report-unit-cell{
    font-size:7.9px!important;
    font-weight:500!important;
    line-height:1.33!important;
    color:#405047!important;
  }
  .report-paper .report-register-table .report-status-cell .badge{
    font-size:7.45px!important;
    font-weight:650!important;
    line-height:1.22!important;
    padding:2.5px 4px!important;
  }
  .report-paper .report-register-table .report-duration-cell{
    font-size:7.9px!important;
    font-weight:520!important;
    line-height:1.25!important;
  }
  .report-paper .report-register-table .report-action-cell{
    font-size:8px!important;
    line-height:1.38!important;
    color:#34443b!important;
  }
  .report-paper .report-summary-item span{font-size:8px!important;font-weight:700!important;line-height:1.2!important}
  .report-paper .report-summary-item strong{font-size:19.5px!important;font-weight:750!important}
  .report-paper .report-summary-item small{font-size:7.55px!important;font-weight:500!important;line-height:1.2!important}
  .report-paper .report-breakdown-grid{gap:10px!important}
  .report-paper .report-breakdown-card{padding:11px 12px!important}
  .report-paper .report-breakdown-card h3{margin-bottom:7px!important;font-size:11.5px!important;font-weight:700!important;line-height:1.25!important}
  .report-paper .report-breakdown-row{padding:2.8px 0!important;font-size:9.4px!important;line-height:1.34!important}
  .report-paper .report-breakdown-row strong{font-size:9.4px!important;font-weight:700!important}
  .report-paper .report-table-heading-screen h2{font-size:13px!important;font-weight:700!important;line-height:1.2!important}
  .report-paper .report-table-heading-screen p{font-size:8.8px!important;line-height:1.35!important}

  /* Collapsed navigation keeps the crest optically centered in the rail. */
  .sidebar-collapsed .sidebar-brand{justify-content:center;padding:11px 8px}
  .sidebar-collapsed .sidebar-brand a{width:100%;justify-content:center;gap:0}
  .sidebar-collapsed .sidebar-brand img{display:block;margin-inline:auto}

  /* Dashboard view selector and common dashboard surfaces need real internal gutters. */
  .dashboard-topbar{padding:10px 12px!important;gap:12px}
  .dashboard-view-copy{padding:1px 2px;min-width:0}
  .dashboard-view-copy strong{line-height:1.3}
  .dashboard-view-copy span{line-height:1.35}
  .dashboard-recent-table-wrap{margin-top:2px}
  .chart-card-head{padding-left:17px;padding-right:17px}

  /* Public landing page: KP green identity with high-contrast white headline. */
  .hero{background:linear-gradient(135deg,#006633 0%,#004b2a 58%,#063c29 100%)}
  .hero h1{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.08)}
  .hero .eyebrow{color:#c9e6d6}
  .hero p{color:#e4f1ea}
  .hero .contact-card{background:rgba(255,255,255,.105);border-color:rgba(255,255,255,.23)}

  /* Standard public-service footer: clear hierarchy, restrained links and contact information. */
  .footer{margin-top:auto;background:linear-gradient(180deg,#073824 0%,#052f20 100%);color:#edf5f0;border-top:3px solid #0c6d42}
  .footer-inner{padding:29px 0 0;text-align:center}
  .footer-main{display:grid;justify-items:center;gap:16px;max-width:900px;margin-inline:auto;padding-bottom:23px}
  .footer-information{max-width:720px;margin:0 auto}
  .footer-kicker{display:block;margin-bottom:4px;color:#9ecab2;font-size:9.5px;font-weight:650;letter-spacing:.085em;text-transform:uppercase}
  .footer-title{display:block;color:#fff;font-size:14px;font-weight:650;line-height:1.3}
  .footer-province{display:block;margin-top:2px;color:#d3e5db;font-size:11.2px;font-weight:500;line-height:1.35}
  .footer-service{max-width:680px;margin:7px auto 0!important;color:#bcd0c5!important;font-size:11.2px;line-height:1.55}
  .footer-shortcuts{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;margin:0;padding:10px 15px;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10)}
  .footer-shortcuts a{position:relative;padding:2px 14px;color:#dce9e2;font-size:11px;font-weight:550;line-height:1.4;text-decoration:none}
  .footer-shortcuts a+a:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:1px;background:rgba(255,255,255,.18)}
  .footer-shortcuts a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
  .footer-contact{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;gap:8px 22px;margin:0!important;color:#d5e4dc!important}
  .footer-contact-item{display:flex;flex-direction:column;align-items:center;min-width:180px;max-width:340px}
  .footer-contact-item small{color:#8fb3a0;font-size:9.2px;font-weight:550;line-height:1.3;text-transform:uppercase;letter-spacing:.055em}
  .footer-contact-item strong{margin-top:2px;color:#f1f7f4;font-size:10.8px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
  .copyright{max-width:none;margin:0;padding:11px 14px;border-top:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.08);color:#93aa9e;font-size:9.8px;font-weight:400;line-height:1.45}

  /* Authenticated footer follows the same quiet information hierarchy. */
  .app-footer{border-top-color:#dbe5df;background:#fff}
  .app-footer-inner{min-height:50px;padding:11px 18px;color:#718078;font-size:10px;line-height:1.4}
}

@media screen and (max-width:900px){
  .dashboard-topbar{padding:10px 11px!important}
  .footer-main{gap:15px}
}
@media screen and (max-width:680px){
  .dashboard-topbar{padding:10px!important}
  .dashboard-view-copy{padding:0}
  .footer-inner{padding-top:24px}
  .footer-main{gap:14px;padding:0 4px 20px}
  .footer-shortcuts{width:100%;padding:9px 5px}
  .footer-shortcuts a{padding:3px 10px;font-size:10.7px}
  .footer-contact{display:grid;width:100%;gap:9px}
  .footer-contact-item{min-width:0;max-width:none}
  .copyright{font-size:9.4px}
}
@media screen and (max-width:430px){
  .footer-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 0}
  .footer-shortcuts a{padding:5px 8px}
  .footer-shortcuts a+a:before{display:none}
  .footer-title{font-size:13.2px}
}

/* v2.0.6 — public hero action contrast and simplified government-service footer */
@media screen {
  /* Complaint Channels must remain readable against the green/glass hero surface. */
  .hero .contact-card h3{
    color:#fff!important;
    font-weight:700;
    letter-spacing:-.01em;
  }

  /* Public hero actions use one predictable interaction model: white surface + KP green text on hover/focus. */
  .hero-actions .btn{
    transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .08s ease;
  }
  .hero-actions .btn-primary,
  .hero-actions .btn-primary:visited{
    background:#fff;
    border-color:#fff;
    color:var(--green-dark);
  }
  .hero-actions .btn-outline,
  .hero-actions .btn-outline:visited{
    background:transparent;
    border-color:rgba(255,255,255,.62);
    color:#fff;
  }
  .hero-actions .btn-primary:hover,
  .hero-actions .btn-primary:focus-visible,
  .hero-actions .btn-outline:hover,
  .hero-actions .btn-outline:focus-visible{
    background:#fff!important;
    border-color:#fff!important;
    color:var(--green-dark)!important;
    filter:none;
    box-shadow:0 7px 18px rgba(0,0,0,.14);
    text-decoration:none;
  }
  .hero-actions .btn-primary:active,
  .hero-actions .btn-outline:active{
    background:#f5faf7!important;
    color:var(--green-dark)!important;
  }

  /* Footer intentionally contains only departmental/service identity and the maintenance/version line. */
  .footer-main{
    gap:0;
    padding-bottom:20px;
  }
  .footer-information{
    margin:0 auto;
  }
  .footer-service{
    margin-top:8px!important;
  }
  .copyright{
    margin-top:0;
  }
}

/* v2.0.7 — official account credential controls */
.credential-panel{margin-top:3px;padding:16px;border:1px solid #d7e4dc;border-radius:12px;background:#f8fbf9}
.credential-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid #dde8e1}
.credential-panel-head>div{min-width:0}.credential-panel-head strong{display:block;color:#20372a;font-size:14px;font-weight:700}.credential-panel-head span{display:block;margin-top:3px;color:var(--muted);font-size:11.5px;line-height:1.45}.credential-required-note{flex:0 0 auto!important;margin-top:0!important;padding:5px 8px;border-radius:999px;background:#e7f4ec;color:#0a633a!important;font-size:10.5px!important;font-weight:700;white-space:nowrap}
.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field-with-action{display:flex;align-items:stretch;gap:7px;min-width:0}.field-with-action input{min-width:0;flex:1}.btn-field{flex:0 0 auto;min-height:42px;padding-inline:11px;font-size:11px}.credential-panel .help.is-success{color:#087443}.credential-panel .help.is-error{color:#b42318}.credential-panel input[name=username]{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:13px;letter-spacing:0}.credential-panel input[name=initial_password]{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:13px;letter-spacing:.01em}
@media(max-width:900px){.credential-grid{grid-template-columns:1fr}.credential-panel-head{align-items:flex-start}.credential-required-note{white-space:normal;text-align:right}}
@media(max-width:560px){.credential-panel{padding:13px}.credential-panel-head{display:block}.credential-required-note{display:inline-flex!important;margin-top:9px!important;text-align:left}.field-with-action{flex-wrap:wrap}.field-with-action input{flex:1 0 100%}.btn-field{flex:1 1 auto}}


/* v2.0.8 - optional first-login password reminder */
.account-password-notice{display:flex;flex-direction:column;gap:.3rem;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid var(--border,#dfe7e2);border-radius:10px;background:#f7faf8;color:var(--text,#24332c)}
.account-password-notice strong{font-size:.93rem;font-weight:650;color:#173d2e}
.account-password-notice span{font-size:.86rem;line-height:1.45;color:var(--muted,#63736b)}
.password-form-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}
@media (max-width:575.98px){.password-form-actions .btn{width:100%;justify-content:center}}

/* CCIPR v3.0.0 — multilingual report, QR verification and privacy-safe tracking */
.complaint-record-brand{grid-template-columns:82px minmax(0,1fr) 82px!important;align-items:center!important;gap:13px!important}
.complaint-record-brand:after{display:none!important;content:none!important}
.complaint-record-logo{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.complaint-record-heading{min-width:0;text-align:center}
.complaint-record-qr-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;color:#506158;font-size:7px;font-weight:700;line-height:1.1;text-align:center}
.complaint-record-qr{width:76px;height:76px;display:flex;align-items:center;justify-content:center;background:#fff;padding:2px;border:1px solid #d9e1dc;border-radius:4px;overflow:hidden}
.complaint-record-qr canvas,.complaint-record-qr img{display:block!important;width:72px!important;height:72px!important;max-width:72px!important;max-height:72px!important}
.tracking-security-panel{margin:12px 0 2px;padding:11px 12px;border:1px solid #c9ddd2;border-radius:10px;background:#f5faf7;color:#294b39}
.tracking-security-panel>div{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tracking-security-panel span{font-size:11px;font-weight:650;color:#53675c}
.tracking-security-panel strong{font:700 13px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.025em;color:#075c39;overflow-wrap:anywhere}
.tracking-security-panel p{margin:5px 0 0;font-size:10.5px;line-height:1.45;color:#617169}
/* Let the browser's Unicode bidi engine display Urdu/Arabic and mixed-language content naturally in preview/print. */
.prewrap,.record-body-box p,.record-particulars-table td,.movement-table td,.attachment-index td,.report-complaint-subject,.report-action-cell{unicode-bidi:plaintext;text-align:start}
@media(max-width:780px){.complaint-record-brand{grid-template-columns:72px minmax(0,1fr) 72px!important;gap:8px!important}.complaint-record-qr{width:68px;height:68px}.complaint-record-qr canvas,.complaint-record-qr img{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important}}
@media print{
  .complaint-record-brand{grid-template-columns:80px minmax(0,1fr) 80px!important;gap:12px!important}
  .complaint-record-qr-wrap{font-size:6.5px!important;color:#4d5d55!important}
  .complaint-record-qr{width:72px!important;height:72px!important;padding:2px!important;border:1px solid #cbd5cf!important;border-radius:3px!important}
  .complaint-record-qr canvas,.complaint-record-qr img{width:68px!important;height:68px!important;max-width:68px!important;max-height:68px!important}
}

/* CCIPR v3.0.1 - scanner-safe QR geometry and matched report-header marks */
.complaint-record-brand{
  grid-template-columns:140px minmax(0,1fr) 140px!important;
  align-items:center!important;
  gap:14px!important;
}
.complaint-record-logo,
.complaint-record-qr-wrap{
  width:140px!important;
  height:140px!important;
  min-width:140px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
}
.complaint-record-logo img{
  display:block!important;
  width:116px!important;
  height:116px!important;
  max-width:116px!important;
  max-height:116px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
}
.complaint-record-qr{
  box-sizing:border-box!important;
  width:140px!important;
  height:140px!important;
  padding:12px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
}
.complaint-record-qr canvas,
.complaint-record-qr img{
  display:block!important;
  width:116px!important;
  height:116px!important;
  max-width:116px!important;
  max-height:116px!important;
  margin:0!important;
  padding:0!important;
  image-rendering:pixelated;
}
/* Keep report paper geometry stable on narrow screens; the preview shell handles overflow. */
@media(max-width:780px){
  .complaint-record-brand{
    grid-template-columns:140px minmax(0,1fr) 140px!important;
    gap:10px!important;
  }
  .complaint-record-logo,
  .complaint-record-qr-wrap{width:140px!important;height:140px!important;min-width:140px!important}
  .complaint-record-logo img{width:116px!important;height:116px!important;max-width:116px!important;max-height:116px!important}
  .complaint-record-qr{width:140px!important;height:140px!important;padding:12px!important}
  .complaint-record-qr canvas,
  .complaint-record-qr img{width:116px!important;height:116px!important;max-width:116px!important;max-height:116px!important}
}
@media print{
  .complaint-record-brand{
    grid-template-columns:140px minmax(0,1fr) 140px!important;
    align-items:center!important;
    gap:14px!important;
  }
  .complaint-record-logo,
  .complaint-record-qr-wrap{width:140px!important;height:140px!important;min-width:140px!important;padding:0!important;margin:0!important}
  .complaint-record-logo img{width:116px!important;height:116px!important;max-width:116px!important;max-height:116px!important;margin:0 auto!important}
  .complaint-record-qr{width:140px!important;height:140px!important;padding:12px!important;border:0!important;border-radius:0!important;background:#fff!important}
  .complaint-record-qr canvas,
  .complaint-record-qr img{width:116px!important;height:116px!important;max-width:116px!important;max-height:116px!important;margin:0!important}
}

/* CCIPR v3.0.2 — stable report QR rendering, compact PDF parity and public tracking form */
.complaint-record-qr canvas,
.complaint-record-qr img{display:none!important}
.complaint-record-qr svg{
  display:block!important;
  width:116px!important;
  height:116px!important;
  max-width:116px!important;
  max-height:116px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  shape-rendering:crispEdges;
}
.track-form{
  grid-template-columns:minmax(240px,.82fr) minmax(340px,1.18fr) auto;
  align-items:start;
  column-gap:12px;
  row-gap:8px;
}
.track-form>div{min-width:0}
.track-form>div>input{width:100%}
.track-form>.btn{margin-top:24px;min-width:88px}
@media(max-width:900px){
  .track-form{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .track-form>.btn{grid-column:1/-1;width:max-content;margin-top:0;justify-self:end}
}
@media(max-width:720px){
  .track-form{grid-template-columns:1fr}
  .track-form>.btn{grid-column:auto;width:100%;justify-self:stretch;margin-top:0}
}
@media print{
  .complaint-record-qr svg{
    display:block!important;
    width:116px!important;
    height:116px!important;
    max-width:116px!important;
    max-height:116px!important;
    margin:0!important;
    padding:0!important;
  }
}

/* CCIPR v3.0.3 — direction-aware multilingual complaint records */
.subject-value:dir(rtl),
.record-body-box p:dir(rtl),
.supplementary-block p:dir(rtl),
.info-response p:dir(rtl),
.movement-table td:dir(rtl),
.attachment-index td:dir(rtl),
.evidence-sheet-description p:dir(rtl){
  direction:rtl;
  text-align:right;
  unicode-bidi:plaintext;
}

/* CCIPR v3.0.4 — balanced complaint-report marks and controlled title spacing */
.complaint-record-brand{grid-template-columns:112px minmax(0,1fr) 112px!important;gap:12px!important;align-items:center!important}
.complaint-record-logo,.complaint-record-qr-wrap{width:112px!important;height:112px!important;min-width:112px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important}
.complaint-record-logo img{width:92px!important;height:92px!important;max-width:92px!important;max-height:92px!important;object-fit:contain!important;object-position:center!important;margin:0 auto!important}
.complaint-record-qr{box-sizing:border-box!important;width:112px!important;height:112px!important;padding:10px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;border:0!important;border-radius:0!important;overflow:visible!important}
.complaint-record-qr svg{display:block!important;width:92px!important;height:92px!important;max-width:92px!important;max-height:92px!important;margin:0!important;padding:0!important;background:#fff!important;shape-rendering:crispEdges}
.complaint-record-title-gap{display:block;height:6px;min-height:6px;font-size:6px;line-height:6px;margin:0;padding:0;overflow:hidden}
.complaint-record-title{margin-top:0!important}
@media print{.complaint-record-brand{grid-template-columns:112px minmax(0,1fr) 112px!important;gap:12px!important}.complaint-record-logo,.complaint-record-qr-wrap{width:112px!important;height:112px!important;min-width:112px!important}.complaint-record-logo img{width:92px!important;height:92px!important;max-width:92px!important;max-height:92px!important}.complaint-record-qr{width:112px!important;height:112px!important;padding:10px!important}.complaint-record-qr svg{width:92px!important;height:92px!important;max-width:92px!important;max-height:92px!important}.complaint-record-title-gap{height:6px!important;min-height:6px!important;font-size:6px!important;line-height:6px!important}}
