:root{--navy:#071a3d;--navy2:#0b2e68;--blue:#0b4fa3;--cyan:#08a7e8;--ink:#13213b;--muted:#6d7b90;--line:#dce5ef;--bg:#f5f8fc;--white:#fff;--green:#147b56;--greenbg:#e9f8f1;--amber:#a86b05;--amberbg:#fff5df;--red:#b53a49;--redbg:#fff0f2;--violet:#6758c9;--violetbg:#f1efff;--shadow:0 18px 55px rgba(7,26,61,.12);--radius:18px}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}.hidden{display:none!important}.eyebrow{font-size:10px;font-weight:900;letter-spacing:1.8px;color:var(--cyan)}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 14px;font-size:11px;font-weight:800;cursor:pointer}.btn.primary{border:0;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan));box-shadow:0 9px 22px rgba(11,79,163,.22)}.btn.secondary{background:#eff9ff;color:var(--blue);border-color:#cbeafa}.btn.danger{background:var(--redbg);color:var(--red);border-color:#ffd8de}.btn.small{padding:7px 9px;font-size:9px}.btn.full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.form-error{min-height:17px;color:var(--red);font-size:10px;font-weight:700}
.setup-screen,.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:linear-gradient(135deg,#061633,#0b3475 62%,#0a99d6)}.setup-brand,.login-visual{padding:7vh 6vw;color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.setup-brand:after,.login-visual:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.11);right:-250px;top:-170px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}.setup-brand img,.login-visual img{width:112px;height:112px;border-radius:50%;object-fit:cover;background:#fff;border:5px solid rgba(255,255,255,.15);position:relative;z-index:1}.setup-brand>span,.login-visual>span{font-size:11px;letter-spacing:3px;color:#9feaff;font-weight:900;margin-top:24px;position:relative;z-index:1}.setup-brand h1,.login-visual h1{font:700 46px/1.06 Georgia,serif;max-width:760px;margin:8px 0 12px;text-shadow:1px 1px 0 rgba(255,255,255,.12),-1px -1px 0 rgba(0,0,0,.42),0 8px 22px rgba(0,0,0,.22);position:relative;z-index:1}.setup-brand p,.login-visual p{max-width:720px;font-size:14px;line-height:1.7;color:#d1e5fa;position:relative;z-index:1}.setup-card,.login-card{width:min(560px,92%);background:#fff;align-self:center;justify-self:center;border-radius:24px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.28);border:1px solid #e4ebf4}.setup-card h2,.login-card h2{font:700 29px Georgia,serif;margin:5px 0 18px}.setup-card label,.login-card label,.form-grid label{display:block;font-size:10px;font-weight:800;color:#66758b;margin:10px 0}.setup-card input,.login-card input,.login-card select,.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fbfdff;outline:0;font-size:12px;color:var(--ink)}.setup-card input:focus,.login-card input:focus,.login-card select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(8,167,232,.1)}.setup-card small,.login-help{display:block;color:var(--muted);font-size:9px;line-height:1.6;margin-top:12px}.login-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:720px;margin-top:30px;position:relative;z-index:1}.login-features div{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:14px;padding:16px}.login-features b{display:block;font-size:27px}.login-features span{display:block;font-size:9px;color:#c8dff6;margin-top:4px}
.portal{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:278px;background:linear-gradient(180deg,#061633,#0b2f6d);color:#fff;padding:18px 14px;display:flex;flex-direction:column;z-index:10}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:2px 7px 15px;border-bottom:1px solid rgba(255,255,255,.11)}.sidebar-brand img{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#fff}.sidebar-brand b{display:block;font:700 18px Georgia,serif}.sidebar-brand span{display:block;font-size:9px;color:#9ab7dc;letter-spacing:1px;margin-top:2px}.org-session{margin:13px 4px 8px;padding:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:11px}.org-session span{display:block;font-size:8px;letter-spacing:1.5px;color:#8be4ff;font-weight:900}.org-session b{display:block;font-size:12px;margin-top:5px}.org-session small{display:block;font-size:9px;color:#acc3df;margin-top:3px}.nav-group{font-size:8px;letter-spacing:1.4px;color:#7291b8;margin:14px 9px 5px;font-weight:900}.nav-item{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;color:#c8d8eb;padding:9px 10px;border-radius:10px;text-align:left;font-size:11px;margin:2px 0;cursor:pointer}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.selected{background:linear-gradient(90deg,rgba(8,167,232,.27),rgba(255,255,255,.06));color:#fff;box-shadow:inset 3px 0 0 var(--cyan)}.nav-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.06)}#sideNav{overflow:auto;padding-right:2px}.sidebar-profile{margin-top:auto;border-top:1px solid rgba(255,255,255,.11);padding:13px 5px 0;display:grid;grid-template-columns:36px 1fr;gap:8px;align-items:center}.sidebar-avatar{width:36px;height:36px;border-radius:10px;background:#fff;color:var(--blue);display:grid;place-items:center;font-weight:900;font-size:10px;background-size:cover;background-position:center}.sidebar-profile b{display:block;font-size:10px}.sidebar-profile small{display:block;font-size:8px;color:#8facd0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.sidebar-profile button{grid-column:1/-1;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#c8d9ed;border-radius:9px;padding:8px;font-size:9px;font-weight:800;cursor:pointer}.main{margin-left:278px;min-height:100vh}.topbar{height:74px;position:sticky;top:0;z-index:8;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar>div>span{display:block;font-size:9px;letter-spacing:1.7px;font-weight:900;color:var(--cyan)}.topbar h1{font:700 20px Georgia,serif;margin:3px 0 0}.top-actions{display:flex;align-items:center;gap:9px}.org-switch{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--muted);font-weight:800}.org-switch select{border:1px solid var(--line);border-radius:9px;padding:8px;background:#fff;font-size:10px;max-width:210px}.search{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:#f6f9fc;border-radius:9px;padding:8px 10px;width:230px}.search input{border:0;outline:0;background:transparent;width:100%;font-size:10px}.top-profile{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:5px 8px;cursor:pointer}.top-profile span{width:28px;height:28px;border-radius:8px;background:var(--navy);color:#fff;display:grid;place-items:center;background-size:cover;background-position:center;font-size:9px;font-weight:900}.top-profile small{font-size:8px;color:var(--muted)}.content{padding:28px 32px 50px}.banner{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#071a3d,#0b4fa3 68%,#08a7e8);color:#fff;padding:28px 30px;box-shadow:var(--shadow)}.banner:after{content:"";position:absolute;width:310px;height:310px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-120px;top:-140px;box-shadow:0 0 0 55px rgba(255,255,255,.024),0 0 0 110px rgba(255,255,255,.018)}.banner .eyebrow{color:#a4ecff}.banner h2{font:700 31px Georgia,serif;margin:5px 0 7px;text-shadow:1px 1px 0 rgba(255,255,255,.12),-1px -1px 0 rgba(0,0,0,.4),0 8px 20px rgba(0,0,0,.24)}.banner p{font-size:11px;line-height:1.7;color:#c8def6;max-width:820px;margin:0}.banner-actions{display:flex;gap:8px;margin-top:15px;position:relative;z-index:1}.banner .btn.secondary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:17px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px rgba(7,26,61,.045)}.kpi{padding:18px;overflow:hidden;position:relative}.kpi:after{content:"";position:absolute;width:78px;height:78px;border-radius:50%;right:-25px;top:-25px;background:#edf9ff}.kpi span{font-size:8px;color:var(--muted);font-weight:900;letter-spacing:.8px}.kpi strong{display:block;font-size:28px;margin:7px 0 4px}.kpi small{font-size:9px;color:var(--green)}.section-head{display:flex;justify-content:space-between;align-items:end;margin:25px 0 13px}.section-head h3{font:700 22px Georgia,serif;margin:2px 0 0;text-shadow:1px 1px 0 #fff,-1px -1px 0 rgba(0,0,0,.06),0 3px 11px rgba(7,26,61,.1)}.section-head p{font-size:10px;color:var(--muted);margin:5px 0 0}.panel{padding:18px}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-card{padding:17px}.mini-card h4{font:700 15px Georgia,serif;margin:0 0 6px}.mini-card p{font-size:9px;line-height:1.6;color:var(--muted);margin:0}.mini-card strong{display:block;color:var(--blue);font-size:22px;margin-top:12px}.iconbox{width:35px;height:35px;border-radius:10px;background:#edf9ff;color:var(--blue);display:grid;place-items:center;font-weight:900;margin-bottom:12px}.notice{border-radius:15px;padding:17px;background:linear-gradient(135deg,#071a3d,#0b4fa3);color:#fff}.notice h4{font:700 16px Georgia,serif;margin:0 0 6px}.notice p{font-size:9px;line-height:1.7;color:#c8dff6;margin:0}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:10px}.data-table th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);font-size:8px;letter-spacing:1px;color:#728197;text-transform:uppercase;white-space:nowrap}.data-table td{padding:11px 10px;border-bottom:1px solid #edf1f5;vertical-align:middle}.data-table tr:hover td{background:#fbfdff}.person{display:flex;align-items:center;gap:8px;min-width:190px}.avatar{width:32px;height:32px;border-radius:9px;background:#eaf8ff;color:var(--blue);display:grid;place-items:center;font-size:9px;font-weight:900;background-size:cover;background-position:center}.person b{display:block;font-size:10px}.person small{display:block;font-size:8px;color:var(--muted);margin-top:2px}.status{display:inline-block;padding:5px 7px;border-radius:7px;font-size:8px;font-weight:900;text-transform:uppercase}.status.active,.status.approved,.status.uploaded{background:var(--greenbg);color:var(--green)}.status.pending,.status.awaiting-upload,.status.planned,.status.pending-invitation{background:var(--amberbg);color:var(--amber)}.status.restricted,.status.review{background:var(--violetbg);color:var(--violet)}.status.denied,.status.inactive{background:var(--redbg);color:var(--red)}.scope-pill{display:inline-block;background:#edf7ff;color:var(--blue);border-radius:7px;padding:5px 7px;font-size:8px;font-weight:800}.country-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.country-card{padding:14px}.country-card h4{font:700 13px Georgia,serif;margin:0}.country-card p{font-size:8px;color:var(--muted);margin:5px 0 10px}.country-card .foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f5;padding-top:9px;font-size:8px;color:var(--muted)}.profile-header{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:start}.profile-photo{width:150px;height:150px;border-radius:20px;background:#edf5fb;display:grid;place-items:center;font-size:44px;color:var(--blue);font-weight:900;background-size:cover;background-position:center;border:1px solid var(--line)}.profile-meta h3{font:700 25px Georgia,serif;margin:0}.profile-meta p{font-size:10px;color:var(--muted);line-height:1.6}.profile-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.info-item{padding:11px;border:1px solid var(--line);border-radius:10px;background:#fbfdff}.info-item span{display:block;font-size:8px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.8px}.info-item b{display:block;font-size:10px;margin-top:4px}.tor-section{padding:15px;border:1px solid var(--line);border-radius:12px;margin-top:10px}.tor-section h4{font:700 14px Georgia,serif;margin:0 0 8px}.tor-section p,.tor-section li{font-size:9px;line-height:1.65;color:#43536a}.tor-section ul{margin:0;padding-left:17px}.doc-groups{display:grid;gap:14px}.doc-group{padding:0;overflow:hidden}.doc-group-head{padding:13px 16px;background:#f8fafc;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.doc-group-head h4{font:700 15px Georgia,serif;margin:0}.doc-row{display:grid;grid-template-columns:70px 1fr 100px 90px 220px;gap:10px;align-items:center;padding:11px 15px;border-bottom:1px solid #edf1f5;font-size:9px}.doc-row:last-child{border-bottom:0}.doc-row .doc-name b{display:block;font-size:10px}.doc-row .doc-name small{display:block;color:var(--muted);margin-top:3px}.doc-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}.request-item{display:grid;grid-template-columns:100px 1fr 140px 110px 220px;gap:10px;align-items:center;padding:11px;border-bottom:1px solid #edf1f5;font-size:9px}.position-browser{display:grid;grid-template-columns:260px 1fr;gap:16px}.position-list{max-height:650px;overflow:auto}.position-list button{width:100%;text-align:left;border:0;background:transparent;border-bottom:1px solid #edf1f5;padding:10px;cursor:pointer;font-size:9px}.position-list button b{display:block;font-size:10px}.position-list button small{color:var(--muted)}.position-list button.selected{background:#eef9ff;color:var(--blue)}.empty{padding:36px;text-align:center;color:var(--muted);font-size:10px}.empty b{display:block;color:var(--ink);font-size:13px;margin-bottom:4px}.profile-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.profile-card{padding:15px;text-align:center}.profile-card .avatar{width:72px;height:72px;border-radius:18px;margin:0 auto 10px;font-size:18px}.profile-card h4{font:700 14px Georgia,serif;margin:0}.profile-card p{font-size:8px;color:var(--muted);min-height:26px}.profile-card small{display:block;font-size:8px;color:var(--blue)}.form-grid{padding:21px;display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-grid .full{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.credential-box{grid-column:1/-1;border:1px solid #bfe7f7;background:#effaff;border-radius:11px;padding:12px;font-size:9px;line-height:1.6}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(2,13,31,.66);backdrop-filter:blur(6px);z-index:30;align-items:center;justify-content:center}.modal-backdrop.show{display:flex}.modal{width:min(760px,94vw);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 100px rgba(0,0,0,.3)}.modal-head{padding:19px 21px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modal-head h2{font:700 22px Georgia,serif;margin:4px 0 0}.close{border:0;background:#f1f4f8;width:34px;height:34px;border-radius:9px;font-size:20px;cursor:pointer}.toast{position:fixed;right:22px;bottom:22px;background:#071a3d;color:#fff;border-radius:11px;padding:12px 15px;font-size:10px;box-shadow:var(--shadow);z-index:40;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:none}.callout{border:1px dashed #aad9eb;background:#f2fbff;color:#266079;border-radius:11px;padding:11px 13px;font-size:9px;line-height:1.6;margin-top:14px}.progress{height:7px;border-radius:8px;background:#edf1f6;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue))}
@media(max-width:1180px){.sidebar{width:235px}.main{margin-left:235px}.kpis{grid-template-columns:repeat(2,1fr)}.country-grid,.profile-directory{grid-template-columns:repeat(3,1fr)}.search{display:none}.setup-screen,.login-screen{grid-template-columns:1fr}.setup-brand,.login-visual{padding:45px}.setup-card,.login-card{margin:30px auto}.setup-brand h1,.login-visual h1{font-size:36px}}
@media(max-width:820px){.sidebar{position:relative;width:100%;height:auto}.main{margin-left:0}.sidebar #sideNav{display:grid;grid-template-columns:1fr 1fr;max-height:280px}.sidebar-profile{display:none}.topbar{padding:0 15px}.content{padding:18px}.grid-2,.grid-3,.cards,.position-browser{grid-template-columns:1fr}.country-grid,.profile-directory{grid-template-columns:1fr 1fr}.doc-row,.request-item{grid-template-columns:1fr}.doc-actions{justify-content:flex-start}.form-grid{grid-template-columns:1fr}.form-grid .full,.form-actions,.credential-box{grid-column:auto}.profile-header{grid-template-columns:1fr}.profile-photo{width:120px;height:120px}.org-switch{display:none!important}}
@media(max-width:520px){.kpis,.country-grid,.profile-directory,.login-features{grid-template-columns:1fr}.setup-brand h1,.login-visual h1{font-size:29px}}

/* ===== V4 operational design system ===== */
:root{--teal:#0ca6a6;--gold:#d9a51e;--deep:#04142f;--soft:#eef8ff;--glass:rgba(255,255,255,.78)}
.topbar{-webkit-backdrop-filter:blur(12px)}
.banner{isolation:isolate;background:
 radial-gradient(circle at 88% 20%,rgba(111,221,255,.25),transparent 28%),
 linear-gradient(135deg,#061633 0%,#0a377d 54%,#079fdc 100%)}
.banner:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:28px 28px;z-index:-1}
.card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card:hover{border-color:#c8d9e8;box-shadow:0 12px 34px rgba(7,26,61,.075)}
.status.draft,.status.not-started{background:#eef2f7;color:#58677c}.status.posted,.status.paid,.status.complete,.status.completed,.status.received{background:var(--greenbg);color:var(--green)}.status.pending-approval,.status.in-progress{background:var(--amberbg);color:var(--amber)}.status.blocked,.status.void{background:var(--redbg);color:var(--red)}
.control-team{display:grid;grid-template-columns:1fr 1fr auto;gap:13px;align-items:center}.control-team>div{padding:14px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(180deg,#fbfdff,#f3f9fd)}.control-team span{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);font-weight:900}.control-team strong{display:block;font-size:30px;color:var(--blue);margin:5px 0}.control-team small{font-size:8px;color:var(--muted)}
.country-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.country-control-mini{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.country-control-mini span{padding:8px;border:1px solid var(--line);border-radius:8px;background:#f9fcff;font-size:8px;color:var(--muted)}.country-control-mini b{color:var(--blue);float:right}
.report-period-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin-top:17px}.report-period{padding:16px;position:relative;overflow:hidden}.report-period:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-25px;top:-27px;background:linear-gradient(135deg,#e8f8ff,#f6fbff)}.report-period span{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);font-weight:900;position:relative;z-index:1}.report-period strong{display:block;font-size:29px;color:var(--blue);margin:6px 0;position:relative;z-index:1}.report-period small{font-size:8px;color:var(--muted);position:relative;z-index:1}.report-narrative{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;line-height:1.8;font-size:11px;color:#34455f}
.clock-shell{display:grid;grid-template-columns:1.15fr .85fr auto;gap:16px;align-items:center;background:linear-gradient(135deg,#061633,#0b4fa3 65%,#08a7e8);border-radius:20px;padding:20px 22px;color:#fff;box-shadow:0 18px 48px rgba(7,26,61,.18);position:relative;overflow:hidden}.clock-shell:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;border:1px solid rgba(255,255,255,.12);right:-90px;top:-110px;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)}.clock-face{position:relative;z-index:1}.clock-face span{display:block;font:700 36px Georgia,serif;letter-spacing:1px;text-shadow:0 8px 20px rgba(0,0,0,.22)}.clock-face small{display:block;color:#bfe2fb;font-size:10px;margin-top:5px}.clock-status{position:relative;z-index:1;padding-left:18px;border-left:1px solid rgba(255,255,255,.16)}.clock-status strong{display:block;font-size:25px;margin:8px 0 2px}.clock-status small{font-size:9px;color:#bfe2fb}.clock-status .status{background:rgba(255,255,255,.16);color:#fff}.clock-actions{position:relative;z-index:1}.clock-button{min-width:135px;padding:13px 16px!important;font-size:11px!important}.clock-shell .btn.danger{background:#fff0f2;color:#9d2132;border:0}
.project-board{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:17px}.project-card{padding:19px}.project-card-head{display:flex;justify-content:space-between;gap:12px}.project-card-head h4{font:700 18px Georgia,serif;margin:4px 0}.project-card-head p{font-size:9px;color:var(--muted);margin:0}.project-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.project-metrics div{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfdff}.project-metrics span{display:block;font-size:7px;color:var(--muted);font-weight:900;text-transform:uppercase}.project-metrics b{display:block;font-size:10px;margin-top:4px}.task-list{margin-top:12px;display:grid;gap:6px}.task-list>div{display:flex;align-items:center;justify-content:space-between;gap:9px;border-top:1px solid #edf1f5;padding-top:7px;font-size:9px}.task-list small{font-size:9px;color:var(--muted)}.project-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:13px}
.finance-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;padding:22px}.finance-type-card{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f7fbff);border-radius:14px;padding:17px;text-align:left;color:var(--ink);cursor:pointer;transition:.18s}.finance-type-card:hover{transform:translateY(-2px);border-color:#9fd9f1;box-shadow:0 12px 25px rgba(7,26,61,.08)}.finance-type-card span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e9f8ff;color:var(--blue);font-weight:900}.finance-type-card b{display:block;font:700 14px Georgia,serif;margin:10px 0 4px}.finance-type-card small{font-size:8px;color:var(--muted)}
.document-preview{padding:21px}.doc-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:end;border-bottom:3px solid var(--blue);padding-bottom:12px;margin-bottom:15px}.doc-preview-head span{font-size:8px;letter-spacing:2px;color:var(--cyan);font-weight:900}.doc-preview-head h3{font:700 22px Georgia,serif;margin:3px 0 0}.doc-preview-head>b{font-size:11px}.finance-amount{font-size:40px;font-weight:900;color:var(--blue);letter-spacing:-1px;margin:18px 0}.finance-coding{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.finance-coding span{padding:8px 10px;border-radius:8px;background:#eef8ff;color:var(--blue);font-size:8px;font-weight:800}
.budget-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:17px}.budget-card{padding:18px}.budget-head{display:flex;justify-content:space-between;gap:10px}.budget-head h4{font:700 17px Georgia,serif;margin:4px 0}.budget-head p{font-size:8px;color:var(--muted);margin:0}.budget-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.budget-stats div{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfdff}.budget-stats span{display:block;font-size:7px;color:var(--muted);font-weight:900;text-transform:uppercase}.budget-stats b{display:block;font-size:10px;margin-top:4px;color:var(--ink)}
.data-table td .btn{white-space:nowrap}
@media(max-width:1350px){.report-period-grid{grid-template-columns:repeat(3,1fr)}.project-metrics,.budget-stats{grid-template-columns:repeat(2,1fr)}.finance-type-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.clock-shell{grid-template-columns:1fr 1fr}.clock-actions{grid-column:1/-1}.project-board,.budget-grid{grid-template-columns:1fr}.control-team{grid-template-columns:1fr 1fr}.control-team>button{grid-column:1/-1}.finance-type-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.report-period-grid{grid-template-columns:1fr 1fr}.clock-shell{grid-template-columns:1fr}.clock-status{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:12px 0 0}.project-metrics,.budget-stats{grid-template-columns:1fr 1fr}.finance-type-grid{grid-template-columns:1fr}.control-team{grid-template-columns:1fr}.country-control-mini{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.banner-actions,.btn,.toast,.modal-backdrop{display:none!important}.main{margin:0!important}.content{padding:0!important}.card{box-shadow:none!important;break-inside:avoid}.banner{color:#000;background:#fff;box-shadow:none;border:1px solid #ddd}.banner p{color:#333}}

/* V5 — official controlled-library review/edit workflow */
.library-control-banner{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.library-control-banner>div{background:linear-gradient(135deg,#eef9ff,#fff);border:1px solid #cfe9f6;border-radius:14px;padding:15px}.library-control-banner span{display:block;font-size:8px;letter-spacing:1.4px;color:var(--cyan);font-weight:900}.library-control-banner b{display:block;font:700 15px Georgia,serif;color:var(--blue);margin:4px 0}.library-control-banner small{font-size:8px;color:var(--muted);line-height:1.5}.doc-group-head>div{min-width:0}.doc-group-head .domain-code{display:inline-block;background:#e9f7ff;color:var(--blue);border-radius:7px;padding:4px 7px;font-size:8px;font-weight:900;margin-bottom:4px}.doc-group-head small{display:block;color:var(--muted);font-size:8px;margin-top:3px;max-width:780px}.doc-row{grid-template-columns:125px minmax(300px,1fr) 135px 160px minmax(260px,auto)}.doc-id{color:var(--blue);font-size:9px}.status.working-draft{background:#eef8ff;color:var(--blue)}.status.under-review,.status.reviewed{background:#f1efff;color:var(--violet)}.status.changes-required{background:var(--redbg);color:var(--red)}.status.awaiting-approval,.status.approved-pending-publication{background:var(--amberbg);color:var(--amber)}.status.published{background:var(--greenbg);color:var(--green)}.document-review{padding:20px}.review-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.review-meta>div{border:1px solid var(--line);border-radius:10px;background:#fbfdff;padding:10px}.review-meta span{display:block;color:var(--muted);font-size:7px;letter-spacing:1px;font-weight:900}.review-meta b{display:block;font-size:9px;margin-top:4px}.review-actions{display:flex;gap:7px;margin:12px 0}.review-columns{align-items:start}.review-form{display:grid;gap:10px;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fbfdff}.review-form label{font-size:8px;font-weight:900;color:var(--muted)}.review-form select,.review-form textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:9px;padding:9px;background:#fff;font-size:9px}.subhead{font:700 14px Georgia,serif;margin:12px 0 8px}.review-history,.version-history{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:12px}.history-item{padding:10px;border-bottom:1px solid #edf1f5}.history-item:last-child{border-bottom:0}.history-item span{display:inline-block;background:#eef8ff;color:var(--blue);border-radius:6px;padding:4px 6px;font-size:7px;font-weight:900}.history-item b{display:block;font-size:9px;margin-top:5px}.history-item small{display:block;color:var(--muted);font-size:7px;margin-top:2px}.history-item p{font-size:8px;line-height:1.5;margin:6px 0 0;color:#405269}.review-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.review-timeline div{text-align:center;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfdff}.review-timeline b{display:grid;place-items:center;margin:0 auto 5px;width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;font-size:9px}.review-timeline span{font-size:8px;font-weight:800}
@media(max-width:900px){.library-control-banner,.review-meta,.review-timeline{grid-template-columns:1fr}.doc-row{grid-template-columns:1fr}}


/* ================================================================
   V6 — Detailed attendance, global reporting, RBM projects,
   controlled governance workflow, leadership directory & AI center
   ================================================================ */
.clock-v6{margin-top:16px;display:grid;grid-template-columns:1.15fr 1.35fr .9fr 1.2fr;gap:12px;align-items:center;background:linear-gradient(135deg,#071b40,#0a3d83 62%,#03a6df);color:#fff;border-radius:22px;padding:18px;box-shadow:0 22px 60px rgba(7,27,64,.2)}
.clock-person{display:flex;align-items:center;gap:12px}.clock-person span{display:block;font-size:8px;letter-spacing:1.3px;color:#9de9ff;font-weight:900}.clock-person b{display:block;font:700 15px Georgia,serif}.clock-person small{display:block;color:#bfd8f3;font-size:9px;margin-top:3px}
.clock-photo,.attendance-photo,.request-photo,.director-photo{background-size:cover;background-position:center;border:3px solid rgba(255,255,255,.8);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.clock-photo{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;background-color:#fff;color:#0b4fa3;font-weight:900}
.clock-face span{display:block;font-size:25px;font-weight:900}.clock-face small,.clock-face em{display:block;font-size:9px;color:#d4e7fa;margin-top:4px;font-style:normal}
.clock-status strong{display:block;font-size:26px;margin:7px 0 2px}.clock-status small{font-size:8px;color:#c7dcf3}
.clock-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.clock-actions .clock-button{min-height:43px}
.gps-disclosure{margin-top:8px;font-size:8px;color:#6d7b90;border:1px dashed #bdd9e8;background:#f4fbff;padding:9px 11px;border-radius:10px}
.attendance-list{display:grid;gap:12px}.attendance-card{border:1px solid #dce5ef;border-radius:16px;padding:14px;background:linear-gradient(180deg,#fff,#fbfdff)}
.attendance-person{display:grid;grid-template-columns:45px 1fr auto;gap:10px;align-items:center}.attendance-photo{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;background-color:#e9f7ff;color:#0b4fa3;font-weight:900}.attendance-person b{font-size:11px}.attendance-person small{display:block;font-size:8px;color:#728097;margin-top:2px}
.attendance-date{display:flex;gap:10px;flex-wrap:wrap;margin:11px 0;padding:9px;border-radius:9px;background:#f3f7fb;font-size:9px}.attendance-date b{color:#0b4fa3}.attendance-date span{color:#64748b}
.attendance-events{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.attendance-events>div{border:1px solid #e4ebf2;border-radius:10px;padding:10px}.attendance-events span{display:block;font-size:7px;letter-spacing:1px;color:#78889b;font-weight:900}.attendance-events b{display:block;margin:4px 0;font-size:12px}.attendance-events small{font-size:7px}
.break-history{margin-top:9px}.break-line{display:grid;grid-template-columns:70px 1fr 1fr 1.3fr;gap:7px;border-top:1px solid #edf1f5;padding:8px 0;font-size:8px}.break-line span{color:#68778a}
.map-link{color:#0b69af;text-decoration:none;font-size:8px;font-weight:800}.geo-accuracy,.geo-unavailable{display:inline-block;font-size:7px;color:#8492a4;margin-left:4px}

.request-ledger{display:grid;gap:10px}.request-v6{display:grid;grid-template-columns:52px minmax(260px,1.3fr) minmax(230px,.8fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e1e8f0;border-radius:13px;background:#fff}.request-photo{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background-color:#eaf8ff;color:#0b4fa3;font-weight:900}.request-main b{display:block;font-size:10px;margin:6px 0 3px}.request-main small,.request-main em{display:block;color:#77869a;font-size:8px;font-style:normal;margin-top:3px}.request-decision small{display:block;color:#6f7c8f;font-size:7px;margin-top:4px}

.library-master-grid{margin:16px 0}.workflow-lane{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin-top:9px}.workflow-lane>div{position:relative;border:1px solid #dce8f2;background:#fff;border-radius:10px;padding:8px 5px;text-align:center;min-height:62px}.workflow-lane b{display:grid;place-items:center;margin:auto;width:20px;height:20px;border-radius:7px;background:#e9f8ff;color:#0b4fa3;font-size:8px}.workflow-lane span{display:block;font-size:7px;font-weight:800;margin-top:5px;line-height:1.2}.workflow-lane em{display:block;font-size:10px;color:#0b69af;font-style:normal;font-weight:900;margin-top:2px}.v6-doc-row .doc-name small{display:block;margin-top:3px}.v6-timeline{grid-template-columns:repeat(5,1fr)!important;gap:8px;flex-wrap:wrap}

.director-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.director-card{padding:16px;display:flex;flex-direction:column}.director-head{display:grid;grid-template-columns:64px 1fr auto;gap:11px;align-items:center}.director-photo{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;background-color:#e7f7ff;color:#0b4fa3;font-weight:900;font-size:15px}.director-photo.placeholder{border:1px solid #cae8f7}.director-head h4{margin:3px 0 2px;font:700 15px Georgia,serif}.director-head p{font-size:8px;color:#6b7a8e;margin:0}.director-bio{font-size:9px;line-height:1.6;color:#617085;min-height:58px}.contact-stack{display:grid;gap:5px;background:#f6f9fc;border-radius:10px;padding:10px;font-size:8px;line-height:1.45}.director-card .foot{margin-top:auto;padding-top:10px;display:flex;gap:8px;justify-content:space-between;align-items:center}.director-card .foot small{font-size:7px;color:#7d8a9b;max-width:70%}

.results-chain{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.results-chain>div{border:1px solid #e1e9f0;border-radius:10px;padding:9px;background:#fbfdff}.results-chain span{font-size:7px;color:#0b69af;font-weight:900;letter-spacing:1px}.results-chain p{font-size:8px;color:#536277;line-height:1.45;white-space:pre-line;max-height:80px;overflow:auto}.rbm-detail{font-size:8px;color:#5d6c80;background:#f7f9fc;border-radius:10px;padding:10px;margin:9px 0}.rbm-detail p{margin:5px 0;white-space:pre-line}.rbm-form textarea,.report-form textarea{line-height:1.5}
.ai-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:17px}.ai-card{padding:17px;position:relative;overflow:hidden}.ai-card:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;background:#effaff;right:-28px;top:-28px}.ai-provider-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#0b4fa3,#05a9e2);color:#fff;font-weight:900;box-shadow:0 9px 20px rgba(11,79,163,.18)}.ai-card h4{font:700 14px Georgia,serif;margin:10px 0 6px}.ai-card p{font-size:8px;line-height:1.55;color:#67758a;min-height:52px}.ai-use-cases{grid-template-columns:repeat(3,1fr)!important}.check-stack{display:grid;gap:8px;font-size:9px}.check-stack span{border-bottom:1px solid #edf1f5;padding:7px 0}

@media(max-width:1200px){.director-grid{grid-template-columns:repeat(2,1fr)}.workflow-lane{grid-template-columns:repeat(5,1fr)}.clock-v6{grid-template-columns:1fr 1fr}.ai-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.director-grid,.ai-grid,.ai-use-cases,.attendance-events,.results-chain{grid-template-columns:1fr!important}.clock-v6{grid-template-columns:1fr}.workflow-lane{grid-template-columns:repeat(2,1fr)}.request-v6{grid-template-columns:46px 1fr}.request-decision,.request-v6 .doc-actions{grid-column:1/-1}.break-line{grid-template-columns:1fr}.director-head{grid-template-columns:58px 1fr}.director-head>.status{grid-column:1/-1}}


/* =====================================================================
   V7 — active forms, leadership network, UN-style RBM/reporting/finance
   ===================================================================== */
:root{--text-black:#111111;--body-black:#171717;--subtle-black:#2a2a2a}
body{font-size:14px;color:var(--text-black);font-family:"Segoe UI",Aptos,Arial,sans-serif;line-height:1.5}
.main,.content,.card,.panel,.modal-card,.auth-card,input,select,textarea{color:var(--text-black)}
.content p,.content td,.content li,.content label,.modal-card label,.modal-card p{font-size:12px;color:var(--body-black)}
.section-head h3,.panel-head h4,.card h4,.modal-card h2,.title-stack h1{color:#101010}
.data-table{font-size:11px}.data-table td{color:#151515}.data-table th{color:#313131;font-size:9px}
.muted,small{color:#555f6d}.btn{font-size:11px}.banner p{font-size:12px;color:#eaf3ff}.banner h2{font-size:31px}

.clock-v7{margin-top:16px;display:grid;grid-template-columns:1.1fr 1.35fr .9fr 1.25fr;gap:12px;align-items:center;background:linear-gradient(135deg,#061a3b,#0b4fa3 65%,#04a8e8);color:#fff;border-radius:22px;padding:19px;box-shadow:0 22px 60px rgba(7,27,64,.22)}
.clock-v7 .clock-person b,.clock-v7 .clock-face span,.clock-v7 .clock-status strong{color:#fff}.clock-v7 small,.clock-v7 em{color:#e8f4ff}
.request-location{margin-top:8px;padding:7px 9px;border-radius:8px;background:#f2f8fc;font-size:9px;color:#111}.request-location b{display:inline!important}

.hierarchy-network{margin-top:17px;border:1px solid #b8d7f4;border-radius:20px;background:linear-gradient(180deg,#fff,#f7fbff);padding:18px;box-shadow:0 14px 36px rgba(12,65,130,.08)}
.regional-node{width:min(520px,92%);margin:0 auto;display:flex;gap:12px;align-items:center;padding:13px 18px;border-radius:13px;background:linear-gradient(180deg,#0955a8,#063d82);color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25),0 8px 22px rgba(4,52,112,.18)}
.regional-node>span{font-size:28px}.regional-node b{display:block;color:#fff;font:700 18px Georgia,serif}.regional-node small{display:block;color:#d8edff;margin-top:4px;font-size:9px}.network-connector{height:22px;width:2px;background:#0878d4;margin:auto}
.country-band{border:2px solid #76b8f1;border-radius:14px;padding:10px;margin-bottom:11px}.country-band h4{font-size:10px;text-align:center;background:#0b4fa3;color:#fff;border-radius:7px;padding:6px;margin:-2px auto 10px;max-width:520px;letter-spacing:.5px}
.network-country-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:7px}.network-country{border:1px solid #a9d2f6;border-radius:10px;background:#fff;padding:9px 6px;min-height:106px;color:#111;box-shadow:0 4px 10px rgba(7,66,132,.05)}.network-country:hover{border-color:#0b7fd5;transform:translateY(-2px)}.network-country .flag{display:block;font-size:26px}.network-country b{display:block;font-size:10px;margin:4px 0;color:#111}.network-country small{display:block;font-size:8px;color:#1e4f82;line-height:1.3}.network-country em{display:block;font-size:7px;color:#555;font-style:normal;margin-top:4px}
.country-structure-node{margin-top:14px;border:2px solid #8fc4ef;border-radius:14px;padding:12px}.country-structure-node>b{display:block;width:min(380px,90%);margin:-26px auto 10px;text-align:center;background:#06468f;color:#fff;border-radius:10px;padding:7px;font-size:11px}.structure-role-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.structure-role-row span{border:1px solid #a9d3f4;border-radius:8px;padding:8px;background:#fff;text-align:center;font-size:9px;font-weight:700;color:#111}
.hierarchy-reference{margin-top:18px;display:grid;grid-template-columns:minmax(320px,52%) 1fr;gap:18px;align-items:center}.hierarchy-reference img{width:100%;border-radius:12px;border:1px solid #c7dbec}.hierarchy-reference h4{font-size:18px;margin:5px 0}.hierarchy-reference p{font-size:11px}
.director-card .contact-stack span{color:#111;font-size:9px}.director-bio{color:#222;font-size:10px}.director-photo.placeholder{font-size:25px}

.workspace-intro{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.workspace-intro>div{padding:13px 15px;border-radius:12px;border:1px solid #b8d7ef;background:#fff}.workspace-intro b{display:block;font-size:10px;color:#064a95;letter-spacing:1px}.workspace-intro span{font-size:9px;color:#333;line-height:1.5}.project-doc-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin:10px 0}.project-doc-strip button{border:1px solid #d4e3f0;background:#fafdff;border-radius:9px;padding:8px;text-align:left;color:#111}.project-doc-strip b{display:block;font-size:9px}.project-doc-strip small{display:block;font-size:7px;margin-top:3px}.project-detail-modal p{white-space:pre-wrap}
.report-standard-strip,.finance-standard-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin:14px 0}.report-standard-strip span,.finance-standard-strip span{background:#fff;border:1px solid #bad7ed;border-radius:8px;padding:8px;text-align:center;font-size:8px;font-weight:800;color:#111}.report-view section{padding:10px 0;border-bottom:1px solid #e8edf2}.report-view section h4{margin:0 0 5px;color:#0b4fa3}.report-view section p{white-space:normal;line-height:1.6}

.governance-directory{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}.governance-profile{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:16px}.governance-photo{width:80px;height:80px;border-radius:18px;display:grid;place-items:center;background-color:#e9f6ff;background-size:cover;background-position:center;border:3px solid #fff;box-shadow:0 7px 20px rgba(5,60,125,.12);font-size:18px;font-weight:900;color:#0b4fa3}.gov-profile-body h4{font-size:17px;margin:4px 0;color:#111}.gov-profile-body>b{font-size:10px;color:#0b4fa3}.gov-profile-body p{font-size:9px;line-height:1.55;color:#333}.profile-facts{display:grid;gap:4px}.profile-facts span{font-size:8px;color:#333}.profile-facts span b{display:inline-block;width:83px;color:#111}

.ai-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ai-assist-form .ai-status{padding:9px;border-radius:8px;background:#eff8ff;color:#074c8d;font-size:9px}.ai-card .status.active{background:#e7f7ef;color:#137a55}.ai-card p{color:#222}.ai-card h4{color:#111}

.finance-type-card{color:#111}.finance-type-card b{color:#111}.finance-form input,.finance-form select,.finance-form textarea,.rbm-form input,.rbm-form select,.rbm-form textarea,.report-form input,.report-form select,.report-form textarea{font-size:12px;color:#111;background:#fff}

@media(max-width:1200px){.report-standard-strip,.finance-standard-strip{grid-template-columns:repeat(4,1fr)}.hierarchy-reference{grid-template-columns:1fr}.clock-v7{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.workspace-intro{grid-template-columns:1fr}.report-standard-strip,.finance-standard-strip{grid-template-columns:repeat(2,1fr)}.governance-profile{grid-template-columns:62px 1fr}.governance-photo{width:62px;height:62px}.clock-v7{grid-template-columns:1fr}.ai-quick-grid{grid-template-columns:1fr}}

/* V7 readability refinement */
.main .content,.main .content p,.main .content li,.main .content td,.main .content label,
.modal,.modal p,.modal label,.modal td,.modal li,.form-grid label,
.card,.panel,.data-table td,.director-card,.governance-profile,.project-card,
.report-view,.contact-stack,.workspace-intro,.country-structure-node{color:#111111}
.main .content{font-size:14px}
.main .content p,.modal p{line-height:1.65}
.form-grid label{font-size:11px;color:#111111}
.form-grid input,.form-grid select,.form-grid textarea{font-size:13px;color:#111111}
.data-table td{font-size:11px;line-height:1.45}
.data-table th{font-size:9px;color:#222222}
.section-head p{font-size:11px;color:#333333}
.card p,.panel p{color:#222222}


/* =====================================================================
   V8 — Stakeholder records, invitation workflow, country leadership,
   wide hierarchy reference, readable staff profiles and executive UI
   ===================================================================== */
:root{
  --v8-ink:#0b0b0c;
  --v8-text:#151515;
  --v8-sub:#404854;
  --v8-blue:#0754a6;
  --v8-cyan:#05a9e2;
  --v8-soft:#f5f8fc;
}
body,button,input,select,textarea{
  font-family:"Aptos","Inter","Segoe UI",Arial,sans-serif;
}
.main .content,.main .content p,.main .content li,.main .content td,
.main .content label,.modal,.modal label,.card,.panel{
  color:var(--v8-ink);
}
.main .content{font-size:14px;line-height:1.55}
.main .content h2,.main .content h3,.main .content h4,
.modal h2,.modal h3,.modal h4{
  color:#000;
  letter-spacing:-.015em;
}
.section-head{text-align:left}
.section-head>div{text-align:left}
.section-head h3{font-size:24px}
.section-head p{font-size:11px;color:#333;max-width:900px}
.banner h2{font-size:32px}
.banner p{font-size:12px;line-height:1.7}
.data-table th{text-align:left;font-size:9px;color:#20242b}
.data-table td{text-align:left;font-size:11px;color:#111;line-height:1.48}
.data-table a,.contact-stack a,.profile-facts a,.staff-details-v8 a{color:#0754a6;text-decoration:none;font-weight:700}
.data-table a:hover,.contact-stack a:hover,.profile-facts a:hover,.staff-details-v8 a:hover{text-decoration:underline}
.checkbox-line{display:flex!important;align-items:center;gap:9px;background:#f6f9fc;border:1px solid #e0e8f1;border-radius:10px;padding:10px 12px!important}
.checkbox-line input{width:auto!important;margin:0!important}

/* Organization categorization */
.organization-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:17px}
.org-category{padding:18px;border-top:4px solid #0b69b7}
.org-category span{display:block;font-size:9px;font-weight:900;letter-spacing:1.25px;color:#46576a}
.org-category strong{display:block;font-size:32px;line-height:1.1;margin:8px 0 5px;color:#072b62}
.org-category small{font-size:10px;color:#566578}

/* Stakeholders */
.stakeholder-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:17px}
.stakeholder-summary{padding:18px;text-align:left;position:relative;overflow:hidden}
.stakeholder-summary:before{content:"";position:absolute;right:-30px;top:-30px;width:100px;height:100px;border-radius:50%;background:#eef9ff}
.stakeholder-summary>span{font-size:9px;font-weight:900;letter-spacing:1.2px;color:#52657c}
.stakeholder-summary>strong{display:block;font-size:30px;margin:7px 0;color:#082e68}
.stakeholder-summary>small{font-size:9px;color:#627287}
.stakeholder-income{margin:14px 0 11px;border-top:1px solid #e3eaf1;padding-top:12px}
.stakeholder-income b{display:block;font-size:18px;color:#0b5aa5}
.stakeholder-income em{display:block;font-style:normal;font-size:8px;color:#68778a;margin-top:2px}
.income-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.income-strip-card{border:1px solid #dce6f0;border-radius:14px;background:#fff;padding:14px;text-align:left;box-shadow:0 8px 25px rgba(8,42,86,.045)}
.income-strip-card:hover{border-color:#83cdec;transform:translateY(-1px)}
.income-strip-card span{display:block;font-size:9px;font-weight:900;color:#34475c}
.income-strip-card b{display:block;font-size:18px;color:#0754a6;margin:5px 0}
.income-strip-card small{font-size:8px;color:#68778a}

/* Country hierarchy wide view */
.hierarchy-wide{margin:18px 0 22px;padding:12px;overflow:hidden;background:linear-gradient(180deg,#fff,#f7fbff)}
.hierarchy-scroll{overflow-x:auto;border-radius:12px;background:#fff;border:1px solid #dce8f2}
.hierarchy-wide img{
  display:block;
  width:100%;
  min-width:1180px;
  height:auto;
  object-fit:contain;
  image-rendering:auto;
}
.hierarchy-wide figcaption{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:11px 5px 2px;text-align:left}
.hierarchy-wide figcaption b{font-size:13px;color:#071b40}
.hierarchy-wide figcaption span{font-size:9px;color:#5d6e82;text-align:right}
.network-country{text-align:left}
.director-card,.director-card p,.director-card span,.director-card h4{text-align:left}

/* Staff directory readability */
.staff-directory-v8{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.staff-card-v8{padding:17px;text-align:left!important;display:flex;flex-direction:column;align-items:stretch!important;min-height:255px}
.staff-card-head{display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:center;text-align:left}
.staff-photo-v8{width:62px!important;height:62px!important;border-radius:16px!important;background-size:cover;background-position:center}
.staff-card-head h4{font-size:15px;margin:0 0 3px;text-align:left}
.staff-card-head p{font-size:10px;font-weight:800;color:#163c6b;margin:0 0 3px;text-align:left}
.staff-card-head small{font-size:8px;color:#69788b;text-align:left}
.staff-details-v8{display:grid;gap:7px;margin:14px 0;text-align:left}
.staff-details-v8 span{display:block;border-top:1px solid #edf1f5;padding-top:6px;font-size:9px;text-align:left}
.staff-details-v8 span b{display:block;font-size:8px;letter-spacing:.55px;text-transform:uppercase;color:#66778c;margin-bottom:2px}
.staff-card-v8 .doc-actions{margin-top:auto;justify-content:flex-start}

/* Governance cards */
.governance-profile,.gov-profile-body,.gov-profile-body p,.gov-profile-body h4,.profile-facts{text-align:left}
.governance-profile .doc-actions{justify-content:flex-start;margin-top:11px}

/* AI history editing */
.history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.history-head>div:first-child{min-width:0}
.history-item{text-align:left}
.history-item p{text-align:left;white-space:pre-wrap}
.history-item .doc-actions{flex-shrink:0}

/* Invitations and email */
.email-status-chip{display:inline-block;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:800;background:#eef7ff;color:#0754a6}
.form-actions{justify-content:flex-end}
.btn{font-weight:800}

/* Responsive */
@media(max-width:1200px){
  .stakeholder-overview-grid,.income-strip{grid-template-columns:repeat(2,1fr)}
  .staff-directory-v8{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
  .organization-category-grid,.stakeholder-overview-grid,.income-strip,.staff-directory-v8{grid-template-columns:1fr}
  .hierarchy-wide figcaption{display:block}
  .hierarchy-wide figcaption span{display:block;text-align:left;margin-top:4px}
  .hierarchy-wide img{min-width:980px}
}


/* =====================================================================
   V9 — High-contrast readability, dashboard action reliability,
   AI file center and database/storage UI
   ===================================================================== */

/* Default working text: black/dark on light surfaces */
.main,.content,.content .card,.content .panel,.content table,.content form,
.modal-card,.modal-card form,.profile-card,.governance-profile,.director-card,
.project-card,.budget-card,.ai-card,.history-item,.ai-file-row,.organization-category-grid,
.stakeholder-summary,.income-strip-card,.db-storage-grid{
  color:#050505;
}
.content p,.content li,.content td,.content label,.content small,
.modal-card p,.modal-card li,.modal-card label,.modal-card small{
  color:#161616;
}
.content h1,.content h2,.content h3,.content h4,.content h5,
.modal-card h1,.modal-card h2,.modal-card h3,.modal-card h4{
  color:#000;
}
.data-table td,.data-table th{text-align:left;color:#080808}
.data-table td{font-size:11.5px}
.data-table th{font-size:9.5px;font-weight:900;background:#f3f6fa}
.form-grid input,.form-grid select,.form-grid textarea,
.auth-card input,.auth-card select{
  color:#050505!important;
  background:#fff!important;
  border-color:#cfd9e4;
}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:#66717e}

/* Dark/colored backgrounds: force readable light text */
.sidebar,.sidebar *,.auth-brand,.auth-brand *,.banner,.banner *,
.notice,.notice *,.clock-v6,.clock-v6 *,.regional-node,.regional-node *,
.session-org,.session-org *{
  color:#fff;
}
.sidebar .nav-group{color:#9fc5ef!important}
.sidebar .nav-item{color:#dbe9f7!important}
.sidebar .nav-item.selected,.sidebar .nav-item:hover{color:#fff!important}
.sidebar small,.auth-brand small,.banner small,.notice small,.clock-v6 small,
.regional-node small{color:#e2eefb!important}
.banner p,.notice p,.auth-brand p,.clock-v6 p{color:#f5f9ff!important}
.banner .eyebrow,.regional-node .eyebrow,.clock-v6 .eyebrow{color:#a8edff!important}
.banner .btn.secondary,.notice .btn.secondary,.clock-v6 .btn.secondary{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.35)!important;
}
.banner .btn.primary,.notice .btn.primary,.clock-v6 .btn.primary{color:#fff!important}

/* Colored status pills with accessible contrast */
.status{font-weight:900;letter-spacing:.25px;border:1px solid transparent}
.status.active,.status.approved,.status.published,.status.complete{
  color:#064429!important;background:#dff6e9!important;border-color:#afe0c6!important;
}
.status.pending,.status.pre-approved,.status.awaiting-pre-approval,.status.awaiting-final-approval{
  color:#694400!important;background:#fff2c9!important;border-color:#ebd18a!important;
}
.status.inactive,.status.denied,.status.changes-required,.status.void{
  color:#7c1523!important;background:#ffe4e8!important;border-color:#f0b7c0!important;
}
.status.draft,.status.working-draft,.status.draft-edit,.status.under-review,.status.reviewed{
  color:#143b77!important;background:#e6f0ff!important;border-color:#bad3fb!important;
}

/* Card metadata */
.muted,.card .muted,.panel .muted{color:#4b5563!important}
.scope-pill{color:#073b78!important;background:#e8f4ff!important;border:1px solid #c3def4}
.eyebrow{font-weight:900}
.card a,.panel a,.modal-card a{color:#064f9f;font-weight:700}

/* Buttons remain readable on every surface */
.btn{color:#111;background:#fff;border-color:#cdd8e4}
.btn.primary{color:#fff!important;background:linear-gradient(135deg,#0751a4,#039fd5)!important}
.btn.secondary{color:#07447f!important;background:#eaf6ff!important;border-color:#b8dcee!important}
.btn.danger{color:#8a1726!important;background:#fff0f2!important;border-color:#f0c3ca!important}
.btn:focus-visible,.nav-item:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(0,120,190,.28);outline-offset:2px
}

/* AI file library */
.ai-file-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:12px 4px;
  border-bottom:1px solid #e5ebf2;
  text-align:left;
}
.ai-file-row:last-child{border-bottom:0}
.ai-file-row>div:first-child{min-width:0}
.ai-file-row b{display:block;font-size:11px;margin:5px 0 2px;overflow-wrap:anywhere}
.ai-file-row small{display:block;font-size:8px;color:#596879!important}
.ai-file-row .doc-actions{justify-content:flex-end}

/* Database / storage */
.db-storage-grid{margin-top:17px}
.db-status-box{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  margin:12px 0;padding:12px;border:1px solid #d9e5ef;border-radius:12px;background:#f8fbfe
}
.db-status-box b{grid-column:1/-1;font-size:12px;color:#082d60}
.db-status-box span{font-size:9px;color:#26384c}
.db-token-label{display:block;font-size:10px;font-weight:900;color:#111}
.db-token-label input{width:100%;margin-top:6px;padding:10px;border-radius:9px;border:1px solid #cfd9e4}
.self-test-results{margin-top:12px}
.self-test{padding:12px;border-radius:10px;display:grid;gap:4px}
.self-test b{font-size:11px}
.self-test span{font-size:9px}
.self-test.pass{background:#e6f8ef;border:1px solid #b9e7cd;color:#064429}
.self-test.fail{background:#fff0f2;border:1px solid #f0c3ca;color:#7c1523}

/* Make dense form sections more legible */
.form-grid label{font-size:10.5px;line-height:1.35}
.form-grid input,.form-grid select,.form-grid textarea{font-size:12.5px;line-height:1.45}
.credential-box{color:#153047!important;background:#eef8ff!important;border-color:#bbdded!important}
.credential-box b{color:#073f76!important}
.review-meta>div,.project-metrics>div,.budget-stats>div,.attendance-events>div{
  color:#090909;background:#fff
}

/* Tables and list actions do not collapse text */
.doc-actions{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.person{min-width:220px}
.person small{overflow-wrap:anywhere}

/* Mobile contrast / readability */
@media(max-width:760px){
  .content{font-size:13px}
  .banner h2{font-size:27px}
  .data-table td{font-size:11px}
  .db-status-box{grid-template-columns:1fr}
  .ai-file-row{grid-template-columns:1fr}
  .ai-file-row .doc-actions{justify-content:flex-start}
}


/* V9 contrast hardening for colored/dark panels */
.banner,.banner h1,.banner h2,.banner h3,.banner h4,.banner h5,.banner p,.banner span,.banner small,.banner b,.banner strong,
.notice,.notice h1,.notice h2,.notice h3,.notice h4,.notice h5,.notice p,.notice span,.notice small,.notice b,.notice strong,
.clock-v6,.clock-v6 h1,.clock-v6 h2,.clock-v6 h3,.clock-v6 h4,.clock-v6 p,.clock-v6 span,.clock-v6 small,.clock-v6 b,.clock-v6 strong,
.clock-v7,.clock-v7 h1,.clock-v7 h2,.clock-v7 h3,.clock-v7 h4,.clock-v7 p,.clock-v7 span,.clock-v7 small,.clock-v7 b,.clock-v7 strong,
.regional-node,.regional-node h1,.regional-node h2,.regional-node h3,.regional-node h4,.regional-node p,.regional-node span,.regional-node small,.regional-node b,.regional-node strong,
.auth-brand,.auth-brand h1,.auth-brand h2,.auth-brand h3,.auth-brand h4,.auth-brand p,.auth-brand span,.auth-brand small,.auth-brand b,.auth-brand strong,
.sidebar,.sidebar h1,.sidebar h2,.sidebar h3,.sidebar h4,.sidebar p,.sidebar span,.sidebar small,.sidebar b,.sidebar strong{
  color:#fff!important;
}
.banner .btn:not(.secondary),.notice .btn:not(.secondary),.clock-v6 .btn:not(.secondary),.clock-v7 .btn:not(.secondary){color:#fff!important}
.banner .status,.notice .status,.clock-v6 .status,.clock-v7 .status{color:inherit}


/* =====================================================================
   V10 — Active actions + automatic attendance reports + Excel exports
   ===================================================================== */
.btn,button,a.btn,[role="button"]{
  pointer-events:auto;
  cursor:pointer;
  touch-action:manipulation;
}
.btn:not([disabled]):active,button:not([disabled]):active{transform:translateY(1px)}
.btn[disabled],button[disabled]{cursor:not-allowed;opacity:.55}

/* Keep all rendered action bars above decorative layers */
.banner-actions,.doc-actions,.form-actions,.project-actions,.clock-actions,.foot{
  position:relative;
  z-index:5;
  pointer-events:auto;
}
.banner:before,.banner:after,.card:before,.card:after{pointer-events:none}

/* Time Clock active controls */
.clock-actions .clock-button{
  min-height:48px;
  font-size:11px;
  letter-spacing:.2px;
  border-width:1px;
  box-shadow:0 7px 18px rgba(0,0,0,.12);
}
.clock-actions .clock-button:hover{filter:brightness(1.06)}
.clock-actions .clock-button:focus-visible{outline:3px solid rgba(255,255,255,.55);outline-offset:2px}

/* Automatic attendance reporting */
.attendance-report-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
  margin:14px 0 20px;
}
.attendance-report-card{
  padding:16px;
  text-align:left;
  border-top:4px solid #0754a6;
  background:linear-gradient(180deg,#ffffff,#f7fbff);
}
.attendance-report-card>span{
  display:block;
  color:#0754a6!important;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.1px;
}
.attendance-report-card h4{
  font-size:13px;
  line-height:1.35;
  margin:7px 0 12px;
  min-height:36px;
}
.attendance-report-kpis{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-bottom:12px;
}
.attendance-report-kpis>div{
  border:1px solid #e0e8f1;
  background:#fff;
  border-radius:9px;
  padding:8px;
}
.attendance-report-kpis b{
  display:block;
  color:#071b40!important;
  font-size:15px;
}
.attendance-report-kpis small{
  color:#56667a!important;
  font-size:7px;
  margin-top:2px;
}
.report-view-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.report-view-grid>div{
  background:#f6f9fc;
  border:1px solid #dfe7ef;
  border-radius:10px;
  padding:12px;
}
.report-view-grid span{display:block;font-size:8px;color:#64748b!important;font-weight:900}
.report-view-grid b{display:block;font-size:18px;color:#073b7a!important;margin-top:5px}

/* Hidden admin infrastructure remains active but absent from navigation */
.nav-item[data-page="data_storage"]{display:none!important}

/* Ensure clear clickable mail and invite controls */
a[href^="mailto:"].btn,a[href^="mailto:"]{pointer-events:auto;cursor:pointer}
.profile-card .doc-actions,.governance-profile .doc-actions,.director-card .doc-actions{justify-content:flex-start}

/* High-contrast action labels */
.banner .btn.secondary{color:#fff!important}
.banner .btn:not(.primary):not(.secondary){color:#071b40!important;background:#fff!important}

@media(max-width:1200px){
  .attendance-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .attendance-report-grid,.report-view-grid{grid-template-columns:1fr}
}
