:root{--green:#145b4e;--green-deep:#0d3d36;--green-mid:#227163;--gold:#af8543;--cream:#f8f7f3;--off:#e9ede9;--ink:#1e322d;--muted:#6b7b73;--line:#dde5dd;--white:#fff;--shadow:0 20px 54px rgba(19,60,47,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Cairo','Tajawal',Tahoma,Arial,sans-serif;font-size:15px;line-height:1.72}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #c2a66d;outline-offset:3px}.hidden{display:none!important}.trial-ribbon{text-align:center;background:#eee6d8;color:#745a2e;font-size:12px;padding:4px 14px;font-weight:700}.site-header{max-width:1330px;margin:auto;padding:27px 42px;display:flex;gap:15px;align-items:center;border-bottom:1px solid #eceee8}.brand-mark{width:58px;height:58px;border:1px solid #d6ded7;border-radius:17px;display:flex;align-items:center;justify-content:center;color:var(--green)}.brand-title{display:flex;flex-direction:column;gap:1px}.brand-title strong{font-weight:800;font-size:20px;letter-spacing:-.4px}.brand-title span{color:#7b8880;font-size:12px}.header-right{margin-right:auto}.header-pill{display:inline-flex;gap:9px;align-items:center;color:var(--green);border:1px solid #d7e6df;border-radius:40px;padding:8px 13px;background:#f2f8f4;font-size:12px}.pulse-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#37a779}.main-shell{max-width:1210px;margin:auto;padding:0 30px;min-height:calc(100vh - 236px)}.hero{text-align:center;padding:63px 0 42px;max-width:880px;margin:auto}.eyebrow{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.2px;display:flex;align-items:center;gap:9px}.hero>.eyebrow{justify-content:center}.line-accent{display:inline-block;width:22px;height:2px;border-radius:2px;background:var(--gold)}h1,h2,p{margin-top:0}.hero h1{font-size:clamp(31px,4.5vw,57px);font-weight:850;line-height:1.36;letter-spacing:-1.6px;margin:13px 0 13px}.hero h1 span,.auth-intro h1 span{color:var(--green)}.hero>p{color:var(--muted);max-width:720px;margin:0 auto;font-size:15px;line-height:2}.progress-track{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:34px;color:#9caaa1;font-size:12px}.progress-track span{display:flex;gap:7px;align-items:center}.progress-track .current{color:var(--green)}.progress-track b{font-weight:600}.progress-track i{display:block;height:1px;width:32px;background:#cedbd2}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-label>div{display:flex;gap:13px;align-items:center}.section-number{color:var(--gold);font-weight:800;font-size:12px}.section-label h2{font-size:19px;font-weight:800;margin:0}.muted-label{color:#91a097;font-size:12px}.units-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.unit-card{display:flex;flex-direction:column;text-align:right;background:#fff;border:1px solid #e2e8e0;border-radius:17px;padding:21px;min-height:173px;box-shadow:0 6px 16px rgba(15,47,31,.022);transition:.18s ease}.unit-card:hover{transform:translateY(-4px);border-color:#aacabe;box-shadow:var(--shadow)}.unit-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto}.unit-icon{background:#eff5f0;color:var(--green);width:41px;height:41px;border-radius:11px;display:grid;place-items:center;font-weight:800}.unit-arr{color:#a3b6ac;font-size:17px}.unit-card strong{font-size:17px;margin-top:21px;font-weight:800}.unit-card small{font-size:11px;color:#84928a;margin-top:1px}.governorate-title{margin-top:32px}.governorate-card{width:100%;display:flex;align-items:center;text-align:right;gap:17px;padding:24px 27px;border-radius:18px;border:1px solid #0f5347;background:linear-gradient(120deg,#114e44,#176657);color:#fff;box-shadow:0 18px 35px rgba(14,79,65,.12);transition:transform .15s}.governorate-card:hover{transform:translateY(-2px)}.gov-icon{width:62px;height:62px;border-radius:15px;background:#ffffff19;display:grid;place-items:center;color:#f6dba6;flex-shrink:0}.gov-copy{display:flex;flex-direction:column;gap:3px}.gov-copy strong{font-size:21px;font-weight:800}.gov-copy small{font-size:12px;color:#d0e4da}.gov-arrow{margin-right:auto;font-size:22px;color:#e6d2a8}.preview-line{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:10px 2px;color:#8b9992;font-size:12px}.text-link{background:none;border:0;padding:7px 4px;color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:4px;font-size:12px}.site-footer{max-width:1330px;margin:75px auto 0;padding:25px 42px;border-top:1px solid #e6eae3;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#829086}.auth-wrap{display:grid;grid-template-columns:1fr 1fr;gap:52px;min-height:610px;align-items:center;padding:63px 0}.back-link{background:none;border:0;color:var(--green);padding:0;margin-bottom:45px;font-weight:750}.auth-graphic{height:135px;max-width:370px;position:relative;background:linear-gradient(125deg,#e8f1ea,#f4eee0);border-radius:20px;overflow:hidden;margin-bottom:27px}.auth-symbol{font-size:83px;color:#4d8978;position:absolute;right:38px;top:-15px}.auth-grid{position:absolute;inset:0;background-image:radial-gradient(#a8beaf 1px,transparent 1px);background-size:19px 19px;opacity:.5}.auth-intro h1{font-size:43px;line-height:1.4;margin:12px 0}.auth-intro p{max-width:440px;color:var(--muted);line-height:2}.auth-quote{background:#eaf2ec;border-right:4px solid var(--gold);padding:15px 18px;border-radius:5px;font-size:13px;color:#516d5e;max-width:445px}.auth-panel{background:#fff;border:1px solid #e1e8e1;padding:39px;border-radius:24px;box-shadow:var(--shadow)}.auth-panel-top{display:flex;gap:10px;color:var(--gold);align-items:center;font-size:12px;font-weight:750}.auth-mini-icon{font-size:22px}.auth-panel h2{font-size:27px;margin:15px 0 4px}.login-context{color:var(--muted);font-size:13px;margin-bottom:29px}.auth-panel form{display:flex;flex-direction:column}.auth-panel label{font-weight:750;font-size:13px;margin-bottom:9px}.auth-panel input{width:100%;height:52px;padding:12px 16px;margin-bottom:20px;border:1px solid #d9e1d9;border-radius:10px;background:#fcfdfa;color:var(--ink);outline-offset:2px}.auth-panel input:focus{border-color:#62a18a}.password-field{position:relative}.password-field input{padding-left:77px}.password-field button{position:absolute;left:13px;top:11px;background:transparent;border:0;color:var(--green);font-size:12px;font-weight:750;padding:4px}.solid-button{background:var(--green);color:#fff;border:0;border-radius:11px;padding:14px 18px;font-weight:800;margin-top:7px;display:flex;justify-content:space-between;align-items:center}.solid-button:disabled{opacity:.65;cursor:progress}.auth-help{font-size:11px;color:var(--muted);margin:19px 0 4px;line-height:2}.notice-error{color:#9a302c;background:#fff1f0;border:1px solid #f0d0c9;border-radius:10px;padding:10px 13px;margin:0 0 14px;font-size:13px}.preview-auth{margin-top:10px}.dashboard-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:48px 0 32px}.dashboard-top h1{font-size:37px;margin:12px 0 0}.dashboard-top p{color:var(--muted);font-size:13px;margin:3px 0 0}.dashboard-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.role-chip{border:1px solid #d9e5dc;border-radius:20px;background:#eff6f0;color:var(--green);font-size:12px;font-weight:750;padding:8px 11px}.outline-button{background:#fff;color:var(--green);border:1px solid #d6e2d9;border-radius:10px;padding:9px 15px;font-size:12px;font-weight:750}.outline-button:hover{border-color:var(--green)}.demo-banner{margin-top:23px;padding:13px 17px;border:1px solid #e5d7af;background:#fff7e5;color:#805c20;display:flex;justify-content:space-between;align-items:center;gap:15px;border-radius:12px;font-size:12px}.demo-banner button{border:0;background:none;text-decoration:underline;color:#72501c;font-weight:750;white-space:nowrap}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-tile{padding:23px;background:#fff;border:1px solid #e1e8df;border-radius:17px;display:flex;flex-direction:column;min-height:151px}.stat-tile span{color:#78877d;font-size:12px}.stat-tile strong{font-size:37px;font-weight:850;color:var(--green);line-height:1.5}.stat-tile small{font-size:11px;color:#9ca89f}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,1fr);gap:17px;margin-top:19px}.dashboard-box{background:#fff;border:1px solid #e0e8df;border-radius:19px;padding:26px;min-height:345px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.panel-heading h2{font-size:20px;margin:7px 0 0}.panel-status{font-size:11px;color:#7d9086;padding:6px 10px;background:#f1f6f2;border-radius:20px}.center-metrics{display:flex;flex-direction:column;gap:16px}.metric-row{display:grid;grid-template-columns:140px 1fr 48px;align-items:center;gap:15px}.metric-row .center-name{font-size:13px;font-weight:650}.metric-bar{height:8px;background:#edf0eb;border-radius:5px;overflow:hidden}.metric-fill{height:100%;width:0;background:linear-gradient(90deg,#9abdae,#1a6d57);border-radius:5px}.metric-row .value{text-align:left;font-weight:800;font-size:13px;color:var(--green)}.empty-metrics{color:#9eaaa1;text-align:center;padding:30px 0;font-size:13px}.side-panel h2{font-size:22px;margin:10px 0 16px}.side-details{display:flex;flex-direction:column;gap:9px;margin-bottom:23px}.detail-pair{display:flex;justify-content:space-between;border-bottom:1px dashed #e4ebe4;padding:6px 0;gap:10px;font-size:12px}.detail-pair span{color:#839187}.detail-pair strong{font-weight:700;text-align:left}.tip-box{padding:18px;border-radius:12px;background:#f1f7f3;border:1px solid #e1eee3}.tip-box strong{font-size:13px;color:var(--green)}.tip-box p{font-size:12px;color:#657c6d;line-height:1.9;margin:8px 0 0}.workflow-hint{margin-top:20px;border:1px solid #dce8de;border-radius:14px;padding:18px 22px;display:flex;gap:12px;background:#f0f6f1}.symbol-check{width:30px;height:30px;border-radius:50%;background:#dceee2;color:#2e8058;display:grid;place-items:center;flex-shrink:0}.workflow-hint strong{font-size:13px}.workflow-hint p{font-size:12px;color:#74857a;margin:3px 0 0}@media(max-width:1010px){.units-grid{grid-template-columns:repeat(3,1fr)}.auth-wrap{gap:22px}.auth-panel{padding:28px}.dashboard-layout{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.site-header{padding:16px}.brand-mark{width:47px;height:47px}.brand-title strong{font-size:15px}.brand-title span{font-size:10px}.header-right{display:none}.main-shell{padding:0 15px}.hero{padding:45px 0 36px}.hero h1{font-size:32px}.hero>p{font-size:13px}.progress-track{gap:8px}.progress-track i{width:15px}.progress-track b{font-size:10px}.units-grid{grid-template-columns:repeat(2,1fr);gap:10px}.unit-card{padding:14px;min-height:141px}.unit-card strong{font-size:14px}.unit-card small{font-size:10px}.governorate-card{padding:17px 13px;gap:11px}.gov-icon{width:45px;height:45px}.gov-icon svg{width:28px}.gov-copy strong{font-size:15px}.gov-copy small{font-size:10px}.site-footer{padding:20px 15px;flex-direction:column;margin-top:39px}.preview-line{flex-direction:column;align-items:flex-start}.auth-wrap{grid-template-columns:1fr;padding:25px 0;gap:25px}.auth-intro .auth-graphic,.auth-intro .auth-quote,.auth-intro>p{display:none}.auth-intro h1{font-size:29px}.auth-panel{padding:23px}.dashboard-top{flex-direction:column;align-items:flex-start;padding:31px 0 20px}.dashboard-top h1{font-size:28px}.stats-grid{gap:8px}.stat-tile{padding:14px;min-height:130px}.stat-tile strong{font-size:29px}.dashboard-box{padding:16px}.metric-row{grid-template-columns:110px 1fr 36px;gap:8px}.metric-row .center-name{font-size:11px}.demo-banner{align-items:flex-start;flex-direction:column}}@media print{body{background:#fff}.trial-ribbon,.site-header,.dashboard-actions,.site-footer,.workflow-hint,.demo-banner,.preview-line{display:none!important}.main-shell{max-width:100%;padding:0}.dashboard-box,.stat-tile{break-inside:avoid}.dashboard-top{padding:7px 0 24px}}


/* V0.2 · Real accessible agency tabs + Aswan scenic portal.
   Image artwork is decorative; functional tabs live only in HTML. */
body.on-portal{background:#061d2a;color:#f6fbf8}
body.on-portal .main-shell{max-width:none;padding:0;min-height:0}
body.on-portal .site-header{display:none}
.portal-home{position:relative;isolation:isolate;min-height:min(1000px,100vh);overflow:hidden}
.portal-scenery{position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:
  linear-gradient(180deg,rgba(1,18,35,.07) 0%,rgba(1,26,40,.09) 30%,rgba(1,29,40,.28) 52%,rgba(2,25,34,.91) 91%,#061c26 100%),
  var(--selected-hero) center top/cover no-repeat;
}
.portal-content{width:min(1350px,100%);margin:0 auto;padding:clamp(300px,39vh,440px) 32px 48px}
.portal-mobile-title{display:none}
.portal-access{border:1px solid rgba(242,199,111,.53);
 background:linear-gradient(139deg,rgba(1,49,60,.95),rgba(2,46,54,.97) 44%,rgba(3,37,45,.96));
 box-shadow:0 30px 80px rgba(1,22,34,.48),inset 0 1px 0 rgba(255,255,255,.16);
 backdrop-filter:blur(17px);border-radius:22px;padding:19px 20px 15px;color:#f7fbf8}
.portal-access-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:2px 8px 18px}
.portal-pretitle{font-size:11px;color:#ddc187;letter-spacing:.3px;font-weight:700}
.portal-access-heading h2{font-size:22px;line-height:1.4;margin:1px 0 0;color:#fff;font-weight:800}
.heading-star{font-size:16px;color:#f0c778}
.secure-caption{font-size:11px;color:#c8dcdf;white-space:nowrap;display:flex;align-items:center;gap:9px}
.secure-dot{width:7px;height:7px;border-radius:50%;background:#54d3a4;box-shadow:0 0 0 5px rgba(84,211,164,.12)}
.portal-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;
 padding:5px;background:rgba(0,27,37,.68);
 border:1px solid rgba(232,193,119,.49);border-radius:15px;overflow:hidden}
.portal-tab{border:1px solid transparent;color:#e9f3f2;background:linear-gradient(180deg,rgba(39,112,121,.49),rgba(3,54,64,.45));
 min-height:56px;border-radius:10px;padding:7px 5px;display:flex;gap:7px;align-items:center;justify-content:center;
 font-weight:750;font-size:13px;white-space:nowrap;transition:background .17s,box-shadow .17s,transform .17s}
.portal-tab:hover{background:rgba(50,130,128,.70);color:white}
.portal-tab.is-active{background:linear-gradient(150deg,#fff0bd,#e8b95b);
 box-shadow:0 4px 16px rgba(228,170,74,.24),inset 0 1px 0 #fff8e5;
 color:#0b4248;border-color:#f5d792;font-weight:850}
.tab-symbol{width:18px;height:18px;flex-shrink:0}
.tab-pin{color:#f0c575;font-size:21px;line-height:1;transform:rotate(0deg)}
.portal-tab.is-active .tab-pin{color:#075057}
.portal-tab:focus-visible{outline:3px solid #fff7c7;outline-offset:-3px}
.portal-entry-panel{display:grid;grid-template-columns:.82fr 1fr;gap:25px;align-items:stretch;margin:17px 0 0;min-width:0}
.entry-description{padding:14px 24px;min-width:0;position:relative;display:flex;flex-direction:column;align-items:flex-start}
.entry-kind{display:inline-flex;align-items:center;font-size:11px;color:#ffe1a1;border:1px solid rgba(249,203,126,.35);
 background:rgba(247,197,116,.10);border-radius:22px;padding:4px 12px;font-weight:750}
.entry-icon-wrap{margin:15px 0 7px;width:58px;height:58px;border-radius:15px;color:#f4d18a;display:grid;place-items:center;
 border:1px solid rgba(243,213,164,.37);background:rgba(255,238,202,.07)}
.entry-description h3{color:#fff;font-size:clamp(22px,2.2vw,30px);font-weight:850;line-height:1.5;margin:6px 0 6px}
.entry-description .login-context{font-size:13px;color:#c9dfe0;line-height:2;margin:0 0 14px}
.entry-permissions{color:#fae6b8;font-size:11px;background:rgba(9,84,92,.38);border:1px solid rgba(167,212,207,.2);padding:7px 11px;border-radius:9px}
.entry-border{height:1px;width:100%;background:linear-gradient(90deg,transparent,#93b6ad66);margin:22px 0 12px}
.entry-protect{font-size:11px;color:#c0d4d6;line-height:1.9;display:flex;gap:9px;align-items:start}
.entry-protect span{color:#e8bf75;font-size:18px;line-height:1.2}
.entry-form-section{background:linear-gradient(150deg,rgba(255,255,255,.95),rgba(243,250,248,.97));
 border-radius:16px;padding:20px 23px;color:#24463f;
 box-shadow:0 10px 30px rgba(0,0,0,.14),inset 0 1px 0 #fff}
.form-kicker{color:#507065;font-weight:800;font-size:12px;display:flex;gap:9px;align-items:center;margin-bottom:14px}
.form-lock{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#e5eee8;color:#2b6557}
.entry-form-section form{display:flex;flex-direction:column}
.entry-form-section label{font-weight:800;font-size:12px;margin-bottom:6px}
.entry-form-section input{width:100%;height:45px;border:1px solid #cedbd4;border-radius:9px;
 background:#fff;color:#183e35;padding:10px 14px;margin-bottom:12px;direction:ltr;text-align:left}
.entry-form-section input:focus{border-color:#237e64;outline-offset:1px}
.entry-form-section input::placeholder{color:#a2afa8}
.entry-form-section .password-field{position:relative}
.entry-form-section .password-field input{padding-right:13px;padding-left:78px}
.entry-form-section .password-field button{position:absolute;left:10px;top:8px;color:#1b6658;background:#ecf5f0;
 border:0;border-radius:7px;padding:4px 9px;font-size:12px;font-weight:750}
.entry-form-section .solid-button{margin:3px 0 0;
 background:linear-gradient(100deg,#0a675c,#064f4e);min-height:48px;border-radius:9px;
 box-shadow:0 5px 13px rgba(12,92,81,.18);font-size:14px;display:flex;align-items:center;justify-content:space-between}
.entry-form-section .solid-button:hover{filter:brightness(1.08)}
.entry-form-section .solid-button:disabled{cursor:progress}
.entry-form-section .auth-help{font-size:11px;color:#70867d;margin:9px 0 1px;line-height:1.85}
.entry-preview{display:inline-flex;align-items:center;gap:9px;border:none;background:none;color:#28675c;
 font-weight:800;font-size:11px;padding:8px 0 0;text-decoration:underline;text-underline-offset:3px}
.portal-connection{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:12px;
 padding:6px 8px 0;font-size:11px;color:#b9d4d2;flex-wrap:wrap}
.portal-connection span:first-child:before{content:"●";font-size:8px;color:#52c6a1;margin-left:7px}
body.on-portal .site-footer{max-width:none;margin:0;border-top:1px solid rgba(204,198,142,.26);
 background:#041d28;color:#bdd0cf;padding:13px max(24px,calc((100vw - 1250px)/2));font-size:10px}
body.on-dashboard{background:#f8f7f3;color:#1e322d}
body.on-dashboard .site-header{display:flex}
body.on-dashboard .main-shell{max-width:1210px}
body.on-dashboard .site-footer{margin-top:55px}
@media(max-width:1130px){
 .portal-tab{font-size:12px;gap:4px}
 .portal-entry-panel{grid-template-columns:.76fr 1fr;gap:10px}
 .entry-description{padding:12px 8px}
}
@media(max-width:820px){
 .portal-content{padding:clamp(255px,36vh,340px) 15px 28px}
 .portal-access{padding:14px 12px}
 .portal-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d4af62 #0a3c43;scroll-snap-type:x mandatory}
 .portal-tab{flex:0 0 auto;min-width:148px;scroll-snap-align:center}
 .portal-entry-panel{grid-template-columns:1fr;gap:12px}
 .entry-description{padding:10px 12px 4px}
 .entry-description .entry-icon-wrap,.entry-border,.entry-protect{display:none}
 .entry-description h3{margin:8px 0 3px;font-size:24px}
 .entry-description .login-context{margin-bottom:8px}
 .entry-form-section{padding:18px}
 .secure-caption{display:none}
 .portal-access-heading h2{font-size:19px}
}
@media(max-width:540px){
 .portal-scenery{background:
  linear-gradient(180deg,rgba(1,20,33,.45) 0%,rgba(1,34,41,.36) 33%,rgba(1,31,42,.80) 61%,#041d29 98%),
  var(--selected-hero) center -225px/auto 610px no-repeat}
 .portal-home{min-height:100vh}
 .portal-content{padding:110px 11px 24px}
 .portal-mobile-title{display:block;color:white;text-align:center;padding:13px 9px 37px;text-shadow:0 3px 14px #001927}
 .portal-mobile-title .mobile-kicker{color:#ffdf91;font-size:11px;font-weight:750}
 .portal-mobile-title h1{font-size:clamp(24px,6.8vw,32px);line-height:1.5;margin:8px 0;font-weight:850}
 .portal-mobile-title h1 em{color:#fbd687;font-style:normal}
 .portal-mobile-title p{font-size:12px;color:#d0e5e7}
 .portal-access-heading{padding:0 3px 12px}
 .portal-access-heading h2{font-size:17px;margin-top:1px}
 .portal-pretitle{font-size:10px}
 .portal-tab{min-height:52px;min-width:135px;font-size:12px}
 .portal-entry-panel{margin-top:9px}
 .entry-description h3{font-size:21px}
 .entry-description .login-context{font-size:12px}
 .entry-form-section{padding:16px 13px}
 .portal-connection{flex-direction:column;align-items:flex-start;gap:2px;font-size:10px}
 body.on-portal .site-footer{padding:15px;flex-direction:column}
}
@media print{
 .portal-home{display:none!important}
 body.on-dashboard{background:white}
}

/* Institution V0.3: per-center artistic backgrounds + distinct center header */
:root{--selected-hero:url("./assets/ASWAN_GOV.webp")}
.portal-scenery{transition:background-image .25s ease}
body.on-dashboard .dashboard-top{background-image:linear-gradient(95deg,rgba(1,31,43,.92),rgba(0,45,56,.72) 60%,rgba(5,41,56,.63)),var(--selected-hero);background-size:cover;background-position:center 40%;color:#fff;padding:30px 27px;border:1px solid #a7b597;border-radius:18px;margin-top:22px;margin-bottom:18px;box-shadow:0 15px 38px rgba(14,56,64,.14)}
body.on-dashboard .dashboard-top h1{color:#fff;text-shadow:0 2px 6px #062b38}
body.on-dashboard .dashboard-top p{color:#def4f2}
body.on-dashboard .dashboard-top .eyebrow{color:#f9d087}
body.on-dashboard .dashboard-top .role-chip{background:#f3dfad;color:#183c3e;border-color:#e3cb83}
@media(max-width:680px){body.on-dashboard .dashboard-top{padding:24px 18px}}
@media print{body.on-dashboard .dashboard-top{background:#fff;color:#153b31;box-shadow:none;border:0;padding:12px 0}body.on-dashboard .dashboard-top h1{color:#153b31;text-shadow:none}body.on-dashboard .dashboard-top p{color:#345}}

/* v0.4: permitted-workspace switcher; no broad listing of other centers */
.workspace-switch{display:flex;flex-direction:column;gap:5px;min-width:158px;color:#38554e;font-size:12px;font-weight:800}
.workspace-switch select{font:inherit;font-size:13px;color:#0b524a;background:rgba(255,255,255,.95);border:1px solid rgba(28,103,91,.2);border-radius:10px;outline-offset:2px;padding:10px 11px;min-height:42px;max-width:225px;width:100%}
.workspace-switch select:disabled{opacity:.7;cursor:not-allowed}
#dashboard-operation-message{margin:0 0 12px}
@media(max-width:640px){.workspace-switch{min-width:100%;width:100%}.workspace-switch select{max-width:none}}

/* V0.5 — dedicated agency login / scoped workspaces / real period reports */
:root{--selected-hero:url('./assets/ASWAN_GOV.webp')}
body.on-portal .portal-home{min-height:calc(100vh - 34px)}
body.on-portal .portal-content{padding:clamp(320px,45vh,505px) clamp(12px,3vw,32px) 36px}
body.on-portal .portal-access{max-width:1290px;margin:auto;padding:22px;border-color:#c4a162ba}
.portal-access-heading h1{font-size:25px;color:#fff;margin:5px 0 0;font-weight:800}
.portal-selection-info{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px;padding:18px 18px 12px;border:1px solid #d7ba7c66;border-radius:14px;background:#0d454f6b}
.portal-selection-info h2{color:#fff;font-size:22px;margin:2px 0 2px}
.portal-selection-info p{color:#d5e5e4;font-size:13px;margin:0;max-width:780px}
.gold-button{background:linear-gradient(135deg,#ffe7a8,#edc364);color:#184546;border:1px solid #fff0b9;border-radius:12px;min-height:54px;font-weight:900;font-size:14px;padding:10px 19px;box-shadow:0 9px 25px #0003;white-space:nowrap}
.gold-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.gold-button span{margin-inline-start:9px}
body.on-login{background:#06232e;color:#fff}
body.on-login .main-shell{max-width:none;padding:0}
body.on-login .site-header{display:none}
.dedicated-login{position:relative;isolation:isolate;min-height:calc(100vh - 54px);padding:0 20px;overflow:hidden}
.login-scenery{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#03223511 0%,#011c3255 30%,#032631ad 62%,#05212deb 95%),var(--selected-hero) center center / cover no-repeat}
.login-frame{max-width:1260px;margin:0 auto;min-height:calc(100vh - 54px);padding:clamp(290px,40vh,420px) 10px 60px;display:grid;grid-template-columns:1fr minmax(340px,465px);align-items:end;gap:35px}
.login-identity{padding:15px 12px 38px;color:white;text-shadow:0 3px 12px #08202d}
.login-kicker{color:#f4cf84;font-size:14px;font-weight:800}
.login-identity h1{font-size:clamp(33px,4.5vw,54px);line-height:1.5;color:#fff;margin:8px 0}
.login-identity p{font-size:16px;color:#deebe8;max-width:570px;margin:0 0 18px}
.login-role-pills{display:flex;gap:8px;flex-wrap:wrap}.login-role-pills span{font-size:11px;border:1px solid #edc6738a;background:#053a48b8;border-radius:20px;padding:5px 11px;color:#f9dfab}
.dedicated-login-card{border:1px solid #dbbf83;background:linear-gradient(145deg,#fff,#f0f7f3);color:#173c35;border-radius:21px;box-shadow:0 25px 75px #0008;padding:26px 30px}
.login-card-head{display:flex;align-items:center;gap:14px;margin-bottom:22px;border-bottom:1px solid #dce9df;padding-bottom:15px}.login-card-head>span{font-size:36px;color:#bb9752}.login-card-head strong{display:block;font-size:22px}.login-card-head small{display:block;color:#738980;font-size:11px}
.dedicated-login-card label{display:block;font-weight:800;font-size:13px;margin:0 0 8px}
.dedicated-login-card input{width:100%;height:49px;border-radius:10px;border:1px solid #c9dad1;background:#fff;color:#15352e;padding:11px 14px;margin:0 0 16px;direction:ltr;text-align:left}
.dedicated-login-card input:focus{border-color:#1d8973;outline-offset:2px}
.dedicated-login-card .password-field{position:relative}.dedicated-login-card .password-field input{padding-left:85px}
.dedicated-login-card .password-field button{position:absolute;left:9px;top:9px;background:#eff6ef;border:none;color:#0f6956;font-size:12px;padding:4px 9px;border-radius:8px;font-weight:800}
.dedicated-login-card .solid-button{width:100%;background:linear-gradient(135deg,#086c5f,#074b4b);padding:12px 17px}
.dedicated-login-card .auth-help{margin:15px 0 0;color:#668174}
.login-card-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:13px 0 0}.login-card-bottom .text-link{font-size:11px;text-align:right}
body.on-login .site-footer{margin:0;max-width:none;color:#d1dddc;background:#041f29;border-color:#a89452}
body.on-dashboard .main-shell{max-width:1600px;padding:0 20px}
body.on-dashboard .site-header{max-width:1600px;padding:16px 24px}
.workspace-layout{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:22px;min-height:calc(100vh - 235px)}
.workspace-sidebar{position:sticky;top:16px;background:white;border:1px solid #e1e7df;box-shadow:0 10px 28px #0c52390d;border-radius:15px;overflow:hidden;margin-top:20px;max-height:calc(100vh - 32px);overflow-y:auto}
.sidebar-heading{font-size:17px;font-weight:900;color:#fff;background:linear-gradient(115deg,#0d4740,#1b6859);padding:20px 17px 14px;line-height:1.5}.sidebar-heading small{display:block;color:#d6e8d9;font-size:12px;font-weight:600;margin-top:4px}
#workspace-nav{display:flex;flex-direction:column;gap:3px;padding:12px}
.workspace-nav-item{border:0;border-radius:9px;background:transparent;color:#2c5148;font-weight:750;font-size:13px;padding:12px 13px;text-align:right;width:100%;transition:background .17s}
.workspace-nav-item:hover{background:#edf6f1}.workspace-nav-item.is-active{background:linear-gradient(120deg,#0d5c4e,#177764);color:white;font-weight:900}
.sidebar-footnote{border-top:1px solid #e5e9e5;font-size:11px;color:#7d9387;padding:15px;line-height:1.9}
.workspace-main{min-width:0;padding-bottom:35px}
body.on-dashboard .dashboard-top{margin:20px 0 17px;min-height:162px;align-items:center;position:relative;flex-wrap:wrap;padding:22px 28px;background-image:linear-gradient(100deg,#032d3ae8,#064953a8),var(--selected-hero);background-position:center 32%;background-size:cover;border:1px solid #d6b66c}
body.on-dashboard .dashboard-top h1{font-size:clamp(21px,2.6vw,33px);margin:5px 0;line-height:1.6}
body.on-dashboard .dashboard-top .dashboard-actions{justify-content:flex-end}
body.on-dashboard .workspace-switch{color:#e6f4eb}
body.on-dashboard .workspace-switch select{min-width:155px}
body.on-dashboard .role-chip{font-size:11px}
.work-panel{padding-bottom:30px}
.report-header{display:flex;gap:16px;align-items:start;justify-content:space-between;margin-bottom:14px}.report-header h2{font-size:24px;margin:6px 0}.report-header p{font-size:12px;color:#6c8275;max-width:710px;margin:0}
.reports-box{min-height:450px}
.report-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0;padding:8px;background:#f0f5f0;border-radius:12px}.report-type{border:1px solid #d1e0d6;border-radius:9px;background:#fff;color:#195647;padding:9px 14px;font-size:12px;font-weight:800}.report-type.active{background:#0c6659;color:white;border-color:#0c6659}
.report-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;padding:18px 15px;background:#f7f8f5;border:1px solid #e3e9df;border-radius:12px;margin-bottom:25px}
.report-filters label{display:flex;flex-direction:column;gap:5px;min-width:120px;color:#496258;font-size:12px;font-weight:800}.report-filters input,.report-filters select{height:41px;border:1px solid #cddbd1;border-radius:9px;background:white;color:#1d4239;padding:7px 9px;min-width:120px;font-size:13px}
.report-filters .solid-button{margin:0;padding:9px 19px;height:41px;font-size:12px}
.report-print-head{text-align:center;margin-bottom:16px;border-bottom:2px solid #d3b56e;padding:0 0 12px}.report-print-head strong{font-size:13px;color:#9b7b3c}.report-print-head h3{font-size:21px;margin:5px 0}.report-print-head p{color:#74887b;font-size:12px;margin:0}
.table-scroll{overflow:auto;width:100%;max-width:100%}.report-table{border-collapse:collapse;width:100%;min-width:750px;font-size:12px}.report-table th{background:#0b594b;color:white;padding:12px 8px;border:1px solid #d2dcd3;white-space:nowrap}.report-table td{border:1px solid #d8e2d7;padding:12px 8px;text-align:center}.report-table tbody tr:nth-child(even){background:#f8faf6}.report-table td:first-child{text-align:right;font-weight:750}.report-table .summary-row td{background:#e8f4ec;font-weight:900;color:#134b42;border-top:2px solid #b79b5e}.report-footnote{font-size:11px;color:#879387;margin:17px 0 2px;line-height:2}.empty-cell{color:#87918a;text-align:center!important}
.request-actions{display:flex;align-items:center;gap:9px;margin-bottom:16px;flex-wrap:wrap}.request-actions input{min-width:230px;flex:1;max-width:410px;padding:10px;border:1px solid #d0ddd2;border-radius:9px}.request-actions .outline-button{height:44px}
.module-placeholder{max-width:770px;text-align:center;margin:auto}.module-placeholder .module-icon{color:#ac914e;font-size:55px}.module-placeholder h2{margin:4px 0 10px}.module-placeholder p{color:#6b8173}.module-placeholder .tip-box{text-align:right;margin-top:25px}
.modal-backdrop{position:fixed;z-index:100;inset:0;background:#061e27ba;display:flex;align-items:center;justify-content:center;padding:15px}.modal-card{width:min(680px,100%);max-height:93vh;overflow:auto;background:#fff;border-radius:19px;border:1px solid #d2bd81;box-shadow:0 25px 90px #0008;padding:24px;color:#193a32}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-head h2{font-size:21px;margin:0}.modal-close{border:none;border-radius:8px;background:#f0f4ee;color:#214a3c;font-size:27px;width:40px;height:40px;line-height:1}.modal-card .demo-banner{margin:0 0 15px}.request-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.request-form-grid label{display:flex;flex-direction:column;color:#3a594d;font-weight:800;font-size:12px}.request-form-grid input{height:44px;border:1px solid #cadacf;border-radius:10px;padding:10px;margin:7px 0 0}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:17px}
@media(max-width:1040px){.workspace-layout{grid-template-columns:205px minmax(0,1fr);gap:12px}.workspace-sidebar{margin-top:13px}.login-frame{grid-template-columns:1fr minmax(320px,410px)}.report-table{min-width:680px}}
@media(max-width:820px){body.on-portal .portal-content{padding-top:clamp(225px,40vh,355px)}.portal-selection-info{flex-direction:column;align-items:stretch}.gold-button{width:100%}.login-frame{display:flex;flex-direction:column;justify-content:flex-end;gap:15px;padding:270px 5px 24px;min-height:100vh}.login-identity{padding:0 10px}.login-identity h1{font-size:30px}.dedicated-login-card{width:100%}.workspace-layout{display:flex;flex-direction:column;gap:12px}.workspace-sidebar{position:static;width:100%;margin:10px 0 0;max-height:none}.sidebar-heading{padding:13px 15px}.sidebar-heading small{display:inline;margin-right:13px}#workspace-nav{display:flex;flex-direction:row;overflow-x:auto;white-space:nowrap;padding:10px;gap:5px}.workspace-nav-item{width:auto;flex:0 0 auto;white-space:nowrap;font-size:12px}.sidebar-footnote{display:none}.workspace-main{width:100%}.dashboard-top{margin-top:0!important}}
@media(max-width:580px){body.on-portal .portal-content{padding:220px 10px 20px}.portal-access-heading h1{font-size:20px}.portal-selection-info h2{font-size:19px}.portal-selection-info p{font-size:11px}.login-frame{padding-top:195px}.login-identity h1{font-size:26px}.login-identity p{font-size:12px}.dedicated-login-card{padding:18px 15px}.login-card-bottom{flex-direction:column}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid .stat-tile{min-height:105px;padding:12px}.stats-grid .stat-tile strong{font-size:25px}.report-header{flex-direction:column}.report-filters{padding:12px}.request-form-grid{grid-template-columns:1fr}.workspace-layout{gap:8px}body.on-dashboard .main-shell{padding:0 10px}.workspace-switch{width:100%}}
@media print{
 @page{size:A4 landscape;margin:12mm}
 body.on-dashboard{background:white!important;color:black!important}
 .trial-ribbon,.site-header,.site-footer,.workspace-sidebar,.dashboard-top,.demo-banner,.dashboard-actions,.modal-backdrop,.report-header>.outline-button,.report-tabs,.report-filters,.report-footnote,#dashboard-operation-message{display:none!important}
 body.on-dashboard .main-shell,body.on-dashboard .workspace-layout,body.on-dashboard .workspace-main{display:block!important;max-width:none!important;width:100%!important;padding:0!important;margin:0!important;min-height:0!important}
 #view-choose,#view-login,#content-overview,#content-requests,#content-placeholder{display:none!important}
 #view-dashboard,#content-reports{display:block!important}
 .reports-box{padding:0;border:0;box-shadow:none;min-height:0}.reports-box .report-header{display:none}.report-result{display:block!important}
 .report-table{font-size:11px;min-width:0}.report-table th{background:#ddd!important;color:#000!important;print-color-adjust:exact}
 .report-table td,.report-table th{padding:8px 5px}
 .report-print-head{border-bottom:2px solid #333}
}
/* Small-screen refinement: avoid overlapping the artwork's own illustrated Arabic heading. */
@media(max-width:580px){
  body.on-login .login-identity{display:none}
  body.on-login .login-frame{padding-top:clamp(350px,48vh,410px);justify-content:flex-start}
  body.on-login .login-scenery{background-position:center top;background-size:auto 990px}
}
/* Hide the decorative tab row painted inside the hero artwork behind the real interactive controls. */
@media(min-width:821px){body.on-portal .portal-content{padding-top:clamp(300px,37vh,445px)}}

/* V0.6 — unit identity and strict sign-out-before-changing-agency UX */
.brand-crest{width:60px;height:60px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 4px #082b2833)}
.header-right{display:flex;align-items:center;gap:13px}
.national-eagle{display:block;object-fit:contain;flex:none}
.national-eagle-header{width:62px;height:66px}
.portal-eagle{width:55px;height:55px;filter:drop-shadow(0 2px 6px #0007)}
body.on-portal .portal-access-heading{display:flex;align-items:center;gap:13px}
.portal-selection-info .selection-identity{display:flex;align-items:center;gap:16px;min-width:0}
.unit-crest{display:block;object-fit:contain;flex:none}
.selection-crest{width:87px;height:87px;filter:drop-shadow(0 7px 9px #001b2499)}
.login-emblems{display:flex;align-items:center;gap:17px;justify-content:flex-start;margin:0 0 10px}
.login-crest{width:104px;height:104px;filter:drop-shadow(0 5px 12px #0009)}
.login-eagle{height:86px;width:86px;filter:drop-shadow(0 5px 9px #0009)}
.login-card-crest{width:65px;height:65px;filter:drop-shadow(0 2px 4px #0c493533)}
.login-card-head{align-items:center}
body.on-dashboard .dashboard-top{min-height:205px}
.dashboard-title-group{display:flex;align-items:center;gap:17px;min-width:0;flex:1 1 400px}
.dashboard-title-group>div{min-width:0}
.dashboard-crest{height:118px;width:118px;filter:drop-shadow(0 7px 12px #001827bb)}
body.on-dashboard .dashboard-top .dashboard-actions{flex:1 1 300px;justify-content:flex-end}
.dashboard-eagle{height:75px;width:75px;filter:drop-shadow(0 4px 8px #001e25aa)}
.locked-unit-badge{padding:7px 13px;border:1px solid #eac77db8;border-radius:13px;background:#eecf8c;color:#123d37;display:flex;flex-direction:column;gap:1px;max-width:210px}
.locked-unit-badge span{font-size:10px;font-weight:700}.locked-unit-badge strong{font-size:13px;font-weight:850}
.agency-lock-note{width:100%;text-align:left;color:#fff4cf;font-size:11px;font-weight:700}
body.on-dashboard .dashboard-actions .outline-button{font-weight:850}
@media(max-width:900px){.dashboard-crest{width:88px;height:88px}.dashboard-eagle{width:57px;height:57px}.selection-crest{width:70px;height:70px}}
@media(max-width:580px){.portal-eagle{width:42px;height:42px}.selection-crest{width:58px;height:58px}.portal-selection-info .selection-identity{gap:9px}.login-emblems{display:none}.login-card-crest{width:47px;height:47px}body.on-dashboard .dashboard-top{padding:13px!important;min-height:0}.dashboard-title-group{gap:10px}.dashboard-crest{height:67px;width:67px}.dashboard-title-group h1{font-size:21px!important}.dashboard-eagle{height:40px;width:40px}.dashboard-top .dashboard-actions{justify-content:flex-start!important}.agency-lock-note{text-align:right}.locked-unit-badge{padding:6px 10px;max-width:170px}.brand-crest{width:46px;height:46px}.national-eagle-header{height:44px;width:44px}}
@media print{.selection-crest,.dashboard-crest,.national-eagle,.brand-crest,.agency-lock-note{display:none!important}}

/* Final responsive corrections for real dashboard, not an illustration. */
body.on-dashboard .dashboard-top h1{font-size:clamp(21px,2.1vw,28px);line-height:1.45}
body.on-dashboard .dashboard-top .dashboard-actions{flex:0 1 auto;gap:8px}
.dashboard-crest{width:100px;height:100px}
@media(max-width:820px){
 body.on-dashboard .dashboard-top{display:flex;flex-direction:column;align-items:stretch;gap:14px;min-height:0!important}
 body.on-dashboard .dashboard-top .dashboard-title-group{flex:0 0 auto;min-height:0;width:100%}
 body.on-dashboard .dashboard-top .dashboard-actions{flex:0 0 auto;width:100%;justify-content:flex-start!important;min-height:0}
 .agency-lock-note{width:100%;text-align:right}
}
@media(max-width:580px){
 body.on-dashboard .dashboard-top{padding:16px 13px!important}
 body.on-dashboard .dashboard-top h1{font-size:21px!important;line-height:1.45}
 .dashboard-crest{width:70px;height:70px}
 .dashboard-title-group .eyebrow{font-size:10px}
 .dashboard-title-group p{font-size:10px!important}
}

/* V0.7 operational panels */
.v07-actions{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.v07-actions .solid-button{margin:0}.v07-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v07-pair{border:1px solid #d6e8de;border-radius:10px;padding:10px;background:#f7faf7;min-width:0;overflow-wrap:anywhere}.v07-pair small{display:block;color:#698076;font-size:11px}.v07-pair strong{display:block;color:#154f42;font-size:13px}.v07-group{border:1px solid #d9e8df;border-radius:10px;margin:10px 0;padding:0;overflow:hidden}.v07-group summary{cursor:pointer;color:#114d42;background:#edf7ef;font-weight:700;padding:12px}.v07-group .v07-grid{padding:12px}.v07-work{min-height:250px}.v07-top{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #dae8df;padding-bottom:12px;margin-bottom:18px}.v07-top h2{font-size:21px;margin:7px 0}.v07-top p{font-size:12px;color:#617d71;margin:0}.v07-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v07-edit-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:12px}.v07-edit-grid input,.v07-edit-grid textarea{width:100%;padding:9px;border:1px solid #c0d6c9;border-radius:8px;font:inherit}.v07-table{border-collapse:collapse;width:100%;font-size:12px;margin:10px 0;word-break:break-word}.v07-table th,.v07-table td{border:1px solid #ccded1;padding:8px;text-align:right}.v07-table th{background:#e8f2e9}.v07-print{padding:15px;background:#fff;border:1px solid #d8e6db}.v07-print h2,.v07-print h3{text-align:center;color:#125348}.v07-signs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.v07-signs>div{text-align:center;padding:10px;border-top:1px dashed #b0c2b8;font-size:12px}.v07-signs strong{display:block}.v07-list-pages{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px}.v07-report-signatures{margin-top:15px}@media(max-width:950px){.v07-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.v07-grid,.v07-edit-grid,.v07-signs{grid-template-columns:1fr}.v07-top{display:block}}@media print{.workspace-sidebar,.dashboard-actions,.v07-top,.v07-actions,.site-header,.trial-ribbon{display:none!important}.v07-print{border:0!important;padding:0!important}.v07-table{font-size:10pt}@page{size:A4;margin:12mm}}
@media print {
 body.on-dashboard:has(.v07-print) #content-reports {display:none!important}
 body.on-dashboard:has(.v07-print) #content-v07 {display:block!important}
 body.on-dashboard:has(.v07-print) .v07-work {padding:0!important;border:0!important;box-shadow:none!important;min-height:0!important}
 body.on-dashboard:has(.v07-print) #v07-back-requests,
 body.on-dashboard:has(.v07-print) #v07-message,
 body.on-dashboard:has(.v07-print) .v07-top {display:none!important}
 @page {size:A4 portrait;margin:10mm}
}
/* V0.8 test requests: explicit identification and manager-only reversible-by-admin soft delete. */
.v08-sample-banner{border:1px solid #d8a849;background:#fff4cf;border-radius:10px;color:#805610;font-weight:800;margin:12px 0;padding:12px 15px;font-size:13px}
.v08-delete{border-color:#bf645d!important;color:#8f281e!important}
.v08-coord-label{display:flex;flex-direction:column;gap:9px;color:#174e42;font-weight:700}
.v08-coord-label textarea{width:100%;padding:15px;font-family:Consolas,monospace;direction:ltr;text-align:left;border:1px solid #bad0bf;border-radius:9px;line-height:1.7;font-size:14px}

.v08-test-tile{border:1px solid #c9973e;background:#fffae8}.v08-test-tile strong{color:#845b14}

.v08-full{grid-column:1/-1}.request-form-grid textarea{width:100%;padding:10px;border:1px solid #bad2c5;border-radius:8px;line-height:1.7;font:inherit;resize:vertical}.request-form-grid select{width:100%;padding:10px;border:1px solid #bad2c5;border-radius:8px;font:inherit}@media(max-width:650px){.v08-full{grid-column:auto}}
/* V0.9 — faithful Edfu operational dashboard vocabulary, adapted to five-center governance. */
.v09-overview{--v09green:#165b4c;--v09gold:#b69245;--v09line:#dfe9e2;--v09blue:#3b82ad;color:#193b33}
.v09-dashboard-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(112deg,#113d34,#1c6555);border:1px solid #c2a15d;padding:23px 27px;margin-bottom:16px;border-radius:16px;color:#fff;box-shadow:0 10px 24px #132f2820}
.v09-dashboard-banner h2{font-size:clamp(23px,2.1vw,31px);margin:7px 0 5px;color:#fff}
.v09-dashboard-banner p{color:#dae9dd;font-size:13px;margin:0}.v09-dashboard-banner .eyebrow{color:#ffdc8a}
.v09-banner-tools{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.v09-banner-tools label{display:flex;flex-direction:column;gap:6px;color:#f6e2af;font-size:11px;font-weight:800}
.v09-banner-tools select{width:115px;background:#fff;color:#1b4e40;padding:9px;border:1px solid #dcc48c;border-radius:9px;font-weight:900;font:inherit}
.v09-mode-picker,.v09-area-switch{display:flex;align-items:center;border:1px solid #d1b879;border-radius:10px;overflow:hidden;background:#eff3ee}
.v09-mode-picker button,.v09-area-switch button{padding:10px 13px;background:transparent;color:#215b4b;border:0;font-weight:800;font-size:12px}
.v09-mode-picker button.is-active,.v09-area-switch button.is-active{background:#edcd83;color:#183f33}
.v09-print-btn{background:#fff;color:#135345;border:1px solid #e5d298;border-radius:10px;padding:11px 15px;font-size:12px;font-weight:900}
.v09-overview .stats-grid.v09-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0 19px}
.v09-kpis>.stat-tile{border:1px solid #d7e1db!important;border-top:4px solid #ba9545!important;border-radius:13px;background:#fff;padding:16px 14px;min-width:0;min-height:118px;box-shadow:0 5px 15px #183f3210;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:7px}
.v09-kpis>.stat-tile span{font-size:13px;font-weight:850;color:#27564a;line-height:1.4;min-height:25px}
.v09-kpis>.stat-tile strong{display:block;color:#0e604d;font-family:Tahoma,Arial,sans-serif;font-size:clamp(21px,2.35vw,32px);font-weight:850;letter-spacing:-.7px;line-height:1.2;overflow-wrap:anywhere}
.v09-kpis>.stat-tile small{color:#64796d;font-size:11px;line-height:1.35}
.v09-kpis>.v09-kpi-main{background:linear-gradient(125deg,#164b40,#1e7c69)!important;border-top-color:#e9c26f!important}.v09-kpis>.v09-kpi-main span,.v09-kpis>.v09-kpi-main strong,.v09-kpis>.v09-kpi-main small{color:#fff!important}
.v09-kpis>.v09-kpi-feddan strong,.v09-kpis>.v09-kpi-m2 strong{font-size:clamp(17px,2vw,27px)}
.v09-kpis>.v08-test-tile{background:#fff6df!important;border-color:#e8d39e!important}.v09-kpis>.v08-test-tile strong{color:#9a6816!important}
.v09-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 18px}
.v09-charts-grid>.dashboard-box{border:1px solid var(--v09line);border-radius:14px;background:#fff;box-shadow:0 4px 17px #173b2c0b;padding:19px 20px;min-width:0}
.v09-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #e5eee8;padding-bottom:12px;margin-bottom:12px}
.v09-heading h3{margin:5px 0 0;font-size:18px;color:#164f43;line-height:1.35}
.v09-heading .eyebrow{color:#bc8c32;font-size:11px;font-weight:850}.v09-panel-tag{background:#f0f6ef;border-radius:30px;padding:6px 9px;color:#386755;font-size:10px;font-weight:750;white-space:nowrap}
.v09-chart-body{min-height:220px}.v09-no-data{background:#f5f7f4;padding:35px 10px;text-align:center;color:#688074;border:1px dashed #d7e5db;border-radius:8px;font-size:13px}
.v09-donut-wrap{display:grid;grid-template-columns:minmax(145px,205px) minmax(0,1fr);gap:22px;align-items:center;padding:10px 2px}
.v09-donut{width:min(100%,205px);aspect-ratio:1;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 7px 23px #173b2c14}
.v09-donut-inner{position:absolute;inset:21%;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#174b40;box-shadow:inset 0 0 10px #0000000c}
.v09-donut-inner strong{font-family:Tahoma,Arial,sans-serif;font-size:clamp(18px,2.2vw,29px);letter-spacing:-1px}.v09-donut-inner small{font-size:10px;text-align:center}
.v09-legend{display:flex;flex-direction:column;gap:7px}.v09-legend-row{display:grid;grid-template-columns:1fr auto;column-gap:10px;row-gap:1px;align-items:center;border-bottom:1px dashed #edf1ee;padding:4px 0}.v09-legend-row .v09-legend-name{display:flex;gap:7px;align-items:center;font-size:12px;color:#35564b}.v09-legend-name i{width:10px;height:10px;border-radius:3px;flex:none}.v09-legend-row b{font:700 13px Tahoma,Arial,sans-serif;color:#185743}.v09-legend-row small{grid-column:2;color:#7a8e80;text-align:left;font:11px Arial,sans-serif}
.v09-bar-row{margin:11px 0 15px}.v09-bar-header{display:flex;gap:11px;align-items:center;justify-content:space-between;font-size:12px;font-weight:750;color:#2d5245}.v09-bar-header strong{font:800 13px Tahoma,Arial,sans-serif;white-space:nowrap;color:#135746}
.v09-track{height:11px;border-radius:20px;background:#e7eee7;margin:8px 0 5px;overflow:hidden;direction:rtl}.v09-fill{height:100%;display:block;max-width:100%;background:linear-gradient(90deg,#39a68b,#0f6555);border-radius:20px}
.v09-sub-value{font-size:11px;color:#6c8576}.v09-chart-foot{color:#6b7c72;font-size:11px;margin:14px 0 0;line-height:1.6;border-top:1px dashed #e8ede8;padding-top:9px}
.v09-month-chart{display:grid;grid-template-columns:repeat(12,minmax(30px,1fr));gap:4px;height:215px;margin:17px 0 7px;direction:rtl}
.v09-month-group{display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:5px;min-width:0}.v09-month-group>small{font-size:9px;white-space:nowrap;color:#526f61;font-weight:800}
.v09-month-bars{display:flex;gap:3px;justify-content:center;align-items:flex-end;width:100%;height:172px;border-bottom:1px solid #bccdc2;position:relative}
.v09-month-bar{width:min(49%,27px);min-width:7px;min-height:0;position:relative;border-radius:4px 4px 0 0;box-shadow:0 0 0 1px #0001;transition:height .22s ease}
.v09-month-val{position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);font:bold 9px Tahoma,Arial,sans-serif;color:#3a5147;white-space:nowrap;writing-mode:horizontal-tb;direction:ltr}
.v09-month-legend{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;font-size:11px;font-weight:800}.v09-month-legend span:first-child{color:#1e6954}.v09-month-legend span:nth-child(2){color:#af8832}
.v09-area-large{font:850 clamp(23px,2.4vw,33px) Tahoma,Arial,sans-serif;color:#135845;text-align:center;padding:18px 0 5px}
.v09-table-panel{grid-column:span 2}.v09-table{width:100%;border-collapse:collapse;min-width:940px;text-align:right}.v09-table th{color:#f3f7f5;background:#1a634f;padding:11px 9px;font-size:11px;white-space:nowrap}.v09-table td{padding:11px 9px;border-bottom:1px solid #e0e9e1;font-size:12px;white-space:nowrap}.v09-table td:first-child{font-weight:900;color:#185846}.v09-table tr:nth-child(2n){background:#f7f9f5}.v09-total-row{background:#145946!important;color:#fff!important}.v09-total-row td{font-weight:900!important;color:#fff!important;border-bottom:0!important}
.v09-interpretation{grid-column:span 2}.v09-insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}.v09-insight{border:1px solid #dfebe1;border-radius:10px;background:#f9fbf9;padding:16px 12px;display:flex;flex-direction:column;gap:6px}.v09-insight-name{font-size:12px;color:#4d6a5e;font-weight:850}.v09-insight>strong{font:bold 25px Tahoma,Arial,sans-serif;color:#145e4d}.v09-insight>small{font-size:10px;color:#759085;line-height:1.5}.v09-insight-track{height:7px;background:#dce9df;border-radius:9px;overflow:hidden;margin-top:auto}.v09-insight-track i{display:block;height:100%;background:#23816e;border-radius:9px}.v09-notice{border-right:3px solid #bc9549;background:#f9f7ec;padding:13px 17px;font-size:11px;color:#5e6154;line-height:1.85;border-radius:9px}
.v09-bottom-summary{display:grid;grid-template-columns:1fr 2fr;gap:14px;margin:10px 0 0}.v09-bottom-summary>div{background:#fff;border:1px solid #dfe7e0;border-radius:12px;padding:18px}.v09-bottom-summary .side-panel>strong{display:block;font-size:18px;color:#165446;margin:9px 0}.v09-report-quick h3{margin:0 0 7px;color:#165b4c;font-size:18px}.v09-report-quick p{font-size:12px;color:#607a6d}.v09-quick-links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.v09-quick-links button{font-size:12px}.v09-report-quick>small{font-size:10px;color:#728779}
.v09-report-viz{border-top:1px solid #d6e3d9;margin:20px 0;padding:16px 10px}.v09-report-viz h3{font-size:17px;color:#185a4b}.v09-report-viz .v09-bar-row{max-width:750px}
@media(max-width:1250px){.v09-overview .stats-grid.v09-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.v09-insights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:890px){.v09-dashboard-banner{flex-direction:column;align-items:stretch}.v09-charts-grid{grid-template-columns:1fr}.v09-table-panel,.v09-interpretation{grid-column:auto}.v09-bottom-summary{grid-template-columns:1fr}.v09-donut-wrap{grid-template-columns:200px 1fr}}
@media(max-width:640px){.v09-overview .stats-grid.v09-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v09-kpis>.stat-tile{padding:12px 10px;min-height:104px}.v09-kpis>.stat-tile span{font-size:11px}.v09-kpis>.stat-tile strong{font-size:23px}.v09-kpis>.stat-tile small{font-size:9px}.v09-charts-grid>.dashboard-box{padding:14px 11px}.v09-heading{align-items:flex-start}.v09-heading h3{font-size:16px}.v09-donut-wrap{grid-template-columns:1fr;justify-items:center}.v09-legend{width:100%}.v09-month-chart{overflow-x:auto;min-width:420px}.v09-month-chart .v09-month-val{font-size:8px}.v09-month-legend{font-size:10px}.v09-insights{grid-template-columns:repeat(2,1fr);gap:8px}.v09-insight{padding:12px 9px}.v09-insight>strong{font-size:21px}.v09-dashboard-banner{padding:19px 16px}.v09-banner-tools{justify-content:space-between}.v09-area-switch button{padding:6px 8px}}
@media print{
 @page{size:A4 landscape;margin:10mm}
 body.v09-print-overview .trial-ribbon,body.v09-print-overview .site-header,body.v09-print-overview .site-footer,body.v09-print-overview .workspace-sidebar,body.v09-print-overview .dashboard-top,body.v09-print-overview .v09-banner-tools{display:none!important}
 body.v09-print-overview #view-dashboard,body.v09-print-overview #content-overview{display:block!important}
 body.v09-print-overview #content-reports,body.v09-print-overview #content-v07,body.v09-print-overview #content-requests{display:none!important}
 body.v09-print-overview .main-shell,body.v09-print-overview .workspace-layout,body.v09-print-overview .workspace-main{display:block!important;width:100%!important;margin:0!important;padding:0!important;max-width:none!important}
 body.v09-print-overview .v09-dashboard-banner{background:#fff!important;color:#164c40!important;border-bottom:2px solid #175b4a!important;box-shadow:none!important;padding:6px;margin-bottom:7px}
 body.v09-print-overview .v09-dashboard-banner h2,body.v09-print-overview .v09-dashboard-banner p{color:#164c40!important}
 body.v09-print-overview .v09-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important}
 body.v09-print-overview .v09-kpis>.stat-tile{padding:8px!important;min-height:0!important;box-shadow:none!important}
 body.v09-print-overview .v09-kpis strong{font-size:19px!important}
 body.v09-print-overview .v09-charts-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
 body.v09-print-overview .dashboard-box{break-inside:avoid;box-shadow:none!important;padding:12px!important}
 body.v09-print-overview .v09-insight{break-inside:avoid}
 body.v09-print-overview .v09-bottom-summary{display:none!important}
 body.v09-print-overview .v09-table{min-width:0!important;font-size:9px!important}
 body.v09-print-overview .v09-table th,body.v09-print-overview .v09-table td{padding:3px!important;font-size:8px!important}
 body.v09-print-overview .v09-month-chart{height:175px!important;min-width:0!important}
 body.v09-print-overview .v09-month-bars{height:135px!important}
 body.v09-print-overview .v09-chart-body{min-height:0!important}
 body.v09-print-overview .v09-donut{max-width:150px}
 body.v09-print-overview .v09-donut-wrap{grid-template-columns:150px 1fr!important}
 body.v09-print-overview .v09-interpretation{grid-column:span 2}
}
/* V0.9 QA: keep the mobile monthly plot scrollable within its own card. */
#v09-monthly{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}
@media(max-width:640px){#v09-monthly .v09-month-chart{width:520px;min-width:520px;margin:12px 0 8px}body.on-dashboard .v09-overview .v09-chart-panel{min-width:0;max-width:100%}.v09-chart-body{max-width:100%}}
