:root{--brand:#0f6b5b;--brand2:#15947d;--bg:#f3f6fa;--text:#172033;--muted:#6b7280;--line:#dfe6ee;--danger:#b42318;--shadow:0 12px 30px rgba(20,32,55,.10)}*{box-sizing:border-box}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,#d8f5ee,transparent 35%),linear-gradient(135deg,#edf3f8,#f8fbfd)}.login-card{width:min(430px,92vw);background:#fff;padding:34px;border-radius:24px;box-shadow:var(--shadow);text-align:center}.brand-mark{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;display:grid;place-items:center;font-size:34px;font-weight:bold;margin:0 auto 15px}.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:23px;margin:0}.login-card p,.panel p{color:var(--muted)}label{display:block;text-align:right;margin:13px 0 6px;font-weight:700;font-size:14px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff}textarea{min-height:90px;resize:vertical}.primary{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:11px 16px;font-weight:700}.login-card .primary{width:100%;margin-top:18px}.form-msg{margin-top:12px;color:var(--danger);min-height:20px}.app{min-height:100vh}.sidebar{position:fixed;right:0;top:0;bottom:0;width:255px;background:#132f38;color:#fff;padding:18px;display:flex;flex-direction:column;z-index:20}.side-brand{display:flex;gap:12px;align-items:center;padding-bottom:20px;border-bottom:1px solid #ffffff1f}.side-brand small{display:block;color:#bcd2d7;margin-top:3px}.sidebar nav{display:grid;gap:7px;margin-top:20px}.sidebar nav button,.side-footer button{border:0;background:transparent;color:#d9e7ea;text-align:right;padding:12px;border-radius:10px}.sidebar nav button.active,.sidebar nav button:hover{background:#ffffff17;color:#fff}.side-footer{margin-top:auto;border-top:1px solid #ffffff1f;padding-top:14px}.side-footer button{width:100%}#userBadge{font-size:13px;color:#c8dadd;line-height:1.6}main{margin-right:255px;min-height:100vh}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 26px;gap:15px;position:sticky;top:0;z-index:10}.topbar h2{margin:0;font-size:21px}.topbar small{color:var(--muted)}#menuBtn{display:none}.top-actions{margin-right:auto;display:flex;gap:8px}.top-actions button,.toolbar-group button,.views button,.panel-head button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px}.page{display:none;padding:25px}.page.active{display:block}.hero{background:linear-gradient(120deg,#0f6b5b,#168b76);color:#fff;padding:28px;border-radius:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.hero h1{margin:0 0 8px}.hero p{margin:0;color:#e5fffa}.hero .primary{background:#fff;color:var(--brand)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 6px 20px #2230470c}.stat b{font-size:28px;display:block;margin-top:8px}.stat span{color:var(--muted)}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:18px}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-head.standalone{margin-bottom:16px}.panel-head h3{margin:0}.list-item{display:flex;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.event-dot{width:10px;height:10px;border-radius:50%;background:var(--brand)}.list-item small{display:block;color:var(--muted);margin-top:4px}.flow{display:flex;gap:13px;flex-wrap:wrap;align-items:center}.flow span{background:#f0f7f5;border:1px solid #cce7df;padding:12px 17px;border-radius:12px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.toolbar-group{display:flex;align-items:center;gap:6px}.toolbar-group h3{min-width:180px;margin:0 10px}.views button.active{background:#e5f4f0;color:var(--brand);border-color:#b7ded5}.calendar-host{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:650px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-head{padding:12px;text-align:center;background:#f7f9fb;border-bottom:1px solid var(--line);font-weight:bold}.day-cell{min-height:120px;padding:8px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.day-cell.muted{background:#fafbfc;color:#a0a7b2}.day-cell.today{background:#f0fbf8}.day-num{font-weight:bold;margin-bottom:6px}.event-chip{font-size:12px;background:#e2f2ee;color:#07594c;border-right:4px solid var(--brand);padding:5px 7px;border-radius:6px;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.event-chip.high{border-color:#d97706;background:#fff6e8;color:#8a4b00}.event-chip.critical{border-color:#c81e1e;background:#fff0f0;color:#8f1616}.week-grid{display:grid;grid-template-columns:70px repeat(7,1fr);min-width:900px}.week-scroll{overflow:auto}.hour-label,.week-day-head,.hour-cell{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.week-day-head{padding:10px;text-align:center;background:#f7f9fb;position:sticky;top:0}.hour-label{padding:8px;color:var(--muted);font-size:12px}.hour-cell{min-height:58px;padding:4px}.day-view{display:grid;grid-template-columns:80px 1fr}.agenda-row{display:grid;grid-template-columns:160px 1fr 120px;gap:14px;padding:14px;border-bottom:1px solid var(--line)}table{width:100%;border-collapse:collapse}th,td{padding:13px;border-bottom:1px solid var(--line);text-align:right}th{background:#f7f9fb}.table-panel{overflow:auto}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf2f7;font-size:12px}.badge.on{background:#e4f8ef;color:#08724f}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px}.modal{position:fixed;inset:0;background:#11182799;display:grid;place-items:center;z-index:50;padding:20px}.modal-card{background:#fff;width:min(700px,96vw);max-height:92vh;overflow:auto;border-radius:18px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-head button{border:0;background:transparent;font-size:28px}.modal-body{padding:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{grid-column:1/-1}.check-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.check-row label{display:flex;gap:7px;align-items:center;margin:5px 0;font-weight:normal}.check-row input{width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.danger{background:#fff0f0;color:var(--danger);border:1px solid #ffcaca;border-radius:10px;padding:10px 14px}#toast{position:fixed;left:20px;bottom:20px;z-index:100}.toast-item{background:#172033;color:#fff;padding:12px 16px;border-radius:10px;margin-top:8px;box-shadow:var(--shadow)}@media(max-width:900px){.sidebar{transform:translateX(100%);transition:.2s}.sidebar.open{transform:none}main{margin-right:0}#menuBtn{display:block;border:0;background:transparent;font-size:24px}.stats-grid{grid-template-columns:1fr 1fr}.calendar-toolbar{flex-wrap:wrap}.hero{align-items:flex-start;gap:15px;flex-direction:column}}@media(max-width:600px){.page{padding:14px}.stats-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.month-grid{min-width:760px}.calendar-host{overflow:auto}.top-actions #notifPermission{display:none}.agenda-row{grid-template-columns:1fr}.hero{padding:20px}}

/* Arrivals module */
.arrivals-page{--anavy:#243f66;--agold:#bba170;--asuccess:#00836b;--adanger:#a02020}.arrivals-head-panel{background:linear-gradient(120deg,#f8fafc,#eef1f4);border:1px solid var(--line);border-top:6px solid var(--anavy);border-radius:16px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.arrivals-head-panel h2{margin:0;color:var(--anavy)}.arrivals-head-panel p{margin:6px 0 0;color:var(--muted)}.arrivals-actions{display:flex;gap:8px;flex-wrap:wrap}.arrivals-actions button,.arrivals-route-tabs button,.arrivals-tools-row button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:800}.arrivals-actions .gold{background:linear-gradient(135deg,var(--agold),#d8c297);color:var(--anavy)}.arrivals-status{min-height:22px;text-align:center;font-weight:800;padding:8px}.arrivals-status.ok{color:var(--asuccess)}.arrivals-status.err{color:var(--adanger)}.arrivals-version-strip{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:10px 0;display:flex;gap:8px;align-items:center}.arrivals-route-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:15px 0}.arrivals-route-tabs button.active{background:var(--anavy);color:#fff;border-color:var(--anavy)}.arrivals-tools-row{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.arrivals-tools-row input{width:min(360px,100%);border-radius:999px}.arrivals-tools-row .danger{background:#fff0f0;color:var(--adanger);border-color:#f0b8b8}.arrivals-summary{text-align:center;color:var(--muted);font-weight:800;margin-bottom:14px}.arrivals-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.arrival-card{position:relative;background:#eee;border:1px solid #cfcfcf;border-radius:12px;padding:18px;overflow:hidden;box-shadow:0 14px 34px #243f6610}.arrival-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--anavy),var(--agold))}.arrival-card h3{text-align:center;color:var(--anavy);font-size:22px;margin:8px 0 14px}.arrival-main-kpi{text-align:center;background:#f8f8f8;border:1px solid #d7d7d7;border-radius:10px;padding:15px}.arrival-main-kpi b{font-size:38px;color:var(--anavy);display:block}.arrival-main-kpi small{font-weight:800;color:var(--agold)}.arrival-stat{display:flex;justify-content:space-between;padding:10px 2px;border-bottom:1px solid #d7d7d7;font-weight:800}.arrival-stat.bad strong{color:var(--adanger);cursor:pointer;text-decoration:underline}.arrival-stat.good strong{color:var(--asuccess)}.arrivals-records-panel{margin-top:18px}.table-scroll{overflow:auto}.arrivals-records-table{min-width:950px}.arrivals-records-table tr.abnormal{background:#fff6f6}.arrivals-records-table tr.hidden-row{display:none}.urgent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.urgent-stat{padding:15px;border-radius:12px;border:1px solid var(--line);text-align:center;background:#fff}.urgent-stat b{display:block;font-size:28px;color:var(--adanger)}.urgent-table{min-width:1050px}.timer-over{color:#fff;background:var(--adanger);border-radius:7px;padding:5px 8px;font-weight:900}.timer-warn{color:var(--adanger);background:#faeaea;border-radius:7px;padding:5px 8px;font-weight:900}.timer-ok{color:var(--asuccess);background:#e8f7ef;border-radius:7px;padding:5px 8px;font-weight:900}.api-settings-note{background:#f6f8fa;border:1px solid var(--line);padding:12px;border-radius:10px;color:var(--muted);line-height:1.8}.import-progress{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:8px auto;max-width:600px}.import-progress span{display:block;height:100%;background:var(--anavy);transition:.2s}@media(max-width:1000px){.arrivals-dashboard{grid-template-columns:1fr}.urgent-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.arrivals-actions button{width:100%}.urgent-grid{grid-template-columns:1fr}}

/* Bushra visual identity - portal wide */
:root{
 --brand:#243f66;--brand2:#3c628e;--bg:#eeeeee;--text:#283846;--muted:#6f7780;
 --line:#cfcfcf;--danger:#a02020;--gold:#bba170;--gold-light:#d8c297;--gold-pale:#eee6d6;
 --success:#00836b;--shadow:0 18px 46px rgba(36,63,102,.10);
 --font-primary:'Cairo',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Tahoma,Arial,sans-serif;
 --bushra-pattern-blue:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='96' viewBox='0 0 180 96'%3E%3Cg fill='none' stroke='%23243F66' stroke-width='1.15'%3E%3Cpath d='M28 10 56 38 28 66 0 38Z'/%3E%3Cpath d='M56 10 84 38 56 66 28 38Z'/%3E%3Cpath d='M42 24 56 38 42 52 28 38Z'/%3E%3Cpath d='M118 10 146 38 118 66 90 38Z'/%3E%3Cpath d='M146 10 174 38 146 66 118 38Z'/%3E%3Cpath d='M132 24 146 38 132 52 118 38Z'/%3E%3Cpath d='M73 58 101 86 73 114 45 86Z'/%3E%3Cpath d='M101 58 129 86 101 114 73 86Z'/%3E%3Cpath d='M87 72 101 86 87 100 73 86Z'/%3E%3C/g%3E%3C/svg%3E");
}
*{font-family:var(--font-primary)}
body{background:var(--bg);color:var(--text);position:relative}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.045;background-image:var(--bushra-pattern-blue);background-size:260px 139px;z-index:-1}
button{font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
button:hover{transform:translateY(-1px)}
.login-wrap{background:#eeeeee;position:relative;overflow:hidden}
.login-wrap:before{content:"";position:absolute;inset:0;opacity:.07;background-image:var(--bushra-pattern-blue);background-size:260px 139px}
.login-card{position:relative;border-radius:10px;border:1px solid var(--line);border-top:6px solid var(--brand);background:rgba(245,245,245,.97);box-shadow:var(--shadow)}
.login-logo{height:76px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.login-logo img{max-width:230px;max-height:70px;object-fit:contain}
.login-card h1{color:var(--brand);font-weight:900}
.login-card input{border-radius:10px;border-color:#d2d2d2}
.primary{background:var(--brand);border-radius:999px}.primary:hover{background:var(--brand2)}
.sidebar{background:var(--brand);border-left:3px solid var(--gold);box-shadow:-10px 0 28px rgba(36,63,102,.14)}
.sidebar:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;background-image:var(--bushra-pattern-blue);filter:brightness(0) invert(1)}
.sidebar>*{position:relative;z-index:1}
.side-brand{border-bottom-color:rgba(216,194,151,.45);align-items:flex-start}
.side-logo{width:76px;height:52px;background:#f5f5f5;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:6px;flex-shrink:0}
.side-logo img{max-width:100%;max-height:100%;object-fit:contain}
.side-brand b{font-size:17px;color:#fff;font-weight:900}.side-brand small{color:#dbe3ee}
.sidebar nav button,.side-footer button{border-radius:8px;color:#eef2f7;font-weight:800}
.sidebar nav button.active,.sidebar nav button:hover{background:rgba(255,255,255,.13);box-shadow:inset -4px 0 0 var(--gold-light);color:#fff}
.side-footer{border-top-color:rgba(216,194,151,.4)}
.topbar{height:86px;background:#f5f5f5;border-bottom:4px solid var(--brand);box-shadow:0 8px 20px rgba(36,63,102,.06)}
.topbar:after{content:"";position:absolute;right:0;left:0;bottom:-1px;height:1px;background:rgba(187,161,112,.75)}
.topbar h2{color:var(--brand);font-weight:900}
.top-actions button,.toolbar-group button,.views button,.panel-head button{border-radius:999px;background:#ececec;color:var(--brand);border-color:#d2d2d2;font-weight:800}
.top-actions button:hover,.toolbar-group button:hover,.views button:hover,.panel-head button:hover{background:#e2e2e2}
.page{max-width:1500px;margin:0 auto}
.hero{background:linear-gradient(135deg,var(--brand),var(--brand2));border-radius:10px;border-bottom:3px solid var(--gold);position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto -30px -70px auto;width:280px;height:170px;background-image:var(--bushra-pattern-blue);filter:brightness(0) invert(1);opacity:.08}
.hero>*{position:relative;z-index:1}.hero p{color:#edf1f6}
.stat,.panel,.calendar-host,.modal-card{background:rgba(238,238,238,.97);border-color:var(--line);border-radius:10px;box-shadow:0 14px 34px rgba(36,63,102,.07)}
.stat{position:relative;overflow:hidden;border-top:5px solid var(--brand)}.stat:after{content:"";position:absolute;left:-40px;bottom:-55px;width:150px;height:100px;background-image:var(--bushra-pattern-blue);opacity:.05}
.stat b,.panel h3{color:var(--brand)}
.flow span{background:var(--gold-pale);border-color:var(--gold-light);color:var(--brand);font-weight:800}
.views button.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.cal-head,.week-day-head,th{background:#e8e8e8;color:var(--brand);font-weight:900}
.day-cell.today{background:#f5f0e6}.event-chip{background:#e9eef5;color:var(--brand);border-right-color:var(--brand)}
.badge{background:var(--gold-pale);color:var(--brand);border:1px solid var(--gold-light);font-weight:800}
.modal{background:rgba(7,13,15,.46);backdrop-filter:blur(8px)}
.modal-card{border:1px solid var(--line)}.modal-head{background:#f5f5f5;border-bottom-color:#d7d7d7}.modal-head h3{color:var(--brand);font-weight:900}
.danger{background:#faeaea;color:var(--danger);border-color:#f0b8b8;border-radius:999px}

/* Arrivals: mirror original count page */
.arrivals-page{--anavy:var(--brand);--agold:var(--gold);--asuccess:var(--success);--adanger:var(--danger)}
.arrivals-head-panel{background:rgba(238,238,238,.96);border-radius:8px;border:1px solid var(--line);border-top:6px solid var(--brand);box-shadow:var(--shadow);position:relative;overflow:hidden}
.arrivals-head-panel:after{content:"";position:absolute;inset:auto -60px -70px auto;width:240px;height:150px;background-image:var(--bushra-pattern-blue);opacity:.05}
.arrivals-head-panel>*{position:relative;z-index:1}.arrivals-head-panel h2{font-weight:900}
.arrivals-actions button,.arrivals-route-tabs button,.arrivals-tools-row button{border-radius:999px;background:#ececec;color:var(--brand);border-color:#d2d2d2}
.arrivals-actions .primary{background:var(--brand);color:#fff}.arrivals-actions .gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--brand)}
.arrivals-version-strip{background:#ececec;border-radius:8px;border-color:var(--line)}
.arrivals-route-tabs button.active{background:var(--brand);color:#fff}
.arrivals-search-row{margin:4px auto 14px}.arrivals-search-row input{max-width:520px;background:#fff;border-color:#d2d2d2}
.arrivals-notification-launcher-wrap{max-width:1180px;margin:14px auto 16px;display:flex;justify-content:center;align-items:center}
.arrivals-notification-launcher{min-height:46px;padding:11px 20px;border:0;border-radius:999px;background:linear-gradient(135deg,#a02020,#c46a4a);color:#fff;box-shadow:0 12px 28px rgba(160,32,32,.22);font-size:14px;font-weight:900}
.arrivals-notification-launcher:hover{background:linear-gradient(135deg,#861919,#b7573b);box-shadow:0 16px 34px rgba(160,32,32,.27)}
.arrivals-notification-launcher span{display:inline;font-weight:900}
.arrivals-age-side-panel{position:fixed;top:50%;right:255px;transform:translateY(-50%);z-index:19;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.arrivals-age-side-button{position:static;min-width:98px;border:0;border-radius:999px 0 0 999px;padding:12px 15px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 10px 24px rgba(36,63,102,.22);font-weight:900}
.arrivals-age-side-button.age-90{background:linear-gradient(135deg,#2d4f7c,#3c628e)}
.arrivals-age-side-button.age-below-18{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--brand)}
.arrival-card{border-radius:8px;background:rgba(238,238,238,.97);box-shadow:0 18px 46px rgba(36,63,102,.08)}
.arrival-card h3{font-weight:900}.arrival-main-kpi{border-radius:8px;background:#f7f7f7}.arrival-main-kpi b{font-size:42px}
.arrivals-records-panel{border-radius:8px}.urgent-stat{background:#f7f7f7;border-radius:10px}.urgent-stat b{font-size:30px}
@media(max-width:900px){.arrivals-age-side-panel{right:0}.topbar{height:80px}}
@media(max-width:700px){.arrivals-age-side-panel{top:auto;right:12px;bottom:18px;transform:none;gap:8px;z-index:39}.arrivals-age-side-button{min-width:88px;padding:9px 11px;border-radius:999px;font-size:12px}.arrivals-notification-launcher{width:min(100%,360px)}.side-logo{width:64px}}

.arrivals-version-strip{flex-wrap:wrap}.arrivals-version-strip select{min-width:260px;max-width:100%;height:38px;border:1px solid #d2d2d2;border-radius:999px;background:#fff;color:var(--brand);font-family:var(--font);font-weight:800;padding:4px 12px}.arrivals-version-strip .badge{white-space:nowrap}


/* Arrival Charts module */
.arrival-charts-page{--cnavy:var(--brand);--cgold:var(--gold);--csuccess:var(--success)}
.charts-head-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:rgba(238,238,238,.97);border:1px solid var(--line);border-top:6px solid var(--brand);border-radius:10px;padding:20px;box-shadow:var(--shadow);position:relative;overflow:hidden}.charts-head-panel:after{content:"";position:absolute;inset:auto -60px -70px auto;width:250px;height:150px;background-image:var(--bushra-pattern-blue);opacity:.05}.charts-head-panel>*{position:relative;z-index:1}.charts-head-panel h2{margin:0;color:var(--brand);font-weight:900}.charts-head-panel p{margin:6px 0 0;color:var(--muted);font-weight:700}.charts-actions{display:flex;gap:8px;flex-wrap:wrap}.charts-actions button{border-radius:999px}.charts-actions .gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--brand)}.charts-status{margin:12px 0;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#f7f7f7;color:var(--muted);font-weight:800;min-height:42px}.charts-version-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:#ececec;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.charts-version-strip select{min-width:240px}.charts-version-strip input{width:70px}.charts-welcome{display:flex;justify-content:space-between;align-items:center;gap:16px}.charts-welcome h3{margin:0 0 6px}.charts-welcome p{margin:0;color:var(--muted)}
.charts-overlay{position:fixed;inset:0;z-index:30000;background:rgba(7,13,15,.55);backdrop-filter:blur(6px)}.charts-overlay.hidden{display:none}.charts-shell{position:absolute;inset:0;background:var(--bg);display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}.charts-toolbar{background:#f5f5f5;border-bottom:3px solid var(--brand);padding:8px 10px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.charts-filter-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:6px;flex:1}.charts-filter-grid label{font-size:10px;font-weight:900;color:var(--brand);display:flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 6px;min-width:0}.charts-filter-grid input,.charts-filter-grid select{height:28px;min-width:0;width:100%;font-size:10px;padding:2px 5px}.charts-filter-grid .check-line{justify-content:center;white-space:nowrap}.charts-filter-grid .check-line input{width:15px;height:15px}.charts-toolbar-actions{display:flex;gap:6px}.charts-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:7px 10px;background:#ececec}.chart-kpi{background:#f7f7f7;border:1px solid var(--line);border-radius:8px;padding:8px;text-align:center}.chart-kpi span{display:block;color:var(--muted);font-size:11px;font-weight:800}.chart-kpi b{font-size:22px;color:var(--brand)}.charts-canvas-wrap{position:relative;margin:8px;background:#f7f7f7;border:1px solid var(--line);border-radius:10px;padding:10px;overflow:auto}.charts-canvas-wrap:before{content:"";position:absolute;inset:0;background-image:var(--bushra-pattern-blue);opacity:.05;pointer-events:none}.charts-canvas-wrap canvas{position:relative;z-index:1;min-height:580px}.chart-detail-card{width:min(1250px,96vw);max-height:94vh;overflow:auto}.chart-detail-table{width:100%;border-collapse:collapse;min-width:900px}.chart-detail-table th,.chart-detail-table td{padding:9px;border-bottom:1px solid var(--line);text-align:right}.chart-detail-table th{background:#ececec;color:var(--brand)}
@media(max-width:1200px){.charts-filter-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.charts-head-panel,.charts-welcome{align-items:stretch;flex-direction:column}.charts-actions button{width:100%}.charts-toolbar{flex-direction:column;overflow:auto;max-height:46vh}.charts-filter-grid{grid-template-columns:1fr 1fr;width:100%}.charts-kpis{grid-template-columns:repeat(2,1fr)}.charts-canvas-wrap canvas{min-height:420px}}
