:root{--navy:#07172e;--navy2:#0b2242;--navy3:#10315c;--blue:#1d66d1;--cyan:#52b8ff;--bg:#f4f7fb;--card:#fff;--text:#17233a;--muted:#6d7b91;--line:#dce4ef;--green:#16845b;--amber:#c17b0b;--red:#c43d4e;--shadow:0 14px 34px rgba(7,23,46,.08);--radius:16px}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}body{min-height:100vh}a{color:var(--blue);text-decoration:none}.app{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--navy),var(--navy2) 60%,#061326);color:#dbe9ff;position:sticky;top:0;height:100vh;overflow:auto;padding:22px 16px}.brand{display:flex;align-items:center;gap:12px;padding:2px 8px 20px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}.brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#2d7eea,#54c3ff);display:grid;place-items:center;color:white;font-weight:800;letter-spacing:.5px;box-shadow:0 10px 22px rgba(45,126,234,.3)}.brand strong{display:block;color:white;font-size:15px}.brand small{display:block;color:#93acd1;margin-top:3px}.nav-title{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:#6f8ab4;padding:14px 11px 6px}.nav a{display:flex;align-items:center;gap:11px;color:#bcd0ed;padding:10px 12px;border-radius:10px;margin:3px 0;font-size:13.5px}.nav a:hover,.nav a.active{background:rgba(82,184,255,.12);color:#fff}.nav .ico{width:22px;text-align:center;color:#74c7ff;font-weight:700}.main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.topbar-left h2{font-size:18px;margin:0}.topbar-left small{color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px}.pill{padding:7px 11px;border-radius:999px;background:#eef5ff;color:#235899;font-size:12px}.avatar{width:38px;height:38px;border-radius:50%;background:var(--navy3);color:#fff;display:grid;place-items:center;font-weight:700}.content{padding:28px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:20px}.page-head h1{font-size:27px;margin:0 0 6px;color:#0d2343}.page-head p{margin:0;color:var(--muted);font-size:14px}.actions{display:flex;gap:9px;flex-wrap:wrap}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-size:13px}.btn.primary{background:linear-gradient(135deg,#1c61c7,#2a83e8);color:#fff;box-shadow:0 8px 18px rgba(29,102,209,.18)}.btn.secondary{background:#edf3fa;color:#183b68}.btn.success{background:#e7f7f1;color:#0e7951}.btn.danger{background:#fdecef;color:#a83243}.btn.ghost{background:#fff;border:1px solid var(--line);color:#23415f}.btn.sm{padding:7px 10px;font-size:12px}.btn.wide{width:100%;justify-content:center}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.stat{background:var(--card);border:1px solid #e6ecf4;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.stat:after{content:"";position:absolute;width:85px;height:85px;border-radius:50%;right:-25px;top:-28px;background:linear-gradient(145deg,rgba(82,184,255,.17),rgba(29,102,209,.03))}.stat .label{color:var(--muted);font-size:12px;margin-bottom:10px}.stat .value{font-size:29px;font-weight:800;color:#0e2a51}.stat .hint{font-size:11px;color:#7a8da9;margin-top:6px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:#fff;border:1px solid #e3eaf3;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:18px}.card h3{margin:0 0 15px;color:#102b50;font-size:16px}.card h4{margin:16px 0 10px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.card-head h3{margin:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table{width:100%;border-collapse:collapse;background:#fff;font-size:12.8px}.table th{background:#f2f6fb;color:#4d6380;text-align:left;padding:11px 12px;white-space:nowrap;border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.3px}.table td{padding:11px 12px;border-bottom:1px solid #edf1f6;vertical-align:top}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fbfdff}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10.5px;font-weight:750;white-space:nowrap}.badge.green{background:#e5f7ef;color:#08744c}.badge.amber{background:#fff4da;color:#9b6400}.badge.red{background:#fde9ed;color:#a32e40}.badge.blue{background:#e7f2ff;color:#1d5ea5}.badge.gray{background:#eef1f5;color:#5a687a}.muted{color:var(--muted)}.tiny{font-size:11px}label{display:block;font-size:12px;font-weight:700;color:#40536d;margin:12px 0 6px}input,select,textarea{width:100%;border:1px solid #ccd8e7;border-radius:9px;padding:10px 11px;background:#fff;color:#17233a;outline:none;font:inherit;font-size:13px}input:focus,select:focus,textarea:focus{border-color:#5b9be9;box-shadow:0 0 0 3px rgba(52,128,222,.1)}textarea{min-height:90px;resize:vertical}.form-actions{display:flex;gap:9px;margin-top:16px}.alert{padding:12px 14px;border-radius:10px;margin-bottom:14px;font-size:13px}.alert.success{background:#e8f8f1;color:#116d4d;border:1px solid #c5ecd9}.alert.error{background:#fff0f2;color:#9f3344;border:1px solid #f4cbd2}.alert.info{background:#edf6ff;color:#245c96;border:1px solid #d1e6fb}.progress{height:9px;background:#edf2f7;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#2c75db,#56c2ff);border-radius:inherit}.progress-row{margin:12px 0}.progress-row .meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:5px}.chart-bars{display:flex;align-items:flex-end;gap:9px;height:170px;padding:10px 4px 0;border-bottom:1px solid var(--line)}.bar{flex:1;min-width:18px;background:linear-gradient(180deg,#59c2ff,#2568c7);border-radius:7px 7px 2px 2px;position:relative}.bar span{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:9px;color:#718198;white-space:nowrap}.shelf-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.shelf-item{background:linear-gradient(150deg,#0b2850,#164782);color:#e8f4ff;border-radius:13px;padding:16px;min-height:145px;box-shadow:0 10px 20px rgba(13,45,86,.18);position:relative;overflow:hidden}.shelf-item:after{content:"";position:absolute;right:-30px;bottom:-35px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.06)}.shelf-item .ext{font-size:10px;text-transform:uppercase;color:#82cbff}.shelf-item h4{margin:9px 0;font-size:13px;color:#fff}.shelf-item small{color:#aac6e8}.viewer{background:#0b1728;border-radius:14px;padding:15px;min-height:520px}.viewer iframe,.viewer img,.viewer video{width:100%;height:490px;object-fit:contain;background:#101f33;border:0;border-radius:9px}.viewer audio{width:100%;margin-top:50px}.dual-pane{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pane{background:#f9fbfe;border:1px solid var(--line);border-radius:12px;padding:14px;min-height:180px;white-space:pre-wrap}.timeline{border-left:2px solid #d8e4f2;padding-left:18px}.timeline-item{position:relative;padding:0 0 18px}.timeline-item:before{content:"";position:absolute;left:-24px;top:4px;width:10px;height:10px;border-radius:50%;background:#2f7bdc;border:3px solid #e9f2ff}.kbd{background:#eaf1fa;padding:2px 6px;border-radius:5px;font-family:monospace;font-size:11px}.install-body,.login-body{min-height:100vh;background:radial-gradient(circle at 20% 20%,#123b6f 0,#07182f 35%,#04101f 100%);display:grid;place-items:center;padding:24px}.install-card,.login-card{width:min(560px,100%);background:#fff;border-radius:20px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.login-card{width:min(430px,100%)}.install-card .brand-mark,.login-card .brand-mark{margin-bottom:15px}.install-card h1,.login-card h1{margin:0 0 5px;color:#0c2850}.install-card hr{border:0;border-top:1px solid var(--line);margin:20px 0}.empty{text-align:center;color:var(--muted);padding:35px}.search-box{background:linear-gradient(135deg,#0c2a52,#123e73);border-radius:18px;padding:22px;color:#fff;box-shadow:0 18px 40px rgba(8,42,82,.2)}.search-box label{color:#bcd6f6}.search-box input,.search-box select{background:rgba(255,255,255,.98)}.metric-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.metric{padding:12px;background:#f6f9fd;border-radius:10px}.metric b{display:block;font-size:18px;color:#153b6a}.metric span{font-size:11px;color:var(--muted)}.callout{border-left:4px solid #2d78d6;background:#eef6ff;padding:13px 15px;border-radius:8px;margin:12px 0}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:14px}.tab{padding:9px 12px;border-radius:8px 8px 0 0;background:#f1f5fa;color:#50647f;font-size:12px}.tab.active{background:#0f3768;color:#fff}.modalish{background:#fbfcfe;border:1px dashed #b9c9dc;border-radius:12px;padding:14px}.footer-note{text-align:center;color:#8391a5;font-size:10px;padding:14px}.mobile-toggle{display:none}.check-row{display:flex;align-items:center;gap:8px}.check-row input{width:auto}.code{font-family:Consolas,monospace;background:#0b1b2d;color:#bde0ff;padding:10px;border-radius:8px;overflow:auto;font-size:11px}.media-thumb{height:130px;border-radius:10px;background:#eaf1f8;display:grid;place-items:center;overflow:hidden}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-icon{font-size:30px;color:#2c70ca}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.media-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px}.media-card h4{font-size:12px;margin:8px 0 5px}.media-card small{color:var(--muted)}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.shelf-grid{grid-template-columns:repeat(3,1fr)}.media-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:50;left:-290px;width:270px;transition:.25s}.sidebar.open{left:0}.mobile-toggle{display:inline-flex}.content{padding:18px}.topbar{padding:0 16px}.grid2,.grid3,.dual-pane{grid-template-columns:1fr}.shelf-grid,.media-grid{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.cards{grid-template-columns:1fr}.shelf-grid,.media-grid{grid-template-columns:1fr}.topbar-left small,.pill.role{display:none}}

/* ===== BIWTA Executive Dashboard Upgrade ===== */
.brand-logo{width:48px;height:48px;object-fit:contain;border-radius:13px;background:#fff;padding:4px;box-shadow:0 10px 24px rgba(45,126,234,.22)}
.brand-logo-login{width:82px;height:82px;object-fit:contain;display:block;margin:0 0 14px;background:#fff;border-radius:18px;padding:8px;box-shadow:0 18px 42px rgba(8,42,82,.18)}
.glass-panel{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.2);background:linear-gradient(135deg,rgba(10,37,74,.95),rgba(17,67,121,.88));box-shadow:0 24px 60px rgba(7,23,46,.16)}
.glass-panel:before{content:"";position:absolute;inset:-35% auto auto 55%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(82,184,255,.34),rgba(82,184,255,0) 68%);pointer-events:none}
.glass-panel:after{content:"";position:absolute;right:-75px;bottom:-110px;width:270px;height:270px;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 56px rgba(255,255,255,.018);pointer-events:none}
.dash-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr);gap:28px;align-items:center;padding:28px 30px;border-radius:24px;margin-bottom:20px;color:#fff}
.dash-hero-copy{position:relative;z-index:2}.hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.12);font-size:10px;font-weight:800;letter-spacing:1.05px;color:#cfe7ff}.dash-hero h2{margin:12px 0 9px;font-size:29px;line-height:1.18;color:#fff;letter-spacing:-.4px;max-width:820px}.dash-hero p{margin:0;color:#c9daf1;font-size:13.5px;line-height:1.65;max-width:820px}.hero-quick-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.glass-btn{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;backdrop-filter:blur(8px)}.glass-btn:hover{background:rgba(255,255,255,.17)!important}.hero-mini-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.hero-mini-stats>div{min-width:135px;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(8px)}.hero-mini-stats span{display:block;color:#9fc1e8;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.hero-mini-stats b{display:block;color:#fff;font-size:14px;margin-top:3px}.dash-ring-wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:210px}.progress-ring{--size:170px;--thick:14px;width:var(--size);height:var(--size);border-radius:50%;display:grid;place-items:center;background:conic-gradient(#58c6ff calc(var(--p) * 1%),rgba(255,255,255,.12) 0);box-shadow:0 18px 42px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.08);position:relative}.progress-ring:after{content:"";position:absolute;inset:var(--thick);border-radius:50%;background:linear-gradient(145deg,rgba(9,35,69,.98),rgba(17,56,100,.98));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.progress-ring-inner{position:relative;z-index:2;text-align:center}.ring-value{display:block;font-size:31px;font-weight:850;letter-spacing:-1px}.progress-ring-inner small{display:block;color:#a9c8e9;margin-top:2px}.ring-caption{margin-top:13px;color:#c4d8ef;font-size:11px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0 20px}.kpi-card{position:relative;overflow:hidden;min-height:160px;border-radius:20px;padding:18px 19px;color:#fff;box-shadow:0 16px 34px rgba(7,23,46,.12);transition:transform .28s ease,box-shadow .28s ease;animation:dashFadeUp .62s ease both}.kpi-card:before{content:"";position:absolute;right:-28px;top:-40px;width:125px;height:125px;border-radius:50%;background:rgba(255,255,255,.12)}.kpi-card:after{content:"";position:absolute;right:24px;bottom:-35px;width:84px;height:84px;border-radius:50%;border:1px solid rgba(255,255,255,.13)}.kpi-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(7,23,46,.18)}.kpi-blue{background:linear-gradient(135deg,#0d3261,#1767bf)}.kpi-cyan{background:linear-gradient(135deg,#0a4c70,#1e93c8)}.kpi-indigo{background:linear-gradient(135deg,#182e67,#4c63cf)}.kpi-amber{background:linear-gradient(135deg,#6c4311,#b97b19)}.kpi-icon{position:absolute;right:18px;top:15px;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.13);font-weight:800}.kpi-label{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:rgba(255,255,255,.76);margin-top:2px}.kpi-value{font-size:35px;font-weight:850;line-height:1;margin-top:17px;letter-spacing:-1px}.kpi-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px;font-size:10.5px;color:rgba(255,255,255,.76)}.trend-chip{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-weight:750}.link-chip:hover{background:rgba(255,255,255,.24)}
.dashboard-chart-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:16px}.chart-card{min-height:330px}.chart-card .card-head p{margin:3px 0 0}.dept-bars{display:flex;flex-direction:column;gap:14px;margin-top:12px}.dept-bar-row{display:grid;gap:6px}.dept-bar-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.dept-bar-meta span{display:flex;align-items:baseline;gap:8px;min-width:0}.dept-bar-meta b{font-size:11px;color:#123865}.dept-bar-meta small{font-size:10px;color:#7d8ca1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:330px}.dept-bar-meta strong{font-size:11px;color:#23415f}.dept-track,.mini-track{height:9px;border-radius:999px;background:#edf2f8;overflow:hidden}.dept-fill{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#1f68cf,#51bdff);box-shadow:0 0 18px rgba(45,126,234,.22);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}.media-mix-list{display:flex;flex-direction:column;gap:14px;margin-top:8px}.media-mix-item{display:grid;gap:6px}.media-mix-head{display:flex;justify-content:space-between;font-size:11px}.media-mix-head span{color:#5c708b}.media-mix-head b{color:#173d6a}.mini-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1c61c7,#6bc8ff);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}.media-total{margin-top:18px;padding:14px;border-radius:13px;background:linear-gradient(135deg,#f1f6fc,#e9f3ff);display:flex;align-items:center;justify-content:space-between}.media-total span{font-size:11px;color:#657991}.media-total b{font-size:21px;color:#123765}
.dashboard-action-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px}.activity-list{display:flex;flex-direction:column;gap:0}.activity-item{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #edf1f6}.activity-item:last-child{border-bottom:0}.activity-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#1f69d1,#5fc7ff);box-shadow:0 0 0 5px #edf6ff;margin-top:5px}.activity-body b{display:block;font-size:11.5px;color:#163961}.activity-body p{margin:3px 0 4px;color:#5d6f85;font-size:11px;line-height:1.45}.activity-body small{font-size:9.5px;color:#93a0b1}.approval-count{min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:#fff3d8;color:#9a6200;display:grid;place-items:center;font-weight:800;border:1px solid #f5ddb0}.approval-list{display:flex;flex-direction:column}.approval-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f6;align-items:center}.approval-main{min-width:0}.approval-main>a{display:block;font-size:11.5px}.approval-main>span{display:block;font-size:11px;color:#435771;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0}.approval-main small{font-size:9.5px;color:#8b99aa}.approval-status{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.approval-status .badge{font-size:9px;padding:4px 6px}.approvals-all{margin-top:14px}.approval-empty{display:grid;place-items:center;text-align:center;padding:30px 10px;color:#6b7b90}.approval-empty .approval-check{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e7f7f1;color:#12815b;font-size:21px;margin-bottom:8px}.approval-empty b{color:#25415e}.approval-empty span{font-size:11px;margin-top:3px}.recent-docs-card{margin-top:16px}.recent-docs-card .table tbody tr{transition:background .18s ease}.recent-docs-card .table tbody tr:hover{background:#f8fbff}
.card{transition:transform .22s ease,box-shadow .22s ease}.card:hover{box-shadow:0 18px 38px rgba(7,23,46,.10)}.btn{transition:transform .18s ease,filter .18s ease}.btn:hover{transform:translateY(-1px)}
@keyframes dashFadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-chart-grid{grid-template-columns:1fr}.dash-hero{grid-template-columns:1fr}.dash-ring-wrap{min-height:auto;padding-top:6px}.dashboard-action-grid{grid-template-columns:1fr}}
@media(max-width:620px){.kpi-grid{grid-template-columns:1fr}.dash-hero{padding:21px}.dash-hero h2{font-size:23px}.hero-mini-stats{display:grid;grid-template-columns:1fr 1fr}.progress-ring{--size:150px}.approval-item{grid-template-columns:1fr}.approval-status{justify-content:flex-start}}
