:root{--navy:#073d61;--navy2:#092d50;--cyan:#06b5ca;--line:#e5edf5;--bg:#f4f8fc;--ink:#16304a;--muted:#71839a;--soft:#e9f8fa;--shadow:0 14px 45px rgba(25,60,92,.09)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Tahoma,"Noto Sans Arabic",Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}input,select,textarea{width:100%;border:1px solid #d9e5ef;border-radius:12px;padding:12px 13px;background:#fff;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:#22c2cd;box-shadow:0 0 0 3px rgba(0,189,209,.12)}.auth-wrapper{min-height:100vh;display:grid;grid-template-columns:minmax(300px,530px) minmax(270px,1fr);gap:0;background:#fff}.auth-card{max-width:530px;width:100%;padding:clamp(28px,5vw,70px);margin:auto}.auth-logo,.brand{display:flex;align-items:center;gap:12px;direction:ltr;justify-content:flex-end}.auth-logo img{width:56px;height:56px;object-fit:contain}.auth-logo strong,.brand strong{font-size:26px;letter-spacing:.6px}.auth-logo strong span,.brand strong span{color:var(--cyan)}.auth-logo small,.brand small{display:block;font-size:11px;color:var(--muted);text-align:right}.eyebrow{font-size:11px;letter-spacing:.6px;color:#0798ac;font-weight:800}.auth-card .eyebrow{margin-top:44px}.auth-card h1{font-size:30px;line-height:1.5;margin:12px 0}.hint{line-height:2;color:var(--muted);margin-bottom:30px}.form-group{margin-bottom:17px}.form-group label{display:block;font-weight:750;font-size:12px;margin-bottom:9px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.button{border:0;background:#edf3f9;color:#163d57;padding:12px 17px;border-radius:12px;font-weight:bold;transition:.17s}.button:hover{filter:brightness(.97)}.button.primary{background:linear-gradient(115deg,#063f6e,#07b8cd);color:white;box-shadow:0 8px 20px rgba(0,146,183,.18)}.button.full{width:100%;padding:15px}.button.link{background:transparent;color:#087aab}.button.ghost{background:#fff;border:1px solid #d9e5ef}.button.danger{background:#feeef0;color:#bb3344}.auth-actions{text-align:center;margin-top:10px}.security-note{font-size:12px;color:#698398;background:#f3f7fa;border:1px solid var(--line);line-height:1.9;padding:15px;border-radius:13px}.auth-promo{position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 18%,#087ca0 0,#06547c 27%,#082d54 73%);color:#fff;padding:10%;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.promo-glow{position:absolute;width:450px;height:450px;border-radius:100%;border:1px solid rgba(255,255,255,.09);left:-150px;top:-90px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 165px rgba(255,255,255,.018)}.capsule{align-self:flex-start;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:10px 16px;font-size:11px;letter-spacing:1px}.auth-promo h2{font-size:clamp(34px,5vw,66px);line-height:1.5;margin:30px 0 12px}.auth-promo h2 em{font-style:normal;color:#56e0ee}.auth-promo>p{line-height:2.2;max-width:580px;color:#cee6f5}.promo-stat{border:1px solid rgba(255,255,255,.22);padding:20px 24px;margin-top:17px;display:flex;justify-content:space-between;align-items:center;border-radius:18px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.promo-stat b{font-size:27px;display:block;direction:ltr;text-align:right}.promo-stat small{color:#c9eaf4}.promo-stat>span{font-size:35px;color:#78e8f1}.promo-footer{margin-top:34px;color:#c2dce8}.app-shell{min-height:100vh;display:flex}.sidebar{width:246px;flex-shrink:0;background:linear-gradient(180deg,#092f55,#082745);color:#dcebf6;min-height:100vh;position:fixed;inset:0 0 0 auto;display:flex;flex-direction:column;padding:27px 15px;z-index:20}.brand{justify-content:flex-start;direction:ltr;padding:0 12px}.brand img{width:43px;height:43px}.brand strong{color:#fff;font-size:21px}.brand small{color:#8fb5d1}.sidebar-caption{font-size:11px;color:#8eb0c7;padding:19px 13px}.nav{display:grid;gap:5px}.nav-item{background:transparent;color:#c5d7e6;border:0;border-radius:12px;text-align:right;padding:14px;font-size:13px;font-weight:600}.nav-item span{font-size:20px;display:inline-block;vertical-align:middle;width:25px}.nav-item:hover,.nav-item.selected{background:linear-gradient(95deg,#0c6185,#0e97ac);color:white}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding:20px 10px;overflow-wrap:anywhere}.sidebar-bottom small{color:#86a9c0;display:block;margin-top:12px;direction:ltr;text-align:right}.role-badge{font-size:11px;color:#a5efde}.logout-btn{display:block;background:rgba(255,255,255,.09);border:0;color:white;width:100%;border-radius:9px;padding:10px;margin-top:15px}.workspace{width:calc(100% - 246px);margin-right:246px;min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 31px}.top-right,.top-actions{display:flex;align-items:center;gap:14px}.breadcrumbs{color:#93a6b9;letter-spacing:.3px;direction:ltr}.breadcrumbs b{color:var(--ink);direction:rtl}.breadcrumbs span{padding:0 10px;color:#cad5dd}.live-status{background:#ecf9f3;border-radius:30px;padding:9px 12px;color:#168057;font-size:12px}.live-status i{display:inline-block;width:7px;height:7px;background:#14bc82;border-radius:50%;margin-left:5px}.icon-btn,.mobile-menu{border:1px solid var(--line);background:white;width:35px;height:35px;border-radius:10px;font-size:20px;color:#28536b}.mobile-menu{display:none}.avatar{background:#ddecff;color:#2051af;font-weight:850;width:35px;height:35px;display:grid;place-items:center;border-radius:50%}main{max-width:1650px;padding:32px 34px;margin:auto;min-height:calc(100vh - 132px)}footer{color:#8ba0ae;text-align:center;font-size:11px;padding:24px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px;flex-wrap:wrap}.page-head h1{font-size:25px;margin:7px 0 4px}.page-head p{color:var(--muted);margin:0;line-height:1.9}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.demo-banner{background:#fff5de;color:#7c5707;border:1px solid #f5d995;padding:13px 20px;border-radius:12px;margin-bottom:20px;font-weight:bold}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.metric{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;min-height:148px;box-shadow:var(--shadow)}.metric-icon{float:left;background:#e7faff;color:#05a1b4;border-radius:14px;font-size:22px;padding:9px}.metric .label{color:#7c8da3;font-size:12px}.metric strong{display:block;font-size:29px;direction:ltr;text-align:right;margin-top:22px}.metric small{color:#88a0b2}.metric.warn .metric-icon{background:#fff4e6;color:#e79a20}.metric.alert .metric-icon{background:#ffedf2;color:#d84d69}.panel{background:#fff;border-radius:18px;padding:23px;border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:10px}.panel-heading h2{margin:0;font-size:17px}.subtle{color:var(--muted)}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar input{max-width:350px}.toolbar select{max-width:180px}.data-table{width:100%;border-collapse:collapse;text-align:right;white-space:nowrap}.data-table th{background:#f7fafe;color:#7a8da2;font-size:11px;font-weight:800;padding:15px 13px}.data-table td{border-bottom:1px solid #eff3f7;padding:15px 13px;font-size:12px}.data-table tbody tr:hover{background:#f8fbff}.data-table td small{display:block;color:#98a9b7;margin-top:5px;direction:ltr;text-align:right}.table-scroll{overflow-x:auto}.status{font-weight:800;border-radius:30px;padding:7px 12px;font-size:11px;white-space:nowrap}.status.active{background:#e6f9ef;color:#15885d}.status.expired{background:#fdebf0;color:#cd425b}.status.warning{background:#fff4db;color:#ae7618}.status.pending{background:#eff3f7;color:#7b889c}.status.suspended{background:#f3ecfe;color:#7756ac}.tag{background:#eff6fc;border-radius:8px;padding:6px 9px;color:#50748f;font-size:11px}.action-cell{display:flex;gap:5px}.action-cell .button{padding:8px 12px;font-size:11px}.empty{text-align:center;color:#71889c;line-height:2.2;padding:50px}.overview-cols{display:grid;grid-template-columns:1.4fr .9fr;gap:18px}.steps{display:grid;gap:12px}.step{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}.step .step-number{width:33px;height:33px;border-radius:12px;background:#e5f7ff;color:#0996b4;display:grid;place-items:center;font-weight:900}.step span{line-height:1.9}.timeline-item{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 2px;gap:20px}.timeline-item strong{display:block;font-size:12px;margin-bottom:8px}.timeline-item small{color:var(--muted)}.modal-bg{position:fixed;inset:0;z-index:70;background:rgba(3,28,53,.66);display:grid;place-items:center;padding:16px}.modal-card{background:#fff;max-width:615px;width:100%;max-height:92vh;overflow-y:auto;border-radius:22px;box-shadow:0 30px 100px #0004;padding:25px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.modal-head h2{margin:5px 0}.close-modal{background:#edf3f8;border:0;width:32px;height:32px;border-radius:9px;font-size:26px}.receipt-preview{background:linear-gradient(100deg,#effbff,#f7fcff);border:1px solid #caeff5;border-radius:14px;padding:17px;margin-bottom:18px;line-height:2}.receipt-preview strong{font-size:18px}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.modal-actions button{flex:1}.form-helper{font-size:11px;color:#8093a7;line-height:1.9}.mini-box{padding:16px;border-radius:13px;background:#f5f8fb;margin-bottom:12px}.mini-box code{direction:ltr;display:block;overflow-wrap:anywhere;text-align:left}.mobile-drawer .sidebar{display:flex!important}#toast{position:fixed;left:18px;bottom:22px;z-index:99;pointer-events:none;max-width:450px}.toast{background:#092d4c;color:white;padding:15px 20px;border-radius:12px;margin-top:8px;box-shadow:0 15px 40px #10293e4a}.toast.error{background:#a52b45}.notice{line-height:2;color:#657c8e;background:#f2f8fc;border:1px solid #dcecf6;border-radius:15px;padding:20px;margin-top:20px}.notice.warn{background:#fff9e8;border-color:#f4e0a3;color:#836414}.small-muted{color:#8195a9;font-size:11px}.chart-box{display:flex;align-items:end;gap:12px;height:220px;padding-top:22px}.chartbar{flex:1;background:linear-gradient(#05b7d0,#0b629f);border-radius:11px 11px 3px 3px;min-height:2px;position:relative}.chartbar span{position:absolute;top:-25px;left:0;right:0;text-align:center;font-size:10px;color:#5f7f92}.chartbar small{position:absolute;bottom:-25px;left:0;right:0;text-align:center;font-size:10px;color:#6a8292}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.overview-cols{grid-template-columns:1fr}.auth-wrapper{grid-template-columns:1fr}.auth-promo{min-height:auto;padding:50px}.auth-card{max-width:640px}.auth-promo h2{font-size:36px}}@media(max-width:760px){.sidebar{width:265px;transform:translateX(105%);box-shadow:0 0 25px #0003;transition:transform .23s}.mobile-drawer .sidebar{transform:translateX(0)}.workspace{margin-right:0;width:100%}.topbar{height:64px;padding:0 13px}.mobile-menu{display:block}.breadcrumbs{font-size:11px}.top-actions{gap:8px}.live-status{font-size:10px}.avatar{display:none}main{padding:23px 14px}.metric-grid{gap:10px}.metric{padding:16px;min-height:138px}.metric strong{font-size:24px}.panel{padding:16px}.page-head h1{font-size:21px}.page-head p{font-size:12px}.form-row{grid-template-columns:1fr}.auth-card{padding:25px}.auth-promo{display:none}.modal-card{padding:17px}}

/* ZAVI ONE ADMIN v21.1 — typography readability */
body{font-size:15px;line-height:1.85}
.nav-item,.button,.form-group input,.form-group select,.form-group textarea{font-size:15px}
.data-table th,.data-table td,.metric .label,.timeline-item strong,.form-helper,.security-note{font-size:14px}
.panel-heading h2{font-size:19px}
.small-muted,.subtle,.tag,.status,.role-badge,.sidebar-caption{font-size:13px}
@media(max-width:760px){body{font-size:15px}.data-table td,.data-table th{font-size:14px}}

/* ZAVI PRO ADMIN 22 — finance / professional RTL interface */
.finbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:space-between;background:linear-gradient(110deg,#ecfbff,#f7faff)}
.finbar small{display:block;color:#71859e;margin-top:7px}.finbar select{max-width:175px;min-width:140px;font-size:17px;font-weight:800}.fin-date{background:white;border:1px solid #deecf7;border-radius:12px;padding:10px 15px;font-weight:700}
.fin-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0 24px}
.fin-metric{background:#fff;border:1px solid #e0eaf5;border-radius:20px;padding:21px;box-shadow:0 5px 24px #092c4e0b;min-height:139px}
.fin-metric span{display:block;color:#617e98;font-weight:800;font-size:13px;line-height:1.65}
.fin-metric strong{display:block;font-size:23px;color:#092e50;margin-top:15px;text-align:right;direction:ltr}
.fin-metric small{font-size:11px;color:#8da1b3;line-height:1.7;display:block;margin-top:8px}
.fin-metric.accent{background:linear-gradient(118deg,#075b86,#0a9fb6);color:white;border-color:transparent}
.fin-metric.accent span,.fin-metric.accent strong,.fin-metric.accent small{color:white}
.fin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.fin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.fin-form label{display:flex;flex-direction:column;gap:6px;color:#536f86;font-size:13px;font-weight:700;line-height:1.65}
.fin-form input,.fin-form select{background:#fff;border:1px solid #dbe8f2;border-radius:11px;padding:13px;min-width:0;width:100%;font:inherit;color:#122e4d}
.fin-form input:focus,.fin-form select:focus{outline:2px solid #74d9e9}
.fin-form .button{min-height:46px}.fin-full{grid-column:1/-1}.fin-hr{border:0;border-top:1px solid #e5edf5;margin:21px 0}
.fin-help{background:#f2faff;border:1px solid #d8edf4;color:#547f96;padding:13px;border-radius:12px;font-size:12px;line-height:1.9}
.fin-small{padding:5px 9px!important;font-size:12px!important}
@media(max-width:1400px){.fin-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1020px){.fin-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.fin-grid{grid-template-columns:1fr}}
@media(max-width:550px){.fin-cards{grid-template-columns:1fr 1fr;gap:8px}.fin-metric{padding:13px;min-height:120px}.fin-metric strong{font-size:17px}.fin-form{grid-template-columns:1fr}.fin-form label{grid-column:1/-1}.finbar{gap:9px}.finbar select{flex:1}}

.fin-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;height:235px;gap:18px;padding:16px 12px 4px}
.fin-chart-col{height:100%;display:flex;flex-direction:column;align-items:center;min-width:0;gap:8px}
.fin-chart-col>span{font-size:10px;color:#5e7b91;white-space:nowrap;direction:ltr}
.fin-chart-rail{flex:1;width:100%;max-width:100px;display:flex;align-items:end;background:#f3f8fc;border-radius:10px 10px 3px 3px;min-height:80px;overflow:hidden}
.fin-chart-rail>div{width:100%;background:linear-gradient(0deg,#0c619e,#13c2d7);border-radius:10px 10px 0 0;min-height:2px;transition:height .2s}
.fin-chart-col small{font-size:12px;font-weight:700;color:#56738b;white-space:nowrap}
@media(max-width:550px){.fin-chart{gap:6px;height:170px;padding:10px 0}.fin-chart-col>span{font-size:7px}.fin-chart-col small{font-size:10px}}

/* v23.1: never reveal the reconnect action when no saved session exists */
[hidden]{display:none!important}

/* V10: compact two-calendar subscription dates in tables, modals and mobile. */
.zavi-v10-date{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:150px;direction:rtl;text-align:right;line-height:1.7;font-size:12px;color:#e8f7ff}
.zavi-v10-date>span{display:block;white-space:nowrap}
.zavi-v10-date small{color:#82ddea;font-size:10px;font-weight:650;margin-left:5px}
.data-table td .zavi-v10-date{min-width:160px}
#modalBody .zavi-v10-date{vertical-align:middle;margin:3px 2px 5px}
@media(max-width:760px){.zavi-v10-date{font-size:11px;min-width:145px}.zavi-v10-date small{font-size:10px}}
