*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,Arial,sans-serif;background:#f5f7fb;color:#10213b}.app-shell{min-height:100vh;padding-top:66px;padding-right:235px}.topbar{position:fixed;z-index:30;top:0;right:0;left:0;height:66px;background:#fff;border-bottom:1px solid #e3e9f1;display:flex;align-items:center;padding:0 28px;box-shadow:0 2px 10px rgba(15,42,67,.03)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#13a7dd,#0d5aa6);color:#fff;font-size:22px}.brand b,.brand small{display:block}.brand b{font-size:15px}.brand small{font-size:11px;color:#7b8797;margin-top:3px}.top-spacer{flex:1}.icon-btn{width:38px;height:38px;border:0;background:#fff;border-radius:10px;font-size:18px;color:#17365c}.icon-btn:hover{background:#f3f6fa}.notify{position:relative}.notify span{position:absolute;top:-2px;right:-2px;background:#ef4444;color:#fff;border-radius:10px;font-size:10px;padding:2px 5px}.user-mini{display:flex;gap:9px;align-items:center;margin-right:12px;padding-right:14px;border-right:1px solid #edf0f4}.avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#dce9f8;color:#0e4a85;font-weight:800}.user-mini b,.user-mini small{display:block}.user-mini b{font-size:13px}.user-mini small{font-size:11px;color:#8591a2}.sidebar{position:fixed;right:0;top:66px;bottom:0;width:235px;background:linear-gradient(180deg,#0b2a4c,#0d3a69);color:#fff;padding:14px 12px 44px;overflow:auto;z-index:25}.side-home,.side-link{display:flex;align-items:center;gap:11px;text-decoration:none;color:#dce9f8;padding:10px 12px;border-radius:8px;font-size:13px;margin:2px 0}.side-home{background:#1766bc;color:#fff;font-weight:700;margin-bottom:12px}.side-link span{width:24px;text-align:center}.side-link:hover,.side-link.active{background:rgba(255,255,255,.12);color:#fff}.side-label{font-size:10px;color:#80a3c6;margin:16px 11px 6px;text-transform:uppercase}.version{position:absolute;bottom:12px;right:16px;color:#7fa4c8;font-size:10px}.content{padding:26px 26px 40px}.page-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.page-title h1{margin:5px 0 2px;font-size:28px}.page-title p{margin:0;color:#77869a}.crumb{font-size:12px;color:#8a97a8}.crumb a{color:#356b9e;text-decoration:none}.page-actions{display:flex;gap:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;padding:10px 15px;text-decoration:none;border:1px solid transparent;font-family:inherit;font-size:13px;cursor:pointer}.btn.primary{background:#0d3f7a;color:#fff}.btn.outline{background:#fff;border-color:#d9e1ea;color:#334b67}.btn.wide{width:100%;margin-top:9px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:18px;align-items:start}.main-zone{min-width:0}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.kpi{background:#fff;border:1px solid #e1e7ef;border-radius:12px;padding:17px 14px;display:flex;gap:12px;align-items:center;box-shadow:0 4px 14px rgba(15,42,67,.035);position:relative;overflow:hidden}.kpi:after{content:'';position:absolute;bottom:0;right:0;left:0;height:3px;background:var(--c)}.kpi-icon{width:47px;height:47px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 12%,white);color:var(--c);font-size:21px}.kpi span,.kpi small,.kpi strong{display:block}.kpi span{font-size:12px}.kpi strong{font-size:25px;margin:2px 0}.kpi small{font-size:10px;color:#8995a5}.orange{--c:#f59e0b}.green{--c:#2289c5}.blue{--c:#2563eb}.red{--c:#ef4444}.purple{--c:#a855f7}.filter-card,.table-card{background:#fff;border:1px solid #e0e6ee;border-radius:12px;box-shadow:0 4px 18px rgba(15,42,67,.035)}.filter-card{padding:15px;position:sticky;top:86px}.filter-title{font-weight:800;margin-bottom:14px;font-size:14px}.filter-card label{display:grid;gap:5px;font-size:11px;font-weight:600;margin-bottom:12px}.filter-card input,.filter-card select,.form-card input,.form-card select,.form-card textarea,.modal-box input,.modal-box select,.modal-box textarea{width:100%;padding:10px;border:1px solid #dce3eb;border-radius:7px;background:#fff;font-family:inherit;outline:none}.filter-card input:focus,.filter-card select:focus{border-color:#5a92cc}.date-row{display:grid;grid-template-columns:1fr;gap:7px}.table-card-head{display:flex;justify-content:space-between;padding:15px 17px;border-bottom:1px solid #e8edf3;align-items:center}.table-card-head h2{margin:0;font-size:17px}.table-card-head span{font-size:10px;color:#8a97a8}.mini-actions a{color:#215c95;text-decoration:none;font-size:12px}.table-scroll{overflow:auto;max-height:560px}.table-card table,.admin-table{border-collapse:collapse;width:100%;min-width:900px;font-size:11px}.table-card th,.admin-table th{background:#f7f9fc;color:#40536a;font-weight:700;padding:11px;border-bottom:1px solid #dfe6ee;white-space:nowrap;text-align:right}.table-card td,.admin-table td{padding:10px 11px;border-bottom:1px solid #edf1f5;white-space:nowrap}.table-card tr:hover td{background:#fafcff}.dots{border:1px solid #dbe2ea;border-radius:6px;padding:5px 9px;color:#42566e;text-decoration:none}.status{font-size:10px;border-radius:5px;padding:5px 8px;font-weight:700}.status.ok{background:#e8f4fb;color:#166593}.status.work{background:#e8f1ff;color:#1f63cf}.status.late{background:#ffeaea;color:#d33a3a}.blue-text{color:#1d63c1}.empty{text-align:center!important;color:#8c98a8;padding:35px!important}.pagination{display:flex;justify-content:space-between;align-items:center;padding:11px 15px;color:#7d8999;font-size:11px}.pagination button{width:28px;height:28px;border:1px solid #dfe5ec;background:#fff;border-radius:5px;margin:0 2px}.pagination button.active{background:#0e3f7a;color:#fff}.quick-strip{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid #e0e6ee;border-radius:12px;margin-top:15px;overflow:hidden}.quick-strip a{padding:14px;text-decoration:none;color:#17324f;border-left:1px solid #edf1f5;text-align:center}.quick-strip b,.quick-strip span{display:block}.quick-strip b{font-size:12px;margin:5px 0 2px}.quick-strip span{font-size:9px;color:#8b97a7}.form-card{background:#fff;border:1px solid #e1e7ef;border-radius:13px;padding:22px;max-width:1100px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:600}.form-grid label span i{color:#e53935}.form-grid textarea{min-height:100px}.form-actions{display:flex;gap:8px;justify-content:flex-start;border-top:1px solid #eef2f6;margin-top:22px;padding-top:18px}.settings-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.settings-list,.settings-main{background:#fff;border:1px solid #e1e7ef;border-radius:12px}.settings-list{padding:9px;height:max-content}.settings-list a{display:flex;gap:10px;padding:10px;border-radius:8px;text-decoration:none;color:#36506d}.settings-list a.active,.settings-list a:hover{background:#edf4fc;color:#125ca7}.settings-list b,.settings-list small{display:block}.settings-list b{font-size:12px}.settings-list small{font-size:9px;color:#8c98a8;margin-top:2px}.settings-main{padding:17px;overflow:auto}.settings-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.settings-head h2{margin:0}.settings-head p{margin:3px 0;color:#8491a1;font-size:11px}.admin-table code{font-size:10px;background:#f1f4f7;padding:3px 5px;border-radius:4px}.trash{border:0;background:#fff1f1;color:#c93737;padding:6px 9px;border-radius:5px}.modal{position:fixed;inset:0;background:rgba(10,28,47,.48);display:none;align-items:center;justify-content:center;z-index:80}.modal.show{display:flex}.modal-box{width:min(520px,92vw);background:#fff;border-radius:14px;padding:22px;position:relative}.modal-box>button{position:absolute;left:12px;top:12px;border:0;background:#f0f3f7;width:32px;height:32px;border-radius:50%;font-size:18px}.modal-box h2{margin-top:0}.modal-box form{display:grid;gap:11px}.modal-box label{display:grid;gap:5px;font-size:11px}.modal-box textarea{min-height:75px}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checks{display:flex;gap:12px;flex-wrap:wrap}.checks label{display:flex;align-items:center;gap:5px}.checks input{width:auto}.placeholder{text-align:center;background:#fff;border:1px solid #e1e7ef;border-radius:14px;padding:70px 20px}.placeholder>div{font-size:60px}.placeholder h1{margin-bottom:8px}.placeholder p{color:#7e8b9c;margin-bottom:20px}@media(max-width:1200px){.kpis{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.filter-card{position:static}.quick-strip{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.app-shell{padding-right:0}.sidebar{display:none}.content{padding:15px}.kpis{grid-template-columns:1fr 1fr}.page-title{align-items:start;flex-direction:column}.form-grid{grid-template-columns:1fr}.settings-layout{grid-template-columns:1fr}.dashboard-grid{display:block}.quick-strip{grid-template-columns:1fr 1fr}}/* ===== V04: deeper navy identity + Excel sync ===== */
:root{--navy-950:#06182b;--navy-900:#08233f;--navy-800:#0a3158;--navy-700:#0b4a83;--surface:#ffffff;--surface-2:#f5f7fb;--text:#10213b;--muted:#77869a;--line:#e0e6ee}
body{background:linear-gradient(180deg,#eef3f8 0,#f7f9fc 280px);color:var(--text)}
.topbar{background:linear-gradient(90deg,#fff 0,#f9fbfd 58%,#eef5fb 100%);border-bottom-color:#d9e4ef}.brand-mark{background:radial-gradient(circle at 35% 28%,#36c4f2,#0d67ad 54%,#06365f);box-shadow:0 6px 18px rgba(6,54,95,.24)}
.sidebar{background:linear-gradient(180deg,var(--navy-950) 0%,var(--navy-900) 48%,#0b3b68 100%);box-shadow:-9px 0 30px rgba(4,21,39,.12)}
.side-home{background:linear-gradient(135deg,#145da7,#0a3f75);box-shadow:0 8px 18px rgba(0,0,0,.18)}.side-link.active{background:linear-gradient(90deg,rgba(33,113,185,.44),rgba(255,255,255,.08));box-shadow:inset -3px 0 #58b9ff}.side-link em{font-style:normal;flex:1}.side-link small{font-size:8px;background:rgba(255,255,255,.12);padding:2px 5px;border-radius:7px}.side-label{color:#7fb3df}.import-link{background:rgba(22,117,194,.17);border:1px solid rgba(116,191,247,.17)}
.top-import{display:inline-flex;align-items:center;text-decoration:none;color:#0a477d;border:1px solid #cfe0ee;background:#fff;padding:8px 11px;border-radius:8px;font-size:12px;font-weight:700;margin-left:8px}.top-import:hover{background:#e9f4ff}
.page-title h1{color:#0a2849}.table-card,.filter-card,.kpi,.form-card,.settings-list,.settings-main,.import-card{box-shadow:0 10px 28px rgba(6,35,63,.055)}.table-card-head{background:linear-gradient(90deg,#fff,#f4f8fc)}.filter-title{color:#0a3d6d}.btn.primary{background:linear-gradient(135deg,#0a3a6b,#0b5ca6);box-shadow:0 5px 13px rgba(8,66,120,.18)}.btn.primary:hover{filter:brightness(1.08)}.cell-link{display:inline-flex;color:#0b64b2;background:#eaf4ff;border:1px solid #d4e8fa;padding:4px 7px;border-radius:5px;text-decoration:none;font-weight:700}
.compact-group{max-height:170px;overflow:auto;padding-left:2px}.compact-group::-webkit-scrollbar{width:5px}.compact-group::-webkit-scrollbar-thumb{background:#345f84;border-radius:5px}
.success-banner{background:#e8f4fb;border:1px solid #b8d5e6;color:#165072;padding:13px 16px;border-radius:10px;font-weight:800;margin-bottom:16px}.import-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;margin-bottom:18px}.import-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.hero-import{text-align:center}.import-icon{width:66px;height:66px;margin:0 auto 10px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#082a4c,#0d68b5);color:#fff;font-size:34px;box-shadow:0 12px 24px rgba(7,56,101,.18)}.import-card h2{margin:6px 0 8px}.import-card>p{color:#748398;margin:0 0 18px}.drop-zone{display:grid;place-items:center;min-height:180px;border:2px dashed #9fc3e1;border-radius:14px;background:#f6faff;cursor:pointer;padding:25px;transition:.2s}.drop-zone:hover{background:#edf7ff;border-color:#4a94cf}.drop-zone input{display:none}.drop-main{font-size:16px;font-weight:800;color:#0a4b84;margin-bottom:6px}.drop-zone small{color:#8291a3}.mode-box{display:grid;gap:9px;text-align:right;margin-top:14px}.mode-box>label{display:flex;gap:10px;border:1px solid #e0e7ef;padding:12px;border-radius:10px;cursor:pointer}.mode-box>label:has(input:checked){border-color:#4388c3;background:#f1f8ff}.mode-box input{margin-top:4px}.mode-box b,.mode-box small{display:block}.mode-box small{color:#8190a2;margin-top:4px;line-height:1.6}.import-submit{width:100%;margin-top:15px;padding:13px}.steps{display:grid;gap:12px}.steps>div{display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center;border-bottom:1px solid #edf1f5;padding-bottom:12px}.steps i{grid-row:1/3;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#0b4f89;color:#fff;font-style:normal;font-weight:800}.steps b{font-size:13px}.steps span{font-size:11px;color:#7f8b9a;margin-top:3px}.note-box{background:#fff8e7;border:1px solid #f4dda4;color:#7c5a11;padding:12px;border-radius:9px;font-size:11px;line-height:1.7;margin-top:16px}.history{margin-top:12px}
/* dark mode is optional and remembered locally */
body.dark{--surface:#10253a;--surface-2:#0b1c2d;--text:#e9f2fb;--muted:#9fb2c4;--line:#28435a;background:#081725;color:var(--text)}body.dark .topbar{background:#0b2033;border-bottom-color:#29445b;color:#f4f8fc}body.dark .brand small,body.dark .user-mini small{color:#a7bacb}body.dark .icon-btn{background:#0b2033;color:#d7e8f8}body.dark .top-import{background:#102c45;border-color:#315773;color:#d8ebfa}body.dark .content{background:linear-gradient(180deg,#0a1928,#0c1d2d)}body.dark .page-title h1{color:#f0f7fd}body.dark .page-title p,body.dark .crumb{color:#91a7bb}body.dark .kpi,body.dark .filter-card,body.dark .table-card,body.dark .form-card,body.dark .settings-list,body.dark .settings-main,body.dark .import-card,body.dark .placeholder{background:#10263a;border-color:#28445b;color:#e9f2fb}body.dark .table-card-head{background:linear-gradient(90deg,#10263a,#122c43);border-bottom-color:#29445b}body.dark .table-card th,body.dark .admin-table th{background:#0d2031;color:#bed0df;border-bottom-color:#2a455b}body.dark .table-card td,body.dark .admin-table td{border-bottom-color:#213b50}body.dark .table-card tr:hover td{background:#132d44}body.dark .filter-card input,body.dark .filter-card select,body.dark .form-card input,body.dark .form-card select,body.dark .form-card textarea,body.dark .modal-box input,body.dark .modal-box select,body.dark .modal-box textarea{background:#0b1d2d;border-color:#315069;color:#e7f0f8}body.dark .btn.outline{background:#10263a;border-color:#36556d;color:#d4e6f5}body.dark .quick-strip{background:#10263a;border-color:#28445b}body.dark .quick-strip a{color:#e5f0f8;border-left-color:#29445b}body.dark .pagination button{background:#0c2133;border-color:#315069;color:#cfe0ee}body.dark .drop-zone{background:#0c2133;border-color:#3d6686}body.dark .mode-box>label{border-color:#2c4960}body.dark .mode-box>label:has(input:checked){background:#112f48;border-color:#4e88b4}body.dark .note-box{background:#2a2618;border-color:#645a2a;color:#e5d596}body.dark .success-banner{background:#112836;border-color:#2f556b;color:#8cc0de}body.dark .cell-link{background:#123653;border-color:#24577c;color:#8dccff}body.dark .modal-box{background:#10263a;color:#eaf4fb}
@media(max-width:1000px){.import-layout{grid-template-columns:1fr}.top-import{display:none}}
/* ===== V05 navigation, real pagination, wide tables, maps, reports ===== */
.sidebar{overflow-y:auto;overflow-x:hidden}.side-specials{padding:8px 10px 4px}.nav-section{border-bottom:1px solid rgba(255,255,255,.075)}.nav-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;color:#d8e8f6;padding:11px 15px;cursor:pointer;font-size:12px;font-weight:800;user-select:none}.nav-section>summary::-webkit-details-marker{display:none}.nav-section>summary:hover{background:rgba(255,255,255,.055)}.nav-section>summary b{font-size:11px;transition:.2s}.nav-section[open]>summary b{transform:rotate(180deg)}.nav-section .side-group{padding:0 8px 8px}.nav-section:not([open]) .side-group{display:none}.nav-section .side-link{padding:8px 9px;margin:2px 0;font-size:11px}.nav-section .side-link em{white-space:normal;line-height:1.35}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:8px}
.table-scroll{max-width:100%;overflow:auto!important;scrollbar-color:#315f88 #e6edf4;scrollbar-width:auto;direction:rtl}.table-scroll::-webkit-scrollbar{height:15px;width:10px}.table-scroll::-webkit-scrollbar-track{background:#e8eef4;border-radius:8px}.table-scroll::-webkit-scrollbar-thumb{background:#315f88;border:3px solid #e8eef4;border-radius:10px}.table-scroll::-webkit-scrollbar-thumb:hover{background:#174873}.wide-table{width:max-content!important;min-width:100%;table-layout:auto!important}.wide-table th,.wide-table td{min-width:132px;max-width:280px;white-space:nowrap}.wide-table th:first-child,.wide-table td:first-child{min-width:72px}.sticky-action{position:sticky!important;right:0;z-index:5;background:#fff!important;box-shadow:-5px 0 7px rgba(8,36,61,.06)}.wide-table thead .sticky-action{z-index:8;background:#edf3f8!important}.scroll-hint{font-size:10px;color:#5e7790;background:#eef5fb;border:1px solid #dbe8f2;padding:5px 8px;border-radius:7px}.pagination{gap:12px;flex-wrap:wrap}.pager{display:flex;gap:4px;direction:ltr}.pager-btn{min-width:31px;height:31px;padding:0 8px;display:grid;place-items:center;border:1px solid #d9e2eb;border-radius:6px;text-decoration:none;color:#274969;background:#fff}.pager-btn.active{background:#083b6c;color:white;border-color:#083b6c}.pager-btn.disabled{opacity:.35;pointer-events:none}.per-page select{padding:6px 8px;border:1px solid #d9e2eb;border-radius:6px}.per-page label{font-size:10px;color:#66798d;display:flex;align-items:center;gap:6px}
body.dark .sticky-action{background:#10263a!important}body.dark .wide-table thead .sticky-action{background:#0d2031!important}body.dark .table-scroll{scrollbar-color:#5d84a4 #0a1928}body.dark .table-scroll::-webkit-scrollbar-track{background:#091827}body.dark .table-scroll::-webkit-scrollbar-thumb{background:#4f7696;border-color:#091827}body.dark .pager-btn{background:#10263a;color:#d5e7f6;border-color:#35536b}body.dark .scroll-hint{background:#112d45;border-color:#294c68;color:#b9cee0}
.map-filters,.report-filter{display:grid;grid-template-columns:1fr 1.4fr auto;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);padding:14px;border-radius:12px;margin-bottom:14px}.report-filter{grid-template-columns:2.2fr 1fr 1fr 1.4fr auto}.map-filters label,.report-filter label{display:grid;gap:5px;font-size:11px;font-weight:700}.map-filters input,.map-filters select,.report-filter input,.report-filter select{padding:9px 10px;border:1px solid #d8e1ea;border-radius:7px;background:#fff}.map-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 15px}.metric-card span{display:block;color:#728398;font-size:10px;margin-bottom:4px}.metric-card strong{font-size:22px;color:#0a3e6f}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px}.live-map{height:650px;border:1px solid #d4e0ea;border-radius:14px;overflow:hidden;background:#eef4f8}.map-loading,.map-error{height:100%;display:grid;place-items:center;color:#647b8e}.map-note{font-size:10px;color:#718295;margin-top:7px}.dma-summary{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;height:max-content}.dma-summary h3{margin:0 0 10px}.dma-summary>div{display:flex;justify-content:space-between;padding:8px 4px;border-bottom:1px solid #edf1f5;font-size:11px}.dma-summary>div b{color:#0b5ca6}.kmz-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px}.stacked{grid-template-columns:1fr 1fr}
.reports-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:15px}.report-list{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;height:max-content;max-height:calc(100vh - 145px);overflow:auto}.report-list a{display:flex;gap:9px;text-decoration:none;color:#29465f;padding:9px;border-radius:8px;border-bottom:1px solid #f0f3f6}.report-list a:hover,.report-list a.active{background:#edf6ff;color:#0a5598}.report-list b,.report-list small{display:block}.report-list b{font-size:11px}.report-list small{font-size:8px;color:#91a0ae;margin-top:2px}.report-main{min-width:0}.report-head{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px}.report-head h2{margin:0}.report-head p{margin:5px 0 0;color:#75869a;font-size:10px}.report-table{margin-top:12px}
body.dark .map-filters,body.dark .report-filter,body.dark .metric-card,body.dark .dma-summary,body.dark .report-list,body.dark .report-head{background:#10263a;border-color:#28445b;color:#e9f2fb}body.dark .map-filters input,body.dark .map-filters select,body.dark .report-filter input,body.dark .report-filter select{background:#0b1d2d;border-color:#315069;color:#e7f0f8}body.dark .metric-card strong{color:#9cd4ff}body.dark .report-list a{color:#d4e4f1;border-bottom-color:#213b50}body.dark .report-list a.active,body.dark .report-list a:hover{background:#123653;color:#fff}body.dark .dma-summary>div{border-color:#213b50}
@media(max-width:1150px){.map-layout,.reports-layout,.kmz-grid{grid-template-columns:1fr}.report-list{max-height:none}.report-filter{grid-template-columns:1fr 1fr}.map-kpis{grid-template-columns:1fr 1fr}}@media(max-width:700px){.map-filters,.report-filter{grid-template-columns:1fr}.live-map{height:480px}.map-kpis{grid-template-columns:1fr 1fr}.scroll-hint{display:none}}

/* =========================================================
   V06 — desktop-first layout designed to look correct at 100% browser zoom
   ========================================================= */
@media (min-width: 851px){
  .app-shell{padding-right:310px}
  .sidebar{width:310px;padding:18px 14px 54px}
}

/* Sidebar readability */
.side-specials{padding:8px 4px 10px}
.side-home,.side-link{min-height:46px;padding:11px 13px;font-size:14px;line-height:1.55;cursor:pointer}
.side-link span{width:27px;min-width:27px;font-size:16px}
.side-link em{font-style:normal;line-height:1.55;overflow-wrap:anywhere}
.side-link small{margin-right:auto;flex:none;background:rgba(255,255,255,.13);padding:3px 8px;border-radius:999px;font-size:10px;color:#d9e9f6}
.nav-section{margin:3px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.nav-section>summary{width:100%;min-height:52px;padding:13px 14px;font-size:14px;line-height:1.6;border-radius:9px;cursor:pointer;gap:12px}
.nav-section>summary:hover{background:rgba(255,255,255,.09)}
.nav-section[open]>summary{background:rgba(31,111,182,.18);color:#fff}
.nav-summary-title{flex:1;display:block;white-space:normal;line-height:1.6}
.nav-chevron{width:26px;height:26px;min-width:26px;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:transform .18s ease,background .18s ease}
.nav-section>summary:hover .nav-chevron{background:rgba(255,255,255,.15)}
.nav-section[open]>summary .nav-chevron{transform:rotate(180deg)}
.nav-section .side-group{padding:4px 9px 10px}
.nav-section .side-link{font-size:13px;line-height:1.6;padding:10px 11px;min-height:44px;margin:4px 0}
.side-label{font-size:12px;margin:20px 12px 8px;letter-spacing:0}
.version{font-size:11px}

/* General desktop spacing */
.content{padding:28px 28px 46px}
.page-title{margin-bottom:22px}
.page-title h1{font-size:30px}
.dashboard-grid{grid-template-columns:minmax(0,1fr) 255px;gap:20px}
.filter-card{padding:18px;top:86px}
.filter-title{font-size:15px;margin-bottom:16px}
.filter-card label{font-size:12px;margin-bottom:14px}
.filter-card input,.filter-card select{font-size:13px;padding:11px}

/* Data table: comfortable at 100% zoom */
.table-scroll{max-height:590px;overscroll-behavior:contain}
.wide-table{font-size:13px!important}
.wide-table th,.wide-table td{min-width:145px;max-width:310px;padding:12px 14px!important;line-height:1.55!important}
.wide-table th{font-size:12px;position:sticky;top:0;z-index:4;background:#f2f6fa!important}
.wide-table td{height:48px}
.wide-table th:first-child,.wide-table td:first-child{min-width:76px;max-width:76px}
.clickable-row{cursor:pointer;transition:background .14s ease,box-shadow .14s ease}
.clickable-row td{transition:background .14s ease}
.clickable-row:hover td{background:#e8f1fa!important}
.clickable-row:hover .sticky-action{background:#dcebf8!important}
.clickable-row:active td{background:#d9e9f7!important}
.clickable-row:hover .dots{background:#0d4c87;color:#fff;border-color:#0d4c87}
.dots{display:inline-grid;place-items:center;min-width:38px;min-height:32px;cursor:pointer;transition:.15s ease}
.cell-link{cursor:pointer}

/* Pagination that tells the user exactly where they are */
.pagination{padding:14px 16px;gap:16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;border-top:1px solid #e7edf3}
.page-summary{display:flex;flex-direction:column;gap:3px;min-width:150px}
.page-summary strong{font-size:13px;color:#173c62}
.page-summary span{font-size:11px;color:#75879a}
.pager{display:flex;align-items:center;justify-content:center;gap:5px;direction:rtl;flex-wrap:wrap}
.pager-btn{min-width:36px;height:36px;padding:0 10px;font-size:12px;font-weight:700;border-radius:8px;cursor:pointer;transition:.15s ease}
.pager-btn:hover:not(.disabled):not(.active){background:#eaf2fa;border-color:#aac8e2;color:#0d4c87}
.pager-btn.active{background:#0b477f;color:#fff;border-color:#0b477f;box-shadow:0 3px 9px rgba(11,71,127,.2)}
.pager-word{min-width:auto;padding:0 13px}
.pager-ellipsis{color:#8291a1;padding:0 3px}
.per-page label{font-size:11px;white-space:nowrap}.per-page select{font-size:12px;min-width:64px}

/* Dark mode equivalents */
body.dark .nav-section[open]>summary{background:rgba(71,153,220,.17)}
body.dark .wide-table th{background:#0d2031!important;color:#dceaf6}
body.dark .clickable-row:hover td{background:#163650!important}
body.dark .clickable-row:hover .sticky-action{background:#1a405f!important}
body.dark .clickable-row:active td{background:#1b4465!important}
body.dark .page-summary strong{color:#dceaf6}
body.dark .page-summary span{color:#91a8ba}
body.dark .pagination{border-top-color:#28445b}
body.dark .pager-btn:hover:not(.disabled):not(.active){background:#183b57;color:#fff;border-color:#426887}

/* Keep the layout usable on normal zoom for smaller desktops/laptops */
@media(max-width:1600px) and (min-width:851px){
  .app-shell{padding-right:285px}
  .sidebar{width:285px}
  .content{padding:22px 20px 40px}
  .dashboard-grid{grid-template-columns:minmax(0,1fr) 235px;gap:15px}
  .kpis{grid-template-columns:repeat(3,1fr)}
  .kpi{padding:14px 12px}
  .wide-table{font-size:12px!important}
  .wide-table th,.wide-table td{min-width:132px;padding:11px 12px!important}
}
@media(max-width:1250px) and (min-width:851px){
  .app-shell{padding-right:270px}
  .sidebar{width:270px}
  .dashboard-grid{grid-template-columns:1fr}
  .filter-card{position:static}
  .pagination{grid-template-columns:1fr;justify-items:center;text-align:center}
  .page-summary{align-items:center}
}
/* V07 map fixes */
.map-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #dfe7ef;border-radius:12px;padding:12px 14px;margin-bottom:12px}.map-filters label{display:grid;gap:5px;min-width:190px;font-size:12px;font-weight:700}.map-filters input,.map-filters select{height:40px;border:1px solid #d5e0eb;border-radius:8px;padding:0 10px;background:#fff;font-family:inherit}.map-progress{background:#eaf3fc;border:1px solid #c9def2;color:#164a76;border-radius:10px;padding:10px 13px;margin:0 0 12px;font-size:12px}.map-progress.ok{background:#eaf8ef;border-color:#c8e2f0;color:#174c6a}.map-progress.warn{background:#fff7e6;border-color:#f3ddb2;color:#805b11}.spinner{display:inline-block;width:13px;height:13px;border:2px solid #9ebbd5;border-top-color:#0d5aa6;border-radius:50%;vertical-align:-2px;margin-left:7px;animation:vdspin .8s linear infinite}@keyframes vdspin{to{transform:rotate(360deg)}}.leaflet-container{font-family:Segoe UI,Tahoma,Arial,sans-serif;direction:ltr}.leaflet-popup-content{direction:rtl;text-align:right}.live-map{height:620px!important;min-height:520px;position:relative;background:#e8eef4}.map-loading,.map-error{height:100%;display:grid;place-items:center;text-align:center;padding:30px;color:#52677c}.map-error{color:#a52d2d;background:#fff3f3}.dma-summary #dmaSummary>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e7edf3}.dma-summary #dmaSummary b{color:#0d4f8d}
/* Reports usability + exact template preview */
.report-page-title{margin-bottom:18px}.reports-v08{grid-template-columns:320px minmax(0,1fr);gap:18px}.report-list-title{font-weight:800;font-size:14px;color:#153c62;padding:8px 10px 12px;border-bottom:1px solid #e7edf3;margin-bottom:5px}.report-list a{align-items:center;min-height:58px;padding:11px 12px!important;border-radius:9px!important;margin:3px 0}.report-list a b{font-size:13px!important;line-height:1.5}.report-list a small{font-size:10px!important;line-height:1.5}.report-icon{width:30px;min-width:30px;text-align:center;font-size:18px}.report-filter-v08{display:grid!important;grid-template-columns:minmax(260px,1.6fr) minmax(170px,.9fr) minmax(170px,.9fr) minmax(210px,1fr) 150px!important;align-items:end!important;gap:12px!important;padding:16px!important;background:#fff;border:1px solid #dfe7ef;border-radius:12px;margin-bottom:14px}.report-filter-v08 label{display:flex!important;flex-direction:column!important;gap:7px!important;min-width:0!important;font-size:12px!important;font-weight:700;color:#24445f}.report-filter-v08 label span{display:block;min-height:18px}.report-filter-v08 select,.report-filter-v08 input{width:100%!important;height:46px!important;min-height:46px!important;border:1px solid #cfdbe6!important;border-radius:9px!important;background:#fff!important;padding:0 12px!important;font-family:inherit!important;font-size:13px!important;color:#173a59!important;box-sizing:border-box!important}.report-filter-v08 input[type=date]{padding-inline:10px!important}.report-generate{height:46px!important;min-height:46px!important;font-size:13px!important}.report-preview-head{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid #dfe7ef;border-radius:12px;padding:13px 15px;margin-bottom:10px}.report-preview-head b{display:block;font-size:15px;color:#153c62}.report-preview-head small{display:block;color:#74879a;margin-top:4px}.report-preview-actions{display:flex;gap:8px;flex-wrap:wrap}.report-frame-wrap{background:#dfe6ed;border:1px solid #ccd8e3;border-radius:12px;padding:12px;overflow:hidden}.report-frame{display:block;width:100%;height:calc(100vh - 285px);min-height:760px;border:0;border-radius:8px;background:#fff}.empty-report-state{background:#fff;border:1px dashed #cbd8e5;border-radius:14px;min-height:420px;display:grid;place-items:center;align-content:center;text-align:center;color:#718398}.empty-report-state>div{font-size:44px}.empty-report-state h3{color:#173c62;margin:8px 0 4px}.empty-report-state p{margin:0}.dark .report-filter-v08,.dark .report-preview-head,.dark .empty-report-state{background:#10263a;border-color:#28445b}.dark .report-filter-v08 label,.dark .report-preview-head b,.dark .empty-report-state h3,.dark .report-list-title{color:#e1edf7}.dark .report-filter-v08 select,.dark .report-filter-v08 input{background:#0b1d2d!important;border-color:#315069!important;color:#e7f0f8!important}.dark .report-frame-wrap{background:#0b1d2d;border-color:#28445b}@media(max-width:1450px){.reports-v08{grid-template-columns:285px minmax(0,1fr)}.report-filter-v08{grid-template-columns:1.4fr 1fr 1fr 1fr!important}.report-generate{grid-column:1/-1;width:160px;justify-self:end}}@media(max-width:1050px){.reports-v08{grid-template-columns:1fr}.report-filter-v08{grid-template-columns:1fr 1fr!important}.report-generate{grid-column:auto;width:100%}.report-frame{height:900px}.report-preview-head{align-items:flex-start;flex-direction:column}}
/* Map guaranteed-visible stage */
.map-layout-v08{align-items:start}.map-stage{min-width:0}.live-map{display:block!important;width:100%!important;height:640px!important;min-height:640px!important;border:2px solid #bfd0df!important;border-radius:14px!important;background:#e8eef4!important;position:relative!important;overflow:hidden!important}.map-loading,.map-error{height:100%!important;min-height:630px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important}.map-loading b{font-size:18px;color:#174d77}.map-loading span{font-size:12px;color:#6e8194}.fallback-map-svg{width:100%;height:100%;display:block;background:#eef3f7}.svg-bg{fill:#eef3f7}.svg-dma{fill:rgba(33,112,171,.12);stroke:#1968a5;stroke-width:1.3;vector-effect:non-scaling-stroke}.svg-work circle{fill:#cf2638;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.svg-work text{font-size:11px;fill:#173c62;font-weight:700}.svg-map-note{position:absolute;z-index:2;top:10px;right:10px;background:rgba(255,255,255,.94);border:1px solid #cddae5;border-radius:8px;padding:7px 10px;font-size:11px;color:#526b7f}.dark .svg-bg{fill:#0c1f30}.dark .svg-dma{fill:rgba(63,151,216,.12);stroke:#5eb1e8}.dark .svg-work text{fill:#dceaf6}

/* V10: full-width live map; DMA side summary removed */
.map-layout-v10{display:block!important;width:100%!important}.map-layout-v10 .map-stage{width:100%!important;max-width:none!important}.map-layout-v10 .live-map{width:100%!important}

/* ===== Map workspace ===== */
.map-layout-v11{display:block!important;width:100%!important}
.map-layout-v11 .map-stage{width:100%!important;max-width:none!important;min-width:0}
.map-layout-v11 .live-map{width:100%!important;height:calc(100vh - 315px)!important;min-height:650px!important;max-height:900px!important;border:2px solid #aebfce!important;border-radius:14px!important}
.map-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.btn.danger{background:#fff3f3;border:1px solid #e4a8a8;color:#9e2525}.btn.danger:hover{background:#a92d2d;color:#fff;border-color:#a92d2d}
.btn.compact{padding:7px 11px;font-size:12px}
.map-fs-bar{display:none;align-items:center;justify-content:space-between;background:#092d50;color:#fff;padding:10px 14px;direction:rtl}
.map-stage:fullscreen,.map-stage.native-fullscreen,.map-stage.pseudo-fullscreen{background:#071727;padding:0;width:100vw!important;height:100vh!important;max-width:none!important;z-index:999999}
.map-stage:fullscreen .map-fs-bar,.map-stage.native-fullscreen .map-fs-bar,.map-stage.pseudo-fullscreen .map-fs-bar{display:flex}
.map-stage:fullscreen .live-map,.map-stage.native-fullscreen .live-map,.map-stage.pseudo-fullscreen .live-map{height:calc(100vh - 50px)!important;min-height:0!important;max-height:none!important;border:0!important;border-radius:0!important}
.map-stage:fullscreen .map-note,.map-stage.native-fullscreen .map-note,.map-stage.pseudo-fullscreen .map-note{display:none}
.map-stage.pseudo-fullscreen{position:fixed;inset:0}
.print-map-details{display:none;background:#fff;margin-top:16px}.print-map-details h2{margin:0 0 8px}.print-meta{font-size:12px;margin-bottom:10px;color:#475b6d}.print-map-details table{width:100%;border-collapse:collapse;font-size:10px}.print-map-details th,.print-map-details td{border:1px solid #cdd9e3;padding:5px;text-align:right}.print-map-details th{background:#0a3a6b;color:#fff}
@media(max-width:1000px){.map-layout-v11 .live-map{height:70vh!important;min-height:560px!important}.map-toolbar .btn{flex:1 1 210px}}
@media print{
 @page{size:A4 landscape;margin:8mm}
 body.print-map-only .topbar,body.print-map-only .sidebar,body.print-map-only .page-title,body.print-map-only .map-filters,body.print-map-only .map-kpis,body.print-map-only .map-progress,body.print-map-only .map-toolbar,body.print-map-only .map-note,body.print-map-only .print-map-details{display:none!important}
 body.print-map-data .topbar,body.print-map-data .sidebar,body.print-map-data .page-actions,body.print-map-data .map-toolbar,body.print-map-data .map-note{display:none!important}
 body.print-map-only .content,body.print-map-data .content{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}
 body.print-map-only .map-layout-v11,body.print-map-data .map-layout-v11{display:block!important;width:100%!important}
 body.print-map-only .live-map{height:188mm!important;min-height:188mm!important;max-height:188mm!important;border:1px solid #777!important;border-radius:0!important}
 body.print-map-data .live-map{height:120mm!important;min-height:120mm!important;max-height:120mm!important;border:1px solid #777!important;border-radius:0!important}
 body.print-map-data .print-map-details{display:block!important;page-break-before:always}
 body.print-map-data .map-kpis{display:grid!important;margin:6mm 0!important}
 body.print-map-data .map-progress{display:none!important}
 .leaflet-control-zoom,.leaflet-control-layers{display:none!important}
 *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* ===== Compact desktop UI — normal browser zoom should feel like the old 67% view ===== */
@media (min-width: 1100px){
  html{font-size:12px}
  body{font-size:12px}
  .app-shell{padding-top:56px!important;padding-right:222px!important}
  .topbar{height:56px!important;padding:0 18px!important}
  .brand-mark{width:34px!important;height:34px!important;font-size:17px!important}
  .brand b{font-size:13px!important}.brand small{font-size:9px!important;margin-top:1px!important}
  .top-import{padding:7px 10px!important;font-size:10px!important;border-radius:7px!important}
  .icon-btn{width:31px!important;height:31px!important;font-size:14px!important}
  .user-mini{padding:4px 7px!important;gap:6px!important}.user-mini .avatar,.avatar{width:31px!important;height:31px!important;font-size:11px!important}
  .user-mini b{font-size:10px!important}.user-mini small{font-size:8px!important}.logout-link{font-size:9px!important;padding:6px!important}
  .sidebar{width:222px!important;padding:12px 8px 34px!important;top:56px!important}
  .side-home{min-height:38px!important;padding:8px 11px!important;font-size:11px!important;border-radius:7px!important}
  .side-specials{padding:5px 5px 2px!important}.side-link{min-height:32px!important;padding:6px 8px!important;font-size:10px!important;margin:1px 0!important;gap:7px!important;border-radius:6px!important}
  .side-link em{font-size:10px!important;line-height:1.25!important}.side-link span{font-size:12px!important}.side-link small{font-size:8px!important}
  .nav-section>summary{padding:8px 9px!important;font-size:10.5px!important;min-height:34px!important}.nav-section .side-group{padding:0 4px 5px!important}.nav-section .side-link{padding:6px 7px!important;font-size:9.5px!important}
  .side-label{font-size:9px!important;margin:10px 7px 4px!important}
  .content{padding:14px 16px 26px!important}
  .page-title{margin-bottom:10px!important}.page-title h1{font-size:20px!important;margin:2px 0 3px!important}.page-title p,.crumb{font-size:9px!important}
  .btn{padding:7px 10px!important;font-size:10px!important;border-radius:6px!important}.btn.compact{padding:5px 8px!important}
  input,select,textarea{font-size:10px!important;min-height:31px!important;padding:6px 8px!important}
  .map-filters{padding:8px 10px!important;gap:7px!important}.map-filters label{font-size:9px!important;gap:3px!important}
  .map-toolbar{gap:6px!important;margin:7px 0!important}
  .map-kpis{gap:8px!important;margin:8px 0!important}.map-kpis .metric-card{padding:9px 12px!important;min-height:58px!important}.map-kpis .metric-card span{font-size:10px!important}.map-kpis .metric-card strong{font-size:19px!important}
  .map-progress{padding:7px 10px!important;font-size:10px!important;margin:7px 0!important}
  .live-map{height:calc(100vh - 285px)!important;min-height:470px!important;max-height:720px!important;border-radius:9px!important}
  .map-note{font-size:9px!important;margin-top:5px!important}
  .kpis{gap:8px!important}.kpi{padding:10px 12px!important;min-height:74px!important}.kpi strong{font-size:19px!important}.kpi span{font-size:9px!important}
  .table-card{border-radius:8px!important}.table-card-head{padding:8px 10px!important}.table-card th{font-size:9px!important;padding:7px 8px!important}.table-card td{font-size:9px!important;padding:6px 8px!important;line-height:1.25!important}
  .filter-card{padding:10px!important}.filter-card label{font-size:9px!important}.pagination{font-size:9px!important}.pagination a,.pagination button{min-width:27px!important;height:27px!important;padding:4px 7px!important}
  .form-card{padding:14px!important}.form-grid{gap:10px!important}.form-grid label{font-size:10px!important;gap:4px!important}
  .settings-layout{grid-template-columns:220px minmax(0,1fr)!important;gap:10px!important}.settings-main{padding:11px!important}
}

/* Login */
.login-body{min-height:100vh;background:linear-gradient(135deg,#071d33 0%,#0b4474 52%,#eef5fa 52%,#f7fafc 100%);display:grid;place-items:center;padding:24px;font-family:Segoe UI,Tahoma,Arial,sans-serif}
.login-shell{width:min(900px,94vw);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(4,25,44,.24);direction:rtl}
.login-brand-panel{background:linear-gradient(145deg,#06213b,#0b4c80);color:#fff;padding:54px 44px;display:flex;flex-direction:column;justify-content:center;min-height:500px}.login-logo{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#28c5ef,#0a65a8);font-size:28px;margin-bottom:28px}.login-brand-panel h1{font-size:27px;line-height:1.5;margin:0 0 7px}.login-brand-panel p{font-size:17px;color:#bcd7ec;margin:0 0 35px}.login-features{display:grid;gap:11px;color:#d6e8f6}.login-features span:before{content:'✓';display:inline-block;margin-left:8px;color:#5db1e1}.login-card{padding:58px 46px;align-self:center}.login-card-head b,.login-card-head span{display:block}.login-card-head b{font-size:24px;color:#0b2b49;margin-bottom:8px}.login-card-head span{color:#7b8998;margin-bottom:26px}.login-form{display:grid;gap:17px}.login-form label{display:grid;gap:7px;font-weight:700;color:#263c53}.login-form input{width:100%;border:1px solid #cedbe7;border-radius:9px;padding:12px 13px;font-size:14px;outline:none}.login-form input:focus{border-color:#1777bb;box-shadow:0 0 0 3px rgba(23,119,187,.1)}.login-btn{width:100%;padding:12px!important;font-size:14px!important;margin-top:6px}.login-error{background:#fff0f0;border:1px solid #f3c4c4;color:#a52b2b;padding:10px;border-radius:8px;margin-bottom:14px}.login-note{display:block;text-align:center;color:#8997a5;margin-top:18px}
@media(max-width:750px){.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.login-card{padding:38px 26px}.login-body{background:#eef5fa}}

/* users & permissions */
.users-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;align-items:start}.user-create-card,.users-list-card{background:#fff;border:1px solid #dfe7ef;border-radius:10px;padding:14px}.user-create-card h2,.users-list-card h2{margin:0 0 12px;font-size:15px}.user-form{display:grid;gap:9px}.user-form>label,.user-row-fields label{display:grid;gap:4px;font-size:9px;font-weight:700}.permissions-box,.permissions-inline{display:flex;gap:6px;flex-wrap:wrap;padding:9px;border:1px solid #e5ebf1;border-radius:7px;background:#f9fbfd}.permissions-box>b{width:100%;font-size:10px}.perm-check{display:flex!important;align-items:center;gap:4px!important;font-size:9px!important;font-weight:500!important}.perm-check input{min-height:auto!important;width:auto!important}.users-grid{display:grid;gap:8px}.user-row{border:1px solid #e1e8ef;border-radius:9px;padding:10px;background:#fbfcfe}.user-row-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.avatar.small{width:28px!important;height:28px!important}.user-row-head b,.user-row-head small{display:block}.user-row-head b{font-size:11px}.user-row-head small{font-size:8px;color:#8493a2}.user-row-fields{display:grid;grid-template-columns:1.3fr 1fr 1.3fr;gap:7px}.permissions-inline{margin-top:8px;padding:6px}.user-row-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.active-check{display:flex;align-items:center;gap:5px;font-size:9px}.active-check input{min-height:auto!important;width:auto!important}.logout-link{color:#5d7185;text-decoration:none;border-right:1px solid #dfe6ed;margin-right:5px;padding-right:9px}.logout-link:hover{color:#c53939}
@media(max-width:1000px){.users-layout{grid-template-columns:1fr}.user-row-fields{grid-template-columns:1fr}}


/* ===== V13 operational UX ===== */
.filter-result-banner{display:flex;gap:8px;align-items:center;background:#edf6ff;border:1px solid #cfe4f8;color:#244b70;border-radius:9px;padding:9px 12px;margin-bottom:10px;font-size:11px}
.filter-result-banner span{color:#627f9a}.saved-filter-box{border:1px solid #e2e9f1;background:#f9fbfd;border-radius:8px;padding:9px;margin-bottom:12px}.saved-filter-box>b{font-size:11px;display:block;margin-bottom:6px}
.saved-filter-row{display:flex;align-items:center;gap:5px;margin:4px 0}.saved-filter-row>a{flex:1;text-decoration:none;color:#1b5c97;background:#fff;border:1px solid #dbe7f2;padding:6px 8px;border-radius:6px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-filter-row form{margin:0}.saved-filter-row button{border:0;background:#fff0f0;color:#b12b2b;border-radius:5px;width:26px;height:26px;cursor:pointer}.save-filter-form{border-top:1px solid #e8edf3;margin-top:13px;padding-top:11px}
.clickable-row.row-late td{background:#fff8f8}.clickable-row.row-progress td{background:#f7fbff}.clickable-row.row-closed td{background:#f8fcfa}.clickable-row:hover td{background:#eaf2fb!important}
.pinned-col{position:sticky!important;z-index:4;background:#fff}.wide-table thead .pinned-col{z-index:7;background:#f7f9fc}.wide-table tbody tr:hover .pinned-col{background:#eaf2fb!important}.mini-toggle{border:1px solid #d9e2ec;background:#fff;color:#8a97a8;border-radius:6px;min-width:34px;padding:5px 7px;cursor:pointer}.mini-toggle.on{background:#e8f4fb;color:#155b83;border-color:#b9d9ea}
.dashboard-home-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.dashboard-home-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.home-panel{background:#fff;border:1px solid #e0e6ee;border-radius:12px;padding:15px}.home-panel.recent-activity{grid-column:1/-1}.home-panel-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f5;padding-bottom:9px;margin-bottom:10px}.home-panel-head h2{margin:0;font-size:15px}.home-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.home-actions a{display:grid;grid-template-columns:32px 1fr;column-gap:8px;text-decoration:none;color:#183553;border:1px solid #e1e8ef;border-radius:9px;padding:11px;background:#fafcff}.home-actions a>b,.home-actions a>span{grid-column:2}.home-actions a>span{font-size:10px;color:#7f8b9b}.rank-list>div{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:8px;border-bottom:1px solid #edf1f5}.rank-list>div>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#edf4fb;color:#235f96}.rank-list em{font-style:normal;font-weight:700;color:#0d4d87}.activity-item{display:grid;grid-template-columns:130px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #edf1f5;font-size:11px}.activity-item span{color:#61758b}.activity-item small{color:#8b98a7}
.record-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.6fr);gap:15px}.detail-card{background:#fff;border:1px solid #e0e6ee;border-radius:12px;padding:17px}.detail-card h2{margin-top:0;font-size:16px}.detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.detail-fields>div{border:1px solid #e7edf3;border-radius:8px;padding:9px;background:#fbfcfe;min-width:0}.detail-fields span,.detail-fields b,.detail-fields a{display:block}.detail-fields span{font-size:9px;color:#7d8b9b;margin-bottom:4px}.detail-fields b,.detail-fields a{font-size:11px;overflow-wrap:anywhere}.history-event{border:1px solid #e5ebf1;border-radius:8px;margin-bottom:9px;overflow:hidden}.history-head{display:grid;grid-template-columns:auto 1fr auto;gap:8px;background:#f7f9fc;padding:8px;font-size:10px}.history-head span{color:#49647f}.history-head small{color:#8795a5}.change-row{display:grid;grid-template-columns:110px 1fr 20px 1fr;gap:6px;align-items:center;padding:7px 8px;border-top:1px solid #eef2f6;font-size:9px}.change-row .old{background:#fff4f4;color:#9b3838;padding:5px;border-radius:5px}.change-row .new{background:#eef9f2;color:#1c5475;padding:5px;border-radius:5px}.change-row i{text-align:center;color:#8795a5}
.preview-banner{background:#eef7ff;border:1px solid #cde4f6;border-radius:10px;padding:12px 15px;margin-bottom:12px}.preview-banner h2{margin:0 0 3px;font-size:16px}.preview-banner p{margin:0;color:#5f7690;font-size:11px}.preview-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.preview-kpis>div{background:#fff;border:1px solid #e0e6ee;border-radius:10px;padding:12px}.preview-kpis span,.preview-kpis strong{display:block}.preview-kpis span{font-size:10px;color:#7d8998}.preview-kpis strong{font-size:22px;margin-top:3px}.preview-actions{display:flex;gap:8px;justify-content:flex-start;margin:12px 0 20px}.preview-actions form{margin:0}.preview-table{margin-bottom:8px}
.user-create-card,.users-list-card{background:#fff;border:1px solid #e0e6ee;border-radius:12px;padding:16px}.users-layout{display:grid;grid-template-columns:minmax(360px,.6fr) minmax(0,1.4fr);gap:14px}.form-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:220px;overflow:auto;border:1px solid #e3e9ef;border-radius:8px;padding:8px;margin-bottom:10px}.form-access-grid label{font-size:9px;display:flex;align-items:flex-start;gap:5px}.contractor-access{display:grid;gap:5px;font-size:11px}.contractor-access textarea{min-height:75px}.access-details{border:1px solid #e5ebf1;border-radius:8px;padding:8px;margin:8px 0}.access-details summary{cursor:pointer;font-size:11px;font-weight:700;color:#2c5f8d}.report-history{margin-top:14px}.viz-badge{display:inline-block;padding:4px 7px;border-radius:999px;background:#e8f2ff;color:#1e5e9e;font-size:9px;font-weight:700}
@media(max-width:1200px){.dashboard-home-kpis{grid-template-columns:repeat(3,1fr)}.record-detail-grid,.users-layout{grid-template-columns:1fr}.dashboard-home-grid{grid-template-columns:1fr}.detail-fields{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.dashboard-home-kpis,.preview-kpis{grid-template-columns:1fr 1fr}.home-actions,.detail-fields,.form-access-grid{grid-template-columns:1fr}.activity-item{grid-template-columns:1fr}.change-row{grid-template-columns:1fr}.change-row i{display:none}}
.preview-kpis-six{grid-template-columns:repeat(6,1fr)}
.dma-filter-btn{margin-top:6px;border:1px solid #bcd4e9;background:#eef6fd;color:#155a95;border-radius:5px;padding:5px 8px;cursor:pointer}.dma-reset-control a{font-weight:800;font-size:18px}
@media(max-width:1200px){.preview-kpis-six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.preview-kpis-six{grid-template-columns:repeat(2,1fr)}}

/* ===== V14 simplified users & permissions ===== */
.users-page-title{align-items:center}.users-add-btn{min-width:145px}.simple-users-card{background:#fff;border:1px solid #dfe7ef;border-radius:12px;overflow:hidden}.simple-users-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #e8edf3}.simple-users-head h2{margin:0;font-size:16px}.simple-users-head p{margin:3px 0 0;color:#7d8a9a;font-size:10px}.users-legend{display:flex;gap:14px;color:#6d7e90;font-size:10px}.users-legend span{display:flex;align-items:center;gap:5px}.state-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.state-dot.active{background:#2274a3}.state-dot.inactive{background:#a9b4bf}.simple-users-table-wrap{overflow:auto}.simple-users-table{width:100%;border-collapse:collapse;min-width:820px}.simple-users-table th{padding:11px 14px;background:#f7f9fc;color:#53677e;font-size:10px;text-align:right;border-bottom:1px solid #e2e8ef}.simple-users-table td{padding:12px 14px;border-bottom:1px solid #edf1f5;font-size:10px;vertical-align:middle}.simple-users-table tbody tr:hover td{background:#f8fbfe}.simple-user-cell{display:flex;align-items:center;gap:9px}.user-avatar{width:32px!important;height:32px!important}.simple-user-cell b,.simple-user-cell small{display:block}.simple-user-cell b{font-size:11px}.simple-user-cell small{font-size:9px;color:#8492a1;margin-top:2px}.role-pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:800}.role-admin{background:#e7f0ff;color:#174f99}.role-manager{background:#ecf8ee;color:#215472}.role-engineer{background:#fff5df;color:#916012}.role-viewer{background:#f0f2f5;color:#58697b}.scope-summary b,.scope-summary small{display:block}.scope-summary b{font-size:10px}.scope-summary small{font-size:8px;color:#8795a5;margin-top:2px}.account-status{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:700}.account-status i{width:7px;height:7px;border-radius:50%}.account-status.on{color:#235e80}.account-status.on i{background:#2879a8}.account-status.off{color:#788797}.account-status.off i{background:#a9b4bf}.last-login{color:#6e7f90}.compact-btn{padding:6px 12px;font-size:10px}
.user-dialog{border:0;padding:0;border-radius:14px;width:min(760px,94vw);max-height:88vh;box-shadow:0 24px 70px rgba(8,34,58,.22);color:#132a43}.user-dialog::backdrop{background:rgba(8,29,48,.55)}.user-dialog-form{display:flex;flex-direction:column;max-height:88vh}.dialog-head{display:flex;align-items:start;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #e7edf3;background:#fff}.dialog-head h2{margin:0;font-size:17px}.dialog-head p{margin:4px 0 0;color:#8391a1;font-size:10px}.dialog-close{border:0;background:#f1f4f7;color:#5d6e7f;width:30px;height:30px;border-radius:50%;font-size:20px;cursor:pointer}.dialog-body{padding:18px 20px;overflow:auto;background:#fbfcfe}.simple-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.simple-form-grid label{display:grid;gap:5px;font-size:10px;font-weight:700}.simple-form-grid input,.simple-form-grid select{width:100%;padding:10px 11px;border:1px solid #d9e2eb;border-radius:8px;background:#fff;font-family:inherit;outline:none;min-height:38px}.simple-form-grid input:focus,.simple-form-grid select:focus{border-color:#4d8bc5;box-shadow:0 0 0 3px rgba(77,139,197,.10)}.role-help{margin-top:11px;padding:9px 11px;border-radius:8px;background:#edf6ff;border:1px solid #d1e6f8;color:#365d80;font-size:10px}.account-toggle .toggle-row{display:flex;align-items:center;gap:7px;min-height:38px;border:1px solid #d9e2eb;border-radius:8px;background:#fff;padding:0 11px}.account-toggle input{width:auto;min-height:auto}.advanced-user-settings{margin-top:14px;border:1px solid #dfe7ef;background:#fff;border-radius:9px;overflow:hidden}.advanced-user-settings summary{cursor:pointer;padding:11px 13px;font-size:11px;font-weight:800;color:#2e5579;list-style:none}.advanced-user-settings summary::-webkit-details-marker{display:none}.advanced-user-settings summary:after{content:'⌄';float:left;color:#6b839a}.advanced-user-settings[open] summary:after{content:'⌃'}.advanced-user-settings summary small{font-weight:400;color:#8896a6;margin-right:6px}.advanced-section{border-top:1px solid #e9eef3;padding:13px}.advanced-section h3{margin:0 0 3px;font-size:11px}.advanced-section>p{margin:0 0 9px;font-size:9px;color:#8391a1}.permission-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.permission-cards label,.access-picker label{display:flex;align-items:flex-start;gap:8px;border:1px solid #e2e9f0;background:#fbfcfe;border-radius:8px;padding:8px;cursor:pointer}.permission-cards label:hover,.access-picker label:hover{border-color:#bad3e8;background:#f4f9fd}.permission-cards input,.access-picker input{margin-top:2px;width:auto;min-height:auto}.permission-cards b,.permission-cards small{display:block}.permission-cards b{font-size:10px}.permission-cards small{font-size:8px;color:#8492a2;margin-top:2px}.access-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:190px;overflow:auto}.access-picker.compact{grid-template-columns:repeat(2,minmax(0,1fr));max-height:150px}.access-picker span{font-size:9px;line-height:1.4}.dialog-actions{display:flex;gap:8px;justify-content:flex-start;padding:13px 20px;border-top:1px solid #e7edf3;background:#fff}
body.dark .simple-users-card,body.dark .dialog-head,body.dark .advanced-user-settings,body.dark .dialog-actions{background:#10263a;border-color:#28445b;color:#e9f2fb}body.dark .simple-users-head,body.dark .simple-users-table td,body.dark .simple-users-table th,body.dark .advanced-section,body.dark .dialog-actions{border-color:#28445b}body.dark .simple-users-table th,body.dark .dialog-body{background:#0c2032;color:#c9daea}body.dark .simple-users-table tbody tr:hover td{background:#15334d}body.dark .simple-form-grid input,body.dark .simple-form-grid select,body.dark .account-toggle .toggle-row,body.dark .permission-cards label,body.dark .access-picker label{background:#102a40;border-color:#31516a;color:#e9f2fb}body.dark .role-help{background:#12334e;border-color:#2f5877;color:#cfe5f7}
@media(max-width:900px){.simple-form-grid{grid-template-columns:1fr}.permission-cards,.access-picker,.access-picker.compact{grid-template-columns:1fr}.users-page-title{align-items:flex-start}.users-legend{display:none}}

/* V15 — صلاحيات واضحة + نافذة منع الوصول داخل نفس الواجهة */
.permission-locked{opacity:.52;filter:saturate(.55);position:relative}.permission-locked:hover{opacity:.7}.permission-locked,.permission-locked *{cursor:not-allowed!important}.lock-mini{font-size:9px;margin-inline-start:4px}.permission-dialog{border:0;padding:0;background:transparent;width:min(430px,92vw);color:#18334d}.permission-dialog::backdrop{background:rgba(5,24,42,.45);backdrop-filter:blur(2px)}.permission-dialog-card{background:#fff;border:1px solid #dce7f0;border-radius:16px;padding:26px 24px 20px;text-align:center;box-shadow:0 22px 70px rgba(7,35,59,.20)}.permission-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 13px;background:#edf5fc;font-size:25px}.permission-dialog h2{margin:0 0 8px;font-size:18px;color:#123454}.permission-dialog p{margin:0 auto 18px;max-width:340px;color:#6d8092;font-size:11px;line-height:1.8}.permission-dialog-actions{display:flex;justify-content:center}.permission-dialog-actions .btn{min-width:110px}.permission-note{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:#edf7ff;border:1px solid #d3e8f8;color:#35627f;font-size:9px}.permission-card-core{background:#f3f8fd!important;border-color:#b9d5e9!important}.permission-card-core small{color:#47718e!important}body.dark .permission-dialog-card{background:#10283d;border-color:#2c4b64;color:#edf6ff}body.dark .permission-dialog h2{color:#edf6ff}body.dark .permission-dialog p{color:#afc2d2}body.dark .permission-icon{background:#173a56}.save-toast{position:fixed;left:18px;bottom:18px;z-index:2000;background:#155173;color:white;border-radius:9px;padding:9px 13px;font-size:10px;box-shadow:0 8px 25px rgba(0,0,0,.18)}

/* ===== V16 multi-branch / multi-project platform ===== */
.project-switch{display:inline-flex;align-items:center;gap:6px;border:1px solid #d8e4ef;background:#fff;color:#124f80;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:800;text-decoration:none}.project-switch:hover{background:#f1f7fc}.page-title-actions{display:flex;gap:7px;flex-wrap:wrap}.span-2{grid-column:1/-1}.simple-form-grid textarea{width:100%;min-height:80px;border:1px solid #d9e2eb;border-radius:8px;padding:10px;font-family:inherit;resize:vertical}.blank-project-note{display:flex;gap:8px;align-items:flex-start;margin-top:13px;padding:11px 12px;border:1px solid #d9e9f5;background:#f4f9fd;border-radius:9px;font-size:10px}.blank-project-note b{white-space:nowrap;color:#0f5a91}.blank-project-note span{color:#6e8091;line-height:1.7}.empty-project-onboarding{margin-top:16px;border:1px dashed #bcd3e5;background:#fff;border-radius:14px;text-align:center;padding:34px 18px}.empty-project-icon{width:58px;height:58px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;background:#eaf4fc;color:#0d5d97;font-size:28px}.empty-project-onboarding h2{margin:0 0 6px}.empty-project-onboarding p{color:#718295;max-width:640px;margin:0 auto 16px}.empty-project-onboarding>div:last-child{display:flex;justify-content:center;gap:8px}
.portfolio-body{margin:0;background:#f3f7fb;color:#132a43;min-height:100vh;font-family:Arial,Tahoma,sans-serif}.portfolio-topbar{height:66px;background:#fff;border-bottom:1px solid #dfe8f0;display:flex;align-items:center;padding:0 28px;gap:12px;position:sticky;top:0;z-index:10}.portfolio-main{max-width:1320px;margin:0 auto;padding:32px 26px 60px}.portfolio-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.portfolio-hero .eyebrow{font-size:10px;color:#3a79a8;font-weight:800}.portfolio-hero h1{font-size:28px;margin:5px 0 4px}.portfolio-hero p{margin:0;color:#738396;max-width:720px;line-height:1.7}.portfolio-actions{display:flex;gap:8px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.project-card{background:#fff;border:1px solid #dfe8f0;border-radius:16px;padding:18px;transition:.18s;box-shadow:0 6px 18px rgba(19,61,96,.035)}.project-card:hover{transform:translateY(-2px);border-color:#9fc5df;box-shadow:0 12px 28px rgba(19,61,96,.08)}.project-card.selected{border-color:#2b78b2;box-shadow:0 0 0 2px rgba(43,120,178,.08)}.project-card-top{display:flex;justify-content:space-between;align-items:center}.project-client{font-size:9px;color:#62809a;background:#eef5fa;border-radius:999px;padding:4px 8px}.project-status{font-size:9px;color:#1f638b}.project-card h2{font-size:19px;margin:14px 0 3px}.project-card h3{font-size:12px;margin:0 0 16px;color:#597085;font-weight:600}.project-meta{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e7edf3;border-radius:10px;overflow:hidden}.project-meta span{padding:10px;text-align:center;border-left:1px solid #e7edf3}.project-meta span:last-child{border-left:0}.project-meta b,.project-meta small{display:block}.project-meta b{font-size:15px}.project-meta small{font-size:8px;color:#8796a5;margin-top:2px}.project-last{font-size:9px;color:#8594a4;margin:13px 0}.project-open{display:flex;justify-content:center;background:#0d5a92;color:#fff;text-decoration:none;border-radius:9px;padding:9px;font-size:11px;font-weight:800}.project-open:hover{background:#084872}.portfolio-empty{background:#fff;border:1px dashed #bdd2e2;border-radius:16px;padding:50px;text-align:center}.portfolio-empty>div{font-size:42px}.portfolio-empty h2{margin:10px 0 5px}.portfolio-empty p{color:#79899a}.report-list-empty{padding:20px 12px;text-align:center;color:#8392a2;font-size:10px}.side-link[href="/project/export.xlsx"]{border:1px solid rgba(255,255,255,.1);margin:4px 8px;border-radius:7px}
body.dark .project-switch{background:#102a40;border-color:#31516a;color:#dcecff}body.dark .blank-project-note,body.dark .empty-project-onboarding{background:#10283d;border-color:#31516a;color:#dcecff}
@media(max-width:1050px){.project-grid{grid-template-columns:repeat(2,1fr)}.portfolio-hero{align-items:flex-start;flex-direction:column}.page-title-actions{width:100%}}
@media(max-width:680px){.project-grid{grid-template-columns:1fr}.portfolio-main{padding:20px 12px}.portfolio-topbar{padding:0 12px}.portfolio-actions{width:100%}.portfolio-actions .btn{flex:1}.span-2{grid-column:auto}}
/* V21: unified operations logic on stable V19 visual layout */
.permit-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:800}.permit-badge.emergency{background:#fdecef;color:#a52e42}.permit-badge.normal{background:#eaf3ff;color:#1b5f9d}.btn.small{padding:6px 10px;font-size:10px;min-height:auto}body.dark .permit-badge.emergency{background:#482330;color:#ffacba}body.dark .permit-badge.normal{background:#153652;color:#8fcaff}

/* ===== V22 CENTRAL THEME ENGINE — LIGHT / DARK CONSISTENCY ===== */
:root{
  --theme-bg:#f4f7fb;
  --theme-bg-top:#eef4f9;
  --theme-panel:#ffffff;
  --theme-panel-soft:#f8fafc;
  --theme-panel-hover:#f1f6fb;
  --theme-text:#10213b;
  --theme-text-2:#607287;
  --theme-text-3:#8795a5;
  --theme-border:#dfe7ef;
  --theme-border-soft:#e9eef4;
  --theme-input:#ffffff;
  --theme-input-text:#12283f;
  --theme-input-placeholder:#8b99a8;
  --theme-link:#1265aa;
  --theme-sticky:#ffffff;
  --theme-table-head:#f4f7fa;
  --theme-table-row:#ffffff;
  --theme-table-hover:#edf5fb;
  --theme-shadow:0 5px 18px rgba(15,42,67,.045);
  --theme-code:#eef3f7;
  color-scheme:light;
}
body.dark{
  --theme-bg:#081725;
  --theme-bg-top:#0a1b2b;
  --theme-panel:#10263a;
  --theme-panel-soft:#0d2133;
  --theme-panel-hover:#15344e;
  --theme-text:#eef6fd;
  --theme-text-2:#c2d3e1;
  --theme-text-3:#91a7ba;
  --theme-border:#29465d;
  --theme-border-soft:#203a50;
  --theme-input:#0b1e2f;
  --theme-input-text:#edf6fd;
  --theme-input-placeholder:#8fa6b9;
  --theme-link:#84c8ff;
  --theme-sticky:#10263a;
  --theme-table-head:#0c2032;
  --theme-table-row:#10263a;
  --theme-table-hover:#173b58;
  --theme-shadow:0 7px 24px rgba(0,0,0,.18);
  --theme-code:#17334a;
  color-scheme:dark;
}

/* Page foundation */
body{background:linear-gradient(180deg,var(--theme-bg-top) 0,var(--theme-bg) 280px)!important;color:var(--theme-text)!important}
.content{color:var(--theme-text)!important;background:transparent!important}
.topbar{background:var(--theme-panel)!important;border-bottom-color:var(--theme-border)!important;color:var(--theme-text)!important}
.brand b,.user-mini b,.page-title h1,.page-title h2,.page-title h3,.filter-title,.table-card-head h2,.settings-head h2{color:var(--theme-text)!important}
.brand small,.user-mini small,.page-title p,.crumb,.table-card-head span,.settings-head p,.kpi small,.quick-strip span,.settings-list small,.project-last{color:var(--theme-text-3)!important}
.crumb a,.mini-actions a,.blue-text,.project-switch{color:var(--theme-link)!important}
.icon-btn{background:var(--theme-panel)!important;color:var(--theme-text)!important}
.icon-btn:hover{background:var(--theme-panel-hover)!important}
.avatar{background:color-mix(in srgb,#2688d8 18%,var(--theme-panel))!important;color:var(--theme-link)!important}
.user-mini{border-right-color:var(--theme-border-soft)!important}

/* Reusable surfaces */
.kpi,.filter-card,.table-card,.form-card,.settings-list,.settings-main,.import-card,.placeholder,
.home-panel,.user-create-card,.users-list-card,.simple-users-card,.record-card,.record-detail-card,
.report-list,.report-head,.report-filter,.map-filters,.metric-card,.dma-summary,.empty-project-onboarding,
.blank-project-note,.advanced-user-settings,.advanced-section,.permission-cards label,.access-picker label,
.account-toggle .toggle-row,.modal-box,.dialog-head,.dialog-body,.dialog-actions{
  background:var(--theme-panel)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-text)!important;
  box-shadow:var(--theme-shadow);
}
.home-panel-head,.table-card-head,.form-actions,.advanced-section,.dialog-actions,.simple-users-head{
  border-color:var(--theme-border-soft)!important;
}
.home-panel-head h2,.home-actions b,.rank-list b,.activity-item b,.advanced-section h3,.simple-users-table td,.simple-users-table th{
  color:var(--theme-text)!important;
}
.home-actions a{
  background:var(--theme-panel-soft)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-text)!important;
}
.home-actions a:hover{background:var(--theme-panel-hover)!important;border-color:color-mix(in srgb,var(--theme-link) 45%,var(--theme-border))!important}
.home-actions a>span,.activity-item span,.activity-item small,.advanced-section>p,.permission-cards small,.project-card h3,.project-meta small{
  color:var(--theme-text-2)!important;
}
.rank-list>div,.activity-item{border-color:var(--theme-border-soft)!important}
.rank-list>div>span{background:color-mix(in srgb,var(--theme-link) 13%,var(--theme-panel))!important;color:var(--theme-link)!important}
.rank-list em{color:var(--theme-link)!important}

/* KPI text must remain readable in both modes */
.kpi span,.kpi strong{color:var(--theme-text)!important}
.kpi-icon{background:color-mix(in srgb,var(--c) 16%,var(--theme-panel))!important}

/* Tables */
.table-card table,.admin-table,.wide-table,.simple-users-table{color:var(--theme-text)!important}
.table-card th,.admin-table th,.wide-table th,.simple-users-table th{
  background:var(--theme-table-head)!important;
  color:var(--theme-text-2)!important;
  border-color:var(--theme-border)!important;
}
.table-card td,.admin-table td,.wide-table td,.simple-users-table td{
  background:var(--theme-table-row)!important;
  color:var(--theme-text)!important;
  border-color:var(--theme-border-soft)!important;
}
.table-card tbody tr:hover td,.admin-table tbody tr:hover td,.wide-table tbody tr:hover td,.simple-users-table tbody tr:hover td,
.clickable-row:hover td{background:var(--theme-table-hover)!important;color:var(--theme-text)!important}
.sticky-action,.wide-table td[data-pinned="1"]{background:var(--theme-sticky)!important}
.wide-table thead .sticky-action,.wide-table thead th[data-pinned="1"]{background:var(--theme-table-head)!important}
.clickable-row:hover .sticky-action,.clickable-row:hover td[data-pinned="1"]{background:var(--theme-table-hover)!important}
.empty{color:var(--theme-text-3)!important}
.dots{border-color:var(--theme-border)!important;color:var(--theme-text-2)!important;background:var(--theme-panel)!important}
.dots:hover{background:var(--theme-panel-hover)!important;color:var(--theme-text)!important}

/* Inputs / filters / dialogs */
input:not([type="checkbox"]):not([type="radio"]),select,textarea,
.filter-card input,.filter-card select,.form-card input,.form-card select,.form-card textarea,
.modal-box input,.modal-box select,.modal-box textarea,.simple-form-grid input,.simple-form-grid select,.simple-form-grid textarea,
.map-filters input,.map-filters select,.report-filter input,.report-filter select{
  background:var(--theme-input)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-input-text)!important;
}
input::placeholder,textarea::placeholder{color:var(--theme-input-placeholder)!important;opacity:1}
select option{background:var(--theme-input)!important;color:var(--theme-input-text)!important}
label,.filter-card label,.form-grid label,.modal-box label{color:var(--theme-text)!important}

/* Buttons, pagination and helper strips */
.btn.outline,.pager-btn,.pagination button,.project-switch,.top-import{
  background:var(--theme-panel)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-text)!important;
}
.btn.outline:hover,.pager-btn:hover:not(.disabled):not(.active),.pagination button:hover:not(.active),.project-switch:hover,.top-import:hover{
  background:var(--theme-panel-hover)!important;
  color:var(--theme-text)!important;
}
.pager-btn.active,.pagination button.active{background:#0f5b98!important;color:#fff!important;border-color:#0f5b98!important}
.pagination,.page-summary{color:var(--theme-text-2)!important;border-color:var(--theme-border)!important}
.page-summary strong{color:var(--theme-text)!important}.page-summary span{color:var(--theme-text-2)!important}
.quick-strip{background:var(--theme-panel)!important;border-color:var(--theme-border)!important}
.quick-strip a{color:var(--theme-text)!important;border-left-color:var(--theme-border-soft)!important}
.quick-strip a:hover{background:var(--theme-panel-hover)!important}

/* Settings / users */
.settings-list a{color:var(--theme-text-2)!important}
.settings-list a.active,.settings-list a:hover{background:var(--theme-panel-hover)!important;color:var(--theme-link)!important}
.admin-table code{background:var(--theme-code)!important;color:var(--theme-text)!important}
.permission-cards label:hover,.access-picker label:hover{background:var(--theme-panel-hover)!important}
.advanced-user-settings summary,.access-details summary{color:var(--theme-link)!important}
.role-help,.permission-note{background:color-mix(in srgb,var(--theme-link) 9%,var(--theme-panel))!important;border-color:color-mix(in srgb,var(--theme-link) 28%,var(--theme-border))!important;color:var(--theme-text-2)!important}
.permission-card-core{background:color-mix(in srgb,var(--theme-link) 8%,var(--theme-panel))!important;border-color:color-mix(in srgb,var(--theme-link) 30%,var(--theme-border))!important}
.permission-card-core small{color:var(--theme-text-2)!important}

/* Map / reports / cards */
.report-list a{color:var(--theme-text)!important;border-color:var(--theme-border-soft)!important}
.report-list a.active,.report-list a:hover{background:var(--theme-panel-hover)!important;color:var(--theme-text)!important}
.metric-card strong{color:var(--theme-link)!important}
.dma-summary>div{border-color:var(--theme-border-soft)!important}
.scroll-hint{background:var(--theme-panel-soft)!important;border-color:var(--theme-border)!important;color:var(--theme-text-2)!important}

/* Project / portfolio pieces that may appear inside authenticated screens */
.project-card,.portfolio-empty{background:var(--theme-panel)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important}
.project-client{background:var(--theme-panel-soft)!important;color:var(--theme-text-2)!important}
.project-meta{border-color:var(--theme-border)!important}.project-meta span{border-color:var(--theme-border-soft)!important}
.project-card h2,.project-meta b{color:var(--theme-text)!important}

/* Status badges keep semantic colors but are tuned for contrast */
body.dark .status.ok{background:#122b3a!important;color:#78bae0!important}
body.dark .status.work{background:#163757!important;color:#91c8ff!important}
body.dark .status.late{background:#47242a!important;color:#ff9ca7!important}
body.dark .viz-badge{background:#153652!important;color:#9fd1ff!important}

/* Dialog and permission text */
.permission-dialog-card{background:var(--theme-panel)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important}
.permission-dialog h2{color:var(--theme-text)!important}.permission-dialog p{color:var(--theme-text-2)!important}
.permission-icon{background:var(--theme-panel-soft)!important}

/* Native controls and browser autofill */
body.dark input:-webkit-autofill,body.dark input:-webkit-autofill:hover,body.dark input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--theme-input-text)!important;
  -webkit-box-shadow:0 0 0 1000px var(--theme-input) inset!important;
  transition:background-color 9999s ease-in-out 0s;
}

/* Keep sidebar intentionally navy in both themes */
.sidebar,.sidebar *{color-scheme:dark}
.sidebar .side-label{color:#8eacc8!important}
.sidebar .side-link,.sidebar .side-home,.sidebar summary{color:#e1edf7!important}
.sidebar .side-link:hover,.sidebar .side-link.active{color:#fff!important}

/* V22 portfolio / branches theme coverage (overrides inline light-only rules) */
.portfolio-body{background:var(--theme-bg)!important;color:var(--theme-text)!important}
.portfolio-topbar{background:var(--theme-panel)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important}
.portfolio-hero h1,.portfolio-section-head h2,.branch-title h2,.branch-kpis b{color:var(--theme-text)!important}
.portfolio-hero p,.portfolio-section-head p,.branch-title .client,.branch-title small,.branch-kpis small{color:var(--theme-text-2)!important}
.branch-card{background:var(--theme-panel)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important;box-shadow:var(--theme-shadow)!important}
.branch-head{background:var(--theme-panel-soft)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important}
.branch-icon,.branch-kpis span{background:var(--theme-panel-soft)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important}
.mini-btn{background:var(--theme-panel)!important;border-color:var(--theme-border)!important;color:var(--theme-link)!important}
.mini-btn:hover{background:var(--theme-panel-hover)!important}
.mini-btn.danger{background:color-mix(in srgb,#ef4444 5%,var(--theme-panel))!important;color:#d7474f!important;border-color:color-mix(in srgb,#ef4444 35%,var(--theme-border))!important}
.empty-branch{background:var(--theme-panel-soft)!important;border-color:var(--theme-border)!important;color:var(--theme-text-2)!important}
.portfolio-stat{background:var(--theme-panel)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important;box-shadow:var(--theme-shadow)!important}
.portfolio-stat small{color:var(--theme-text-2)!important}
.user-dialog{color:var(--theme-text)!important}
.dialog-close{background:var(--theme-panel-hover)!important;color:var(--theme-text-2)!important}
.delete-summary,.delete-warning,.delete-mail-note,.otp-area{color:var(--theme-text)!important;border-color:var(--theme-border)!important}

/* ===== V22 KPI percentage indicators: additive only ===== */
.performance-panel{background:var(--theme-panel,#fff);border:1px solid var(--theme-border,#e0e6ee);border-radius:12px;padding:14px 15px;margin:0 0 16px;color:var(--theme-text,#10213b)}
.performance-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.performance-head h2{margin:0;font-size:15px;color:var(--theme-text,#10213b)}.performance-head p{margin:3px 0 0;font-size:10px;color:var(--theme-text-3,#7f8b9b)}
.performance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.performance-card{--perf:#1766bc;border:1px solid var(--theme-border-soft,#e5ebf1);border-radius:10px;padding:11px 12px;background:var(--theme-panel-2,var(--theme-panel,#fff));min-width:0}.performance-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.performance-top span{font-size:10px;font-weight:700;color:var(--theme-text-2,#4d6178)}.performance-top strong{font-size:19px;color:var(--perf);white-space:nowrap}.performance-card small{display:block;margin-top:7px;font-size:9px;color:var(--theme-text-3,#7f8b9b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.performance-track{height:7px;border-radius:999px;margin-top:9px;background:color-mix(in srgb,var(--theme-text) 8%,transparent);overflow:hidden}.performance-track i{display:block;height:100%;max-width:100%;border-radius:inherit;background:var(--perf);transition:width .35s ease}.perf-green{--perf:#1972a5}.perf-red{--perf:#e24848}.perf-blue{--perf:#2e6fe8}.perf-orange{--perf:#e89218}.perf-purple{--perf:#8a4de8}
body.dark .performance-panel,body.dark .performance-card{background:var(--theme-panel)!important;border-color:var(--theme-border-soft)!important}.performance-panel .performance-head h2,.performance-panel .performance-top span{color:var(--theme-text)!important}
@media(max-width:1200px){.performance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.performance-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.performance-grid{grid-template-columns:1fr}}

/* ===== Reference-inspired UI + graphical KPI dashboard (V22 stable base) ===== */
/* Geometry only: keep the existing project color palette and theme variables. */
body,input,select,textarea,button{font-family:"Segoe UI",Tahoma,Arial,sans-serif}
body{font-weight:400;letter-spacing:0}
.page-title h1{font-size:24px!important;font-weight:700!important;line-height:1.35!important}
.page-title p{font-size:11px!important;line-height:1.7!important}

/* Cards become flatter, sharper and closer to the reference portal. */
.kpi,.filter-card,.table-card,.form-card,.home-panel,.settings-list,.settings-main,.import-card,
.user-create-card,.users-list-card,.simple-users-card,.record-card,.record-detail-card,.report-list,
.report-head,.report-filter,.map-filters,.metric-card,.project-card,.branch-card,.portfolio-stat{
  border-radius:8px!important;
  box-shadow:0 1px 3px rgba(15,42,67,.035)!important;
  border-width:1px!important;
}
.kpi{padding:14px 15px!important;min-height:88px!important;gap:11px!important}
.kpi-icon{width:40px!important;height:40px!important;font-size:18px!important}
.kpi span{font-size:11px!important;font-weight:600!important}.kpi strong{font-size:22px!important;font-weight:700!important}.kpi small{font-size:10px!important}
.dashboard-home-kpis{gap:10px!important;margin-bottom:14px!important}

/* Search/filter blocks: labels above uniform controls, like the reference image. */
.filter-card{padding:16px!important}
.filter-title{font-size:13px!important;font-weight:700!important;padding-bottom:10px;border-bottom:1px solid var(--theme-border-soft);margin-bottom:14px!important}
.filter-card label,.form-grid label,.simple-form-grid label,.modal-box label{font-size:11px!important;font-weight:600!important;gap:6px!important;margin-bottom:12px!important}
input:not([type="checkbox"]):not([type="radio"]),select,textarea,
.filter-card input,.filter-card select,.form-card input,.form-card select,.form-card textarea,
.modal-box input,.modal-box select,.modal-box textarea,.simple-form-grid input,.simple-form-grid select,.simple-form-grid textarea{
  min-height:38px!important;
  padding:8px 10px!important;
  border-radius:4px!important;
  font-size:11px!important;
  box-shadow:none!important;
}
textarea{min-height:76px!important}
.btn{border-radius:5px!important;min-height:36px!important;padding:8px 14px!important;font-size:11px!important;font-weight:600!important;box-shadow:none!important}
.btn.small{min-height:30px!important;padding:5px 10px!important}

/* Table presentation: clearer header/cells and lighter row geometry. */
.table-card{overflow:hidden!important}
.table-card-head{padding:13px 16px!important;min-height:52px!important}.table-card-head h2{font-size:15px!important;font-weight:700!important}
.table-card table,.admin-table,.wide-table,.simple-users-table{font-size:11px!important}
.table-card th,.admin-table th,.wide-table th,.simple-users-table th{padding:10px 12px!important;font-weight:650!important;height:40px!important}
.table-card td,.admin-table td,.wide-table td,.simple-users-table td{padding:9px 12px!important;height:40px!important}
.dots{border-radius:5px!important;min-width:34px!important;height:30px!important}
.status,.viz-badge,.permit-badge{border-radius:5px!important;font-weight:600!important}

/* Tabs/quick action tiles have the same calm portal-style surfaces. */
.home-panel{padding:15px!important}.home-panel-head{padding-bottom:10px!important;margin-bottom:12px!important}.home-panel-head h2{font-size:14px!important;font-weight:700!important}
.home-actions{gap:9px!important}.home-actions a{border-radius:6px!important;padding:12px!important;background:var(--theme-panel)!important}.home-actions a:hover{background:var(--theme-panel-hover)!important}
.project-card,.branch-card{border-radius:9px!important}.project-open,.mini-btn{border-radius:5px!important}

/* ===== KPI charts ===== */
.performance-panel.performance-charts{padding:0!important;border-radius:8px!important;overflow:hidden;margin-bottom:14px!important;box-shadow:0 1px 3px rgba(15,42,67,.035)!important}
.performance-charts .performance-head{padding:13px 16px;margin:0!important;border-bottom:1px solid var(--theme-border-soft)}
.performance-charts .performance-head h2{font-size:15px!important;font-weight:700!important;margin:0}.performance-charts .performance-head p{font-size:10px!important;margin:3px 0 0;color:var(--theme-text-3)!important}
.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:var(--theme-border-soft)}
.chart-card{background:var(--theme-panel);padding:15px 16px;min-height:230px;border:0;box-shadow:none;min-width:0}
.chart-card:nth-child(odd){border-inline-end:1px solid var(--theme-border-soft)}
.chart-card:nth-child(-n+2){border-bottom:1px solid var(--theme-border-soft)}
.chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.chart-card-head b{display:block;font-size:12px;font-weight:700;color:var(--theme-text)}
.chart-card-head small{display:block;font-size:9px;color:var(--theme-text-3);margin-top:3px}
.chart-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:0 0 auto}.green-dot{background:#2289c5}.orange-dot{background:#f59e0b}.purple-dot{background:#a855f7}.blue-dot{background:#2563eb}

.donut-wrap{display:flex;align-items:center;justify-content:center;gap:34px;min-height:165px}
.donut-chart{--pct:0;position:relative;width:128px;height:128px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.close-donut{background:conic-gradient(#2289c5 calc(var(--pct)*1%),#ef4444 0)}
.permit-donut{background:conic-gradient(#f59e0b calc(var(--pct)*1%),#2563eb 0)}
.donut-chart:after{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--theme-panel);border:1px solid var(--theme-border-soft)}
.donut-chart>div{position:relative;z-index:1;text-align:center}.donut-chart strong{display:block;font-size:24px;line-height:1;font-weight:700;color:var(--theme-text)}.donut-chart span{display:block;font-size:9px;margin-top:5px;color:var(--theme-text-3)}
.chart-legend{display:grid;gap:10px;min-width:160px}.chart-legend>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:7px;font-size:10px;color:var(--theme-text-2)}.chart-legend i{width:8px;height:8px;border-radius:2px}.chart-legend b{font-size:11px;color:var(--theme-text)}.legend-green{background:#2289c5}.legend-red{background:#ef4444}.legend-orange{background:#f59e0b}.legend-blue{background:#2563eb}

.bar-chart-list{display:grid;gap:11px;padding-top:3px}.bar-row{display:grid;gap:5px}.bar-label{display:flex;justify-content:space-between;gap:10px;font-size:10px}.bar-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-text-2)}.bar-label b{font-size:10px;color:var(--theme-text)}.bar-track{height:8px;border-radius:3px;background:var(--theme-panel-soft);border:1px solid var(--theme-border-soft);overflow:hidden}.bar-track i{display:block;height:100%;background:#a855f7;border-radius:2px;min-width:2px}

.line-chart-wrap{height:170px;display:flex;flex-direction:column}.line-chart{width:100%;height:130px;overflow:visible}.axis-line{stroke:var(--theme-border);stroke-width:.8}.grid-line{stroke:var(--theme-border-soft);stroke-width:.55;stroke-dasharray:2 2}.trend-line{fill:none;stroke:#2563eb;stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.trend-point{fill:var(--theme-panel);stroke:#2563eb;stroke-width:1.4;vector-effect:non-scaling-stroke}.line-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:4px;direction:ltr}.line-labels span{text-align:center}.line-labels b,.line-labels small{display:block}.line-labels b{font-size:9px;color:var(--theme-text);font-weight:600}.line-labels small{font-size:8px;color:var(--theme-text-3);margin-top:2px}

/* Keep dark theme fully readable without changing the user's established palette. */
body.dark .donut-chart:after{background:var(--theme-panel)!important}
body.dark .bar-track{background:var(--theme-panel-soft)!important}

@media(max-width:1050px){.chart-grid{grid-template-columns:1fr}.chart-card:nth-child(n){border-inline-end:0;border-bottom:1px solid var(--theme-border-soft)}.chart-card:last-child{border-bottom:0}.donut-wrap{justify-content:flex-start}}
@media(max-width:650px){.donut-wrap{gap:18px;flex-direction:column}.chart-legend{width:100%}.dashboard-home-kpis{grid-template-columns:1fr 1fr!important}}


/* ===== V22 typography + contrast hotfix ===== */
html[lang="ar"] body,
html[lang="ar"] input,
html[lang="ar"] select,
html[lang="ar"] textarea,
html[lang="ar"] button,
html[lang="ar"] .btn{
  font-family:Tahoma,"Segoe UI",Arial,sans-serif!important;
}
body{
  font-size:13px!important;
  line-height:1.65!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
/* Keep large colored hero blocks readable regardless of theme overrides. */
.portfolio-hero,
.portfolio-hero *{color:#fff!important}
.portfolio-hero h1{
  color:#fff!important;
  font-size:25px!important;
  font-weight:700!important;
  line-height:1.45!important;
  letter-spacing:0!important;
}
.portfolio-hero p{
  color:rgba(255,255,255,.88)!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.9!important;
}
.portfolio-hero .eyebrow{
  color:#e8f4ff!important;
  background:rgba(255,255,255,.14)!important;
  font-weight:600!important;
}
.portfolio-actions .btn{font-weight:700!important}
.portfolio-actions .btn:not(.primary){color:#0b4c7a!important;background:#fff!important}
.portfolio-actions .btn.primary{color:#fff!important}

/* Typography hierarchy across the application. */
h1,h2,h3,.page-title h1,.home-panel-head h2,.table-card-head h2,
.portfolio-section-head h2,.branch-title h2,.project-card h3{
  font-family:Tahoma,"Segoe UI",Arial,sans-serif!important;
  letter-spacing:0!important;
}
.page-title h1{font-size:23px!important;font-weight:700!important;line-height:1.5!important}
.page-title p,.crumb,.portfolio-section-head p{font-weight:400!important;line-height:1.8!important}
.kpi span,.kpi small,.performance-head p,.chart-card-head small{font-weight:400!important}
.kpi strong,.performance-top strong,.metric-card strong{font-weight:700!important}
.table-card th,.admin-table th,.wide-table th,.simple-users-table th{font-weight:700!important}
.table-card td,.admin-table td,.wide-table td,.simple-users-table td{font-weight:400!important;line-height:1.55!important}
label,.filter-card label,.form-grid label,.modal-box label{font-weight:600!important}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-weight:400!important}

/* Secondary text must stay visible, especially in light mode. */
body:not(.dark){
  --theme-text-2:#53657a;
  --theme-text-3:#738297;
}
body:not(.dark) .portfolio-section-head p,
body:not(.dark) .portfolio-stat small,
body:not(.dark) .branch-title small,
body:not(.dark) .branch-title .client,
body:not(.dark) .project-meta small,
body:not(.dark) .project-last{
  color:#607287!important;
}

/* Prevent theme rule from painting hero text dark in light mode. */
body:not(.dark) .portfolio-hero h1,
body:not(.dark) .portfolio-hero p,
body:not(.dark) .portfolio-hero .eyebrow{color:#fff!important}


/* ===== Semantic action/status colors ===== */
.semantic-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 9px;border-radius:6px;font-weight:700;font-size:10px;line-height:1.35;border:1px solid transparent;white-space:nowrap}
.semantic-positive{background:#e8f4fb!important;color:#135a83!important;border-color:#bfdae9!important}
.semantic-negative{background:#ffe9e9!important;color:#c52828!important;border-color:#f4bcbc!important}
.semantic-warning{background:#fff5df!important;color:#9a6412!important;border-color:#f1d79d!important}
.semantic-info{background:#e9f3ff!important;color:#1e64ad!important;border-color:#bdd9f5!important}
.status.semantic-positive,.status.ok{background:#e8f4fb!important;color:#135a83!important;border:1px solid #bfdae9!important}
.status.semantic-negative,.status.late{background:#ffe9e9!important;color:#c52828!important;border:1px solid #f4bcbc!important}
.status.semantic-warning,.status.work{background:#fff5df!important;color:#9a6412!important;border:1px solid #f1d79d!important}
.semantic-cell-negative{background:#fff7f7!important}.semantic-cell-positive{background:#f7fcf9!important}.semantic-cell-warning{background:#fffaf0!important}
.action-semantic{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:6px!important;font-weight:700!important;text-decoration:none!important;transition:.15s ease!important}
.action-danger{background:#fff0f0!important;color:#c52f2f!important;border:1px solid #efb6b6!important}.action-danger:hover{background:#d83939!important;color:#fff!important;border-color:#d83939!important}
.action-success{background:#edf9f2!important;color:#175a81!important;border:1px solid #c4ddea!important}.action-success:hover{background:#21658c!important;color:#fff!important;border-color:#21658c!important}
.action-warning{background:#fff6e5!important;color:#946210!important;border:1px solid #efd49a!important}.action-warning:hover{background:#d99620!important;color:#fff!important;border-color:#d99620!important}
.action-info{background:#eef6ff!important;color:#1f63a8!important;border:1px solid #c6dcf1!important}.action-info:hover{background:#1f67a8!important;color:#fff!important;border-color:#1f67a8!important}
.clickable-row.row-negative td{background:#fff7f7}
body.dark .semantic-positive,body.dark .status.semantic-positive,body.dark .status.ok{background:#122b3a!important;color:#7ebde1!important;border-color:#28495c!important}
body.dark .semantic-negative,body.dark .status.semantic-negative,body.dark .status.late{background:#47242a!important;color:#ff9ca7!important;border-color:#6d343d!important}
body.dark .semantic-warning,body.dark .status.semantic-warning,body.dark .status.work{background:#493819!important;color:#ffd17d!important;border-color:#725624!important}
body.dark .semantic-info{background:#153652!important;color:#9fd1ff!important;border-color:#2c5879!important}
body.dark .semantic-cell-negative{background:#2b1a1f!important}body.dark .semantic-cell-positive{background:#12291f!important}body.dark .semantic-cell-warning{background:#2d281a!important}
body.dark .action-danger{background:#3c2026!important;color:#ff9ca7!important;border-color:#6b3540!important}body.dark .action-success{background:#153425!important;color:#7ebde1!important;border-color:#2a4a5d!important}body.dark .action-warning{background:#433416!important;color:#ffd17d!important;border-color:#6f5424!important}body.dark .action-info{background:#153652!important;color:#9fd1ff!important;border-color:#2c5879!important}
body.dark .clickable-row.row-negative td{background:#22171b}

/* V22.7 — employee photo + verified email */
.user-photo,.top-user-photo{object-fit:cover;display:block;border-radius:50%;background:var(--card-bg,#fff)}
.user-photo{width:42px;height:42px;border:2px solid var(--border,#dbe7f0)}
.top-user-photo{width:34px;height:34px;border:1px solid var(--border,#dbe7f0)}
.simple-user-cell small.email-state{display:block;margin-top:4px;font-size:12px;font-weight:600}
.email-state.verified,.email-badge.verified{color:#145880}
.email-state.unverified,.email-badge.unverified{color:#b26a00}
.user-photo-editor{grid-row:span 2;align-content:start}
.user-photo-editor>img{width:72px;height:72px;border-radius:14px;object-fit:cover;border:1px solid var(--border,#dbe7f0);margin:6px 0 8px}
.email-verify-panel{margin-top:14px;border:1px solid var(--border,#dbe7f0);border-radius:12px;padding:14px;background:var(--card-bg,#fff);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.email-verify-info{display:grid;gap:4px}.email-verify-info small{color:var(--text-secondary,#66788a)}
.email-badge{display:inline-flex;width:max-content;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;background:var(--soft-bg,#f3f7fa)}
.email-badge.verified{background:#e8f4fb}.email-badge.unverified{background:#fff3df}
.email-verify-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.email-verify-actions input{width:112px;text-align:center;letter-spacing:4px;font-weight:700}
.email-verify-feedback{width:100%;font-size:13px}.email-verify-feedback.ok{color:#145880}.email-verify-feedback.error{color:#c53030}
body.dark .email-badge.verified{background:rgba(20,88,128,.18)}body.dark .email-badge.unverified{background:rgba(178,106,0,.2)}

/* =========================================================
   V22 Motion UI — subtle life without changing layout/colors
   ========================================================= */
:root{
  --vd-motion-fast:160ms;
  --vd-motion-mid:260ms;
  --vd-motion-slow:900ms;
  --vd-motion-ease:cubic-bezier(.2,.75,.2,1);
}

/* Soft animated ambient background, keeps existing palette. */
body:not(.login-body){
  background-image:
    radial-gradient(circle at 12% 18%, rgba(25,167,223,.08), transparent 30%),
    radial-gradient(circle at 88% 76%, rgba(13,90,166,.07), transparent 34%),
    linear-gradient(180deg,var(--theme-bg,#eef3f8),var(--theme-bg,#f7f9fc));
  background-size:145% 145%,155% 155%,100% 100%;
  animation:vdAmbientBackground 20s ease-in-out infinite alternate;
}
body.dark:not(.login-body){
  background-image:
    radial-gradient(circle at 12% 18%, rgba(54,196,242,.08), transparent 31%),
    radial-gradient(circle at 90% 75%, rgba(31,111,182,.10), transparent 36%),
    linear-gradient(180deg,var(--theme-bg,#08192a),var(--theme-bg,#0a1f32));
}
@keyframes vdAmbientBackground{
  0%{background-position:0% 0%,100% 100%,0 0}
  50%{background-position:18% 10%,84% 88%,0 0}
  100%{background-position:8% 22%,96% 78%,0 0}
}

/* Header logo feels alive, but remains professional. */
.brand-mark,.portfolio-topbar .brand-mark{
  transform-origin:center;
  animation:vdBrandBreath 4.8s ease-in-out infinite;
  transition:transform var(--vd-motion-mid) var(--vd-motion-ease),box-shadow var(--vd-motion-mid) ease,filter var(--vd-motion-mid) ease!important;
}
.brand-mark:hover,.portfolio-topbar .brand-mark:hover{
  transform:translateY(-2px) scale(1.08) rotate(-3deg)!important;
  filter:saturate(1.08) brightness(1.04);
  box-shadow:0 9px 24px rgba(6,89,146,.28)!important;
}
@keyframes vdBrandBreath{
  0%,100%{box-shadow:0 5px 16px rgba(6,89,146,.16)}
  50%{box-shadow:0 7px 24px rgba(6,89,146,.26)}
}

/* Cards: gentle elevation on hover. */
.kpi,.home-panel,.filter-card,.table-card,.form-card,.metric-card,
.project-card,.branch-card,.portfolio-stat,.simple-users-card,.record-card,
.settings-list,.settings-main,.import-card,.report-head,.report-list,.dma-summary{
  transform:translateZ(0);
  transition:transform var(--vd-motion-mid) var(--vd-motion-ease),box-shadow var(--vd-motion-mid) ease,border-color var(--vd-motion-mid) ease!important;
}
.kpi:hover,.home-panel:hover,.metric-card:hover,.portfolio-stat:hover,.project-card:hover,
.record-card:hover,.simple-users-card:hover{
  transform:translateY(-4px) scale(1.006)!important;
  box-shadow:0 12px 30px rgba(14,59,98,.10)!important;
}
body.dark .kpi:hover,body.dark .home-panel:hover,body.dark .metric-card:hover,
body.dark .portfolio-stat:hover,body.dark .project-card:hover,body.dark .record-card:hover{
  box-shadow:0 14px 34px rgba(0,0,0,.28)!important;
}

/* Sidebar items and icons step forward. */
.side-home,.side-link,.nav-section>summary{
  position:relative;
  transition:transform var(--vd-motion-fast) var(--vd-motion-ease),background var(--vd-motion-fast) ease,color var(--vd-motion-fast) ease,box-shadow var(--vd-motion-fast) ease!important;
}
.side-home:hover,.side-link:hover,.nav-section>summary:hover{
  transform:translateX(-4px);
}
.side-link span,.side-home>span,.nav-section .nav-chevron{
  transition:transform var(--vd-motion-mid) var(--vd-motion-ease),filter var(--vd-motion-mid) ease!important;
}
.side-link:hover span,.side-home:hover>span{
  transform:translateX(-3px) scale(1.16);
  filter:brightness(1.12);
}
.side-link.active::before,.side-home::before{
  content:"";
  position:absolute;
  right:2px;
  top:50%;
  width:4px;
  height:22px;
  border-radius:999px;
  background:#5bc5ff;
  transform:translateY(-50%) scaleY(.55);
  opacity:.7;
  animation:vdActivePulse 2.6s ease-in-out infinite;
}
@keyframes vdActivePulse{50%{transform:translateY(-50%) scaleY(1);opacity:1}}

/* Buttons: lift + tactile press + JS ripple. */
.btn,.mini-btn,.project-open,.project-import,.project-delete,.icon-btn,.dots,
.pager-btn,.pagination button,.top-import,.project-switch,.logout-link,
.portfolio-actions .btn{
  position:relative;
  overflow:hidden;
  transition:transform var(--vd-motion-fast) var(--vd-motion-ease),box-shadow var(--vd-motion-fast) ease,filter var(--vd-motion-fast) ease,background-color var(--vd-motion-fast) ease!important;
}
.btn:hover,.mini-btn:hover,.project-open:hover,.project-import:hover,.icon-btn:hover,.dots:hover,
.pager-btn:hover:not(.disabled),.top-import:hover,.project-switch:hover,.portfolio-actions .btn:hover{
  transform:translateY(-2px);
  box-shadow:0 7px 18px rgba(14,59,98,.13)!important;
}
.btn:active,.mini-btn:active,.project-open:active,.project-import:active,.icon-btn:active,.dots:active,
.pager-btn:active,.top-import:active,.project-switch:active,.portfolio-actions .btn:active{
  transform:translateY(0) scale(.98)!important;
}
.vd-ripple{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(0);
  background:rgba(255,255,255,.36);
  animation:vdRipple .58s ease-out forwards;
}
body:not(.dark) .btn:not(.primary) .vd-ripple,
body:not(.dark) .mini-btn .vd-ripple,
body:not(.dark) .dots .vd-ripple{background:rgba(13,79,141,.16)}
@keyframes vdRipple{to{transform:translate(-50%,-50%) scale(4);opacity:0}}

/* Icons and avatars respond to cursor. */
.kpi-icon,.portfolio-stat i,.branch-icon,.avatar,.user-photo,.top-user-photo{
  transition:transform var(--vd-motion-mid) var(--vd-motion-ease),box-shadow var(--vd-motion-mid) ease!important;
}
.kpi:hover .kpi-icon,.portfolio-stat:hover i,.branch-card:hover .branch-icon,
.user-mini:hover .avatar,.user-mini:hover .top-user-photo{
  transform:translateY(-2px) scale(1.08);
}

/* Tables remain stable; only row feedback becomes richer. */
.table-card tbody tr,.admin-table tbody tr,.wide-table tbody tr,.simple-users-table tbody tr{
  transition:transform var(--vd-motion-fast) var(--vd-motion-ease),filter var(--vd-motion-fast) ease!important;
}
.table-card tbody tr:hover,.admin-table tbody tr:hover,.wide-table tbody tr:hover,.simple-users-table tbody tr:hover{
  filter:saturate(1.03);
}
.clickable-row:hover{transform:translateX(-2px)}

/* Inputs feel interactive without changing geometry. */
input:not([type="checkbox"]):not([type="radio"]),select,textarea{
  transition:border-color var(--vd-motion-fast) ease,box-shadow var(--vd-motion-fast) ease,transform var(--vd-motion-fast) var(--vd-motion-ease),background-color var(--vd-motion-fast) ease!important;
}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{
  transform:translateY(-1px);
  box-shadow:0 0 0 3px rgba(31,111,182,.10)!important;
}

/* Dialogs and modals enter smoothly. */
dialog[open],.modal.show .modal-box,.permission-dialog[open] .permission-dialog-card{
  animation:vdDialogIn .25s var(--vd-motion-ease) both;
}
@keyframes vdDialogIn{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* Page content enters softly once, giving the UI some life. */
.content>*{
  animation:vdContentIn .42s var(--vd-motion-ease) both;
}
.content>*:nth-child(2){animation-delay:35ms}.content>*:nth-child(3){animation-delay:70ms}.content>*:nth-child(4){animation-delay:105ms}
@keyframes vdContentIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Animated KPI value update. */
.vd-counting{font-variant-numeric:tabular-nums;will-change:contents}

/* Login: ambient moving light + staged entrance. */
.login-body{position:relative;overflow:hidden!important}
.login-body::before,.login-body::after{
  content:"";
  position:fixed;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  filter:blur(2px);
  opacity:.34;
}
.login-body::before{
  width:430px;height:430px;right:-110px;top:-110px;
  background:radial-gradient(circle,rgba(47,190,235,.55),rgba(47,190,235,0) 68%);
  animation:vdLoginOrbA 12s ease-in-out infinite alternate;
}
.login-body::after{
  width:520px;height:520px;left:-170px;bottom:-210px;
  background:radial-gradient(circle,rgba(33,111,181,.42),rgba(33,111,181,0) 70%);
  animation:vdLoginOrbB 15s ease-in-out infinite alternate;
}
.login-shell{position:relative!important;z-index:2;animation:vdLoginShellIn .6s var(--vd-motion-ease) both}
.login-brand-panel{position:relative;isolation:isolate;overflow:hidden}
.login-brand-panel::after{
  content:"";position:absolute;inset:-35%;z-index:-1;
  background:conic-gradient(from 90deg,transparent,rgba(255,255,255,.08),transparent 28%);
  animation:vdLoginSweep 12s linear infinite;
}
.login-logo{animation:vdLoginLogo 3.8s ease-in-out infinite;transition:transform .25s ease!important}
.login-logo:hover{transform:scale(1.12) rotate(-5deg)}
.login-features span{transition:transform .2s var(--vd-motion-ease),background .2s ease,border-color .2s ease!important}
.login-features span:hover{transform:translateY(-3px);background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.28)!important}
@keyframes vdLoginShellIn{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@keyframes vdLoginLogo{50%{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.14)}}
@keyframes vdLoginSweep{to{transform:rotate(360deg)}}
@keyframes vdLoginOrbA{to{transform:translate(-80px,70px) scale(1.12)}}
@keyframes vdLoginOrbB{to{transform:translate(100px,-60px) scale(.9)}}

/* Portfolio page uses its own inline styles, so motion needs !important. */
.portfolio-hero{transition:transform .35s var(--vd-motion-ease),box-shadow .35s ease!important;animation:vdPortfolioHeroIn .5s var(--vd-motion-ease) both}
.portfolio-hero:hover{transform:translateY(-3px)!important;box-shadow:0 20px 48px rgba(11,47,85,.18)!important}
.portfolio-stat:hover{transform:translateY(-4px)!important}
.branch-card:hover{box-shadow:0 14px 34px rgba(20,63,96,.10)!important;border-color:#bdd3e3!important}
@keyframes vdPortfolioHeroIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Accessibility: respect users who prefer less motion. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* =========================================================
   V22 Motion UI V2 — clearly visible ambient motion
   ========================================================= */
body:not(.login-body){
  background-color:var(--theme-bg,#eef4f8)!important;
  background-image:
    radial-gradient(circle at 8% 18%, rgba(35,175,225,.18) 0 7%, rgba(35,175,225,.08) 18%, transparent 34%),
    radial-gradient(circle at 92% 78%, rgba(28,104,176,.15) 0 8%, rgba(28,104,176,.07) 20%, transparent 38%),
    linear-gradient(120deg,rgba(255,255,255,.0),rgba(103,194,234,.09),rgba(255,255,255,0)),
    linear-gradient(180deg,var(--theme-bg,#eef4f8),var(--theme-bg,#f7fafc))!important;
  background-size:155% 155%,165% 165%,220% 220%,100% 100%!important;
  animation:vdAmbientBackgroundV2 14s ease-in-out infinite alternate!important;
}
body.dark:not(.login-body){
  background-image:
    radial-gradient(circle at 8% 18%, rgba(50,190,235,.16) 0 7%, rgba(50,190,235,.07) 18%, transparent 34%),
    radial-gradient(circle at 92% 78%, rgba(35,116,196,.18) 0 8%, rgba(35,116,196,.07) 20%, transparent 38%),
    linear-gradient(120deg,rgba(255,255,255,0),rgba(44,128,188,.07),rgba(255,255,255,0)),
    linear-gradient(180deg,var(--theme-bg,#08192a),var(--theme-bg,#0a2033))!important;
}
@keyframes vdAmbientBackgroundV2{
  0%{background-position:-8% 0%,108% 100%,-25% 40%,0 0}
  40%{background-position:16% 14%,85% 82%,42% 58%,0 0}
  100%{background-position:6% 30%,98% 68%,125% 35%,0 0}
}

/* Portfolio had its own opaque background; make it participate in motion. */
.portfolio-body{
  background-color:#f4f8fb!important;
  background-image:
    radial-gradient(circle at 5% 14%, rgba(24,164,220,.16), transparent 28%),
    radial-gradient(circle at 94% 74%, rgba(13,86,140,.12), transparent 34%),
    linear-gradient(130deg,rgba(255,255,255,.05),rgba(84,177,219,.08),rgba(255,255,255,.02)),
    linear-gradient(180deg,#eef5fa,#f8fbfd)!important;
  background-size:150% 150%,165% 165%,220% 220%,100% 100%!important;
  animation:vdPortfolioAmbient 13s ease-in-out infinite alternate!important;
}
@keyframes vdPortfolioAmbient{
  0%{background-position:-12% -4%,112% 104%,-30% 50%,0 0}
  50%{background-position:12% 16%,86% 80%,38% 40%,0 0}
  100%{background-position:2% 34%,100% 64%,130% 60%,0 0}
}
.portfolio-main{position:relative;isolation:isolate}
.portfolio-main::before,.portfolio-main::after{
  content:"";position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(10px);opacity:.28
}
.portfolio-main::before{width:360px;height:360px;right:3vw;top:16vh;background:radial-gradient(circle,#48c4ef 0,rgba(72,196,239,0) 68%);animation:vdFloatOrbOne 11s ease-in-out infinite alternate}
.portfolio-main::after{width:430px;height:430px;left:-90px;bottom:-100px;background:radial-gradient(circle,#4c93cc 0,rgba(76,147,204,0) 70%);animation:vdFloatOrbTwo 14s ease-in-out infinite alternate}
@keyframes vdFloatOrbOne{to{transform:translate(-110px,80px) scale(1.12)}}
@keyframes vdFloatOrbTwo{to{transform:translate(130px,-70px) scale(.92)}}

/* Login: visible but professional moving mesh, not a static silver field. */
.login-body{
  background-color:#edf5fa!important;
  background-image:
    radial-gradient(circle at 12% 20%, rgba(34,177,226,.24) 0 8%, rgba(34,177,226,.10) 20%, transparent 37%),
    radial-gradient(circle at 86% 74%, rgba(17,93,155,.20) 0 10%, rgba(17,93,155,.08) 22%, transparent 40%),
    linear-gradient(115deg,#edf6fb 0%,#f9fcfe 38%,#dcecf6 64%,#f8fbfd 100%)!important;
  background-size:170% 170%,180% 180%,190% 190%!important;
  animation:vdLoginBackdrop 11s ease-in-out infinite alternate!important;
}
@keyframes vdLoginBackdrop{
  0%{background-position:-15% 0%,115% 100%,0% 50%}
  50%{background-position:15% 18%,82% 82%,55% 50%}
  100%{background-position:4% 35%,100% 64%,100% 50%}
}
.login-body::before{
  width:520px!important;height:520px!important;right:-60px!important;top:-140px!important;opacity:.48!important;filter:blur(4px)!important;
  background:radial-gradient(circle,rgba(44,195,240,.72),rgba(44,195,240,.18) 36%,rgba(44,195,240,0) 72%)!important;
  animation:vdLoginOrbA2 9s ease-in-out infinite alternate!important;
}
.login-body::after{
  width:620px!important;height:620px!important;left:-190px!important;bottom:-230px!important;opacity:.38!important;filter:blur(5px)!important;
  background:radial-gradient(circle,rgba(26,107,176,.58),rgba(26,107,176,.16) 38%,rgba(26,107,176,0) 72%)!important;
  animation:vdLoginOrbB2 12s ease-in-out infinite alternate!important;
}
@keyframes vdLoginOrbA2{to{transform:translate(-150px,110px) scale(1.15)}}
@keyframes vdLoginOrbB2{to{transform:translate(170px,-85px) scale(.9)}}
.login-shell{box-shadow:0 30px 90px rgba(8,53,87,.24),0 0 0 1px rgba(255,255,255,.8)!important}
.login-brand-panel::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(circle at 75% 20%,rgba(80,202,242,.18),transparent 30%),linear-gradient(120deg,transparent,rgba(255,255,255,.05),transparent);
  background-size:150% 150%;animation:vdBrandPanelGlow 8s ease-in-out infinite alternate
}
@keyframes vdBrandPanelGlow{to{background-position:80% 50%}}

/* Inline client creation inside branch modal. */
.inline-client-tools{display:flex;align-items:end;gap:8px}.inline-client-tools select{flex:1}
.inline-client-add{border:1px solid #bcd3e3;background:#f8fbfd;color:#0c5c92;border-radius:8px;padding:9px 11px;font:inherit;font-size:10px;cursor:pointer;white-space:nowrap}
.inline-client-add:hover{background:#eaf5fb;transform:translateY(-1px)}
.inline-client-panel{display:none;grid-column:1/-1;border:1px dashed #b9d5e6;background:#f7fbfe;border-radius:10px;padding:12px;margin-top:2px}
.inline-client-panel.show{display:grid;grid-template-columns:1.3fr .7fr auto;gap:8px;align-items:end;animation:vdDialogIn .2s ease both}
.inline-client-panel label{margin:0}.inline-client-feedback{grid-column:1/-1;font-size:9px;color:#687f92;min-height:14px}
.inline-client-feedback.ok{color:#155b83}.inline-client-feedback.error{color:#c52f2f}
@media(max-width:650px){.inline-client-panel.show{grid-template-columns:1fr}.inline-client-panel .btn{width:100%}}

/* =========================================================
   V22 Ken Burns Photo Background — real image zoom in/out
   ========================================================= */
.vd-kenburns-bg,
.vd-kenburns-overlay{
  position:fixed;
  inset:-1.5%;
  pointer-events:none;
}
.vd-kenburns-bg{
  z-index:0;
  background-image:url('/static/water_ops_exact_bg.png');
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  will-change:transform,filter;
  transform-origin:center center;
  animation:vdKenBurnsPhoto 14s ease-in-out infinite;
}
.vd-kenburns-overlay{z-index:1}
@keyframes vdKenBurnsPhoto{
  0%,100%{transform:scale(1.005) translate3d(0,0,0)}
  50%{transform:scale(1.085) translate3d(0,-.35%,0)}
}

/* Login — cinematic image with readable form. */
.login-body{
  background:#0a2740!important;
  isolation:isolate;
}
.login-body>.vd-kenburns-bg{z-index:-3}
.login-body>.vd-kenburns-overlay{z-index:-2}
.vd-kenburns-login{
  filter:saturate(1.05) contrast(1.02) brightness(.86);
  animation-duration:14s;
}
.vd-kenburns-login-overlay{
  background:
    linear-gradient(90deg,rgba(4,28,48,.24),rgba(4,28,48,.10) 45%,rgba(4,28,48,.30)),
    linear-gradient(180deg,rgba(7,33,53,.10),rgba(7,33,53,.34));
  backdrop-filter:blur(.3px);
}
.login-body::before,.login-body::after{display:none!important}
.login-shell{
  position:relative!important;
  z-index:5!important;
  box-shadow:0 30px 100px rgba(0,20,35,.38)!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(10px);
}
.login-brand-panel{
  background:linear-gradient(150deg,rgba(6,46,78,.94),rgba(12,99,149,.86))!important;
  backdrop-filter:blur(4px);
}

/* Portfolio — same photo, but light frosted canvas so cards stay readable. */
.portfolio-body{
  background:#eaf2f7!important;
  isolation:isolate;
}
.portfolio-body>.vd-kenburns-bg{z-index:-4}
.portfolio-body>.vd-kenburns-overlay{z-index:-3}
.vd-kenburns-portfolio{
  filter:saturate(.92) contrast(.98) brightness(1.03);
  animation-duration:14s;
}
.vd-kenburns-portfolio-overlay{
  background:linear-gradient(180deg,rgba(240,247,251,.84),rgba(246,250,252,.91));
  backdrop-filter:blur(1.2px);
}
.portfolio-body::before,.portfolio-body::after,
.portfolio-main::before,.portfolio-main::after{display:none!important}
.portfolio-topbar{
  background:rgba(255,255,255,.90)!important;
  backdrop-filter:blur(14px);
}
.portfolio-hero{
  background:linear-gradient(130deg,rgba(8,48,82,.95),rgba(12,103,154,.90))!important;
  backdrop-filter:blur(8px);
}
.portfolio-stat,.branch-card,.project-card{
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(10px);
}

/* Keep photo motion even when system motion UI is present. */
@media (prefers-reduced-motion:reduce){
  .vd-kenburns-bg{animation:vdKenBurnsPhoto 14s ease-in-out infinite!important}
}

/* ======================================================================
   V24 CINEMATIC WATER OPERATIONS UI
   Visual-only layer. Existing routes, forms, permissions and data logic stay intact.
   ====================================================================== */
:root{
  --cin-navy:#082d50;
  --cin-navy-2:#0b4d7d;
  --cin-blue:#0d6fbb;
  --cin-cyan:#1ea9d8;
  --cin-card:rgba(255,255,255,.91);
  --cin-card-strong:rgba(255,255,255,.965);
  --cin-border:rgba(255,255,255,.62);
  --cin-shadow:0 18px 45px rgba(7,35,60,.17);
  --cin-shadow-soft:0 9px 28px rgba(7,35,60,.11);
  --cin-text:#12304c;
  --cin-muted:#6e8498;
}

html,body{min-height:100%}
body.cinematic-app-body,.cinematic-portfolio-body{background:#dceaf4!important;color:var(--cin-text)}
.cinematic-bg{position:fixed;inset:-1.5%;z-index:-3;background-image:url('/static/water_ops_exact_bg.png');background-size:cover;background-position:center center;will-change:transform;animation:vdKenBurns24 14s ease-in-out infinite;transform-origin:center center}
.cinematic-bg-app{filter:saturate(.96) contrast(.98) brightness(.86)}
.cinematic-bg-login{filter:saturate(1.04) contrast(1.02) brightness(.94)}
.cinematic-vignette{position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(110deg,rgba(4,27,48,.10),rgba(4,27,48,.02) 45%,rgba(4,27,48,.20)),linear-gradient(180deg,rgba(248,252,255,.08),rgba(4,31,53,.14))}
.cinematic-vignette-app{background:linear-gradient(90deg,rgba(6,35,58,.08),rgba(244,250,254,.18) 43%,rgba(4,27,49,.16)),linear-gradient(180deg,rgba(255,255,255,.10),rgba(8,38,62,.22))}
@keyframes vdKenBurns24{0%,100%{transform:scale(1.005) translate3d(0,0,0)}50%{transform:scale(1.085) translate3d(0,-.35%,0)}}

/* ---------- Login ---------- */
.cinematic-login-body{margin:0;min-height:100vh;font-family:"Segoe UI",Tahoma,Arial,sans-serif;display:grid;place-items:center;padding:28px;overflow:hidden;color:var(--cin-text)}
.cinematic-login-wrap{width:min(1440px,96vw);display:flex;justify-content:flex-start;align-items:center;min-height:calc(100vh - 56px);direction:ltr}
.cinematic-login-card{direction:rtl;width:min(500px,94vw);padding:34px 36px 26px;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:rgba(255,255,255,.90);backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25);box-shadow:0 32px 80px rgba(3,28,49,.24);animation:vdCardIn .7s cubic-bezier(.2,.8,.2,1) both}
.cinematic-login-brand{display:flex;align-items:center;justify-content:center;gap:15px;text-align:right}.cinematic-login-logo{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 7px 14px rgba(15,95,157,.16))}.cinematic-login-brand h1{margin:0;color:#113a67;font-size:26px;line-height:1.45;font-weight:800}.cinematic-login-brand p{margin:3px 0 0;color:#72889d;font-size:12px}.cinematic-login-divider{height:1px;background:linear-gradient(90deg,transparent,#d7e4ee,transparent);margin:24px 0}.cinematic-login-heading{margin-bottom:20px}.cinematic-login-heading h2{margin:0 0 5px;font-size:23px;color:#102f4c}.cinematic-login-heading span{font-size:11px;color:#7c8fa1}.cinematic-login-form{display:grid;gap:16px}.cinematic-login-form label{display:grid;gap:7px;font-size:11px;font-weight:700;color:#173b5c}.cinematic-input-wrap{position:relative}.cinematic-input-wrap input{width:100%;height:48px;border:1px solid #d5e1ea;border-radius:11px;background:rgba(255,255,255,.92);padding:0 42px 0 12px;font-family:inherit;font-size:12px;color:#18344e;outline:none;transition:.2s}.cinematic-input-wrap input:focus{border-color:#3a8fc9;box-shadow:0 0 0 4px rgba(58,143,201,.11);background:#fff}.cinematic-input-wrap .field-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:2;color:#6d87a0;font-size:17px}.cinematic-login-btn{height:50px;border:0;border-radius:11px;background:linear-gradient(135deg,#0b5f9d,#0e7ec5);color:#fff;font-family:inherit;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;box-shadow:0 10px 24px rgba(9,94,153,.22);transition:.22s}.cinematic-login-btn:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(9,94,153,.28)}.cinematic-login-btn b{font-size:18px;transition:.2s}.cinematic-login-btn:hover b{transform:translateX(-4px)}.cinematic-login-foot{text-align:center;margin-top:22px;font-size:9px;color:#8799a9}.cinematic-login-error{margin-bottom:14px;border-radius:9px}
@keyframes vdCardIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}

/* ---------- Application chrome ---------- */
.app-shell.cinematic-shell{padding-top:72px;padding-right:255px;min-height:100vh;background:transparent!important}
.cinematic-shell .topbar{height:72px;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-bottom:1px solid rgba(255,255,255,.72)!important;box-shadow:0 7px 25px rgba(6,35,60,.08)!important;padding:0 28px}
.cinematic-brand-mark{width:46px!important;height:46px!important;background:rgba(255,255,255,.9)!important;border:1px solid rgba(16,99,156,.14);box-shadow:0 7px 18px rgba(7,74,124,.12)!important;overflow:hidden}.cinematic-brand-mark img{width:40px;height:40px;object-fit:contain}.cinematic-shell .brand b{font-size:14px;color:#113553}.cinematic-shell .brand small{font-size:10px;color:#71869a}.cinematic-shell .top-import,.cinematic-shell .project-switch,.cinematic-shell .icon-btn{background:rgba(255,255,255,.76)!important;border:1px solid rgba(35,90,132,.13)!important;color:#173f62!important;box-shadow:none!important;transition:.2s}.cinematic-shell .top-import:hover,.cinematic-shell .project-switch:hover,.cinematic-shell .icon-btn:hover{background:#fff!important;transform:translateY(-2px);box-shadow:0 8px 18px rgba(7,52,88,.10)!important}.cinematic-shell .user-mini{border-color:rgba(24,77,115,.12)}

.cinematic-shell .sidebar{top:72px;width:255px;padding:18px 13px 38px;background:linear-gradient(180deg,rgba(5,35,61,.96),rgba(5,48,81,.94))!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-left:1px solid rgba(255,255,255,.08);box-shadow:-15px 0 35px rgba(2,26,47,.14)!important}.cinematic-shell .side-home{min-height:48px;border-radius:11px;background:linear-gradient(135deg,#1768b4,#0c5590)!important;box-shadow:0 9px 20px rgba(3,35,63,.22)!important}.cinematic-shell .side-link,.cinematic-shell .nav-section>summary{border-radius:10px!important;min-height:42px;transition:.18s}.cinematic-shell .side-link:hover,.cinematic-shell .nav-section>summary:hover{background:rgba(255,255,255,.10)!important;transform:translateX(-3px)}.cinematic-shell .side-link.active{background:linear-gradient(90deg,rgba(38,131,203,.46),rgba(255,255,255,.08))!important;box-shadow:inset -3px 0 #5dc2ec}.cinematic-shell .side-label{color:#80aac9!important}.cinematic-shell .content{padding:27px 28px 44px;position:relative}

/* ---------- Typography and page titles ---------- */
.cinematic-shell,.cinematic-portfolio-body{font-family:"Segoe UI",Tahoma,Arial,sans-serif}.cinematic-shell .page-title{padding:18px 20px;border:1px solid rgba(255,255,255,.56);border-radius:15px;background:rgba(255,255,255,.76);backdrop-filter:blur(16px);box-shadow:var(--cin-shadow-soft);align-items:center}.cinematic-shell .page-title h1{font-size:24px;color:#113552}.cinematic-shell .page-title p,.cinematic-shell .crumb{color:#6c8195}.cinematic-shell .crumb a{color:#0b6cad}

/* ---------- Glass surfaces ---------- */
.cinematic-shell .kpi,.cinematic-shell .filter-card,.cinematic-shell .table-card,.cinematic-shell .home-panel,.cinematic-shell .performance-panel,.cinematic-shell .chart-card,.cinematic-shell .form-card,.cinematic-shell .settings-list,.cinematic-shell .settings-main,.cinematic-shell .simple-users-card,.cinematic-shell .users-list-card,.cinematic-shell .user-create-card,.cinematic-shell .placeholder,.cinematic-shell .record-card,.cinematic-shell .detail-card,.cinematic-shell .quick-strip,.cinematic-shell .report-card,.cinematic-shell .map-toolbar-card,.cinematic-shell .kmz-card,.cinematic-shell .contractor-card{
  background:var(--cin-card)!important;border:1px solid rgba(255,255,255,.68)!important;backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);box-shadow:var(--cin-shadow-soft)!important
}
.cinematic-shell .kpi{border-radius:15px!important;transition:.22s}.cinematic-shell .kpi:hover{transform:translateY(-5px);box-shadow:0 17px 34px rgba(6,39,66,.16)!important}.cinematic-shell .kpi-icon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.72)}.cinematic-shell .kpi strong{font-weight:800;color:#102f4c}.cinematic-shell .kpi span{font-weight:700}.cinematic-shell .kpi small{color:#768b9e}
.cinematic-shell .home-panel,.cinematic-shell .performance-panel,.cinematic-shell .table-card,.cinematic-shell .filter-card,.cinematic-shell .form-card,.cinematic-shell .settings-main,.cinematic-shell .settings-list{border-radius:16px!important;overflow:hidden}.cinematic-shell .home-panel-head,.cinematic-shell .table-card-head,.cinematic-shell .settings-head{background:rgba(250,253,255,.55);border-bottom:1px solid rgba(28,76,111,.09)}

/* ---------- Buttons / controls ---------- */
.cinematic-shell .btn,.cinematic-shell .mini-btn,.cinematic-shell .dots,.cinematic-shell button,.cinematic-portfolio-body .btn,.cinematic-portfolio-body .mini-btn{transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}.cinematic-shell .btn.primary,.cinematic-portfolio-body .btn.primary{background:linear-gradient(135deg,#0b5f9d,#0e7ec5)!important;box-shadow:0 8px 18px rgba(7,92,149,.17);border:0!important}.cinematic-shell .btn.primary:hover,.cinematic-portfolio-body .btn.primary:hover{transform:translateY(-2px);box-shadow:0 12px 23px rgba(7,92,149,.24)}.cinematic-shell .btn.outline,.cinematic-portfolio-body .btn.outline{background:rgba(255,255,255,.78)!important;border-color:rgba(22,84,128,.16)!important;color:#16486f!important}.cinematic-shell input,.cinematic-shell select,.cinematic-shell textarea,.cinematic-portfolio-body input,.cinematic-portfolio-body select,.cinematic-portfolio-body textarea{background:rgba(255,255,255,.88)!important;border-color:rgba(37,88,126,.17)!important;border-radius:10px!important;color:#17354f!important;transition:.18s}.cinematic-shell input:focus,.cinematic-shell select:focus,.cinematic-shell textarea:focus,.cinematic-portfolio-body input:focus,.cinematic-portfolio-body select:focus,.cinematic-portfolio-body textarea:focus{border-color:#4b9bce!important;box-shadow:0 0 0 4px rgba(75,155,206,.10)!important;background:#fff!important}

/* ---------- Tables ---------- */
.cinematic-shell .table-card table,.cinematic-shell .admin-table,.cinematic-shell .simple-users-table{background:rgba(255,255,255,.57)}.cinematic-shell .table-card th,.cinematic-shell .admin-table th,.cinematic-shell .simple-users-table th{background:rgba(231,241,248,.82)!important;color:#284b67!important;border-color:rgba(33,79,112,.10)!important}.cinematic-shell .table-card td,.cinematic-shell .admin-table td,.cinematic-shell .simple-users-table td{border-color:rgba(33,79,112,.08)!important}.cinematic-shell .table-card tbody tr,.cinematic-shell .admin-table tbody tr,.cinematic-shell .simple-users-table tbody tr{transition:.15s}.cinematic-shell .table-card tbody tr:hover td,.cinematic-shell .admin-table tbody tr:hover td,.cinematic-shell .simple-users-table tbody tr:hover td{background:rgba(217,236,248,.54)!important}.cinematic-shell .table-scroll{scrollbar-color:#4f86ad rgba(255,255,255,.45)}

/* ---------- Charts ---------- */
.cinematic-shell .chart-grid{gap:14px}.cinematic-shell .chart-card{border-radius:15px!important;transition:.22s}.cinematic-shell .chart-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(6,39,66,.14)!important}.cinematic-shell .bar-track{background:rgba(28,92,137,.10)!important}.cinematic-shell .line-chart-wrap{background:linear-gradient(180deg,rgba(222,239,250,.40),transparent)}

/* ---------- Dialogs ---------- */
.cinematic-shell .user-dialog,.cinematic-portfolio-body .user-dialog,.cinematic-shell dialog{border-radius:18px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(22px);box-shadow:0 30px 80px rgba(3,27,48,.28)!important}.cinematic-shell dialog::backdrop,.cinematic-portfolio-body dialog::backdrop{background:rgba(3,26,47,.50);backdrop-filter:blur(3px)}

/* ---------- Portfolio ---------- */
.cinematic-portfolio-body{background:transparent!important;min-height:100vh}.cinematic-portfolio-body .portfolio-topbar{height:74px;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(18px);border-color:rgba(255,255,255,.70)!important;box-shadow:0 7px 25px rgba(6,35,60,.08)!important}.cinematic-portfolio-body .portfolio-main{max-width:1500px;padding-top:28px}.cinematic-portfolio-body .portfolio-hero{min-height:145px;background:linear-gradient(120deg,rgba(5,49,83,.84),rgba(9,93,145,.70))!important;border:1px solid rgba(255,255,255,.22);border-radius:18px!important;backdrop-filter:blur(8px);box-shadow:0 20px 48px rgba(4,31,53,.22)!important}.cinematic-portfolio-body .portfolio-hero h1{color:#fff;font-size:29px}.cinematic-portfolio-body .portfolio-actions .btn{background:rgba(255,255,255,.94)!important}.cinematic-portfolio-body .portfolio-actions .btn.primary{background:linear-gradient(135deg,#0a67a5,#0c86c8)!important}.cinematic-portfolio-body .portfolio-stats{gap:14px}.cinematic-portfolio-body .portfolio-stat,.cinematic-portfolio-body .branch-card,.cinematic-portfolio-body .project-card{background:rgba(255,255,255,.91)!important;border:1px solid rgba(255,255,255,.67)!important;backdrop-filter:blur(18px);box-shadow:var(--cin-shadow-soft)!important}.cinematic-portfolio-body .portfolio-stat{border-radius:15px!important}.cinematic-portfolio-body .branch-card{border-radius:18px!important}.cinematic-portfolio-body .branch-head{background:rgba(250,253,255,.62)!important}.cinematic-portfolio-body .project-card{border-radius:14px!important;transition:.22s}.cinematic-portfolio-body .project-card:hover{transform:translateY(-4px)!important;box-shadow:0 17px 32px rgba(7,39,65,.15)!important}.cinematic-portfolio-body .project-open{background:linear-gradient(135deg,#0b5f9d,#0e7ec5)!important}.cinematic-portfolio-body .portfolio-section-head h2{color:#fff;text-shadow:0 2px 8px rgba(1,25,44,.25)}.cinematic-portfolio-body .portfolio-section-head p{color:rgba(255,255,255,.82)}

/* ---------- Dark mode: keep cinematic identity readable ---------- */
body.dark.cinematic-app-body{--cin-card:rgba(8,31,51,.89);--cin-card-strong:rgba(9,35,57,.96);--cin-text:#edf6fd;--cin-muted:#a9bfd1;color:#edf6fd}.dark .cinematic-bg-app{filter:saturate(.85) brightness(.53) contrast(1.06)}.dark .cinematic-vignette-app{background:linear-gradient(90deg,rgba(2,16,28,.34),rgba(2,21,36,.36)),linear-gradient(180deg,rgba(4,20,34,.05),rgba(2,15,26,.48))}.dark .cinematic-shell .topbar{background:rgba(7,27,45,.88)!important;border-color:rgba(255,255,255,.08)!important}.dark .cinematic-shell .brand b,.dark .cinematic-shell .page-title h1,.dark .cinematic-shell .kpi strong{color:#eef7ff}.dark .cinematic-shell .brand small,.dark .cinematic-shell .page-title p,.dark .cinematic-shell .crumb,.dark .cinematic-shell .kpi small{color:#aac0d2}.dark .cinematic-shell .page-title,.dark .cinematic-shell .home-panel,.dark .cinematic-shell .performance-panel,.dark .cinematic-shell .chart-card,.dark .cinematic-shell .filter-card,.dark .cinematic-shell .table-card,.dark .cinematic-shell .form-card,.dark .cinematic-shell .settings-list,.dark .cinematic-shell .settings-main,.dark .cinematic-shell .simple-users-card{background:rgba(8,31,51,.90)!important;border-color:rgba(255,255,255,.09)!important;color:#eaf5fd!important}.dark .cinematic-shell .table-card th,.dark .cinematic-shell .admin-table th,.dark .cinematic-shell .simple-users-table th{background:rgba(17,54,80,.92)!important;color:#dbeaf5!important}.dark .cinematic-shell .table-card td,.dark .cinematic-shell .admin-table td,.dark .cinematic-shell .simple-users-table td{color:#e7f2f9!important}.dark .cinematic-shell .table-card tbody tr:hover td,.dark .cinematic-shell .admin-table tbody tr:hover td,.dark .cinematic-shell .simple-users-table tbody tr:hover td{background:rgba(37,91,128,.42)!important}.dark .cinematic-shell input,.dark .cinematic-shell select,.dark .cinematic-shell textarea{background:rgba(14,45,68,.88)!important;border-color:rgba(151,194,221,.18)!important;color:#edf7ff!important}.dark .cinematic-shell .btn.outline{background:rgba(18,51,74,.84)!important;color:#dcecf7!important;border-color:rgba(173,208,229,.18)!important}

/* ---------- Motion ---------- */
.cinematic-shell .side-link span,.cinematic-shell .kpi-icon,.cinematic-shell .branch-icon,.cinematic-portfolio-body .portfolio-stat i{transition:transform .2s}.cinematic-shell .side-link:hover span{transform:scale(1.13) translateX(-2px)}.cinematic-shell .btn:active,.cinematic-portfolio-body .btn:active{transform:scale(.98)}

@media(max-width:900px){.app-shell.cinematic-shell{padding-right:0}.cinematic-shell .content{padding:16px}.cinematic-login-wrap{justify-content:center}.cinematic-login-card{width:min(520px,96vw)}.cinematic-portfolio-body .portfolio-main{padding-inline:14px}.cinematic-portfolio-body .portfolio-section-head h2,.cinematic-portfolio-body .portfolio-section-head p{color:#173b59;text-shadow:none}}
@media(prefers-reduced-motion:reduce){.cinematic-bg{animation:none!important}.cinematic-login-card,.cinematic-shell *,.cinematic-portfolio-body *{transition:none!important;animation:none!important}}

/* =========================================================
   V25 — login cleanup, recovery UX, button contrast fixes
   ========================================================= */
.auth-simple-wrap{justify-content:center!important;align-items:center!important;padding:34px 18px!important}
.auth-simple-card{width:min(470px,94vw)!important;padding:34px 36px 30px!important;min-height:auto!important;text-align:right!important;background:rgba(255,255,255,.93)!important}
.auth-simple-logo{display:block;width:68px;height:68px;object-fit:contain;margin:0 auto 10px;filter:drop-shadow(0 6px 12px rgba(9,65,101,.12))}
.auth-simple-heading{text-align:center!important;margin:0 0 26px!important}.auth-simple-heading h1{font-size:27px!important;margin:0!important;color:#143e68!important}.auth-simple-heading span{display:none!important}
.auth-simple-form{gap:15px!important}.auth-simple-form label>span{font-size:12px!important;font-weight:700!important;color:#163451!important;margin-bottom:6px!important;display:block}
.auth-input-wrap{position:relative!important;display:block!important}.auth-input-wrap input{padding-left:48px!important;padding-right:13px!important;min-height:46px!important;text-align:right!important}
.auth-field-icon{position:absolute!important;left:12px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important;width:28px!important;height:28px!important;display:grid!important;place-items:center!important;color:#2b6ca6!important;background:transparent!important;border:0!important;padding:0!important;margin:0!important;z-index:3!important}
.auth-field-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-password-toggle{cursor:pointer!important;border-radius:7px!important}.auth-password-toggle:hover{background:rgba(29,104,164,.08)!important}.auth-password-toggle .eye-closed{display:none}.auth-password-toggle.showing .eye-open{display:none}.auth-password-toggle.showing .eye-closed{display:block}
.auth-form-links{display:flex;justify-content:flex-start;margin-top:-4px}.auth-form-links a{font-size:11px;color:#12639c;text-decoration:none;font-weight:650}.auth-form-links a:hover{text-decoration:underline}.auth-back-link{margin-top:18px;justify-content:center}
.cinematic-login-success{background:#eaf8f0;color:#155377;border:1px solid #c4ddea;border-radius:9px;padding:10px 12px;font-size:11px;margin-bottom:13px}
.auth-reset-card{width:min(500px,94vw)!important}.auth-reset-card .cinematic-login-btn{margin-top:4px}
/* Remove old login identity/footer leftovers completely in this version */
.cinematic-login-brand,.cinematic-login-divider,.cinematic-login-foot{display:none!important}

/* Portfolio theme toggle */
.portfolio-theme-toggle{width:36px;height:36px;border:1px solid rgba(30,86,128,.16);background:rgba(255,255,255,.82);color:#164e78;border-radius:9px;cursor:pointer;font-size:17px;display:grid;place-items:center;transition:.18s}
.portfolio-theme-toggle:hover{transform:translateY(-2px);background:#fff;box-shadow:0 7px 16px rgba(6,51,83,.10)}
body.dark.cinematic-portfolio-body .portfolio-theme-toggle{background:rgba(12,42,64,.88);border-color:rgba(180,218,240,.16);color:#eaf6ff}

/* Primary action contrast: never allow semantic JS to make the label dark/green on blue */
.cinematic-portfolio-body .project-open,
.cinematic-portfolio-body .project-open.action-info,
.cinematic-shell .btn.primary,
.cinematic-shell .btn.primary.action-success,
.cinematic-shell .btn.primary.action-info,
.cinematic-portfolio-body .btn.primary,
.cinematic-portfolio-body .btn.primary.action-success,
.cinematic-portfolio-body .btn.primary.action-info{color:#fff!important}
.cinematic-shell .btn.primary.action-success,.cinematic-portfolio-body .btn.primary.action-success{background:linear-gradient(135deg,#165b83,#1d72a3)!important;border-color:transparent!important}

/* Quick strip must not look selected just because it retained browser focus */
.cinematic-shell .quick-strip a{background:transparent!important;outline:none!important}
.cinematic-shell .quick-strip a:hover{background:rgba(213,233,246,.52)!important}
.cinematic-shell .quick-strip a:focus:not(:focus-visible){background:transparent!important;box-shadow:none!important}
.cinematic-shell .quick-strip a:focus-visible{background:rgba(213,233,246,.52)!important;box-shadow:inset 0 0 0 2px rgba(35,113,171,.35)!important}
body.dark .cinematic-shell .quick-strip a:hover,body.dark .cinematic-shell .quick-strip a:focus-visible{background:rgba(42,91,124,.46)!important}

/* Save/edit action labels stay readable */
.cinematic-shell button.action-success:not(.btn.primary),.cinematic-shell a.action-success:not(.btn.primary){color:#16567b!important}
.cinematic-shell .btn.primary.action-success{color:#fff!important}
body.dark .cinematic-shell .btn.primary.action-success{color:#fff!important}

/* Portfolio dark mode coverage */
body.dark.cinematic-portfolio-body .portfolio-topbar{background:rgba(7,27,45,.91)!important;color:#edf7ff!important;border-color:rgba(255,255,255,.08)!important}
body.dark.cinematic-portfolio-body .portfolio-topbar .brand b,body.dark.cinematic-portfolio-body .user-mini b{color:#eef7ff!important}
body.dark.cinematic-portfolio-body .portfolio-topbar .brand small,body.dark.cinematic-portfolio-body .user-mini small,body.dark.cinematic-portfolio-body .logout-link{color:#b2c6d7!important}
body.dark.cinematic-portfolio-body .portfolio-stat,body.dark.cinematic-portfolio-body .branch-card,body.dark.cinematic-portfolio-body .project-card{background:rgba(8,31,51,.92)!important;color:#edf6fd!important;border-color:rgba(255,255,255,.09)!important}
body.dark.cinematic-portfolio-body .branch-head{background:rgba(14,43,65,.90)!important;color:#edf6fd!important;border-color:rgba(255,255,255,.08)!important}
body.dark.cinematic-portfolio-body .branch-title h2,body.dark.cinematic-portfolio-body .project-card h3,body.dark.cinematic-portfolio-body .project-meta b,body.dark.cinematic-portfolio-body .portfolio-stat b{color:#edf6fd!important}
body.dark.cinematic-portfolio-body .branch-title .client,body.dark.cinematic-portfolio-body .branch-title small,body.dark.cinematic-portfolio-body .project-last,body.dark.cinematic-portfolio-body .project-meta small,body.dark.cinematic-portfolio-body .portfolio-stat small{color:#a9bfd1!important}
body.dark.cinematic-portfolio-body .project-meta,body.dark.cinematic-portfolio-body .project-meta span{border-color:rgba(255,255,255,.09)!important}
body.dark.cinematic-portfolio-body .mini-btn,body.dark.cinematic-portfolio-body .project-import{background:rgba(17,52,76,.88)!important;color:#dcecf7!important;border-color:rgba(173,208,229,.18)!important}

@media(max-width:600px){.auth-simple-card{padding:28px 20px 25px!important}.auth-simple-heading h1{font-size:24px!important}}


/* V25.2 exact generated water operations background */
.cinematic-bg,.vd-kenburns-bg{
  background-image:url('/static/water_ops_exact_bg.png')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
/* keep the exact same image behind every authenticated project page */
body.cinematic-app-body,body.cinematic-portfolio-body,body.cinematic-login-body{background:#0a2740!important}
.cinematic-shell .content{background:transparent!important}

/* V25.3 clean headings: concise interface */
.source-state-badge{display:inline-flex;margin-top:6px;padding:4px 9px;border-radius:999px;border:1px solid var(--line);font-size:12px;color:var(--muted);background:rgba(255,255,255,.5)}
body.dark .source-state-badge{background:rgba(8,31,51,.55)}


/* ===== V25.5 KPI redesign: compact visual metrics, no helper descriptions ===== */
.kpis-v2{align-items:stretch!important}
.kpis-v2 .kpi.kpi-v2{
  min-height:112px!important;
  padding:15px 16px 14px!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  grid-template-rows:auto 1fr!important;
  gap:5px 10px!important;
  align-items:center!important;
  border-radius:18px!important;
  border:1px solid color-mix(in srgb,var(--c) 22%,rgba(255,255,255,.75))!important;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,255,255,.82))!important;
  box-shadow:0 10px 26px rgba(7,41,68,.10)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
.kpis-v2 .kpi.kpi-v2:after{display:none!important}
.kpis-v2 .kpi-v2-head{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.kpis-v2 .kpi-v2-head>span{
  font-size:12px!important;
  font-weight:700!important;
  color:#29445f!important;
  letter-spacing:0!important;
}
.kpis-v2 .kpi.kpi-v2>strong{
  grid-column:1;
  grid-row:2;
  font-size:28px!important;
  line-height:1!important;
  font-weight:800!important;
  color:#0d2945!important;
  margin:4px 0 0!important;
}
.kpis-v2 .kpi.kpi-v2 .kpi-icon{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--c) 14%,white)!important;
  border:1px solid color-mix(in srgb,var(--c) 23%,white)!important;
  color:var(--c)!important;
  box-shadow:none!important;
  font-size:18px!important;
}
.kpis-v2 .kpi-rate{
  grid-column:2;
  grid-row:2;
  align-self:end;
  justify-self:end;
  min-width:52px;
  text-align:center;
  padding:5px 8px;
  border-radius:999px;
  background:color-mix(in srgb,var(--c) 12%,white);
  color:color-mix(in srgb,var(--c) 84%,#18324b);
  font-size:11px;
  font-style:normal;
  font-weight:800;
  direction:ltr;
}
.kpis-v2 .kpi-v2-accent{
  position:absolute;
  right:16px;
  left:16px;
  bottom:0;
  height:3px;
  border-radius:8px 8px 0 0;
  background:linear-gradient(90deg,transparent,var(--c),transparent);
  opacity:.88;
}
.kpis-v2 .kpi.kpi-v2:hover{
  transform:translateY(-4px)!important;
  border-color:color-mix(in srgb,var(--c) 38%,rgba(255,255,255,.8))!important;
  box-shadow:0 16px 32px rgba(7,41,68,.16)!important;
}
body.dark .kpis-v2 .kpi.kpi-v2,
.dark .cinematic-shell .kpis-v2 .kpi.kpi-v2{
  background:linear-gradient(145deg,rgba(9,36,58,.94),rgba(11,43,68,.88))!important;
  border-color:color-mix(in srgb,var(--c) 26%,rgba(255,255,255,.10))!important;
}
body.dark .kpis-v2 .kpi-v2-head>span,
.dark .cinematic-shell .kpis-v2 .kpi-v2-head>span{color:#cfe0ec!important}
body.dark .kpis-v2 .kpi.kpi-v2>strong,
.dark .cinematic-shell .kpis-v2 .kpi.kpi-v2>strong{color:#f2f8fc!important}
body.dark .kpis-v2 .kpi-rate,
.dark .cinematic-shell .kpis-v2 .kpi-rate{
  background:color-mix(in srgb,var(--c) 22%,rgba(8,30,49,.96));
  color:#eef7fd;
}
body.dark .kpis-v2 .kpi.kpi-v2 .kpi-icon,
.dark .cinematic-shell .kpis-v2 .kpi.kpi-v2 .kpi-icon{
  background:color-mix(in srgb,var(--c) 19%,rgba(9,34,55,.95))!important;
  border-color:color-mix(in srgb,var(--c) 30%,rgba(255,255,255,.08))!important;
}
@media(max-width:850px){
  .kpis-v2 .kpi.kpi-v2{min-height:102px!important;padding:13px!important}
  .kpis-v2 .kpi.kpi-v2>strong{font-size:24px!important}
}

/* V25.6 — Google Sheets read-only source */
.error-banner{background:#fff0f0;border:1px solid #f0b8b8;color:#a52626;padding:13px 16px;border-radius:10px;font-weight:800;margin-bottom:16px}
.data-source-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;margin-bottom:18px}
.google-source-card{text-align:right}.source-card-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.source-card-head h2{margin:0}.source-logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:22px;font-weight:900;background:linear-gradient(135deg,#4285f4,#347da8,#fbbc05,#ea4335);color:#fff;box-shadow:0 8px 18px rgba(31,89,163,.18)}
.read-only-badge{display:inline-block;margin-top:5px;padding:3px 9px;border-radius:99px;background:#eaf7ef;color:#145073;border:1px solid #c4ddea;font-size:11px;font-weight:800}.google-connect-form>label{display:block;font-weight:800;margin-bottom:7px}.google-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.google-url-row input{width:100%;min-width:0;border:1px solid #ccd9e5;border-radius:9px;padding:11px 12px;background:#fff;color:#17324a;direction:ltr;text-align:left}.google-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}.google-status>div{border:1px solid #dce6ef;border-radius:10px;padding:10px 12px;background:#f8fbfd}.google-status span,.google-status b{display:block}.google-status span{font-size:11px;color:#72869a;margin-bottom:3px}.google-status b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.google-status.connected>div:first-child{border-color:#bfd7e5;background:#effaf3}.google-status.error>div:first-child{border-color:#efc2c2;background:#fff4f4}.google-sync-box{margin-top:6px}.compact-mode{grid-template-columns:1fr 1fr}.compact-mode>label{margin:0}.google-sync-btn{width:100%;margin-top:10px}.disconnect-form{margin-top:8px}.readonly-note{margin-top:13px;border:1px solid #cfe2f2;background:#f0f8ff;color:#436781;border-radius:9px;padding:10px 12px;font-size:11px;line-height:1.65}
body.dark .error-banner{background:#3a171b;border-color:#78383f;color:#ffb6bd}body.dark .google-url-row input{background:#0b1d2d;border-color:#315069;color:#e7f0f8}body.dark .google-status>div{background:#0d2132;border-color:#29475e}body.dark .google-status span{color:#93aabd}body.dark .google-status.connected>div:first-child{background:#102f25;border-color:#2d5166}body.dark .google-status.error>div:first-child{background:#3a171b;border-color:#78383f}body.dark .readonly-note{background:#0e2b42;border-color:#28506d;color:#a9c7dc}
@media(max-width:900px){.data-source-grid{grid-template-columns:1fr}.google-url-row{grid-template-columns:1fr}.compact-mode{grid-template-columns:1fr}.google-status{grid-template-columns:1fr}}

/* ===== V25.6.1: wider, clearer pagination controls ===== */
.pager{
  gap:6px!important;
  align-items:center!important;
}
.pager-btn{
  min-width:38px!important;
  height:34px!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-size:12px!important;
}
.pager-word{
  min-width:62px!important;
  padding-inline:14px!important;
}
.pager-ellipsis{
  min-width:18px!important;
  text-align:center!important;
  padding:0 2px!important;
}
@media(max-width:850px){
  .pager{gap:4px!important}
  .pager-btn{min-width:34px!important;height:32px!important;padding:0 9px!important;font-size:11px!important}
  .pager-word{min-width:56px!important;padding-inline:11px!important}
}

/* V27 — Dynamic Google Sheet discovery */
.google-discovery-banner{display:flex;align-items:center;justify-content:space-between;gap:14px}.preview-mode-text{font-size:16px!important;margin-top:8px!important}.google-discovery-form{margin:0}.sheet-discovery-table th:nth-child(1){min-width:220px}.sheet-discovery-table th:nth-child(5){min-width:330px}.sheet-discovery-table td{vertical-align:middle}.sheet-action-select{width:100%;min-width:310px;height:42px;border:1px solid #ccd9e5;border-radius:9px;background:#fff;color:#17324a;padding:0 11px;font-family:inherit}.mapping-saved{display:inline-block;margin-inline-start:7px;padding:2px 7px;border-radius:99px;background:#edf3f8;color:#60798f;font-size:9px;font-weight:800}.discover-form{margin-top:8px}.discover-form .btn{width:100%}.status.info{background:#edf5ff;color:#175d99;border:1px solid #c9dff4}.dark .sheet-action-select{background:#0b1d2d;border-color:#315069;color:#e7f0f8}.dark .mapping-saved{background:#1a3448;color:#b3c8d9}.dark .status.info{background:#102f49;color:#9bd0fb;border-color:#2f5f84}@media(max-width:760px){.google-discovery-banner{align-items:flex-start;flex-direction:column}.sheet-action-select{min-width:260px}}

/* =========================================================
   V27.2 — dark mode record/detail readability fix
   Keep record values, edit fields and change history readable.
   ========================================================= */
body.dark .cinematic-shell .detail-card{
  background:rgba(8,31,51,.92)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#edf7ff!important;
}
body.dark .cinematic-shell .detail-card h2{
  color:#f2f8fc!important;
}
body.dark .cinematic-shell .detail-fields>div{
  background:rgba(14,45,68,.90)!important;
  border-color:rgba(151,194,221,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.dark .cinematic-shell .detail-fields span{
  color:#a9bfd1!important;
}
body.dark .cinematic-shell .detail-fields b{
  color:#f3f9fd!important;
  font-weight:700!important;
}
body.dark .cinematic-shell .detail-fields a{
  color:#83c9f4!important;
}
body.dark .cinematic-shell .history-event{
  background:rgba(10,37,57,.70)!important;
  border-color:rgba(151,194,221,.16)!important;
}
body.dark .cinematic-shell .history-head{
  background:rgba(17,54,80,.92)!important;
  color:#eef7ff!important;
}
body.dark .cinematic-shell .history-head span,
body.dark .cinematic-shell .history-head small{
  color:#b6cad9!important;
}
body.dark .cinematic-shell .change-row{
  border-color:rgba(151,194,221,.12)!important;
  color:#e7f2f9!important;
}
body.dark .cinematic-shell .change-row .old{
  background:rgba(119,38,48,.52)!important;
  color:#ffc5cb!important;
  border:1px solid rgba(255,150,160,.13);
}
body.dark .cinematic-shell .change-row .new{
  background:rgba(23,66,91,.52)!important;
  color:#bfdff2!important;
  border:1px solid rgba(133,198,235,.13);
}
body.dark .cinematic-shell .change-row i{
  color:#91abc0!important;
}

/* Edit/add record form: explicit contrast in dark mode */
body.dark .cinematic-shell .form-grid label,
body.dark .cinematic-shell .form-grid label>span{
  color:#dcebf5!important;
}
body.dark .cinematic-shell .form-grid input,
body.dark .cinematic-shell .form-grid select,
body.dark .cinematic-shell .form-grid textarea{
  background:rgba(14,45,68,.94)!important;
  color:#f2f8fc!important;
  caret-color:#ffffff!important;
  border-color:rgba(151,194,221,.22)!important;
}
body.dark .cinematic-shell .form-grid input::placeholder,
body.dark .cinematic-shell .form-grid textarea::placeholder{
  color:#8fa8bb!important;
  opacity:1;
}
body.dark .cinematic-shell .form-grid input:focus,
body.dark .cinematic-shell .form-grid select:focus,
body.dark .cinematic-shell .form-grid textarea:focus{
  background:rgba(18,55,80,.98)!important;
  color:#ffffff!important;
  border-color:#62b9ea!important;
  box-shadow:0 0 0 4px rgba(98,185,234,.12)!important;
}
body.dark .cinematic-shell .form-grid select option{
  background:#0e2d44!important;
  color:#f2f8fc!important;
}


/* ===== V27.4 execution credit ===== */
.execution-credit{margin:28px auto 2px;text-align:center;font-size:11px;font-weight:600;letter-spacing:.1px;color:rgba(224,238,248,.88);text-shadow:0 1px 5px rgba(0,18,32,.38);direction:rtl}
body:not(.dark) .cinematic-shell .execution-credit{color:#35546c;text-shadow:0 1px 3px rgba(255,255,255,.8)}
.portfolio-execution-credit{max-width:1450px;margin:0 auto 22px;padding:0 5%;color:rgba(255,255,255,.92)!important;text-shadow:0 2px 7px rgba(0,18,32,.55)!important}
.login-execution-credit{position:absolute;bottom:18px;left:0;right:0;margin:0;color:rgba(255,255,255,.92)!important;text-shadow:0 2px 7px rgba(0,18,32,.55)!important;z-index:3}
@media(max-width:700px){.execution-credit{font-size:10px}.login-execution-credit{bottom:10px}}

/* V28 — واضح ومركزي للتحكم في تطبيق V97 الديناميكي */
.side-app-control{background:linear-gradient(90deg,rgba(46,148,220,.32),rgba(255,255,255,.06))!important;border:1px solid rgba(105,192,247,.20)!important}
.top-app-control{display:inline-flex;align-items:center;gap:6px;text-decoration:none;padding:8px 11px;border-radius:9px;background:rgba(13,95,153,.08);border:1px solid rgba(13,95,153,.12);color:#165d8d;font-size:11px;font-weight:800;margin-left:6px}.dark .top-app-control{background:rgba(62,150,211,.14);border-color:rgba(126,196,239,.15);color:#bfe5fb}
.app-control-title .page-actions form{margin:0}.app-control-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.app-mini-kpi{min-height:78px;padding:13px 15px;border:1px solid rgba(137,176,203,.27);border-radius:15px;background:var(--cin-card,rgba(255,255,255,.83));backdrop-filter:blur(14px);display:flex;align-items:center;gap:11px;box-shadow:0 8px 20px rgba(7,46,75,.05)}.app-mini-kpi>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(26,112,171,.09);color:#1673ae;font-weight:900}.app-mini-kpi b,.app-mini-kpi small{display:block}.app-mini-kpi b{font-size:15px;color:var(--theme-text,#14304a)}.app-mini-kpi small{font-size:9px;margin-top:4px;color:var(--theme-text-3,#7b8fa1)}.app-dot.on{background:#e7f8ee!important;color:#1972a5!important}.app-dot.on:before{content:'✓'}.app-dot.off{background:#fff0f0!important;color:#e45b5b!important}.app-dot.off:before{content:'!'}.app-control-grid{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:16px;margin-bottom:16px}.app-settings-card,.mobile-preview-card,.app-forms-card,.app-fields-card,.mobile-sessions-card{padding:19px!important;margin-bottom:16px}.app-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.app-section-head h2{margin:0;font-size:17px}.app-section-head>span{font-size:10px;border:1px solid rgba(132,171,197,.24);padding:5px 9px;border-radius:999px;color:var(--theme-text-3,#72879a);background:rgba(255,255,255,.35)}.app-settings-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 12px}.app-wide{grid-column:1/-1!important}.color-field{display:flex;align-items:center;gap:8px}.color-field input[type=color]{width:54px!important;height:38px!important;padding:3px!important}.color-field code{font-size:10px;color:var(--theme-text-3,#718497)}.app-toggle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:4px 0 13px}.toggle-box{display:flex!important;align-items:center;gap:7px!important;border:1px solid rgba(125,165,192,.23);border-radius:10px;padding:9px 10px!important;margin:0!important;background:rgba(255,255,255,.28);min-height:40px}.toggle-box input{width:16px!important;height:16px!important;margin:0!important}.toggle-box span{font-size:10px;font-weight:700}.toggle-box.compact{min-height:34px;padding:6px 9px!important}.mobile-preview-card{display:flex;flex-direction:column}.phone-preview{width:246px;height:490px;margin:2px auto 4px;border-radius:35px;background:#071d30;border:7px solid #0c2436;padding:7px;box-shadow:0 24px 50px rgba(3,26,45,.24);position:relative}.phone-speaker{position:absolute;width:70px;height:5px;border-radius:9px;background:#20394b;top:6px;left:50%;transform:translateX(-50%);z-index:2}.phone-screen{height:100%;overflow:hidden;border-radius:24px;background:linear-gradient(155deg,color-mix(in srgb,var(--app-primary) 13%,#edf8ff),#fff 48%,color-mix(in srgb,var(--app-accent) 10%,#f6fbff));padding:16px 10px 29px;position:relative}.phone-appbar{height:43px;display:flex;align-items:center;gap:7px;color:#16364d}.phone-appbar img{width:30px;height:30px;object-fit:contain}.phone-appbar b{font-size:9px;flex:1}.phone-appbar span{font-size:13px}.phone-hero{border-radius:16px;padding:12px;background:linear-gradient(135deg,var(--app-primary),color-mix(in srgb,var(--app-primary) 45%,var(--app-accent)));display:flex;align-items:center;gap:9px;box-shadow:0 8px 18px color-mix(in srgb,var(--app-primary) 24%,transparent)}.phone-avatar{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.17);display:grid;place-items:center;color:#fff;font-weight:800}.phone-hero b,.phone-hero small{display:block;color:#fff}.phone-hero b{font-size:8px}.phone-hero small{font-size:6px;opacity:.78;margin-top:3px}.phone-group{font-size:8px;font-weight:800;color:#173d58;margin:14px 4px 7px}.phone-menu-row{min-height:54px;background:#fff;border:1px solid #e5edf3;border-radius:13px;margin-bottom:7px;padding:8px;display:flex;align-items:center;gap:7px;box-shadow:0 4px 10px rgba(14,57,84,.04)}.phone-menu-row i{font-style:normal;width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--app-primary) 10%,#fff);font-size:13px}.phone-menu-row div{flex:1}.phone-menu-row b,.phone-menu-row small{display:block}.phone-menu-row b{font-size:7px;color:#17364e}.phone-menu-row small{font-size:5px;color:#8293a1;margin-top:2px}.phone-menu-row>span{font-size:12px;color:#93a2ad}.phone-footer{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:5px;color:#728695}.app-form-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.app-form-tab{font-size:10px;text-decoration:none;color:#2a668f;border:1px solid rgba(53,126,177,.18);background:rgba(255,255,255,.46);border-radius:999px;padding:7px 10px}.app-form-tab.active{background:#176fac;color:#fff;border-color:#176fac}.app-form-tab.muted{opacity:.48}.app-form-editor{display:grid;grid-template-columns:90px minmax(150px,1fr) minmax(150px,1fr) minmax(180px,1.4fr) auto;gap:10px;align-items:end;border:1px solid rgba(127,167,195,.18);border-radius:14px;padding:14px;background:rgba(255,255,255,.25)}.app-form-editor-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}.app-form-editor-title b,.app-form-editor-title small{display:block}.app-form-editor-title small{color:var(--theme-text-3,#7d8fa0);font-size:9px;margin-top:3px}.app-form-editor label{font-size:10px!important;margin:0!important}.app-form-editor input{height:38px!important}.app-fields-table-wrap{overflow:auto;border:1px solid rgba(130,166,191,.16);border-radius:12px}.app-fields-table{width:100%;border-collapse:collapse;min-width:1040px}.app-fields-table th{font-size:9px;text-align:right;padding:9px;background:rgba(21,93,142,.07);white-space:nowrap}.app-fields-table td{padding:7px;border-top:1px solid rgba(130,166,191,.12);vertical-align:middle;font-size:10px}.app-fields-table input[type=text],.app-fields-table input:not([type]),.app-fields-table select,.app-fields-table textarea,.app-fields-table input[type=number]{width:100%;min-height:34px;padding:6px 7px!important;font-size:10px!important;margin:0!important}.app-fields-table input[type=checkbox]{width:16px!important;height:16px!important}.app-fields-table textarea{resize:vertical;min-width:150px}.tiny-input{width:64px!important;min-width:64px!important}.compact-btn{padding:7px 10px!important;font-size:10px!important;white-space:nowrap}.table-sub{display:block;color:var(--theme-text-3,#7d8f9f);font-size:8px;margin-top:2px}.session-state{display:inline-block;border-radius:999px;padding:4px 8px;font-size:9px}.session-state.on{background:#e8f8ee;color:#17608b}.session-state.off{background:#f0f2f4;color:#7d8993}.dark .app-mini-kpi,.dark .app-form-editor,.dark .toggle-box,.dark .app-form-tab{background:rgba(10,36,57,.72);border-color:rgba(170,207,231,.12)}.dark .app-mini-kpi b,.dark .app-section-head h2,.dark .app-form-editor-title b{color:#eef7fd}.dark .phone-screen{filter:brightness(.93)}
@media(max-width:1150px){.app-control-grid{grid-template-columns:1fr}.mobile-preview-card{display:none}.app-toggle-grid{grid-template-columns:repeat(3,1fr)}.app-form-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.app-form-editor button{width:100%}}
@media(max-width:760px){.app-control-kpis{grid-template-columns:repeat(2,1fr)}.app-settings-form{grid-template-columns:1fr!important}.app-wide{grid-column:auto!important}.app-toggle-grid{grid-template-columns:repeat(2,1fr)}.app-form-editor{grid-template-columns:1fr}.app-form-editor-title{grid-column:auto}.app-control-title{align-items:flex-start!important}.app-control-title .page-actions{width:100%;flex-wrap:wrap}}

/* V29 — Live map: search by a selected Google Maps link and nearby work locations */
.map-nearby-panel{margin:0 0 12px;padding:12px 14px;border:1px solid rgba(171,196,216,.78);border-radius:13px;background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(16,49,77,.06)}
.map-nearby-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.map-nearby-head strong{font-size:14px;color:#123f65}.map-nearby-head span{font-size:10px;color:#71869a}
.map-nearby-form{display:grid;grid-template-columns:minmax(280px,2.3fr) minmax(135px,.8fr) minmax(135px,.8fr) minmax(125px,.7fr) minmax(105px,.55fr) auto;gap:9px;align-items:end}.map-nearby-form label{display:grid;gap:5px;font-size:10px;font-weight:700;color:#425d75}.map-nearby-form input,.map-nearby-form select{height:39px;min-width:0;border:1px solid #d0dde8;border-radius:8px;padding:0 10px;background:#fff;color:#18384f;font-family:inherit}.map-nearby-actions{display:flex;gap:6px;white-space:nowrap}.map-nearby-actions .btn{height:39px}
.map-nearby-status{margin-top:9px;padding:8px 11px;border-radius:8px;font-size:11px;background:#edf5fc;border:1px solid #cce0f1;color:#245776}.map-nearby-status.ok{background:#eaf8ef;border-color:#c8e2f0;color:#23516b}.map-nearby-status.warn{background:#fff7e8;border-color:#efd8aa;color:#805d18}.map-nearby-status.error{background:#fff0f0;border-color:#edc4c4;color:#a13737}.map-nearby-status.loading{background:#eef5fb;border-color:#ccdeed;color:#285978}
.nearby-results{margin-top:13px;border:1px solid rgba(173,196,214,.8);border-radius:13px;background:rgba(255,255,255,.94);overflow:hidden}.nearby-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e3ebf2}.nearby-results-head>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.nearby-results-head strong{font-size:14px;color:#123f65}.nearby-results-head span{font-size:10px;color:#75879a}
.nearby-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#dce6ee;border-bottom:1px solid #dce6ee}.nearby-kpis>div{background:#f8fbfd;padding:10px 13px}.nearby-kpis span{display:block;font-size:9px;color:#74889a;margin-bottom:3px}.nearby-kpis strong{font-size:18px;color:#153f61}.nearby-table-wrap{overflow:auto;max-height:360px}.nearby-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1050px}.nearby-table th{position:sticky;top:0;z-index:2;background:#f0f5f8;color:#38556c;font-size:10px;text-align:right;padding:9px 10px;border-bottom:1px solid #dce6ee;white-space:nowrap}.nearby-table td{font-size:10px;padding:8px 10px;border-bottom:1px solid #edf2f6;vertical-align:middle;white-space:nowrap}.nearby-table tbody tr:hover{background:#f4f9fc}.nearby-match-type{display:block;font-size:8px;color:#7a8d9f;margin-top:2px}.nearby-row-actions{display:flex;gap:5px}.nearby-empty{text-align:center!important;padding:24px!important;color:#6f8192}
.vd-selected-location-icon{background:transparent!important;border:0!important}.vd-selected-location-pin{position:absolute;inset:0;display:grid;place-items:center;font-size:31px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.32));transform:translateY(-2px)}.vd-selected-location-pulse{position:absolute;left:9px;top:15px;width:28px;height:28px;border-radius:50%;border:3px solid rgba(214,45,45,.72);animation:vdSelectedPulse 1.35s ease-out infinite}@keyframes vdSelectedPulse{0%{transform:scale(.45);opacity:.95}100%{transform:scale(1.7);opacity:0}}
.vd-nearby-result-icon{background:transparent!important;border:0!important}.vd-nearby-result-icon>div{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#1769aa;color:#fff;border:2px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.28);font-size:10px;font-weight:800}.vd-nearby-result-icon.exact>div{background:#186693}.vd-nearby-radius-circle{stroke:#cf3640;fill:#cf3640;stroke-dasharray:7 6}.selected-location-popup a{display:inline-block;margin-top:5px}
body.dark .map-nearby-panel,body.dark .nearby-results{background:rgba(9,30,47,.94);border-color:#36546b;box-shadow:none}body.dark .map-nearby-head strong,body.dark .nearby-results-head strong{color:#e8f4ff}body.dark .map-nearby-head span,body.dark .nearby-results-head span{color:#91a7ba}body.dark .map-nearby-form label{color:#b3c4d2}body.dark .map-nearby-form input,body.dark .map-nearby-form select{background:#0b1d2d;border-color:#35536b;color:#edf6fd}body.dark .nearby-results-head{border-color:#28465d}body.dark .nearby-kpis{background:#29465c;border-color:#29465c}body.dark .nearby-kpis>div{background:#10283b}body.dark .nearby-kpis span{color:#91a5b7}body.dark .nearby-kpis strong{color:#d9efff}body.dark .nearby-table th{background:#10283b;color:#c8d9e7;border-color:#2b485e}body.dark .nearby-table td{color:#e4edf5;border-color:#203b50}body.dark .nearby-table tbody tr:hover{background:#14334b}body.dark .nearby-match-type{color:#8eabc0}
@media(max-width:1250px){.map-nearby-form{grid-template-columns:2fr 1fr 1fr 1fr 1fr}.map-nearby-actions{grid-column:1/-1;justify-content:flex-start}.map-nearby-actions .btn{min-width:150px}}
@media(max-width:760px){.map-nearby-panel{padding:10px}.map-nearby-head{align-items:flex-start;flex-direction:column}.map-nearby-form{grid-template-columns:1fr 1fr}.nearby-url-field,.map-nearby-actions{grid-column:1/-1}.map-nearby-actions .btn{flex:1;min-width:0}.nearby-kpis{grid-template-columns:1fr 1fr}.nearby-results-head{align-items:flex-start;flex-direction:column}}

/* V29.5 — App Control contrast + true live mobile preview */
.app-control-page{--ac-text:#102f49;--ac-muted:#5f778b;--ac-card:rgba(255,255,255,.90);--ac-card-soft:rgba(255,255,255,.72);--ac-input:#fff;--ac-border:rgba(42,93,128,.22);--ac-head:rgba(224,238,248,.88);color:var(--ac-text)!important}
.app-control-page,.app-control-page h1,.app-control-page h2,.app-control-page h3,.app-control-page b,.app-control-page label,.app-control-page th,.app-control-page td,.app-control-page span{color:var(--ac-text)}
.app-control-page .card,.app-control-page .app-mini-kpi{background:var(--ac-card)!important;border-color:var(--ac-border)!important}
.app-control-page .app-section-head h2,.app-control-page .app-form-editor-title b,.app-control-page .app-mini-kpi b{color:var(--ac-text)!important;opacity:1!important}
.app-control-page small,.app-control-page .table-sub,.app-control-page .app-form-editor-title small,.app-control-page .app-section-head>span,.app-control-page .color-field code{color:var(--ac-muted)!important;opacity:1!important}
.app-control-page .app-settings-form label,.app-control-page .app-form-editor label{color:var(--ac-text)!important;font-weight:750!important;opacity:1!important}
.app-control-page input:not([type=checkbox]):not([type=color]),.app-control-page select,.app-control-page textarea{background:var(--ac-input)!important;color:var(--ac-text)!important;border:1px solid var(--ac-border)!important;opacity:1!important;-webkit-text-fill-color:var(--ac-text)!important}
.app-control-page input::placeholder,.app-control-page textarea::placeholder{color:var(--ac-muted)!important;opacity:.85!important}
.app-control-page select option{background:#fff!important;color:#102f49!important}
.app-control-page .app-form-editor,.app-control-page .toggle-box,.app-control-page .app-form-tab{background:var(--ac-card-soft)!important;border-color:var(--ac-border)!important;color:var(--ac-text)!important}
.app-control-page .app-form-tab:not(.active){color:#23648f!important;opacity:1!important}.app-control-page .app-form-tab.muted:not(.active){opacity:.58!important}.app-control-page .app-form-tab.active{color:#fff!important}
.app-control-page .app-fields-table th{background:var(--ac-head)!important;color:var(--ac-text)!important;font-weight:800!important}.app-control-page .app-fields-table td{background:rgba(255,255,255,.72)!important;color:var(--ac-text)!important}
.app-control-page .app-fields-table input[type=checkbox],.app-control-page .toggle-box input[type=checkbox]{accent-color:#1685d1}
body.dark .app-control-page{--ac-text:#eef8ff;--ac-muted:#b5c9d8;--ac-card:rgba(7,29,47,.92);--ac-card-soft:rgba(11,40,62,.90);--ac-input:#102c46;--ac-border:rgba(155,205,237,.23);--ac-head:#123a58}
body.dark .app-control-page input:not([type=checkbox]):not([type=color]),body.dark .app-control-page select,body.dark .app-control-page textarea{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)!important}
body.dark .app-control-page select option{background:#102c46!important;color:#eef8ff!important}
body.dark .app-control-page .app-fields-table td{background:rgba(8,33,52,.84)!important}
body.dark .app-control-page .app-form-tab:not(.active){color:#c5e8ff!important}

.mobile-preview-card{position:sticky!important;top:82px;align-self:start;max-height:calc(100vh - 96px);overflow:auto;scrollbar-width:thin}.preview-section-head{margin-bottom:8px!important}.live-preview-badge{display:inline-flex!important;align-items:center;gap:5px;color:#14557a!important;background:#e8f4fb!important;border-color:#c4ddea!important}.live-preview-badge i{display:block;width:7px;height:7px;border-radius:50%;background:#2280b6;box-shadow:0 0 0 4px rgba(34,128,182,.13);animation:previewPulse 1.4s ease-in-out infinite}@keyframes previewPulse{50%{transform:scale(.72);opacity:.65}}
.preview-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;width:246px;margin:0 auto 9px;padding:4px;background:rgba(13,73,113,.08);border:1px solid rgba(71,126,164,.15);border-radius:12px}.preview-switch-btn{appearance:none;border:0;border-radius:9px;padding:7px 4px;background:transparent;color:var(--ac-muted)!important;font-family:inherit;font-size:9px;font-weight:800;cursor:pointer}.preview-switch-btn.active{background:#fff;color:#175f91!important;box-shadow:0 3px 8px rgba(18,66,98,.10)}body.dark .preview-switch{background:rgba(255,255,255,.06)}body.dark .preview-switch-btn.active{background:#143b58;color:#fff!important}
.preview-help{text-align:center;color:var(--ac-muted)!important;font-size:8px;margin:7px 4px 0;line-height:1.55}.phone-preview{height:510px!important}.phone-screen{padding-top:15px!important}.preview-screen{display:none;height:calc(100% - 7px);overflow:hidden}.preview-screen.active{display:block}.phone-app-title{display:flex;flex-direction:column;min-width:0;flex:1}.phone-app-title b,.phone-app-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-app-title small{font-size:5px;color:#7891a3;margin-top:1px}.phone-project-name{font-size:6px;color:#4d718b;margin:-2px 2px 7px;padding:3px 6px;border-radius:7px;background:rgba(10,88,143,.05);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-hero em{display:block;color:rgba(255,255,255,.72);font-size:5px;font-style:normal;margin-top:2px;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-quick-actions{display:flex;gap:5px;margin:7px 2px 0}.phone-quick-actions span{flex:1!important;text-align:center;font-size:5px!important;border:1px solid color-mix(in srgb,var(--app-primary) 18%,#dceaf3);background:#fff;color:#42667f!important;padding:5px 3px;border-radius:8px}.phone-menu-list{max-height:266px;overflow:auto;padding-left:1px;scrollbar-width:none}.phone-menu-list::-webkit-scrollbar{display:none}.phone-menu-list.layout-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.phone-menu-list.layout-grid .phone-menu-row{min-height:74px;margin:0;flex-direction:column;text-align:center;justify-content:center;padding:7px 4px}.phone-menu-list.layout-grid .phone-menu-row i{margin:auto}.phone-menu-list.layout-grid .phone-menu-row div{flex:0}.phone-menu-list.layout-grid .phone-menu-row>span{display:none}.phone-menu-list.layout-list .phone-menu-row{border-radius:7px;box-shadow:none;border-width:0 0 1px;background:transparent;margin:0;padding:7px 4px}.phone-maintenance{position:absolute;z-index:8;inset:58px 12px 34px;border-radius:17px;background:rgba(5,26,42,.94);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px}.phone-maintenance[hidden]{display:none!important}.phone-maintenance>div{font-size:24px;margin-bottom:9px}.phone-maintenance b{color:#fff!important;font-size:9px}.phone-maintenance small{color:#c5d8e6!important;font-size:6px;line-height:1.6;margin-top:5px}
.phone-form-appbar{height:44px;display:flex;align-items:center;gap:7px;padding:0 1px 5px;border-bottom:1px solid #e2ebf1}.phone-form-appbar>span{font-size:11px;color:#517188}.phone-form-appbar>div{flex:1;min-width:0}.phone-form-appbar b,.phone-form-appbar small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-form-appbar b{font-size:8px;color:#153b56!important}.phone-form-appbar small{font-size:5px;color:#8297a7!important;margin-top:2px}.phone-form-appbar button{border:0;background:var(--app-primary);color:#fff!important;border-radius:7px;padding:5px 7px;font-size:6px;font-family:inherit;font-weight:800}.phone-form-progress{display:flex;align-items:center;gap:5px;padding:8px 2px}.phone-form-progress i{width:12px;height:4px;border-radius:9px;background:#d7e4ed}.phone-form-progress i.active{width:25px;background:var(--app-primary)}.phone-form-progress span{margin-right:auto;font-size:5px;color:#668196!important}.phone-form-fields{height:356px;overflow:auto;padding:1px 2px 22px;scrollbar-width:none}.phone-form-fields::-webkit-scrollbar{display:none}.pv-field{position:relative;margin-bottom:8px}.pv-field>label{display:block!important;color:#334f64!important;font-size:6px!important;font-weight:800!important;margin:0 2px 4px!important}.pv-field>label::first-letter{color:inherit}.pv-input{min-height:31px;border:1px solid #dfe8ef;border-radius:8px;background:#fff;color:#8a9aa7!important;font-size:6px;padding:9px 8px;display:flex;align-items:center;justify-content:flex-start}.pv-textarea{height:48px;align-items:flex-start}.pv-select{justify-content:space-between}.pv-action{justify-content:space-between;color:#236e9e!important;background:color-mix(in srgb,var(--app-primary) 5%,#fff)}.pv-action b{font-size:9px;color:inherit!important}.pv-readonly{position:absolute;left:5px;top:0;color:#8a6b31!important;font-size:4px!important}.pv-field.readonly .pv-input{background:#f5f7f9}.pv-empty{font-size:7px;color:#7d91a0!important;text-align:center;padding:28px 8px;border:1px dashed #cddae3;border-radius:10px;margin-top:8px}
@media(max-width:1150px){.mobile-preview-card{display:flex!important;position:relative!important;top:auto;max-height:none}.app-control-grid{grid-template-columns:1fr}.mobile-preview-card{order:-1}.phone-preview{width:246px}}
.app-control-main{min-width:0}.app-control-main>.card{margin-bottom:16px}.app-control-grid{align-items:start}.mobile-preview-card{z-index:4}
@media(max-width:1150px){.app-control-main{display:contents}.mobile-preview-card{order:-1}.app-settings-card{order:0}.app-forms-card{order:1}.app-fields-card{order:2}.mobile-sessions-card{order:3}}

/* ===== V30 contractor permit intelligence ===== */
.permit-intel-page{--pi-text:#17354b;--pi-muted:#678095;--pi-card:rgba(255,255,255,.90);--pi-card-soft:rgba(247,252,255,.90);--pi-border:rgba(44,96,132,.20);--pi-input:#fff;color:var(--pi-text)}
body.dark .permit-intel-page{--pi-text:#eef8ff;--pi-muted:#afc5d5;--pi-card:rgba(7,29,47,.93);--pi-card-soft:rgba(12,41,62,.91);--pi-border:rgba(148,199,232,.22);--pi-input:#102c45}
.permit-intel-page h1,.permit-intel-page h2,.permit-intel-page h3,.permit-intel-page b,.permit-intel-page strong,.permit-intel-page label,.permit-intel-page td,.permit-intel-page th{color:var(--pi-text)!important}
.permit-intel-page small,.permit-intel-page span,.permit-intel-page .permit-source-meta,.permit-intel-page .permit-sa{color:var(--pi-muted)}
.permit-intel-page .card{background:var(--pi-card)!important;border:1px solid var(--pi-border)!important;backdrop-filter:blur(14px)}
.permit-intel-page input,.permit-intel-page select,.permit-intel-page textarea{background:var(--pi-input)!important;color:var(--pi-text)!important;border:1px solid var(--pi-border)!important;-webkit-text-fill-color:var(--pi-text)!important}
.permit-intel-page input::placeholder{color:var(--pi-muted)!important;opacity:.85}.permit-intel-page select option{background:#fff;color:#17354b}body.dark .permit-intel-page select option{background:#102c45;color:#eef8ff}
.permit-source-zone{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:14px}.permit-source-add{padding:16px}.permit-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.permit-section-head h2{font-size:17px;margin:0}.permit-section-head>span{font-size:11px}
.readonly-pill,.snapshot-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px!important;font-weight:800}.readonly-pill{background:#e6f7ed;color:#145377!important;border:1px solid #bfd9e8}.snapshot-pill{background:#eef4ff;color:#355f9b!important;border:1px solid #ccdaf3}body.dark .readonly-pill{background:rgba(26,91,129,.22);color:#a9d5ef!important;border-color:rgba(99,171,213,.24)}body.dark .snapshot-pill{background:rgba(61,109,178,.22);color:#bfd8ff!important;border-color:rgba(129,169,228,.22)}
.permit-source-form{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(260px,2fr) auto;gap:10px;align-items:end}.permit-source-form label,.permit-data-filter label,.repeat-filter-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800}.permit-source-form input,.permit-data-filter input,.permit-data-filter select,.repeat-filter-form input,.repeat-filter-form select{height:40px;border-radius:10px;padding:0 10px}.permit-sa{font-size:9px;margin-top:9px;direction:ltr;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.permit-sources-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.permit-source-card{background:var(--pi-card-soft);border:1px solid var(--pi-border);border-radius:16px;padding:14px;box-shadow:0 8px 22px rgba(6,39,64,.06)}.permit-source-card.active{border-color:#1b8bd0;box-shadow:0 0 0 3px rgba(27,139,208,.10),0 8px 22px rgba(6,39,64,.07)}.permit-source-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.permit-source-card-head b{display:block;font-size:14px}.permit-source-card-head small{display:block;font-size:9px;margin-top:3px}.source-kind{font-size:8px!important;padding:4px 7px;border-radius:999px;white-space:nowrap}.source-kind.google{background:#e7f8ef;color:#155478!important}.source-kind.xlsx{background:#eef3fb;color:#456080!important}.permit-source-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.permit-source-stats div{padding:8px 4px;background:rgba(255,255,255,.55);border:1px solid var(--pi-border);border-radius:9px;text-align:center}.permit-source-stats strong{display:block;font-size:14px}.permit-source-stats span{font-size:7px!important}.dark .permit-source-stats div{background:rgba(255,255,255,.035)}.permit-source-meta{display:flex;justify-content:space-between;gap:8px;font-size:8px;border-top:1px solid var(--pi-border);padding-top:9px}.permit-source-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.permit-source-actions form{margin:0}
.permit-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}.permit-kpi{min-height:78px;background:var(--pi-card);border:1px solid var(--pi-border);border-radius:14px;padding:12px 13px;backdrop-filter:blur(12px)}.permit-kpi span{display:block;font-size:9px!important}.permit-kpi strong{display:block;font-size:22px;margin-top:7px}.permit-kpi.warning{border-bottom:3px solid #e49b28}.permit-kpi.repeat{border-bottom:3px solid #e24c4c}.permit-kpi.repeat strong{color:#bd2e2e!important}.dark .permit-kpi.repeat strong{color:#ff9b9b!important}
.permit-data-card{padding:15px}.permit-data-filter{display:grid;grid-template-columns:1.1fr 1fr .8fr .8fr auto;gap:9px;align-items:end;margin-bottom:12px}.permit-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--pi-border);border-radius:11px;background:var(--pi-card-soft)}.permit-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:9px}.permit-table th{position:sticky;top:0;z-index:2;background:#e8f2f8!important;padding:9px 8px;white-space:nowrap;border-bottom:1px solid var(--pi-border)}body.dark .permit-table th{background:#113b59!important}.permit-table td{padding:8px;white-space:nowrap;border-bottom:1px solid var(--pi-border);background:rgba(255,255,255,.66)}body.dark .permit-table td{background:rgba(8,33,52,.82)}.permit-table tr:hover td{background:rgba(31,140,207,.08)}.permit-table tr.coord-fixed td{box-shadow:inset 0 -2px 0 rgba(224,154,44,.35)}.permit-table tr.coord-missing td{opacity:.72}.map-mini-link{display:inline-flex;padding:4px 7px;border-radius:7px;background:#e8f4fb;color:#116595!important;text-decoration:none;font-weight:800}.dark .map-mini-link{background:rgba(40,136,194,.18);color:#a8dcfb!important}.bad-coord{font-size:8px!important;color:#b45555!important}.empty-cell{text-align:center!important;padding:30px!important;color:var(--pi-muted)!important}.permit-pager{margin-top:10px}
.repeat-filter-card{padding:15px;margin-bottom:12px}.repeat-filter-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.repeat-filter-actions{grid-column:1/-1;display:flex;gap:8px}.repeat-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.repeat-report-actions{display:flex;gap:8px;margin:0 0 12px}.repeat-map-card,.repeat-results-card{padding:14px;margin-bottom:14px}.repeat-sites-map{height:520px;border-radius:13px;overflow:hidden;border:1px solid var(--pi-border);background:#dfe8ed}.repeat-pin-wrap{background:transparent;border:0}.repeat-pin{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e94f4f;color:#fff;font-size:13px;font-weight:900;border:4px solid rgba(255,255,255,.92);box-shadow:0 3px 13px rgba(104,19,19,.35)}.repeat-pin.high{background:#d83636}.repeat-pin.severe{background:#9f1e1e;transform:scale(1.08)}.repeat-popup{min-width:180px;display:flex;flex-direction:column;gap:3px;font-family:Tahoma,Arial}.repeat-popup span,.repeat-popup small{font-size:10px;color:#64788a}.repeat-popup strong{color:#bd2929}.repeat-popup a{margin-top:5px;color:#0b6e99;font-weight:800}
.repeat-groups{display:grid;gap:10px}.repeat-group{background:var(--pi-card-soft);border:1px solid var(--pi-border);border-radius:14px;overflow:hidden}.repeat-group-head{display:flex;align-items:center;gap:10px;padding:12px}.repeat-group-head>div:nth-child(2){flex:1}.repeat-group-head b{display:block;font-size:13px}.repeat-group-head small{font-size:9px}.repeat-count{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#e34444;color:#fff!important;font-size:15px;font-weight:900;box-shadow:0 6px 13px rgba(190,46,46,.16)}.repeat-summary-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--pi-border);border-bottom:1px solid var(--pi-border)}.repeat-summary-grid div{padding:8px 10px;border-left:1px solid var(--pi-border);min-width:0}.repeat-summary-grid span{display:block;font-size:7px!important}.repeat-summary-grid b{display:block;margin-top:4px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repeat-group details summary{cursor:pointer;padding:9px 12px;font-size:9px;font-weight:800;color:var(--pi-text)}.repeat-detail-table{font-size:8px}.repeat-empty{display:flex;flex-direction:column;align-items:center;gap:5px;padding:38px;border:1px dashed var(--pi-border);border-radius:12px}.repeat-empty b{font-size:15px}.repeat-empty span{font-size:9px!important}
@media(max-width:1250px){.permit-sources-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permit-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.repeat-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.permit-source-zone{grid-template-columns:1fr}.permit-source-form,.permit-data-filter,.repeat-filter-form{grid-template-columns:1fr 1fr}.permit-source-form .permit-url-input{grid-column:auto}.repeat-summary-grid{grid-template-columns:repeat(3,1fr)}.repeat-sites-map{height:420px}}
@media(max-width:620px){.permit-sources-grid,.permit-kpis,.repeat-kpis{grid-template-columns:1fr 1fr}.permit-source-form,.permit-data-filter,.repeat-filter-form{grid-template-columns:1fr}.repeat-filter-actions{grid-column:auto}.repeat-summary-grid{grid-template-columns:1fr 1fr}.repeat-group-head{align-items:flex-start;flex-wrap:wrap}.repeat-group-head .repeat-focus{margin-right:auto}.repeat-sites-map{height:360px}}

/* V31 — three-source permit intelligence */
.permit-kind-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}.permit-kind-card{display:flex;flex-direction:column;gap:3px;min-height:84px;padding:12px 14px;border:1px solid var(--pi-border);border-radius:14px;background:var(--pi-card);text-decoration:none;backdrop-filter:blur(12px);transition:.18s ease}.permit-kind-card:hover,.permit-kind-card.active{transform:translateY(-2px);border-color:#1d8bc6;box-shadow:0 8px 22px rgba(9,76,112,.12)}.permit-kind-card span{font-size:10px!important;font-weight:800}.permit-kind-card strong{font-size:21px}.permit-kind-card small{font-size:8px!important}.permit-kind-card.general{border-bottom:3px solid #7c5ce0}.permit-kind-card.contractor{border-bottom:3px solid #1989c9}.permit-kind-card.balady{border-bottom:3px solid #2272a0}.permit-match-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0!important;margin-bottom:12px;overflow:hidden}.permit-match-strip>div{padding:10px 13px;border-left:1px solid var(--pi-border)}.permit-match-strip>div:last-child{border-left:0}.permit-match-strip span,.permit-match-strip b{display:block}.permit-match-strip span{font-size:7px!important}.permit-match-strip b{font-size:9px;margin:2px 0}.permit-match-strip strong{font-size:18px;color:#116f9f!important}.data-kind-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:8px!important;font-weight:800;white-space:nowrap}.data-kind-badge.general{background:#eee9ff;color:#6042bd!important}.data-kind-badge.contractor{background:#e4f4fd;color:#146a9b!important}.data-kind-badge.balady{background:#e4f8ef;color:#175579!important}body.dark .data-kind-badge.general{background:rgba(124,92,224,.18);color:#c8baff!important}body.dark .data-kind-badge.contractor{background:rgba(25,137,201,.18);color:#a6ddfb!important}body.dark .data-kind-badge.balady{background:rgba(34,114,160,.18);color:#a8d2eb!important}.source-badges{display:flex;gap:5px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}.permit-source-card.kind-general{border-top:3px solid #7c5ce0}.permit-source-card.kind-contractor{border-top:3px solid #1989c9}.permit-source-card.kind-balady{border-top:3px solid #2272a0}.permit-source-form-v31{grid-template-columns:minmax(130px,.65fr) minmax(150px,.8fr) minmax(220px,1.7fr) auto}.permit-source-form-v31 select{height:40px;border-radius:10px;padding:0 10px}.permit-data-filter-v31{grid-template-columns:.8fr 1.2fr 1fr .8fr .8fr auto}.repeat-filter-v31{grid-template-columns:repeat(5,minmax(0,1fr))}.repeat-source-note{margin-top:10px;padding:8px 10px;border-radius:9px;background:rgba(31,139,201,.08);border:1px solid var(--pi-border);font-size:9px;color:var(--pi-muted)}.repeat-source-note b{color:var(--pi-text)!important}.repeat-summary-v31{grid-template-columns:repeat(8,1fr)}
@media(max-width:1250px){.permit-kind-strip{grid-template-columns:repeat(2,1fr)}.permit-match-strip{grid-template-columns:repeat(2,1fr)}.repeat-filter-v31{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.permit-source-form-v31,.permit-data-filter-v31,.repeat-filter-v31{grid-template-columns:1fr 1fr}.repeat-summary-v31{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.permit-kind-strip,.permit-match-strip,.permit-source-form-v31,.permit-data-filter-v31,.repeat-filter-v31{grid-template-columns:1fr}.repeat-summary-v31{grid-template-columns:1fr 1fr}}
.source-kind.excel{background:#eef3fb;color:#456080!important}body.dark .source-kind.excel{background:rgba(100,130,160,.16);color:#c5d7e8!important}
.permit-data-filter-v31{grid-template-columns:.72fr 1.1fr .9fr .72fr .72fr 1.3fr auto}.permit-search-wide input{min-width:180px}
@media(max-width:1100px){.permit-data-filter-v31{grid-template-columns:repeat(3,1fr)}}

/* V32 — flexible source-to-source permit match engine */
.permit-match-engine{padding:14px!important;margin-bottom:14px}.permit-match-engine .match-head{margin-bottom:10px}.match-head>div:first-child{display:flex;flex-direction:column;gap:2px}.match-head-actions{display:flex;gap:7px;flex-wrap:wrap}.match-source-grid{display:grid;grid-template-columns:1fr .72fr 1fr;gap:10px;align-items:end}.match-source-grid label,.match-rule-row label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800}.match-source-grid select,.match-rule-row select{height:40px;border-radius:10px;padding:0 10px}.match-mode-note{margin:9px 0;padding:8px 10px;border-radius:9px;background:rgba(31,139,201,.08);border:1px solid var(--pi-border);color:var(--pi-muted);font-size:9px}.match-rules{display:flex;flex-direction:column;gap:8px}.match-rule-row{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) 34px;gap:8px;align-items:end;padding:9px;border:1px solid var(--pi-border);border-radius:12px;background:rgba(255,255,255,.35)}body.dark .match-rule-row{background:rgba(255,255,255,.025)}.match-arrow{height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;color:#1889c7}.match-rule-remove{height:40px;width:34px;border:1px solid rgba(221,71,71,.35);border-radius:9px;background:rgba(255,84,84,.08);color:#d53b3b;font-size:19px;font-weight:900;cursor:pointer}.match-rule-remove:hover{background:rgba(255,84,84,.16)}.match-result-wrap{margin-top:12px}.match-result-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.match-result-kpis>div{padding:10px;border:1px solid var(--pi-border);border-radius:11px;background:var(--pi-card-soft);min-height:73px}.match-result-kpis span,.match-result-kpis small{display:block;font-size:8px!important}.match-result-kpis strong{display:block;font-size:19px;margin:3px 0;color:#126e9f!important}.match-result-kpis .warning strong{color:#c84a3f!important}.match-methods{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.match-methods span{padding:6px 9px;border-radius:999px;background:rgba(20,125,180,.08);border:1px solid var(--pi-border);font-size:8px!important}.match-methods b{font-size:8px}.match-preview-table-wrap{max-height:280px;overflow:auto;border:1px solid var(--pi-border);border-radius:11px}.match-preview-table{min-width:1000px;margin:0}.match-preview-table .mono{direction:ltr;text-align:center;font-family:Consolas,monospace}.permit-match-engine optgroup{font-weight:800}
@media(max-width:1200px){.match-result-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.match-source-grid{grid-template-columns:1fr}.match-rule-row{grid-template-columns:1fr 34px}.match-arrow{display:none}.match-rule-remove{grid-column:2;grid-row:1 / span 2;align-self:center}.match-result-kpis{grid-template-columns:1fr 1fr}.match-head{align-items:flex-start;flex-direction:column}.match-head-actions{width:100%}}

/* V33 — true repeat logic, lean report actions and map/detail navigation */
.repeat-kpis-v33{grid-template-columns:repeat(6,minmax(0,1fr))}.repeat-group{scroll-margin-top:100px;transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}.repeat-group-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.repeat-group.repeat-group-selected{background:rgba(202,235,251,.72)!important;border-color:rgba(23,133,190,.62)!important;box-shadow:0 0 0 3px rgba(34,145,201,.12),0 8px 24px rgba(22,87,122,.10);transform:translateY(-1px)}body.dark .repeat-group.repeat-group-selected{background:rgba(18,65,92,.82)!important;border-color:rgba(100,195,239,.62)!important;box-shadow:0 0 0 3px rgba(84,181,225,.10),0 8px 24px rgba(0,0,0,.18)}.repeat-popup-details{margin-top:6px;border:0;border-radius:7px;background:#0b6e99;color:#fff;padding:6px 9px;font:800 10px Tahoma,Arial;cursor:pointer}.repeat-popup-details:hover{background:#07597d}.repeat-source-note b{font-weight:900}.repeat-map-card .leaflet-control-layers{font-family:Tahoma,Arial;font-size:11px}.repeat-map-card .leaflet-popup-content{margin:10px 12px}.repeat-report-actions{align-items:center;flex-wrap:wrap}
@media(max-width:1250px){.repeat-kpis-v33{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.repeat-kpis-v33{grid-template-columns:1fr 1fr}.repeat-group-actions{width:100%;justify-content:flex-end}}

/* V34 — background repeat-analysis progress */
.repeat-progress-card{padding:14px 16px;margin:10px 0;border:1px solid color-mix(in srgb,#1680c7 36%,var(--theme-border-soft));background:color-mix(in srgb,var(--theme-panel) 92%,#eaf6ff);box-shadow:0 8px 24px rgba(11,74,116,.08)}
.repeat-progress-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.repeat-progress-head>div{display:grid;gap:4px}.repeat-progress-head b{font-size:13px;color:var(--theme-text)}.repeat-progress-head span{font-size:10px;color:var(--theme-text-2)}.repeat-progress-head strong{font-size:20px;color:#0b69a6;direction:ltr}
.repeat-progress-track{height:10px;border-radius:999px;background:color-mix(in srgb,var(--theme-text) 10%,transparent);overflow:hidden;margin:11px 0 9px}.repeat-progress-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#0d69aa,#20a7df);transition:width .3s ease}
.repeat-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;color:var(--theme-text-3)}
.repeat-ready-card{padding:18px;margin-top:10px;display:flex;gap:8px;align-items:center;justify-content:center;text-align:center;background:color-mix(in srgb,var(--theme-panel) 94%,#edf7ff);border:1px dashed color-mix(in srgb,#1680c7 35%,var(--theme-border-soft));color:var(--theme-text-2)}.repeat-ready-card b{color:var(--theme-text)}
body.theme-dark .repeat-progress-card,html[data-theme="dark"] .repeat-progress-card{background:rgba(8,35,57,.92)}
@media(max-width:700px){.repeat-progress-head,.repeat-progress-meta{align-items:flex-start;flex-direction:column}.repeat-progress-head strong{align-self:flex-end}}

/* V36 — date-range live map + DMA report */
.map-range-filters{grid-template-columns:repeat(5,minmax(150px,1fr));align-items:end}
.dma-date-summary{margin:10px 0 12px;padding:12px 14px;border:1px solid rgba(110,159,190,.32);border-radius:14px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px)}
.dma-date-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#173a54}.dma-date-summary-head span{font-size:12px;color:#6a8193}
.dma-date-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.dma-date-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #d6e5ee;border-radius:10px;background:#f8fbfd}.dma-date-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#37566d}.dma-date-item strong{min-width:34px;text-align:center;border-radius:999px;background:#e3f3fb;color:#0b6792;padding:3px 7px}
body.dark .dma-date-summary{background:rgba(8,28,47,.88);border-color:rgba(255,255,255,.12)}body.dark .dma-date-summary-head{color:#f5fbff}body.dark .dma-date-summary-head span{color:#afc1d0}body.dark .dma-date-item{background:#10283f;border-color:rgba(255,255,255,.12)}body.dark .dma-date-item span{color:#eef8ff}body.dark .dma-date-item strong{background:#153c59;color:#8bd4ff}
@media(max-width:1100px){.map-range-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
\n\n/* V36.5 — search around a site by permit / notification / CCB */\n.map-nearby-form{grid-template-columns:minmax(240px,1.55fr) 34px minmax(240px,1.55fr) minmax(125px,.8fr) minmax(125px,.8fr) minmax(125px,.8fr) minmax(105px,.65fr) minmax(105px,.6fr) auto}\n.nearby-or{height:39px;display:grid;place-items:center;align-self:end;color:#6e8294;font-size:11px;font-weight:900;background:#eef4f8;border:1px solid #d6e1e9;border-radius:999px}\n.identifier-match-list{margin-top:9px;border:1px solid #cddde9;border-radius:10px;background:rgba(248,252,255,.96);padding:9px;display:grid;gap:7px}\n.identifier-match-list[hidden]{display:none!important}\n.identifier-match-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:#49677e;padding:1px 2px 4px}.identifier-match-head strong{color:#123f65;font-size:12px}\n.identifier-match-item{width:100%;border:1px solid #d6e3ec;background:#fff;border-radius:9px;padding:8px 10px;display:grid;grid-template-columns:minmax(120px,.7fr) minmax(145px,1fr) minmax(145px,1fr) minmax(110px,.8fr) minmax(120px,.8fr) auto;gap:8px;align-items:center;text-align:right;color:#183b55;font-family:inherit;cursor:pointer}.identifier-match-item:hover{background:#f1f8fc;border-color:#8dbbd7;box-shadow:0 3px 12px rgba(18,63,101,.08)}\n.identifier-match-item span{font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identifier-match-item b{font-size:10px;color:#0a5f99}.identifier-match-item .choose{background:#0d6ead;color:#fff;border-radius:7px;padding:6px 9px;font-weight:800;text-align:center}\nbody.dark .nearby-or{background:#10283b;border-color:#35536b;color:#a8bdcd}body.dark .identifier-match-list{background:rgba(9,30,47,.96);border-color:#35536b}body.dark .identifier-match-head{color:#9eb3c4}body.dark .identifier-match-head strong{color:#e8f4ff}body.dark .identifier-match-item{background:#0c2234;border-color:#35536b;color:#e5eef5}body.dark .identifier-match-item:hover{background:#14334b;border-color:#4f7895}body.dark .identifier-match-item b{color:#83c8f4}\n@media(max-width:1450px){.map-nearby-form{grid-template-columns:1.5fr 34px 1.5fr 1fr 1fr 1fr}.map-nearby-actions{grid-column:1/-1}.identifier-match-item{grid-template-columns:repeat(3,minmax(0,1fr)) auto}}\n@media(max-width:760px){.map-nearby-form{grid-template-columns:1fr 1fr}.nearby-url-field,.nearby-id-field,.map-nearby-actions{grid-column:1/-1}.nearby-or{grid-column:1/-1;width:34px;justify-self:center}.identifier-match-item{grid-template-columns:1fr 1fr}.identifier-match-item .choose{grid-column:1/-1}}\n
/* V37 - separate professional management reports path */
.smart-reports-title{margin-bottom:12px}.smart-report-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.smart-report-catalog{display:flex;flex-direction:column;gap:8px;position:sticky;top:78px}.smart-report-card{display:grid;grid-template-columns:40px 1fr;gap:9px;align-items:start;text-decoration:none;color:var(--text,#17344b);background:rgba(255,255,255,.86);border:1px solid rgba(163,190,208,.65);border-radius:12px;padding:10px;transition:.18s ease}.smart-report-card:hover{transform:translateY(-1px);border-color:#2388bd}.smart-report-card.active{border-color:#177fb4;box-shadow:0 0 0 2px rgba(23,127,180,.12);background:rgba(239,249,255,.94)}.smart-report-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#e8f5fb;font-size:19px}.smart-report-card b{display:block;font-size:13px;margin:1px 0 4px}.smart-report-card small{display:block;color:#6c8393;line-height:1.5;font-size:10px}.smart-report-main{min-width:0}.smart-report-filter{display:grid;grid-template-columns:1fr 1fr 1.1fr auto;gap:8px;align-items:end;background:rgba(255,255,255,.9);border:1px solid rgba(171,196,212,.65);padding:10px;border-radius:12px;margin-bottom:8px}.smart-report-filter label span{display:block;font-size:11px;font-weight:700;margin-bottom:5px}.smart-report-filter input,.smart-report-filter select{width:100%;height:38px}.smart-report-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;background:rgba(255,255,255,.9);border:1px solid rgba(171,196,212,.65);padding:8px 10px;border-radius:12px 12px 0 0}.smart-report-actions>div:last-child{display:flex;gap:6px}.smart-report-frame-wrap{height:720px;border:1px solid rgba(171,196,212,.65);border-top:0;border-radius:0 0 12px 12px;overflow:hidden;background:#fff}.smart-report-frame{width:100%;height:100%;border:0;background:#fff}
body.dark .smart-report-card,body.dark .smart-report-filter,body.dark .smart-report-actions{background:rgba(9,38,58,.92);color:#eef8ff;border-color:rgba(112,157,183,.42)}body.dark .smart-report-card b,body.dark .smart-report-filter label span,body.dark .smart-report-actions b{color:#eef8ff!important}body.dark .smart-report-card small{color:#b4c9d7!important}body.dark .smart-report-card.active{background:rgba(12,61,90,.96);border-color:#3aa5d7;box-shadow:0 0 0 2px rgba(58,165,215,.14)}body.dark .smart-report-card:hover{background:rgba(13,50,74,.96);border-color:#3aa5d7;color:#eef8ff!important}body.dark .smart-report-icon{background:rgba(42,128,178,.22)}body.dark .smart-report-filter input,body.dark .smart-report-filter select{background:#0b1d2d;border-color:#315069;color:#e7f0f8}body.dark .smart-report-frame-wrap{background:#0b2033;border-color:rgba(112,157,183,.42)}
@media(max-width:1100px){.smart-report-layout{grid-template-columns:1fr}.smart-report-catalog{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.smart-report-filter{grid-template-columns:1fr 1fr}.smart-report-frame-wrap{height:650px}}

/* ===== V38.2 — unified smart-report filters + Arabic calendar ===== */
.smart-report-filter{
  grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(210px,1.12fr) auto!important;
  gap:10px!important;
  align-items:end!important;
  padding:12px!important;
  background:var(--cin-card,rgba(255,255,255,.86))!important;
  border:1px solid rgba(137,176,203,.30)!important;
  border-radius:12px!important;
  box-shadow:0 7px 18px rgba(8,52,82,.05)!important;
  overflow:visible!important;
}
.smart-report-filter .smart-filter-field{display:grid!important;gap:6px!important;margin:0!important;min-width:0!important}
.smart-report-filter .smart-filter-label{display:block!important;margin:0!important;font-size:11px!important;font-weight:750!important;color:var(--theme-text-2,#38536a)!important;line-height:1.25!important}
.smart-report-filter .vd-date-control,
.smart-report-filter .smart-select-wrap select{
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  border:1px solid rgba(37,88,126,.20)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.90)!important;
  color:#17354f!important;
  font:600 12px "Segoe UI",Tahoma,Arial,sans-serif!important;
  box-shadow:none!important;
  outline:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.smart-report-filter .vd-date-control{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:0 11px!important;cursor:pointer!important;text-align:right!important}
.smart-report-filter .vd-date-control:hover,
.smart-report-filter .smart-select-wrap select:hover{border-color:rgba(55,135,185,.46)!important;background:#fff!important;transform:none!important}
.smart-report-filter .vd-date-control:focus-visible,
.smart-report-filter .vd-date-control.is-open,
.smart-report-filter .smart-select-wrap select:focus{
  border-color:#4b9bce!important;
  box-shadow:0 0 0 4px rgba(75,155,206,.11)!important;
  background:#fff!important;
}
.vd-date-text{direction:ltr;unicode-bidi:plaintext;white-space:nowrap}
.vd-date-icon{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;flex:0 0 24px;background:rgba(24,112,169,.08);color:#176eaa;font-size:11px;font-weight:900}
.smart-select-wrap{display:block;position:relative;min-width:0}
.smart-report-filter .smart-select-wrap select{appearance:none!important;-webkit-appearance:none!important;padding:0 34px 0 11px!important;cursor:pointer!important}
.smart-select-arrow{position:absolute;right:11px;top:50%;transform:translateY(-53%);pointer-events:none;color:#557086;font-size:15px;font-weight:900;line-height:1}
.smart-report-submit{height:40px!important;min-height:40px!important;padding-inline:17px!important;white-space:nowrap!important;border-radius:10px!important}

/* Shared calendar is appended to body so it never gets clipped by cards/iframes. */
.vd-calendar-popover{position:fixed;z-index:5000;width:300px;max-width:calc(100vw - 20px);padding:12px;border:1px solid rgba(128,166,192,.34);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 20px 55px rgba(5,37,60,.22);backdrop-filter:blur(16px);color:#17364e;font-family:"Segoe UI",Tahoma,Arial,sans-serif;direction:rtl;transform-origin:top center;animation:vdCalIn .14s ease-out}
@keyframes vdCalIn{from{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.vd-calendar-popover[hidden]{display:none!important}
.vd-calendar-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:7px;margin-bottom:10px}
.vd-calendar-nav{width:34px;height:34px;border:1px solid rgba(82,132,166,.20);border-radius:9px;background:#f6fafc;color:#1c5f8b;font-size:17px;cursor:pointer;display:grid;place-items:center;padding:0}
.vd-calendar-nav:hover{background:#eaf5fb;border-color:rgba(42,137,193,.34)}
.vd-calendar-title{text-align:center;font-size:13px;font-weight:800;color:#183d58}
.vd-calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:5px;color:#7890a1;font-size:9px;font-weight:800;text-align:center}
.vd-calendar-week span{padding:4px 0}
.vd-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;direction:rtl}
.vd-calendar-day{height:34px;border:1px solid transparent;border-radius:9px;background:transparent;color:#24445c;font:700 11px "Segoe UI",Tahoma,Arial,sans-serif;cursor:pointer;display:grid;place-items:center;padding:0}
.vd-calendar-day:hover{background:#edf7fc;color:#0d679d;border-color:#cce6f4}
.vd-calendar-day.is-outside{color:#afbdc8;font-weight:550}
.vd-calendar-day.is-today{border-color:#56a7d4;color:#0c6d9f;background:#f2faff}
.vd-calendar-day.is-selected{background:linear-gradient(135deg,#0b669f,#1289cb)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 5px 12px rgba(9,105,162,.20)}
.vd-calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(113,151,176,.18)}
.vd-calendar-foot button{border:1px solid rgba(71,130,168,.20);border-radius:8px;background:#f6fafc;color:#225c82;font:700 10px Tahoma,Arial,sans-serif;padding:7px 10px;cursor:pointer}
.vd-calendar-foot button:hover{background:#eaf5fb}
.vd-calendar-foot .vd-cal-today{background:#eaf6fc;color:#0b6a9f}

body.dark .smart-report-filter{background:rgba(9,38,58,.92)!important;border-color:rgba(112,157,183,.42)!important;box-shadow:none!important}
body.dark .smart-report-filter .smart-filter-label{color:#c2d4e1!important}
body.dark .smart-report-filter .vd-date-control,
body.dark .smart-report-filter .smart-select-wrap select{background:rgba(14,45,68,.90)!important;border-color:rgba(151,194,221,.20)!important;color:#edf7ff!important;-webkit-text-fill-color:#edf7ff!important}
body.dark .smart-report-filter .vd-date-control:hover,
body.dark .smart-report-filter .smart-select-wrap select:hover{background:rgba(18,55,81,.96)!important;border-color:rgba(125,190,230,.40)!important}
body.dark .smart-report-filter .vd-date-control:focus-visible,
body.dark .smart-report-filter .vd-date-control.is-open,
body.dark .smart-report-filter .smart-select-wrap select:focus{background:#123953!important;border-color:#63b3df!important;box-shadow:0 0 0 4px rgba(85,174,224,.12)!important}
body.dark .vd-date-icon{background:rgba(72,161,212,.16);color:#a6dcfb}
body.dark .smart-select-arrow{color:#b4c9d7}
body.dark .vd-calendar-popover{background:rgba(8,30,48,.985);border-color:rgba(149,194,220,.22);box-shadow:0 22px 60px rgba(0,0,0,.42);color:#eaf5fc}
body.dark .vd-calendar-title{color:#eef8ff}
body.dark .vd-calendar-week{color:#91a9bb}
body.dark .vd-calendar-nav,body.dark .vd-calendar-foot button{background:#102c43;border-color:#31536d;color:#cbe7f8}
body.dark .vd-calendar-nav:hover,body.dark .vd-calendar-foot button:hover{background:#173b58;border-color:#477493}
body.dark .vd-calendar-day{color:#dbeaf4}
body.dark .vd-calendar-day.is-outside{color:#607d91}
body.dark .vd-calendar-day:hover{background:#173b58;color:#fff;border-color:#386987}
body.dark .vd-calendar-day.is-today{background:#133954;border-color:#55a7d6;color:#a9defb}
body.dark .vd-calendar-foot{border-top-color:rgba(157,198,222,.13)}
body.dark .vd-calendar-foot .vd-cal-today{background:#153b56;color:#a7ddfa}

@media(max-width:1100px){
  .smart-report-filter{grid-template-columns:1fr 1fr!important}
  .smart-report-submit{width:100%!important}
}
@media(max-width:650px){
  .smart-report-filter{grid-template-columns:1fr!important}
  .vd-calendar-popover{width:min(300px,calc(100vw - 16px))}
}


/* V38.3 — Center reports inside Smart Reports, using the same visual language. */
.smart-catalog-group-title{font-size:10px;font-weight:900;color:var(--theme-text-3,#70869a);padding:8px 7px 3px;margin-top:3px;border-bottom:1px solid rgba(138,174,198,.28)}
.smart-catalog-group-title:first-child{margin-top:0}.smart-center-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.smart-center-kpis .kpi .v.small-value{font-size:11px;line-height:1.45;word-break:break-word}.smart-wide-table-wrap{overflow:auto;max-width:100%;border-radius:10px}.smart-wide-table-wrap table{min-width:900px}.smart-report-catalog{max-height:calc(100vh - 92px);overflow:auto;padding-inline-end:3px;scrollbar-width:thin}.smart-report-catalog::-webkit-scrollbar{width:7px}.smart-report-catalog::-webkit-scrollbar-thumb{background:rgba(76,112,137,.48);border-radius:999px}body.dark .smart-catalog-group-title{color:#a9bfd0;border-bottom-color:rgba(140,181,207,.20)}body.dark .smart-report-catalog::-webkit-scrollbar-thumb{background:rgba(143,184,210,.35)}

/* V38.6 — selectable data source + worksheet for the Mainline / Feeder report */
.smart-report-filter.with-source-filter{grid-template-columns:minmax(150px,.9fr) minmax(150px,.9fr) minmax(190px,1fr) minmax(230px,1.25fr) minmax(190px,1fr) auto!important}
.smart-source-summary{display:block;margin-top:4px;font-size:9px;font-weight:600;color:var(--theme-text-3,#7890a2);line-height:1.4}
body.dark .smart-source-summary{color:#a8bfd0!important}
.report-filter-v08.report-filter-with-source{grid-template-columns:minmax(230px,1.45fr) minmax(145px,.8fr) minmax(145px,.8fr) minmax(180px,.9fr) minmax(230px,1.2fr) minmax(190px,1fr) 140px!important}
@media(max-width:1450px){
 .smart-report-filter.with-source-filter{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .smart-report-filter.with-source-filter .smart-report-submit{grid-column:1/-1;width:170px;justify-self:end}
 .report-filter-v08.report-filter-with-source{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .report-filter-v08.report-filter-with-source .report-generate{grid-column:1/-1}
}
@media(max-width:900px){
 .smart-report-filter.with-source-filter,.report-filter-v08.report-filter-with-source{grid-template-columns:1fr 1fr!important}
}
@media(max-width:650px){
 .smart-report-filter.with-source-filter,.report-filter-v08.report-filter-with-source{grid-template-columns:1fr!important}
}

/* =========================================================
   V38.9 — project finance + dark dialog readability
   ========================================================= */
.finance-page-title{margin-bottom:14px}.finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.finance-kpi{background:var(--theme-panel);border:1px solid var(--theme-border);border-radius:10px;padding:13px 14px;box-shadow:var(--theme-shadow);min-width:0;position:relative;overflow:hidden}.finance-kpi:after{content:"";position:absolute;right:0;left:0;bottom:0;height:3px;background:#2b6f9f}.finance-kpi.good:after{background:#196794}.finance-kpi.warning:after{background:#d88a19}.finance-kpi.danger:after,.finance-kpi.danger-soft:after{background:#d94b4b}.finance-kpi.accent:after{background:#6d5fd0}.finance-kpi.remaining:after{background:#1785b7}.finance-kpi span,.finance-kpi strong,.finance-kpi i{display:block}.finance-kpi span{font-size:10px;font-weight:700;color:var(--theme-text-2)}.finance-kpi strong{font-size:18px;margin-top:7px;color:var(--theme-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-kpi strong small{font-size:9px;font-weight:600;color:var(--theme-text-3)}.finance-kpi i{font-style:normal;font-size:8px;color:var(--theme-text-3);margin-top:4px}.finance-progress-card,.finance-card{background:var(--theme-panel);border:1px solid var(--theme-border);border-radius:10px;box-shadow:var(--theme-shadow);color:var(--theme-text)}.finance-progress-card{padding:14px 16px;margin-bottom:12px}.finance-progress-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.finance-progress-head b,.finance-progress-head span{display:block}.finance-progress-head b{font-size:13px}.finance-progress-head span{font-size:9px;color:var(--theme-text-3);margin-top:3px}.finance-progress-head strong{font-size:20px;color:#1a7bab}.finance-progress{height:9px;border-radius:999px;background:var(--theme-panel-soft);border:1px solid var(--theme-border-soft);overflow:hidden;margin:11px 0 8px}.finance-progress i{display:block;height:100%;background:linear-gradient(90deg,#1783b6,#1c70a0);border-radius:999px}.finance-progress-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:9px;color:var(--theme-text-2)}.finance-progress-meta b{color:var(--theme-text)}.finance-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px;margin-bottom:12px}.finance-card{padding:0;overflow:hidden}.finance-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--theme-border-soft);background:var(--theme-panel-soft)}.finance-card-head h2{margin:0;font-size:14px;color:var(--theme-text)}.finance-card-head p{margin:3px 0 0;font-size:9px;color:var(--theme-text-3)}.finance-count{font-size:9px;color:var(--theme-text-2);border:1px solid var(--theme-border);padding:5px 8px;border-radius:999px;background:var(--theme-panel)}.finance-form{padding:14px 15px}.finance-form.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.finance-form label,.finance-inline-edit label{display:grid;gap:5px;font-size:10px;font-weight:700;color:var(--theme-text-2)}.finance-form input,.finance-form select,.finance-form textarea,.finance-inline-edit input,.finance-inline-edit select{width:100%;min-height:38px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-input);color:var(--theme-input-text);padding:8px 10px;font-family:inherit;outline:none}.finance-form textarea{min-height:70px;resize:vertical}.finance-form input:focus,.finance-form select:focus,.finance-form textarea:focus,.finance-inline-edit input:focus,.finance-inline-edit select:focus{border-color:#3c8ec2;box-shadow:0 0 0 3px rgba(60,142,194,.12)}.finance-form-actions{display:flex;justify-content:flex-start;padding-top:2px}.finance-ledger-card{margin-bottom:18px}.finance-table-wrap{overflow:auto}.finance-table{width:100%;min-width:1050px;border-collapse:collapse;font-size:9px}.finance-table th{background:#155d86;color:#fff;padding:9px 8px;text-align:center;white-space:nowrap}.finance-table td{padding:8px;border-bottom:1px solid var(--theme-border-soft);text-align:center;color:var(--theme-text-2)}.finance-table td.text-cell{text-align:right;min-width:180px}.finance-table tbody tr:hover:not(.finance-edit-row) td{background:var(--theme-table-hover)}.finance-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:800;white-space:nowrap}.finance-status.paid{background:#e6f2f9;color:#16557a}.finance-status.invoiced{background:#fff2dc;color:#9a5d0b}.finance-status.due{background:#fde8e8;color:#ae3333}.finance-row-actions{display:flex;gap:5px;justify-content:center}.finance-row-actions form{margin:0}.finance-edit-toggle,.finance-delete{border:1px solid var(--theme-border);border-radius:5px;background:var(--theme-panel);color:var(--theme-link);padding:5px 7px;font:inherit;font-size:8px;cursor:pointer}.finance-delete{color:#b83a3a;border-color:color-mix(in srgb,#d94b4b 35%,var(--theme-border))}.finance-edit-row td{background:var(--theme-panel-soft)!important;padding:10px 12px}.finance-inline-edit{display:grid;grid-template-columns:.6fr 1.2fr .75fr 1fr .8fr .85fr .85fr 1.2fr auto;gap:7px;align-items:end}.finance-inline-edit .btn{min-height:38px;padding:7px 10px;font-size:9px;white-space:nowrap}.finance-empty{text-align:center;padding:38px 20px;color:var(--theme-text-3)}.finance-empty span,.finance-empty b,.finance-empty small{display:block}.finance-empty span{font-size:34px}.finance-empty b{color:var(--theme-text);font-size:13px;margin:7px 0 4px}.finance-empty small{font-size:9px}.span-2{grid-column:1/-1}

/* Portfolio finance widgets follow the active theme. */
.cinematic-portfolio-body .project-finance-mini span{background:var(--theme-panel-soft)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important}.cinematic-portfolio-body .project-finance-mini b,.cinematic-portfolio-body .project-contract-note b{color:var(--theme-text)!important}.cinematic-portfolio-body .project-finance-mini small,.cinematic-portfolio-body .project-contract-note{color:var(--theme-text-3)!important}.cinematic-portfolio-body .project-finance{background:color-mix(in srgb,#1b6b9a 9%,var(--theme-panel))!important;border-color:color-mix(in srgb,#1b6b9a 30%,var(--theme-border))!important;color:#195c83!important}
body.dark.cinematic-portfolio-body .project-finance{color:#8bc1e0!important;background:rgba(21,53,72,.55)!important;border-color:rgba(75,134,168,.35)!important}

/* Fix the portfolio dialogs that were still forced to a light glass surface in dark mode. */
body.dark.cinematic-portfolio-body .user-dialog{background:#0b2235!important;color:#eef7ff!important;color-scheme:dark}
body.dark.cinematic-portfolio-body .user-dialog .dialog-head,body.dark.cinematic-portfolio-body .user-dialog .dialog-body,body.dark.cinematic-portfolio-body .user-dialog .dialog-actions{background:#0d263a!important;color:#eef7ff!important;border-color:#29485f!important}
body.dark.cinematic-portfolio-body .user-dialog .dialog-head h2,body.dark.cinematic-portfolio-body .user-dialog .simple-form-grid label,body.dark.cinematic-portfolio-body .user-dialog .finance-modal-section h3,body.dark.cinematic-portfolio-body .user-dialog .otp-area label{color:#eef7ff!important}
body.dark.cinematic-portfolio-body .user-dialog .dialog-head p,body.dark.cinematic-portfolio-body .user-dialog .inline-client-feedback{color:#a9bfd1!important}
body.dark.cinematic-portfolio-body .user-dialog input,body.dark.cinematic-portfolio-body .user-dialog select,body.dark.cinematic-portfolio-body .user-dialog textarea{background:#102d44!important;color:#f2f8fd!important;border-color:#3a5b72!important;caret-color:#fff!important}
body.dark.cinematic-portfolio-body .user-dialog input::placeholder,body.dark.cinematic-portfolio-body .user-dialog textarea::placeholder{color:#91a9bb!important;opacity:1}
body.dark.cinematic-portfolio-body .user-dialog .inline-client-panel{background:#0a2032!important;border-color:#42647b!important;color:#eef7ff!important}
body.dark.cinematic-portfolio-body .user-dialog .finance-modal-section{border-color:#35546b!important}
body.dark.cinematic-portfolio-body .user-dialog .dialog-close{background:#173a54!important;color:#eaf6ff!important}
body.dark.cinematic-portfolio-body .user-dialog .btn.outline{background:#17364d!important;color:#e4f0f9!important;border-color:#42627a!important}
body.dark.cinematic-portfolio-body .user-dialog option{background:#102d44;color:#f2f8fd}

body.dark .finance-status.paid{background:#122b3a;color:#82bee0}body.dark .finance-status.invoiced{background:#493719;color:#ffd083}body.dark .finance-status.due{background:#47242a;color:#ff9fa9}
@media(max-width:1250px){.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-layout{grid-template-columns:1fr}.finance-inline-edit{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-inline-edit .edit-notes{grid-column:span 2}}
@media(max-width:760px){.finance-kpis{grid-template-columns:1fr}.finance-form.two-col{grid-template-columns:1fr}.finance-form .span-2{grid-column:auto}.finance-inline-edit{grid-template-columns:1fr 1fr}.finance-inline-edit .edit-notes{grid-column:1/-1}.finance-progress-meta{display:grid;gap:4px}.project-card-actions.has-finance{grid-template-columns:1fr 1fr auto}}

/* =========================================================
   V38.10 — quantity/VAT financial report + optional expenses
   ========================================================= */
.finance-report-actions{display:flex;flex-wrap:wrap;gap:7px}.finance-kpis-v3810{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.finance-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.span-all{grid-column:1/-1}.finance-setting-preview{border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-panel-soft);padding:10px 12px;display:flex;flex-direction:column;justify-content:center}.finance-setting-preview span,.finance-setting-preview b,.finance-setting-preview small{display:block}.finance-setting-preview span{font-size:8px;color:var(--theme-text-3)}.finance-setting-preview b{font-size:14px;color:var(--theme-text);margin:3px 0}.finance-setting-preview small{font-size:8px;color:var(--theme-text-3)}.finance-live-total{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:9px;border:1px dashed var(--theme-border);border-radius:8px;background:var(--theme-panel-soft)}.finance-live-total>div{padding:8px 10px;background:var(--theme-panel);border:1px solid var(--theme-border-soft);border-radius:7px}.finance-live-total span,.finance-live-total b{display:block}.finance-live-total span{font-size:8px;color:var(--theme-text-3)}.finance-live-total b{font-size:14px;color:var(--theme-text);margin-top:3px}.finance-cert-table{min-width:1250px}.finance-inline-v3810{grid-template-columns:.65fr .65fr .75fr .55fr 1fr .75fr .8fr .8fr 1.2fr 1.2fr auto}.finance-expenses-card{margin-bottom:18px}.finance-card-head h2 small{font-size:8px;color:var(--theme-text-3);font-weight:600}.finance-expense-form{display:grid;grid-template-columns:.65fr .75fr .9fr 1.2fr .7fr 1.25fr auto;gap:8px;align-items:end}.finance-expense-form .btn{min-height:38px;white-space:nowrap}.finance-expense-table-wrap{border-top:1px solid var(--theme-border-soft)}.expense-inline-edit{grid-template-columns:.7fr .8fr .9fr 1.2fr .7fr 1.2fr auto}.finance-form input[type=date],.finance-form input[type=month],.finance-inline-edit input[type=date],.finance-inline-edit input[type=month]{color-scheme:light}body.dark .finance-form input[type=date],body.dark .finance-form input[type=month],body.dark .finance-inline-edit input[type=date],body.dark .finance-inline-edit input[type=month]{color-scheme:dark}
@media(max-width:1350px){.finance-kpis-v3810{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-expense-form{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-expense-form .btn{grid-column:1/-1;width:max-content}.finance-inline-v3810{grid-template-columns:repeat(4,minmax(0,1fr))}.expense-inline-edit{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.finance-kpis-v3810,.finance-settings-grid,.finance-entry-grid,.finance-expense-form{grid-template-columns:1fr}.finance-live-total{grid-template-columns:1fr}.finance-report-actions{width:100%}.finance-report-actions .btn{flex:1;min-width:120px}.finance-inline-v3810,.expense-inline-edit{grid-template-columns:1fr 1fr}.span-all{grid-column:1/-1}}

/* ======================================================================
   V39 — Dynamic Project Platform
   Modern project workspace + platform studio + command center modules.
   ====================================================================== */
:root{
 --v39-navy:#0c2f4b;--v39-navy-2:#123f60;--v39-blue:#1478bf;--v39-cyan:#1da6cf;
 --v39-green:#1a6c9b;--v39-amber:#d79318;--v39-red:#d84a55;--v39-purple:#7b55d9;
 --v39-bg:#edf3f7;--v39-panel:rgba(255,255,255,.91);--v39-panel-strong:#fff;--v39-soft:#f5f9fc;
 --v39-text:#153047;--v39-muted:#71879a;--v39-line:#d7e3eb;--v39-shadow:0 12px 38px rgba(17,62,93,.08)
}
body.dark{--v39-bg:#071824;--v39-panel:rgba(10,35,54,.92);--v39-panel-strong:#0d2a40;--v39-soft:#102f47;--v39-text:#edf7fd;--v39-muted:#9eb4c5;--v39-line:#284d67;--v39-shadow:0 16px 44px rgba(0,0,0,.20)}
.v39-page{color:var(--v39-text)}.v39-title{margin-bottom:16px!important;padding:18px 20px;border:1px solid color-mix(in srgb,var(--v39-line) 75%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--v39-panel) 92%,transparent),color-mix(in srgb,var(--v39-soft) 78%,transparent));border-radius:14px;box-shadow:var(--v39-shadow)}.v39-title h1{font-size:25px!important;color:var(--v39-text)!important}.v39-title p{color:var(--v39-muted)!important;font-size:11px!important}.v39-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--v39-blue) 9%,var(--v39-panel));border:1px solid color-mix(in srgb,var(--v39-blue) 25%,var(--v39-line));color:var(--v39-blue);font-size:9px;font-weight:800}.v39-empty{padding:24px;text-align:center;color:var(--v39-muted);border:1px dashed var(--v39-line);border-radius:10px}.v39-empty.large{padding:60px 20px}.muted{color:var(--v39-muted)!important}.danger-soft{background:color-mix(in srgb,var(--v39-red) 8%,var(--v39-panel))!important;color:var(--v39-red)!important;border-color:color-mix(in srgb,var(--v39-red) 30%,var(--v39-line))!important}
.global-search-mini{display:flex;align-items:center;width:min(330px,24vw);height:36px;margin-inline:8px;border:1px solid var(--theme-border,#d7e3eb);background:var(--theme-panel,#fff);border-radius:9px;overflow:hidden}.global-search-mini input{min-width:0;flex:1;height:100%;border:0;background:transparent;color:var(--theme-text,#17344b);padding:0 10px;font:600 10px Tahoma,Arial;outline:0}.global-search-mini button{width:38px;height:100%;border:0;border-inline-start:1px solid var(--theme-border,#d7e3eb);background:transparent;color:var(--theme-link,#176fac);font-size:18px;cursor:pointer}.side-studio-link{background:rgba(34,153,212,.10);border:1px dashed rgba(104,188,229,.26)!important;margin:8px 0!important}

/* Modern workspace - deliberately uses the same visual language in light and dark. */
.workspace-page-title{padding:16px 18px!important;border:1px solid var(--v39-line);border-radius:13px;background:var(--v39-panel);box-shadow:var(--v39-shadow);margin-bottom:12px!important;backdrop-filter:blur(16px)}.workspace-page-title h1{font-size:24px!important;color:var(--v39-text)!important}.workspace-page-title .crumb{color:var(--v39-muted)!important}.workspace-modern-grid{grid-template-columns:minmax(0,1fr) 250px!important;gap:12px!important}.workspace-modern-grid .filter-result-banner{background:var(--v39-panel)!important;border:1px solid var(--v39-line)!important;border-radius:10px!important;color:var(--v39-muted)!important;box-shadow:none!important;padding:10px 13px!important}.workspace-modern-grid .filter-result-banner b{color:var(--v39-text)!important}.workspace-modern-grid .kpis-v2{gap:8px!important;margin:10px 0!important}.workspace-modern-grid .kpi-v2{min-height:92px!important;border-radius:11px!important;background:var(--v39-panel)!important;border:1px solid var(--v39-line)!important;box-shadow:none!important;padding:13px!important}.workspace-modern-grid .kpi-v2 strong{font-size:23px!important;color:var(--v39-text)!important}.workspace-modern-grid .kpi-v2-head span{color:var(--v39-muted)!important}.workspace-table-card{border-radius:11px!important;border-color:var(--v39-line)!important;background:var(--v39-panel)!important;box-shadow:var(--v39-shadow)!important}.workspace-table-card .table-card-head{background:color-mix(in srgb,var(--v39-panel) 82%,var(--v39-soft));border-color:var(--v39-line)!important}.workspace-table-card .table-card-head h2{color:var(--v39-text)!important}.workspace-table-card .table-card-head span,.workspace-table-card .scroll-hint{color:var(--v39-muted)!important}.workspace-table-card .wide-table th{background:linear-gradient(180deg,#0d4c72,#103d5c)!important;color:#f5fbff!important;border-color:#315d79!important}.workspace-table-card .wide-table td{background:color-mix(in srgb,var(--v39-panel) 96%,transparent)!important;color:var(--v39-text)!important;border-color:var(--v39-line)!important}.workspace-table-card .wide-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--v39-soft) 76%,var(--v39-panel))!important}.workspace-table-card .wide-table tbody tr:hover td{background:color-mix(in srgb,var(--v39-blue) 8%,var(--v39-panel))!important}.workspace-filter-card{background:var(--v39-panel)!important;border-color:var(--v39-line)!important;box-shadow:var(--v39-shadow)!important;border-radius:11px!important}.workspace-filter-card input,.workspace-filter-card select{background:var(--v39-panel-strong)!important;border-color:var(--v39-line)!important;color:var(--v39-text)!important}.workspace-filter-card label{color:var(--v39-muted)!important}.row-actions{display:flex;gap:4px;align-items:center}.row-360{display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--v39-cyan) 35%,var(--v39-line));border-radius:6px;padding:5px 6px;color:var(--v39-cyan);text-decoration:none;font-size:8px;font-weight:900;background:color-mix(in srgb,var(--v39-cyan) 7%,var(--v39-panel))}.row-360:hover{background:var(--v39-cyan);color:white}
body.dark .workspace-table-card .wide-table td{color:#e8f3fa!important}body.dark .workspace-filter-card input::placeholder{color:#7892a6!important}

/* Project Studio */
.studio-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;align-items:start}.studio-nav{padding:8px!important;background:var(--v39-panel)!important;border-color:var(--v39-line)!important;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto}.studio-nav-head{display:flex;justify-content:space-between;align-items:center;padding:9px 9px 7px;font-size:10px;color:var(--v39-text)}.studio-nav-head span{background:var(--v39-soft);border:1px solid var(--v39-line);padding:2px 7px;border-radius:999px}.studio-nav-head.muted{margin-top:12px;color:var(--v39-muted);border-top:1px solid var(--v39-line)}.studio-form-link{display:flex;align-items:center;gap:9px;padding:9px;border-radius:9px;text-decoration:none;color:var(--v39-text);border:1px solid transparent;margin-bottom:4px}.studio-form-link:hover{background:var(--v39-soft);border-color:var(--v39-line)}.studio-form-link.active{background:color-mix(in srgb,var(--v39-blue) 10%,var(--v39-panel));border-color:color-mix(in srgb,var(--v39-blue) 34%,var(--v39-line));box-shadow:inset -3px 0 var(--v39-blue)}.studio-form-link i{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:var(--v39-soft);font-style:normal}.studio-form-link span{flex:1;min-width:0}.studio-form-link b,.studio-form-link small{display:block}.studio-form-link b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-form-link small{font-size:8px;color:var(--v39-muted);margin-top:3px}.archived-form-row{display:flex;gap:6px;align-items:center;padding:6px 8px;color:var(--v39-muted);font-size:9px}.archived-form-row span{flex:1}.archived-form-row button{border:1px solid var(--v39-line);background:var(--v39-panel);color:var(--v39-blue);border-radius:5px;font-size:8px;padding:4px 6px}.studio-main{display:grid;gap:12px}.studio-form-hero{padding:18px!important;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,var(--v39-panel),color-mix(in srgb,var(--v39-blue) 5%,var(--v39-soft)))!important;border-color:var(--v39-line)!important}.studio-form-hero h2{margin:8px 0 5px;color:var(--v39-text);font-size:20px}.studio-form-hero p{margin:0;color:var(--v39-muted);font-size:10px}.studio-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.studio-meta span{font-size:8px;padding:4px 7px;border-radius:6px;background:var(--v39-soft);border:1px solid var(--v39-line);color:var(--v39-muted)}.studio-hero-actions,.studio-action-strip{display:flex;gap:6px;flex-wrap:wrap}.studio-action-strip{padding:9px!important;background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.studio-action-strip form{margin:0}.studio-section{padding:16px!important;background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.studio-section .app-section-head p{font-size:9px;color:var(--v39-muted);margin:3px 0 0}.studio-field-grid{display:grid}.studio-field-head,.studio-field-row{display:grid;grid-template-columns:55px minmax(180px,1.5fr) 90px 54px 54px 54px minmax(130px,1fr) 60px;gap:8px;align-items:center}.studio-field-head{padding:8px 10px;background:var(--v39-soft);border:1px solid var(--v39-line);border-radius:8px 8px 0 0;color:var(--v39-muted);font-size:8px}.studio-field-row{padding:8px 10px;border:1px solid var(--v39-line);border-top:0;font-size:9px}.studio-field-row b,.studio-field-row small{display:block}.studio-field-row small{color:var(--v39-muted);margin-top:2px;font-size:7px}.studio-field-row code{font-size:8px;color:var(--v39-purple)}.workflow-track{display:flex;gap:9px;align-items:stretch;overflow:auto;padding:5px 1px}.workflow-stage{position:relative;min-width:140px;padding:12px;border:1px solid var(--v39-line);border-radius:10px;background:var(--v39-soft);display:flex;flex-direction:column;gap:4px}.workflow-stage>i{width:9px;height:9px;border-radius:50%;background:var(--stage-color)}.workflow-stage b{font-size:10px;color:var(--v39-text)}.workflow-stage small{font-size:8px;color:var(--v39-muted)}.workflow-stage form{position:absolute;left:6px;top:6px}.workflow-stage button{border:0;background:transparent;color:var(--v39-red);cursor:pointer}.version-list{display:flex;gap:7px;flex-wrap:wrap}.version-list>div{min-width:130px;border:1px solid var(--v39-line);background:var(--v39-soft);padding:9px;border-radius:8px}.version-list b,.version-list span{display:block}.version-list b{font-size:10px}.version-list span{font-size:8px;color:var(--v39-muted);margin-top:4px}

/* Command center */
.command-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:12px}.command-kpi{min-height:98px;border:1px solid var(--v39-line);background:var(--v39-panel);border-radius:12px;padding:12px;box-shadow:var(--v39-shadow);position:relative}.command-kpi>i{position:absolute;left:11px;top:11px;width:31px;height:31px;border-radius:9px;background:color-mix(in srgb,var(--v39-blue) 9%,var(--v39-panel));display:grid;place-items:center;color:var(--v39-blue);font-style:normal}.command-kpi span,.command-kpi b,.command-kpi small{display:block}.command-kpi span{font-size:9px;color:var(--v39-muted)}.command-kpi b{font-size:21px;color:var(--v39-text);margin:8px 0 3px}.command-kpi small{font-size:8px;color:var(--v39-muted)}.command-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin-bottom:12px}.command-panel{padding:15px!important;background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.command-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:11px;margin-bottom:10px;border-bottom:1px solid var(--v39-line)}.command-panel-head h2,.command-panel h3{margin:0;color:var(--v39-text);font-size:14px}.command-panel-head p{margin:4px 0 0;color:var(--v39-muted);font-size:8px}.command-panel-head a{font-size:9px;color:var(--v39-blue);text-decoration:none}.risk-list{display:grid;gap:8px}.risk-row{display:grid;grid-template-columns:minmax(130px,1fr) 1.4fr 55px;gap:9px;align-items:center}.risk-row span b,.risk-row span small{display:block}.risk-row span b{font-size:9px;color:var(--v39-text)}.risk-row span small{font-size:7px;color:var(--v39-muted);margin-top:2px}.risk-meter{height:7px;border-radius:999px;background:var(--v39-soft);border:1px solid var(--v39-line);overflow:hidden}.risk-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--v39-blue),var(--v39-amber),var(--v39-red));border-radius:inherit}.risk-row em{font-size:9px;font-style:normal;font-weight:800;text-align:left}.risk-high{color:var(--v39-red)}.risk-medium{color:var(--v39-amber)}.risk-low{color:var(--v39-green)}.quality-ring{--pct:0;width:115px;height:115px;margin:8px auto 12px;border-radius:50%;background:conic-gradient(var(--v39-green) calc(var(--pct)*1%),var(--v39-soft) 0);display:grid;place-items:center;position:relative}.quality-ring:after{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--v39-panel);border:1px solid var(--v39-line)}.quality-ring b,.quality-ring span{position:relative;z-index:1;grid-column:1;grid-row:1}.quality-ring b{font-size:20px;margin-top:-12px}.quality-ring span{font-size:7px;color:var(--v39-muted);margin-top:25px}.quality-ring.large{width:160px;height:160px}.quality-ring.large:after{inset:20px}.quality-ring.large b{font-size:28px}.quality-mini,.quality-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.quality-mini>div,.quality-hero-stats>div{padding:8px;border:1px solid var(--v39-line);background:var(--v39-soft);border-radius:8px;text-align:center}.quality-mini b,.quality-mini span,.quality-hero-stats b,.quality-hero-stats span{display:block}.quality-mini b,.quality-hero-stats b{font-size:14px;color:var(--v39-text)}.quality-mini span,.quality-hero-stats span{font-size:7px;color:var(--v39-muted);margin-top:3px}.sla-row,.score-row,.target-row,.schedule-row{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--v39-line)}.sla-row:last-child,.score-row:last-child,.target-row:last-child,.schedule-row:last-child{border-bottom:0}.sla-row>span:first-child,.target-row>span:first-child,.schedule-row>span:first-child{flex:1}.sla-row b,.sla-row small,.target-row b,.target-row small,.schedule-row b,.schedule-row small{display:block}.sla-row b,.target-row b,.schedule-row b{font-size:9px}.sla-row small,.target-row small,.schedule-row small{font-size:7px;color:var(--v39-muted);margin-top:2px}.sla-row>span:nth-child(3){font-size:8px;color:var(--v39-muted)}.sla-row form button{border:0;background:transparent;color:var(--v39-red)}.score-tabs{font-size:8px;color:var(--v39-muted);padding:7px 8px;background:var(--v39-soft);border-radius:7px;margin-top:5px}.score-row{display:grid;grid-template-columns:25px minmax(120px,1fr) 70px 55px 42px}.score-row span{color:var(--v39-muted);font-size:8px}.score-row b{font-size:9px}.score-row small{font-size:7px;color:var(--v39-muted)}.score-row em{font-size:8px;font-style:normal}.score-row strong{font-size:10px;color:var(--v39-green)}.notifications-list{display:grid;gap:6px}.notification-row{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--v39-line);border-radius:9px;background:var(--v39-soft)}.notification-row>i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--v39-panel);font-style:normal;font-weight:900}.notification-row>span{flex:1}.notification-row b,.notification-row small,.notification-row em{display:block}.notification-row b{font-size:9px}.notification-row small{font-size:8px;color:var(--v39-muted);margin-top:2px}.notification-row em{font-size:7px;color:var(--v39-muted);font-style:normal;margin-top:3px}.notification-row.warning>i,.notification-row.danger>i{color:var(--v39-red)}.notification-row.resolved{opacity:.58}.notification-row>strong{font-size:8px;color:var(--v39-green)}.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.integration-grid>div{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid var(--v39-line);border-radius:9px;background:var(--v39-soft)}.integration-grid i{font-style:normal;font-size:20px;color:var(--v39-blue)}.integration-grid span{flex:1}.integration-grid b,.integration-grid small{display:block}.integration-grid b{font-size:9px}.integration-grid small{font-size:7px;color:var(--v39-muted)}.integration-grid em{font-style:normal;color:var(--v39-green);font-size:8px}.builder-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.builder-widget{border:1px solid var(--v39-line);background:var(--v39-soft);border-radius:9px;padding:10px}.builder-widget>b{font-size:8px;display:block}.builder-widget>strong{font-size:20px;display:block;margin:7px 0;color:var(--v39-text)}.mini-bars{height:34px;display:flex;gap:3px;align-items:end}.mini-bars i{flex:1;min-height:2px;background:var(--v39-blue);border-radius:2px 2px 0 0}

/* Quality */
.quality-hero{display:grid;grid-template-columns:220px 1fr;align-items:center;padding:22px!important;background:var(--v39-panel)!important;border-color:var(--v39-line)!important;margin-bottom:12px}.quality-hero-stats{grid-template-columns:repeat(4,1fr)}.quality-hero-stats>div{padding:16px}.quality-hero-stats b{font-size:23px}.dq-list{display:grid;gap:6px}.dq-row{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--v39-line);border-radius:8px;text-decoration:none;color:var(--v39-text);background:var(--v39-soft)}.dq-row>i{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--v39-panel);font-style:normal}.dq-row>span{flex:1}.dq-row b,.dq-row small{display:block}.dq-row b{font-size:9px}.dq-row small{font-size:8px;color:var(--v39-muted);margin-top:2px}.dq-row strong{font-size:12px}.dq-row.high strong,.dq-row.high>i{color:var(--v39-red)}.dq-row.medium strong,.dq-row.medium>i{color:var(--v39-amber)}

/* Global search */
.global-search-page{padding:10px!important;display:grid;grid-template-columns:1fr auto;gap:8px;background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.global-search-page input{height:46px;border:1px solid var(--v39-line);border-radius:8px;background:var(--v39-panel-strong);color:var(--v39-text);padding:0 14px;font:700 12px Tahoma,Arial;outline:0}.search-result-head{padding:12px 3px;color:var(--v39-muted);font-size:10px}.global-results{display:grid;gap:7px}.global-result{display:flex;gap:12px;align-items:center;padding:12px!important;text-decoration:none;color:var(--v39-text);background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.global-result>i{width:40px;height:40px;border-radius:10px;background:var(--v39-soft);display:grid;place-items:center;font-style:normal;color:var(--v39-blue)}.global-result>span{flex:1}.global-result b,.global-result small,.global-result em{display:block}.global-result b{font-size:11px}.global-result small{font-size:8px;color:var(--v39-muted);margin:2px 0 4px}.global-result em{font-size:8px;color:var(--v39-muted);font-style:normal}.global-result>strong{font-size:9px;color:var(--v39-blue)}

/* 360 view */
.record360-grid{display:grid;grid-template-columns:minmax(0,1.6fr) 310px;gap:12px;margin-bottom:12px}.record360-main,.record360-side{padding:16px!important;background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.record360-title{display:flex;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--v39-line)}.record360-title>span{width:42px;height:42px;border-radius:11px;background:var(--v39-soft);display:grid;place-items:center}.record360-title>div{flex:1}.record360-title b,.record360-title small{display:block}.record360-title b{font-size:14px}.record360-title small{font-size:8px;color:var(--v39-muted)}.record360-title em{font-style:normal;font-size:8px;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--v39-green) 10%,var(--v39-panel));color:var(--v39-green)}.record360-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.record360-fields>div{padding:9px;border:1px solid var(--v39-line);border-radius:8px;background:var(--v39-soft);min-width:0}.record360-fields span,.record360-fields b{display:block}.record360-fields span{font-size:7px;color:var(--v39-muted);margin-bottom:4px}.record360-fields b{font-size:9px;word-break:break-word}.record360-side h3{font-size:11px;margin:3px 0 9px}.workflow-select{display:grid;gap:5px;margin-bottom:18px}.workflow-select form{margin:0}.workflow-select button{width:100%;border:1px solid var(--v39-line);border-radius:8px;background:var(--v39-soft);color:var(--v39-text);padding:8px;text-align:right;font:700 9px Tahoma;cursor:pointer}.workflow-select button i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--stage-color);margin-left:6px}.workflow-select button.current{box-shadow:inset -3px 0 var(--stage-color);border-color:var(--stage-color)}.timeline-mini{display:grid;gap:7px}.timeline-mini>div{display:flex;gap:7px}.timeline-mini i{width:8px;height:8px;border-radius:50%;background:var(--v39-blue);margin-top:4px}.timeline-mini b,.timeline-mini small{display:block}.timeline-mini b{font-size:8px}.timeline-mini small{font-size:7px;color:var(--v39-muted)}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.related-grid>a{display:flex;gap:8px;padding:9px;border:1px solid var(--v39-line);border-radius:8px;background:var(--v39-soft);text-decoration:none;color:var(--v39-text)}.related-grid>a>span{width:31px;height:31px;border-radius:8px;background:var(--v39-panel);display:grid;place-items:center}.related-grid b,.related-grid small,.related-grid em{display:block}.related-grid b{font-size:8px}.related-grid small,.related-grid em{font-size:7px;color:var(--v39-muted);font-style:normal;margin-top:2px}

/* Documents */
.document-grid{display:grid;gap:8px}.document-card{display:grid;grid-template-columns:55px 1fr auto;gap:12px;align-items:center;padding:13px!important;background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.doc-icon{width:50px;height:50px;border-radius:11px;background:linear-gradient(135deg,#d94b56,#b52f43);color:white;display:grid;place-items:center;font-weight:900;font-size:10px}.document-card h3{margin:5px 0 3px;font-size:11px;color:var(--v39-text)}.document-card p{margin:0;color:var(--v39-muted);font-size:8px}.document-card small{display:block;color:var(--v39-muted);font-size:7px;margin-top:4px}.doc-actions{display:flex;gap:5px;align-items:center}.doc-actions form{margin:0}

/* Assets */
.asset-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:12px}.asset-list,.asset-detail{padding:12px!important;background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.asset-head{display:flex;justify-content:space-between;padding:5px 5px 10px;border-bottom:1px solid var(--v39-line)}.asset-row{display:flex;gap:8px;align-items:center;padding:9px;text-decoration:none;color:var(--v39-text);border-bottom:1px solid var(--v39-line)}.asset-row:hover,.asset-row.active{background:var(--v39-soft)}.asset-row>i{width:30px;height:30px;border-radius:8px;background:var(--v39-soft);display:grid;place-items:center;font-style:normal;color:var(--v39-green)}.asset-row>span{flex:1}.asset-row b,.asset-row small{display:block}.asset-row b{font-size:9px}.asset-row small{font-size:7px;color:var(--v39-muted);margin-top:2px}.asset-row em{font-style:normal;font-size:7px;color:var(--v39-green)}.asset-detail-head{display:flex;justify-content:space-between;gap:14px}.asset-detail-head h2{font-size:18px;margin:7px 0 3px}.asset-detail-head p{font-size:9px;color:var(--v39-muted)}.asset-detail-head img{width:110px;height:110px;padding:6px;border:1px solid var(--v39-line);background:white;border-radius:10px}

/* BOQ */
.boq-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.boq-kpis>div{padding:15px;border:1px solid var(--v39-line);border-radius:11px;background:var(--v39-panel);box-shadow:var(--v39-shadow)}.boq-kpis span,.boq-kpis b{display:block}.boq-kpis span{font-size:8px;color:var(--v39-muted)}.boq-kpis b{font-size:18px;margin-top:6px}.boq-table-wrap{overflow:auto;background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.boq-table td small{display:block;font-size:7px;color:var(--v39-muted)}.inline-executed{display:flex;gap:4px}.inline-executed input{width:85px;padding:5px;border:1px solid var(--v39-line);background:var(--v39-panel-strong);color:var(--v39-text);border-radius:5px}.inline-executed button{border:1px solid var(--v39-line);background:var(--v39-soft);color:var(--v39-blue);border-radius:5px;font-size:7px}.boq-progress{display:flex;align-items:center;gap:5px}.boq-progress>i{display:block;width:65px;height:6px;background:var(--v39-soft);border-radius:999px;overflow:hidden;position:relative}.boq-progress>i:after{content:"";position:absolute;inset:0 auto 0 0;width:inherit;background:var(--v39-green)}.boq-progress span{font-size:8px}

/* Dashboard builder */
.builder-canvas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.builder-card{padding:14px!important;background:var(--v39-panel)!important;border-color:var(--v39-line)!important;min-height:220px}.builder-card-head{display:flex;justify-content:space-between;align-items:flex-start}.builder-card-head h3{font-size:12px;margin:6px 0}.builder-kpi{font-size:46px;font-weight:900;text-align:center;padding:42px 0;color:var(--v39-text)}.builder-donut{--pct:0;width:130px;height:130px;border-radius:50%;background:conic-gradient(var(--v39-blue) calc(var(--pct)*1%),var(--v39-soft) 0);margin:16px auto;position:relative;display:grid;place-items:center}.builder-donut:after{content:"";position:absolute;inset:20px;border-radius:50%;background:var(--v39-panel)}.builder-donut b{position:relative;z-index:1;font-size:20px}.builder-legend{display:flex;gap:5px;flex-wrap:wrap}.builder-legend span{font-size:7px;padding:4px 6px;background:var(--v39-soft);border-radius:5px}.builder-bars{display:grid;gap:8px;margin-top:15px}.builder-bars>div{display:grid;grid-template-columns:95px 1fr 40px;gap:6px;align-items:center;font-size:8px}.builder-bars span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.builder-bars i{height:8px;background:var(--v39-soft);border-radius:999px;overflow:hidden}.builder-bars em{display:block;height:100%;background:var(--v39-blue)}

/* Templates / backup / intelligence */
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.template-card{padding:16px!important;background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.template-card>i{font-style:normal;font-size:30px;color:var(--v39-blue)}.template-card h3{font-size:12px;margin:8px 0}.template-card p{font-size:8px;color:var(--v39-muted);min-height:34px}.template-card small{display:block;font-size:7px;color:var(--v39-muted);margin-bottom:12px}.backup-panel{padding:14px!important;background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.backup-warning{display:flex;gap:8px;padding:10px;border-radius:8px;background:color-mix(in srgb,var(--v39-amber) 10%,var(--v39-panel));border:1px solid color-mix(in srgb,var(--v39-amber) 28%,var(--v39-line));margin-bottom:10px;font-size:9px}.backup-row{display:flex;gap:8px;align-items:center;padding:9px;border-bottom:1px solid var(--v39-line)}.backup-row>i{font-style:normal;font-size:20px;color:var(--v39-blue)}.backup-row>span{flex:1}.backup-row b,.backup-row small{display:block}.backup-row b{font-size:9px}.backup-row small{font-size:7px;color:var(--v39-muted)}.intelligence-query{display:grid;grid-template-columns:250px 1fr auto;gap:10px;align-items:center;padding:13px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--v39-purple) 8%,var(--v39-panel)),var(--v39-panel))!important;border-color:var(--v39-line)!important}.intelligence-query b,.intelligence-query small{display:block}.intelligence-query b{font-size:11px}.intelligence-query small{font-size:7px;color:var(--v39-muted);margin-top:3px}.intelligence-query input{height:43px;border:1px solid var(--v39-line);background:var(--v39-panel-strong);color:var(--v39-text);border-radius:8px;padding:0 12px}.intelligence-answer{margin:12px 0;padding:16px!important;display:flex;gap:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--v39-purple) 12%,var(--v39-panel)),var(--v39-panel))!important;border-color:color-mix(in srgb,var(--v39-purple) 30%,var(--v39-line))!important}.intelligence-answer>i{font-size:27px;color:var(--v39-purple);font-style:normal}.intelligence-answer b{font-size:11px}.intelligence-answer p{font-size:11px;line-height:1.9;margin:6px 0;color:var(--v39-text)}.intelligence-answer small{font-size:7px;color:var(--v39-muted)}.intelligence-grid{display:grid;grid-template-columns:1.4fr .7fr;gap:12px}

/* App control V39 visual designer */
.app-control-page .app-settings-card{background:var(--v39-panel)!important;border-color:var(--v39-line)!important}.app-control-page .app-settings-form input,.app-control-page .app-settings-form select{background:var(--v39-panel-strong)!important;border-color:var(--v39-line)!important;color:var(--v39-text)!important}.app-design-advanced{grid-column:1/-1;border-top:1px solid var(--v39-line);margin-top:5px;padding-top:14px}.app-design-advanced h3{font-size:11px;margin:0 0 10px;color:var(--v39-text)}

@media(max-width:1250px){.command-kpis{grid-template-columns:repeat(3,1fr)}.studio-shell{grid-template-columns:220px minmax(0,1fr)}.builder-canvas{grid-template-columns:repeat(2,1fr)}.related-grid{grid-template-columns:repeat(2,1fr)}.record360-fields{grid-template-columns:repeat(2,1fr)}.integration-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:950px){.workspace-modern-grid,.studio-shell,.command-grid,.record360-grid,.asset-layout,.quality-hero,.intelligence-grid{grid-template-columns:1fr!important}.studio-nav{position:static;max-height:none}.command-kpis,.boq-kpis,.quality-hero-stats{grid-template-columns:repeat(2,1fr)}.builder-canvas,.template-grid,.related-grid{grid-template-columns:1fr}.integration-grid{grid-template-columns:1fr}.global-search-mini{display:none}.intelligence-query{grid-template-columns:1fr}.studio-field-grid{overflow:auto}.studio-field-head,.studio-field-row{min-width:850px}.record360-fields{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.command-kpis,.boq-kpis,.quality-hero-stats{grid-template-columns:1fr}.record360-fields{grid-template-columns:1fr}.document-card{grid-template-columns:46px 1fr}.doc-actions{grid-column:1/-1}.studio-form-hero{align-items:flex-start;flex-direction:column}.workspace-page-title{align-items:flex-start!important}.workspace-page-title .page-actions{flex-wrap:wrap}}
.phone-preview .phone-screen{background:linear-gradient(160deg,color-mix(in srgb,var(--app-primary) 15%,#eef8ff),color-mix(in srgb,var(--app-bg,#071d30) 4%,#fff) 48%,color-mix(in srgb,var(--app-accent) 10%,#f6fbff))!important}.phone-preview .phone-menu-row,.phone-preview .pv-input{border-radius:var(--app-radius,16px)!important}.phone-preview[data-card-style="outline"] .phone-menu-row{box-shadow:none!important;background:transparent!important;border-width:1.5px!important}.phone-preview[data-card-style="flat"] .phone-menu-row{box-shadow:none!important;border-color:transparent!important}.phone-preview[data-card-style="glass"] .phone-menu-row{background:rgba(255,255,255,.62)!important;backdrop-filter:blur(8px)}

/* ===== V39.5 reliable floating row actions menu ===== */
.row-actions{justify-content:center}.row-menu-trigger{font-family:inherit!important;cursor:pointer!important;position:relative;z-index:2}
.row-action-menu{display:none;position:fixed!important;z-index:2147483000!important;width:230px;padding:6px;background:var(--v39-panel-strong,var(--theme-panel,#fff));border:1px solid var(--v39-line,var(--theme-border,#dce5ec));border-radius:10px;box-shadow:0 16px 42px rgba(4,27,45,.28);direction:rtl;overflow:visible!important;isolation:isolate}
.row-action-menu.is-open{display:block!important}.row-action-menu[hidden]{display:none!important}.row-action-menu a{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:7px;text-decoration:none;color:var(--v39-text,var(--theme-text,#17344b));font-size:10px;white-space:nowrap}.row-action-menu a+a{border-top:1px solid color-mix(in srgb,var(--v39-line,var(--theme-border,#dce5ec)) 60%,transparent)}.row-action-menu a:hover{background:var(--v39-soft,var(--theme-panel-hover,#eef5fa));color:var(--v39-blue,#1378bf)}.row-action-menu a span{width:25px;height:25px;border-radius:6px;display:grid;place-items:center;background:color-mix(in srgb,var(--v39-blue,#1378bf) 10%,transparent);font-size:11px}.row-action-menu a b{font-size:10px;font-weight:750}.row-action-menu-empty{padding:10px;color:var(--v39-muted,#7b8c99);font-size:10px;text-align:center}
body.dark .row-action-menu{background:#0b263b!important;border-color:#315069!important;box-shadow:0 18px 48px rgba(0,0,0,.48)}body.dark .row-action-menu a{color:#eaf4fb!important}body.dark .row-action-menu a:hover{background:#153b57!important;color:#fff!important}
/* V39.6 unified date range filter + export controls */
.date-filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}.date-filter-pair label{margin:0!important}.filter-date-note{display:block;margin:-4px 0 10px;color:var(--theme-text-3,#7d8fa0);font-size:9px;line-height:1.55}.export-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.range-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.range-toolbar label{display:grid;gap:4px;font-size:10px;color:var(--theme-text-2,#577086)}.range-toolbar input{height:36px;border:1px solid var(--theme-border,#d8e3eb);border-radius:7px;background:var(--theme-panel,#fff);color:var(--theme-text,#17344b);padding:0 9px}.range-toolbar .btn{height:36px}.date-range-banner{font-size:10px;color:var(--theme-text-3,#708596);padding:6px 9px;border:1px solid var(--theme-border-soft,#e2ebf1);border-radius:7px;background:var(--theme-panel-soft,#f5f9fb)}
@media(max-width:700px){.date-filter-pair{grid-template-columns:1fr}.range-toolbar{display:grid;grid-template-columns:1fr 1fr}.range-toolbar .btn,.range-toolbar .export-toolbar{grid-column:1/-1}}

/* V39.6 - Finance date-range filter */
.finance-range-toolbar{margin-bottom:14px}.finance-range-toolbar .range-toolbar-form{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.finance-range-toolbar label{display:grid;gap:5px;min-width:175px;font-size:10px;font-weight:700;color:var(--theme-text-2,#52697c)}.finance-range-toolbar input{height:38px;border:1px solid var(--theme-border,#d7e2e9);border-radius:7px;padding:0 10px;background:var(--theme-panel,#fff);color:var(--theme-text,#17344b);font-family:inherit}.finance-period-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:8px}.finance-period-kpis span{border:1px solid var(--theme-border,#d7e2e9);background:var(--theme-panel-soft,#f6fafc);border-radius:8px;padding:8px 10px;color:var(--theme-text-2,#567085);font-size:9px}.finance-period-kpis b{display:block;font-size:14px;color:var(--theme-text,#17344b);margin-bottom:2px}body.dark .finance-range-toolbar input{background:var(--theme-panel,#10283d);border-color:var(--theme-border,#31516a);color:var(--theme-text,#edf6ff)}@media(max-width:900px){.finance-period-kpis{grid-template-columns:1fr 1fr}.finance-range-toolbar label{min-width:140px}}

/* V39.7 — Automation & Data Integration Center */
.automation-title p{margin:5px 0 0;color:var(--muted);font-size:11px}.automation-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.automation-kpi{background:rgba(255,255,255,.92);border:1px solid #cadbe7;border-radius:14px;padding:13px 15px;min-height:93px;box-shadow:0 8px 24px rgba(11,79,113,.05)}.automation-kpi span,.automation-kpi small{display:block;color:#6d8293}.automation-kpi span{font-size:10px;font-weight:800}.automation-kpi strong{display:block;font-size:24px;color:#0b4f71;margin:5px 0}.automation-kpi small{font-size:8px}.automation-grid{display:grid;gap:12px}.automation-source-grid{grid-template-columns:1fr 1fr;margin-bottom:12px}.automation-card{background:rgba(255,255,255,.93);border:1px solid #cbdce7;border-radius:15px;padding:14px;margin-bottom:12px;box-shadow:0 10px 28px rgba(7,48,75,.06);backdrop-filter:blur(10px)}.automation-card-head,.automation-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid #dce7ee;padding-bottom:10px;margin-bottom:12px}.automation-card h2,.automation-section-head h2{margin:2px 0 4px;color:#123b55;font-size:16px}.automation-card p,.automation-section-head p{margin:0;color:#728797;font-size:9px;line-height:1.65}.automation-eyebrow{font-size:7px;font-weight:900;letter-spacing:.8px;color:#1485bb}.automation-icon{width:38px;height:38px;border-radius:11px;background:#e8f5fb;color:#0b6e9d;display:grid;place-items:center;font-weight:900;font-size:17px}.automation-form{display:flex;flex-direction:column;gap:9px}.automation-form label,.automation-rule-form label{display:flex;flex-direction:column;gap:5px;font-size:9px;font-weight:800;color:#294c64}.automation-form label>span small,.automation-rule-form label>span small{font-weight:400;color:#8aa0af}.automation-form input,.automation-form select,.automation-rule-form input,.automation-rule-form select{height:39px;border:1px solid #c9d9e4;border-radius:9px;background:#fff;color:#17364e;padding:0 10px;font-family:inherit}.automation-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.automation-form-row.three{grid-template-columns:1.3fr 1fr 1fr}.automation-form-row.four{grid-template-columns:1.25fr 1fr 1fr .7fr}.source-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.reference-source-card{border:1px solid #ccdde7;border-radius:13px;padding:11px;background:#fbfdfe;transition:.16s}.reference-source-card.selected{border-color:#1794c8;box-shadow:0 0 0 2px rgba(23,148,200,.10)}.reference-source-top{display:flex;gap:9px;align-items:center}.source-kind{min-width:49px;text-align:center;padding:6px;border-radius:8px;font-size:8px;font-weight:900}.source-kind-excel{background:#e8f4fb;color:#165980}.source-kind-csv{background:#fff6df;color:#98700b}.source-kind-google{background:#e9f2ff;color:#2467ac}.reference-source-title{min-width:0}.reference-source-title b,.reference-source-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reference-source-title b{font-size:11px;color:#173a53}.reference-source-title small{font-size:8px;color:#8295a4;margin-top:3px}.source-stats{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.source-stats span{background:#eef5f8;border-radius:7px;padding:5px 7px;font-size:7px;color:#617989}.source-stats b{color:#183d56}.reference-source-actions,.rule-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.reference-source-actions form,.rule-actions form{margin:0}.btn.danger{background:#fff0f0!important;color:#b73838!important;border:1px solid #efc7c7!important}.automation-table-scroll{overflow:auto;max-width:100%;border:1px solid #d3e1e9;border-radius:11px}.automation-table{border-collapse:collapse;width:100%;min-width:900px;background:#fff}.automation-table th{background:#0b587d;color:#fff;padding:8px;white-space:nowrap;font-size:8px}.automation-table td{padding:7px 8px;border-bottom:1px solid #dbe6ed;font-size:8px;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.automation-table tr:nth-child(even) td{background:#f7fafc}.automation-template-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 12px}.automation-template-strip button{border:1px solid #c9dce8;background:#f8fcff;border-radius:10px;padding:9px 8px;text-align:right;cursor:pointer;color:#264b63;font-family:inherit}.automation-template-strip button.active{border-color:#168bc1;background:#eaf7fd;box-shadow:0 0 0 2px rgba(22,139,193,.09)}.automation-template-strip b,.automation-template-strip small{display:block}.automation-template-strip b{font-size:9px}.automation-template-strip small{font-size:7px;color:#8298a8;margin-top:3px}.automation-match-panel{display:grid;grid-template-columns:1fr 52px 1fr;gap:9px;align-items:center;background:#f6fafc;border:1px solid #d6e4ec;border-radius:13px;padding:11px}.automation-source-side,.automation-target-side{display:grid;gap:8px}.automation-match-arrow{height:52px;width:52px;display:grid;place-items:center;background:#e6f5fb;border-radius:50%;font-size:21px;color:#0d78ac}.automation-match-arrow small{display:block;font-size:6px;margin-top:-13px}.automation-subhead{display:flex;align-items:center;justify-content:space-between;margin:12px 0 7px}.automation-subhead b,.automation-subhead small{display:block}.automation-subhead b{font-size:11px;color:#163e59}.automation-subhead small{font-size:8px;color:#8298a7;margin-top:2px}.mapping-rows{display:flex;flex-direction:column;gap:6px}.mapping-row{display:grid;grid-template-columns:1fr 28px 1fr 32px;gap:6px;align-items:center}.mapping-row>span{text-align:center;font-weight:900;color:#1689be}.mapping-row button{height:36px;border:1px solid #efc9c9;background:#fff1f1;color:#b43c3c;border-radius:8px;cursor:pointer}.geo-options{margin-top:11px;background:#f4fbff;border:1px solid #cae4f0;border-radius:11px;padding:10px}.automation-policy{display:flex;gap:13px;align-items:center;flex-wrap:wrap;background:#f7fafb;border:1px solid #d7e3e9;padding:9px 10px;border-radius:11px;margin-top:10px}.automation-policy>label{display:flex;flex-direction:row;align-items:center;gap:7px}.automation-policy input[type=checkbox]{width:16px;height:16px}.automation-policy b,.automation-policy small{display:block}.automation-policy small{font-size:7px;color:#8296a5}.normalization-note{font-size:8px;color:#557383;margin-inline-start:auto}.automation-rule-submit{display:flex;align-items:center;gap:10px;margin-top:10px}.automation-rule-submit span{font-size:8px;color:#728696}.automation-rule-list{display:flex;flex-direction:column;gap:7px}.automation-rule-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d0dfe7;border-radius:12px;padding:10px;background:#fbfdfe}.automation-rule-card.disabled{opacity:.55}.rule-main{min-width:0}.rule-type-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#e5f4fb;color:#0c6d99;font-size:7px;font-weight:900}.rule-main h3{margin:5px 0 3px;font-size:11px;color:#173b54}.rule-main p,.rule-main small{margin:0;color:#718695;font-size:8px}.automation-preview-result{border:1px solid #8ec9e1;background:#f0faff;border-radius:12px;padding:11px;margin-bottom:10px}.automation-preview-result>b{font-size:11px;color:#0b668f}.preview-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:8px}.preview-stat-grid span{background:#fff;border:1px solid #d2e5ee;border-radius:9px;padding:7px;text-align:center}.preview-stat-grid small,.preview-stat-grid strong{display:block}.preview-stat-grid small{font-size:7px;color:#748b9b}.preview-stat-grid strong{font-size:14px;color:#113d5a;margin-top:3px}.run-status{padding:3px 7px;border-radius:999px;font-weight:900}.run-status.success{background:#e8f4fb;color:#175478}.run-status.preview{background:#e9f4ff;color:#28699f}.run-status.error{background:#fff0f0;color:#b83838}.run-status.undone{background:#f2edf9;color:#6d4f94}
body.dark .automation-kpi,body.dark .automation-card{background:rgba(9,37,57,.94);border-color:#2e4b61;color:#eaf4fb}body.dark .automation-card h2,body.dark .automation-section-head h2,body.dark .rule-main h3,body.dark .reference-source-title b,body.dark .automation-subhead b{color:#eef7fd}body.dark .automation-card p,body.dark .automation-section-head p,body.dark .rule-main p,body.dark .rule-main small,body.dark .reference-source-title small{color:#9fb5c5}body.dark .automation-kpi{border-color:#29475d}body.dark .automation-kpi strong{color:#8dd4fb}body.dark .reference-source-card,body.dark .automation-rule-card{background:#0d2a40;border-color:#31516a}body.dark .source-stats span,body.dark .automation-policy{background:#102e45;border-color:#31516a;color:#a8bdcc}body.dark .automation-form input,body.dark .automation-form select,body.dark .automation-rule-form input,body.dark .automation-rule-form select{background:#0b2234;border-color:#36566d;color:#edf6fc}body.dark .automation-match-panel,body.dark .geo-options{background:#0c263a;border-color:#31536b}body.dark .automation-table{background:#0c2437;color:#e8f2f9}body.dark .automation-table td{border-color:#29475d}body.dark .automation-table tr:nth-child(even) td{background:#102c42}body.dark .automation-template-strip button{background:#0e2a3f;border-color:#31526a;color:#dceaf3}body.dark .automation-template-strip button.active{background:#123a55;border-color:#4b91b4}body.dark .automation-preview-result{background:#0d3047;border-color:#34718f}body.dark .preview-stat-grid span{background:#102b40;border-color:#35556d}body.dark .preview-stat-grid strong{color:#a6ddfb}
@media(max-width:1200px){.automation-kpis{grid-template-columns:repeat(2,1fr)}.source-card-grid{grid-template-columns:repeat(2,1fr)}.automation-template-strip{grid-template-columns:repeat(3,1fr)}.preview-stat-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:780px){.automation-source-grid,.automation-form-row,.automation-form-row.three,.automation-form-row.four{grid-template-columns:1fr}.source-card-grid,.automation-kpis,.automation-template-strip{grid-template-columns:1fr}.automation-match-panel{grid-template-columns:1fr}.automation-match-arrow{transform:rotate(90deg);justify-self:center}.automation-rule-card{align-items:flex-start;flex-direction:column}.preview-stat-grid{grid-template-columns:repeat(2,1fr)}}
.automation-origin-badge{display:inline-flex;align-items:center;margin-inline-start:6px;padding:2px 5px;border-radius:999px;background:#e7f7ef;color:#175980;font-style:normal;font-size:7px;font-weight:900}.automation-origin-text{display:block;margin-top:4px;color:#4d89ac!important;font-size:7px!important}body.dark .automation-origin-badge{background:rgba(41,128,178,.15);color:#8ec5e5}body.dark .automation-origin-text{color:#74a4c0!important}
.geo-help{display:block;margin-top:8px;color:#658397;font-size:8px;line-height:1.7}body.dark .geo-help{color:#a5bdcc}
.automation-run-tools{display:flex;gap:5px}.automation-history-filter{display:flex;gap:7px;align-items:end;flex-wrap:wrap;margin:0 0 10px;background:#f7fafc;border:1px solid #d6e3ea;border-radius:10px;padding:8px}.automation-history-filter label{display:flex;flex-direction:column;gap:4px;font-size:8px;color:#607b8d}.automation-history-filter input{height:34px;border:1px solid #cbdce6;border-radius:8px;padding:0 8px;background:#fff;color:#17394f}body.dark .automation-history-filter{background:#0d293e;border-color:#31526a}body.dark .automation-history-filter input{background:#0b2234;border-color:#36566d;color:#eef7fd}

/* ===== V39.8: compact grouped sidebar hubs ===== */
.side-hub{margin:5px 0;border:1px solid rgba(146,203,239,.12);border-radius:10px;background:rgba(4,28,49,.15);overflow:hidden}
.side-hub>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;cursor:pointer;color:#e5f2fb;font-size:10.5px;font-weight:900;user-select:none;transition:.16s}
.side-hub>summary::-webkit-details-marker{display:none}
.side-hub>summary:hover{background:rgba(255,255,255,.075)}
.side-hub[open]>summary{background:linear-gradient(90deg,rgba(25,107,170,.32),rgba(255,255,255,.035));border-bottom:1px solid rgba(146,203,239,.10)}
.side-hub .hub-icon{width:23px;min-width:23px;text-align:center;font-size:13px}
.side-hub .hub-title{flex:1;line-height:1.35}
.side-hub .hub-chevron{font-size:10px;transition:transform .18s;color:#9dc5e2}
.side-hub[open] .hub-chevron{transform:rotate(180deg)}
.side-hub .hub-body{padding:4px 5px 7px}
.side-hub:not([open]) .hub-body{display:none}
.side-hub .side-link{min-height:31px!important;padding:6px 8px!important;margin:1px 0!important;font-size:9.8px!important;gap:6px!important;border-radius:7px!important}
.side-hub .side-link span{width:22px!important;min-width:22px!important;font-size:11px!important}
.side-hub .side-link em{font-size:9.8px!important;line-height:1.3!important}
.side-hub .nav-subsection{margin:3px 0;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:rgba(255,255,255,.018);overflow:hidden}
.side-hub .nav-subsection>summary{padding:7px 8px!important;min-height:31px!important;font-size:9.7px!important;color:#dceaf5!important}
.side-hub .nav-subsection .side-group{padding:1px 4px 5px!important}
.side-hub .nav-subsection .side-link{padding-inline-start:13px!important}
.side-hub.has-active>summary{background:linear-gradient(90deg,rgba(31,127,194,.42),rgba(255,255,255,.05));box-shadow:inset -3px 0 #58c2ed}
.cinematic-shell .side-hub>summary:hover{transform:none!important}
@media(min-width:851px){.cinematic-shell .sidebar{padding-top:13px!important}.cinematic-shell .side-home{margin-bottom:8px!important}}

/* V39.9: stack sidebar date filters vertically for better width */
.filter-card .date-filter-pair{grid-template-columns:1fr!important;gap:8px!important}
.filter-card .date-filter-pair label{margin:0!important}
.workspace-filter-card .filter-date-note{margin-top:2px!important}

/* ===== V39.11 Reference Lists + Mobile Appearance Designer ===== */
.reference-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px;align-items:start}.reference-list-nav,.reference-main{background:var(--v39-panel,#fff)!important;border-color:var(--v39-line,#dbe5ed)!important}.reference-list-nav{padding:10px;position:sticky;top:84px}.reference-nav-head,.reference-main-head,.reference-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.reference-nav-head{padding:8px 8px 12px}.reference-nav-head small,.reference-main-head small,.reference-section-title small,.reference-muted{color:var(--v39-muted,#71879a);font-size:10px}.reference-nav-item{display:flex;align-items:center;gap:9px;padding:10px;border-radius:9px;text-decoration:none;color:var(--v39-text,#17344b);border:1px solid transparent;margin-bottom:5px}.reference-nav-item>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--v39-soft,#edf5f8);color:var(--v39-blue,#0d668e)}.reference-nav-item b,.reference-nav-item small{display:block}.reference-nav-item b{font-size:11px}.reference-nav-item small{font-size:8px;color:var(--v39-muted,#71879a);margin-top:2px}.reference-nav-item:hover,.reference-nav-item.active{background:color-mix(in srgb,var(--v39-blue,#0d668e) 8%,var(--v39-panel,#fff));border-color:color-mix(in srgb,var(--v39-blue,#0d668e) 22%,var(--v39-line,#dbe5ed))}.reference-main{padding:16px;min-width:0}.reference-main-head{padding-bottom:13px;border-bottom:1px solid var(--v39-line,#dbe5ed)}.reference-main-head h2{margin:0 0 4px}.reference-code{font-family:Consolas,monospace;font-size:9px;padding:6px 8px;border-radius:7px;background:var(--v39-soft,#edf5f8);color:var(--v39-muted,#60798b)}.reference-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.reference-meta-grid label{display:grid;gap:5px;font-size:10px;color:var(--v39-muted,#60798b)}.reference-meta-grid input[type=text],.reference-meta-grid input:not([type]),.reference-meta-grid textarea{width:100%;border:1px solid var(--v39-line,#dbe5ed);border-radius:8px;background:var(--v39-panel-strong,#fff);color:var(--v39-text,#17344b);padding:9px}.reference-wide{grid-column:1/-1}.reference-actions-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:14px 0}.reference-add-one{display:flex;gap:7px;flex:1}.reference-add-one input,.reference-rename input{border:1px solid var(--v39-line,#dbe5ed);border-radius:7px;background:var(--v39-panel-strong,#fff);color:var(--v39-text,#17344b);padding:8px;width:100%}.reference-table-wrap{max-height:520px;overflow:auto;border:1px solid var(--v39-line,#dbe5ed);border-radius:10px}.reference-items-table{min-width:620px}.reference-rename{display:flex;gap:6px;align-items:center;min-width:320px}.reference-rename .mini-btn{border:1px solid var(--v39-line,#dbe5ed);background:var(--v39-soft,#f2f7fa);color:var(--v39-text,#17344b);border-radius:6px;padding:7px 10px;cursor:pointer}.reference-disabled{opacity:.56}.reference-usage{border-top:1px solid var(--v39-line,#dbe5ed);margin-top:14px;padding-top:13px}.reference-usage-chip{display:inline-flex;margin:7px 0 0 6px;padding:6px 9px;border-radius:999px;background:var(--v39-soft,#edf5f8);color:var(--v39-blue,#0d668e);text-decoration:none;font-size:9px;font-weight:800}.reference-empty{padding:20px;text-align:center;color:var(--v39-muted,#71879a)}.reference-empty.big{padding:70px 20px}.app-media-manager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.app-media-box{border:1px solid var(--v39-line,#dbe5ed);border-radius:12px;padding:12px;background:var(--v39-soft,#f6fafc)}.app-media-box h3{margin:0 0 5px;font-size:13px}.app-media-box p{font-size:9px;color:var(--v39-muted,#71879a);margin:0 0 9px;line-height:1.6}.app-media-preview{height:120px;border-radius:10px;border:1px dashed var(--v39-line,#dbe5ed);display:grid;place-items:center;overflow:hidden;background:var(--v39-panel,#fff);margin-bottom:9px}.app-media-preview img{width:100%;height:100%;object-fit:cover}.app-media-preview.logo img{object-fit:contain;padding:12px}.app-media-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.app-media-actions input[type=file]{font-size:9px;max-width:210px}.platform-badge-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:10px 0}.platform-badge{padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--v39-blue,#0d668e) 10%,transparent);border:1px solid color-mix(in srgb,var(--v39-blue,#0d668e) 25%,var(--v39-line,#dbe5ed));font-size:9px;font-weight:900;color:var(--v39-blue,#0d668e)}
@media(max-width:900px){.reference-layout{grid-template-columns:1fr}.reference-list-nav{position:static}.reference-meta-grid,.app-media-manager{grid-template-columns:1fr}.reference-wide{grid-column:auto}.reference-actions-row{align-items:stretch;flex-direction:column}.reference-add-one{width:100%}}
.phone-screen{position:relative;overflow:hidden}.phone-runtime-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:1}.phone-runtime-overlay{position:absolute;inset:0;z-index:0;pointer-events:none}.phone-screen>.preview-screen,.phone-screen>.phone-maintenance,.phone-screen>.phone-footer{position:relative;z-index:1}


/* ===== V39.12 account self-service ===== */
.user-account-link{text-decoration:none;color:inherit;border-radius:10px;padding:4px 7px;transition:.18s ease}.user-account-link:hover{background:rgba(26,113,169,.08);transform:translateY(-1px)}body.dark .user-account-link:hover{background:rgba(126,207,255,.08)}
.account-page-title{align-items:center}.account-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:16px;align-items:start}.account-profile-card,.account-password-card{padding:20px;border-radius:14px}.account-identity{display:flex;gap:14px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--v39-line,#dfe8ef);margin-bottom:18px}.account-avatar{width:78px;height:78px;border-radius:22px;object-fit:cover;border:1px solid var(--v39-line,#dfe8ef);box-shadow:0 8px 22px rgba(10,55,88,.12)}.account-avatar-letter{display:grid;place-items:center;background:linear-gradient(145deg,#0c6ca2,#123f66);color:#fff;font-size:30px;font-weight:900}.account-identity h2{margin:0 0 3px}.account-identity p{margin:0 0 8px;color:var(--v39-muted,#6f8495)}.account-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.account-form label{display:grid;gap:6px;font-size:11px;font-weight:700;color:var(--v39-muted,#60798b)}.account-form input{width:100%;min-height:42px;border:1px solid var(--v39-line,#d9e5ed);border-radius:8px;background:var(--v39-panel-strong,#fff);color:var(--v39-text,#18374d);padding:9px 11px;font-family:inherit;outline:none}.account-form input:focus{border-color:#2b86bc;box-shadow:0 0 0 3px rgba(43,134,188,.09)}.account-form small{font-size:9px;font-weight:500;color:var(--v39-muted,#8092a0)}.account-form .btn{min-height:42px}.account-check{display:flex!important;align-items:center!important;gap:8px!important}.account-check input{width:auto!important;min-height:auto!important}.password-form{grid-template-columns:1fr}.account-section-head{display:flex;gap:12px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--v39-line,#dfe8ef);margin-bottom:18px}.account-section-head>span{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--v39-soft,#edf6fb);font-size:20px}.account-section-head h2{margin:0 0 4px}.account-section-head p{margin:0;color:var(--v39-muted,#6f8495);font-size:10px}.account-security-note{margin-top:18px;padding:13px;border:1px solid var(--v39-line,#dfe8ef);border-radius:10px;background:color-mix(in srgb,var(--v39-soft,#eef6fb) 72%,transparent)}.account-security-note b{font-size:11px}.account-security-note p,.account-security-note small{font-size:9px;line-height:1.7;color:var(--v39-muted,#6f8495)}.account-alert{padding:11px 14px;border-radius:10px;margin-bottom:13px;font-size:11px;font-weight:800}.account-alert.success{background:#e8f4fb;border:1px solid #bfd9e8;color:#175376}.account-email-verify{margin-top:16px;padding:14px;border-radius:10px;border:1px solid var(--v39-line,#dfe8ef);background:var(--v39-soft,#f4f9fc)}.account-email-verify b{font-size:11px}.account-email-verify p{font-size:9px;color:var(--v39-muted,#6f8495)}.account-email-verify>div{display:grid;grid-template-columns:auto 110px auto;gap:7px}.account-email-verify input{border:1px solid var(--v39-line,#dfe8ef);border-radius:7px;padding:8px;background:var(--v39-panel-strong,#fff);color:var(--v39-text,#17344b)}.account-email-verify>small{display:block;margin-top:7px;color:var(--v39-muted,#6f8495)}
@media(max-width:900px){.account-layout{grid-template-columns:1fr}.account-form{grid-template-columns:1fr}}@media(max-width:560px){.account-profile-card,.account-password-card{padding:14px}.account-email-verify>div{grid-template-columns:1fr}.account-identity{align-items:flex-start}.account-avatar{width:64px;height:64px}}

.account-alert.error{background:#fff0f0;border:1px solid #efc3c3;color:#a72d2d}

/* ===== V39.13 — in-app work-order attachments / pCloud browser ===== */
.work-order-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:start;direction:ltr}.work-order-local-nav,.work-order-content{direction:rtl}.work-order-local-nav{position:sticky;top:82px;padding:10px!important;background:var(--v39-panel,#fff)!important;border-color:var(--v39-line,#dbe6ee)!important}.wo-nav-head{display:flex;align-items:center;gap:9px;padding:8px 8px 12px;border-bottom:1px solid var(--v39-line,#e2e8ee);margin-bottom:6px}.wo-nav-head>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--v39-soft,#eef5f9);font-size:18px}.wo-nav-head b,.wo-nav-head small{display:block}.wo-nav-head b{font-size:11px;color:var(--v39-text,#17344b)}.wo-nav-head small{font-size:9px;color:var(--v39-muted,#71879a);margin-top:2px}.work-order-local-nav>a{display:flex;align-items:center;gap:8px;padding:9px 8px;border-radius:8px;text-decoration:none;color:var(--v39-muted,#587086);font-size:10px;font-weight:800;margin:2px 0;border:1px solid transparent}.work-order-local-nav>a>span{width:20px;text-align:center}.work-order-local-nav>a>em{margin-right:auto;min-width:20px;height:20px;border-radius:10px;background:var(--v39-soft,#eef5f9);display:grid;place-items:center;font-style:normal;font-size:8px;color:var(--v39-text,#17344b)}.work-order-local-nav>a:hover,.work-order-local-nav>a.active{background:color-mix(in srgb,var(--v39-blue,#0b6fa4) 9%,var(--v39-panel,#fff));border-color:color-mix(in srgb,var(--v39-blue,#0b6fa4) 20%,var(--v39-line,#dbe6ee));color:var(--v39-blue,#0b6fa4)}.work-order-content{display:grid;gap:12px;min-width:0}.wo-section{scroll-margin-top:86px;background:var(--v39-panel,#fff)!important;border-color:var(--v39-line,#dbe6ee)!important}.wo-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.wo-section-head h2{margin:0;color:var(--v39-text,#17344b);font-size:15px}.wo-section-head p{margin:3px 0 0;color:var(--v39-muted,#71879a);font-size:9px}.wo-section-head>b{min-width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--v39-soft,#eef5f9);color:var(--v39-text,#17344b);font-size:10px}.wo-reference-strip{display:flex;align-items:center;gap:9px;margin-top:12px;padding:9px 11px;border-radius:9px;background:var(--v39-soft,#eef5f9);border:1px solid var(--v39-line,#dbe6ee)}.wo-reference-strip span,.wo-reference-strip small{font-size:9px;color:var(--v39-muted,#71879a)}.wo-reference-strip b{font-size:12px;color:var(--v39-text,#17344b)}.wo-reference-strip small{margin-right:auto}.wo-inline-link{color:var(--v39-blue,#0b6fa4);font-weight:800;text-decoration:none}.workflow-wide{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px!important}.timeline-full{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.attachment-counts{display:flex;gap:6px}.attachment-counts span{font-size:9px;font-weight:800;border:1px solid var(--v39-line,#dbe6ee);background:var(--v39-soft,#eef5f9);color:var(--v39-text,#17344b);border-radius:8px;padding:6px 8px}.attachment-state{display:grid;gap:3px;padding:11px 13px;border-radius:9px;margin-bottom:10px;border:1px solid var(--v39-line,#dbe6ee)}.attachment-state b{font-size:10px}.attachment-state span{font-size:9px;color:var(--v39-muted,#71879a)}.attachment-state.warning{background:color-mix(in srgb,#f59e0b 8%,var(--v39-panel,#fff));border-color:color-mix(in srgb,#f59e0b 35%,var(--v39-line,#dbe6ee))}.attachment-state.info{background:color-mix(in srgb,var(--v39-blue,#0b6fa4) 7%,var(--v39-panel,#fff))}.attachment-breadcrumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 10px;padding:8px 10px;border:1px solid var(--v39-line,#dbe6ee);border-radius:8px;background:var(--v39-soft,#eef5f9)}.attachment-breadcrumbs a{font-size:9px;font-weight:800;color:var(--v39-blue,#0b6fa4);text-decoration:none}.attachment-breadcrumbs i{font-style:normal;color:var(--v39-muted,#71879a)}.attachment-dropzone{display:flex;align-items:center;gap:12px;padding:16px;border:2px dashed color-mix(in srgb,var(--v39-blue,#0b6fa4) 34%,var(--v39-line,#dbe6ee));border-radius:11px;background:color-mix(in srgb,var(--v39-blue,#0b6fa4) 4%,var(--v39-panel,#fff));cursor:pointer;transition:.18s ease;margin-bottom:9px}.attachment-dropzone:hover,.attachment-dropzone.dragging{border-color:var(--v39-blue,#0b6fa4);background:color-mix(in srgb,var(--v39-blue,#0b6fa4) 9%,var(--v39-panel,#fff))}.attachment-dropzone.uploading{pointer-events:none;opacity:.72}.drop-icon{width:43px;height:43px;border-radius:11px;display:grid;place-items:center;background:var(--v39-blue,#0b6fa4);color:#fff;font-size:21px;font-weight:900}.attachment-dropzone>div:nth-child(3){flex:1}.attachment-dropzone b,.attachment-dropzone span{display:block}.attachment-dropzone b{font-size:11px;color:var(--v39-text,#17344b)}.attachment-dropzone span{font-size:8px;color:var(--v39-muted,#71879a);margin-top:3px}.attachment-upload-progress{padding:9px 11px;border:1px solid var(--v39-line,#dbe6ee);border-radius:9px;margin-bottom:10px;background:var(--v39-soft,#eef5f9)}.attachment-upload-progress>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.attachment-upload-progress b,.attachment-upload-progress span{font-size:9px;color:var(--v39-text,#17344b)}.attachment-upload-progress progress{display:block;width:100%;height:8px}.attachment-upload-progress.error{border-color:color-mix(in srgb,#ef4444 45%,var(--v39-line,#dbe6ee))}.attachment-subtitle{font-size:9px;font-weight:900;color:var(--v39-muted,#71879a);margin:12px 0 7px}.attachment-folder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px}.attachment-folder{display:flex;align-items:center;gap:9px;text-decoration:none;border:1px solid var(--v39-line,#dbe6ee);border-radius:9px;padding:10px;background:var(--v39-panel-strong,var(--v39-panel,#fff));color:var(--v39-text,#17344b)}.attachment-folder>span{font-size:22px}.attachment-folder>div{min-width:0;flex:1}.attachment-folder b,.attachment-folder small{display:block}.attachment-folder b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-folder small{font-size:8px;color:var(--v39-muted,#71879a);margin-top:2px}.attachment-folder>i{font-style:normal;color:var(--v39-muted,#71879a)}.attachment-folder:hover{border-color:var(--v39-blue,#0b6fa4)}.attachment-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:9px}.attachment-file{border:1px solid var(--v39-line,#dbe6ee);border-radius:10px;overflow:hidden;background:var(--v39-panel-strong,var(--v39-panel,#fff))}.attachment-preview{width:100%;aspect-ratio:4/3;border:0;padding:0;background:var(--v39-soft,#eef5f9);display:grid;place-items:center;cursor:pointer;overflow:hidden}.attachment-preview img{width:100%;height:100%;object-fit:cover;display:block}.file-kind-icon{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;background:var(--v39-panel,#fff);border:1px solid var(--v39-line,#dbe6ee);font-weight:900;font-size:11px;color:var(--v39-blue,#0b6fa4)}.attachment-file-info{padding:8px 9px 4px}.attachment-file-info b,.attachment-file-info small{display:block}.attachment-file-info b{font-size:9px;color:var(--v39-text,#17344b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-file-info small{font-size:8px;color:var(--v39-muted,#71879a);margin-top:2px}.attachment-file-actions{display:flex;gap:5px;padding:5px 8px 8px}.attachment-file-actions button,.attachment-file-actions a{flex:1;border:1px solid var(--v39-line,#dbe6ee);background:var(--v39-panel,#fff);color:var(--v39-blue,#0b6fa4);border-radius:7px;text-decoration:none;padding:6px 5px;font:800 8px Tahoma,Arial;cursor:pointer;text-align:center}.attachment-file-actions button:hover,.attachment-file-actions a:hover{border-color:var(--v39-blue,#0b6fa4)}.attachment-empty{grid-column:1/-1}.attachment-modal[hidden]{display:none!important}.attachment-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:22px}.attachment-modal-backdrop{position:absolute;inset:0;background:rgba(1,11,20,.78);backdrop-filter:blur(4px)}.attachment-modal-dialog{position:relative;width:min(1100px,94vw);height:min(820px,90vh);background:var(--v39-panel,#fff);border:1px solid var(--v39-line,#dbe6ee);border-radius:14px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;box-shadow:0 24px 80px rgba(0,0,0,.3)}.attachment-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid var(--v39-line,#dbe6ee)}.attachment-modal-head b{font-size:10px;color:var(--v39-text,#17344b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-modal-head button{width:32px;height:32px;border:1px solid var(--v39-line,#dbe6ee);border-radius:8px;background:var(--v39-soft,#eef5f9);color:var(--v39-text,#17344b);font-size:20px;cursor:pointer}.attachment-modal-body{min-height:0;display:grid;place-items:center;background:#07131d;padding:8px}.attachment-modal-body img,.attachment-modal-body video{max-width:100%;max-height:100%;object-fit:contain}.attachment-modal-body iframe{width:100%;height:100%;border:0;background:#fff}.attachment-modal-open{overflow:hidden}
@media(max-width:1050px){.work-order-shell{grid-template-columns:1fr;direction:rtl}.work-order-local-nav{position:static;display:flex;gap:5px;overflow:auto;white-space:nowrap}.wo-nav-head{display:none}.work-order-local-nav>a{flex:0 0 auto}.attachment-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
@media(max-width:650px){.attachment-dropzone{align-items:flex-start;flex-wrap:wrap}.attachment-dropzone>div:nth-child(3){flex-basis:calc(100% - 60px)}.attachment-dropzone>.btn{width:100%}.attachment-folder-grid{grid-template-columns:1fr}.attachment-gallery{grid-template-columns:1fr 1fr}.attachment-modal{padding:8px}.attachment-modal-dialog{width:98vw;height:92vh}}
.wo-number-link{color:var(--v39-blue,#0b6fa4);font-weight:900;text-decoration:none;border-bottom:1px dashed color-mix(in srgb,var(--v39-blue,#0b6fa4) 35%,transparent)}.wo-number-link:hover{border-bottom-style:solid}

/* ===== V39.15 Work Assignment & Dispatch Center ===== */
.dispatch-page{--dispatch-blue:#1765e8;--dispatch-soft:color-mix(in srgb,var(--v39-blue,#1765e8) 8%,var(--v39-panel,#fff))}.dispatch-flash{padding:11px 14px;border-radius:10px;margin-bottom:12px;font-size:11px;font-weight:800}.dispatch-flash.ok{background:#eaf9f0;color:#17567a;border:1px solid #bcd7e7}.dispatch-flash.error{background:#fff0f0;color:#b52f38;border:1px solid #f3c6ca}.dispatch-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:12px}.dispatch-kpi{background:var(--v39-panel,#fff);border:1px solid var(--v39-line,#dce6ee);border-radius:12px;padding:13px;box-shadow:var(--v39-shadow,0 8px 20px rgba(10,35,60,.05))}.dispatch-kpi span,.dispatch-kpi small,.dispatch-kpi strong{display:block}.dispatch-kpi span{font-size:9px;color:var(--v39-muted,#718398)}.dispatch-kpi strong{font-size:24px;margin:3px 0;color:var(--v39-text,#17344b)}.dispatch-kpi small{font-size:8px;color:var(--v39-muted,#718398)}.dispatch-kpi.pending strong{color:#dd7a17}.dispatch-kpi.active strong{color:#1765e8}.dispatch-kpi.done strong{color:#156594}.dispatch-kpi.late strong{color:#db3c49}.dispatch-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.7fr);gap:11px;margin-bottom:11px}.dispatch-create,.dispatch-live,.dispatch-table-card,.dispatch-detail,.dispatch-integrations{background:var(--v39-panel,#fff)!important;border-color:var(--v39-line,#dce6ee)!important;padding:15px!important}.dispatch-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}.dispatch-section-head b,.dispatch-section-head small{display:block}.dispatch-section-head b{font-size:13px;color:var(--v39-text,#17344b)}.dispatch-section-head small{font-size:8px;color:var(--v39-muted,#718398);margin-top:3px}.dispatch-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dispatch-form label,.dispatch-policy-grid label{display:grid;gap:5px;font-size:9px;color:var(--v39-muted,#718398);font-weight:700}.dispatch-form input,.dispatch-form select,.dispatch-form textarea,.dispatch-policy-grid input,.dispatch-actions-box input,.dispatch-actions-box select,.dispatch-filters select{width:100%;border:1px solid var(--v39-line,#dce6ee);background:var(--v39-panel-strong,#fff);color:var(--v39-text,#17344b);border-radius:8px;padding:9px;font-family:inherit}.dispatch-form textarea{resize:vertical}.dispatch-form .span2,.dispatch-policy-grid .span2{grid-column:1/-1}.dispatch-submit{margin-top:2px}.dispatch-employee-list{display:grid;gap:7px;max-height:430px;overflow:auto}.dispatch-employee{display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--v39-line,#e1e8ee);border-radius:10px;background:var(--v39-soft,#f6f9fb)}.dispatch-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eaf2ff;color:#1765e8;font-weight:900}.dispatch-employee b,.dispatch-employee small{display:block}.dispatch-employee b{font-size:10px}.dispatch-employee small{font-size:8px;color:var(--v39-muted,#718398);margin-top:2px}.dispatch-employee-state{font-size:8px;color:var(--v39-muted,#718398);text-align:left}.dispatch-employee-state i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#aab4bd;margin-left:4px}.dispatch-employee-state i.on{background:#1c77ab}.dispatch-employee-state em{display:block;color:#195f87;font-style:normal;margin-top:3px}.dispatch-table-card{margin-bottom:11px}.dispatch-filters{display:flex;gap:6px;align-items:center}.dispatch-filters select{width:auto;min-width:130px;padding:7px}.dispatch-table{width:100%;border-collapse:collapse;min-width:920px;font-size:9px}.dispatch-table th{padding:9px;background:#0d4c72;color:white;text-align:right}.dispatch-table td{padding:9px;border-bottom:1px solid var(--v39-line,#e3e9ef);color:var(--v39-text,#17344b)}.dispatch-table td b,.dispatch-table td small{display:block}.dispatch-table td small{font-size:7px;color:var(--v39-muted,#718398);margin-top:2px}.dispatch-overdue td{background:color-mix(in srgb,#ef4444 4%,var(--v39-panel,#fff))}.dispatch-status,.dispatch-priority{display:inline-flex;padding:4px 7px;border-radius:20px;font-size:8px;font-weight:900}.dispatch-status.assigned{background:#fff3df;color:#b8660c}.dispatch-status.accepted,.dispatch-status.en_route,.dispatch-status.arrived,.dispatch-status.in_progress{background:#eaf2ff;color:#1765e8}.dispatch-status.completed{background:#e8f4fb;color:#165e87}.dispatch-status.rejected,.dispatch-status.cancelled{background:#ffecee;color:#c5323e}.dispatch-priority.normal{background:#edf2f5;color:#657887}.dispatch-priority.high{background:#fff4df;color:#b66b11}.dispatch-priority.urgent,.dispatch-priority.critical{background:#ffecef;color:#ca3240}.dispatch-late-text{color:#d63242!important}.dispatch-detail{margin-bottom:11px}.dispatch-detail-grid{display:grid;grid-template-columns:1fr 290px;gap:12px}.dispatch-task-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dispatch-task-info>div{padding:10px;border:1px solid var(--v39-line,#e2e8ee);border-radius:10px;background:var(--v39-soft,#f7fafb)}.dispatch-task-info span,.dispatch-task-info b{display:block}.dispatch-task-info span{font-size:8px;color:var(--v39-muted,#718398)}.dispatch-task-info b{font-size:10px;margin-top:3px}.dispatch-actions-box{padding:12px;border:1px solid var(--v39-line,#e2e8ee);border-radius:11px;display:grid;gap:7px}.dispatch-actions-box form{display:grid;gap:6px}.dispatch-manual-notify{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.dispatch-manual-notify form{display:block}.dispatch-manual-notify .btn{width:100%;padding:7px;font-size:8px}.dispatch-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.dispatch-history-grid h3{font-size:11px;margin:0 0 9px}.dispatch-timeline,.dispatch-notify-log{border-top:1px solid var(--v39-line,#e3e9ee);padding-top:9px}.dispatch-event{display:grid;grid-template-columns:10px 1fr;gap:7px;padding-bottom:10px}.dispatch-event i{width:8px;height:8px;border-radius:50%;background:#1765e8;margin-top:4px}.dispatch-event b,.dispatch-event small{display:block}.dispatch-event b{font-size:9px}.dispatch-event small{font-size:7px;color:var(--v39-muted,#718398);margin-top:2px}.dispatch-event p{font-size:8px;margin:3px 0 0;color:var(--v39-muted,#718398)}.dispatch-notify-log>div{display:grid;grid-template-columns:22px 70px 85px 1fr;gap:5px;align-items:center;padding:7px 0;border-bottom:1px solid var(--v39-line,#e8edf1);font-size:8px}.dispatch-notify-log em{font-style:normal;border-radius:10px;padding:3px 5px;text-align:center;background:#eef2f5}.dispatch-notify-log em.sent{background:#e8f4fb;color:#145981}.dispatch-notify-log em.failed{background:#ffecee;color:#c32e3d}.dispatch-notify-log em.needs_activation,.dispatch-notify-log em.disabled{background:#fff3df;color:#a96212}.dispatch-notify-log small{color:var(--v39-muted,#718398)}.dispatch-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.dispatch-service{display:flex;gap:10px;padding:12px;border:1px solid var(--v39-line,#e2e8ee);border-radius:11px;background:var(--v39-soft,#f8fafb)}.service-icon{font-size:24px}.service-main{min-width:0}.service-main b,.service-main small,.service-main code{display:block}.service-main b{font-size:10px}.service-main small{font-size:8px;color:var(--v39-muted,#718398);margin:2px 0 6px}.service-main code{font-size:7px;white-space:normal;color:var(--v39-muted,#718398);margin-top:5px}.service-state{display:inline-flex;padding:4px 7px;border-radius:20px;font-size:8px;font-weight:900}.service-state.ready{background:#e8f4fb;color:#165e87}.service-state.waiting{background:#fff3df;color:#ad6511}.dispatch-settings-form{border-top:1px solid var(--v39-line,#e1e8ee);margin-top:12px;padding-top:12px}.dispatch-switches{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px}.dispatch-switches label{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:800;color:var(--v39-text,#17344b)}.dispatch-switches.secondary{margin-top:10px}.dispatch-policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.dispatch-service-note{margin-top:11px;padding:9px;border-radius:9px;background:var(--v39-soft,#f4f8fa);font-size:8px;color:var(--v39-muted,#718398)}.dispatch-service-note code{direction:ltr;display:inline-block}.btn.small{padding:6px 9px;font-size:8px}@media(max-width:1100px){.dispatch-kpis{grid-template-columns:repeat(3,1fr)}.dispatch-layout,.dispatch-detail-grid{grid-template-columns:1fr}.dispatch-policy-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.dispatch-kpis{grid-template-columns:1fr 1fr}.dispatch-form,.dispatch-task-info,.dispatch-history-grid,.dispatch-service-grid,.dispatch-policy-grid{grid-template-columns:1fr}.dispatch-form .span2,.dispatch-policy-grid .span2{grid-column:auto}.dispatch-filters{align-items:stretch;flex-direction:column}.dispatch-filters select{width:100%}.dispatch-manual-notify{grid-template-columns:1fr}.dispatch-kpi:last-child{grid-column:1/-1}}

/* ===== V39.16 Generic repeated locations per worksheet ===== */
.repeat-location-btn{white-space:nowrap}.repeat-page-title p{max-width:820px}.repeat-scan-toolbar{padding:14px 16px;margin-bottom:12px;background:var(--v39-panel,#fff);border-color:var(--v39-line,#dbe6ee)}.repeat-scan-toolbar form{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.repeat-scan-toolbar label{display:grid;gap:5px;min-width:220px;font-size:10px;color:var(--v39-muted,#657b8d)}.repeat-scan-toolbar select{height:38px;border:1px solid var(--v39-line,#dbe6ee);border-radius:8px;background:var(--v39-panel-strong,#fff);color:var(--v39-text,#17344b);padding:0 10px}.repeat-scan-toolbar small{display:block;margin-top:8px;color:var(--v39-muted,#718596);font-size:10px}.repeat-location-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.repeat-location-kpis .metric-card{padding:13px}.repeat-location-kpis span{display:block;font-size:10px;color:var(--v39-muted,#718596)}.repeat-location-kpis strong{display:block;margin-top:5px;font-size:24px;color:var(--v39-text,#17344b)}.repeat-warning{padding:10px 12px;margin-bottom:12px;border:1px solid #e6bf73;border-radius:9px;background:rgba(245,158,11,.08);font-size:11px}.repeat-groups-list{display:grid;gap:10px}.repeat-group-card{padding:0;overflow:hidden;background:var(--v39-panel,#fff);border-color:var(--v39-line,#dbe6ee)}.repeat-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--v39-line,#dbe6ee)}.repeat-group-head h2{margin:3px 0 0;font-size:15px;color:var(--v39-text,#17344b)}.repeat-group-no{font-size:9px;color:var(--v39-muted,#718596)}.repeat-group-actions{display:flex;gap:7px;align-items:center}.repeat-records-table{overflow:auto}.repeat-records-table table{width:100%;border-collapse:collapse;min-width:760px;font-size:11px}.repeat-records-table th{padding:10px;background:color-mix(in srgb,var(--v39-panel,#fff) 78%,var(--v39-soft,#edf4f8));color:var(--v39-muted,#5f7385);text-align:right;white-space:nowrap}.repeat-records-table td{padding:10px;border-top:1px solid var(--v39-line,#e4ebf0);color:var(--v39-text,#17344b);white-space:nowrap}.repeat-source-row{font-size:9px;color:var(--v39-muted,#718596)}.repeat-empty{text-align:center;padding:48px 20px}.repeat-empty>div{font-size:40px}.repeat-empty h2{margin:8px 0 4px}.repeat-empty p{margin:0;color:var(--v39-muted,#718596)}
@media(max-width:900px){.repeat-location-kpis{grid-template-columns:repeat(2,1fr)}.repeat-group-head{align-items:flex-start;flex-direction:column}.repeat-group-actions{width:100%;justify-content:space-between}}@media(max-width:520px){.repeat-location-kpis{grid-template-columns:1fr 1fr}.repeat-scan-toolbar form>*{width:100%}.repeat-scan-toolbar label{min-width:0}}
/* ===== V39.17 Intelligent Excel Analyzer ===== */
.analyzer-page{--ana:#176ee8}.analyzer-upload-card{padding:18px;margin-bottom:14px}.analyzer-upload-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.3fr) 180px auto;gap:12px;align-items:end}.analyzer-upload-form>div b,.analyzer-upload-form>div small{display:block}.analyzer-upload-form>div small{color:var(--v39-muted,#789);margin-top:5px}.analyzer-upload-form label{display:grid;gap:5px;font-size:11px}.analyzer-upload-form input{width:100%;border:1px solid var(--v39-line,#dce5ed);border-radius:8px;padding:9px;background:var(--v39-panel-strong,#fff);color:var(--v39-text,#123)}.analyzer-cap-grid,.analyzer-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.analyzer-kpis{grid-template-columns:repeat(6,1fr)}.analyzer-cap-grid .metric-card,.analyzer-kpis .metric-card{display:grid;gap:5px}.analyzer-cap-grid span,.analyzer-kpis small{color:var(--v39-muted,#789);font-size:10px}.analyzer-kpis strong{font-size:24px}.analyzer-history{overflow:hidden}.analyzer-history table,.analyzer-rel-table,.analyzer-preview table{width:100%;border-collapse:collapse;font-size:11px}.analyzer-history th,.analyzer-history td,.analyzer-rel-table th,.analyzer-rel-table td,.analyzer-preview th,.analyzer-preview td{padding:10px;border-bottom:1px solid var(--v39-line,#e6edf3);text-align:right;white-space:nowrap}.analyzer-rel-table td small{display:block;color:var(--v39-muted,#789);margin-top:3px}.analyzer-question{padding:13px;margin:12px 0}.analyzer-question form{display:grid;grid-template-columns:260px 1fr auto;gap:10px;align-items:center}.analyzer-question form b,.analyzer-question form small{display:block}.analyzer-question form small{font-size:9px;color:var(--v39-muted,#789)}.analyzer-question input{height:42px;border:1px solid var(--v39-line,#dce5ed);border-radius:9px;padding:0 12px;background:var(--v39-panel-strong,#fff);color:var(--v39-text,#123)}.analyzer-answer{margin-top:10px;padding:11px;border-radius:8px;background:color-mix(in srgb,var(--ana) 7%,var(--v39-panel,#fff));border:1px solid color-mix(in srgb,var(--ana) 20%,var(--v39-line,#ddd));line-height:1.8;font-size:11px}.analyzer-section{margin:12px 0;overflow:hidden}.analyzer-section-head{display:flex;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--v39-line,#e6edf3)}.analyzer-section-head h2{margin:0 0 4px;font-size:16px}.analyzer-section-head p{margin:0;color:var(--v39-muted,#789);font-size:10px}.analyzer-section-head>span{font-size:10px;color:var(--v39-muted,#789)}.confidence{width:90px;height:7px;background:var(--v39-soft,#edf3f8);border-radius:20px;overflow:hidden;display:inline-block;margin-left:6px}.confidence span{display:block;height:100%;background:var(--ana);border-radius:20px}.analyzer-location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px}.analyzer-location-card{border:1px solid var(--v39-line,#dde5ec);border-radius:10px;padding:12px;background:var(--v39-panel-strong,#fff);display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:start}.analyzer-location-card>div:first-child b,.analyzer-location-card>div:first-child small{display:block}.analyzer-location-card>div:first-child small{color:var(--v39-muted,#789);font-size:9px;margin-top:4px}.mini-stat{text-align:center;padding:7px 10px;border-radius:8px;background:var(--v39-soft,#f4f8fb)}.mini-stat strong,.mini-stat span{display:block}.mini-stat strong{font-size:18px}.mini-stat span{font-size:8px;color:var(--v39-muted,#789)}.analyzer-location-card details{grid-column:1/-1}.analyzer-location-card summary{cursor:pointer;color:var(--ana);font-size:10px;font-weight:700}.repeat-mini-list{display:grid;gap:5px;margin-top:8px}.repeat-mini-list>div{display:grid;grid-template-columns:80px 1fr 1fr;gap:8px;padding:7px;background:var(--v39-soft,#f6f9fb);border-radius:7px;font-size:9px}.analyzer-quality{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px}.analyzer-quality>div{text-align:center;padding:15px;border:1px solid var(--v39-line,#e2e8ee);border-radius:10px}.analyzer-quality strong,.analyzer-quality span{display:block}.analyzer-quality strong{font-size:26px}.analyzer-quality span{font-size:10px;color:var(--v39-muted,#789)}.analyzer-sheets{display:grid;gap:10px;margin:12px 0}.analyzer-sheet{overflow:hidden}.analyzer-sheet>summary{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}.analyzer-sheet>summary b,.analyzer-sheet>summary span{display:block}.analyzer-sheet>summary span,.analyzer-sheet>summary em{font-size:9px;color:var(--v39-muted,#789);font-style:normal;margin-top:3px}.analyzer-column-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;border-top:1px solid var(--v39-line,#e4eaf0)}.analyzer-column{border:1px solid var(--v39-line,#e1e8ee);border-radius:9px;padding:10px;min-width:0}.analyzer-column>div{display:flex;justify-content:space-between;gap:6px}.type-pill{font-size:8px;padding:3px 6px;border-radius:10px;background:color-mix(in srgb,var(--ana) 9%,transparent);color:var(--ana)}.analyzer-column small{display:block;color:var(--v39-muted,#789);font-size:8px;margin-top:7px}.analyzer-column p{margin:6px 0 0;font-size:8px;color:var(--v39-muted,#789);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analyzer-preview{max-height:310px}.analyzer-alert{padding:10px 12px;border-radius:8px;margin-bottom:10px}.analyzer-alert.error{background:#fff0f0;color:#b63030;border:1px solid #ffd1d1}.danger-btn{color:#b42318!important;border-color:#efc3bf!important}@media(max-width:1150px){.analyzer-upload-form{grid-template-columns:1fr 1fr}.analyzer-kpis{grid-template-columns:repeat(3,1fr)}.analyzer-column-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.analyzer-upload-form,.analyzer-question form,.analyzer-location-grid{grid-template-columns:1fr}.analyzer-cap-grid,.analyzer-kpis,.analyzer-quality{grid-template-columns:repeat(2,1fr)}.analyzer-column-grid{grid-template-columns:1fr}.analyzer-location-card{grid-template-columns:1fr 1fr}.analyzer-location-card>div:first-child{grid-column:1/-1}}

/* ===== V39.18 Data-first spatial Excel analyzer ===== */
.analyzer-kpis-v18{grid-template-columns:repeat(6,minmax(0,1fr))}.analyzer-discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px}.analyzer-discovery-item{padding:12px;border:1px solid var(--v39-line,#dfe7ed);border-radius:10px;background:var(--v39-panel-strong,#fff)}.analyzer-discovery-item b,.analyzer-discovery-item span{display:block}.analyzer-discovery-item span{margin-top:5px;color:var(--v39-muted,#6f8292);font-size:10px;line-height:1.7}.analyzer-location-head{align-items:end}.analyzer-radius-form{display:flex;align-items:end;gap:7px}.analyzer-radius-form label{display:grid;grid-template-columns:72px auto;gap:5px;align-items:center;font-size:9px;color:var(--v39-muted,#6f8292)}.analyzer-radius-form label input{grid-row:2;width:72px;height:34px;border:1px solid var(--v39-line,#dfe7ed);border-radius:7px;padding:0 8px;background:var(--v39-panel-strong,#fff);color:var(--v39-text,#17344b)}.analyzer-radius-form label span{grid-row:2}.analyzer-spatial-sheet{padding:15px;border-bottom:1px solid var(--v39-line,#e1e8ee)}.analyzer-spatial-sheet:last-child{border-bottom:0}.analyzer-spatial-title{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:11px}.analyzer-spatial-title h3{margin:0;font-size:16px}.analyzer-spatial-title p{margin:5px 0 0;font-size:9px;color:var(--v39-muted,#6f8292)}.analyzer-threshold-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:11px}.analyzer-threshold{padding:10px;border:1px solid var(--v39-line,#dfe7ed);border-radius:9px;background:var(--v39-panel-strong,#fff);text-align:center}.analyzer-threshold small,.analyzer-threshold strong,.analyzer-threshold span{display:block}.analyzer-threshold small{font-size:8px;color:var(--v39-muted,#718596)}.analyzer-threshold strong{font-size:21px;margin:4px 0}.analyzer-threshold span{font-size:8px;color:var(--v39-muted,#718596)}.analyzer-threshold.active{border-color:color-mix(in srgb,var(--ana) 58%,var(--v39-line,#ddd));background:color-mix(in srgb,var(--ana) 7%,var(--v39-panel,#fff))}.analyzer-threshold.exact{border-style:dashed}.analyzer-map{height:420px;border:1px solid var(--v39-line,#dce5ed);border-radius:11px;overflow:hidden;margin:11px 0;background:#e9eef2}.analyzer-map-popup{direction:rtl;text-align:right;min-width:190px}.analyzer-map-popup b,.analyzer-map-popup span,.analyzer-map-popup em,.analyzer-map-popup small{display:block}.analyzer-map-popup span{font-size:9px;color:#6c7b88;margin:3px 0}.analyzer-map-popup em{font-style:normal;color:#bf2e36;font-size:9px;font-weight:700;margin-bottom:4px}.analyzer-map-popup small{font-size:9px;margin:2px 0}.analyzer-repeat-list{display:grid;gap:8px;margin-top:12px}.analyzer-repeat-list-head{display:flex;justify-content:space-between;gap:10px;color:var(--v39-muted,#718596);font-size:9px}.analyzer-repeat-list-head b{color:var(--v39-text,#17344b);font-size:11px}.analyzer-repeat-group{border:1px solid var(--v39-line,#dfe7ed);border-radius:10px;overflow:hidden;background:var(--v39-panel-strong,#fff)}.analyzer-repeat-group>summary{list-style:none;cursor:pointer;padding:11px 13px;display:flex;justify-content:space-between;gap:10px;align-items:center}.analyzer-repeat-group>summary b,.analyzer-repeat-group>summary small{display:block}.analyzer-repeat-group>summary small{font-size:8px;color:var(--v39-muted,#718596);margin-top:3px}.analyzer-repeat-group>summary>span{font-size:9px;color:var(--ana)}.analyzer-member-table{width:100%;border-collapse:collapse;min-width:900px;font-size:9px}.analyzer-member-table th,.analyzer-member-table td{padding:8px 9px;border-top:1px solid var(--v39-line,#e5ebef);white-space:nowrap;text-align:right}.analyzer-member-table th{background:var(--v39-soft,#f2f6f8);color:var(--v39-muted,#607586)}.analyzer-key-relation td{background:color-mix(in srgb,var(--ana) 4%,var(--v39-panel,#fff))}.analyzer-candidate-note{padding:9px 12px;border-top:1px solid var(--v39-line,#e4eaf0);font-size:9px;color:var(--v39-muted,#718596);display:flex;gap:7px;flex-wrap:wrap}.analyzer-candidate-note span{padding:3px 7px;border-radius:12px;background:var(--v39-soft,#f3f7f9)}
@media(max-width:1100px){.analyzer-threshold-grid{grid-template-columns:repeat(3,1fr)}.analyzer-kpis-v18{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.analyzer-discovery-grid{grid-template-columns:1fr}.analyzer-threshold-grid{grid-template-columns:repeat(2,1fr)}.analyzer-location-head,.analyzer-spatial-title,.analyzer-repeat-list-head{flex-direction:column;align-items:stretch}.analyzer-radius-form{width:100%;justify-content:flex-start}.analyzer-map{height:330px}}
/* V40 system health */
.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.health-item{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--border,#dfe7ef);border-radius:16px;background:rgba(255,255,255,.72)}.health-item div{flex:1}.health-item b,.health-item small{display:block}.health-item small{opacity:.7;margin-top:3px}.health-dot{width:11px;height:11px;border-radius:50%;background:#eab308;box-shadow:0 0 0 5px rgba(234,179,8,.12)}.health-item.ok .health-dot{background:#166fa3;box-shadow:0 0 0 5px rgba(22,111,163,.12)}.health-item.error .health-dot{background:#dc2626;box-shadow:0 0 0 5px rgba(220,38,38,.12)}.health-item strong{font-size:12px}.health-item.ok strong{color:#155980}.health-item.warning strong{color:#a16207}.health-item.error strong{color:#b91c1c}


/* V40.1 — Financial intelligence, forecasting, Daily Brief and flexible question UX */
.finance-intelligence-v401{margin:14px 0 18px;padding:16px;border:1px solid var(--theme-border,#d7e2e9);border-radius:14px;background:linear-gradient(135deg,var(--theme-panel,#fff),var(--theme-panel-soft,#f5f9fc));box-shadow:0 10px 28px rgba(14,48,73,.08)}
.finance-rings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.finance-ring-card{display:grid;place-items:center;gap:8px;padding:14px 10px;border:1px solid var(--theme-border-soft,#e5edf2);border-radius:12px;background:var(--theme-panel,#fff)}.finance-ring-card>small{font-size:9px;color:var(--theme-text-3,#7890a3)}
.finance-ring{--pct:0;width:122px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#1872a6 calc(var(--pct)*1%),rgba(24,114,166,.12) 0);position:relative}.finance-ring:before{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--theme-panel,#fff);box-shadow:inset 0 0 0 1px var(--theme-border-soft,#e5edf2)}.finance-ring>div{position:relative;text-align:center;z-index:1}.finance-ring b,.finance-ring span{display:block}.finance-ring b{font-size:22px}.finance-ring span{font-size:9px;color:var(--theme-text-3,#7890a3)}.finance-ring.ring-blue{background:conic-gradient(#247eea calc(var(--pct)*1%),rgba(36,126,234,.12) 0)}.finance-ring.ring-purple{background:conic-gradient(#7957dc calc(var(--pct)*1%),rgba(121,87,220,.12) 0)}.finance-ring.ring-orange{background:conic-gradient(#f59e0b calc(var(--pct)*1%),rgba(245,158,11,.13) 0)}
.forecast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.forecast-card{padding:14px;border:1px solid var(--theme-border-soft,#e5edf2);border-radius:11px;background:var(--theme-panel,#fff);position:relative;overflow:hidden}.forecast-card:after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:#5f89aa}.forecast-card.primary:after{background:#1f80e8}.forecast-card span,.forecast-card strong,.forecast-card i{display:block}.forecast-card span{font-size:9px;color:var(--theme-text-3,#6d8496)}.forecast-card strong{font-size:21px;margin:6px 0;color:var(--theme-text,#17344b)}.forecast-card strong small{font-size:10px}.forecast-card i{font-size:8px;font-style:normal;color:var(--theme-text-3,#7890a3)}
.forecast-alert{margin-top:10px;padding:11px 13px;border-radius:10px;background:rgba(45,124,220,.08);border:1px solid rgba(45,124,220,.22);display:flex;gap:10px;align-items:center}.forecast-alert.good{background:rgba(24,114,166,.08);border-color:rgba(24,114,166,.25)}.forecast-alert.danger{background:rgba(220,64,76,.09);border-color:rgba(220,64,76,.25)}.forecast-alert b{white-space:nowrap}.forecast-alert span{font-size:10px}
.finance-trend-card{margin-top:12px;padding:14px;border:1px solid var(--theme-border-soft,#e5edf2);border-radius:12px;background:var(--theme-panel,#fff)}.finance-monthly-chart{display:grid;gap:9px;margin-top:12px}.finance-month-row{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:10px}.month-label{font-size:9px;font-weight:800;color:var(--theme-text-2,#52697c)}.month-bars{display:grid;gap:4px}.month-bars>div{height:18px;background:var(--theme-panel-soft,#f3f7fa);border-radius:5px;position:relative;overflow:hidden}.month-bars i{position:absolute;inset-block:0;right:0;min-width:2px;border-radius:5px}.bar-certified{background:#247eea}.bar-paid{background:#1872a6}.bar-expense{background:#e07c2f}.month-bars small{position:relative;z-index:1;padding:0 7px;line-height:18px;font-size:7px;color:var(--theme-text,#17344b)}
.daily-brief-card{margin:0 0 14px;padding:15px;border-radius:14px;border:1px solid rgba(46,128,208,.24);background:linear-gradient(125deg,rgba(12,48,75,.96),rgba(14,72,107,.91));color:#eef8ff;box-shadow:0 15px 35px rgba(7,30,50,.18)}.daily-brief-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.daily-brief-head span{font-size:8px;letter-spacing:1.5px;color:#78c8ff}.daily-brief-head h2{margin:3px 0;font-size:17px;color:#fff}.daily-brief-head p{margin:0;font-size:9px;color:#b9cfde}.daily-brief-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}.daily-brief-grid a{display:block;padding:11px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.055);text-decoration:none;color:#fff}.daily-brief-grid b,.daily-brief-grid span{display:block}.daily-brief-grid b{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daily-brief-grid span{font-size:8px;color:#b9cfde;margin-top:4px}.daily-attention{margin-top:9px;padding:9px 10px;border-radius:8px;background:rgba(255,174,54,.08);border:1px solid rgba(255,174,54,.18);display:flex;gap:9px;flex-wrap:wrap;font-size:8px}.daily-attention b{color:#ffd28a}.daily-attention span{color:#dcebf5}
.intent-meta{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.intent-meta span,.ai-question-chips a{font-size:8px;border:1px solid var(--theme-border,#d7e2e9);border-radius:20px;padding:5px 8px;background:var(--theme-panel-soft,#f4f8fb);color:var(--theme-text-2,#52697c)}.ai-question-chips{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0 13px}.ai-question-chips a{text-decoration:none}.ai-question-chips a:hover{border-color:#2781da;color:#1673c8}
body.dark .finance-intelligence-v401,body.dark .finance-ring-card,body.dark .forecast-card,body.dark .finance-trend-card{background:rgba(12,35,53,.93)}body.dark .finance-ring:before{background:#10283d}body.dark .month-bars>div{background:#17364e}body.dark .month-bars small{color:#e9f5ff}
@media(max-width:1100px){.finance-rings-grid,.forecast-grid{grid-template-columns:repeat(2,1fr)}.daily-brief-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.finance-rings-grid,.forecast-grid{grid-template-columns:1fr 1fr}.finance-ring{width:100px}.daily-brief-head{align-items:flex-start;flex-direction:column}.daily-brief-grid{grid-template-columns:1fr 1fr}.finance-month-row{grid-template-columns:58px 1fr}}

/* V40.3 finance monthly trend readability fix */
.finance-monthly-chart{gap:12px!important}
.finance-month-row{grid-template-columns:minmax(74px,92px) 1fr!important;gap:12px!important}
.month-label{font-size:11px!important;font-weight:900!important;color:var(--theme-text,#17344b)!important;direction:ltr;text-align:center;white-space:nowrap}
.month-bars{display:grid!important;gap:7px!important}
.month-bar-line{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;height:auto!important;background:transparent!important;overflow:visible!important}
.month-metric{font-size:10px!important;font-weight:800!important;color:var(--theme-text-2,#52697c)!important;white-space:nowrap;text-align:right}
.month-bar-track{height:24px!important;position:relative!important;overflow:hidden!important;border-radius:7px!important;background:var(--theme-panel-soft,#f3f7fa)!important;border:1px solid var(--theme-border-soft,#e5edf2)!important}
.month-bar-track i{position:absolute!important;inset-block:0!important;right:0!important;min-width:2px;border-radius:7px!important;z-index:0!important}
.month-bar-track strong{position:absolute!important;inset:0!important;z-index:2!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:0 10px!important;font-size:10px!important;font-weight:900!important;color:var(--theme-text,#17344b)!important;direction:ltr!important;text-align:left!important;white-space:nowrap!important;text-shadow:0 1px 2px rgba(255,255,255,.5)}
.month-bar-track strong small{font-size:8px!important;font-weight:700!important;margin-inline-start:4px!important;color:inherit!important}
body.dark .month-label{color:#f3f9ff!important}
body.dark .month-metric{color:#c7d8e6!important}
body.dark .month-bar-track{background:#17364e!important;border-color:rgba(137,190,226,.16)!important}
body.dark .month-bar-track strong{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.95)!important}
@media(max-width:800px){.finance-month-row{grid-template-columns:1fr!important}.month-label{text-align:right!important}.month-bar-line{grid-template-columns:62px minmax(0,1fr)!important}.month-bar-track strong{font-size:9px!important}}

/* ===== V40.7 UI: keep Daily Brief cards neutral; status color belongs to accents/text only ===== */
.daily-brief-grid > a,
.daily-brief-grid > a:link,
.daily-brief-grid > a:visited,
.daily-brief-grid > a:hover,
.daily-brief-grid > a:active,
.daily-brief-grid > a:focus{
  background:rgba(255,255,255,.055)!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  color:#fff!important;
}
.daily-brief-grid > a:hover{background:rgba(255,255,255,.085)!important;border-color:rgba(120,200,255,.32)!important;transform:none!important}

/* =========================================================
   V41.8 — Global card theme cleanup: true light/dark + no full green cards
   ========================================================= */
/* True theme surfaces for project cards */
body:not(.dark) .card,
body:not(.dark) .permit-match-engine,
body:not(.dark) .permit-source-add,
body:not(.dark) .permit-data-card,
body:not(.dark) .finance-card,
body:not(.dark) .finance-progress-card,
body:not(.dark) .forecast-card,
body:not(.dark) .finance-ring-card,
body:not(.dark) .finance-trend-card,
body:not(.dark) .automation-card,
body:not(.dark) .automation-kpi{
  background:#fff!important;color:#10213b!important;border-color:#dfe7ef!important;
  box-shadow:0 7px 22px rgba(18,55,84,.07)!important;
}
body.dark .card,
body.dark .permit-match-engine,
body.dark .permit-source-add,
body.dark .permit-data-card,
body.dark .finance-card,
body.dark .finance-progress-card,
body.dark .forecast-card,
body.dark .finance-ring-card,
body.dark .finance-trend-card{
  background:#0d263a!important;color:#eef6fd!important;border-color:#29465d!important;
  box-shadow:0 8px 26px rgba(0,0,0,.18)!important;
}
/* Permit/source cards: neutral cards, data type is an accent not a background */
.permit-kind-card,.permit-source-card,.permit-kpi{background:var(--theme-panel)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important;box-shadow:var(--theme-shadow)!important}
.permit-kind-card:before,.permit-source-card:before{content:"";display:block;position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;border-radius:16px 0 0 16px;background:#2d87c7}
.permit-kind-card,.permit-source-card{position:relative;overflow:hidden}
.permit-kind-card.general:before{background:#7a6bc5}.permit-kind-card.contractor:before{background:#2d87c7}.permit-kind-card.balady:before{background:#d69037}
.permit-source-card.kind-consultant:before,.permit-source-card.kind_consultant:before{background:#7a6bc5}.permit-source-card.kind-contractor:before,.permit-source-card.kind_contractor:before{background:#2d87c7}.permit-source-card.kind-balady:before,.permit-source-card.kind_balady:before{background:#d69037}
.permit-source-card.active{background:var(--theme-panel)!important;border-color:#5b9dc7!important;box-shadow:0 0 0 2px rgba(45,135,199,.10),var(--theme-shadow)!important}
.permit-source-stats div{background:var(--theme-panel-soft)!important;border-color:var(--theme-border-soft)!important;color:var(--theme-text)!important}
body.dark .permit-source-stats div{background:#102c42!important}
/* Never paint an entire operational card green. Green remains badges/status only. */
.permit-source-card[style*="green"],.employee-card[style*="green"],.vehicle-card[style*="green"],.card.success,.card.good{background:var(--theme-panel)!important}
.data-kind-badge.consultant{background:#f1edff!important;color:#6951b8!important;border:1px solid #ddd5fb!important}
body.dark .data-kind-badge.consultant{background:rgba(122,107,197,.16)!important;color:#c9bfff!important;border-color:rgba(157,143,220,.24)!important}
.source-kind.google,.readonly-pill{background:#edf4fa!important;color:#246b98!important;border-color:#cfe0eb!important}
body.dark .source-kind.google,body.dark .readonly-pill{background:#12344c!important;color:#9fd4f4!important;border-color:#315773!important}
/* Light mode must actually read as light despite cinematic background */
body:not(.dark) .emp-kpi,body:not(.dark) .employee-card,body:not(.dark) .fleet-kpi,body:not(.dark) .vehicle-card,body:not(.dark) .e360-kpi,body:not(.dark) .e-section{background:#fff!important;color:#10213b!important;border-color:#dce6ee!important}
body.dark .emp-kpi,body.dark .employee-card,body.dark .fleet-kpi,body.dark .vehicle-card,body.dark .e360-kpi,body.dark .e-section{background:#0d263a!important;color:#eef6fd!important;border-color:#29465d!important}
/* KPI cards across project: neutral body, colored 4px accent only */
.permit-kpi,.finance-kpi,.emp-kpi,.fleet-kpi,.e360-kpi{background:var(--theme-panel)!important}
/* Inputs and filter rows follow theme */
.emp-filter input,.emp-filter select,.fleet-tools input,.fleet-tools select,.permit-intel-page input,.permit-intel-page select{background:var(--theme-input)!important;color:var(--theme-input-text)!important;border-color:var(--theme-border)!important}
/* Make status colors compact and non-invasive */
.status-pill,.pill,.finance-status,.data-kind-badge,.source-kind{box-shadow:none!important}
/* V41.9 project contract timeline */
.finance-project-dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.finance-project-dates article{background:var(--theme-panel);border:1px solid var(--theme-border);border-radius:12px;padding:13px 15px;box-shadow:var(--theme-shadow-sm)}.finance-project-dates span,.finance-project-dates strong,.finance-project-dates i{display:block}.finance-project-dates span{font-size:9px;color:var(--theme-text-3)}.finance-project-dates strong{font-size:16px;color:var(--theme-text);margin:5px 0}.finance-project-dates i{font-style:normal;font-size:8px;color:var(--theme-text-3)}body.dark .finance-project-dates article{background:var(--theme-panel);border-color:var(--theme-border)}
@media(max-width:1000px){.finance-project-dates{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.finance-project-dates{grid-template-columns:1fr}}

/* =========================================================
   V43.0 — Project Command Dashboard
   ========================================================= */
.command-title p{margin:.35rem 0 0;color:var(--muted)}
.command-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:14px;margin-bottom:14px}.command-filters label{min-width:180px;display:grid;gap:5px;font-weight:700;color:var(--muted)}
.command-brief{background:linear-gradient(135deg,rgba(7,52,82,.97),rgba(10,78,111,.94));border:1px solid rgba(92,180,224,.35);border-radius:18px;padding:18px;color:#fff;margin-bottom:14px;box-shadow:0 15px 40px rgba(4,32,51,.12)}
.command-brief-head,.command-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.command-brief-head span{font-size:11px;letter-spacing:1.5px;color:#87d8ff}.command-brief-head h2,.command-panel-head h2{margin:3px 0;font-size:19px}.command-brief-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:13px}.command-brief-grid a{padding:12px 13px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none;min-height:76px;display:flex;flex-direction:column;justify-content:center}.command-brief-grid strong{font-size:22px}.command-brief-grid span{font-size:12px;color:#c9dbe7;margin-top:4px}.command-alert{margin-top:10px;padding:9px 12px;border-radius:11px;background:rgba(255,190,60,.1);border:1px solid rgba(255,190,60,.2);display:flex;gap:10px;flex-wrap:wrap;font-size:12px}.command-alert b{color:#ffd675}
.command-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.command-kpi{position:relative;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:15px;padding:15px 16px;min-height:112px;box-shadow:0 8px 22px rgba(10,46,70,.06)}.command-kpi span{font-size:12px;color:var(--muted)}.command-kpi strong{font-size:24px;margin:8px 0 3px}.command-kpi small{font-size:11px;color:var(--muted)}.command-kpi .accent{position:absolute;bottom:0;right:0;left:0;height:3px}.command-kpi .blue{background:#208ae5}.command-kpi .cyan{background:#1eb4cf}.command-kpi .orange{background:#f4a229}.command-kpi .purple{background:#805ad5}.command-kpi .teal{background:#239c91}.command-kpi .amber{background:#d79b24}
.command-grid{display:grid;gap:12px;margin-bottom:12px}.command-grid-main{grid-template-columns:1.55fr 1fr}.command-geo-row{grid-template-columns:1.65fr .85fr}.command-bottom-grid{grid-template-columns:1fr 1fr 1fr}.command-panel,.command-finance{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 8px 24px rgba(9,40,60,.05);min-width:0}.command-panel-head{margin-bottom:12px}.command-panel-head p{margin:2px 0 0;color:var(--muted);font-size:11px}.command-panel-head a:not(.btn){font-size:12px;color:var(--primary);text-decoration:none}
.command-bars{height:250px;display:flex;align-items:end;gap:8px;padding:8px 2px 0;overflow:hidden}.command-bar-item{height:100%;min-width:32px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:4px}.command-bar-track{height:185px;width:72%;display:flex;align-items:end;background:color-mix(in srgb,var(--primary) 5%,transparent);border-radius:8px 8px 3px 3px;overflow:hidden}.command-bar-track i{width:100%;display:block;background:linear-gradient(180deg,#2baee0,#1478b8);border-radius:7px 7px 2px 2px;min-height:2px}.command-bar-item b{font-size:11px}.command-bar-item small{font-size:9px;color:var(--muted);white-space:nowrap;transform:rotate(-38deg);margin-bottom:8px}
.command-rank{display:grid;gap:7px}.command-rank>a,.rank-static{display:grid;grid-template-columns:28px 1fr 55px;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:11px;text-decoration:none;color:var(--text);background:color-mix(in srgb,var(--surface) 92%,var(--primary) 8%)}.command-rank>a>span,.rank-static>span{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 12%,transparent);font-weight:800}.command-rank b{display:block;font-size:12px}.command-rank small{color:var(--muted);font-size:10px}.command-rank em{font-style:normal;text-align:center;font-weight:800;color:var(--primary)}
#commandMap{height:390px;border-radius:13px;border:1px solid var(--line);overflow:hidden;background:#e9eef2}.command-map-foot{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:11px}.command-map-foot b{color:var(--text)}
.command-finance{margin:12px 0 14px}.finance-command-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.finance-command-kpis>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,var(--primary) 6%);display:flex;flex-direction:column;min-height:92px}.finance-command-kpis span{font-size:11px;color:var(--muted)}.finance-command-kpis strong{font-size:16px;margin:7px 0}.finance-command-kpis small{font-size:10px;color:var(--muted)}.finance-mini-trend{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.finance-mini-trend h3{font-size:14px}.finance-month{display:grid;grid-template-columns:85px repeat(3,1fr);gap:7px;align-items:center;margin:6px 0}.finance-month>b{font-size:11px}.fbar{height:24px;background:color-mix(in srgb,var(--surface) 86%,var(--line) 14%);border-radius:7px;position:relative;overflow:hidden}.fbar i{height:100%;display:block;opacity:.85}.fbar em{position:absolute;inset:0;padding:4px 7px;font-size:9px;font-style:normal;z-index:2}.fbar.cert i{background:#268be0}.fbar.paid i{background:#2779a8}.fbar.exp i{background:#d89a2b}
.quick-command-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.quick-command-links a{padding:11px;border-radius:11px;border:1px solid var(--line);text-decoration:none;color:var(--text);background:color-mix(in srgb,var(--surface) 93%,var(--primary) 7%);font-size:12px;font-weight:700}.quick-command-links a:hover{border-color:var(--primary);transform:translateY(-1px)}
html[data-theme="dark"] .command-panel,html[data-theme="dark"] .command-finance,html[data-theme="dark"] .command-kpi,body.dark .command-panel,body.dark .command-finance,body.dark .command-kpi{box-shadow:none}.compact{padding:7px 10px;font-size:11px}
@media(max-width:1200px){.command-brief-grid,.command-kpis,.finance-command-kpis{grid-template-columns:repeat(3,1fr)}.command-bottom-grid{grid-template-columns:1fr 1fr}.command-links{grid-column:1/-1}}
@media(max-width:850px){.command-grid-main,.command-geo-row,.command-bottom-grid{grid-template-columns:1fr}.command-brief-grid,.command-kpis,.finance-command-kpis{grid-template-columns:repeat(2,1fr)}.finance-month{grid-template-columns:70px 1fr}.finance-month .paid,.finance-month .exp{display:none}.command-bars{overflow-x:auto}.command-bar-item{min-width:42px}}

/* V43.2 — Project contracts / awards / extensions */
.finance-contracts-section{margin:16px 0;padding:18px;border:1px solid var(--line,#d6e2ea);border-radius:18px;background:var(--card,#fff);box-shadow:0 10px 28px rgba(15,50,75,.08)}
.contracts-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.contracts-head h2{margin:0 0 4px}.contracts-head p{margin:0;color:var(--muted,#718096)}
.contract-view-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border-radius:12px;background:rgba(14,116,144,.06);margin-bottom:12px}.contract-filter{padding:7px 12px;border:1px solid var(--line,#d6e2ea);border-radius:999px;text-decoration:none;color:var(--text,#16324a);background:var(--surface,#fff)}.contract-filter.active{background:#0f6f9f;color:#fff;border-color:#0f6f9f}
.contracts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px}.contract-card{border:1px solid var(--line,#d6e2ea);border-radius:16px;padding:14px;background:var(--surface,#fff);position:relative;overflow:hidden}.contract-card.selected{outline:2px solid #1597d4}.contract-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.contract-card-top h3{margin:2px 0;font-size:20px}.contract-card-top small,.contract-card-top span{color:var(--muted,#718096)}
.contract-status{padding:6px 10px;border-radius:999px;font-weight:800;font-size:12px}.contract-status.active{background:#e6f6ef;color:#125074}.contract-status.closed{background:#eef2f6;color:#53606d}.contract-status.future{background:#e8f1ff;color:#1b5da8}.contract-status.paused{background:#fff3df;color:#9b5a00}
.contract-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.contract-kpis>div{padding:10px;border:1px solid var(--line,#d6e2ea);border-radius:11px;background:rgba(148,163,184,.06)}.contract-kpis span{display:block;font-size:11px;color:var(--muted,#718096);margin-bottom:4px}.contract-kpis b{font-size:13px;color:var(--text,#16324a)}
.contract-progress{height:7px;background:rgba(148,163,184,.22);border-radius:99px;overflow:hidden}.contract-progress i{display:block;height:100%;background:#1597d4;border-radius:99px}.contract-meta,.contract-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.contract-meta span{font-size:12px;color:var(--muted,#718096)}
.contract-editor{margin:12px 0;padding:14px;border:1px dashed #7eb9d6;border-radius:14px;background:rgba(21,151,212,.05)}.contract-editor h3,.contract-editor h4{margin:0 0 10px}.contract-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.contract-form-grid label{font-size:12px;font-weight:700}.contract-form-grid input,.contract-form-grid select,.contract-form-grid textarea{width:100%;margin-top:5px}.contract-form-grid .span-all{grid-column:1/-1}.amendments-list{margin-top:12px;border-top:1px solid var(--line,#d6e2ea);padding-top:10px}.amendments-list h4{margin:0 0 8px}.amendment-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line,#d6e2ea)}.amendment-row>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.amendment-row span{padding:4px 7px;border-radius:7px;background:rgba(14,116,144,.08);font-size:11px}
html[data-theme="dark"] .finance-contracts-section,body.dark .finance-contracts-section,html[data-theme="dark"] .contract-card,body.dark .contract-card{background:#0d2b42;border-color:#27506d}html[data-theme="dark"] .contract-kpis>div,body.dark .contract-kpis>div{background:#123650;border-color:#2a5572}html[data-theme="dark"] .contract-kpis b,body.dark .contract-kpis b,html[data-theme="dark"] .contract-filter,body.dark .contract-filter{color:#f3f8fc}html[data-theme="dark"] .contract-filter,body.dark .contract-filter{background:#123650;border-color:#2a5572}html[data-theme="dark"] .contract-editor,body.dark .contract-editor{background:#0f3149;border-color:#3d7698}
@media(max-width:900px){.contracts-grid{grid-template-columns:1fr}.contract-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contracts-head{align-items:flex-start;flex-direction:column}}
/* V43.6 cross-file repeat comparison */
.cross-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0 16px}.cross-source-choice{border:1px solid var(--line,#d5e1e8);border-radius:14px;padding:12px;background:var(--surface,#fff);display:flex;flex-direction:column;gap:7px;cursor:pointer;transition:.18s ease}.cross-source-choice:hover,.cross-source-choice.selected{border-color:#1c91c5;box-shadow:0 7px 22px rgba(25,104,145,.10)}.cross-source-check,.cross-primary{display:flex;align-items:center;gap:8px}.cross-source-choice small{opacity:.72}.cross-primary{font-size:12px;font-weight:700;color:#176b93}.cross-filter-row{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:10px;align-items:end}.cross-filter-row label{display:flex;flex-direction:column;gap:5px}.cross-filter-row label small{font-weight:400;opacity:.65}.cross-repeat-kpis{grid-template-columns:repeat(6,minmax(120px,1fr))}.cross-repeat-page .repeat-sites-map{min-height:380px;border-radius:14px;overflow:hidden}
@media(max-width:1000px){.cross-filter-row{grid-template-columns:1fr 1fr}.cross-repeat-kpis{grid-template-columns:repeat(2,1fr)}}
.contract-file-list{display:grid;gap:7px;margin-top:10px}.contract-file-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.7fr) auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line,#d8e3e9);border-radius:10px}.contract-file-row a{font-weight:700}.contract-file-row small{opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* =========================================================
   V43.8 — NO GREEN CARDS / BLUE-SLATE CARD THEME
   User requirement: no project card may use green as a card
   background, card border, card text accent, or hover state.
   Green remains available only for tiny semantic status badges.
   ========================================================= */
:root{
  --vd-card-blue:#176fa8;
  --vd-card-blue-2:#2a9fd6;
  --vd-card-hover:#edf6fc;
  --vd-card-hover-border:#6cb8df;
  --vd-card-soft:#f7fbfe;
}
body.dark{
  --vd-card-blue:#65b9eb;
  --vd-card-blue-2:#2e9bd0;
  --vd-card-hover:#173a55;
  --vd-card-hover-border:#4b8fb9;
  --vd-card-soft:#102b42;
}

/* Project command center: remove green/teal from every card surface. */
.command-brief-grid a,
.command-kpi,
.command-panel,
.command-finance,
.command-rank>a,
.rank-static,
.finance-command-kpis>div,
.quick-command-links a{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.command-rank>a,.rank-static,
.finance-command-kpis>div,
.quick-command-links a{
  background:var(--vd-card-soft)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-text)!important;
}
.command-rank>a>span,.rank-static>span{
  background:rgba(32,138,229,.11)!important;
  color:var(--vd-card-blue)!important;
}
.command-rank b,.rank-static b{color:var(--theme-text)!important}
.command-rank small,.rank-static small{color:var(--theme-text-2)!important}
.command-rank em,.rank-static em,.command-panel-head a:not(.btn){color:var(--vd-card-blue)!important}

/* All project-card hover states are blue/slate only. */
.command-brief-grid a:hover,
.command-kpi:hover,
.command-rank>a:hover,
.rank-static:hover,
.finance-command-kpis>div:hover,
.quick-command-links a:hover,
.command-panel:hover{
  background:var(--vd-card-hover)!important;
  border-color:var(--vd-card-hover-border)!important;
  color:var(--theme-text)!important;
  box-shadow:0 8px 22px rgba(28,111,166,.10)!important;
}
body.dark .command-brief-grid a:hover,
body.dark .command-kpi:hover,
body.dark .command-rank>a:hover,
body.dark .rank-static:hover,
body.dark .finance-command-kpis>div:hover,
body.dark .quick-command-links a:hover,
body.dark .command-panel:hover{
  background:#173a55!important;
  border-color:#4b8fb9!important;
  color:#eef6fd!important;
  box-shadow:none!important;
}

/* Daily Brief selected/attention cards: blue instead of green. */
.command-brief-grid a:nth-child(3),
.command-brief-grid a:nth-child(3):hover{
  background:rgba(38,139,224,.16)!important;
  border-color:rgba(98,184,234,.46)!important;
}
body.dark .command-brief-grid a:nth-child(3),
body.dark .command-brief-grid a:nth-child(3):hover{
  background:#143b58!important;
  border-color:#39769c!important;
}

/* Remove teal/green KPI accents in the project dashboard. */
.command-kpi .teal{background:#2c8fc5!important}
.command-kpi .cyan{background:#2ba7db!important}
.fbar.paid i{background:#3b8fc4!important}

/* Contract cards: active state is blue, never green. */
.contract-status.active{
  background:#e9f4fb!important;
  color:#176a9d!important;
  border:1px solid #bad9eb!important;
}
body.dark .contract-status.active{
  background:#173a55!important;
  color:#9fd8f7!important;
  border-color:#3c7092!important;
}
.contract-card:hover,.contract-kpis>div:hover,.amendment-row:hover,.contract-file-row:hover{
  background:var(--vd-card-hover)!important;
  border-color:var(--vd-card-hover-border)!important;
}
body.dark .contract-card:hover,body.dark .contract-kpis>div:hover,body.dark .amendment-row:hover,body.dark .contract-file-row:hover{
  background:#173a55!important;
  border-color:#4b8fb9!important;
}

/* Generic card families used across the project: never turn green on hover. */
.kpi:hover,.metric-card:hover,.performance-card:hover,.finance-kpi:hover,
.finance-ring-card:hover,.forecast-card:hover,.vehicle-card:hover,.employee-card:hover,
.permit-source-card:hover,.permit-kpi:hover,.cross-source-choice:hover,.cross-source-choice.selected,
.card:hover:not(.success-banner):not(.status){
  border-color:var(--vd-card-hover-border)!important;
}
body:not(.dark) .kpi:hover,body:not(.dark) .metric-card:hover,body:not(.dark) .performance-card:hover,
body:not(.dark) .finance-kpi:hover,body:not(.dark) .finance-ring-card:hover,body:not(.dark) .forecast-card:hover,
body:not(.dark) .vehicle-card:hover,body:not(.dark) .employee-card:hover,body:not(.dark) .permit-source-card:hover,
body:not(.dark) .permit-kpi:hover,body:not(.dark) .cross-source-choice:hover,body:not(.dark) .cross-source-choice.selected,
body:not(.dark) .card:hover:not(.success-banner):not(.status){
  background:var(--vd-card-hover)!important;
  color:var(--theme-text)!important;
}
body.dark .kpi:hover,body.dark .metric-card:hover,body.dark .performance-card:hover,
body.dark .finance-kpi:hover,body.dark .finance-ring-card:hover,body.dark .forecast-card:hover,
body.dark .vehicle-card:hover,body.dark .employee-card:hover,body.dark .permit-source-card:hover,
body.dark .permit-kpi:hover,body.dark .cross-source-choice:hover,body.dark .cross-source-choice.selected,
body.dark .card:hover:not(.success-banner):not(.status){
  background:#173a55!important;
  color:#eef6fd!important;
  border-color:#4b8fb9!important;
}

/* Explicitly neutralize legacy green card helper classes while preserving badges. */
.good:not(.status):not(.finance-status):not(.semantic-positive),
.success:not(.status):not(.finance-status):not(.success-banner),
.positive:not(.status):not(.semantic-positive){
  background:var(--vd-card-soft)!important;
  border-color:var(--theme-border)!important;
  color:var(--theme-text)!important;
}
body.dark .good:not(.status):not(.finance-status):not(.semantic-positive),
body.dark .success:not(.status):not(.finance-status):not(.success-banner),
body.dark .positive:not(.status):not(.semantic-positive){
  background:#102b42!important;
  border-color:#31536d!important;
  color:#eef6fd!important;
}

/* ===== V44.0 — full-page navigation loader ===== */
.vd-page-loader{position:fixed;inset:0;z-index:999999;background:rgba(5,24,40,.74);backdrop-filter:blur(8px);display:grid;place-items:center;opacity:1;transition:opacity .18s ease}
.vd-page-loader[hidden]{display:none!important}
.vd-page-loader-card{width:min(390px,calc(100vw - 34px));padding:28px 30px 25px;border-radius:24px;background:rgba(248,252,255,.97);border:1px solid rgba(27,130,193,.22);box-shadow:0 28px 70px rgba(0,24,45,.32);text-align:center;color:#0d3855}
[data-theme="dark"] .vd-page-loader-card,body.dark .vd-page-loader-card{background:rgba(8,34,54,.97);color:#eef8ff;border-color:rgba(90,180,235,.24)}
.vd-loader-mark{width:54px;height:54px;margin:0 auto 13px;border-radius:16px;display:grid;place-items:center;background:#fff;box-shadow:0 7px 20px rgba(10,65,100,.12)}
.vd-loader-mark img{max-width:42px;max-height:42px;object-fit:contain}
.vd-loader-spinner{width:38px;height:38px;margin:0 auto 13px;border:4px solid rgba(25,128,190,.16);border-top-color:#1887c7;border-radius:50%;animation:vdSpin .7s linear infinite}
.vd-page-loader strong{display:block;font-size:18px;margin-bottom:5px}.vd-page-loader span{display:block;font-size:13px;opacity:.72}
.vd-loader-bar{height:5px;margin-top:18px;border-radius:20px;overflow:hidden;background:rgba(24,130,194,.12)}
.vd-loader-bar i{display:block;height:100%;width:36%;border-radius:inherit;background:#1887c7;animation:vdLoaderBar 1.15s ease-in-out infinite}
@keyframes vdSpin{to{transform:rotate(360deg)}}
@keyframes vdLoaderBar{0%{transform:translateX(190%)}50%{transform:translateX(40%)}100%{transform:translateX(-220%)}}
html.vd-loading,html.vd-loading body{cursor:progress!important}

/* ===== V44.1 — Work-order professional report + comparison ===== */
.wo-report-builder{border:1px solid var(--v39-line,#dbe6ee)!important;background:var(--v39-panel,#fff)!important}
.wo-report-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:12px;align-items:start}
.wo-compare-box,.wo-report-form{border:1px solid var(--v39-line,#dbe6ee);border-radius:12px;padding:13px;background:var(--v39-panel-strong,var(--v39-panel,#fff))}
.wo-compare-box label>span,.wo-report-form label>span{display:block;font-size:10px;font-weight:900;color:var(--v39-text,#17344b);margin-bottom:7px}
.wo-compare-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.wo-compare-search input,.wo-report-form textarea{width:100%;border:1px solid var(--v39-line,#dbe6ee);background:var(--v39-panel,#fff);color:var(--v39-text,#17344b);border-radius:9px;padding:10px 11px;font-family:inherit;outline:none}.wo-compare-search input:focus,.wo-report-form textarea:focus{border-color:var(--v39-blue,#0b6fa4);box-shadow:0 0 0 3px color-mix(in srgb,var(--v39-blue,#0b6fa4) 12%,transparent)}
.wo-compare-state{font-size:9px;margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--v39-soft,#eef5f9);color:var(--v39-muted,#71879a)}.wo-compare-state.ok{color:#17618a;background:color-mix(in srgb,#1684c5 8%,var(--v39-panel,#fff));border:1px solid color-mix(in srgb,#1684c5 25%,var(--v39-line,#dbe6ee))}.wo-compare-state.error{color:#b13c3c;background:color-mix(in srgb,#ef4444 7%,var(--v39-panel,#fff));border:1px solid color-mix(in srgb,#ef4444 25%,var(--v39-line,#dbe6ee))}
.wo-compare-card{margin-top:9px;border:1px solid color-mix(in srgb,var(--v39-blue,#0b6fa4) 28%,var(--v39-line,#dbe6ee));border-radius:10px;padding:10px 11px;background:color-mix(in srgb,var(--v39-blue,#0b6fa4) 5%,var(--v39-panel,#fff));display:flex;align-items:center;justify-content:space-between;gap:12px}.wo-compare-card[hidden]{display:none!important}.wo-compare-card span,.wo-compare-card b,.wo-compare-card small{display:block}.wo-compare-card span{font-size:8px;color:var(--v39-muted,#71879a)}.wo-compare-card b{font-size:12px;color:var(--v39-text,#17344b);margin:2px 0}.wo-compare-card small{font-size:8px;color:var(--v39-muted,#71879a)}
.wo-report-form textarea{min-height:108px;resize:vertical}.wo-report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.wo-report-hint{font-size:8.5px;line-height:1.7;color:var(--v39-muted,#71879a);margin:10px 0 0;padding:8px 9px;border-radius:8px;background:var(--v39-soft,#eef5f9)}.wo-report-hint b{color:var(--v39-text,#17344b)}
body.dark .wo-compare-box,body.dark .wo-report-form{background:#0d2639;border-color:#35536b}body.dark .wo-compare-search input,body.dark .wo-report-form textarea{background:#0a2031;border-color:#35536b;color:#e8f4ff}body.dark .wo-compare-state{background:#102c42;color:#a9bdcc}body.dark .wo-compare-card{background:#102f46;border-color:#406b88}.wo-report-builder .btn:hover{background:color-mix(in srgb,var(--v39-blue,#0b6fa4) 12%,var(--v39-panel,#fff))!important;color:var(--v39-blue,#0b6fa4)!important;border-color:var(--v39-blue,#0b6fa4)!important}
@media(max-width:1000px){.wo-report-grid{grid-template-columns:1fr}}@media(max-width:650px){.wo-compare-search{grid-template-columns:1fr}.wo-compare-card{align-items:flex-start;flex-direction:column}}

/* ======================================================================
   V44.5 — Reference-matched animated glass login
   ====================================================================== */
body.vd-login-v445{margin:0;min-height:100vh;overflow-x:hidden;background:#061c2d;color:#fff;font-family:"Segoe UI",Tahoma,Arial,sans-serif;position:relative;isolation:isolate}
.vd445-bg{position:fixed;inset:-5%;z-index:-5;background:url('/static/water_ops_exact_bg.png') center/cover no-repeat;animation:vd445Ken 12s cubic-bezier(.45,.05,.55,.95) infinite alternate;filter:saturate(.92) contrast(1.05) brightness(.58)}
.vd445-grid{position:fixed;inset:0;z-index:-3;opacity:.22;background-image:linear-gradient(rgba(47,151,218,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(47,151,218,.13) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 72%);animation:vd445Grid 14s linear infinite}
.vd445-shade{position:fixed;inset:0;z-index:-4;background:radial-gradient(circle at 38% 28%,rgba(17,115,179,.24),transparent 34%),linear-gradient(90deg,rgba(2,20,34,.58),rgba(2,25,43,.22) 55%,rgba(2,16,29,.58)),linear-gradient(180deg,rgba(3,25,43,.2),rgba(2,18,31,.62))}
@keyframes vd445Ken{0%{transform:scale(1.025) translate3d(-.8%,.15%,0)}45%{transform:scale(1.075) translate3d(.25%,-.65%,0)}100%{transform:scale(1.125) translate3d(1%,-1.15%,0)}}
@keyframes vd445Grid{to{background-position:44px 44px}}
.vd445-topbar{width:min(1500px,calc(100% - 54px));margin:0 auto;height:92px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}
.vd445-brand-mini{display:flex;align-items:center;gap:12px}.vd445-brand-mini img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 5px 12px rgba(0,0,0,.28))}.vd445-brand-mini b,.vd445-brand-mini small{display:block}.vd445-brand-mini b{font-size:13px}.vd445-brand-mini small{font-size:9px;color:#b8d1e3;margin-top:2px}
.vd445-tools{display:flex;gap:10px;align-items:center}.vd445-lang,.vd445-theme{background:rgba(5,35,57,.55);border:1px solid rgba(148,207,239,.2);box-shadow:inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.vd445-lang{height:34px;border-radius:9px;padding:0 9px;display:flex;align-items:center;gap:7px}.vd445-lang button,.vd445-theme{color:#c8deed;border:0;cursor:pointer;font-family:inherit}.vd445-lang button{background:none;font-size:10px;padding:7px 5px}.vd445-lang button.active{color:#fff;font-weight:800}.vd445-lang span{width:1px;height:13px;background:rgba(255,255,255,.2)}.vd445-theme{width:34px;height:34px;border-radius:50%;font-size:16px}
.vd445-layout{width:min(1500px,calc(100% - 54px));margin:12px auto 40px;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:34px;align-items:center;direction:ltr}.vd445-showcase,.vd445-login-panel{direction:rtl}.vd445-showcase{min-width:0;text-align:center}.vd445-platform-pill{width:max-content;max-width:90%;margin:0 auto 18px;display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(4,116,207,.86),rgba(3,74,130,.75));border:1px solid rgba(105,198,255,.32);border-radius:9px;padding:8px 16px;box-shadow:0 9px 30px rgba(0,56,104,.28);font-size:11px}.vd445-platform-pill span{font-size:16px}.vd445-hero-copy{max-width:720px;margin:0 auto}.vd445-hero-copy h1{font-size:34px;line-height:1.32;letter-spacing:-.35px;margin:0;font-weight:820;text-shadow:0 4px 22px rgba(0,0,0,.28)}.vd445-hero-accent{display:block;width:58px;height:3px;margin:13px auto 10px;border-radius:999px;background:linear-gradient(90deg,rgba(38,182,255,.15),#35baff,rgba(38,182,255,.15));box-shadow:0 0 18px rgba(39,176,246,.34)}.vd445-hero-copy p{font-size:12px;line-height:1.72;color:#c9ddea;margin:0 0 23px;font-weight:500}
.vd445-glass{background:linear-gradient(145deg,rgba(10,49,75,.48),rgba(5,31,51,.34));border:1px solid rgba(125,195,230,.20);box-shadow:inset 0 1px rgba(255,255,255,.055),0 14px 40px rgba(0,13,25,.18);backdrop-filter:blur(15px) saturate(1.15);-webkit-backdrop-filter:blur(15px) saturate(1.15)}
.vd445-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.vd445-kpi{border-radius:10px;padding:14px 14px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:right;min-height:50px;transition:.25s}.vd445-kpi:hover{transform:translateY(-4px);background:rgba(8,62,94,.55);border-color:rgba(79,179,231,.38)}.vd445-kpi i{font-style:normal;color:#19a8ff;font-size:24px}.vd445-kpi small,.vd445-kpi strong{display:block}.vd445-kpi small{font-size:9px;color:#b7cfdf}.vd445-kpi strong{font-size:14px;margin-top:3px}
.vd445-analytics{display:grid;grid-template-columns:1.7fr .85fr;gap:10px;margin-top:10px}.vd445-chart-card,.vd445-status-card{border-radius:12px;padding:16px 18px;min-height:205px}.vd445-card-title{display:flex;justify-content:space-between;align-items:center;font-size:11px}.vd445-live{display:flex;gap:5px;align-items:center;color:#9fc5dc;font-size:8px}.vd445-live em{width:6px;height:6px;border-radius:50%;background:#2794d3;box-shadow:0 0 10px #2794d3;animation:vd445Pulse 1.8s infinite}@keyframes vd445Pulse{50%{opacity:.35;transform:scale(.7)}}.vd445-linechart{width:100%;height:142px;margin-top:7px;overflow:visible}.vd445-linechart .gridlines path{stroke:rgba(164,207,231,.13);stroke-width:1}.vd445-linechart .area{fill:url(#area445)}.vd445-linechart .line{fill:none;stroke:#19aaff;stroke-width:2.4;filter:drop-shadow(0 0 5px rgba(25,170,255,.45));stroke-dasharray:900;animation:vd445Draw 2.2s ease both}@keyframes vd445Draw{from{stroke-dashoffset:900}to{stroke-dashoffset:0}}.vd445-linechart .dots circle{fill:#0d83ca;stroke:#78d0ff;stroke-width:2}.vd445-months{display:flex;justify-content:space-between;color:#8fb0c5;font-size:8px;margin-top:-5px}.vd445-status-card{display:flex;flex-direction:column;align-items:stretch}.vd445-status-card .vd445-card-title{margin-bottom:13px}.vd445-donut{width:112px;height:112px;margin:4px auto 14px;border-radius:50%;background:conic-gradient(#18a9ff 0 61%,#ffb01f 61% 86%,#ff5b3d 86%);position:relative;animation:vd445SpinIn 1.1s ease both}.vd445-donut:after{content:"";position:absolute;inset:18px;border-radius:50%;background:rgba(5,35,57,.93);box-shadow:inset 0 0 18px rgba(0,0,0,.2)}@keyframes vd445SpinIn{from{transform:rotate(-90deg) scale(.8);opacity:0}}.vd445-legend{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;font-size:8px;color:#c1d6e4}.vd445-legend span{display:flex;gap:5px;align-items:center}.vd445-legend i{width:6px;height:6px;border-radius:50%;background:#18a9ff}.vd445-legend span:nth-child(2) i{background:#ffb01f}.vd445-legend span:nth-child(3) i{background:#ff5b3d}
.vd445-login-panel{border-radius:19px;padding:31px 28px 27px;min-height:515px;text-align:center;background:linear-gradient(155deg,rgba(8,45,70,.64),rgba(3,28,47,.46));border-color:rgba(164,213,239,.20);box-shadow:0 30px 70px rgba(0,12,23,.32),inset 0 1px rgba(255,255,255,.07);animation:vd445CardIn .65s ease both}@keyframes vd445CardIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}.vd445-login-logo{width:83px;height:83px;margin:0 auto 11px;display:grid;place-items:center}.vd445-login-logo img{width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.vd445-login-panel h2{font-size:24px;margin:3px 0 5px}.vd445-login-panel>p{color:#bcd1df;font-size:10px;line-height:1.7;margin:0 0 24px}.vd445-form{text-align:right;display:grid;gap:14px}.vd445-form>label>span{display:block;font-size:9px;color:#d1e0e9;margin-bottom:6px}.vd445-input{height:44px;position:relative}.vd445-input input{box-sizing:border-box;width:100%;height:100%;border-radius:7px;border:1px solid rgba(139,196,226,.15);background:rgba(124,169,194,.16);color:#fff;outline:none;padding:0 13px 0 42px;font:12px inherit;transition:.2s}.vd445-input input::placeholder{color:#8eafc3}.vd445-input input:focus{border-color:rgba(43,169,237,.7);background:rgba(117,174,204,.22);box-shadow:0 0 0 3px rgba(24,157,228,.10)}.vd445-input>i,.vd445-input>button{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:27px;height:27px;display:grid;place-items:center;color:#a8c6d8;background:none;border:0;font-style:normal}.vd445-input>button{cursor:pointer;font-size:14px}.vd445-form-row{display:flex;align-items:center;justify-content:space-between;font-size:9px}.vd445-form-row a{color:#d1e7f5;text-decoration:none}.vd445-remember{display:flex;align-items:center;gap:6px;color:#bcd2df}.vd445-remember input{accent-color:#149eea}.vd445-submit{height:46px;border:0;border-radius:7px;background:linear-gradient(135deg,#087cd5,#078bea);color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;font:800 12px inherit;cursor:pointer;box-shadow:0 10px 24px rgba(0,103,184,.27);transition:.22s}.vd445-submit:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 14px 30px rgba(0,112,198,.35)}.vd445-submit b{font-size:18px}.vd445-secure{display:flex;justify-content:center;gap:6px;color:#789bad;font-size:8px;margin-top:19px}.vd445-secure i{color:#3590c4}.vd445-credit{position:relative;text-align:center;color:rgba(190,214,228,.65);font-size:8px;margin:-18px 0 18px}
body.vd-login-v445[data-lang="en"] .vd445-showcase,body.vd-login-v445[data-lang="en"] .vd445-login-panel{direction:ltr}body.vd-login-v445[data-lang="en"] .vd445-form{text-align:left}body.vd-login-v445[data-lang="en"] .vd445-input input{padding:0 42px 0 13px}body.vd-login-v445[data-lang="en"] .vd445-input>i,body.vd-login-v445[data-lang="en"] .vd445-input>button{left:auto;right:11px}
body.vd-login-v445.vd445-bright .vd445-bg{filter:saturate(1) contrast(1.02) brightness(.76)}body.vd-login-v445.vd445-bright .vd445-shade{opacity:.72}
@media(max-width:1000px){.vd445-hero-copy h1{font-size:31px}.vd445-layout{grid-template-columns:1fr;max-width:720px}.vd445-login-panel{grid-row:1;min-height:auto}.vd445-showcase{grid-row:2}.vd445-topbar{width:min(720px,calc(100% - 30px))}.vd445-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.vd445-layout{width:calc(100% - 24px);margin-top:0}.vd445-topbar{width:calc(100% - 24px);height:74px}.vd445-brand-mini div{display:none}.vd445-showcase{display:none}.vd445-login-panel{padding:27px 20px}.vd445-login-panel h2{font-size:22px}.vd445-credit{margin-top:-8px}}
@media(prefers-reduced-motion:reduce){.vd445-bg,.vd445-grid,.vd445-live em,.vd445-linechart .line,.vd445-donut,.vd445-login-panel{animation:none!important}}

/* ======================================================================
   V44.5.1 — Login contrast + true light theme
   ====================================================================== */
/* Dark mode: force readable typography over the cinematic background. */
body.vd-login-v445:not(.vd445-light) .vd445-brand-mini b,
body.vd-login-v445:not(.vd445-light) .vd445-hero-copy h1,
body.vd-login-v445:not(.vd445-light) .vd445-kpi strong,
body.vd-login-v445:not(.vd445-light) .vd445-card-title b,
body.vd-login-v445:not(.vd445-light) .vd445-login-panel h2,
body.vd-login-v445:not(.vd445-light) .vd445-legend b{color:#f7fbff!important;text-shadow:0 2px 10px rgba(0,0,0,.32)}
body.vd-login-v445:not(.vd445-light) .vd445-brand-mini small,
body.vd-login-v445:not(.vd445-light) .vd445-hero-copy p,
body.vd-login-v445:not(.vd445-light) .vd445-kpi small,
body.vd-login-v445:not(.vd445-light) .vd445-live,
body.vd-login-v445:not(.vd445-light) .vd445-months,
body.vd-login-v445:not(.vd445-light) .vd445-login-panel>p,
body.vd-login-v445:not(.vd445-light) .vd445-form>label>span,
body.vd-login-v445:not(.vd445-light) .vd445-remember,
body.vd-login-v445:not(.vd445-light) .vd445-form-row a,
body.vd-login-v445:not(.vd445-light) .vd445-secure{color:#e1edf5!important}
body.vd-login-v445:not(.vd445-light) .vd445-credit{color:rgba(232,243,250,.83)!important}
body.vd-login-v445:not(.vd445-light) .vd445-platform-pill,
body.vd-login-v445:not(.vd445-light) .vd445-platform-pill b{color:#fff!important}
body.vd-login-v445:not(.vd445-light) .vd445-input input{color:#fff!important}

/* Real light mode — same glass language, but bright surfaces and dark text. */
body.vd-login-v445.vd445-light{background:#dfeef7;color:#102d43!important}
body.vd-login-v445.vd445-light .vd445-bg{filter:saturate(.88) contrast(.96) brightness(1.16);opacity:.72}
body.vd-login-v445.vd445-light .vd445-shade{background:radial-gradient(circle at 38% 26%,rgba(255,255,255,.55),transparent 35%),linear-gradient(90deg,rgba(224,241,250,.42),rgba(237,248,253,.28) 55%,rgba(215,237,248,.46)),linear-gradient(180deg,rgba(235,248,255,.20),rgba(224,241,250,.42))}
body.vd-login-v445.vd445-light .vd445-grid{opacity:.15;background-image:linear-gradient(rgba(22,111,166,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(22,111,166,.16) 1px,transparent 1px)}
body.vd-login-v445.vd445-light .vd445-glass{background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(234,246,252,.58));border-color:rgba(29,113,164,.22);box-shadow:inset 0 1px rgba(255,255,255,.90),0 14px 36px rgba(43,91,119,.13);backdrop-filter:blur(17px) saturate(1.08);-webkit-backdrop-filter:blur(17px) saturate(1.08)}
body.vd-login-v445.vd445-light .vd445-login-panel{background:linear-gradient(155deg,rgba(248,253,255,.86),rgba(224,242,251,.73));border-color:rgba(27,105,154,.24);box-shadow:0 30px 70px rgba(47,91,117,.18),inset 0 1px rgba(255,255,255,.95)}
body.vd-login-v445.vd445-light .vd445-lang,
body.vd-login-v445.vd445-light .vd445-theme{background:rgba(246,252,255,.76);border-color:rgba(29,105,153,.22);box-shadow:inset 0 1px rgba(255,255,255,.95),0 8px 22px rgba(38,93,126,.10)}
body.vd-login-v445.vd445-light .vd445-lang button,
body.vd-login-v445.vd445-light .vd445-theme{color:#234b65!important}
body.vd-login-v445.vd445-light .vd445-lang button.active{color:#075f98!important}
body.vd-login-v445.vd445-light .vd445-lang span{background:rgba(27,91,132,.22)}
body.vd-login-v445.vd445-light .vd445-brand-mini b,
body.vd-login-v445.vd445-light .vd445-hero-copy h1,
body.vd-login-v445.vd445-light .vd445-kpi strong,
body.vd-login-v445.vd445-light .vd445-card-title b,
body.vd-login-v445.vd445-light .vd445-login-panel h2,
body.vd-login-v445.vd445-light .vd445-legend b{color:#0b2f48!important;text-shadow:0 1px 0 rgba(255,255,255,.35)}
body.vd-login-v445.vd445-light .vd445-brand-mini small,
body.vd-login-v445.vd445-light .vd445-hero-copy p,
body.vd-login-v445.vd445-light .vd445-kpi small,
body.vd-login-v445.vd445-light .vd445-live,
body.vd-login-v445.vd445-light .vd445-months,
body.vd-login-v445.vd445-light .vd445-login-panel>p,
body.vd-login-v445.vd445-light .vd445-form>label>span,
body.vd-login-v445.vd445-light .vd445-remember,
body.vd-login-v445.vd445-light .vd445-form-row a,
body.vd-login-v445.vd445-light .vd445-secure{color:#3f6177!important}
body.vd-login-v445.vd445-light .vd445-credit{color:#355b73!important}
body.vd-login-v445.vd445-light .vd445-platform-pill{background:linear-gradient(135deg,rgba(7,126,207,.92),rgba(6,101,170,.88));border-color:rgba(255,255,255,.55);box-shadow:0 9px 25px rgba(18,108,167,.18);color:#fff!important}
body.vd-login-v445.vd445-light .vd445-platform-pill b{color:#fff!important}
body.vd-login-v445.vd445-light .vd445-kpi:hover{background:rgba(245,252,255,.84);border-color:rgba(22,130,193,.36)}
body.vd-login-v445.vd445-light .vd445-input input{background:rgba(255,255,255,.82);border-color:rgba(35,111,158,.22);color:#12364e!important;box-shadow:inset 0 1px 2px rgba(38,82,109,.04)}
body.vd-login-v445.vd445-light .vd445-input input::placeholder{color:#7893a5}
body.vd-login-v445.vd445-light .vd445-input input:focus{background:#fff;border-color:rgba(13,127,196,.62);box-shadow:0 0 0 3px rgba(18,139,208,.11)}
body.vd-login-v445.vd445-light .vd445-input>i,
body.vd-login-v445.vd445-light .vd445-input>button{color:#51798f}
body.vd-login-v445.vd445-light .vd445-donut:after{background:rgba(244,251,255,.96);box-shadow:inset 0 0 16px rgba(52,96,121,.08)}
body.vd-login-v445.vd445-light .vd445-linechart .gridlines path{stroke:rgba(28,91,129,.14)}
body.vd-login-v445.vd445-light .vd445-linechart .dots circle{stroke:#e9f8ff}


/* ======================================================================
   V44.5.2 — Soft cyan light mode + clean header
   ====================================================================== */
body.vd-login-v445.vd445-light{background:#cfe8f4!important;color:#0d334d!important}
body.vd-login-v445.vd445-light .vd445-bg{filter:saturate(.98) contrast(.96) brightness(.99)!important;opacity:.74!important}
body.vd-login-v445.vd445-light .vd445-shade{background:radial-gradient(circle at 34% 24%,rgba(223,246,255,.30),transparent 34%),linear-gradient(90deg,rgba(170,218,239,.31),rgba(210,237,248,.23) 48%,rgba(153,207,232,.34)),linear-gradient(180deg,rgba(197,230,244,.16),rgba(129,194,222,.28))!important}
body.vd-login-v445.vd445-light .vd445-grid{opacity:.13!important;background-image:linear-gradient(rgba(12,104,158,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(12,104,158,.18) 1px,transparent 1px)!important}
body.vd-login-v445.vd445-light .vd445-glass{background:linear-gradient(145deg,rgba(225,244,252,.78),rgba(188,225,241,.60))!important;border-color:rgba(23,108,158,.25)!important;box-shadow:inset 0 1px rgba(255,255,255,.72),0 14px 34px rgba(27,81,112,.14)!important;backdrop-filter:blur(18px) saturate(1.05)!important;-webkit-backdrop-filter:blur(18px) saturate(1.05)!important}
body.vd-login-v445.vd445-light .vd445-login-panel{background:linear-gradient(155deg,rgba(224,244,252,.88),rgba(183,222,239,.76))!important;border-color:rgba(20,101,151,.27)!important;box-shadow:0 28px 65px rgba(29,82,111,.18),inset 0 1px rgba(255,255,255,.78)!important}
body.vd-login-v445.vd445-light .vd445-lang,body.vd-login-v445.vd445-light .vd445-theme{background:rgba(216,239,249,.82)!important;border-color:rgba(20,102,153,.24)!important}
body.vd-login-v445.vd445-light .vd445-kpi:hover{background:rgba(215,240,250,.88)!important}
body.vd-login-v445.vd445-light .vd445-input input{background:rgba(229,244,251,.88)!important;border-color:rgba(25,104,151,.24)!important;color:#10364f!important}
body.vd-login-v445.vd445-light .vd445-input input:focus{background:rgba(240,249,253,.96)!important}
body.vd-login-v445.vd445-light .vd445-donut:after{background:rgba(211,237,248,.96)!important}
body.vd-login-v445 .vd445-brand-mini{visibility:hidden!important;pointer-events:none!important}

/* ======================================================================
   V44.5.3 — Desktop UI scale normalization
   Match the comfortable overview size the user previously got only by
   browser zooming out: Login ≈ 75%, project workspace ≈ 67%.
   Desktop only; tablet/mobile responsive sizing remains untouched.
   ====================================================================== */
@media (min-width:1201px){
  html:has(body.vd-login-v445){zoom:.75}
  html:has(body.cinematic-app-body){zoom:.67}
  html:has(body.cinematic-portfolio-body){zoom:.67}
}

/* ======================================================================
   V44.5.4 — Enterprise login polish
   ====================================================================== */
@media (min-width:1001px){
  .vd445-layout{grid-template-columns:minmax(0,1fr) 400px;gap:68px}
}
.vd445-kpi{justify-content:flex-start;padding-inline:18px;min-height:58px}.vd445-kpi strong{font-size:20px;letter-spacing:.1px}.vd445-kpi small{font-size:9.5px}.vd445-kpi i{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:rgba(25,168,255,.10);border:1px solid rgba(80,190,245,.16);font-size:18px}
.vd445-card-title{gap:12px}.vd445-card-title>div:first-child{display:grid;gap:2px;text-align:start}.vd445-chart-sub{font-size:7.5px;color:#93b5c8;font-weight:500}.vd445-current-progress{margin-inline-start:auto;text-align:center;line-height:1.05}.vd445-current-progress strong{display:block;font-size:20px;color:#62c8ff}.vd445-current-progress span{font-size:7px;color:#9fc5dc;white-space:nowrap}
.vd445-donut{display:grid;place-items:center;background:conic-gradient(#18a9ff 0 68%,#ffb01f 68% 92%,#ff5b3d 92% 100%)}.vd445-donut:after{z-index:0}.vd445-donut>div{position:relative;z-index:1;display:grid;text-align:center;line-height:1.05}.vd445-donut strong{font-size:18px;color:#f7fbff}.vd445-donut span{font-size:7px;color:#aec9d8;margin-top:3px}
.vd445-login-panel{padding:34px 31px 29px}.vd445-input input{background:linear-gradient(135deg,rgba(188,222,239,.16),rgba(111,170,201,.12));border-color:rgba(150,207,235,.24);box-shadow:inset 0 1px rgba(255,255,255,.035)}.vd445-input input:focus{background:linear-gradient(135deg,rgba(195,228,244,.22),rgba(115,177,209,.16))}
.vd445-input>i,.vd445-input>button{left:auto;right:11px}.vd445-input input{padding:0 42px 0 13px}.vd445-input svg,.vd445-login-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.vd445-input>button{z-index:2}.vd445-eye-off[hidden]{display:none!important}
body.vd-login-v445[data-lang="en"] .vd445-input>i,body.vd-login-v445[data-lang="en"] .vd445-input>button{right:auto;left:11px}body.vd-login-v445[data-lang="en"] .vd445-input input{padding:0 13px 0 42px}
.vd445-submit .vd445-login-icon{width:22px;height:22px;display:grid;place-items:center}.vd445-submit .vd445-login-icon svg{width:19px;height:19px}.vd445-lang{height:38px;padding:3px;border-radius:11px;gap:2px}.vd445-lang span{display:none}.vd445-lang button{border-radius:8px;padding:7px 10px;transition:.2s}.vd445-lang button.active{background:rgba(24,156,231,.20);box-shadow:inset 0 0 0 1px rgba(91,193,246,.18)}.vd445-theme{width:38px;height:38px;border-radius:11px}
.vd445-grid{opacity:.13}.vd445-shade:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 70%,rgba(35,142,198,.07),transparent 18%),radial-gradient(circle at 86% 24%,rgba(36,139,197,.05),transparent 17%);pointer-events:none}
body.vd-login-v445.vd445-light .vd445-chart-sub,body.vd-login-v445.vd445-light .vd445-current-progress span{color:#52758a}body.vd-login-v445.vd445-light .vd445-current-progress strong{color:#0676b7}body.vd-login-v445.vd445-light .vd445-donut strong{color:#0b3650}body.vd-login-v445.vd445-light .vd445-donut span{color:#52758a}body.vd-login-v445.vd445-light .vd445-input input{background:linear-gradient(135deg,rgba(233,247,252,.83),rgba(198,230,242,.72))!important}body.vd-login-v445.vd445-light .vd445-lang button.active{background:rgba(10,122,187,.13)}

/* V445 login field icon alignment fix — AR icons left, EN icons right */
body.vd-login-v445:not([data-lang="en"]) .vd445-input>i,
body.vd-login-v445:not([data-lang="en"]) .vd445-input>button{
  left:11px!important;
  right:auto!important;
}
body.vd-login-v445:not([data-lang="en"]) .vd445-input input{
  padding-left:42px!important;
  padding-right:13px!important;
  text-align:right;
  direction:rtl;
}
body.vd-login-v445[data-lang="en"] .vd445-input>i,
body.vd-login-v445[data-lang="en"] .vd445-input>button{
  right:11px!important;
  left:auto!important;
}
body.vd-login-v445[data-lang="en"] .vd445-input input{
  padding-right:42px!important;
  padding-left:13px!important;
  text-align:left;
  direction:ltr;
}

/* ======================================================================
   V44.5.5 — Login workflow donut replaced with enterprise progress summary
   ====================================================================== */
.vd445-progress-summary{justify-content:flex-start;gap:0}
.vd445-progress-summary .vd445-card-title{margin-bottom:14px}
.vd445-progress-badge{font-size:7px;font-weight:700;color:#8fd5fb;border:1px solid rgba(92,193,244,.20);background:rgba(34,157,221,.10);border-radius:999px;padding:4px 7px;white-space:nowrap}
.vd445-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 12px}
.vd445-progress-head>div{display:grid;gap:3px;text-align:start}
.vd445-progress-head strong{font-size:32px;line-height:1;color:#f8fcff;letter-spacing:-.7px}
.vd445-progress-head span{font-size:8px;color:#9dbed1;font-weight:600}
.vd445-progress-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-style:normal;font-size:19px;font-weight:900;color:#54c8ff;background:linear-gradient(145deg,rgba(24,169,255,.18),rgba(24,169,255,.06));border:1px solid rgba(83,193,248,.18);box-shadow:inset 0 1px rgba(255,255,255,.04)}
.vd445-progress-track{height:9px;border-radius:999px;background:rgba(116,173,204,.14);border:1px solid rgba(122,188,222,.12);overflow:hidden;box-shadow:inset 0 1px 4px rgba(0,0,0,.14)}
.vd445-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#168fe4,#27b8ff);box-shadow:0 0 13px rgba(28,172,244,.35);transform-origin:left center;animation:vd445ProgressGrow 1.1s ease both}
html[dir="rtl"] .vd445-progress-track span{transform-origin:right center}
@keyframes vd445ProgressGrow{from{width:0}}
.vd445-progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}
.vd445-progress-stats>div{position:relative;min-width:0;padding:9px 7px 8px;border-radius:10px;background:rgba(7,39,61,.24);border:1px solid rgba(131,190,220,.12);display:grid;grid-template-columns:auto 1fr;grid-template-areas:"dot value" "dot label";column-gap:6px;align-items:center;text-align:start}
.vd445-progress-stats i{grid-area:dot;width:7px;height:7px;border-radius:50%;background:#18a9ff;box-shadow:0 0 8px rgba(24,169,255,.4)}
.vd445-progress-stats strong{grid-area:value;font-size:12px;line-height:1.05;color:#f7fbff}
.vd445-progress-stats span{grid-area:label;font-size:7px;color:#9cbace;margin-top:2px;white-space:nowrap}
.vd445-progress-stats .active i{background:#ffb01f;box-shadow:0 0 8px rgba(255,176,31,.35)}
.vd445-progress-stats .follow i{background:#ff5b3d;box-shadow:0 0 8px rgba(255,91,61,.32)}
body.vd-login-v445.vd445-light .vd445-progress-badge{color:#126b9d;background:rgba(20,132,194,.08);border-color:rgba(20,132,194,.16)}
body.vd-login-v445.vd445-light .vd445-progress-head strong{color:#0b3650}
body.vd-login-v445.vd445-light .vd445-progress-head span{color:#52758a}
body.vd-login-v445.vd445-light .vd445-progress-icon{color:#087ab9;background:rgba(17,128,190,.09);border-color:rgba(17,128,190,.16)}
body.vd-login-v445.vd445-light .vd445-progress-track{background:rgba(64,133,170,.12);border-color:rgba(43,122,163,.12)}
body.vd-login-v445.vd445-light .vd445-progress-stats>div{background:rgba(228,244,251,.42);border-color:rgba(38,112,151,.12)}
body.vd-login-v445.vd445-light .vd445-progress-stats strong{color:#113a53}
body.vd-login-v445.vd445-light .vd445-progress-stats span{color:#55768b}
@media(max-width:700px){.vd445-progress-head strong{font-size:28px}.vd445-progress-stats{gap:5px}.vd445-progress-stats>div{padding-inline:6px}}
@media(prefers-reduced-motion:reduce){.vd445-progress-track span{animation:none!important}}

/* ===== V44.5.4: Enterprise six-hub sidebar navigation ===== */
.sidebar-screen-search{position:relative;display:flex;align-items:center;margin:0 0 9px;min-height:36px;border:1px solid rgba(135,194,232,.20);border-radius:9px;background:rgba(3,25,44,.48);overflow:hidden;transition:.16s}
.sidebar-screen-search:focus-within{border-color:rgba(83,187,235,.72);box-shadow:0 0 0 2px rgba(38,151,211,.12)}
.sidebar-screen-search .sidebar-search-icon{width:31px;min-width:31px;text-align:center;color:#7fc5e8;font-size:13px}
.sidebar-screen-search input{min-width:0;flex:1;height:34px;border:0!important;outline:0!important;background:transparent!important;color:#eef8ff!important;font:inherit;font-size:10px!important;padding:0 2px!important;box-shadow:none!important}
.sidebar-screen-search input::placeholder{color:#88a9c0!important;opacity:1}
.sidebar-screen-search button{width:30px;height:30px;border:0;background:transparent;color:#8fb3ca;font-size:17px;cursor:pointer;opacity:.65}
.sidebar-screen-search button:hover{color:#fff;opacity:1}
.sidebar-search-empty{margin:0 0 8px;padding:8px 9px;border:1px dashed rgba(149,195,224,.18);border-radius:8px;text-align:center;color:#9bb7ca;font-size:9.5px;background:rgba(3,28,48,.24)}
.side-hub{margin:4px 0!important}
.side-hub>summary{min-height:39px!important;padding:8px 9px!important;font-size:10.6px!important}
.side-hub .hub-title{font-size:10.6px!important;letter-spacing:0}
.side-hub .hub-body{padding:4px 5px 6px!important}
.side-hub .side-link{min-height:32px!important;font-size:9.9px!important}
.side-hub .side-link em{font-size:9.9px!important;font-style:normal}
.side-hub .side-link.sidebar-match{background:rgba(34,139,201,.22)!important;box-shadow:inset -2px 0 #5ac3ee}
.nav-forms{margin-top:4px!important;border-color:rgba(111,181,222,.13)!important}
.nav-forms>summary{background:rgba(255,255,255,.025);font-weight:800}
.nav-cluster{padding:3px 0 5px}
.nav-cluster+.nav-cluster{border-top:1px solid rgba(255,255,255,.055);margin-top:3px;padding-top:6px}
.nav-cluster-title{padding:3px 9px 4px;color:#82a9c5;font-size:8.8px;font-weight:800;line-height:1.35}
.nav-cluster.search-cluster-hidden{display:none!important}
.side-hub.search-hub-hidden{display:none!important}
.side-link.search-link-hidden{display:none!important}
@media(min-width:851px){.cinematic-shell .sidebar{padding-top:12px!important}.sidebar-screen-search{position:sticky;top:0;z-index:4;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}

/* ===== V445 Leaflet layer control contrast fix =====
   Leaflet keeps its layer switcher on a light panel even in Dark Mode.
   Force only the switcher text to a dark ink color so labels stay readable.
   Light Mode remains unchanged. */
body.dark .leaflet-control-layers,
body.dark .leaflet-control-layers-expanded,
body.dark .leaflet-control-layers label,
body.dark .leaflet-control-layers span,
body.dark .leaflet-control-layers-base label,
body.dark .leaflet-control-layers-overlays label {
  color:#111827 !important;
}
body.dark .leaflet-control-layers-expanded {
  background:rgba(255,255,255,.96) !important;
}
body.dark .leaflet-control-layers-separator {
  border-top-color:#d1d5db !important;
}
body.dark .leaflet-control-layers input[type="radio"],
body.dark .leaflet-control-layers input[type="checkbox"] {
  accent-color:#1688d4;
}

/* ===== V44.5.6: collapsible enterprise sidebar + current contract balance ===== */
@media(min-width:851px){
  .app-shell,.cinematic-shell{transition:padding-right .24s ease}
  .sidebar{transition:transform .24s ease,box-shadow .24s ease;will-change:transform}
  .sidebar-collapse-btn{position:sticky;top:0;z-index:40;display:grid;place-items:center;width:30px;height:34px;margin:0 auto 8px 0;border:1px solid rgba(127,197,235,.35);border-radius:9px;background:#0d4f78;color:#eef9ff;box-shadow:0 6px 20px rgba(0,0,0,.18);cursor:pointer;font:900 22px/1 Arial;transition:.2s}
  .sidebar-collapse-btn:hover{background:#176e9e;transform:translateX(-1px)}
  .sidebar-collapse-btn span{display:block;transform:translateY(-1px)}
  body.sidebar-collapsed .sidebar{transform:translateX(calc(100% - 38px));overflow-x:hidden;box-shadow:-3px 0 14px rgba(0,0,0,.14)}
  body.sidebar-collapsed .app-shell,body.sidebar-collapsed .cinematic-shell{padding-right:38px!important}
  body.sidebar-collapsed .sidebar-collapse-btn{background:#1887c7}
  body.sidebar-collapsed .sidebar-collapse-btn span{transform:rotate(180deg) translateY(1px)}
  body.sidebar-collapsed .sidebar>*:not(.sidebar-collapse-btn){visibility:hidden;pointer-events:none}
}
@media(max-width:850px){.sidebar-collapse-btn{display:none!important}}

.current-contract-balance{margin:9px 0 10px;padding:14px 16px;border:1px solid rgba(43,153,211,.42);border-radius:12px;background:linear-gradient(135deg,rgba(14,75,111,.82),rgba(8,42,67,.90));box-shadow:0 10px 26px rgba(0,34,57,.12);color:#eef9ff}
.current-contract-balance-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}
.current-contract-balance-head span{font-size:10px;color:#7fd3fb;font-weight:850}.current-contract-balance-head h2{font-size:15px;margin:2px 0 3px}.current-contract-balance-head p{font-size:9px;color:#a9c7d8;margin:0}.current-contract-balance-head>strong{min-width:105px;text-align:center;font-size:22px;color:#43c3ff}.current-contract-balance-head>strong small{display:block;font-size:8px;color:#a9c7d8;margin-top:2px}
.current-contract-balance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.current-contract-balance-grid article{padding:10px 12px;border:1px solid rgba(135,194,232,.18);border-radius:9px;background:rgba(3,28,48,.42)}.current-contract-balance-grid article>span,.current-contract-balance-grid article>small{display:block}.current-contract-balance-grid article>span{font-size:9px;color:#abc7d8}.current-contract-balance-grid article>b{display:block;font-size:16px;margin:3px 0;color:#f5fbff}.current-contract-balance-grid article>small{font-size:8px;color:#799bb0}.current-contract-balance-grid .remaining{border-color:rgba(57,189,226,.42);background:rgba(16,86,117,.42)}.current-contract-balance-grid .remaining>b{color:#58d2ff}.current-contract-balance-grid .money{border-color:rgba(40,138,195,.30)}.current-contract-balance-grid .money>b{color:#6ebbe7}.current-contract-balance-grid .vat>b{color:#fbbf75}
.current-contract-balance-progress{height:5px;margin-top:10px;border-radius:999px;background:rgba(122,180,212,.14);overflow:hidden}.current-contract-balance-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#159de0,#379bd5)}
body:not(.dark) .current-contract-balance{background:linear-gradient(135deg,rgba(222,243,252,.94),rgba(205,233,247,.92));color:#0b3955;border-color:#9bcce3}.current-contract-balance-head p,body:not(.dark) .current-contract-balance-head p{color:#56788e}body:not(.dark) .current-contract-balance-grid article{background:rgba(255,255,255,.55);border-color:#bcd7e5}body:not(.dark) .current-contract-balance-grid article>span{color:#456b82}body:not(.dark) .current-contract-balance-grid article>b{color:#0b3955}body:not(.dark) .current-contract-balance-grid .remaining>b{color:#0879ad}body:not(.dark) .current-contract-balance-grid .money>b{color:#14557a}body:not(.dark) .current-contract-balance-grid .vat>b{color:#a75b0c}
@media(max-width:1200px){.current-contract-balance-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.current-contract-balance-head{align-items:flex-start}.current-contract-balance-grid{grid-template-columns:1fr 1fr}.current-contract-balance-grid .vat{grid-column:1/-1}}


/* ===== V44.5.7 — App preview sizing repair for global desktop scale ===== */
@media (min-width:1151px){
  .app-control-grid{grid-template-columns:minmax(0,1fr) 430px!important;gap:20px!important}
  .mobile-preview-card{padding:20px!important;overflow:visible!important}
  .phone-preview{width:350px!important;height:650px!important;border-width:8px!important;padding:8px!important;border-radius:42px!important}
  .preview-switch{width:350px!important}
  .phone-screen{border-radius:29px!important;padding:20px 14px 34px!important}
  .phone-appbar{height:54px!important;gap:10px!important}
  .phone-appbar img{width:38px!important;height:38px!important}
  .phone-app-title b{font-size:12px!important}.phone-app-title small{font-size:8px!important;line-height:1.35!important}
  .phone-project-name{font-size:9px!important;padding:5px 8px!important;margin:0 2px 9px!important}
  .phone-hero{padding:15px!important;gap:11px!important;border-radius:19px!important}
  .phone-avatar{width:42px!important;height:42px!important}.phone-hero b{font-size:11px!important}.phone-hero small{font-size:8px!important;line-height:1.4!important}.phone-hero em{font-size:7px!important;max-width:220px!important}
  .phone-quick-actions{gap:8px!important;margin-top:9px!important}.phone-quick-actions span{font-size:8px!important;padding:8px 5px!important}
  .phone-group{font-size:11px!important;margin:16px 5px 9px!important}
  .phone-menu-list{max-height:345px!important}.phone-menu-row{min-height:67px!important;padding:10px!important;gap:10px!important;margin-bottom:8px!important}.phone-menu-row i{width:36px!important;height:36px!important;font-size:16px!important}.phone-menu-row b{font-size:10px!important;line-height:1.35!important}.phone-menu-row small{font-size:7px!important;line-height:1.35!important;margin-top:3px!important}.phone-menu-row>span{font-size:15px!important}
  .phone-footer{font-size:7px!important;bottom:10px!important}
  .preview-help{font-size:10px!important}
  .phone-form-appbar{height:54px!important}.phone-form-appbar b{font-size:10px!important}.phone-form-appbar small{font-size:7px!important}.phone-form-appbar button{font-size:8px!important;padding:7px 10px!important}.phone-form-progress span{font-size:7px!important}.phone-form-fields{height:470px!important}.pv-field>label{font-size:8px!important}.pv-input{min-height:39px!important;font-size:8px!important;padding:11px 10px!important}.pv-empty{font-size:9px!important}
}
@media (min-width:761px) and (max-width:1150px){
  .mobile-preview-card{align-items:center!important}.phone-preview{width:330px!important;height:620px!important}.preview-switch{width:330px!important}
}


/* V445 mobile icon refresh — enterprise duotone badges */
.phone-menu-row i{font-weight:900!important;line-height:1!important;color:#1f7eea!important;background:linear-gradient(145deg,rgba(31,126,234,.16),rgba(31,126,234,.05))!important;border:1px solid rgba(31,126,234,.22)!important;box-shadow:0 5px 12px rgba(31,126,234,.10)!important}
.phone-menu-row i[data-tone=orange]{color:#f59e0b!important;background:linear-gradient(145deg,rgba(245,158,11,.18),rgba(245,158,11,.05))!important;border-color:rgba(245,158,11,.24)!important;box-shadow:0 5px 12px rgba(245,158,11,.10)!important}
.phone-menu-row i[data-tone=purple]{color:#8b5cf6!important;background:linear-gradient(145deg,rgba(139,92,246,.18),rgba(139,92,246,.05))!important;border-color:rgba(139,92,246,.24)!important;box-shadow:0 5px 12px rgba(139,92,246,.10)!important}
.phone-menu-row i[data-tone=green]{color:#2289c5!important;background:linear-gradient(145deg,rgba(34,137,197,.18),rgba(34,137,197,.05))!important;border-color:rgba(34,137,197,.24)!important;box-shadow:0 5px 12px rgba(34,137,197,.10)!important}
.phone-menu-row i[data-tone=pink]{color:#ec4899!important;background:linear-gradient(145deg,rgba(236,72,153,.18),rgba(236,72,153,.05))!important;border-color:rgba(236,72,153,.24)!important;box-shadow:0 5px 12px rgba(236,72,153,.10)!important}
.phone-menu-row i[data-tone=cyan]{color:#06b6d4!important;background:linear-gradient(145deg,rgba(6,182,212,.18),rgba(6,182,212,.05))!important;border-color:rgba(6,182,212,.24)!important;box-shadow:0 5px 12px rgba(6,182,212,.10)!important}

/* V445 dark animated background visibility tuning
   Keep the cinematic photo clearly visible in dark mode without washing out UI cards. */
body.dark .cinematic-bg-app,
body.dark.cinematic-portfolio-body .cinematic-bg-app{
  filter:saturate(1.03) contrast(.98) brightness(1.00)!important;
  opacity:1!important;
}
body.dark .cinematic-vignette-app,
body.dark.cinematic-portfolio-body .cinematic-vignette-app{
  background:
    linear-gradient(90deg,rgba(4,25,43,.025),rgba(10,55,86,.015) 45%,rgba(4,25,43,.055)),
    linear-gradient(180deg,rgba(4,24,41,.015),rgba(4,24,41,.075))!important;
}
/* Portfolio needs a touch more image presence because its cards already carry dark opacity. */
body.dark.cinematic-portfolio-body .cinematic-bg-app{
  filter:saturate(1.04) contrast(.99) brightness(1.05)!important;
}


/* ===== V44.5.10: Work-orders density + sidebar search + Excel bulk import ===== */
.sidebar-screen-search{min-height:42px!important;border-radius:11px!important;margin:2px 0 12px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(154,207,237,.30)!important;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.sidebar-screen-search .sidebar-search-icon{width:36px!important;min-width:36px!important;font-size:16px!important;color:#8dd7f4!important}
.sidebar-screen-search input{height:40px!important;font-size:11.5px!important;padding:0 4px!important;color:#fff!important}
.sidebar-screen-search input::placeholder{color:#b3c9d8!important}
.sidebar-screen-search button{width:34px!important;height:34px!important;border-radius:8px!important;margin-inline-start:2px!important}
body:not(.dark) .sidebar-screen-search{background:#f8fbfe!important;border-color:#c9dae7!important;box-shadow:0 4px 12px rgba(7,42,67,.08)!important}
body:not(.dark) .sidebar-screen-search input{color:#17364f!important;background:transparent!important}
body:not(.dark) .sidebar-screen-search input::placeholder{color:#7690a4!important}
body:not(.dark) .sidebar-screen-search .sidebar-search-icon{color:#227cad!important}
body:not(.dark) .sidebar-screen-search button{color:#66879c!important}

.wo-page{display:flex;flex-direction:column;gap:12px}.wo-page .wo-filter-card{position:static!important;order:-1;padding:13px 15px!important;border-radius:14px!important}.wo-page .wo-filter-card .filter-title{margin:0 0 10px!important;display:flex;align-items:center;gap:6px}.wo-page .wo-filter-card form{display:grid;grid-template-columns:minmax(220px,1.8fr) repeat(4,minmax(135px,1fr)) auto auto;gap:9px;align-items:end}.wo-page .wo-filter-card label{margin:0!important;gap:4px!important}.wo-page .wo-filter-card input,.wo-page .wo-filter-card select{min-height:39px!important}.wo-page .wo-filter-card .date-filter-pair{display:contents!important}.wo-page .wo-filter-card .btn{height:39px!important;margin:0!important;white-space:nowrap}.wo-page .main-zone{width:100%}.wo-page .filter-result-banner{margin-bottom:10px}.wo-page .kpis-v2{grid-template-columns:repeat(4,minmax(0,1fr))!important}.wo-page .table-card{overflow:hidden}.wo-page .table-scroll{max-height:620px!important;direction:rtl}.wo-page .wide-table{width:100%!important;min-width:100%!important;table-layout:fixed!important}.wo-page .wide-table th,.wo-page .wide-table td{min-width:0!important;max-width:none!important;overflow:hidden;text-overflow:ellipsis}.wo-page .wide-table th:nth-child(1),.wo-page .wide-table td:nth-child(1){width:62px!important}.wo-page .wide-table th:nth-child(2),.wo-page .wide-table td:nth-child(2){width:82px!important}.wo-page .wide-table th:nth-child(3),.wo-page .wide-table td:nth-child(3){width:145px!important}.wo-page .wide-table th:nth-child(4),.wo-page .wide-table td:nth-child(4){width:120px!important}.wo-page .wide-table th:nth-child(5),.wo-page .wide-table td:nth-child(5){width:135px!important}.wo-page .wide-table th:nth-child(6),.wo-page .wide-table td:nth-child(6){width:125px!important}.wo-page .wide-table th:nth-child(7),.wo-page .wide-table td:nth-child(7){width:105px!important}.wo-page .wide-table th:nth-child(8),.wo-page .wide-table td:nth-child(8){width:105px!important}.wo-page .wide-table th:nth-child(9),.wo-page .wide-table td:nth-child(9){width:105px!important}.wo-page .scroll-hint{display:none!important}
.bulk-import-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0;padding:13px 15px;border:1px solid var(--theme-border);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,#1595c8 8%,var(--theme-panel)),var(--theme-panel));box-shadow:var(--theme-shadow)}.bulk-import-bar>div b,.bulk-import-bar>div span{display:block}.bulk-import-bar>div b{font-size:13px;color:var(--theme-text)}.bulk-import-bar>div span{font-size:9px;color:var(--theme-text-2);margin-top:4px}.bulk-import-bar form{display:flex;align-items:center;gap:8px}.bulk-import-bar input[type=file]{max-width:260px;border:1px dashed var(--theme-border);border-radius:9px;padding:7px;background:var(--theme-input);color:var(--theme-input-text)}.bulk-import-result{margin:0 0 12px;padding:10px 13px;border-radius:10px;background:color-mix(in srgb,#166fa3 10%,var(--theme-panel));border:1px solid color-mix(in srgb,#166fa3 30%,var(--theme-border));color:var(--theme-text);font-size:10px;font-weight:800}
@media(max-width:1200px){.wo-page .wo-filter-card form{grid-template-columns:repeat(3,1fr)}.wo-page .wo-filter-card .btn{width:100%}.bulk-import-bar{align-items:stretch;flex-direction:column}.bulk-import-bar form{flex-wrap:wrap}}
@media(max-width:760px){.wo-page .wo-filter-card form{grid-template-columns:1fr 1fr}.wo-page .kpis-v2{grid-template-columns:1fr 1fr!important}.bulk-import-bar form{display:grid}.bulk-import-bar input[type=file]{max-width:none;width:100%}}

/* ===== V44.5.11 Work Orders: remove unnecessary horizontal scrollbar ===== */
.wo-page .table-scroll{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:thin;
}
.wo-page .table-scroll::-webkit-scrollbar:horizontal{height:0!important;display:none!important}
.wo-page .wide-table{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
}
.wo-page .wide-table th,.wo-page .wide-table td{
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.wo-page .wide-table a,.wo-page .wide-table span,.wo-page .wide-table button{max-width:100%}

/* =========================================================
   V445.12 — Employee / Fleet polish
   - True readable light theme for vehicle 360 and employee 360
   - No green/colored hover on employee or vehicle cards
   - Hover only lifts/protrudes the card with a neutral shadow
   ========================================================= */

/* Card hover: preserve the card surface exactly; motion + shadow only. */
.vehicle-card,
.employee-card{
  transform:translateY(0) scale(1);
  transform-origin:center;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
  will-change:transform;
}
html[data-theme="light"] .vehicle-card:hover,
html[data-theme="light"] .employee-card:hover,
body:not(.dark) .vehicle-card:hover,
body:not(.dark) .employee-card:hover{
  background:#fff!important;
  color:#102d45!important;
  border-color:#b7cbd9!important;
  transform:translateY(-7px) scale(1.012)!important;
  box-shadow:0 20px 40px rgba(20,55,80,.16),0 5px 12px rgba(20,55,80,.07)!important;
}
html[data-theme="dark"] .vehicle-card:hover,
html[data-theme="dark"] .employee-card:hover,
body.dark .vehicle-card:hover,
body.dark .employee-card:hover{
  background:#0d263a!important;
  color:#eef6fd!important;
  border-color:#38566d!important;
  transform:translateY(-7px) scale(1.012)!important;
  box-shadow:0 20px 44px rgba(0,0,0,.34)!important;
}
/* Keep all nested card surfaces unchanged while hovering. */
html[data-theme="light"] .vehicle-card:hover .vehicle-card-head,
body:not(.dark) .vehicle-card:hover .vehicle-card-head{background:#f8fbfd!important}
html[data-theme="light"] .vehicle-card:hover .vmeta div,
html[data-theme="light"] .employee-card:hover .meta div,
body:not(.dark) .vehicle-card:hover .vmeta div,
body:not(.dark) .employee-card:hover .meta div{background:#f5f9fc!important}

/* Vehicle 360 — proper light surfaces and readable labels/controls. */
html[data-theme="light"] .vkpi,
html[data-theme="light"] .vsection,
body:not(.dark) .vkpi,
body:not(.dark) .vsection{
  background:rgba(255,255,255,.96)!important;
  color:#112e46!important;
  border:1px solid #cddce7!important;
  box-shadow:0 8px 24px rgba(24,62,88,.08)!important;
}
html[data-theme="light"] .vkpi small,
html[data-theme="light"] .vsection label,
html[data-theme="light"] .vsection .muted,
body:not(.dark) .vkpi small,
body:not(.dark) .vsection label,
body:not(.dark) .vsection .muted{color:#5d7487!important}
html[data-theme="light"] .vkpi b,
html[data-theme="light"] .vsection h2,
html[data-theme="light"] .vsection h3,
html[data-theme="light"] .vsection p,
html[data-theme="light"] .vtable td,
html[data-theme="light"] .vtable th,
body:not(.dark) .vkpi b,
body:not(.dark) .vsection h2,
body:not(.dark) .vsection h3,
body:not(.dark) .vsection p,
body:not(.dark) .vtable td,
body:not(.dark) .vtable th{color:#112e46!important}
html[data-theme="light"] .vform input,
html[data-theme="light"] .vform select,
html[data-theme="light"] .vform textarea,
body:not(.dark) .vform input,
body:not(.dark) .vform select,
body:not(.dark) .vform textarea{
  background:#fff!important;
  color:#142f45!important;
  border:1px solid #c8d8e4!important;
  box-shadow:inset 0 1px 2px rgba(24,62,88,.03)!important;
}
html[data-theme="light"] .vform input:focus,
html[data-theme="light"] .vform select:focus,
html[data-theme="light"] .vform textarea:focus,
body:not(.dark) .vform input:focus,
body:not(.dark) .vform select:focus,
body:not(.dark) .vform textarea:focus{
  outline:none!important;border-color:#65a8cf!important;box-shadow:0 0 0 3px rgba(40,137,192,.10)!important;
}
html[data-theme="light"] .vtable th,
body:not(.dark) .vtable th{background:#edf5fa!important;border-bottom-color:#cbdde8!important}
html[data-theme="light"] .vtable td,
body:not(.dark) .vtable td{background:rgba(255,255,255,.72)!important;border-bottom-color:#e1eaf0!important}
html[data-theme="light"] .vtabs a,
body:not(.dark) .vtabs a{background:#edf5fb!important;color:#176d9d!important;border:1px solid #cee0eb!important}
html[data-theme="light"] .vtabs a:hover,
body:not(.dark) .vtabs a:hover{background:#e5f1f8!important;color:#105b87!important;transform:translateY(-1px)}

/* Employee 360 — explicit light contrast too. */
html[data-theme="light"] .e360-kpi,
html[data-theme="light"] .e-section,
body:not(.dark) .e360-kpi,
body:not(.dark) .e-section{background:rgba(255,255,255,.97)!important;color:#112e46!important;border-color:#cddce7!important;box-shadow:0 8px 24px rgba(24,62,88,.08)!important}
html[data-theme="light"] .e-form input,
html[data-theme="light"] .e-form select,
html[data-theme="light"] .e-form textarea,
body:not(.dark) .e-form input,
body:not(.dark) .e-form select,
body:not(.dark) .e-form textarea{background:#fff!important;color:#142f45!important;border-color:#c8d8e4!important}
html[data-theme="light"] .e-section h2,
html[data-theme="light"] .e-section h3,
html[data-theme="light"] .e360-kpi b,
body:not(.dark) .e-section h2,
body:not(.dark) .e-section h3,
body:not(.dark) .e360-kpi b{color:#112e46!important}

/* =========================================================
   V445.13 — HARD LOCK employee/fleet card surfaces
   Never allow card/link hover/focus/visited states to paint green.
   Only lift the card with a neutral shadow.
   ========================================================= */
article.employee-card,
article.vehicle-card{
  background:#ffffff!important;
  background-image:none!important;
  border:1px solid #d4e1eb!important;
  color:#102d45!important;
  transform:translate3d(0,0,0) scale(1)!important;
  box-shadow:0 8px 22px rgba(31,67,94,.08)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
article.employee-card > a.employee-card-link,
article.vehicle-card > a.vehicle-card-link,
article.employee-card > a.employee-card-link:link,
article.employee-card > a.employee-card-link:visited,
article.employee-card > a.employee-card-link:hover,
article.employee-card > a.employee-card-link:focus,
article.employee-card > a.employee-card-link:active,
article.vehicle-card > a.vehicle-card-link:link,
article.vehicle-card > a.vehicle-card-link:visited,
article.vehicle-card > a.vehicle-card-link:hover,
article.vehicle-card > a.vehicle-card-link:focus,
article.vehicle-card > a.vehicle-card-link:active{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  color:inherit!important;
  filter:none!important;
  outline:none!important;
  box-shadow:none!important;
}
article.employee-card:hover,
article.employee-card:focus-within,
article.vehicle-card:hover,
article.vehicle-card:focus-within{
  background:#ffffff!important;
  background-image:none!important;
  border-color:#a9c4d6!important;
  transform:translate3d(0,-7px,0) scale(1.012)!important;
  box-shadow:0 22px 44px rgba(20,55,80,.17),0 5px 12px rgba(20,55,80,.07)!important;
}
article.employee-card:hover .meta div,
article.employee-card:focus-within .meta div,
article.vehicle-card:hover .vmeta div,
article.vehicle-card:focus-within .vmeta div{
  background:#f5f9fc!important;
  background-image:none!important;
  border-color:#dce7ef!important;
}
article.vehicle-card:hover .vehicle-card-head,
article.vehicle-card:focus-within .vehicle-card-head{
  background:#f8fbfd!important;
  background-image:none!important;
}

html[data-theme="dark"] article.employee-card,
html[data-theme="dark"] article.vehicle-card,
body.dark article.employee-card,
body.dark article.vehicle-card{
  background:#0d263a!important;
  background-image:none!important;
  border-color:#29465d!important;
  color:#eef6fd!important;
  box-shadow:0 10px 26px rgba(0,0,0,.16)!important;
}
html[data-theme="dark"] article.employee-card:hover,
html[data-theme="dark"] article.employee-card:focus-within,
html[data-theme="dark"] article.vehicle-card:hover,
html[data-theme="dark"] article.vehicle-card:focus-within,
body.dark article.employee-card:hover,
body.dark article.employee-card:focus-within,
body.dark article.vehicle-card:hover,
body.dark article.vehicle-card:focus-within{
  background:#0d263a!important;
  background-image:none!important;
  border-color:#46677f!important;
  transform:translate3d(0,-7px,0) scale(1.012)!important;
  box-shadow:0 24px 48px rgba(0,0,0,.34)!important;
}
html[data-theme="dark"] article.employee-card .meta div,
html[data-theme="dark"] article.vehicle-card .vmeta div,
body.dark article.employee-card .meta div,
body.dark article.vehicle-card .vmeta div{
  background:#102f46!important;
  background-image:none!important;
  border-color:#35536a!important;
}
html[data-theme="dark"] article.vehicle-card .vehicle-card-head,
body.dark article.vehicle-card .vehicle-card-head{
  background:#102f46!important;
  background-image:none!important;
  border-bottom-color:#35536a!important;
}
html[data-theme="dark"] article.employee-card h3,
html[data-theme="dark"] article.employee-card .meta b,
html[data-theme="dark"] article.vehicle-card .plate,
html[data-theme="dark"] article.vehicle-card .vmeta b,
body.dark article.employee-card h3,
body.dark article.employee-card .meta b,
body.dark article.vehicle-card .plate,
body.dark article.vehicle-card .vmeta b{
  color:#eef6fd!important;
}
html[data-theme="dark"] article.employee-card .muted,
html[data-theme="dark"] article.vehicle-card .vehicle-sub,
html[data-theme="dark"] article.vehicle-card .vmeta span,
body.dark article.employee-card .muted,
body.dark article.vehicle-card .vehicle-sub,
body.dark article.vehicle-card .vmeta span{
  color:#9fb5c5!important;
}

/* V445.14 — visible Balady / GIS source shortcuts */
.permit-source-shortcuts{margin:0 0 18px;padding:18px;border:1px solid rgba(94,156,188,.24);border-radius:18px;background:rgba(8,35,53,.86);box-shadow:0 14px 32px rgba(3,22,34,.13)}
.permit-source-shortcuts-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.permit-source-shortcuts-head h2{margin:0 0 5px;font-size:20px}.permit-source-shortcuts-head p{margin:0;color:#9eb8c8;font-size:13px}
.permit-source-shortcuts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.permit-source-shortcut{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid rgba(108,174,207,.2);border-radius:14px;text-decoration:none!important;background:rgba(12,48,70,.72);color:#eef8fd!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.permit-source-shortcut:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(2,18,29,.2);border-color:rgba(69,177,222,.55)}.permit-source-shortcut .shortcut-icon{font-size:27px}.permit-source-shortcut div{display:flex;flex-direction:column;gap:3px}.permit-source-shortcut b{font-size:15px}.permit-source-shortcut small{font-size:11px;color:#9fb9c9;line-height:1.6}.permit-source-shortcut>strong{font-size:11px;white-space:nowrap;color:#71c9ed}.permit-source-report-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}
body:not(.dark) .permit-source-shortcuts{background:rgba(255,255,255,.92);border-color:#d5e4eb}body:not(.dark) .permit-source-shortcuts-head p{color:#5f7380}body:not(.dark) .permit-source-shortcut{background:#f8fbfc;color:#15384b!important;border-color:#d8e6ed}body:not(.dark) .permit-source-shortcut small{color:#627986}body:not(.dark) .permit-source-shortcut>strong{color:#087ca9}
@media(max-width:1050px){.permit-source-shortcuts-grid{grid-template-columns:1fr}}@media(max-width:650px){.permit-source-shortcut{grid-template-columns:auto 1fr}.permit-source-shortcut>strong{grid-column:2}}

/* ===== V44.5.16 — THIRD THEME: FIELD MODE =====
   High-contrast daylight mode for site use. Keeps the platform identity while
   improving readability outdoors without turning the interface into full dark mode. */
body.field{
  --theme-bg:#dce7ec;
  --theme-bg-top:#cbdbe3;
  --theme-panel:#f7fbfd;
  --theme-panel-soft:#e7f0f4;
  --theme-panel-hover:#d9e8ee;
  --theme-text:#071e2d;
  --theme-text-2:#294b5e;
  --theme-text-3:#4d6877;
  --theme-border:#9fb6c2;
  --theme-border-soft:#bfd0d8;
  --theme-input:#ffffff;
  --theme-input-text:#071e2d;
  --theme-input-placeholder:#526d7b;
  --theme-link:#005c91;
  --theme-sticky:#eef6f9;
  --theme-table-head:#d7e7ee;
  --theme-table-row:#f9fcfd;
  --theme-table-hover:#cfe5ef;
  --theme-shadow:0 5px 16px rgba(5,38,58,.10);
  --theme-code:#dce9ef;
  color-scheme:light;
}
body.field .cinematic-bg-app{filter:saturate(.70) contrast(1.10) brightness(.96)!important}
body.field .cinematic-vignette-app{background:linear-gradient(180deg,rgba(221,235,241,.80),rgba(231,241,245,.72))!important;backdrop-filter:blur(.7px)!important}
body.field .topbar{background:#e9f2f6!important;border-bottom:2px solid #7798a9!important}
body.field .sidebar{background:#0b3550!important;border-color:#3e687f!important;color:#fff!important}
body.field .sidebar .side-link,body.field .sidebar summary,body.field .side-home{color:#f7fbff!important}
body.field .sidebar .side-link:hover,body.field .sidebar .side-link.active,body.field .side-home:hover{background:#0e6798!important;color:#fff!important}
body.field .sidebar-screen-search{background:#0d2e45!important;border-color:#568095!important}
body.field .sidebar-screen-search input{color:#fff!important}
body.field .sidebar-screen-search input::placeholder{color:#d0e0e8!important}
body.field .btn.primary,body.field button.primary,body.field .report-generate{filter:saturate(1.08) contrast(1.08)}
body.field input,body.field select,body.field textarea{font-weight:650}
body.field .table-card th,body.field .admin-table th,body.field .wide-table th,body.field .simple-users-table th{font-weight:900!important;color:#0b3349!important}
body.field .table-card td,body.field .admin-table td,body.field .wide-table td,body.field .simple-users-table td{font-weight:600}
body.field .map-filters,body.field .report-filter-v08,body.field .report-preview-head{background:rgba(244,250,252,.96)!important}
body.field .live-map{border-color:#6f96aa!important;box-shadow:0 0 0 2px rgba(255,255,255,.65),0 8px 20px rgba(7,42,61,.12)!important}
body.field .icon-btn{border-color:#89a6b5!important;background:#f5fafc!important;color:#0b3852!important;font-weight:900}
body.field .icon-btn:hover{background:#dbeaf1!important}
body.field .kpi,body.field .filter-card,body.field .table-card,body.field .form-card,body.field .report-list,body.field .report-head,body.field .report-filter,body.field .metric-card{backdrop-filter:none!important}

/* Field-mode compatibility for pages that carry their own dark/light variables. */
body.field.portfolio-body{
  --pf-bg:#dce7ec;--pf-panel:rgba(247,251,253,.95);--pf-panel2:#e5eff4;
  --pf-border:#9fb6c2;--pf-text:#071e2d;--pf-muted:#496879;--pf-soft:#d5e6ed;
  background:#dce7ec!important;color:#071e2d!important;
}
body.field .portfolio-topbar{background:rgba(233,242,246,.97)!important;border-bottom-color:#7798a9!important}
body.field .portfolio-theme-toggle{background:#f5fafc!important;border-color:#89a6b5!important;color:#0b3852!important}
body.field .vd-kenburns-portfolio{filter:saturate(.72) contrast(1.08) brightness(.92)!important}
body.field .vd-kenburns-portfolio-overlay{background:linear-gradient(180deg,rgba(217,232,239,.82),rgba(232,241,245,.88))!important;backdrop-filter:blur(.9px)!important}

/* A handful of legacy dark-only selectors use data-theme; keep field explicit. */
html[data-theme="field"] .water-panel,html[data-theme="field"] .water-kpi,
html[data-theme="field"] .dma-panel,html[data-theme="field"] .dma-kpi,
html[data-theme="field"] .dma-chart,html[data-theme="field"] .dma-map{
  --card:#f7fbfd;--line:#9fb6c2;--text:#071e2d;--muted:#496879;--soft:#e7f0f4;--input:#fff;
  background:#f7fbfd;color:#071e2d;
}

/* V445.17 — finance certificate documents + full-row hover */
.finance-cert-table tbody tr:not(.finance-edit-row):not(.finance-docs-row):hover > td{background:var(--theme-table-hover)!important;box-shadow:inset 0 1px color-mix(in srgb,var(--theme-link) 12%,transparent),inset 0 -1px color-mix(in srgb,var(--theme-link) 12%,transparent)}
.finance-entry-actions{flex-wrap:wrap;min-width:255px}.finance-doc-toggle,.finance-invoice-toggle{border:1px solid var(--theme-border);border-radius:5px;background:var(--theme-panel);color:var(--theme-link);padding:5px 7px;font:inherit;font-size:8px;cursor:pointer;white-space:nowrap}.finance-invoice-toggle.has-file{color:#135479;border-color:#7bacc8;background:color-mix(in srgb,#dff6ea 80%,var(--theme-panel))}.finance-docs-row>td{padding:0!important;background:var(--theme-panel-soft)!important}.finance-docs-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;text-align:right}.finance-docs-panel section{border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-panel);padding:12px}.finance-docs-panel h4{margin:0 0 9px;font-size:11px}.finance-doc-upload{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.finance-doc-upload input[type=file]{flex:1;min-width:220px;border:1px solid var(--theme-border);background:var(--theme-input);color:var(--theme-input-text);border-radius:6px;padding:7px}.finance-file-list{display:grid;gap:6px;margin-top:10px}.finance-file-list>div,.finance-invoice-file{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--theme-border-soft);border-radius:7px;padding:7px 9px;background:var(--theme-panel-soft)}.finance-file-list a,.finance-invoice-file a{color:var(--theme-link);text-decoration:none;word-break:break-word}.finance-doc-empty{display:block;margin-top:10px;color:var(--theme-text-3)}
@media(max-width:850px){.finance-docs-panel{grid-template-columns:1fr}}

/* V445.17 — darker field mode for stronger outdoor contrast */
body.field{--theme-bg:#becdd5;--theme-bg-top:#afc1ca;--theme-panel:#eaf1f4;--theme-panel-soft:#d8e4e9;--theme-panel-hover:#c9dce4;--theme-text:#061a27;--theme-text-2:#203f50;--theme-text-3:#425e6d;--theme-border:#839eac;--theme-border-soft:#a9bdc7;--theme-input:#f4f8fa;--theme-input-text:#061a27;--theme-sticky:#e1ebef;--theme-table-head:#c7dae2;--theme-table-row:#eef4f6;--theme-table-hover:#b8d6e2;--theme-shadow:0 6px 18px rgba(4,31,47,.16)}
body.field .cinematic-bg-app{filter:saturate(.62) contrast(1.14) brightness(.78)!important}body.field .cinematic-vignette-app{background:linear-gradient(180deg,rgba(173,193,203,.70),rgba(196,211,218,.64))!important}body.field .topbar{background:#d4e0e5!important;border-bottom-color:#607f90!important}body.field .map-filters,body.field .report-filter-v08,body.field .report-preview-head{background:rgba(226,236,241,.97)!important}body.field .icon-btn{background:#e7eff3!important;border-color:#708e9e!important}

/* Theme chooser */
.vd-theme-menu{position:fixed;z-index:2147483000;min-width:180px;padding:6px;border:1px solid var(--theme-border,#cbd5e1);border-radius:10px;background:var(--theme-panel,#fff);box-shadow:0 14px 32px rgba(0,0,0,.20);direction:rtl}.vd-theme-menu[hidden]{display:none!important}.vd-theme-menu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;color:var(--theme-text,#132);padding:9px 10px;border-radius:7px;font:700 10px Tahoma;cursor:pointer}.vd-theme-menu button:hover,.vd-theme-menu button.active{background:var(--theme-panel-hover,#eef3f6)}.vd-theme-menu button.active:after{content:'✓';font-weight:900;color:var(--theme-link,#087ca9)}

/* V445.19 — finance ledger semantic colors: badges only, never whole cells.
   Keep dark/field rows visually continuous like light mode. */
body.dark .finance-cert-table tbody tr:not(.finance-edit-row):not(.finance-docs-row) > td.semantic-cell-positive,
body.dark .finance-cert-table tbody tr:not(.finance-edit-row):not(.finance-docs-row) > td.semantic-cell-negative,
body.dark .finance-cert-table tbody tr:not(.finance-edit-row):not(.finance-docs-row) > td.semantic-cell-warning,
body.field .finance-cert-table tbody tr:not(.finance-edit-row):not(.finance-docs-row) > td.semantic-cell-positive,
body.field .finance-cert-table tbody tr:not(.finance-edit-row):not(.finance-docs-row) > td.semantic-cell-negative,
body.field .finance-cert-table tbody tr:not(.finance-edit-row):not(.finance-docs-row) > td.semantic-cell-warning{
  background:transparent!important;
}
/* Status color stays on the pill itself, and action colors stay on the buttons only. */
body.dark .finance-cert-table .finance-status,
body.field .finance-cert-table .finance-status{
  box-shadow:none!important;
}
/* Hover must cover every cell uniformly, including status/action cells. */
body.dark .finance-cert-table tbody tr:not(.finance-edit-row):not(.finance-docs-row):hover > td,
body.field .finance-cert-table tbody tr:not(.finance-edit-row):not(.finance-docs-row):hover > td{
  background:var(--theme-table-hover)!important;
}


/* ===== V445 GLOBAL NO-GREEN POLICY =====
   User preference: no green surfaces, text, badges, hover states, buttons or status accents anywhere.
   Semantic success/OK states are represented with the platform blue/cyan palette. */
:root{--success:#1486bd!important;--success-bg:#e8f4fb!important;--success-border:#b9dbed!important;--green:#1486bd!important}
.green{--c:#1486bd!important;color:#1486bd!important}
.status.ok,.badge.ok,.badge.success,.status.success,.success,.success-badge,.ok-badge,
.action-success,.alert-success,.flash-success,.toast-success,
[data-status="success"],[data-status="ok"]{
  background:#e8f4fb!important;color:#0c6695!important;border-color:#abd3e8!important;
}
.btn.success,.btn.ok,button.success,button.ok,a.success,a.ok,
.cinematic-shell .btn.primary.action-success,.cinematic-portfolio-body .btn.primary.action-success{
  background:linear-gradient(135deg,#0b669f,#148ac2)!important;color:#fff!important;border-color:transparent!important;
}
/* finance/extract status pills stay semantic without green */
.extracts-table .status,.finance-table .status,.extract-status,.payment-status{box-shadow:none!important}
/* SVG/icons that inherit green semantic class */
.green svg,.success svg,.status.ok svg{fill:currentColor!important;stroke:currentColor!important}


/* ===== V445.20 ABSOLUTE NO-GREEN UI LOCK =====
   Final cascade guard: platform UI uses navy/blue/cyan only for positive/active states.
   Red remains destructive/error; amber remains warning/pending. */
html,body{
  --success:#1486bd!important;
  --success-bg:#e8f4fb!important;
  --success-border:#b7d9ea!important;
  --green:#1486bd!important;
}
/* mail center: all tabs/actions are navy/blue, never green */
.mail-tabs .mail-tab,
.mail-tabs .mail-tab:visited{
  background:var(--v39-panel,#0b2a40)!important;
  color:var(--v39-text,#e9f3fa)!important;
  border-color:var(--v39-line,#234b66)!important;
  box-shadow:none!important;
}
.mail-tabs .mail-tab:hover{
  background:#164665!important;color:#fff!important;border-color:#2c6f99!important;
}
.mail-tabs .mail-tab.active,
.mail-tabs .mail-tab[aria-selected="true"]{
  background:linear-gradient(135deg,#0b669f,#148ac2)!important;
  color:#fff!important;border-color:#148ac2!important;
}
.mail-primary,.mail-center .btn.primary,.mail-center button[type="submit"]{
  background:linear-gradient(135deg,#0b669f,#148ac2)!important;
  color:#fff!important;border-color:#148ac2!important;
}
.mail-pill.ok,.mail-badge.verified,.mail-otp-feedback.ok{color:#73c7f2!important}
.mail-alert.ok{background:rgba(20,103,151,.14)!important;color:#7bc8f2!important;border-color:rgba(61,147,198,.36)!important}
/* settings/forms: selected cards/toggles are blue; rows stay neutral */
.settings-list a.active,.settings-list a:hover{
  background:color-mix(in srgb,#157eb5 18%,var(--theme-panel,#0d263a))!important;
  color:var(--theme-text,#eef7ff)!important;
  border-color:color-mix(in srgb,#278fc7 45%,var(--theme-border,#29485f))!important;
}
.mini-toggle.on{
  background:#e8f4fb!important;color:#125f8c!important;border-color:#b9d9ea!important;
}
body.dark .mini-toggle.on,body.field .mini-toggle.on{
  background:#143c56!important;color:#8fd3f7!important;border-color:#2d6689!important;
}
.admin-table tbody td,.settings-main .admin-table tbody td{
  background:transparent!important;
}
body.dark .admin-table tbody td,body.field .admin-table tbody td{
  background:transparent!important;
}
.admin-table tbody tr:hover>td,.settings-main .admin-table tbody tr:hover>td,
body.dark .admin-table tbody tr:hover>td,body.field .admin-table tbody tr:hover>td{
  background:var(--theme-table-hover,#173a54)!important;
}
/* legacy semantic classes can never paint a green surface */
.green,.bg-green,.text-green,.border-green,
.success:not(.status):not(.finance-status):not(.success-banner),
.ok:not(.status):not(.finance-status),
.card.success,.card.good,
[class*="green" i],[class*="emerald" i]{
  --c:#1486bd!important;
  border-color:var(--success-border,#b7d9ea)!important;
}
.status.ok,.status.success,.badge.ok,.badge.success,.success-badge,.ok-badge,
.run-status.success,.account-alert.success,.success-banner,
.source-kind-excel{
  background:#e8f4fb!important;color:#12618d!important;border-color:#b7d9ea!important;
}
body.dark .status.ok,body.dark .status.success,body.dark .badge.ok,body.dark .badge.success,
body.dark .success-badge,body.dark .ok-badge,body.dark .run-status.success,
body.dark .account-alert.success,body.dark .success-banner,body.dark .source-kind-excel,
body.field .status.ok,body.field .status.success,body.field .badge.ok,body.field .badge.success,
body.field .success-badge,body.field .ok-badge,body.field .run-status.success,
body.field .account-alert.success,body.field .success-banner,body.field .source-kind-excel{
  background:#14384f!important;color:#8fd3f7!important;border-color:#2d6689!important;
}
.btn.success,.btn.ok,button.success,button.ok,a.success,a.ok{
  background:linear-gradient(135deg,#0b669f,#148ac2)!important;
  color:#fff!important;border-color:#148ac2!important;
}

/* ===== V445.23 PROJECT DASHBOARD CARD STABILITY + THEME CONSISTENCY =====
   Keep dashboard panels stable. Only the inner KPI/rank card lifts on hover.
   Prevent theme-specific text fade and repaint/flicker in contractor cards. */
.command-panel,
.command-panel:hover{
  transform:none!important;
  filter:none!important;
  opacity:1!important;
  background:var(--surface)!important;
  border-color:var(--line)!important;
  box-shadow:0 8px 24px rgba(9,40,60,.05)!important;
}
body.dark .command-panel,
body.dark .command-panel:hover,
body.field .command-panel,
body.field .command-panel:hover,
html[data-theme="dark"] .command-panel,
html[data-theme="dark"] .command-panel:hover,
html[data-theme="field"] .command-panel,
html[data-theme="field"] .command-panel:hover{
  transform:none!important;
  filter:none!important;
  opacity:1!important;
  background:var(--surface)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}

/* Contractor ranking cards: one blue family in every theme. */
.command-rank>a,
.rank-static{
  position:relative!important;
  isolation:isolate!important;
  opacity:1!important;
  visibility:visible!important;
  background:color-mix(in srgb,var(--surface) 90%,#176fa8 10%)!important;
  border-color:color-mix(in srgb,var(--line) 68%,#3797cf 32%)!important;
  color:var(--text)!important;
  transform:translate3d(0,0,0)!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  transition:transform .14s ease,background-color .14s ease,border-color .14s ease,box-shadow .14s ease!important;
}
.command-rank>a:hover,
.rank-static:hover{
  background:color-mix(in srgb,var(--surface) 78%,#176fa8 22%)!important;
  border-color:#4aa6d8!important;
  color:var(--text)!important;
  transform:translate3d(0,-3px,0) scale(1.006)!important;
  box-shadow:0 10px 22px rgba(22,111,168,.18)!important;
  z-index:2!important;
}
body.dark .command-rank>a,
body.dark .rank-static,
html[data-theme="dark"] .command-rank>a,
html[data-theme="dark"] .rank-static{
  background:#11324a!important;
  border-color:#285c7c!important;
  color:#eef7fd!important;
}
body.dark .command-rank>a:hover,
body.dark .rank-static:hover,
html[data-theme="dark"] .command-rank>a:hover,
html[data-theme="dark"] .rank-static:hover{
  background:#194563!important;
  border-color:#4b98c5!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(0,0,0,.20)!important;
}
body.field .command-rank>a,
body.field .rank-static,
html[data-theme="field"] .command-rank>a,
html[data-theme="field"] .rank-static{
  background:#173f59!important;
  border-color:#34779b!important;
  color:#f2f8fc!important;
}
body.field .command-rank>a:hover,
body.field .rank-static:hover,
html[data-theme="field"] .command-rank>a:hover,
html[data-theme="field"] .rank-static:hover{
  background:#205675!important;
  border-color:#62acd2!important;
  color:#fff!important;
}
.command-rank>a b,.rank-static b,
.command-rank>a small,.rank-static small,
.command-rank>a em,.rank-static em{
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
}
body.dark .command-rank>a b,body.dark .rank-static b,
html[data-theme="dark"] .command-rank>a b,html[data-theme="dark"] .rank-static b,
body.field .command-rank>a b,body.field .rank-static b,
html[data-theme="field"] .command-rank>a b,html[data-theme="field"] .rank-static b{
  color:#f5fbff!important;
}
body.dark .command-rank>a small,body.dark .rank-static small,
html[data-theme="dark"] .command-rank>a small,html[data-theme="dark"] .rank-static small,
body.field .command-rank>a small,body.field .rank-static small,
html[data-theme="field"] .command-rank>a small,html[data-theme="field"] .rank-static small{
  color:#c6dbe8!important;
}
.command-rank>a em,.rank-static em{color:#39a8df!important}

/* Daily Brief contractor card: no special dim/green state, and name never disappears. */
.command-brief-grid a:nth-child(3),
.command-brief-grid a:nth-child(3):hover{
  opacity:1!important;
  visibility:visible!important;
  background:rgba(28,120,176,.13)!important;
  border-color:rgba(74,166,216,.48)!important;
  color:#f5fbff!important;
  filter:none!important;
}
.command-brief-grid a:nth-child(3) strong{
  color:#48aee0!important;
  opacity:1!important;
  visibility:visible!important;
}
.command-brief-grid a:nth-child(3) span{
  color:#d5e6f0!important;
  opacity:1!important;
  visibility:visible!important;
}
html:not([data-theme="dark"]):not([data-theme="field"]) .command-brief-grid a:nth-child(3),
body:not(.dark):not(.field) .command-brief-grid a:nth-child(3){
  color:var(--text)!important;
}
html:not([data-theme="dark"]):not([data-theme="field"]) .command-brief-grid a:nth-child(3) span,
body:not(.dark):not(.field) .command-brief-grid a:nth-child(3) span{
  color:var(--muted)!important;
}

/* ===== NEXORA WEB BRAND LOGO ===== */
.cinematic-brand-mark,
.portfolio-topbar .cinematic-brand-mark{
  background:#07152a!important;
  border-color:rgba(61,190,255,.22)!important;
  padding:0!important;
}
.cinematic-brand-mark img,
.portfolio-topbar .cinematic-brand-mark img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
  filter:none!important;
}
.vd445-login-logo{
  width:112px!important;
  height:112px!important;
  margin-bottom:14px!important;
}
.vd445-login-logo img{
  width:108px!important;
  height:108px!important;
  object-fit:cover!important;
  border-radius:22px!important;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.30))!important;
}
.auth-simple-logo{
  width:96px!important;
  height:96px!important;
  border-radius:20px!important;
  object-fit:cover!important;
  filter:drop-shadow(0 8px 18px rgba(7,21,42,.18))!important;
}
.vd-loader-mark{
  overflow:hidden!important;
  background:#07152a!important;
}
.vd-loader-mark img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
}

/* NEXORA EN login progress summary — keep long English labels inside cards */
body.vd-login-v445[data-lang="en"] .vd445-progress-stats>div{
  padding-inline:5px;
  column-gap:4px;
}
body.vd-login-v445[data-lang="en"] .vd445-progress-stats span{
  font-size:6.2px;
  letter-spacing:-.12px;
  white-space:nowrap;
  transform:translateX(-1px);
}
body.vd-login-v445[data-lang="en"] .vd445-progress-stats strong{
  transform:translateX(-1px);
}
/* NEXORA light-login transparent brand treatment */
body.vd-login-v445.vd445-light .vd445-login-logo{
  width:150px!important;
  height:118px!important;
  margin-bottom:10px!important;
}
body.vd-login-v445.vd445-light .vd445-login-logo img{
  width:150px!important;
  height:118px!important;
  object-fit:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 8px 18px rgba(21,78,110,.10))!important;
}


/* ===== NEXORA true transparent light-mode logo ===== */
.vd445-light-wordmark{display:none}
body.vd-login-v445.vd445-light .vd445-login-logo{
  width:170px!important;
  height:126px!important;
  margin:0 auto 12px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
}
body.vd-login-v445.vd445-light .vd445-login-logo img{
  width:88px!important;
  height:88px!important;
  object-fit:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 7px 14px rgba(21,78,110,.13))!important;
}
body.vd-login-v445.vd445-light .vd445-light-wordmark{
  display:block!important;
  margin-top:-2px;
  color:#102b49;
  font-family:Arial,sans-serif;
  font-size:17px;
  line-height:1;
  font-weight:500;
  letter-spacing:6px;
  padding-left:6px;
  white-space:nowrap;
}


/* ===== NEXORA unified transparent logo + language layout ===== */
/* Use the same transparent NEXORA treatment in dark and light modes. */
.vd445-login-logo{
  width:170px!important;
  height:126px!important;
  margin:0 auto 12px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
}
.vd445-login-logo img{
  width:88px!important;
  height:88px!important;
  object-fit:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.24))!important;
}
.vd445-light-wordmark{
  display:block!important;
  margin-top:-2px!important;
  font-family:Arial,sans-serif!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:6px!important;
  padding-left:6px!important;
  white-space:nowrap!important;
  color:#eef8ff!important;
  text-shadow:0 2px 10px rgba(0,0,0,.22)!important;
}
body.vd-login-v445.vd445-light .vd445-light-wordmark{
  color:#102b49!important;
  text-shadow:none!important;
}

/* Desktop language mirror:
   English = login on the left, statistics/showcase on the right.
   Arabic  = statistics/showcase on the left, login on the right. */
@media(min-width:1001px){
  body.vd-login-v445[data-lang="en"] .vd445-layout{
    grid-template-areas:"login showcase"!important;
    grid-template-columns:390px minmax(0,1fr)!important;
    direction:ltr!important;
  }
  body.vd-login-v445[data-lang="en"] .vd445-login-panel{grid-area:login!important;}
  body.vd-login-v445[data-lang="en"] .vd445-showcase{grid-area:showcase!important;}

  body.vd-login-v445[data-lang="ar"] .vd445-layout{
    grid-template-areas:"showcase login"!important;
    grid-template-columns:minmax(0,1fr) 390px!important;
    direction:ltr!important;
  }
  body.vd-login-v445[data-lang="ar"] .vd445-showcase{grid-area:showcase!important;}
  body.vd-login-v445[data-lang="ar"] .vd445-login-panel{grid-area:login!important;}
}

/* Platform header/portfolio: transparent brand mark instead of the dark square tile. */
.cinematic-brand-mark,
.portfolio-topbar .cinematic-brand-mark{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.cinematic-brand-mark img,
.portfolio-topbar .cinematic-brand-mark img{
  object-fit:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.16))!important;
}
.vd-loader-mark{
  background:transparent!important;
  overflow:visible!important;
}
.vd-loader-mark img{
  object-fit:contain!important;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))!important;
}
.auth-simple-logo{
  object-fit:contain!important;
  border-radius:0!important;
  background:transparent!important;
}


/* V44.5.30 — Unified button hover lift across the platform. */
@media (hover:hover) and (pointer:fine){
  button:not(:disabled),.btn:not(:disabled),a.btn,.mini-btn:not(:disabled),.project-card-actions a,.project-menu summary,input[type="submit"]{
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,filter .16s ease!important;
    transform:translateY(0) scale(1);will-change:transform;
  }
  button:not(:disabled):hover,.btn:not(:disabled):hover,a.btn:hover,.mini-btn:not(:disabled):hover,.project-card-actions a:hover,.project-menu summary:hover,input[type="submit"]:hover{
    transform:translateY(-3px) scale(1.015)!important;
    box-shadow:0 8px 18px rgba(5,38,64,.16)!important;
    filter:brightness(1.035);
  }
}
.cinematic-auth-page[data-lang="en"] .auth-simple-card{direction:ltr;text-align:left}
.cinematic-auth-page[data-lang="en"] .auth-simple-heading,.cinematic-auth-page[data-lang="en"] .auth-form-links,.cinematic-auth-page[data-lang="en"] .login-execution-credit{text-align:center}
.cinematic-auth-page[data-lang="en"] .auth-simple-form label{text-align:left}
.cinematic-auth-page[data-lang="en"] .auth-input-wrap input{direction:ltr;text-align:left}

/* V44.5.31 — Project action menu stability: compact menu items must not use global lift hover. */
@media (hover:hover) and (pointer:fine){
  .project-menu-pop button:not(:disabled),
  .project-menu-pop button:not(:disabled):hover{
    transform:none!important;
    box-shadow:none!important;
    filter:none!important;
    will-change:auto!important;
  }
}
.project-menu-pop{
  min-width:220px!important;
  max-width:260px!important;
  padding:6px!important;
  overflow:hidden!important;
}
.project-menu-pop button{
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  padding:9px 11px!important;
  border-radius:7px!important;
  background:transparent!important;
  line-height:1.45!important;
  white-space:normal!important;
  text-align:right!important;
}
.project-menu-pop .project-menu-edit{
  color:#0d668f!important;
}
.project-menu-pop .project-menu-edit:hover{
  background:rgba(13,102,143,.10)!important;
  color:#084f70!important;
}
.project-menu-pop .project-menu-danger{
  color:#c13a43!important;
  margin-top:4px!important;
  border-top:1px solid rgba(120,145,165,.18)!important;
}
.project-menu-pop .project-menu-danger:hover{
  background:rgba(193,58,67,.10)!important;
  color:#9f2630!important;
}
body.dark .project-menu-pop .project-menu-edit{color:#8fd4fa!important}
body.dark .project-menu-pop .project-menu-edit:hover{background:rgba(46,160,218,.14)!important;color:#d8f2ff!important}
body.dark .project-menu-pop .project-menu-danger{color:#ff9aa1!important}
body.dark .project-menu-pop .project-menu-danger:hover{background:rgba(255,92,103,.12)!important;color:#ffd5d8!important}

/* ===== V44.5.32: Unified dashboard date controls =====
   Keep the project-dashboard period fields identical to the platform form language
   instead of the browser default date-input appearance. */
.command-filters .command-date-input{
  width:180px!important;
  min-width:180px!important;
  height:39px!important;
  min-height:39px!important;
  margin:0!important;
  padding:0 11px!important;
  border:1px solid var(--theme-border,#d8e3eb)!important;
  border-radius:8px!important;
  background:var(--theme-panel,#fff)!important;
  color:var(--theme-text,#17344b)!important;
  font:inherit!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:39px!important;
  outline:none!important;
  box-shadow:0 1px 2px rgba(15,42,67,.025)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
  color-scheme:light;
}
.command-filters .command-date-input:hover{
  border-color:#b8cad8!important;
}
.command-filters .command-date-input:focus{
  border-color:#2b8dca!important;
  box-shadow:0 0 0 3px rgba(43,141,202,.11)!important;
}
body.dark .command-filters .command-date-input{
  color-scheme:dark;
  background:var(--theme-panel,#10263a)!important;
  border-color:var(--theme-border,#28445b)!important;
  color:var(--theme-text,#e9f2fb)!important;
}
body.dark .command-filters .command-date-input:hover{
  border-color:#3f617b!important;
}
@media(max-width:700px){
  .command-filters .command-date-input{width:100%!important;min-width:0!important;}
  .command-filters label{width:100%;min-width:0!important;}
}


/* =========================================================
   V44.5.34 — Employee/Fleet hero contrast hard fix
   Fix unreadable white/pale text over the bright hero image
   and remove browser visited-link purple from report buttons.
   ========================================================= */
.employee-page-hero,
.fleet-page-hero{
  position:relative!important;
  z-index:1!important;
  isolation:isolate!important;
  padding:12px 14px!important;
  border-radius:14px!important;
}
/* Very subtle local veil only behind the page heading area. */
.employee-page-hero::before,
.fleet-page-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-6px -8px -6px 42%!important;
  border-radius:16px!important;
  pointer-events:none!important;
}

/* LIGHT: heading copy must be dark and crisp on the bright image. */
html[data-theme="light"] .employee-page-hero h1,
html[data-theme="light"] .fleet-page-hero h1,
body:not(.dark) .employee-page-hero h1,
body:not(.dark) .fleet-page-hero h1{
  color:#123a56!important;
  text-shadow:0 1px 0 rgba(255,255,255,.88)!important;
}
html[data-theme="light"] .employee-page-hero .eyebrow,
html[data-theme="light"] .fleet-page-hero .eyebrow,
body:not(.dark) .employee-page-hero .eyebrow,
body:not(.dark) .fleet-page-hero .eyebrow{
  color:#1e668e!important;
  text-shadow:0 1px 0 rgba(255,255,255,.9)!important;
}
html[data-theme="light"] .employee-page-hero .muted,
html[data-theme="light"] .fleet-page-hero .muted,
body:not(.dark) .employee-page-hero .muted,
body:not(.dark) .fleet-page-hero .muted{
  color:#365b72!important;
  font-weight:700!important;
  text-shadow:0 1px 0 rgba(255,255,255,.92)!important;
}
html[data-theme="light"] .employee-page-hero::before,
html[data-theme="light"] .fleet-page-hero::before,
body:not(.dark) .employee-page-hero::before,
body:not(.dark) .fleet-page-hero::before{
  background:linear-gradient(270deg,rgba(255,255,255,.78),rgba(255,255,255,.50),rgba(255,255,255,0))!important;
}

/* DARK: keep bright text but give it enough local contrast over the same image. */
html[data-theme="dark"] .employee-page-hero h1,
html[data-theme="dark"] .fleet-page-hero h1,
body.dark .employee-page-hero h1,
body.dark .fleet-page-hero h1{
  color:#f5fbff!important;
  text-shadow:0 2px 5px rgba(0,24,42,.75)!important;
}
html[data-theme="dark"] .employee-page-hero .eyebrow,
html[data-theme="dark"] .fleet-page-hero .eyebrow,
body.dark .employee-page-hero .eyebrow,
body.dark .fleet-page-hero .eyebrow{
  color:#d8efff!important;
  text-shadow:0 2px 4px rgba(0,24,42,.72)!important;
}
html[data-theme="dark"] .employee-page-hero .muted,
html[data-theme="dark"] .fleet-page-hero .muted,
body.dark .employee-page-hero .muted,
body.dark .fleet-page-hero .muted{
  color:#d4e7f3!important;
  font-weight:650!important;
  text-shadow:0 2px 5px rgba(0,24,42,.78)!important;
}
html[data-theme="dark"] .employee-page-hero::before,
html[data-theme="dark"] .fleet-page-hero::before,
body.dark .employee-page-hero::before,
body.dark .fleet-page-hero::before{
  background:linear-gradient(270deg,rgba(4,31,50,.72),rgba(4,31,50,.42),rgba(4,31,50,0))!important;
}

/* Report links in both heroes: never inherit purple/visited/white link colors. */
.employee-page-hero a.btn,
.employee-page-hero a.btn:link,
.employee-page-hero a.btn:visited,
.employee-page-hero a.btn:hover,
.employee-page-hero a.btn:focus,
.employee-page-hero a.btn:active,
.fleet-page-hero a.btn,
.fleet-page-hero a.btn:link,
.fleet-page-hero a.btn:visited,
.fleet-page-hero a.btn:hover,
.fleet-page-hero a.btn:focus,
.fleet-page-hero a.btn:active{
  text-decoration:none!important;
  font-weight:800!important;
}
html[data-theme="light"] .employee-page-hero a.btn,
html[data-theme="light"] .fleet-page-hero a.btn,
body:not(.dark) .employee-page-hero a.btn,
body:not(.dark) .fleet-page-hero a.btn{
  color:#0e5f8d!important;
  background:rgba(244,250,254,.94)!important;
  border:1px solid #b7d3e3!important;
  box-shadow:0 2px 7px rgba(11,73,108,.08)!important;
}
html[data-theme="light"] .employee-page-hero a.btn:hover,
html[data-theme="light"] .fleet-page-hero a.btn:hover,
body:not(.dark) .employee-page-hero a.btn:hover,
body:not(.dark) .fleet-page-hero a.btn:hover{
  color:#084b70!important;
  background:#eaf5fb!important;
  border-color:#8ebdd7!important;
}
html[data-theme="dark"] .employee-page-hero a.btn,
html[data-theme="dark"] .fleet-page-hero a.btn,
body.dark .employee-page-hero a.btn,
body.dark .fleet-page-hero a.btn{
  color:#eaf7ff!important;
  background:rgba(8,47,72,.88)!important;
  border:1px solid #3e7899!important;
  box-shadow:0 3px 10px rgba(0,0,0,.20)!important;
}
html[data-theme="dark"] .employee-page-hero a.btn:hover,
html[data-theme="dark"] .fleet-page-hero a.btn:hover,
body.dark .employee-page-hero a.btn:hover,
body.dark .fleet-page-hero a.btn:hover{
  color:#ffffff!important;
  background:#0d5f8d!important;
  border-color:#58a7d2!important;
}

/* =========================================================
   V44.5.36 — Enterprise sidebar + employee identity cards
   Cleaner navigation hierarchy, stronger search field, and
   employee cards with portrait/avatar + better information flow.
   ========================================================= */
@media(min-width:851px){
  .cinematic-shell{padding-right:282px!important}
  .cinematic-shell .sidebar{width:282px!important;padding:12px 13px 42px!important}
}
.cinematic-shell .sidebar{
  background:linear-gradient(180deg,rgba(6,40,68,.985) 0%,rgba(6,50,83,.975) 100%)!important;
  border-left:1px solid rgba(130,198,232,.14)!important;
}
.cinematic-shell .side-home{
  min-height:46px!important;border-radius:12px!important;margin:0 0 11px!important;
  padding:0 13px!important;background:linear-gradient(135deg,#176fae,#0b5a8f)!important;
  box-shadow:0 8px 20px rgba(0,25,44,.16)!important;font-size:12.5px!important;
}
.sidebar-screen-search{
  min-height:47px!important;margin:0 0 13px!important;border-radius:13px!important;
  background:rgba(255,255,255,.075)!important;border:1px solid rgba(139,205,237,.28)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.03),0 7px 18px rgba(0,22,38,.12)!important;
}
.sidebar-screen-search:focus-within{border-color:#54b9e6!important;box-shadow:0 0 0 3px rgba(50,159,211,.13),0 8px 20px rgba(0,22,38,.12)!important}
.sidebar-screen-search .sidebar-search-icon{order:1;width:40px!important;min-width:40px!important;font-size:17px!important;color:#72c9ee!important}
.sidebar-screen-search input{order:2;height:45px!important;padding:0 6px!important;font-size:12px!important;font-weight:650!important;letter-spacing:0!important}
.sidebar-screen-search button{order:3;width:37px!important;height:37px!important;margin:0 4px!important;border-radius:10px!important;background:rgba(255,255,255,.055)!important;color:#9cc5db!important}
.sidebar-screen-search button:hover{background:rgba(255,255,255,.10)!important;color:#fff!important}
.side-hub{margin:5px 0!important;border:0!important;background:transparent!important}
.side-hub>summary{
  min-height:43px!important;padding:0 12px!important;border:1px solid rgba(121,183,216,.14)!important;
  border-radius:11px!important;background:rgba(3,27,47,.20)!important;color:#eaf5fb!important;
  font-size:12px!important;font-weight:850!important;box-shadow:none!important;
}
.side-hub>summary:hover{background:rgba(255,255,255,.075)!important;border-color:rgba(118,200,237,.30)!important;transform:none!important}
.side-hub[open]>summary{background:rgba(16,87,128,.38)!important;border-color:rgba(89,185,229,.34)!important}
.side-hub .hub-icon{width:24px!important;min-width:24px!important;display:grid!important;place-items:center!important;color:#82ccec!important;font-size:13px!important}
.side-hub .hub-title{flex:1!important;white-space:normal!important;line-height:1.25!important}
.side-hub .hub-chevron{font-size:11px!important;color:#86b5ce!important}
.side-hub .hub-body{padding:5px 6px 3px!important;margin:0!important}
.side-hub .side-link{
  min-height:38px!important;margin:2px 0!important;padding:8px 10px!important;border:0!important;border-radius:9px!important;
  background:transparent!important;color:#c9dce8!important;font-size:11.2px!important;gap:8px!important;
}
.side-hub .side-link span{width:22px!important;min-width:22px!important;color:#78bddd!important;font-size:12px!important}
.side-hub .side-link em{font-style:normal!important;font-weight:650!important;line-height:1.35!important}
.side-hub .side-link:hover{background:rgba(255,255,255,.07)!important;color:#fff!important;transform:translateX(-2px)!important}
.side-hub .side-link.active{background:rgba(33,139,195,.20)!important;color:#fff!important;box-shadow:inset -3px 0 #52bce9!important}
.nav-cluster{margin:6px 0 2px!important;padding:0!important;border:0!important}
.nav-cluster-title{margin:7px 9px 4px!important;color:#759db5!important;font-size:9px!important;font-weight:850!important;letter-spacing:.2px!important}
.sidebar-search-empty{border-radius:10px!important;padding:9px!important;background:rgba(3,28,48,.38)!important}
body:not(.dark) .sidebar-screen-search{background:rgba(255,255,255,.10)!important;border-color:rgba(143,203,232,.28)!important;box-shadow:none!important}
body:not(.dark) .sidebar-screen-search input{color:#fff!important}
body:not(.dark) .sidebar-screen-search input::placeholder{color:#b8d0dd!important}
body:not(.dark) .sidebar-screen-search .sidebar-search-icon{color:#7ed0ef!important}
body:not(.dark) .sidebar-screen-search button{color:#a7c6d7!important}

/* Employee card v2 */
.emp-grid{gap:15px!important}
.employee-card-v2{border-radius:18px!important;overflow:hidden!important}
.employee-card-v2 .employee-card-link{padding:15px 15px 48px!important;min-height:214px!important}
.employee-card-main{display:grid;grid-template-columns:78px minmax(0,1fr);gap:13px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--theme-border-soft,#dce7ef)}
.employee-photo-wrap{width:78px;height:78px;align-self:start}
.employee-photo{width:78px;height:78px;border-radius:18px;object-fit:cover;display:block;border:1px solid var(--theme-border,#d4e1eb);background:var(--theme-panel-soft,#f4f8fb);box-shadow:0 5px 14px rgba(11,50,76,.10)}
.employee-photo-fallback{display:grid;place-items:center;font-size:27px;font-weight:950;color:#176e9e;background:linear-gradient(145deg,#e9f5fb,#d8ebf6)}
.employee-identity{min-width:0;padding-inline-end:4px}
.employee-name-line{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
.employee-name-line h3{margin:0!important;font-size:16px!important;line-height:1.45!important;white-space:normal!important}
.employee-role{margin-top:5px;font-size:11.5px;font-weight:800;color:var(--theme-text-2,#38566c);line-height:1.4}
.employee-specialty{margin-top:3px;font-size:10px;color:var(--theme-text-3,#70869a);display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.employee-card-v2 .status-pill{flex:0 0 auto;padding:5px 9px!important;font-size:9.5px!important;line-height:1!important;white-space:nowrap}
.employee-meta-v2{display:grid;grid-template-columns:1.35fr .8fr .65fr 1fr;gap:7px;margin-top:11px}
.employee-meta-item{min-width:0;padding:8px 9px;border-radius:10px;background:var(--theme-panel-soft,#f5f9fc);border:1px solid var(--theme-border-soft,#dce7ef);text-align:right}
.employee-meta-item span{display:block;font-size:9px;color:var(--theme-text-3,#72879a);margin-bottom:3px}
.employee-meta-item b{display:block;font-size:10.5px;color:var(--theme-text,#17344b);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.employee-meta-item.salary-box b{color:#1682bb!important;font-weight:950!important}
.employee-card-v2 .employee-card-actions{inset-inline-start:12px!important;inset-inline-end:auto!important;bottom:10px!important}
.employee-card-v2 .card-delete-btn,.employee-card-v2 .card-quick-edit-btn{width:29px!important;height:29px!important;border-radius:8px!important;font-size:13px!important}
.employee-card-v2 .employee-select-wrap{inset-inline-start:11px!important;inset-inline-end:auto!important;top:10px!important;width:27px!important;height:27px!important;background:rgba(255,255,255,.86)!important}
body.dark .employee-card-v2 .employee-select-wrap{background:rgba(11,42,63,.90)!important}
body.dark .employee-photo{border-color:#36576e!important;background:#123248!important}
body.dark .employee-photo-fallback{background:linear-gradient(145deg,#123a54,#0e2e44)!important;color:#79cdf0!important}
body.dark .employee-card-main{border-bottom-color:#2b4a60!important}
body.dark .employee-role{color:#c3d5e1!important}
body.dark .employee-specialty{color:#8faabc!important}
body.dark .employee-meta-item{background:#102f46!important;border-color:#35536a!important}
body.dark .employee-meta-item span{color:#8faabd!important}
body.dark .employee-meta-item b{color:#eef6fd!important}
@media(max-width:1250px){.employee-meta-v2{grid-template-columns:1fr 1fr}.employee-meta-item.wide{grid-column:1/-1}}
@media(max-width:620px){.employee-card-main{grid-template-columns:64px minmax(0,1fr)}.employee-photo-wrap,.employee-photo{width:64px;height:64px;border-radius:15px}.employee-meta-v2{grid-template-columns:1fr 1fr}.employee-card-v2 .employee-card-link{min-height:auto!important}}

/* ===== V44.5.40 Granular permission matrix ===== */
.permission-matrix{display:grid;gap:14px;margin-top:10px}.permission-group{border:1px solid var(--theme-border,#d6e3ec);border-radius:12px;padding:12px;background:rgba(255,255,255,.42)}body.dark .permission-group{background:rgba(7,38,59,.58)}.permission-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.permission-group-head h4{margin:0;color:var(--theme-text,#14364f);font-size:14px}.permission-group-toggle{border:1px solid #86b9d8;background:transparent;color:#147db4;border-radius:8px;padding:6px 10px;font-weight:700;cursor:pointer}.permission-group .permission-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-group .permission-cards label span small{display:block;margin-top:4px;line-height:1.45;color:var(--theme-muted,#6c879a)}@media(max-width:760px){.permission-group .permission-cards{grid-template-columns:1fr}}

/* ===== V44.5.40: Login credential text visibility — all login themes =====
   Force readable username/password text, caret and browser autofill colors.
   This fixes cases where Chrome/Edge autofill paints a light field while keeping
   inherited white text (or vice versa). */
body.vd-login-v445 .vd445-input input,
body.vd-login-v445 .vd445-input input[type="text"],
body.vd-login-v445 .vd445-input input[type="password"]{
  opacity:1!important;
  text-shadow:none!important;
  caret-color:#eef8ff!important;
  -webkit-text-fill-color:#f7fbff!important;
}
body.vd-login-v445:not(.vd445-light) .vd445-input input{
  background:rgba(11,54,79,.82)!important;
  border-color:rgba(126,190,224,.32)!important;
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
  caret-color:#57c4ff!important;
}
body.vd-login-v445:not(.vd445-light) .vd445-input input::placeholder{
  color:#9fbfd1!important;
  opacity:1!important;
  -webkit-text-fill-color:#9fbfd1!important;
}
body.vd-login-v445:not(.vd445-light) .vd445-input input:focus{
  background:rgba(12,63,92,.94)!important;
  border-color:#2fa9e9!important;
  box-shadow:0 0 0 3px rgba(47,169,233,.14)!important;
}
/* Chrome / Edge autofill — dark and field/default modes */
body.vd-login-v445:not(.vd445-light) .vd445-input input:-webkit-autofill,
body.vd-login-v445:not(.vd445-light) .vd445-input input:-webkit-autofill:hover,
body.vd-login-v445:not(.vd445-light) .vd445-input input:-webkit-autofill:focus,
body.vd-login-v445:not(.vd445-light) .vd445-input input:-webkit-autofill:active{
  -webkit-text-fill-color:#f7fbff!important;
  caret-color:#57c4ff!important;
  -webkit-box-shadow:0 0 0 1000px #123f5c inset!important;
  box-shadow:0 0 0 1000px #123f5c inset!important;
  border-color:rgba(87,196,255,.46)!important;
  transition:background-color 9999s ease-out 0s!important;
}
/* Light mode */
body.vd-login-v445.vd445-light .vd445-input input,
body.vd-login-v445.vd445-light .vd445-input input[type="text"],
body.vd-login-v445.vd445-light .vd445-input input[type="password"]{
  background:rgba(250,253,255,.96)!important;
  border-color:rgba(27,105,154,.30)!important;
  color:#0d3149!important;
  -webkit-text-fill-color:#0d3149!important;
  caret-color:#087ec2!important;
}
body.vd-login-v445.vd445-light .vd445-input input::placeholder{
  color:#718fa3!important;
  opacity:1!important;
  -webkit-text-fill-color:#718fa3!important;
}
body.vd-login-v445.vd445-light .vd445-input input:focus{
  background:#fff!important;
  border-color:#168dcc!important;
  box-shadow:0 0 0 3px rgba(22,141,204,.13)!important;
}
body.vd-login-v445.vd445-light .vd445-input input:-webkit-autofill,
body.vd-login-v445.vd445-light .vd445-input input:-webkit-autofill:hover,
body.vd-login-v445.vd445-light .vd445-input input:-webkit-autofill:focus,
body.vd-login-v445.vd445-light .vd445-input input:-webkit-autofill:active{
  -webkit-text-fill-color:#0d3149!important;
  caret-color:#087ec2!important;
  -webkit-box-shadow:0 0 0 1000px #f8fcff inset!important;
  box-shadow:0 0 0 1000px #f8fcff inset!important;
  border-color:rgba(22,141,204,.40)!important;
  transition:background-color 9999s ease-out 0s!important;
}
/* Selected text remains readable in every theme. */
body.vd-login-v445 .vd445-input input::selection{
  background:#168dcc!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}


/* === V44.5.41 — Enterprise topbar refinement === */
.cinematic-shell .topbar{
  height:68px!important;
  min-height:68px;
  padding:0 18px!important;
  gap:7px;
  background:rgba(8,35,55,.96)!important;
  border-bottom:1px solid rgba(118,181,220,.20)!important;
  box-shadow:0 7px 22px rgba(2,22,38,.18)!important;
  backdrop-filter:blur(16px) saturate(135%);
}
.cinematic-shell .app-shell{padding-top:68px}
.cinematic-shell .brand{
  min-width:310px;
  max-width:370px;
  gap:11px;
  flex:0 0 auto;
}
.cinematic-shell .cinematic-brand-mark{
  width:46px!important;
  height:46px!important;
  min-width:46px;
  border-radius:12px!important;
  background:rgba(7,28,45,.72)!important;
  border:1px solid rgba(54,189,240,.26)!important;
  box-shadow:0 8px 22px rgba(0,18,34,.28)!important;
}
.cinematic-shell .cinematic-brand-mark img{width:40px;height:40px}
.cinematic-shell .brand b{
  color:#f4f9fd!important;
  font-size:13.5px!important;
  font-weight:800;
  white-space:nowrap;
  line-height:1.35;
}
.cinematic-shell .brand small{
  color:#9fb7c8!important;
  font-size:10px!important;
  margin-top:2px;
  white-space:nowrap;
  max-width:300px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cinematic-shell .top-spacer{flex:1 1 28px;min-width:14px}
.cinematic-shell .project-switch,
.cinematic-shell .top-import,
.cinematic-shell .top-app-control,
.cinematic-shell .icon-btn{
  height:38px!important;
  min-height:38px;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:9px!important;
  padding:0 12px!important;
  margin:0!important;
  background:#dbe8f0!important;
  border:1px solid rgba(199,221,234,.62)!important;
  color:#173d5a!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap;
  box-shadow:none!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.cinematic-shell .project-switch:hover,
.cinematic-shell .top-import:hover,
.cinematic-shell .top-app-control:hover,
.cinematic-shell .icon-btn:hover{
  background:#f8fbfd!important;
  border-color:#70bfe9!important;
  transform:translateY(-1px)!important;
  box-shadow:0 5px 12px rgba(0,18,32,.18)!important;
}
.cinematic-shell .project-switch{background:#edf4f8!important}
.cinematic-shell .top-app-control{background:#c8e0ef!important}
.cinematic-shell .icon-btn{width:38px!important;padding:0!important;font-size:17px!important}
.cinematic-shell .global-search-mini{
  width:clamp(210px,18vw,290px)!important;
  height:38px!important;
  margin:0!important;
  border-radius:9px!important;
  border:1px solid rgba(127,168,193,.34)!important;
  background:rgba(6,27,43,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.cinematic-shell .global-search-mini input{
  color:#eef7fc!important;
  font-size:10.5px!important;
  font-weight:600!important;
  padding:0 11px!important;
}
.cinematic-shell .global-search-mini input::placeholder{color:#8fa9ba!important;opacity:1}
.cinematic-shell .global-search-mini button{
  width:38px!important;
  color:#73d1f5!important;
  border-inline-start:1px solid rgba(122,175,205,.24)!important;
  font-size:17px!important;
}
.cinematic-shell .user-mini{
  height:46px;
  margin:0 3px 0 0!important;
  padding:0 8px 0 10px!important;
  gap:8px!important;
  border-right:1px solid rgba(147,184,207,.17)!important;
  border-left:1px solid rgba(147,184,207,.17)!important;
  border-radius:10px;
  min-width:150px;
  max-width:190px;
  text-decoration:none;
  transition:background .18s ease;
}
.cinematic-shell .user-mini:hover{background:rgba(255,255,255,.055)}
.cinematic-shell .user-mini .avatar,
.cinematic-shell .user-mini .top-user-photo{
  width:34px!important;
  height:34px!important;
  min-width:34px;
  border:2px solid rgba(111,200,240,.35);
  box-shadow:0 3px 10px rgba(0,18,31,.18);
}
.cinematic-shell .user-mini b{
  color:#f3f8fb!important;
  font-size:11.5px!important;
  white-space:nowrap;
  max-width:116px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cinematic-shell .user-mini small{color:#91aabc!important;font-size:9.5px!important;margin-top:2px}
.cinematic-shell .logout-link{
  height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 8px;
  color:#9fb3c1!important;
  text-decoration:none;
  font-size:10px;
  border-radius:8px;
  transition:.18s;
}
.cinematic-shell .logout-link:hover{color:#fff!important;background:rgba(255,255,255,.07)}

body.dark .cinematic-shell .topbar{background:rgba(5,24,39,.97)!important}
body.dark .cinematic-shell .project-switch,
body.dark .cinematic-shell .top-import,
body.dark .cinematic-shell .top-app-control,
body.dark .cinematic-shell .icon-btn{
  background:rgba(20,55,78,.92)!important;
  border-color:rgba(124,184,220,.18)!important;
  color:#dbeaf4!important;
}
body.dark .cinematic-shell .project-switch:hover,
body.dark .cinematic-shell .top-import:hover,
body.dark .cinematic-shell .top-app-control:hover,
body.dark .cinematic-shell .icon-btn:hover{background:rgba(30,74,103,.96)!important;border-color:rgba(89,190,237,.45)!important}

@media(max-width:1450px){
  .cinematic-shell .brand{min-width:255px;max-width:290px}
  .cinematic-shell .brand small{max-width:220px}
  .cinematic-shell .project-switch,.cinematic-shell .top-import,.cinematic-shell .top-app-control{padding:0 9px!important;font-size:10px!important}
  .cinematic-shell .global-search-mini{width:220px!important}
  .cinematic-shell .user-mini{min-width:132px;max-width:160px}
}
@media(max-width:1180px){
  .cinematic-shell .brand{min-width:auto;max-width:none}
  .cinematic-shell .brand>div:last-child{display:none}
  .cinematic-shell .global-search-mini{width:190px!important}
  .cinematic-shell .top-import{padding:0 8px!important}
}

/* === V44.5.42 — Field mode redesign: high-contrast outdoor workspace === */
body.field{
  --theme-bg:#e9f1f5!important;
  --theme-bg-top:#dfeaf0!important;
  --theme-panel:#ffffff!important;
  --theme-panel-soft:#f2f7fa!important;
  --theme-panel-hover:#e7f2f8!important;
  --theme-text:#08253a!important;
  --theme-text-2:#21445b!important;
  --theme-text-3:#5b7485!important;
  --theme-border:#b8ccd7!important;
  --theme-border-soft:#d5e2e9!important;
  --theme-input:#ffffff!important;
  --theme-input-text:#08253a!important;
  --theme-input-placeholder:#708796!important;
  --theme-link:#086da8!important;
  --theme-sticky:#f2f7fa!important;
  --theme-table-head:#e8f2f7!important;
  --theme-table-row:#ffffff!important;
  --theme-table-hover:#e1f0f8!important;
  --theme-shadow:0 7px 20px rgba(8,43,64,.10)!important;
  background:#e9f1f5!important;
  color:#08253a!important;
  font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;
  font-weight:500!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.field .cinematic-bg-app{filter:saturate(.85) contrast(1.04) brightness(1.02)!important;opacity:.26!important}
body.field .cinematic-vignette-app{background:linear-gradient(180deg,rgba(238,246,250,.91),rgba(231,241,246,.88))!important;backdrop-filter:blur(1.1px)!important}

/* Keep the field topbar dark like the core NEXORA identity instead of washed-out grey. */
body.field .cinematic-shell .topbar{
  background:linear-gradient(90deg,#08263d 0%,#0b3552 54%,#08263d 100%)!important;
  border-bottom:1px solid rgba(97,190,235,.26)!important;
  box-shadow:0 6px 18px rgba(3,27,44,.22)!important;
}
body.field .cinematic-shell .brand b{color:#ffffff!important;font-weight:800!important}
body.field .cinematic-shell .brand small{color:#b4cddd!important}
body.field .cinematic-shell .project-switch,
body.field .cinematic-shell .top-import,
body.field .cinematic-shell .top-app-control,
body.field .cinematic-shell .icon-btn{
  background:#f4f9fc!important;
  color:#123d59!important;
  border-color:#b9d3e2!important;
  font-weight:800!important;
}
body.field .cinematic-shell .project-switch:hover,
body.field .cinematic-shell .top-import:hover,
body.field .cinematic-shell .top-app-control:hover,
body.field .cinematic-shell .icon-btn:hover{
  background:#ffffff!important;
  border-color:#37aee2!important;
  color:#075f91!important;
}
body.field .cinematic-shell .global-search-mini{
  background:#061f32!important;
  border-color:rgba(102,190,234,.42)!important;
}
body.field .cinematic-shell .global-search-mini input{color:#f6fbfe!important;font-weight:650!important}
body.field .cinematic-shell .global-search-mini input::placeholder{color:#a9c0cf!important}
body.field .cinematic-shell .user-mini b{color:#fff!important;font-weight:800!important}
body.field .cinematic-shell .user-mini small,
body.field .cinematic-shell .logout-link{color:#b1c7d5!important}

/* Field sidebar: crisp navy, not teal-grey. */
body.field .sidebar{
  background:linear-gradient(180deg,#07304b 0%,#0a466c 100%)!important;
  border-color:#17658e!important;
  box-shadow:-5px 0 18px rgba(4,35,55,.12)!important;
}
body.field .sidebar .side-link,
body.field .sidebar summary,
body.field .side-home{color:#edf8fe!important;font-weight:700!important}
body.field .sidebar .side-link:hover,
body.field .sidebar .side-link.active,
body.field .side-home:hover{background:#0b73aa!important;color:#fff!important}
body.field .side-label{color:#a9ccdf!important;font-weight:800!important;letter-spacing:.02em}
body.field .sidebar-screen-search{background:#062941!important;border-color:#367fa6!important}
body.field .sidebar-screen-search input{color:#fff!important;font-weight:650!important}

/* Typography tuned for sunlight/readability without looking heavy. */
body.field h1,body.field h2,body.field h3,body.field h4,
body.field .page-title h1,body.field .table-card-head h2,
body.field .filter-title,body.field .settings-head h2{color:#08253a!important;font-weight:800!important;letter-spacing:0!important}
body.field .page-title h1{font-size:27px!important}
body.field .page-title p,body.field .crumb,body.field small{color:#607989}
body.field .btn,body.field button,body.field input,body.field select,body.field textarea{font-family:inherit!important}
body.field input,body.field select,body.field textarea{font-weight:600!important;color:#08253a!important;background:#fff!important;border-color:#b7ccd8!important}
body.field input::placeholder,body.field textarea::placeholder{color:#78909e!important}
body.field input:focus,body.field select:focus,body.field textarea:focus{border-color:#168bc6!important;box-shadow:0 0 0 3px rgba(22,139,198,.12)!important}

/* Panels/cards should be genuinely white with defined edges for outdoor use. */
body.field .kpi,body.field .filter-card,body.field .table-card,body.field .form-card,
body.field .report-list,body.field .report-head,body.field .report-filter,
body.field .metric-card,body.field .settings-list,body.field .settings-main,
body.field .command-panel,body.field .dma-panel,body.field .dma-kpi,
body.field .water-panel,body.field .water-kpi{
  background:#fff!important;
  border-color:#bfd2dc!important;
  box-shadow:0 7px 20px rgba(7,47,72,.08)!important;
  backdrop-filter:none!important;
}
body.field .kpi:hover,body.field .filter-card:hover,body.field .table-card:hover,
body.field .metric-card:hover{border-color:#8dbad1!important;box-shadow:0 9px 24px rgba(7,47,72,.12)!important}

body.field .table-card th,body.field .admin-table th,body.field .wide-table th,body.field .simple-users-table th{
  background:#e8f2f7!important;
  color:#123d55!important;
  font-weight:800!important;
  border-bottom-color:#bdd2de!important;
}
body.field .table-card td,body.field .admin-table td,body.field .wide-table td,body.field .simple-users-table td{
  color:#17394e!important;
  background:#fff;
  font-weight:500!important;
  border-bottom-color:#e0e9ee!important;
}
body.field .table-card tr:hover td,body.field .admin-table tr:hover td,
body.field .wide-table tr:hover td,body.field .simple-users-table tr:hover td{background:#e7f3f9!important}

body.field .map-filters,body.field .report-filter-v08,body.field .report-preview-head{
  background:#ffffff!important;
  border-color:#bdd2de!important;
}
body.field .live-map{border-color:#8eb5c9!important;box-shadow:0 8px 22px rgba(8,52,78,.12)!important}
body.field .icon-btn{font-weight:800!important}

/* Theme menu should follow the same typography in field mode. */
body.field .vd-theme-menu{background:#fff!important;border-color:#b8ccd7!important;box-shadow:0 14px 32px rgba(6,38,58,.20)!important}
body.field .vd-theme-menu button{font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;font-size:11px!important;font-weight:700!important;color:#12384f!important}
body.field .vd-theme-menu button:hover,body.field .vd-theme-menu button.active{background:#e8f3f9!important;color:#075f91!important}

/* Project/portfolio screens that carry their own variables. */
body.field.portfolio-body{
  --pf-bg:#e9f1f5!important;--pf-panel:#ffffff!important;--pf-panel2:#f2f7fa!important;
  --pf-border:#bfd2dc!important;--pf-text:#08253a!important;--pf-muted:#607989!important;--pf-soft:#e7f2f8!important;
  background:#e9f1f5!important;color:#08253a!important;
}
body.field .portfolio-topbar{background:#0a314c!important;border-bottom-color:#17658e!important}
body.field .portfolio-theme-toggle{background:#fff!important;border-color:#b9d3e2!important;color:#123d59!important}
body.field .vd-kenburns-portfolio{filter:saturate(.86) contrast(1.03) brightness(1.02)!important;opacity:.28!important}
body.field .vd-kenburns-portfolio-overlay{background:linear-gradient(180deg,rgba(237,246,250,.90),rgba(231,241,246,.88))!important}

/* V445 work orders multi-contractor filter */
.wo-page .contractor-multi-label{position:relative;min-width:0}.wo-page .contractor-multi{position:relative}.wo-page .contractor-multi-toggle{width:100%;min-height:39px;border:1px solid var(--v39-line,#d9e1ea);border-radius:8px;background:var(--v39-panel-strong,#fff);color:var(--v39-text,#10213b);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 11px;font-family:inherit;cursor:pointer;text-align:right}.wo-page .contractor-multi-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wo-page .contractor-multi-menu{display:none;position:absolute;z-index:120;top:calc(100% + 6px);right:0;min-width:260px;width:max(100%,300px);max-width:380px;background:var(--v39-panel,#fff);border:1px solid var(--v39-line,#d9e1ea);border-radius:10px;box-shadow:0 14px 34px rgba(7,31,51,.22);padding:8px}.wo-page .contractor-multi.open .contractor-multi-menu{display:block}.wo-page .contractor-multi-head{display:flex;gap:6px;padding-bottom:7px;border-bottom:1px solid var(--v39-line,#e5e7eb)}.wo-page .contractor-multi-head button{flex:1;border:1px solid var(--v39-line,#d9e1ea);border-radius:7px;background:var(--v39-soft,#f5f8fb);color:var(--v39-text,#10213b);font-family:inherit;font-size:11px;padding:7px;cursor:pointer}.wo-page .contractor-multi-options{max-height:260px;overflow:auto;padding-top:6px}.wo-page .contractor-check{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:8px!important;margin:0!important;padding:7px 5px;border-radius:6px;cursor:pointer;font-size:12px!important}.wo-page .contractor-check:hover{background:var(--v39-soft,#f5f8fb)}.wo-page .contractor-check input{width:16px!important;height:16px!important;min-height:0!important;margin:0!important;accent-color:#1787c9}.wo-page .contractor-check span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark .wo-page .contractor-multi-toggle,.dark .wo-page .contractor-multi-menu{background:rgba(14,45,68,.98);color:#edf7ff;border-color:rgba(151,194,221,.22)}.dark .wo-page .contractor-multi-head button{background:rgba(18,51,74,.95);color:#eaf5fd;border-color:rgba(151,194,221,.18)}.dark .wo-page .contractor-check:hover{background:rgba(37,91,128,.35)}

/* V445.15 — Work orders contractor picker: keep contractor names clearly visible */
.wo-page .contractor-multi-menu{overflow:visible!important}
.wo-page .contractor-multi-options{display:grid!important;gap:2px!important;min-height:34px!important;max-height:280px!important;overflow-y:auto!important}
.wo-page .contractor-check{color:var(--v39-text,#10213b)!important;background:transparent!important}
.dark .wo-page .contractor-check{color:#edf7ff!important}
.wo-page .wo-filter-card{overflow:visible!important}
.wo-page .wo-filter-card form{overflow:visible!important}

/* ===== V445 Balady isolated live integration + contractor filter overlay fix ===== */
.wo-page .wo-filter-card{position:relative!important;z-index:60!important;isolation:auto!important}.wo-page .contractor-multi-label,.wo-page .contractor-multi{z-index:70!important}.wo-page .contractor-multi.open{z-index:9999!important}.wo-page .contractor-multi-menu{z-index:10000!important;transform:translateZ(0)}.wo-page .main-zone{position:relative;z-index:1!important}.wo-page .kpis,.wo-page .table-card{position:relative;z-index:1}
.balady-page-title p{max-width:760px}.balady-connection-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border:1px solid var(--v39-line,#dce5ec);border-radius:14px;background:var(--v39-panel,#fff);margin-bottom:12px}.balady-connection-main{display:flex;align-items:center;gap:10px}.balady-connection-main>div{display:grid;gap:2px}.balady-connection-main small{color:var(--v39-muted,#73889a);font-size:11px}.balady-dot{width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 4px rgba(148,163,184,.13)}.balady-connection-strip.is-on .balady-dot{background:#22c55e}.balady-connection-strip.is-off .balady-dot{background:#ef4444}.balady-connection-actions{display:flex;gap:7px;align-items:center}.balady-connection-actions form{margin:0}.balady-notice{padding:10px 13px;border:1px solid rgba(34,197,94,.25);background:rgba(34,197,94,.08);border-radius:10px;margin:0 0 11px;font-size:12px}.balady-filter-card{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(5,minmax(125px,1fr)) auto auto;gap:8px;align-items:end;padding:13px;border:1px solid var(--v39-line,#dce5ec);border-radius:14px;background:var(--v39-panel,#fff);margin-bottom:11px}.balady-filter-card label{display:grid;gap:4px;font-size:10px;font-weight:700;color:var(--v39-muted,#6c8193)}.balady-filter-card input,.balady-filter-card select{height:39px;border:1px solid var(--v39-line,#dce5ec);border-radius:8px;background:var(--v39-panel-strong,#fff);color:var(--v39-text,#10213b);padding:0 9px;font-family:inherit}.balady-filter-card .btn{height:39px;white-space:nowrap}.balady-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:11px}.balady-kpi{min-width:0;padding:13px;border:1px solid var(--v39-line,#dce5ec);border-radius:12px;background:var(--v39-panel,#fff);position:relative;overflow:hidden}.balady-kpi:after{content:"";position:absolute;right:0;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#1677a9,#49a4c7)}.balady-kpi span,.balady-kpi small{display:block;color:var(--v39-muted,#6f8496)}.balady-kpi span{font-size:10px;font-weight:800}.balady-kpi strong{display:block;font-size:23px;margin:5px 0;color:var(--v39-text,#10213b)}.balady-kpi small{font-size:9px}.balady-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:11px;align-items:start}.balady-table-card .table-scroll{max-height:650px}.balady-table-card table{min-width:1250px}.balady-type-pill,.balady-status-pill{display:inline-flex;padding:4px 7px;border-radius:6px;background:rgba(23,135,201,.10);border:1px solid rgba(23,135,201,.16);font-size:10px;font-weight:700}.balady-status-pill{background:rgba(168,85,247,.08);border-color:rgba(168,85,247,.16)}.balady-side{display:grid;gap:10px}.balady-side-card{border:1px solid var(--v39-line,#dce5ec);border-radius:12px;background:var(--v39-panel,#fff);padding:12px}.balady-side-card h3{margin:0 0 9px;font-size:13px}.balady-contractor-list{display:grid;gap:5px}.balady-contractor-list a{display:flex;align-items:center;justify-content:space-between;gap:9px;text-decoration:none;color:var(--v39-text,#10213b);padding:8px;border-radius:8px;background:color-mix(in srgb,var(--v39-soft,#f3f7fa) 78%,transparent)}.balady-contractor-list a>div{min-width:0}.balady-contractor-list b,.balady-contractor-list small{display:block}.balady-contractor-list b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balady-contractor-list small{font-size:8px;color:var(--v39-muted,#748799);margin-top:3px}.balady-contractor-list a>strong{font-size:15px}.balady-log{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid var(--v39-line,#e7edf2)}.balady-log:last-child{border-bottom:0}.balady-log>span{width:8px;height:8px;border-radius:50%;margin-top:4px;background:#f59e0b}.balady-log>span.ok{background:#22c55e}.balady-log>span.bad{background:#ef4444}.balady-log b,.balady-log small,.balady-log em{display:block}.balady-log b{font-size:10px}.balady-log small,.balady-log em{font-size:8px;color:var(--v39-muted,#748799);margin-top:2px;font-style:normal}.empty-mini{font-size:10px;color:var(--v39-muted,#748799)}.balady-settings-modal{width:min(640px,94vw)!important;max-height:90vh;overflow:auto}.balady-help{font-size:11px;color:var(--v39-muted,#748799);line-height:1.7}.balady-toggle-row{display:flex!important;align-items:center;gap:8px!important}.balady-toggle-row input{width:auto!important}.balady-settings-modal label small{font-size:9px;color:var(--v39-muted,#748799);font-weight:400}.balady-security-note{font-size:10px;line-height:1.6;border:1px solid rgba(245,158,11,.25);background:rgba(245,158,11,.08);padding:9px;border-radius:8px}.balady-security-note code{direction:ltr;display:inline-block}
@media(max-width:1450px){.balady-kpis{grid-template-columns:repeat(4,1fr)}.balady-filter-card{grid-template-columns:repeat(4,1fr)}.balady-grid{grid-template-columns:1fr}}
@media(max-width:800px){.balady-connection-strip{align-items:stretch;flex-direction:column}.balady-connection-actions{flex-wrap:wrap}.balady-filter-card{grid-template-columns:1fr 1fr}.balady-kpis{grid-template-columns:1fr 1fr}}

/* ===== V445 Balady completeness + layout hardening 2026-09-08 ===== */
.balady-grid{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr) minmax(230px,270px);overflow:visible}
.balady-grid>*{min-width:0;max-width:100%}
.balady-table-card{min-width:0!important;max-width:100%;overflow:hidden}
.balady-table-card .table-scroll{display:block;width:100%;max-width:100%;overflow-x:auto!important;overflow-y:auto!important;overscroll-behavior:contain}
.balady-table-card table{width:max-content;min-width:1180px;max-width:none;table-layout:auto}
.balady-table-card th,.balady-table-card td{vertical-align:middle;white-space:nowrap}
.balady-table-card th:nth-child(4),.balady-table-card td:nth-child(4){min-width:150px;max-width:220px;white-space:normal}
.balady-table-card th:nth-child(5),.balady-table-card td:nth-child(5){min-width:230px;max-width:340px;white-space:normal;line-height:1.55}
.balady-status-pill{max-width:100%;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;line-height:1.45;text-align:center}
.balady-side{min-width:0!important;max-width:100%;width:100%;overflow:hidden}
.balady-side-card{min-width:0;max-width:100%;overflow:hidden}
.balady-contractor-list a{min-width:0;max-width:100%;overflow:hidden}
.balady-contractor-list a>div{min-width:0;max-width:calc(100% - 45px)}
.balady-contractor-list b{white-space:normal!important;overflow-wrap:anywhere;line-height:1.45}
.balady-contractor-list small{white-space:normal;line-height:1.45}
.balady-sync-health{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:-3px 0 11px;border:1px solid rgba(38,160,218,.22);border-radius:11px;background:rgba(20,126,177,.08);font-size:11px;overflow:hidden}
.balady-sync-health .balady-sync-numbers{display:flex;gap:15px;align-items:center;flex-wrap:wrap;min-width:0}
.balady-sync-health b{font-size:12px}.balady-sync-health span{white-space:nowrap}.balady-sync-health small{opacity:.78;white-space:normal}
@media(max-width:1500px){.balady-grid{grid-template-columns:minmax(0,1fr) minmax(210px,245px)}.balady-table-card table{min-width:1120px}}
@media(max-width:1280px){.balady-grid{grid-template-columns:1fr}.balady-side{grid-template-columns:repeat(2,minmax(0,1fr))}.balady-sync-health{align-items:flex-start;flex-direction:column}}
@media(max-width:800px){.balady-side{grid-template-columns:1fr}.balady-table-card table{min-width:1050px}}

/* ===== V445 Balady wide-table space + column separation fix 2026-09-08 ===== */
/* Use the full page width for data. The contractor/sync summaries sit above the table
   instead of reserving a tall empty side rail. */
.balady-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
.balady-grid>.balady-side{order:-1!important}
.balady-grid>.balady-table-card{order:1!important;width:100%!important;max-width:100%!important}
.balady-side{
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(260px,1fr)!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
.balady-side-card{width:100%!important;min-width:0!important;max-width:none!important}
.balady-contractor-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:7px!important}
.balady-contractor-list a{min-height:58px!important}

/* The Balady table owns the full available width and scrolls only when genuinely needed. */
.balady-table-card{overflow:hidden!important}
.balady-table-card .table-scroll{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
}
.balady-data-table{
  width:100%!important;
  min-width:1460px!important;
  max-width:none!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.balady-data-table th,.balady-data-table td{
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
  vertical-align:middle!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
/* Explicit widths stop request/permit and contractor/type/status from bleeding into each other. */
.balady-data-table .col-request{width:145px!important;min-width:145px!important;text-align:center!important}
.balady-data-table .col-permit{width:150px!important;min-width:150px!important;text-align:center!important}
.balady-data-table .col-type{width:190px!important;min-width:190px!important;text-align:center!important}
.balady-data-table .col-status{width:175px!important;min-width:175px!important;text-align:center!important}
.balady-data-table .col-contractor{width:280px!important;min-width:280px!important;white-space:normal!important;line-height:1.45!important}
.balady-data-table .col-municipality{width:180px!important;min-width:180px!important;white-space:normal!important}
.balady-data-table .col-district{width:125px!important;min-width:125px!important;white-space:normal!important}
.balady-data-table .col-date{width:160px!important;min-width:160px!important;text-align:center!important}
.balady-number,.balady-date{direction:ltr!important;unicode-bidi:isolate!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important}
.balady-type-pill,.balady-status-pill{
  width:100%!important;
  max-width:100%!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:1.45!important;
}
/* Keep filter controls spacious and balanced on wide desktop screens. */
.balady-filter-card{
  grid-template-columns:minmax(260px,1.55fr) minmax(190px,1.15fr) minmax(180px,1fr) minmax(180px,1fr) minmax(165px,.9fr) minmax(165px,.9fr) auto auto!important;
  gap:10px!important;
}
@media(max-width:1450px){
  .balady-side{grid-template-columns:1fr 1fr!important}
  .balady-data-table{min-width:1400px!important}
  .balady-filter-card{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .balady-side{grid-template-columns:1fr!important}
  .balady-contractor-list{grid-template-columns:1fr!important}
  .balady-filter-card{grid-template-columns:1fr 1fr!important}
}

/* ===== V445 Balady filter dropdown stacking / clipping fix 2026-09-08 ===== */
/* Keep the whole filter bar above KPI/table cards while any select is open. */
.balady-filter-card{
  position:relative!important;
  z-index:1200!important;
  overflow:visible!important;
  isolation:auto!important;
}
.balady-filter-card label{
  position:relative!important;
  min-width:0!important;
  overflow:visible!important;
}
.balady-filter-card label:focus-within{
  z-index:1300!important;
}
.balady-filter-card select,
.balady-filter-card input{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.balady-filter-card select{
  position:relative!important;
  z-index:2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  padding-inline-start:10px!important;
  padding-inline-end:30px!important;
}
/* Long contractor/type/status values stay inside their own control instead of painting over neighbours. */
.balady-filter-card select[name="contractor"]{
  font-size:10px!important;
}
.balady-filter-card select[name="request_type"],
.balady-filter-card select[name="status"]{
  font-size:10px!important;
}
/* Everything below the filters must remain in a lower stacking layer. */
.balady-kpis,.balady-grid,.balady-sync-health,.balady-connection-strip{
  position:relative;
  z-index:1;
}
.balady-kpi,.balady-table-card,.balady-side-card{
  position:relative;
  z-index:1;
}
/* Prevent generic card/table overflow rules from clipping a dropdown opened above them. */
.balady-page-title,
.balady-connection-strip,
.balady-sync-health{
  overflow:visible!important;
}

/* ===== V445 Balady settings modal stacking fix 2026-09-08 ===== */
/* The Balady settings dialog must always sit above the filter bar, KPI cards, tables, topbar and sidebar. */
#baladySettingsModal{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:rgba(4,18,30,.72)!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
}
#baladySettingsModal.show{display:flex!important}
#baladySettingsModal .balady-settings-modal{
  position:relative!important;
  z-index:100000!important;
  width:min(640px,94vw)!important;
  max-height:calc(100vh - 40px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  margin:0!important;
  box-shadow:0 24px 70px rgba(0,0,0,.45)!important;
}
/* While the modal is open, keep all Balady page layers below it. */
body:has(#baladySettingsModal.show) .balady-filter-card,
body:has(#baladySettingsModal.show) .balady-kpis,
body:has(#baladySettingsModal.show) .balady-grid,
body:has(#baladySettingsModal.show) .balady-sync-health,
body:has(#baladySettingsModal.show) .balady-connection-strip{
  z-index:1!important;
}

/* ===== V445 Balady auto-sync pause on expired session 2026-09-08 ===== */
.balady-session-expired-alert{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 16px;margin:0 0 12px;border:1px solid rgba(239,68,68,.42);
  border-radius:12px;background:rgba(239,68,68,.11);color:var(--v39-text,#10213b);
  position:relative;z-index:2;
}
.balady-session-expired-alert>div{display:grid;gap:4px;min-width:0}
.balady-session-expired-alert strong{font-size:13px;color:#dc2626}
.balady-session-expired-alert span{font-size:10px;color:var(--v39-muted,#73889a);line-height:1.65}
.balady-connection-strip.session-expired{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.06)}
.balady-connection-strip.session-expired .balady-dot{background:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.14)}
@media(max-width:800px){.balady-session-expired-alert{align-items:stretch;flex-direction:column}.balady-session-expired-alert .btn{width:100%}}

/* V445 Balady inline synchronization progress */
.balady-inline-sync{margin:10px 0 12px;padding:13px 15px;border:1px solid rgba(30,159,219,.36);border-radius:13px;background:linear-gradient(135deg,rgba(21,139,194,.11),rgba(19,91,139,.07));box-shadow:0 8px 24px rgba(4,60,96,.06)}
.balady-inline-sync[hidden]{display:none!important}.balady-inline-sync-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:9px}.balady-inline-sync-head>div{min-width:0}.balady-inline-sync-head b,.balady-inline-sync-head span{display:block}.balady-inline-sync-head b{font-size:12px}.balady-inline-sync-head span{font-size:9px;opacity:.78;margin-top:3px}.balady-inline-sync-head>strong{font-size:22px;direction:ltr;min-width:58px;text-align:left;color:#1496d0}.balady-inline-sync-track{height:11px;border-radius:999px;overflow:hidden;background:rgba(76,121,148,.18);border:1px solid rgba(80,147,184,.16)}.balady-inline-sync-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0e8ed0,#27b7ed);transition:width .35s ease;box-shadow:0 0 14px rgba(24,164,220,.35)}.balady-inline-sync-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;font-size:9px;opacity:.85}.balady-inline-sync-meta b{font-size:10px}.balady-inline-sync.is-done{border-color:rgba(49,164,121,.35);background:rgba(49,164,121,.08)}.balady-inline-sync.is-done .balady-inline-sync-head>strong{color:#2a9c75}.balady-inline-sync.is-error{border-color:rgba(209,72,82,.4);background:rgba(209,72,82,.08)}.balady-inline-sync.is-error .balady-inline-sync-head>strong{color:#d34a57}.balady-inline-sync.is-error .balady-inline-sync-track i{background:linear-gradient(90deg,#c94855,#df6872)}
[data-theme="dark"] .balady-inline-sync,body.dark .balady-inline-sync{background:linear-gradient(135deg,rgba(13,89,130,.28),rgba(7,48,79,.28));border-color:rgba(52,174,226,.27)}

/* V445 — Balady multi-consultant management */
.balady-consultant-manager{margin-top:18px;padding-top:16px;border-top:1px solid rgba(111,145,166,.22)}
.balady-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.balady-manager-head h3{margin:0 0 4px;font-size:14px}.balady-manager-head p{margin:0;font-size:9px;color:var(--v39-muted,#748799);line-height:1.6}.balady-manager-head>span{font-size:9px;padding:5px 8px;border:1px solid rgba(36,151,205,.24);border-radius:999px;white-space:nowrap}
.balady-consultant-cards{display:grid;gap:8px;max-height:250px;overflow:auto;padding-inline-end:2px}
.balady-consultant-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid rgba(35,147,199,.22);background:rgba(30,144,195,.06);border-radius:10px}
.balady-consultant-card.is-disabled{opacity:.62;background:rgba(110,128,142,.06);border-style:dashed}
.balady-consultant-info{min-width:0;display:grid;gap:3px}.balady-consultant-info b{font-size:11px;white-space:normal;overflow-wrap:anywhere}.balady-consultant-info code{font-size:10px;direction:ltr;unicode-bidi:isolate;justify-self:start}.balady-consultant-info small{font-size:8px;color:var(--v39-muted,#748799)}
.balady-consultant-actions{display:flex;gap:6px;flex:0 0 auto}.balady-consultant-actions form{margin:0}.balady-consultant-actions .btn{min-width:62px;padding:6px 9px;font-size:9px}.danger-outline{border-color:rgba(220,38,38,.42)!important;color:#dc2626!important;background:transparent!important}
.balady-add-consultant-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,.8fr) auto auto;gap:8px;align-items:end;margin-top:11px;padding:11px;border-radius:10px;background:rgba(22,133,183,.055);border:1px dashed rgba(35,147,199,.27)}
.balady-add-consultant-form label{margin:0!important}.balady-add-consultant-form .balady-add-active{align-self:center;white-space:nowrap}.balady-add-consultant-form .btn{height:38px;white-space:nowrap}
.balady-filter-card{grid-template-columns:minmax(210px,1.35fr) minmax(170px,1fr) minmax(190px,1.15fr) minmax(150px,.9fr) minmax(150px,.9fr) minmax(135px,.8fr) minmax(135px,.8fr) auto auto!important}
.balady-filter-card select[name="consultant_id"]{min-width:0;width:100%}
@media(max-width:1450px){.balady-filter-card{grid-template-columns:repeat(4,minmax(0,1fr))!important}.balady-add-consultant-form{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.balady-add-consultant-form{grid-template-columns:1fr}.balady-consultant-card{align-items:stretch;flex-direction:column}.balady-consultant-actions{width:100%}.balady-consultant-actions form,.balady-consultant-actions .btn{flex:1;width:100%}.balady-filter-card{grid-template-columns:1fr 1fr!important}}

.balady-data-table .col-consultant{width:260px!important;min-width:260px!important;white-space:normal!important;line-height:1.45!important}

/* ===== V445 Balady session truth + theme contrast fix 2026-09-08 ===== */
/* The dot represents SESSION health only. Sync enabled/disabled is a separate state. */
.balady-connection-strip.session-connected .balady-dot{background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.16)!important}
.balady-connection-strip.session-expired .balady-dot,
.balady-connection-strip.session-missing .balady-dot{background:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.15)!important}
.balady-connection-strip.session-pending .balady-dot{background:#f59e0b!important;box-shadow:0 0 0 4px rgba(245,158,11,.16)!important}
/* Neutralize legacy dot rules based on enabled state. */
.balady-connection-strip.is-on .balady-dot,.balady-connection-strip.is-off .balady-dot{background:inherit}

/* Give the Balady status/progress panels a real surface in every visual mode. */
.balady-connection-strip,
.balady-inline-sync,
.balady-sync-health,
.balady-notice,
.balady-session-expired-alert{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 7px 18px rgba(21,45,66,.08)!important;
}
body:not(.dark):not(.field) .balady-connection-strip,
body:not(.dark):not(.field) .balady-inline-sync,
body:not(.dark):not(.field) .balady-sync-health{
  background:#ffffff!important;
  border-color:#cfdde7!important;
  color:#15344d!important;
}
body:not(.dark):not(.field) .balady-connection-strip b,
body:not(.dark):not(.field) .balady-connection-strip small,
body:not(.dark):not(.field) .balady-inline-sync b,
body:not(.dark):not(.field) .balady-inline-sync span,
body:not(.dark):not(.field) .balady-sync-health b,
body:not(.dark):not(.field) .balady-sync-health span,
body:not(.dark):not(.field) .balady-sync-health small{color:#15344d!important;opacity:1!important}
body.dark .balady-connection-strip,
body.dark .balady-inline-sync,
body.dark .balady-sync-health{
  background:#102b3e!important;
  border-color:#315064!important;
  color:#eef7fb!important;
  box-shadow:0 8px 20px rgba(0,0,0,.22)!important;
}
body.dark .balady-connection-strip b,
body.dark .balady-connection-strip small,
body.dark .balady-inline-sync b,
body.dark .balady-inline-sync span,
body.dark .balady-sync-health b,
body.dark .balady-sync-health span,
body.dark .balady-sync-health small{color:#eef7fb!important;opacity:1!important}
body.field .balady-connection-strip,
body.field .balady-inline-sync,
body.field .balady-sync-health{
  background:rgba(7,39,59,.94)!important;
  border-color:rgba(91,183,220,.36)!important;
  color:#f4fbff!important;
}
body.field .balady-connection-strip b,
body.field .balady-connection-strip small,
body.field .balady-inline-sync b,
body.field .balady-inline-sync span,
body.field .balady-sync-health b,
body.field .balady-sync-health span,
body.field .balady-sync-health small{color:#f4fbff!important;opacity:1!important}
.balady-analytics-report-btn{font-weight:800!important}
\n\n/* ===== V445 Balady privacy + import modal + no-overlay UX fix 2026-09-09 ===== */\n#baladyImportModal{position:fixed!important;inset:0!important;z-index:100200!important;overflow:hidden!important;isolation:isolate!important;background:rgba(4,18,30,.76)!important;align-items:center!important;justify-content:center!important;padding:20px!important}\n#baladyImportModal.show{display:flex!important}\n#baladyImportModal .balady-import-modal{position:relative!important;z-index:100201!important;width:min(680px,94vw)!important;max-height:calc(100vh - 40px)!important;overflow-y:auto!important;overflow-x:hidden!important;margin:0!important;padding:24px 24px 22px!important;box-shadow:0 28px 80px rgba(0,0,0,.48)!important}\n#baladySettingsModal .balady-modal-close,#baladyImportModal .balady-modal-close{position:sticky!important;top:0!important;float:left!important;margin:0 0 8px 0!important;width:34px!important;height:34px!important;min-width:34px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.25)!important;background:#f8fbfd!important;color:#12324a!important;font-size:23px!important;font-weight:900!important;line-height:1!important;display:grid!important;place-items:center!important;cursor:pointer!important;z-index:100500!important;box-shadow:0 5px 16px rgba(0,0,0,.22)!important}\n#baladySettingsModal .balady-modal-close:hover,#baladyImportModal .balady-modal-close:hover{background:#e8f4fb!important;color:#b4232f!important;transform:scale(1.04)}\nbody.dark #baladySettingsModal .balady-modal-close,body.dark #baladyImportModal .balady-modal-close,body.field #baladySettingsModal .balady-modal-close,body.field #baladyImportModal .balady-modal-close{background:#102b3e!important;color:#fff!important;border-color:#45657a!important}\n.balady-file-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;border:1px dashed rgba(28,145,202,.42);border-radius:12px;background:rgba(27,142,193,.07);margin:12px 0 14px}\n.balady-file-picker input[type=file]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}\n.balady-file-picker-btn{cursor:pointer!important;margin:0!important}\n#baladyImportFileName{font-size:10px;color:var(--v39-muted,#6f8496);max-width:100%;overflow-wrap:anywhere}\n.balady-import-inline-status{margin:10px 0;padding:9px 11px;border-radius:9px;background:rgba(20,144,194,.09);border:1px solid rgba(20,144,194,.24);font-size:10px;font-weight:700}\n.balady-privacy-bar{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 10px;position:relative;z-index:5}\n.balady-privacy-bar small{font-size:9px;color:var(--v39-muted,#6f8496)}\n.balady-privacy-toggle{min-width:205px}\n#baladyPrivatePanel[hidden]{display:none!important}\nbody.balady-private-hidden .balady-privacy-bar{padding:8px 10px;border:1px solid rgba(21,135,190,.22);border-radius:11px;background:rgba(21,135,190,.06)}\n@media(max-width:700px){.balady-privacy-bar{align-items:stretch;flex-direction:column}.balady-privacy-toggle{width:100%}}\n

/* ===== V445 Balady modal TRUE-TOP fix 2026-09-09 ===== */
/* These dialogs are re-parented to <body> by JS and must dominate every app stacking context. */
#baladyImportModal,#baladySettingsModal{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  z-index:2147483000!important;
  overflow:auto!important;
  isolation:isolate!important;
  background:rgba(4,18,30,.78)!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  transform:none!important;
  filter:none!important;
  contain:none!important;
  pointer-events:auto!important;
}
#baladyImportModal.show,#baladySettingsModal.show{display:flex!important}
#baladyImportModal .balady-import-modal,#baladySettingsModal .balady-settings-modal{
  position:relative!important;
  z-index:2147483001!important;
  width:min(700px,94vw)!important;
  max-height:calc(100vh - 48px)!important;
  overflow:auto!important;
  margin:auto!important;
  transform:none!important;
  pointer-events:auto!important;
}
body.balady-modal-open{overflow:hidden!important}
body.balady-modal-open .balady-filter-card,
body.balady-modal-open .balady-kpis,
body.balady-modal-open .balady-grid,
body.balady-modal-open .balady-sync-health,
body.balady-modal-open .balady-connection-strip,
body.balady-modal-open .page-title,
body.balady-modal-open .topbar,
body.balady-modal-open .sidebar{
  z-index:0!important;
  pointer-events:none!important;
}
body.balady-modal-open #baladyImportModal,
body.balady-modal-open #baladySettingsModal,
body.balady-modal-open #baladyImportModal *,
body.balady-modal-open #baladySettingsModal *{pointer-events:auto!important}
#baladyImportModal .balady-file-picker{position:relative!important;z-index:2!important}
#baladyImportModal .balady-file-picker-btn{position:relative!important;z-index:3!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important}
#baladyImportModal .balady-modal-close,#baladySettingsModal .balady-modal-close{
  position:absolute!important;top:14px!important;left:14px!important;float:none!important;z-index:2147483002!important;
}

/* ===== V445 Balady layout cleanup: KPIs before filters + private sync details 2026-09-09 ===== */
.balady-private-secondary{
  margin:10px 0 12px;
  width:100%;
  min-width:0;
}
.balady-private-secondary .balady-side{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr)!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
}
.balady-private-secondary .balady-side-card{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.balady-private-secondary .balady-contractor-list{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
}
.balady-private-secondary .balady-contractor-list a{
  min-width:0!important;
}
/* Main results area now owns the full width; contractor/sync cards live in the privacy panel above. */
.balady-grid{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  gap:0!important;
}
.balady-grid>.balady-table-card{
  width:100%!important;
  max-width:100%!important;
}
/* Statistics are intentionally above search/filter bar. Keep a clean visual rhythm. */
.balady-kpis{margin:0 0 10px!important}
.balady-filter-card{margin:0 0 11px!important}
@media(max-width:1400px){
  .balady-private-secondary .balady-contractor-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:1000px){
  .balady-private-secondary .balady-side{grid-template-columns:1fr!important}
  .balady-private-secondary .balady-contractor-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
  .balady-private-secondary .balady-contractor-list{grid-template-columns:1fr!important}
}

/* ===== V445 Work Orders final layout fix: KPI first, compact filter, no dead top gap ===== */
.wo-page{display:block!important;margin-top:0!important;padding-top:0!important}
.wo-page .main-zone{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important}
.wo-page .kpis-v2{order:1!important;margin:0!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.wo-page .wo-filter-card{order:2!important;position:relative!important;top:auto!important;margin:0!important;padding:11px 13px!important;border-radius:14px!important;z-index:60!important}
.wo-page .filter-result-banner{order:3!important;margin:0!important}
.wo-page .table-card{order:4!important;margin:0!important}
.wo-page .wo-filter-card .filter-title{margin:0 0 7px!important;line-height:1.25!important}
.wo-page .wo-filter-card form{gap:8px!important;align-items:end!important}
.wo-page .wo-filter-card label{margin:0!important}
.wo-page .wo-filter-card input,.wo-page .wo-filter-card select,.wo-page .contractor-multi-toggle{min-height:36px!important;height:36px!important}
.wo-page .wo-filter-card .btn{height:36px!important;min-height:36px!important;padding-top:7px!important;padding-bottom:7px!important}
body:has(.wo-page) .page-title{margin-bottom:10px!important}
body:has(.wo-page) .content{padding-top:14px!important}
@media(max-width:1200px){.wo-page .kpis-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.wo-page .kpis-v2{grid-template-columns:1fr 1fr!important}}

/* ===== V445 Work Orders filter controls readability — 2026-09-24 ===== */
/* Slightly taller filter cells so Arabic labels/values are not visually clipped. */
.wo-page .wo-filter-card input,
.wo-page .wo-filter-card select,
.wo-page .contractor-multi-toggle{
  min-height:44px!important;
  height:44px!important;
  line-height:1.45!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
}
.wo-page .wo-filter-card select{
  padding-inline-start:12px!important;
  padding-inline-end:34px!important;
}
.wo-page .wo-filter-card .btn{
  min-height:44px!important;
  height:44px!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
  line-height:1.35!important;
}
.wo-page .wo-filter-card label{
  gap:6px!important;
  line-height:1.4!important;
}

/* NEXORA App Control V2 — simplified operator-friendly editor */
.app-control-v2{max-width:100%!important}.app-control-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 14px}.app-control-guide>div{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.92);border:1px solid rgba(38,116,159,.14);border-radius:14px;padding:11px 13px;box-shadow:0 5px 18px rgba(24,70,98,.05)}.app-control-guide b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eefbfc;color:#139db0;font-size:13px}.app-control-guide span,.app-control-guide strong,.app-control-guide small{display:block}.app-control-guide strong{font-size:11px;color:#123b5a}.app-control-guide small{font-size:9px;color:#7890a1;margin-top:2px}.app-master-source{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;background:linear-gradient(90deg,rgba(108,76,255,.08),rgba(32,184,213,.08));border:1px solid rgba(32,184,213,.24);border-radius:14px;padding:12px 15px;margin-bottom:14px}.app-master-source span{font-size:10px;color:#6d8293}.app-master-source strong{font-size:12px;color:#123b5a}.app-master-source small{font-size:9px;color:#71889a}.app-control-v2 .app-section-head{border-bottom:1px solid rgba(38,116,159,.12);padding-bottom:10px;margin-bottom:14px}.app-control-v2 .app-section-head h2{font-size:14px!important}.app-control-v2 .app-settings-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.app-control-v2 .app-settings-form label{font-size:11px!important}.app-control-v2 .app-settings-form input,.app-control-v2 .app-settings-form select{min-height:42px!important;border-radius:10px!important}.app-control-v2 .app-toggle-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.app-control-v2 .toggle-box{background:#f8fbfd!important;min-height:46px!important}.app-control-v2 .app-design-advanced p{font-size:9px;color:#71889a;margin:0 0 8px}.app-control-v2 .app-form-tabs{gap:8px}.app-control-v2 .app-form-tab{border-radius:10px;padding:9px 12px;font-size:10px}.app-control-v2 .app-form-editor{background:#f8fbfd!important}.app-control-v2 .app-fields-table-wrap{border-radius:14px}.app-control-v2 .phone-screen{background:linear-gradient(#fbfdff,#eff8fb)!important}.app-control-v2 .phone-menu-row{box-shadow:0 6px 16px rgba(26,73,101,.08)!important}.app-control-v2 .phone-hero{background:linear-gradient(135deg,#6c4cff,#20b8d5)!important}
body.dark .app-control-v2 .app-control-guide>div,body.dark .app-control-v2 .app-master-source{background:#102c46;border-color:rgba(155,205,237,.2)}body.dark .app-control-v2 .app-control-guide strong,body.dark .app-control-v2 .app-master-source strong{color:#eef8ff}body.dark .app-control-v2 .app-control-guide small,body.dark .app-control-v2 .app-master-source small,body.dark .app-control-v2 .app-master-source span{color:#b5c9d8}
@media(max-width:900px){.app-control-guide{grid-template-columns:1fr 1fr}.app-master-source{grid-template-columns:1fr}.app-control-v2 .app-settings-form{grid-template-columns:1fr!important}.app-control-v2 .app-toggle-grid{grid-template-columns:1fr 1fr!important}}


/* V44.5.41 — Login footer + richer cinematic background motion */
.vd445-login-footer{width:min(1500px,calc(100% - 54px));margin:-18px auto 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;color:rgba(210,229,240,.78);font-size:9px;position:relative;z-index:4;direction:rtl}
.vd445-footer-developer{justify-self:start;text-align:right;font-weight:600}
.vd445-footer-rights{justify-self:center;text-align:center;direction:rtl;color:rgba(190,216,231,.68);white-space:nowrap}
.vd445-footer-social{justify-self:end;display:flex;align-items:center;gap:8px;direction:ltr}
.vd445-social{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:rgba(5,42,67,.48);border:1px solid rgba(122,196,233,.20);box-shadow:inset 0 1px rgba(255,255,255,.05),0 6px 18px rgba(0,15,28,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .2s ease,background .2s ease,border-color .2s ease;color:#bfe7fb}
.vd445-social svg{width:14px;height:14px;fill:currentColor}
.vd445-social:hover{transform:translateY(-2px);background:rgba(10,93,139,.58);border-color:rgba(76,183,237,.42);color:#fff}
.vd445-shade:before{content:"";position:absolute;inset:-18%;background:radial-gradient(circle at 20% 35%,rgba(28,160,226,.12),transparent 23%),radial-gradient(circle at 77% 63%,rgba(21,123,190,.10),transparent 24%);animation:vd445AmbientDrift 10s ease-in-out infinite alternate;pointer-events:none;will-change:transform,opacity}
@keyframes vd445AmbientDrift{0%{transform:translate3d(-1.2%,.8%,0) scale(1);opacity:.55}50%{transform:translate3d(.7%,-.6%,0) scale(1.035);opacity:.9}100%{transform:translate3d(1.4%,.5%,0) scale(1.07);opacity:.62}}
body.vd-login-v445.vd445-light .vd445-login-footer{color:rgba(19,65,92,.78)}
body.vd-login-v445.vd445-light .vd445-footer-rights{color:rgba(28,76,103,.68)}
body.vd-login-v445.vd445-light .vd445-social{background:rgba(222,242,251,.72);border-color:rgba(29,111,159,.20);color:#126d9f;box-shadow:inset 0 1px rgba(255,255,255,.8),0 6px 16px rgba(37,91,121,.09)}
@media(max-width:1000px){.vd445-login-footer{width:min(720px,calc(100% - 30px));margin-top:4px}}
@media(max-width:620px){.vd445-login-footer{width:calc(100% - 30px);grid-template-columns:1fr;gap:8px;margin:10px auto 18px;text-align:center}.vd445-footer-developer,.vd445-footer-rights,.vd445-footer-social{justify-self:center;text-align:center}.vd445-footer-social{grid-row:1}.vd445-footer-rights{white-space:normal}.vd445-footer-developer{grid-row:3}}
@media(prefers-reduced-motion:reduce){.vd445-shade:before{animation:none!important}}
\n\n/* ===== V44.5.42 — Login desktop width balance + lower edge footer ===== */\n@media (min-width:1201px){\n  body.vd-login-v445 .vd445-layout{\n    width:min(1680px,calc(100% - 72px))!important;\n    grid-template-columns:minmax(0,1fr) 410px!important;\n    gap:92px!important;\n    margin-top:12px!important;\n    margin-bottom:54px!important;\n  }\n  body.vd-login-v445 .vd445-showcase{\n    width:100%!important;\n    max-width:1040px!important;\n    justify-self:start!important;\n  }\n  body.vd-login-v445 .vd445-login-panel{\n    width:410px!important;\n    max-width:410px!important;\n    justify-self:end!important;\n    box-sizing:border-box!important;\n  }\n  body.vd-login-v445 .vd445-login-footer{\n    width:min(1680px,calc(100% - 72px))!important;\n    margin:-2px auto 12px!important;\n    grid-template-columns:1fr auto 1fr!important;\n  }\n  body.vd-login-v445 .vd445-footer-developer{justify-self:start!important;text-align:right!important;}\n  body.vd-login-v445 .vd445-footer-social{justify-self:end!important;}\n}\n.vd445-footer-rights{text-transform:none;}\n
/* ===== V44.5.43 — Login edge spread + lower footer balance ===== */
@media (min-width:1201px){
  body.vd-login-v445 .vd445-layout{
    width:min(1760px,calc(100% - 40px))!important;
    grid-template-columns:minmax(0,1fr) 410px!important;
    column-gap:118px!important;
  }
  body.vd-login-v445 .vd445-showcase{
    max-width:1040px!important;
    justify-self:start!important;
    transform:translateX(-34px);
  }
  body.vd-login-v445 .vd445-login-panel{
    justify-self:end!important;
    transform:translateX(34px);
  }
  body.vd-login-v445 .vd445-login-footer{
    width:min(1760px,calc(100% - 40px))!important;
    margin:24px auto 8px!important;
    padding-top:8px!important;
  }
  body.vd-login-v445 .vd445-footer-developer{
    justify-self:start!important;
    transform:translateX(34px);
  }
  body.vd-login-v445 .vd445-footer-social{
    justify-self:end!important;
    transform:translateX(-34px);
  }
}
@media (min-width:1500px){
  body.vd-login-v445 .vd445-showcase{transform:translateX(-52px)}
  body.vd-login-v445 .vd445-login-panel{transform:translateX(52px)}
  body.vd-login-v445 .vd445-footer-developer{transform:translateX(52px)}
  body.vd-login-v445 .vd445-footer-social{transform:translateX(-52px)}
}


/* ===== V44.5.44 — Login visual balance, light contrast, eye fix, shared portfolio footer ===== */
/* Faster but still smooth cinematic movement */
body.vd-login-v445 .vd445-bg{animation-duration:6.2s!important;}
body.vd-login-v445 .vd445-grid{animation-duration:7s!important;}
body.vd-login-v445 .vd445-shade:before{animation-duration:5.4s!important;}

/* Password eye: compact button, no stray line/border */
body.vd-login-v445 .vd445-input>button{
  width:30px!important;height:30px!important;padding:0!important;margin:0!important;
  border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;
  overflow:hidden!important;border-radius:50%!important;
}
body.vd-login-v445 .vd445-input>button:focus,
body.vd-login-v445 .vd445-input>button:active{outline:0!important;box-shadow:none!important;background:rgba(20,135,199,.08)!important;}
body.vd-login-v445 .vd445-input>button svg{display:block!important;width:17px!important;height:17px!important;overflow:visible!important;}

/* Light mode: increase contrast for every textual layer */
body.vd-login-v445.vd445-light .vd445-showcase,
body.vd-login-v445.vd445-light .vd445-showcase *,
body.vd-login-v445.vd445-light .vd445-login-panel,
body.vd-login-v445.vd445-light .vd445-login-panel *{text-shadow:none;}
body.vd-login-v445.vd445-light .vd445-hero-copy h1,
body.vd-login-v445.vd445-light .vd445-kpi strong,
body.vd-login-v445.vd445-light .vd445-card-title b,
body.vd-login-v445.vd445-light .vd445-progress-head strong,
body.vd-login-v445.vd445-light .vd445-progress-stats strong,
body.vd-login-v445.vd445-light .vd445-login-panel h2{color:#092d48!important;}
body.vd-login-v445.vd445-light .vd445-hero-copy p,
body.vd-login-v445.vd445-light .vd445-kpi small,
body.vd-login-v445.vd445-light .vd445-chart-sub,
body.vd-login-v445.vd445-light .vd445-current-progress span,
body.vd-login-v445.vd445-light .vd445-months,
body.vd-login-v445.vd445-light .vd445-progress-head span,
body.vd-login-v445.vd445-light .vd445-progress-stats span,
body.vd-login-v445.vd445-light .vd445-login-panel>p,
body.vd-login-v445.vd445-light .vd445-form>label>span,
body.vd-login-v445.vd445-light .vd445-form-row,
body.vd-login-v445.vd445-light .vd445-form-row a,
body.vd-login-v445.vd445-light .vd445-remember,
body.vd-login-v445.vd445-light .vd445-secure{color:#315b75!important;}
body.vd-login-v445.vd445-light .vd445-input>i,
body.vd-login-v445.vd445-light .vd445-input>button{color:#2d627f!important;}
body.vd-login-v445.vd445-light .vd445-footer-developer{color:#234f69!important;}
body.vd-login-v445.vd445-light .vd445-footer-rights{color:#3a6178!important;}

/* Desktop geometry: consistent edge use in BOTH Arabic and English */
@media (min-width:1201px){
  body.vd-login-v445 .vd445-layout{
    width:min(1740px,calc(100% - 72px))!important;
    column-gap:96px!important;
    margin:10px auto 30px!important;
    align-items:center!important;
  }
  body.vd-login-v445[data-lang="ar"] .vd445-layout{
    grid-template-areas:"showcase login"!important;
    grid-template-columns:minmax(0,1fr) 410px!important;
  }
  body.vd-login-v445[data-lang="en"] .vd445-layout{
    grid-template-areas:"login showcase"!important;
    grid-template-columns:410px minmax(0,1fr)!important;
  }
  body.vd-login-v445 .vd445-showcase{
    grid-area:showcase!important;width:100%!important;max-width:1080px!important;transform:none!important;
  }
  body.vd-login-v445[data-lang="ar"] .vd445-showcase{justify-self:start!important;}
  body.vd-login-v445[data-lang="en"] .vd445-showcase{justify-self:end!important;}
  body.vd-login-v445 .vd445-login-panel{
    grid-area:login!important;width:410px!important;max-width:410px!important;box-sizing:border-box!important;transform:none!important;
  }
  body.vd-login-v445[data-lang="ar"] .vd445-login-panel{justify-self:end!important;}
  body.vd-login-v445[data-lang="en"] .vd445-login-panel{justify-self:start!important;}
  body.vd-login-v445 .vd445-kpis{gap:14px!important;}
  body.vd-login-v445 .vd445-analytics{gap:14px!important;margin-top:14px!important;}
  body.vd-login-v445 .vd445-login-footer{
    width:min(1740px,calc(100% - 72px))!important;margin:18px auto 12px!important;padding:0!important;
    grid-template-columns:410px minmax(0,1fr) 410px!important;direction:ltr!important;align-items:center!important;
  }
  body.vd-login-v445 .vd445-footer-social{grid-column:1;justify-self:start!important;transform:none!important;}
  body.vd-login-v445 .vd445-footer-rights{grid-column:2;justify-self:center!important;transform:none!important;}
  body.vd-login-v445 .vd445-footer-developer{grid-column:3;justify-self:end!important;text-align:right!important;transform:none!important;direction:rtl!important;}
}

/* Shared full footer used after sign-in on portfolio */
.nexora-system-footer{
  width:min(1450px,90%);margin:28px auto 18px;display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:18px;font-size:10px;position:relative;z-index:5;color:rgba(222,237,247,.86);direction:ltr;
}
.nexora-system-footer .nexora-footer-social{justify-self:start;display:flex;gap:8px;align-items:center;}
.nexora-system-footer .nexora-footer-rights{justify-self:center;text-align:center;color:rgba(207,226,238,.72);white-space:nowrap;}
.nexora-system-footer .nexora-footer-developer{justify-self:end;text-align:right;font-weight:700;direction:rtl;}
.nexora-system-footer .vd445-social{width:29px;height:29px;}
.portfolio-body .portfolio-execution-credit{display:none!important;}
body:not(.dark) .nexora-system-footer{color:#244f69;}
body:not(.dark) .nexora-system-footer .nexora-footer-rights{color:#4c6d81;}
body:not(.dark) .nexora-system-footer .vd445-social{background:rgba(226,243,251,.86);border-color:rgba(29,111,159,.22);color:#126d9f;}
@media(max-width:700px){
 .nexora-system-footer{width:calc(100% - 28px);grid-template-columns:1fr;gap:9px;text-align:center;margin-top:18px;}
 .nexora-system-footer .nexora-footer-social,.nexora-system-footer .nexora-footer-rights,.nexora-system-footer .nexora-footer-developer{justify-self:center;text-align:center;}
 .nexora-system-footer .nexora-footer-social{grid-row:1}.nexora-system-footer .nexora-footer-rights{grid-row:2;white-space:normal}.nexora-system-footer .nexora-footer-developer{grid-row:3}
}

/* ===== V44.5.45 — final eye + single-line footer alignment ===== */
/* Respect the hidden state for BOTH password-eye SVGs. */
body.vd-login-v445 .vd445-input>button svg[hidden]{display:none!important;}
body.vd-login-v445 .vd445-input>button .vd445-eye-open:not([hidden]),
body.vd-login-v445 .vd445-input>button .vd445-eye-off:not([hidden]){
  display:block!important;width:18px!important;height:18px!important;
  position:static!important;margin:0!important;transform:none!important;
}
body.vd-login-v445 .vd445-input>button{
  display:flex!important;align-items:center!important;justify-content:center!important;
  line-height:1!important;
}

/* Login footer: social / rights / developer are one perfectly level row. */
@media (min-width:701px){
  body.vd-login-v445 .vd445-login-footer{
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    align-items:center!important;
    min-height:34px!important;
    padding:0!important;
  }
  body.vd-login-v445 .vd445-footer-social,
  body.vd-login-v445 .vd445-footer-rights,
  body.vd-login-v445 .vd445-footer-developer{
    grid-row:1!important;
    align-self:center!important;
    margin:0!important;
    top:auto!important;bottom:auto!important;
    transform:none!important;
    line-height:29px!important;
    min-height:29px!important;
  }
  body.vd-login-v445 .vd445-footer-social{grid-column:1!important;justify-self:start!important;}
  body.vd-login-v445 .vd445-footer-rights{grid-column:2!important;justify-self:center!important;}
  body.vd-login-v445 .vd445-footer-developer{grid-column:3!important;justify-self:end!important;text-align:right!important;}
  body.vd-login-v445 .vd445-footer-social .vd445-social{
    margin:0!important;vertical-align:middle!important;align-self:center!important;
  }
}

/* Portfolio footer uses the exact same baseline after login. */
@media (min-width:701px){
  .nexora-system-footer{
    display:grid!important;grid-template-columns:1fr auto 1fr!important;
    align-items:center!important;min-height:34px!important;padding:0!important;
  }
  .nexora-system-footer .nexora-footer-social,
  .nexora-system-footer .nexora-footer-rights,
  .nexora-system-footer .nexora-footer-developer{
    grid-row:1!important;align-self:center!important;margin:0!important;
    top:auto!important;bottom:auto!important;transform:none!important;
    line-height:29px!important;min-height:29px!important;
  }
  .nexora-system-footer .nexora-footer-social{grid-column:1!important;justify-self:start!important;}
  .nexora-system-footer .nexora-footer-rights{grid-column:2!important;justify-self:center!important;}
  .nexora-system-footer .nexora-footer-developer{grid-column:3!important;justify-self:end!important;text-align:right!important;}
  .nexora-system-footer .vd445-social{margin:0!important;align-self:center!important;vertical-align:middle!important;}
}

/* ===== V44.5.46 — Login visual polish: centered eye + premium navy cards ===== */
body.vd-login-v445:not(.vd445-light) .vd445-glass{
  background:linear-gradient(145deg,rgba(7,43,68,.72),rgba(3,25,43,.58))!important;
  border-color:rgba(102,185,228,.20)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.045),0 16px 42px rgba(0,12,24,.22)!important;
}
body.vd-login-v445:not(.vd445-light) .vd445-login-panel{
  background:linear-gradient(155deg,rgba(7,43,68,.88),rgba(3,25,43,.76))!important;
  border-color:rgba(112,196,238,.25)!important;
  box-shadow:0 28px 70px rgba(0,10,22,.38),inset 0 1px rgba(255,255,255,.055)!important;
}
body.vd-login-v445:not(.vd445-light) .vd445-kpi{
  background:linear-gradient(145deg,rgba(8,48,75,.60),rgba(5,34,56,.48))!important;
  border-color:rgba(102,185,228,.16)!important;
}
body.vd-login-v445:not(.vd445-light) .vd445-kpi:hover{
  background:linear-gradient(145deg,rgba(10,61,94,.72),rgba(5,39,64,.58))!important;
  border-color:rgba(71,178,232,.34)!important;
}
body.vd-login-v445:not(.vd445-light) .vd445-progress-stats>div{
  background:rgba(4,31,51,.48)!important;
  border-color:rgba(107,185,225,.14)!important;
}
body.vd-login-v445:not(.vd445-light) .vd445-input input{
  background:linear-gradient(135deg,rgba(18,70,101,.72),rgba(10,54,82,.62))!important;
  border-color:rgba(91,181,229,.32)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
}
body.vd-login-v445:not(.vd445-light) .vd445-input input:focus{
  background:linear-gradient(135deg,rgba(20,82,119,.82),rgba(10,62,94,.72))!important;
  border-color:rgba(48,174,239,.82)!important;
  box-shadow:0 0 0 3px rgba(24,157,228,.11),0 7px 20px rgba(0,22,40,.14)!important;
}
body.vd-login-v445 .vd445-input>button{
  top:calc(50% - 2px)!important;
  transform:translateY(-50%)!important;
  border-radius:7px!important;
  transition:color .18s ease,background .18s ease!important;
}
body.vd-login-v445 .vd445-input>button:hover{
  color:#72d1ff!important;
  background:rgba(20,135,199,.10)!important;
}
body.vd-login-v445:not(.vd445-light) .vd445-submit{
  background:linear-gradient(135deg,#087ed8,#0797ed)!important;
  box-shadow:0 12px 28px rgba(0,113,197,.30)!important;
}
