@import url("https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800&display=swap");:root{--ivory:#f4fafb;--paper:#fff;--ink:#16323a;--ink-soft:#4a5c61;--teal:#0c8fa3;--teal-d:#075968;--teal-l:#15b2c8;--gold:#a8147a;--gold-d:#7e0e5c;--rose:#d45d9e;--sand:#e3eff1;--line:#dae8ea;--good:#1f9e78;--bad:#d24b6a;--shadow:0 1px 2px rgba(27,42,40,.04),0 8px 24px rgba(27,42,40,.06);--shadow-lg:0 12px 40px rgba(27,42,40,.12);--r:16px;--r-sm:10px}*{box-sizing:border-box;margin:0;padding:0}.db-root{min-height:100vh;background:#f4fafb;color:var(--ink);font-weight:400;-webkit-font-smoothing:antialiased;direction:rtl;background-image:radial-gradient(circle at 90% -5%,rgba(168,20,122,.08),transparent 45%),radial-gradient(circle at 0 100%,rgba(12,168,190,.1),transparent 42%)}.db-root,h1,h2,h3{font-family:Tajawal,sans-serif}.wrap{max-width:1320px;margin:0 auto;padding:22px clamp(14px,3vw,34px) 60px}header.top{justify-content:space-between;gap:18px;flex-wrap:wrap;padding:6px 2px 22px}.logo,header.top{display:flex;align-items:center}.logo{gap:14px}.brand-logo{height:46px;width:auto;display:block}.logo .brand-sub{font-size:12.5px;color:var(--ink-soft);margin-top:7px;font-family:Tajawal}.logo .brand-sub b{color:var(--gold);font-weight:600}.head-actions{gap:10px;flex-wrap:wrap}.head-actions,.pill{display:flex;align-items:center}.pill{font-size:12.5px;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 14px;gap:7px}.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--teal-l)}.pill .dot.saved{background:var(--good)}.btn{font-family:Tajawal,inherit;cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;padding:9px 15px;font-size:13.5px;font-weight:500;transition:.15s;display:inline-flex;align-items:center;gap:7px}.btn:hover{border-color:var(--gold);box-shadow:var(--shadow)}.btn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.btn.primary:hover{background:var(--teal-d)}.btn.ghost{background:transparent}.uploader{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(24px,5vw,52px);text-align:center}.uploader .brand-logo{height:54px;margin:0 auto 18px}.uploader h2{font-size:25px;margin-bottom:8px}.uploader p.lead{color:var(--ink-soft);font-size:15px;max-width:620px;margin:0 auto 30px;line-height:1.7}.drops{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px;margin:0 auto}@media(max-width:640px){.drops{grid-template-columns:1fr}}.drop{border:2px dashed var(--line);border-radius:var(--r);padding:30px 20px;cursor:pointer;transition:.18s;background:linear-gradient(180deg,#fff,#fdfcf9)}.drop.over,.drop:hover{border-color:var(--teal);background:#f3faf8}.drop.done{border-style:solid;border-color:var(--good);background:#f1f9f4}.drop .ico{width:46px;height:46px;margin:0 auto 12px;color:var(--teal)}.drop h3{font-size:16px;font-weight:600;margin-bottom:6px}.drop small{color:var(--ink-soft);font-size:12.5px;display:block;line-height:1.6}.drop .fname{margin-top:10px;font-size:12.5px;color:var(--good);font-weight:600;word-break:break-all}.note{margin-top:26px;font-size:12.5px;color:var(--ink-soft);background:var(--sand);border-radius:12px;padding:13px 16px;display:inline-block;max-width:680px;line-height:1.7}.loaded-months{margin-top:26px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.mtag{font-size:12.5px;background:var(--teal);color:#fff;border-radius:999px;padding:6px 13px;display:flex;align-items:center;gap:8px}.mtag b{font-weight:600}.toolbar{gap:12px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow);margin-bottom:20px}.toolbar,.toolbar .grp{display:flex;align-items:center}.toolbar .grp{gap:8px}.toolbar label{font-size:12.5px;color:var(--ink-soft);font-weight:500}.db-select{font-family:Tajawal,inherit;font-size:13px;border:1px solid var(--line);border-radius:9px;padding:8px 11px;background:var(--paper);color:var(--ink);cursor:pointer;min-width:120px}.db-select:focus{outline:none;border-color:var(--teal)}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12.5px;color:var(--ink-soft)}.switch input{display:none}.switch .track{width:38px;height:21px;border-radius:999px;background:var(--sand);position:relative;transition:.18s}.switch .track:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;top:3px;right:3px;transition:.18s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.switch input:checked+.track{background:var(--teal)}.switch input:checked+.track:after{right:20px}.toolbar .spacer{flex:1}.section-title{display:flex;align-items:center;gap:10px;margin:34px 2px 16px;font-size:18px;font-weight:600}.section-title .bar{width:4px;height:20px;border-radius:3px;background:linear-gradient(var(--gold),var(--teal));flex-shrink:0}.section-title small{font-size:12.5px;color:var(--ink-soft);font-weight:400;margin-right:auto}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:14px}.kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:17px 17px 15px;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;top:0;right:0;width:46px;height:46px;background:radial-gradient(circle at 80% 20%,var(--accent,rgba(14,90,82,.12)),transparent 70%)}.kpi .lab{font-size:12.5px;color:var(--ink-soft);display:flex;align-items:center;gap:7px;font-weight:500}.kpi .lab .ic{width:15px;height:15px;color:var(--teal)}.kpi .val{font-family:Tajawal;font-size:26px;font-weight:700;margin-top:9px;line-height:1.05;letter-spacing:.2px}.kpi .val .cur{font-size:13px;color:var(--ink-soft);font-weight:500;font-family:Tajawal}.kpi .meta{font-size:11.5px;color:var(--ink-soft);margin-top:6px}.kpi .meta .up{color:var(--good);font-weight:600}.kpi .meta .down{color:var(--bad);font-weight:600}.kpi.gold .val{color:var(--gold-d)}.kpi.teal .val{color:var(--teal)}.kpi.rose .val{color:var(--rose)}.grid{display:grid;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.col-2{grid-column:span 2}@media(max-width:900px){.g2,.g3{grid-template-columns:1fr}.col-2{grid-column:auto}}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 18px 16px;display:flex;flex-direction:column}.card h3{font-size:15px;font-weight:600;margin-bottom:3px;display:flex;align-items:center;gap:8px}.card .csub{font-size:12px;color:var(--ink-soft);margin-bottom:14px}.card .chart-box{position:relative;flex:1;min-height:240px}.card.tall .chart-box{min-height:300px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.tab{font-family:Tajawal,inherit;font-size:13px;font-weight:500;padding:8px 15px;border-radius:999px;border:1px solid var(--line);background:var(--paper);cursor:pointer;color:var(--ink-soft);transition:.15s}.tab:hover{border-color:var(--gold)}.tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.table-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:6px 4px 10px;overflow:hidden}.table-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 6px;gap:10px;flex-wrap:wrap}.table-head h3{font-size:15px;font-weight:600}.table-head .sb{display:flex;gap:8px;align-items:center}.search{font-family:Tajawal,inherit;font-size:12.5px;border:1px solid var(--line);border-radius:9px;padding:7px 11px;min-width:160px}.tscroll{max-height:430px;overflow:auto;border-radius:10px;margin:0 8px 6px}.tscroll table{width:100%}.tscroll tbody td,.tscroll thead th{white-space:normal}.tscroll tbody td{line-height:1.5;vertical-align:middle}.tscroll tbody td.num{white-space:nowrap}.tscroll tbody td.strong{max-width:clamp(150px,40vw,400px);overflow-wrap:break-word;font-weight:600}.tscroll .badge{white-space:nowrap}table{width:100%;border-collapse:collapse;font-size:13px}thead th{position:sticky;top:0;background:var(--sand);color:var(--ink);font-weight:600;text-align:right;padding:11px 13px;font-size:12.5px;cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--line);user-select:none}thead th:hover{color:var(--teal-d)}tbody td{padding:10px 13px;border-bottom:1px solid var(--line);color:var(--ink-soft);white-space:nowrap}tbody tr:hover{background:#faf8f3}tbody td.num{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}tbody td.strong{color:var(--ink);font-weight:600}.badge{font-size:11px;padding:3px 9px;border-radius:999px;background:var(--sand);color:var(--ink-soft);font-weight:500}.badge.ref{background:#fbecea;color:var(--bad)}.minibar{height:6px;border-radius:3px;background:var(--sand);overflow:hidden;min-width:50px}.minibar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal-l),var(--teal))}.empty{text-align:center;color:var(--ink-soft);padding:50px 20px;font-size:14px}.navtabs{display:flex;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:5px;box-shadow:var(--shadow);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.navtabs::-webkit-scrollbar{display:none}.navtab{font-family:Tajawal,sans-serif;font-size:14px;font-weight:500;padding:10px 17px;border-radius:10px;border:0;background:transparent;cursor:pointer;color:var(--ink-soft);white-space:nowrap;transition:.15s;display:flex;align-items:center;gap:7px}.navtab:hover{color:var(--teal-d);background:#f6f3ed}.navtab.active{background:linear-gradient(145deg,var(--teal),var(--teal-d));color:#fff;box-shadow:var(--shadow)}.navtab svg{width:16px;height:16px}.tabpane{display:none}.tabpane.active{display:block;animation:fade .35s ease}.hero-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 20px 16px;margin-bottom:16px}.hero-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:8px}.hero-head h3{font-size:17px;font-weight:600}.metric-seg{display:flex;gap:4px;background:var(--ivory);border:1px solid var(--line);border-radius:10px;padding:4px;flex-wrap:wrap}.metric-seg button{font-family:Tajawal,inherit;font-size:12.5px;font-weight:500;border:0;background:transparent;color:var(--ink-soft);padding:7px 12px;border-radius:7px;cursor:pointer;transition:.13s}.metric-seg button:hover{color:var(--teal-d)}.metric-seg button.on{background:var(--teal);color:#fff}.hero-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-soft);margin:4px 2px 12px}.hero-meta b{color:var(--ink);font-weight:600}.hero-meta .peak b{color:var(--gold-d)}.hero-meta .low b{color:var(--rose)}.hero-chart{position:relative;height:340px}.metric-hint{font-size:12px;color:var(--ink-soft);margin:0 2px 12px;display:flex;align-items:center;gap:6px}.metric-hint:before{content:"☰";opacity:.6}.events-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}.events-bar .fld{display:flex;flex-direction:column;gap:4px}.events-bar label{font-size:11.5px;color:var(--ink-soft)}.events-bar input{font-family:Tajawal,inherit;font-size:13px;border:1px solid var(--line);border-radius:9px;padding:8px 11px;background:var(--paper)}.events-bar input[type=date]{min-width:150px}.events-bar input[type=text]{min-width:180px}.ev-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.ev-chip{font-size:12px;background:linear-gradient(145deg,#fcf6e8,#fff);border:1px solid var(--gold);color:var(--gold-d);border-radius:999px;padding:5px 12px;display:flex;align-items:center;gap:8px;font-weight:500}.ev-chip .d{color:var(--ink-soft);font-weight:400}.ev-chip .x{cursor:pointer;opacity:.7}.ev-chip .x:hover{opacity:1}.ev-empty{font-size:12px;color:var(--ink-soft);margin-top:10px}.dept-head{justify-content:space-between;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,var(--teal),var(--teal-d));border-radius:var(--r);padding:18px 22px;color:#fff;margin-bottom:16px;box-shadow:var(--shadow)}.dept-head,.dept-head .t{display:flex;align-items:center}.dept-head .t{font-family:Tajawal;font-size:21px;font-weight:700;gap:10px}.dept-head .t .ring{width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(200,165,91,.3)}.dept-head select{background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.3);color:#fff;font-weight:600}.dept-head select option{color:var(--ink)}.mini-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.mini-kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 15px;box-shadow:var(--shadow)}.mini-kpi .l{font-size:11.5px;color:var(--ink-soft);font-weight:500}.mini-kpi .v{font-family:Tajawal;font-size:21px;font-weight:700;margin-top:6px;color:var(--teal)}.mini-kpi .v small{font-size:11px;color:var(--ink-soft);font-weight:500}.mini-kpi.gold .v{color:var(--gold-d)}.mini-kpi.rose .v{color:var(--rose)}.mini-kpi.ink .v{color:var(--ink)}.catacc-wrap{display:flex;flex-direction:column;gap:9px}.catacc{background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.catacc>summary{cursor:pointer;padding:13px 16px;display:flex;align-items:center;gap:11px;font-weight:700;color:var(--ink);list-style:none}.catacc>summary::-webkit-details-marker{display:none}.catacc>summary:before{content:"▸";color:var(--teal);font-weight:700;transition:transform .15s;display:inline-block}.catacc[open]>summary:before{transform:rotate(90deg)}.catacc>summary:hover{background:#f4fafb}.ct-name{flex:1}.ct-meta{font-size:12px;color:var(--ink-soft);font-weight:500}.catsvc-scroll{overflow-x:auto}.catsvc{width:100%;min-width:480px;border-collapse:collapse;font-size:12.5px;border-top:1px solid var(--line)}.catsvc th{background:var(--ivory);padding:8px 16px;text-align:right;color:var(--ink-soft);font-weight:600;font-size:11.5px;white-space:nowrap}.catsvc td.num,.catsvc th.num{text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap}.catsvc td{padding:8px 16px;border-top:1px solid #eef3f4}.catsvc td:first-child{max-width:clamp(150px,40vw,400px);overflow-wrap:break-word;white-space:normal}footer{margin-top:40px;text-align:center;color:var(--ink-soft);font-size:12px;line-height:1.8}.hidden{display:none!important}.fade{animation:fade .4s ease}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.loader{display:inline-block;width:18px;height:18px;border:2px solid var(--sand);border-top-color:var(--teal);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.progress-ring svg{transform:rotate(0deg)}.progress-ring .track{stroke:var(--sand)}.progress-ring .bar{stroke:var(--teal);transition:stroke-dashoffset .15s linear}.progress-ring .progress-num{position:absolute;font-size:12px;font-weight:700;color:var(--teal);font-variant-numeric:tabular-nums}.seg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:20px}.seg-card{gap:4px}.seg-count{display:flex;align-items:baseline;gap:8px;margin:10px 0 6px}.seg-count b{font-size:26px;color:var(--teal);font-variant-numeric:tabular-nums}.seg-count span{font-size:12.5px;color:var(--ink-soft)}.seg-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.seg-tags .pill{padding:4px 10px;font-size:11.5px}.seg-actions{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}.seg-danger{color:#b3374b}.seg-overlay{position:fixed;inset:0;background:rgba(22,50,58,.45);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;z-index:50}.seg-modal{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:22px;width:100%;max-width:560px;display:flex;flex-direction:column;gap:14px}.seg-modal-head{display:flex;align-items:center;justify-content:space-between}.seg-modal-head h3{font-size:17px;font-weight:700}.seg-field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink-soft);font-weight:500;flex:1}.seg-field .db-select{min-width:0;width:100%}.seg-row{display:flex;gap:12px}@media(max-width:560px){.seg-row{flex-direction:column}}.seg-match{display:flex;align-items:center;justify-content:space-between;background:var(--sand);border-radius:12px;padding:12px 16px}.seg-match span{font-size:13px;color:var(--ink-soft)}.seg-match b{font-size:22px;color:var(--teal);font-variant-numeric:tabular-nums}.seg-err{margin-top:0;color:#b3374b}.seg-modal-foot{display:flex;gap:10px;justify-content:flex-start}