/* Official Asset V Roads: structural ten-screen rebuild.
 * Not a skin of the legacy cards. Every page has an independent composition.
 * Reference screens: Road Operations, register, TMH9, engineering, defects,
 * validation, GIS, audit, reports and administration.
 */
:root{--av2-navy:#091e31;--av2-navy2:#0e2a42;--av2-ink:#102a46;--av2-teal:#02a6b6;--av2-cyan:#08d5d9;--av2-soft:#eef9fa;--av2-line:#e2e9f0;--av2-muted:#617b93;--av2-bg:#f5f8fc}
body{background:var(--av2-bg);color:var(--av2-ink)}
#app{display:grid!important;grid-template-columns:235px minmax(0,1fr)!important;min-height:100vh}
#app>.av2-original-sidebar{display:none!important}
#app>.workspace{grid-column:2;min-width:0;max-width:none!important;width:100%;background:var(--av2-bg)}
#app .global-bar{display:none!important}
#app .av2-sidebar{grid-column:1;grid-row:1;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:70;background:linear-gradient(161deg,#0e2e47,#071b2c 70%,#0b384b);color:#eefaff;display:flex;flex-direction:column;scrollbar-width:thin;box-shadow:4px 0 18px #07223518}
.av2-brand{padding:17px 12px 20px;min-height:141px;display:grid;place-items:center;gap:4px;text-align:center;border-bottom:1px solid #ffffff13}
.av2-brand img{max-width:201px;width:100%;height:109px;object-fit:contain;border-radius:10px;background:#fff;filter:drop-shadow(0 3px 8px #07192344)}
.av2-brand span{font-size:11px;color:#96bac8;line-height:1.4}
.av2-brand span b{color:#defcff;font-weight:750}
.av2-nav-caption{font-size:10px;letter-spacing:.18em;font-weight:800;color:#78aab9;padding:19px 16px 8px}
#av2Nav{padding:0 11px;display:grid;gap:5px}
.av2-nav-btn{border:0;background:transparent;border-radius:9px;color:#d7e8f4;min-height:49px;display:flex;align-items:center;gap:12px;text-align:left;padding:11px 12px;font-size:12.5px;font-weight:650;line-height:1.3;width:100%}
.av2-nav-btn i{display:flex;align-items:center;flex:0 0 18px;justify-content:center;font-style:normal;font-size:19px;color:#b9d5ec}
.av2-nav-btn i svg{width:19px;height:19px}
.av2-nav-btn span{flex:1;min-width:0}
.av2-nav-btn:hover,.av2-nav-btn:focus-visible{background:#18445b;color:#fff}
.av2-nav-btn.active{background:linear-gradient(111deg,#02b2c7,#039cad);color:#fff;box-shadow:0 6px 18px #00899638;font-weight:780}
.av2-nav-btn.active i{color:#fff}
.av2-sidebar-end{margin-top:auto;min-height:210px;background:radial-gradient(ellipse at 54% 95%,#246985 0,transparent 75%),linear-gradient(172deg,#0f293f,#071c2d);border-top:1px solid #ffffff15;padding:20px 16px;display:flex;justify-content:end;flex-direction:column}
.av2-scenic{font-size:15px;font-weight:780;line-height:1.7;border-left:4px solid #05d9de;padding-left:12px;color:#f7ffff;text-shadow:0 1px 2px #04101b}
.av2-sidebar-end p{font-size:10px;color:#8ab8c6;margin-top:13px}
#app .av2-header{position:sticky;top:0;z-index:61;display:flex;align-items:center;gap:22px;height:72px;background:#fffdfef7;border-bottom:1px solid #e1e9ee;padding:12px clamp(17px,2vw,35px);box-shadow:0 1px 5px #19293a08;min-width:0}
.av2-search{display:flex;align-items:center;gap:10px;min-width:0;flex:1;max-width:610px;background:#f9fbfe;border:1px solid #dce5ec;border-radius:11px;padding:9px 13px;height:45px;color:#63819c}
.av2-search span{font-size:25px;line-height:1}
.av2-search input{font:inherit;font-size:13px;background:transparent;border:none;outline:none;color:#172f49;width:100%;min-width:0}
.av2-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:1;min-width:0}
#av2Connection{font-size:11px;font-weight:730;white-space:nowrap;color:#118d92}
.av2-header-btn{height:38px;width:38px;display:grid;place-items:center;border:none;background:transparent;border-radius:9px;color:#2d5377;font-size:24px}
.av2-header-btn:hover{background:#e3f6f7}
.av2-user{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#27415d;padding:4px 0 4px 7px;font-size:12px;min-width:0;text-align:left;font-weight:750}
.av2-user b{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:#163e62;color:white;display:grid;place-items:center;font-size:13px}
.av2-menu{display:none}
#app .view{padding:26px clamp(16px,2vw,34px) 40px;max-width:none;min-width:0}
#app .view.active{display:block}
.av2-page{max-width:1850px;margin:0 auto}
.av2-page-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 20px}
.av2-page-title h1{font-size:clamp(24px,2.3vw,34px);line-height:1.15;color:#092441;letter-spacing:-.045em;margin:5px 0 5px;font-weight:810}
.av2-page-title p{font-size:13px;line-height:1.5;color:#5e7891;max-width:930px;margin:0}
.av2-eyebrow{color:#058d9d;font-weight:800;letter-spacing:.095em;font-size:10px}
.av2-title-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.av2-btn{border:1px solid #d6e4ed;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;min-height:40px;font-size:12px;line-height:1.4;font-weight:750;white-space:normal;text-align:center;background:#fff;color:#254461;box-shadow:0 1px 3px #172f4b0d}
.av2-btn.primary{background:linear-gradient(115deg,#0694a7,#05c9d0);color:#fff;border-color:#038caa;box-shadow:0 5px 16px #07a4b41a}
.av2-btn:hover,.av2-btn:focus-visible{border-color:#00aaba;background:#e5fbfd;color:#06495c}
.av2-btn.primary:hover,.av2-btn.primary:focus-visible{background:#057d96;color:#fff}
.av2-btn:disabled{opacity:.55;cursor:not-allowed}
.av2-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:15px}
.av2-metric{background:#fff;border:1px solid var(--av2-line);border-radius:12px;padding:17px 17px;display:grid;align-content:start;min-height:125px;box-shadow:0 2px 8px #17344b0a;min-width:0}
.av2-metric span{font-size:12px;color:#3e5874;font-weight:760}
.av2-metric strong{font-size:clamp(23px,2.15vw,34px);line-height:1.2;letter-spacing:-.04em;color:#0e2947;margin:13px 0 6px;overflow-wrap:anywhere}
.av2-metric small{font-size:10px;color:#6b879b;line-height:1.5}
.av2-duo{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;margin-bottom:14px;align-items:stretch}
.av2-hero-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.av2-panel{background:#fff;min-width:0;border:1px solid var(--av2-line);border-radius:12px;box-shadow:0 1px 8px #18355109;margin-bottom:14px;overflow:hidden;padding:19px}
.av2-duo>.av2-panel{margin-bottom:0}
.av2-duo>div>.av2-panel{margin-bottom:14px}
.av2-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}
.av2-panel-head h3{font-size:16px;color:#102d4c;font-weight:800;line-height:1.4;margin:0}
.av2-panel h4{font-size:16px;color:#193954}
.av2-panel p{font-size:12px;color:#56758e;line-height:1.65;margin-bottom:14px}
.av2-road-hero{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-radius:12px;min-height:290px;padding:30px;color:white;background:radial-gradient(ellipse at 80% 23%,#1f7590 0,transparent 66%),linear-gradient(112deg,#092136,#0d4058 73%,#12627d);position:relative;overflow:hidden}
.av2-road-hero:after{content:'';position:absolute;right:-50px;bottom:-115px;width:440px;height:290px;border:22px solid #a4d9e5;border-left:0;border-top:0;border-radius:60% 0 50% 75%;opacity:.17;transform:rotate(-14deg)}
.av2-road-hero>span{font-size:11px;letter-spacing:.14em;font-weight:750;color:#bafcff}
.av2-road-hero h2{color:white;font-size:clamp(21px,2.2vw,31px);max-width:530px;line-height:1.25;letter-spacing:-.035em;margin:15px 0 8px;position:relative;z-index:2}
.av2-road-hero p{font-size:13px;color:#e5f4f9;max-width:470px;line-height:1.6;position:relative;z-index:2}
.av2-road-hero .av2-btn{margin-top:15px;position:relative;z-index:2}
.av2-road-hero small{margin-top:16px;color:#bfe7ed;font-size:10px}
.av2-map-summary{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:230px;border-radius:9px;background:radial-gradient(#d3e9e6 1px,transparent 1px),linear-gradient(135deg,#edf9f8,#e5eff7);background-size:18px 18px,auto;padding:23px;text-align:center}
.av2-network-icon{font-size:53px;line-height:1;color:#009db3;margin-bottom:10px}
.av2-map-summary p{max-width:390px}
.av2-map-summary .av2-btn{margin-top:8px}
.av2-list-row{padding:13px 0;border-bottom:1px solid #e7edf3;display:flex;align-items:center;gap:12px}
.av2-list-row:last-child{border-bottom:0}
.av2-list-row>b{height:35px;width:35px;display:grid;place-items:center;flex:0 0 35px;background:#e0f8f8;color:#058b95;border-radius:50%}
.av2-list-row div{display:grid;gap:4px;flex:1;min-width:0}
.av2-list-row strong{font-size:12px;color:#21425d}
.av2-list-row small{font-size:11px;color:#65819a}
.av2-safety{background:#e7f4ff;border:1px solid #d4e8f4;color:#375e83;font-size:12px;line-height:1.65;padding:15px 18px;border-radius:11px;margin:10px 0 18px}
.av2-actions-four{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.av2-actions-four .av2-btn{min-height:63px;background:#e8f9f9;white-space:normal}
.av2-actions-four .av2-btn:nth-child(2){background:#eaf4fe}
.av2-actions-four .av2-btn:nth-child(3){background:#f0eafb}
.av2-actions-four .av2-btn:nth-child(4){background:#fff5e9}
.av2-filterbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;background:#fff;border:1px solid var(--av2-line);border-radius:11px;margin-bottom:14px;padding:14px}
.av2-filterbar label{display:grid;gap:6px;color:#425b73;font-size:11px;font-weight:740;flex:1 1 155px;min-width:135px}
.av2-filterbar input,.av2-filterbar select{height:41px;width:100%;border:1px solid #d8e3ec;border-radius:7px;padding:8px 10px;background:#fbfdff;color:#1b3552;font-size:12px}
.av2-filterbar .av2-btn{min-height:41px}
.av2-table-scroll{width:100%;max-width:100%;overflow-x:auto}
.av2-table{width:100%;border-collapse:collapse;font-size:12px;min-width:620px}
.av2-table th{padding:12px 10px;background:#f2f6f9;color:#445e77;text-align:left;font-weight:750;font-size:11px;white-space:nowrap}
.av2-table td{padding:12px 10px;border-bottom:1px solid #e8eef3;color:#35536c;line-height:1.4}
.av2-table td strong{color:#174a76}
.av2-table tbody tr:hover{background:#edfafe}
.av2-pill{border-radius:7px;padding:6px 8px;background:#fff4e1;color:#986307;font-size:10px;font-weight:800;display:inline-block;white-space:nowrap}
.av2-pill.good{color:#178555;background:#e3f8ec}
.av2-pill.bad{color:#c84448;background:#ffe9eb}
.av2-pill.warn{color:#9c6311;background:#fff3df}
.av2-text-btn{border:0;background:transparent;color:#007b98;font-weight:770;cursor:pointer}
.av2-selected{display:grid;gap:10px}
.av2-selected p{font-size:12px}
.av2-subheading{font-size:11px;color:#67909c;margin-left:8px;font-weight:450}
.av2-camera-art{display:grid;place-items:center;text-align:center;min-height:225px;border-radius:12px;background:linear-gradient(130deg,#103449,#0b2e42);margin-bottom:15px;position:relative;overflow:hidden;padding:25px}
.av2-camera-art:before{content:'';width:200px;height:130px;border:3px solid #2ce1df;position:absolute;border-radius:18px;opacity:.8}
.av2-camera-art:after{content:'';position:absolute;background:#1ed8d7;width:140px;height:2px;box-shadow:0 0 10px #1deee4}
.av2-camera-art p{color:#d3f8f9;font-size:12px;position:relative;z-index:1;margin-top:150px}
.av2-camera-corners{color:#8df8f5;font-size:34px;position:absolute;top:45px}
.av2-process,.av2-compliance-steps{display:grid;gap:11px;margin:0 0 17px;padding:4px 0 4px 20px;color:#365c73;font-size:12px;line-height:1.5}
.av2-process li{padding:4px 0}
.av2-compliance-steps{padding:0}
.av2-compliance-steps p{margin:0;padding:11px 13px;border-radius:8px;border:1px solid #e0ecee;background:#f6fbfc}
.av2-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:6px 0 19px}
.av2-stepper span{background:#e6f8f7;color:#08798e;border:1px solid #c6e7e9;padding:13px 9px;text-align:center;border-radius:9px;font-weight:800;font-size:11px}
.av2-gis-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,.55fr);gap:15px;min-width:0}
.av2-gis-main{min-width:0}
.av2-live-gis{min-width:0;min-height:460px}
.av2-live-gis .gis-layout{display:block!important;width:100%;min-width:0;margin:0}
.av2-live-gis .gis-map-card{min-width:0;width:100%}
.av2-live-gis .native-map{height:clamp(420px,53vh,660px)!important}
.av2-live-gis .gis-side{display:none!important}
.av2-map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:18px}
.av2-map-actions .av2-btn{white-space:normal}
.av2-reports-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.av2-reports-grid button{border:1px solid #dce9ed;background:#f8fbfd;display:flex;align-items:center;gap:12px;padding:18px 14px;min-height:73px;border-radius:10px;text-align:left;color:#1c465b;font-weight:770;font-size:12px}
.av2-reports-grid button>span{flex:1}
.av2-reports-grid button>b{color:#058ca4;font-size:17px}
.av2-reports-grid button:hover{background:#e4fbfb;border-color:#6fe4e4}
.av2-tools{max-width:1850px;margin:18px auto 10px;border:1px solid #d4e6ed;border-radius:12px;background:#fff;box-shadow:0 2px 8px #13253709}
.av2-tools>summary{cursor:pointer;padding:17px 21px;font-size:13px;font-weight:800;color:#0c637d;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}
.av2-tools>summary::-webkit-details-marker{display:none}
.av2-tools>summary span{font-weight:600;color:#06889e}
.av2-tools[open]>summary{border-bottom:1px solid #dae9ee;background:#edfbfb}
.av2-original{padding:18px;min-width:0}
.av2-original>.hero-row,.av2-original>.page-heading{margin-top:0}
.av2-original>.dashboard-grid{margin-top:15px}
.av2-admin-live{padding:0}
.av2-toast{position:fixed;bottom:18px;right:20px;z-index:150;color:#fff;background:#0c354d;border-radius:10px;font-size:12px;padding:11px 16px;max-width:360px;box-shadow:0 8px 20px #142b4c26}
.av2-toast:empty{display:none}
@media(max-width:1300px){#app{grid-template-columns:218px minmax(0,1fr)!important}.av2-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.av2-reports-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.av2-duo,.av2-hero-row{grid-template-columns:minmax(0,1fr)}.av2-gis-layout{grid-template-columns:minmax(0,1fr)}.av2-header-actions{flex:0 1 auto}.av2-map-panel{min-height:230px}.av2-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){
 #app{display:block!important}
 #app .av2-sidebar{position:fixed;left:0;top:0;bottom:0;width:min(310px,88vw);z-index:120;transform:translateX(-103%);transition:transform .18s ease}
 body.av2-menu-open #app .av2-sidebar{transform:translateX(0)}
 body.av2-menu-open:after{content:'';position:fixed;inset:0;background:#071a2d99;z-index:119}
 #app>.workspace{width:100%;max-width:none}
 .av2-menu{display:grid;place-items:center;border:1px solid #d3e4ee;background:#fff;color:#126a83;border-radius:8px;width:42px;height:40px;font-size:20px}
 #app .av2-header{gap:11px;padding-inline:12px;height:65px}
 .av2-search{height:40px;flex:1;min-width:0}
 .av2-header-actions{gap:1px}
 .av2-header-actions #av2Connection{display:none}
 .av2-user span{display:none}
 .av2-header-actions .av2-header-btn{width:29px}
 .av2-user b{height:33px;width:33px;flex-basis:33px}
 #app .view{padding:18px 12px 90px}
 .av2-page-title{flex-direction:column;align-items:flex-start}
 .av2-title-actions{justify-content:flex-start}
 .av2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .av2-metric{padding:14px;min-height:112px}
 .av2-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}
 .av2-original{padding:11px}
 .av2-reports-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:390px){.av2-search input{font-size:11px}.av2-stats{gap:8px}.av2-header-btn:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){#app .av2-sidebar{transition:none}}

/* Retain road-scope hiding for legacy financial modules, while explicitly allowing
   the dedicated rebuilt Validation screen and functional workbench to render. */
#app #view-reconciliation > .av2-page,
#app #view-reconciliation > .av2-tools{display:block!important}


/* Verified-source map snapshot: plot observed coordinate points without
   inventing street shapes, traffic, basemaps or surveyed road alignment. */
.av2-map-panel{display:flex;flex-direction:column;min-width:0}
.av2-map-panel>.av2-btn{align-self:flex-end;margin-top:10px}
.av2-map-panel .av2-map-summary{display:block;flex:1;min-height:260px;padding:0;overflow:hidden;border:1px solid #d5ebe8;background:#ecf7f5;text-align:left}
.av2-geo-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 13px;background:#edf9f5;color:#21485c;font-size:11px}
.av2-geo-head span{color:#456e76;font-size:10px}
.av2-map-panel .av2-map-summary svg{display:block;width:100%;height:auto;max-height:305px}
.av2-geo-legend{display:flex;gap:13px;align-items:center;justify-content:center;padding:9px 5px;background:white;font-size:10px;color:#3e6676}
.av2-geo-legend span{display:inline-flex;align-items:center;gap:6px}
.av2-geo-legend i{display:inline-block;width:9px;height:9px;border-radius:50%}
.av2-geo-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:12px;text-align:center}
.av2-geo-empty span{color:#039cb1;font-size:34px}
.av2-geo-empty h4{font-size:14px!important;margin:0;color:#204962}
.av2-geo-empty p{font-size:11px;max-width:350px;margin:0}
.av2-map-panel .av2-map-disclaimer{font-size:10px;line-height:1.5;color:#557a86;margin:11px 0 0}


/* Hidden states must remain hidden even where flex/grid declarations would
   override the user agent's default [hidden] rule. */
.av2-nav-btn[hidden],.av2-btn[hidden],.av2-reports-grid button[hidden]{display:none!important}


/* 2026-10-19 · Asset V Roads white + turquoise visual system.
 * Overrides the prior navy-only nav in the active ten-screen shell.
 */
:root{
 --av2-navy:#096e75;--av2-navy2:#087e84;--av2-ink:#183a43;
 --av2-teal:#00b9b5;--av2-cyan:#00d4cb;--av2-soft:#ecfcfa;
 --av2-line:#dcefed;--av2-muted:#54747a;--av2-bg:#f5fbfa;
}
body,#app>.workspace{background:#f6fbfa!important;color:#163c41}
#app .av2-sidebar{
 background:#fff!important;color:#234b50!important;
 border-right:1px solid #d8edeb;box-shadow:3px 0 24px rgba(8,118,121,.035);
}
.av2-brand{background:#fff;border-bottom:1px solid #e3f3f0!important;min-height:172px;padding:19px 11px 13px;gap:2px}
.av2-brand img{width:100%!important;max-width:211px!important;height:125px!important;object-fit:contain!important;object-position:center;border-radius:0!important;background:transparent!important;filter:none!important}
.av2-brand span,.av2-brand span b{color:#32828a!important}
.av2-nav-caption{color:#66a7a7!important;padding-top:20px}
.av2-nav-btn{color:#47636a!important}
.av2-nav-btn i{color:#18a5a9!important}
.av2-nav-btn:hover,.av2-nav-btn:focus-visible{background:#eefbf9!important;color:#08787e!important}
.av2-nav-btn.active{background:linear-gradient(100deg,#e4faf5,#f4fdfa)!important;color:#007d7e!important;box-shadow:inset 3px 0 0 #04bcb3!important;font-weight:820;border-radius:9px}
.av2-nav-btn.active i{color:#00a6a5!important}
.av2-sidebar-end{
 min-height:178px!important;background:linear-gradient(155deg,#f1fffc,#eaf8f6)!important;
 border-top:1px solid #d8edeb!important
}
.av2-scenic{color:#05797c!important;text-shadow:none!important;border-left-color:#00c6bd!important}
.av2-sidebar-end p{color:#648f91!important}
#app .av2-header{background:#fff!important;border-bottom-color:#e1efed!important}
.av2-search{background:#f8fffe!important;border-color:#d6ebe8!important;color:#258e92!important}
.av2-search input{color:#143d43!important}
.av2-header-btn{color:#148e92!important}
.av2-user{color:#245f64!important}
.av2-user b{background:linear-gradient(145deg,#00c8bd,#028c93)!important;color:white}
.av2-btn.primary{background:linear-gradient(130deg,#06c8bd,#04969d)!important;border-color:#04a6a5!important}
.av2-btn.primary:hover{background:#008b8d!important}
.av2-camera-art{background:linear-gradient(140deg,#0b656a,#03a6a7)!important}
.av2-road-hero{background:linear-gradient(122deg,#047c80,#00b5ad)!important}
.av2-tools>summary{color:#008c8d}
.av2-tools[open]>summary{background:#effaf8}

/* Administration left navigation uses the same light treatment. */
.av-admin .av-admin-nav{background:#fff!important;border-right:1px solid #d8edeb!important}
.av-admin .av-admin-brand h2{color:#174d52!important}
.av-admin .av-admin-brand p,.av-admin .av-admin-copy{color:#61878b!important}
.av-admin .av-admin-navbtn{color:#426f74!important}
.av-admin .av-admin-navbtn.active{background:#e4faf5!important;color:#007f82!important}
.av-admin .av-admin-navfoot{background:#f1fffc!important;color:#21858a!important}

/* Full-screen camera: body, navigation, panels and toolbars are completely replaced visually. */
body.av-camera-open{overflow:hidden!important;touch-action:none}
#scannerModal{position:fixed!important;inset:0!important;z-index:10000!important}
#scannerModal.open{display:block!important}
#scannerModal .scan-modal-card{
 position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
 transform:none!important;margin:0!important;border:0!important;border-radius:0!important;
 width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;
 padding:0!important;display:flex!important;flex-direction:column!important;
 overflow:hidden!important;background:#061b1d!important;box-shadow:none!important
}
#scannerModal .av-camera-header{
 background:#fff;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;
 padding:calc(9px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 9px max(14px,env(safe-area-inset-left));
 border-bottom:1px solid #e3f3f0;z-index:5;box-shadow:0 2px 16px #061d2020
}
#scannerModal .av-camera-brand{display:flex;align-items:center;gap:9px;min-width:0;color:#0d5a5e}
#scannerModal .av-camera-brand img{display:block;width:42px;height:42px;object-fit:contain;border-radius:8px;background:white}
#scannerModal .av-camera-brand strong,#scannerModal .av-camera-brand small{display:block;white-space:nowrap}
#scannerModal .av-camera-brand strong{font-weight:850;font-size:15px}
#scannerModal .av-camera-brand small{font-size:11px;color:#5d8c8e;margin-top:2px}
#scannerModal .av-camera-mode-switch{background:#effaf9;border:1px solid #cdebe7;border-radius:999px;padding:4px;display:flex;gap:3px}
#scannerModal .av-camera-mode-switch button{border:0;background:transparent;border-radius:999px;min-height:40px;min-width:98px;padding:8px 15px;color:#4d7c80;font-size:14px;font-weight:750}
#scannerModal .av-camera-mode-switch button[aria-pressed="true"]{background:#03aaa8;color:#fff;box-shadow:0 4px 14px #00a4a229}
#scannerModal .av-camera-close{width:44px;height:44px;flex:none;border:1px solid #dcecea;border-radius:50%;color:#146a70;background:#fff;font-size:22px;line-height:1;display:grid;place-items:center}
#scannerModal .live-camera{flex:1!important;min-height:0!important;height:auto!important;width:100%!important;border-radius:0!important;background:#031314!important;position:relative!important;overflow:hidden}
#scannerModal .live-camera video{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
#scannerModal .live-target{width:min(80vw,500px)!important;height:min(45vh,340px)!important;max-height:54%;pointer-events:none;transition:opacity .15s}
#scannerModal.av-camera-mode-photo .live-target{opacity:0}
#scannerModal .live-target i{width:40px;height:40px;border-color:#00e4d5!important}
#scannerModal .av-camera-guide{position:absolute;left:0;right:0;top:clamp(18px,5vh,65px);text-align:center;color:#fff;background:#041f21a8;padding:9px 17px;margin:0 auto;font-size:clamp(13px,2vw,16px);border-radius:99px;max-width:90%;width:max-content;line-height:1.45}
#scannerModal .camera-status{left:50%!important;bottom:18px!important;transform:translateX(-50%);text-align:center;padding:9px 15px!important;max-width:90%;font-size:12px!important;background:#072a2bcf!important;color:#eafffd;white-space:normal}
#scannerModal .scanner-controls{position:relative;z-index:6;flex:0 0 auto;display:flex!important;align-items:center;justify-content:center!important;gap:22px!important;margin:0!important;padding:18px max(18px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));min-height:108px;background:#fff;border-top:1px solid #d8eeeb}
#scannerModal .scanner-controls .button{min-height:45px!important;border-radius:12px!important;padding:0 18px!important;font-size:13px!important}
#scannerModal #manualScanFallback{display:block}
#scannerModal #startCameraBtn{display:none}
#scannerModal.av-camera-no-permission #startCameraBtn{display:block}
#scannerModal .av-camera-shutter{width:74px;height:74px;flex:0 0 74px;background:#fff;border:5px solid #02b9b1;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 4px #d9f8f5;cursor:pointer}
#scannerModal .av-camera-shutter span{display:block;width:55px;height:55px;background:#00bbb4;border-radius:50%;transition:transform .12s}
#scannerModal .av-camera-shutter:active span{scale:.82}
#scannerModal .manual-scan-row{position:absolute;z-index:7;left:0;right:0;bottom:calc(104px + env(safe-area-inset-bottom));margin:0!important;padding:14px 16px;background:#f5fffd;box-shadow:0 -8px 24px #06161725;grid-template-columns:minmax(0,1fr) auto}
#scannerModal .manual-scan-row input{height:46px!important;font-size:14px!important}
#scannerModal.av-camera-mode-photo #manualScanFallback{opacity:.5}
#scannerModal.av-camera-mode-photo #capturePhotoBtn{display:grid!important}
#scannerModal.av-camera-mode-barcode #capturePhotoBtn{display:none!important}
#scannerModal .scanner-controls label:not(.hidden){display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
#scannerModal button:focus-visible{outline:3px solid #1bcfc3;outline-offset:2px}
@media(max-width:820px){
 #scannerModal .av-camera-header{display:grid;grid-template-columns:1fr 46px;gap:7px;padding:calc(7px + env(safe-area-inset-top)) 12px 10px}
 #scannerModal .av-camera-brand{grid-column:1;grid-row:1}
 #scannerModal .av-camera-brand strong{font-size:13px}
 #scannerModal .av-camera-brand small{font-size:10px}
 #scannerModal .av-camera-mode-switch{grid-column:1/3;grid-row:2;width:100%;justify-content:center}
 #scannerModal .av-camera-mode-switch button{flex:1;min-height:42px}
 #scannerModal .av-camera-close{grid-column:2;grid-row:1;width:43px;height:43px}
 #scannerModal .scanner-controls{gap:12px!important;min-height:102px;padding:13px 11px calc(14px + env(safe-area-inset-bottom))}
 #scannerModal .scanner-controls .button{padding:0 11px!important}
 #scannerModal .manual-scan-row{bottom:calc(100px + env(safe-area-inset-bottom))}
 #scannerModal .live-target{width:74vw!important;height:35vh!important}
}
@media(max-height:530px) and (orientation:landscape){
 #scannerModal .av-camera-header{padding:4px 12px!important}
 #scannerModal .scanner-controls{min-height:70px;padding:6px 12px!important}
 #scannerModal .av-camera-shutter{width:57px;height:57px;flex-basis:57px}
 #scannerModal .av-camera-shutter span{width:40px;height:40px}
 #scannerModal .av-camera-guide{top:8px}
}

/* Capricorn District Municipality official navigation identity — 2026-10-19 */
#app .av2-sidebar .av2-brand{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;gap:3px!important;
  min-height:130px!important;padding:11px 12px 12px!important;
  border-bottom:1px solid #dceeea!important;background:#fff!important;
}
#app .av2-sidebar .av2-brand .av2-capricorn-crest{
  display:block!important;width:84px!important;max-width:84px!important;
  height:63px!important;min-height:0!important;max-height:63px!important;
  object-fit:contain!important;object-position:center!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  filter:none!important;flex:none!important;margin:0 auto 3px!important;
}
#app .av2-sidebar .av2-brand .av2-institution-name{
  color:#155e60!important;font-size:12px!important;font-weight:800!important;
  line-height:1.23!important;text-align:center!important;letter-spacing:0!important;
  max-width:100%!important;
}
#app .av2-sidebar .av2-brand .av2-institution-subtitle{
  color:#618b8a!important;font-size:10px!important;font-weight:600!important;
  line-height:1.3!important;text-align:center!important;letter-spacing:.005em!important;
}
#app .av2-original-sidebar .brand-lockup img.av-capricorn-menu-logo{
  width:72px!important;height:54px!important;object-fit:contain!important;
  border-radius:0!important;background:#fff!important;
}
#app .av2-original-sidebar .brand-lockup:has(.av-capricorn-menu-logo){
  padding-block:12px!important;min-height:94px!important;
}
@media(max-width:820px){
 #app .av2-sidebar .av2-brand{min-height:122px!important;padding:9px 10px 10px!important;}
 #app .av2-sidebar .av2-brand .av2-capricorn-crest{
  width:78px!important;max-width:78px!important;height:59px!important;max-height:59px!important;
 }
 #app .av2-sidebar .av2-brand .av2-institution-name{font-size:11.5px!important;}
 #app .av2-sidebar .av2-brand .av2-institution-subtitle{font-size:9.5px!important;}
}

/* 2026-10-20: readable administration text on the white/turquoise theme.
   Replace legacy dark-theme foregrounds across every administration workspace. */
.av-admin{
 --av-admin-ink:#183a43;--av-admin-muted:#45646b;--av-admin-accent:#006d73;
 background:#f5fbfa!important;color:var(--av-admin-ink)!important;
}
.av-admin :is(.av-admin-main,.av-admin-hero,.av-admin-card,.av-admin-metric,
 .av-mini,.av-role-card,.av-health-card,.av-admin-error,.av-search){
 background:#fff!important;border-color:#c9dedb!important;color:var(--av-admin-ink)!important;
}
.av-admin :is(h1,h2,h3,h4,h5,h6,strong,b,.av-checkrow strong,.av-mini strong,
 .av-admin-metric strong,.av-usercell strong,.av-toggle-row strong,
 .av-ref-list strong,.av-health-data strong){
 color:var(--av-admin-ink)!important;
}
.av-admin :is(p,small,label,code,.av-admin-copy,.av-mini span,.av-admin-metric span,
 .av-layer span,.av-detail-list span,.av-health-data span,.av-form label>span,
 .av-empty,.av-inline-note,.av-admin-loading,.av-admin-table td,.av-admin-table th,
 .av-admin-navfoot,.av-admin-brand p){
 color:var(--av-admin-muted)!important;
}
.av-admin :is(.av-admin-kicker,.av-linkbtn,.av-iconbtn,.av-ref-list button,
 .av-import-strip,.av-import-strip b,.av-usercell>span,.av-admin-navbtn:hover){
 color:var(--av-admin-accent)!important;
}
.av-admin :is(.av-linkbtn,.av-iconbtn,.av-import-strip,.av-usercell>span){
 background:#e7f6f3!important;
}
.av-admin :is(.av-search input,.av-form input,.av-form select,.av-form textarea){
 background:#fff!important;color:var(--av-admin-ink)!important;border-color:#91b4b1!important;
}
.av-admin input::placeholder,.av-admin textarea::placeholder{color:#526f75!important;opacity:1}
.av-admin :is(.av-perms span,.av-state.muted,.av-row-actions button){
 background:#eef5f4!important;color:var(--av-admin-muted)!important;border-color:#c9dedb!important;
}
.av-admin :is(.av-health.ok,.av-state.ok,.av-checkicon.ok){color:#176040!important;background:#e7f5ec!important}
.av-admin :is(.av-health.warn,.av-checkicon.warn,.av-alert.warn,.av-alert.warn strong){
 color:#79500c!important;background:#fff4dc!important;
}
.av-admin .av-rolechip{color:#254f86!important;background:#eaf1fb!important}
.av-admin .av-row-actions button:hover{color:var(--av-admin-accent)!important;border-color:#006d73!important}
.av-admin :is(button,input,select,textarea):focus-visible{outline:3px solid #006d73;outline-offset:3px}

/* Administration navigation: visible icons, labelled touch targets and lighter mobile paint. */
.av-admin [data-icon]{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center}
.av-admin [data-icon] svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.av-admin .av-admin-navbtn{transition:background-color .12s,color .12s}
@media(max-width:900px){
 .av-admin{box-shadow:none;border-radius:14px}
 .av-admin .av-admin-nav{padding:12px;min-width:0}
 .av-admin .av-admin-brand{padding:0 4px 12px}
 .av-admin .av-admin-brand h2{font-size:22px}
 .av-admin .av-admin-brand p{font-size:14px;line-height:1.45}
 .av-admin .av-admin-nav nav{display:flex;flex-direction:row;gap:8px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 2px 10px}
 .av-admin .av-admin-navbtn{display:flex;flex:0 0 auto;width:auto;min-height:44px;gap:8px;padding:10px 12px;font-size:13px;white-space:nowrap}
 .av-admin .av-admin-navbtn span:last-child{display:inline}
 .av-admin .av-admin-main{padding:18px 14px}
 .av-admin .av-admin-top{gap:12px;margin-bottom:18px}
 .av-admin .av-admin-top h1{font-size:26px}
 .av-admin .av-admin-top p{font-size:15px;line-height:1.5}
 .av-admin .av-admin-hero{box-shadow:none}
 .av-admin .av-admin-toolbar .button{white-space:normal;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.av-admin *{transition:none!important}}

/* Compact administration lists: native accessible disclosure controls. */
.av2-panel.av2-dropdown{padding:0;align-self:start}
.av2-dropdown>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:18px 19px;cursor:pointer;list-style:none;color:#183a43;font-size:16px;font-weight:800;line-height:1.4}
.av2-dropdown>summary::-webkit-details-marker{display:none}
.av2-dropdown>summary:focus-visible{outline:3px solid #006d73;outline-offset:-3px}
.av2-dropdown-chevron{width:9px;height:9px;border-right:2px solid #006d73;border-bottom:2px solid #006d73;transform:rotate(45deg);flex:0 0 auto;margin:0 4px 5px}
.av2-dropdown[open]>summary .av2-dropdown-chevron{transform:rotate(225deg);margin-bottom:0}
.av2-dropdown-content{padding:0 19px 19px}

/* Concept 08: compact workspace shell, shared across operational tabs. */
:root{--av2-ink:#10383e;--av2-muted:#596f79;--av2-bg:#fff;--av2-line:#dce8e9}
#app .workspace,#app .view{background:#fff!important}
#app .av8-header{height:64px!important;padding:8px 20px!important;gap:12px!important;background:#f0f9f8!important;box-shadow:none!important;overflow:visible}
.av8-header [data-icon]{display:inline-flex;width:22px;height:22px;flex:0 0 22px}
.av8-header svg,.av8-settings svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.av8-workspace{position:relative;margin-right:auto;min-width:0}
.av8-workspace>summary{display:flex;align-items:center;gap:10px;min-height:44px;border:1px solid #cbdfe0;border-radius:12px;padding:8px 12px;color:#10383e;cursor:pointer;list-style:none}
.av8-workspace>summary strong{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.av8-workspace-menu{position:absolute;top:calc(100% + 8px);left:0;width:280px;max-width:calc(100vw - 32px);max-height:65vh;overflow:auto;padding:12px;background:#fff;border:1px solid #dce8e9;border-radius:14px;box-shadow:0 12px 32px #10383e20;z-index:85}
.av8-workspace-menu small{display:block;padding:8px;color:#596f79}
.av8-workspace-menu button{display:flex;align-items:center;gap:10px;min-height:44px;width:100%;padding:10px;border:0;background:white;color:#10383e;text-align:left;font:inherit;border-radius:8px}
.av8-workspace-menu button:hover{background:#edf8f7}
.av8-search-toggle{position:relative}
.av8-search-toggle>summary{display:grid;place-items:center;min-width:44px;min-height:44px;list-style:none;cursor:pointer}
#app .av8-search-toggle .av2-search{display:flex!important;position:absolute;right:0;top:52px;width:min(320px,80vw);background:white!important;box-shadow:0 8px 20px #10383e20}
.av8-header .av2-header-actions{flex:0 0 auto;gap:8px}
.av8-header #av2UserRole{display:none}
#app .av8-header .av2-user b{background:#007f82!important;color:#fff!important;width:36px;height:36px;flex-basis:36px}
#app .av2-page-title{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px;margin:0 0 14px!important}
#app .av2-page-title h1{font-size:clamp(23px,2.5vw,30px)!important;line-height:1.2!important;margin:0!important;letter-spacing:-.025em;color:#10383e!important}
#app .av2-title-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}
.av8-help{position:relative}
.av8-help summary{list-style:none;min-width:32px;min-height:44px;display:grid;place-items:center;cursor:pointer;color:#42676e}
.av8-help p{position:absolute;right:0;top:40px;z-index:50;width:250px;padding:14px!important;border:1px solid #dce8e9;border-radius:10px;background:white;box-shadow:0 8px 20px #10383e20;font-size:14px!important}
#app .av2-stats{display:flex!important;gap:0!important;border-bottom:1px solid #dce8e9;padding:0 0 16px!important;margin:0 0 20px!important;overflow-x:auto;scrollbar-width:thin}
#app .av2-metric{flex:1 0 115px;min-height:0!important;border:0!important;border-right:1px solid #dce8e9!important;border-radius:0!important;padding:0 14px!important;background:transparent!important;box-shadow:none!important;display:flex!important;flex-direction:column-reverse;gap:3px}
#app .av2-metric:last-child{border-right:0!important}
#app .av2-metric small{display:none!important}
#app .av2-metric strong{font-size:24px!important;margin:0!important;line-height:1.2!important;color:#10383e!important}
#app .av2-metric span{font-size:13px!important;font-weight:500!important;line-height:1.3;color:#596f79!important}
#app .av2-btn{min-height:44px;padding:9px 13px;border-radius:9px;font-size:14px;box-shadow:none}
#app .av2-btn.primary{background:#008f94!important;border-color:#008f94!important;color:white!important}
.av8-settings{display:grid;gap:12px;max-width:960px}
.av8-setting-row,.av8-setting-card{border:1px solid #deeaeb;border-radius:12px;background:white;color:#10383e;width:100%;text-align:left}
.av8-setting-row,.av8-setting-card>summary{display:flex;align-items:flex-start;gap:14px;padding:18px;min-height:64px;font:inherit;cursor:pointer}
.av8-setting-card>summary{list-style:none}
.av8-setting-row>[data-icon],.av8-setting-card>summary>[data-icon],.av8-activity>[data-icon]{display:block;width:25px;height:25px;flex:0 0 25px;color:#10383e}
.av8-setting-row>span:nth-child(2),.av8-setting-card>summary>span:nth-child(2){flex:1;min-width:0}
.av8-settings strong{display:block;font-size:16px;line-height:1.35;color:#10383e}
.av8-settings small{display:block;font-size:14px;line-height:1.5;color:#596f79;margin-top:5px}
.av8-setting-row>b,.av8-chevron{font-size:22px;font-weight:400;color:#4f7078;margin-left:auto}
.av8-setting-card[open]>summary .av8-chevron{transform:rotate(180deg);color:#008f94}
.av8-setting-content{margin:0 16px 16px;padding:0 14px;background:#edf8f7;border-radius:10px}
.av8-setting-content .av8-setting-row{border:0;border-bottom:1px solid #d0e3e3;border-radius:0;background:transparent;padding:16px 0}
.av8-setting-content .av8-setting-row:last-child{border-bottom:0}
.av8-setting-content .av2-compliance-steps{padding-top:12px}
.av8-setting-content>.av2-btn{margin:8px 4px 12px}
.av8-activity{display:flex;align-items:center;gap:12px;padding:16px;background:#edf8f7;border-radius:10px}
.av8-activity>div{flex:1}
.av8-workspace summary::-webkit-details-marker,.av8-search-toggle summary::-webkit-details-marker,.av8-help summary::-webkit-details-marker,.av8-setting-card summary::-webkit-details-marker{display:none}
.av8-settings :is(button,summary):focus-visible,.av8-header :is(button,summary):focus-visible{outline:3px solid #00858a;outline-offset:2px}
@media(max-width:820px){
 #app .av8-header{padding:8px 12px!important;gap:6px!important;height:60px!important}
 #app .av8-header .av2-menu{min-width:32px;width:32px;height:44px;padding:0;border:0;background:transparent;font-size:23px}
 .av8-workspace>summary{padding:7px 9px;gap:7px}
 .av8-workspace>summary strong{font-size:15px;max-width:130px}
 .av8-workspace>summary [data-icon]{display:none}
 #app .av8-header #av2Connection,#app .av8-header .av2-header-btn{display:none}
 #app .view{padding:18px 16px 32px!important}
 #app .av2-title-actions .av2-btn{font-size:12px;padding:8px 10px}
 #app .av2-page-title>div:first-child{min-width:0;flex:1}
 #app .av2-page-title h1{font-size:24px!important}
 #app .av2-title-actions{max-width:52%}
 #app .av2-metric{flex:1 0 100px;padding:0 10px!important}
 #app .av8-admin-stats .av2-metric{flex:1 1 0;min-width:0}
 .av8-setting-row,.av8-setting-card>summary{padding:16px 14px;gap:12px}
 .av8-settings strong{font-size:15px}
 .av8-settings small{font-size:13px}
 #app .av2-road-hero{display:none}
 #app .av2-hero-row{grid-template-columns:1fr}
}

/* Shared concept 08 cards across every operational screen. */
#app .av2-panel{border-color:#deeaeb!important;border-radius:12px!important;box-shadow:none!important}
#app .av2-panel-head h3{font-size:17px!important;color:#10383e!important;line-height:1.4}
#app .av2-panel p{color:#526c76;font-size:14px;line-height:1.5}
#app .av8-support{padding:0!important;align-self:start}
.av8-support>summary{display:flex;align-items:center;gap:12px;padding:16px;min-height:56px;list-style:none;cursor:pointer;color:#10383e}
.av8-support>summary::-webkit-details-marker{display:none}
.av8-support>summary strong{font-size:16px;line-height:1.4;flex:1}
.av8-support>summary [data-icon]{display:flex;width:24px;height:24px;flex:0 0 24px}
.av8-support>summary svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.av8-support[open]>summary .av8-chevron{transform:rotate(180deg)}
.av8-support-content{padding:0 16px 16px}
.av8-support>summary:focus-visible{outline:3px solid #00858a;outline-offset:-3px;border-radius:12px}
#app .av2-filterbar{border:1px solid #deeaeb;background:#f5fbfa;border-radius:12px;padding:12px;gap:10px;margin-bottom:16px}
#app .av2-filterbar input,#app .av2-filterbar select{min-height:44px;background:white;font-size:14px}
#app .av2-reports-grid button{min-height:60px;border-radius:10px;background:#f5fbfa;border:1px solid #deeaeb;color:#10383e;padding:14px;box-shadow:none}
#app .av2-table th{background:#f0f8f7;color:#32575e}
#app .av2-table td{color:#193f46}
#app .av2-tools{border:1px solid #deeaeb;border-radius:12px;box-shadow:none}
#app .av2-tools>summary{min-height:48px;font-size:14px;color:#17666c}
@media(max-width:820px){
 #app .av2-panel{padding:16px}
 #app .av8-support{padding:0!important}
 #app .av2-panel-head{margin-bottom:12px}
 #app .av2-panel-head h3{font-size:16px!important}
 #app .av2-duo{gap:12px}
 #app .av2-camera-art{min-height:100px;padding:16px}
 #app .av2-safety{font-size:12px;line-height:1.5;padding:12px}
}


/* 21 October: compact operational tools, using the Administration workspace cards. */
#app .av8-filter-disclosure>.av2-filterbar{border:0;margin:0;padding:0 16px 16px;box-shadow:none;background:transparent}
#app .av8-audit-layout>section{order:-1}
#app .av2-camera-art{display:none}
#app .av2-reports-grid{gap:0}
#app .av2-reports-grid button{background:transparent;border:0;border-bottom:1px solid #deeaeb;border-radius:0;min-height:52px;padding:12px}
#app .av2-reports-grid button:hover{background:#edf8f7}
#app .av8-help summary{min-width:44px}
#app .av2-metric:first-child{padding-left:0!important}
#app .av2-metric span{font-size:12px!important}
#app .av8-support-content .av2-compliance-steps{padding:4px 14px;background:#edf8f7;border-radius:10px}
#app .av8-support-content .av2-compliance-steps p{background:transparent;border:0;border-bottom:1px solid #d0e3e3;border-radius:0;margin:0;padding:12px 0}
#app .av8-support-content .av2-compliance-steps p:last-child{border-bottom:0}
@media(max-width:820px){
 #app .av2-page-title{flex-direction:column!important;align-items:flex-start!important;gap:10px}
 #app .av2-title-actions{max-width:100%;width:100%;justify-content:flex-start}
 #app .av2-title-actions .av2-btn{font-size:12px;min-height:44px;padding:9px 12px}
 #app .av2-stats{padding-bottom:12px!important;margin-bottom:14px!important}
 #app .av2-metric{flex-basis:94px;gap:4px}
 #app .av2-metric span{font-size:11px!important}
 #app .av2-reports-grid{grid-template-columns:minmax(0,1fr)}
 #app .av2-filterbar{grid-template-columns:minmax(0,1fr);gap:12px}
 #app .av2-live-gis{min-height:360px}
 #app .view{padding-bottom:100px!important}
}

/* RiskGrid RRAMS as the engineering system (road-engine/system-roles.mjs). */
.av-rrams-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:var(--av2-soft);border:1px solid var(--av2-line);border-left:4px solid var(--av2-teal);border-radius:12px;padding:17px 19px;margin:0 0 14px}
.av-rrams-panel>div{flex:1 1 320px;min-width:0}
.av-rrams-panel h2{margin:4px 0 6px;font-size:17px;color:var(--av2-ink)}
.av-rrams-panel p{margin:0;color:var(--av2-muted);font-size:13px;line-height:1.5}
.av-rrams-panel a.button{white-space:nowrap;text-decoration:none;color:#fff;background:var(--av2-navy);border-color:var(--av2-navy);box-shadow:none}
.av-rrams-panel a.button:hover,.av-rrams-panel a.button:focus-visible{background:var(--av2-navy2);color:#fff}
.av-rrams-missing{font-weight:650}
.av-rrams-link{display:flex;align-items:center;min-height:44px;margin-top:8px;padding:10px 12px;border:1px solid var(--av2-line);border-radius:9px;background:var(--av2-soft);color:var(--av2-ink);font-size:12.5px;font-weight:700;line-height:1.35;text-decoration:none}
.av-rrams-link:hover,.av-rrams-link:focus-visible{border-color:var(--av2-teal);color:var(--av2-ink)}
@media (max-width:640px){.av-rrams-panel a.button{width:100%;justify-content:center;white-space:normal}}
/* Approvals inbox (shown when RRAMS is the engineering system): keep the asset name readable beside a long reason. */
#view-approvals .approval-asset{grid-template-columns:auto minmax(130px,1fr) minmax(0,1.5fr) auto}
#view-approvals .approval-asset>div{min-width:0}
#view-approvals .approval-value strong{display:block;overflow-wrap:anywhere}
@media (max-width:760px){#view-approvals .approval-asset{grid-template-columns:auto minmax(0,1fr)}#view-approvals .approval-asset .approval-value,#view-approvals .approval-asset .button{grid-column:1 / -1}}

/* The user-view switcher belongs only to authenticated Administration. */
#app #av8UserSwitcher[hidden]{display:none!important}
#app #av8UserSwitcher .av8-workspace-menu{max-height:min(70vh,560px);overflow-y:auto;width:min(340px,calc(100vw - 32px))}
#app #av8UserSwitcher .av8-workspace-menu p{margin:8px 12px;color:#47616b;font-size:12px;line-height:1.5}
#app #av8UserChoices button{width:100%;text-align:left;white-space:normal;min-height:44px}
#app #av8UserChoices button:focus-visible{outline:3px solid #087f89;outline-offset:-3px}
