:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#292e35;background:#f5f6f8;font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}a:hover{color:#20262b}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:26px;font-weight:680;letter-spacing:-.5px;margin-bottom:6px}h2{font-size:16px;font-weight:650;margin:0 0 20px}h3{font-size:14px}p{line-height:1.6}small{font-size:11px;color:#9398a2}th{text-align:start}.shell{min-height:100vh;display:flex}.sidebar{background:#22262c;width:238px;flex:0 0 238px;color:#e6e8ec;min-height:100vh;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:11px;padding:28px 22px 8px;font-size:21px;font-weight:700;letter-spacing:1.6px}.logo small{display:block;font-size:9px;font-weight:500;letter-spacing:1.4px;color:#9ba0a8}.logo-mark{width:37px;height:37px;border-radius:10px;background:linear-gradient(140deg,#707681,#3c414b);display:inline-flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:22px}.sidebar-login{padding:10px 22px 27px;font-size:10px;color:#8e939e}.sidebar-login span{display:block}.sidebar-login strong{display:block;font-weight:500;color:#b8bbc4;font-size:11px;direction:ltr;text-align:start;margin-top:4px}.sidebar nav{padding:0 13px;flex:1}.nav-label{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#8c919b;padding:8px 12px}.nav-link{padding:11px 14px;display:flex;justify-content:space-between;align-items:center;border-radius:8px;margin:3px 0;font-size:13px;color:#b9bdc5}.nav-link:hover{color:white;background:#333941}.nav-link.selected{background:#434951;color:#fff;font-weight:650}.chevron{opacity:.5;font-size:17px}.sidebar-bottom{padding:17px 15px 22px;border-top:1px solid #3a3e44}.identity{display:flex;gap:10px;align-items:center;margin-bottom:14px}.avatar{height:34px;width:34px;border-radius:9px;display:grid;place-items:center;background:#585f68;color:white}.identity strong,.identity small{display:block}.identity strong{font-size:12px}.identity small{font-size:10px}.logout{width:100%;border:1px solid #454b54;background:transparent;border-radius:8px;color:#cfd4dc;padding:10px;display:flex;gap:10px;align-items:center;justify-content:center;transition:background .15s}.logout:hover{background:#4b3037;color:white}.logout span{font-size:19px;transition:transform .15s}.logout:hover span{transform:rotate(35deg)}.content{min-width:0;flex:1;display:flex;flex-direction:column}.top{height:72px;border-bottom:1px solid #e5e7ec;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:10px}.breadcrumbs{color:#838996;font-size:11px;text-transform:uppercase;letter-spacing:1px}.top-actions{display:flex;align-items:center;gap:5px}.balance{margin-inline-end:19px;font-size:12px;color:#78808b}.balance strong{margin-inline-start:5px;color:#323942}.lang-form{display:inline}.lang-button{border:0;background:transparent;border-radius:6px;color:#959ba5;padding:7px 9px;font-size:11px}.lang-button.active{background:#eef0f3;color:#3d4249;font-weight:600}.page-body{width:100%;max-width:1650px;padding:31px 36px 55px;margin:0 auto;flex:1}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:14px}.page-head p{color:#888f9a;margin:3px 0}.head-tools{display:flex;align-items:center;gap:9px}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin:0 0 23px;padding:20px;box-shadow:0 2px 6px #15191e05}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d9dee5;border-radius:7px;padding:9px 15px;background:#fff;color:#444b55;font-weight:590;font-size:12px;white-space:nowrap}.btn:hover{background:#f4f5f7}.btn.primary{background:#3e444d;border-color:#3e444d;color:#fff}.btn.primary:hover{background:#2b3037}.btn.danger,.mini.danger{color:#ad3c46;border-color:#efcdd1;background:#fff}.btn.danger:hover{background:#fdf2f3}.mini{display:inline-flex;align-items:center;border:1px solid #dce0e6;border-radius:6px;color:#59616a;background:white;font-size:11px;padding:6px 9px;white-space:nowrap}.mini:hover{background:#f1f3f6}.filter-bar{display:flex;align-items:center;background:white;border:1px solid #e5e7eb;border-radius:10px;padding:7px 9px;margin-bottom:18px;gap:6px;overflow:auto}.filter-tab{white-space:nowrap;border-radius:7px;padding:12px 14px;color:#707884;font-size:12px;font-weight:550}.filter-tab.current{background:#454b54;color:#fff}.filter-tab span{margin-inline-start:7px;opacity:.8}.filter-tab:not(.current):hover{background:#eff1f3}.filters,.manager-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.search{flex:1;min-width:160px}.filters input,.filters select,.manager-filter select{border:1px solid #e0e4e9;border-radius:7px;min-height:38px;padding:7px 11px;background:#fff;color:#49505a}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:730px}th{background:#f8f9fa;font-size:10px;letter-spacing:.45px;text-transform:uppercase;color:#858e99;font-weight:660;padding:14px 12px;border-bottom:1px solid #ebedf0;white-space:nowrap}td{padding:12px 12px;border-bottom:1px solid #eef0f2;color:#515862;font-size:12px;vertical-align:middle}.users-table tbody tr:nth-child(even){background:#fafbfc}.users-table tbody tr:hover{background:#f0f2f5}.users-table tbody tr:nth-child(odd){background:white}.users-table tbody tr:nth-child(odd):hover{background:#f0f2f5}.strong-link{font-weight:670;color:#373e46}.subid{display:block;margin-top:3px;direction:ltr;text-align:start}.num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.password-cell{font-variant-numeric:tabular-nums}.row-index{width:42px;color:#8d95a0}.state{display:inline-block;min-width:78px;text-align:center;color:#fff;border-radius:3px;font-size:10px;font-weight:700;padding:5px 7px}.state.active{background:#3f9573}.state.expired{background:#7e8792}.state.blocked,.state.disabled{background:#c15e65}.empty{text-align:center!important;padding:30px;color:#959ba4}.actions-col{width:75px;text-align:center}.gear-menu{display:inline-block}.gear-menu summary{list-style:none;cursor:pointer;padding:5px 9px;border-radius:5px;border:1px solid #e3e6eb;color:#68717e;white-space:nowrap}.gear-menu summary::-webkit-details-marker{display:none}.gear-menu summary:hover{background:#eef0f2}.menu-pop{z-index:120;background:#fff;box-shadow:0 10px 32px #10192328;border:1px solid #e0e3e8;border-radius:8px;padding:6px;width:180px}.menu-pop a,.menu-pop button{display:block;width:100%;text-align:start;border:0;background:none;color:#4e5661;font-size:12px;padding:10px;border-radius:6px}.menu-pop a:hover,.menu-pop button:hover{background:#eff1f4}.menu-form{margin:0}.pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:12px;margin-top:16px;color:#868f9b}.form-panel{padding:27px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:end}.stack-form{display:flex;flex-direction:column;gap:19px}.field{min-width:0;display:flex;flex-direction:column;gap:7px;color:#59616c;font-size:12px;font-weight:620}.field input,.field select,.field textarea{width:100%;border:1px solid #dce1e7;background:#fff;border-radius:7px;padding:11px;color:#303640;font-size:13px;outline:none;min-width:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:#7b879a;box-shadow:0 0 0 3px #7f8a991a}.field input:disabled{background:#f5f6f8;color:#878d95}.field textarea{resize:vertical}.form-actions{grid-column:1/-1;padding-top:5px}.form-actions button{min-width:126px}.add-panel{width:min(440px,100%);margin:0 auto 22px}.gen-field{display:flex;gap:10px;align-items:flex-end}.gen-field .field{flex:1}.dice{width:42px;height:42px;display:grid;place-items:center;background:#f4f5f7;border:1px solid #dadee5;border-radius:7px;font-size:23px;color:#545d69}.dice:hover{background:#e7eaee}.duration{color:#929aa4;font-size:12px}.user-edit-panel{max-width:900px}.user-summary,.billing-stats{display:flex;align-items:center;gap:26px;background:white;border:1px solid #e6e8ec;border-radius:10px;padding:20px 24px;margin-bottom:20px;flex-wrap:wrap;color:#929aa3;font-size:12px}.user-summary strong{color:#414953;margin-inline-start:5px}.user-bottom-actions{display:flex;gap:13px;align-items:center}.inline-actions{display:inline-flex;margin:0}.dialog-body{padding:27px;min-width:min(380px,85vw)}.renew-dialog{border:0;border-radius:12px;box-shadow:0 25px 70px #1d293d48;padding:0}.renew-dialog::backdrop{background:#18233380}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:25px}.manager-buttons{display:flex;flex-wrap:wrap;gap:6px}.billing-stats{gap:0;padding:0}.billing-stats>div{flex:1;min-width:170px;padding:23px 26px;border-inline-end:1px solid #eceef1}.billing-stats span{display:block}.billing-stats strong{display:block;color:#454b54;font-size:24px;font-weight:650;margin-top:8px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two-col>.panel{min-width:0}.sub-section{border-top:1px solid #ebeef2;margin-top:28px;padding-top:24px}.manager-filter{margin:10px 0 20px}.manager-filter .field{width:250px}.alert{padding:12px 16px;margin:0 0 18px;border-radius:7px;font-size:12px;line-height:1.7}.alert.ok{background:#e8f5ee;color:#276d4c;border:1px solid #c6e7d4}.alert.error{background:#fff1f1;color:#a43f48;border:1px solid #f1c8ca}.login-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.login-card{width:min(425px,100%);padding:37px;background:white;border:1px solid #e2e5ea;border-radius:14px;box-shadow:0 12px 35px #1520370b}.login-brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:24px;margin-bottom:40px}.login-card h1{margin:0 0 8px}.login-card p{color:#949aa4;margin-bottom:25px}.login-card .form-actions button{width:100%}.login-shell footer{margin-top:30px}.content footer{text-align:center;color:#adb2bb;font-size:11px;padding:20px}html[dir=rtl] .shell{flex-direction:row-reverse}html[dir=rtl] .chevron{transform:scaleX(-1)}html[dir=rtl] .sidebar-login strong{direction:ltr;text-align:right}html[dir=rtl] .num{text-align:left}html[dir=rtl] .row-index{text-align:right}@media(max-width:1050px){.two-col{grid-template-columns:1fr}.top{padding:0 22px}.page-body{padding:24px 22px 45px}}@media(max-width:720px){.shell{display:block}.sidebar{position:relative;width:100%;height:auto;min-height:0;padding-bottom:5px}.sidebar nav{display:flex;overflow-x:auto;padding:4px 8px}.nav-label,.sidebar-login,.sidebar-bottom{display:none}.nav-link{white-space:nowrap}.logo{padding:13px}.top{height:auto;min-height:65px;align-items:flex-start;padding:13px;flex-wrap:wrap}.top-actions{flex-wrap:wrap}.page-body{padding:20px 12px}.form-grid{grid-template-columns:1fr}.filter-bar{gap:0}.filter-tab{padding:10px}.panel{padding:14px}.billing-stats>div{padding:14px}.user-summary{gap:12px}}

html[dir=rtl] input[name=username],html[dir=rtl] input[name=password],html[dir=rtl] .password-cell{direction:ltr;text-align:left}
/* KLM v2.1: compact IPTV-reseller controls and bilingual layout. */
html[dir="rtl"] .shell { flex-direction:row; }
html[dir="rtl"] .sidebar { text-align:right; }
html[dir="rtl"] .sidebar-login strong { text-align:right; }
html[dir="rtl"] .top-actions { flex-direction:row; }
html[dir="rtl"] .logo { direction:ltr; }
.logo { transition:background .15s,color .15s; }
.logo:hover { background:rgba(255,255,255,.045);color:#fff; }
.logo:focus-visible,.logout:focus-visible,.action-menu-trigger:focus-visible,.billing-tab:focus-visible { outline:2px solid #aeb5c0;outline-offset:3px; }
.nav-link { gap:9px; }
.nav-link .portal-icon { width:18px;height:18px;flex:0 0 18px; }
.nav-link .chevron { margin-inline-start:auto; }
.portal-icon { width:20px;height:20px;display:block;flex:none;transition:transform .18s ease,opacity .18s ease; }
.logout { justify-content:center;gap:10px; min-height:40px; }
.logout .portal-icon { width:19px;height:19px; }
.logout:hover .portal-icon { transform:rotate(30deg); }
.logout.is-leaving { color:#f4a4a0;pointer-events:none;transform:scale(.98); }
.logout.is-leaving .portal-icon { transform:rotate(100deg) scale(.72);opacity:.35; }
/* Action trigger and dropdown copied in visual language from the IPTV reseller menu. */
.gear-menu.action-menu { display:inline-block;position:relative; }
.gear-menu .action-menu-trigger { width:58px;height:33px;display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:4px 6px;line-height:1;list-style:none;cursor:pointer;background:#f7f8f9;border:1px solid #dadee2;border-radius:8px;color:#585f67;transition:background .15s,border-color .15s; }
.gear-menu .action-menu-trigger::-webkit-details-marker { display:none; }
.gear-menu .action-menu-trigger .portal-icon:first-child { width:19px;height:19px; }
.gear-menu .action-menu-trigger .action-menu-chevron { width:14px;height:14px;stroke-width:2.6;transition:transform .17s; }
.gear-menu[open] .action-menu-chevron { transform:rotate(180deg); }
.gear-menu .action-menu-trigger:hover,.gear-menu[open] .action-menu-trigger { background:#e8ebee;border-color:#bec4cb;color:#272d33; }
.gear-menu .action-menu-panel { width:188px;min-width:188px;padding:6px;border:1px solid #cbd0d5;border-radius:10px;background:#fff;box-shadow:0 14px 38px rgba(24,31,38,.19);z-index:150; }
.gear-menu .action-menu-panel a,.gear-menu .action-menu-panel button { display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:9px 11px;text-align:start;color:#393f46;font-size:12px;font-weight:650;border:0;border-radius:7px;background:transparent; }
.gear-menu .action-menu-panel .portal-icon { width:18px;height:18px; }
.gear-menu .action-menu-panel a:hover,.gear-menu .action-menu-panel button:hover { background:#eceff1;color:#20262d; }
.gear-menu .action-menu-panel button.danger,.gear-menu .action-menu-panel button.danger .portal-icon { color:#ab4b45; }
.gear-menu .action-menu-panel button.success,.gear-menu .action-menu-panel button.success .portal-icon { color:#32835f; }
.gear-menu .action-menu-panel form { margin:0; }
.dice .portal-icon { width:19px;height:19px;stroke-width:2.2; }
.dice:hover .portal-icon { transform:rotate(32deg); }
/* IPTV Bar 3: flat label with narrow underline, not two full table sections. */
.billing-tabs { display:flex;align-items:center;flex-wrap:wrap;gap:23px;max-width:100%;margin:6px 0 17px;padding:0;border:0;background:transparent; }
.billing-tab { display:inline-flex;align-items:center;min-height:30px;padding:1px 0 7px;border-bottom:2px solid transparent;color:#777e86;font-size:13px;font-weight:750;line-height:1.2;transition:color .15s,border-color .15s; }
.billing-tab:hover,.billing-tab:focus-visible { color:#242b32; }
.billing-tab.current { color:#242a30;border-bottom-color:#242a30; }
.billing-entry { margin-bottom:18px;max-width:920px; }
.billing-entry h2 { margin-bottom:13px; }
.billing-entry-form { display:flex;align-items:end;gap:14px;flex-wrap:wrap; }
.billing-entry-form .field { min-width:180px;flex:1 1 190px; }
.billing-entry-form .form-actions { margin:0; }
/* Manager-only Home */
.home-stats { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;gap:18px; }
.home-stat { position:relative;overflow:hidden;min-height:148px;background:#fff;border:1px solid #e2e5e9;border-radius:13px;padding:22px 25px;box-shadow:0 7px 20px rgba(32,39,49,.035);display:flex;flex-direction:column;justify-content:space-between; }
.home-stat::before { content:"";position:absolute;inset-block-start:0;inset-inline-start:0;width:3px;height:100%;background:#b6bac1; }
.home-stat span { font-size:12px;font-weight:650;color:#737a85; }
.home-stat strong { align-self:flex-start;line-height:1.05;font-size:32px;font-weight:760;letter-spacing:-.7px;color:#303740;font-variant-numeric:tabular-nums; }
.home-stat.home-active::before { background:#39966b; }
.home-stat.home-soon::before { background:#d9a752; }
.home-stat.home-balance::before { background:#525d69; }
.home-stat small { color:#87919b;font-size:11px; }
@media(max-width:680px){.home-stats{grid-template-columns:1fr;gap:12px}.home-stat{min-height:124px}.billing-entry-form{display:flex;flex-direction:column;align-items:stretch}.billing-entry-form .field{width:100%;flex:auto}}

/* 2.2: review-led visual refinements; retain the existing IPTV-sourced SVG paths. */
.logout{width:auto;min-width:0;margin-inline:2px auto;padding:7px 10px;gap:7px;min-height:0;border:1px solid transparent;background:transparent;font-size:12px;border-radius:7px;justify-content:flex-start}
.logout:hover{background:#383e47;border-color:#48505a;color:#fff}
.logout span{font-size:12px;font-weight:600;transition:none}
.logout:hover span{transform:none}
.logout .portal-icon{width:17px;height:17px}
.sidebar-bottom{padding-bottom:21px}
.filter-bar{background:transparent;border:0;border-radius:0;padding:0;gap:23px;margin-bottom:18px}
.filter-tab{background:transparent!important;border-radius:0;border-bottom:2px solid transparent;padding:3px 0 8px;min-height:32px;color:#777e86;font-size:13px;font-weight:740;display:inline-flex;align-items:center;gap:8px;transition:color .15s,border-color .15s}
.filter-tab.current{color:#242a30;border-bottom-color:#242a30}
.filter-tab:not(.current):hover{background:transparent!important;color:#242a30}
.filter-tab span{font-size:11px;font-weight:700;margin-inline-start:0;opacity:.77;font-variant-numeric:tabular-nums}
.users-filters{gap:8px}
.users-filters .search{flex:0 1 33%;width:33%;max-width:500px;min-width:200px}
.users-filters select{margin-inline-start:auto}
.password-cell{text-align:center!important;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
html[dir="rtl"] .password-cell{text-align:center!important;direction:ltr;unicode-bidi:isolate}
html[dir="rtl"] input[name="username"],html[dir="rtl"] input[name="password"]{direction:ltr;text-align:start}
.gear-menu .action-menu-panel a,.gear-menu .action-menu-panel button{border:1px solid #e7eaf0;background:#fff;margin:2px 0}
.gear-menu .action-menu-panel a:hover,.gear-menu .action-menu-panel button:hover{border-color:#cbd0d7;background:#f1f3f6}
.gear-menu .action-menu-panel a .portal-icon,.gear-menu .action-menu-panel button .portal-icon{color:#606b78}
.field-optional{font-size:10px;font-weight:500;color:#969da7;white-space:nowrap;margin-inline-start:4px}
.readonly-dates{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.readonly-dates .field input[readonly]{background:#f5f6f8;color:#505964;border-color:#e1e5eb;cursor:default;text-align:start;font-variant-numeric:tabular-nums}
.user-bottom-actions{max-width:900px}
.user-edit-panel{margin-bottom:15px}
.home-stats{width:min(100%,900px);max-width:900px;margin:26px auto 0;gap:22px}
.home-stat{min-height:177px;padding:25px 29px;border:1px solid #e3e7ed;border-radius:16px;box-shadow:0 10px 30px #212b3610,0 2px 5px #212b3608;background:linear-gradient(148deg,#fff 50%,#f7f8fb 100%);gap:11px;justify-content:space-between}
.home-stat::before{height:4px;width:100%;inset-block-start:0;inset-inline-start:0}
.home-stat-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.home-stat-top>span:first-child{font-size:13px;font-weight:740;color:#525c69}
.home-stat-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#eff1f5;color:#68727e}
.home-active .home-stat-icon{background:#e8f5ee;color:#368762}
.home-soon .home-stat-icon{background:#fff5e5;color:#bd8640}
.home-stat .home-stat-icon .portal-icon{width:21px;height:21px}
.home-stat strong{font-size:37px;letter-spacing:-1px;align-self:flex-start;font-weight:800}
.home-stat small{font-size:11px;color:#929aa6;min-height:12px}
.number-ltr{direction:ltr;unicode-bidi:isolate;display:inline-block;font-variant-numeric:tabular-nums}
.balance strong,.amount-cell b,.billing-stats strong{font-weight:780}
.amount-cell b{color:#343c45;font-size:13px}
html[dir="rtl"] .num{text-align:start}
.renew-dialog,.expiry-dialog{border:0;border-radius:16px;width:min(550px,calc(100vw - 28px));max-width:calc(100vw - 28px);padding:0;box-shadow:0 25px 80px #111e3440}
.expiry-dialog::backdrop{background:#18233380}
.renew-dialog .dialog-body,.expiry-dialog .dialog-body{padding:29px 32px 25px;min-width:0}
.dialog-top{display:flex;align-items:center;gap:15px;margin-bottom:25px}
.dialog-top>.portal-icon{width:44px;height:44px;flex:0 0 44px;padding:11px;border-radius:12px;background:#eef1f5;color:#535d69}
.dialog-top h2{font-size:19px;margin:0 0 5px}
.dialog-subtitle{font-size:14px;color:#777f89;margin:0}
.renew-details{margin:0;display:grid;gap:0;border:1px solid #e8ebef;border-radius:11px;overflow:hidden}
.renew-details>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;background:#fff}
.renew-details>div+div{border-top:1px solid #e8ebef}
.renew-details>div.renew-new{background:#eef6f1}
.renew-details dt{font-weight:610;color:#6e7883;font-size:12px}
.renew-details dd{font-size:17px;font-weight:760;color:#2e3640;margin:0}
.renew-details .renew-new dd{color:#27744f;font-size:19px}
.renew-dialog .dialog-actions{margin-top:22px}
@media(max-width:760px){.home-stats{gap:13px;margin-top:16px}.home-stat{padding:18px;min-height:146px}.filter-bar{gap:16px}.filter-tab{font-size:12px}.users-filters .search{flex:1 1 60%;width:60%;min-width:140px}.users-filters select{margin-inline-start:0}.renew-dialog .dialog-body,.expiry-dialog .dialog-body{padding:23px 18px}.readonly-dates{gap:12px}}
@media(max-width:580px){.home-stats{grid-template-columns:1fr}.readonly-dates{grid-template-columns:1fr}.users-filters .search{max-width:none;flex:1 1 67%;width:67%}}

/* KLM 2.3: exact data columns and date filters; do not change the existing navigation. */
.users-table .password-cell { text-align:center !important;direction:ltr;unicode-bidi:isolate;white-space:nowrap; }
.users-table .password-cell > span { display:inline-block;direction:ltr;unicode-bidi:isolate;text-align:center; }
.users-table .real-user-id { width:88px;min-width:88px;max-width:110px;text-align:center;direction:ltr;white-space:nowrap;font-variant-numeric:tabular-nums; }
html[dir=rtl] .users-table .real-user-id {text-align:center;direction:ltr;}
.managers-table { min-width:1110px; }
.managers-table .manager-id { width:88px;min-width:78px;text-align:center;direction:ltr;font-variant-numeric:tabular-nums;white-space:nowrap; }
.managers-table .manager-name { font-weight:650;white-space:nowrap; }
.managers-table .actions-col { text-align:center; }
.date-filter-group { display:flex;align-items:end;gap:10px;flex-wrap:wrap;flex:1 1 100%;padding-top:8px;border-top:1px solid #eef0f3; }
.date-filter-field { display:flex;flex-direction:column;gap:6px;min-width:145px;color:#6a7380;font-size:11px;font-weight:650; }
.date-filter-field input,.date-filter-field select {box-sizing:border-box;width:100%;height:38px;border:1px solid #dce1e7;background:#fff;border-radius:7px;padding:7px 11px;color:#3c4652;font-size:12px;font-weight:550;}
.date-filter-field input[type=date] { direction:ltr;min-width:155px; }
.date-filter-group .date-clear { min-height:38px;align-self:flex-end; }
.billing-date-filter {padding:2px 0 17px;margin-bottom:6px;gap:10px; }
.billing-date-filter .btn { height:38px;align-self:flex-end; }
html[dir=rtl] .date-filter-field input[type=date] {direction:ltr;text-align:left;}
@media(max-width:660px){ .date-filter-group{align-items:stretch}.date-filter-field{flex:1 1 135px}.date-filter-group .date-clear{align-self:flex-end} }

/* KLM 2.4: one explicit DD/MM/YYYY date presentation, including Arabic RTL. */
.date-control{display:flex;position:relative;align-items:center;gap:0;width:100%;min-width:0}
.date-filter-field .date-control .date-input{width:100%;min-width:0;height:38px;box-sizing:border-box;border:1px solid #dce1e7;border-radius:7px;background:#fff;padding:7px 38px 7px 10px;direction:ltr;text-align:left;font-variant-numeric:tabular-nums;font-size:12px;font-weight:550;color:#3c4652}
.date-filter-field .date-control .date-input[readonly]{background:#f5f6f8;color:#515b67}
.date-control .calendar-trigger{position:absolute;right:3px;top:3px;height:32px;width:32px;border:0;border-radius:5px;background:transparent;display:grid;place-items:center;cursor:pointer;color:#66717e}
.date-control .calendar-trigger:hover:not(:disabled){background:#eff1f5;color:#242c35}
.date-control .calendar-trigger:disabled{opacity:.35;cursor:default}
.calendar-trigger .portal-icon{width:17px;height:17px}
.klm-calendar[hidden]{display:none}
.klm-calendar{position:fixed;z-index:99999;width:310px;box-sizing:border-box;background:#fff;border:1px solid #dfe3e9;border-radius:11px;padding:12px;box-shadow:0 14px 55px #12203440;direction:ltr;color:#283342}
.calendar-head{display:flex;align-items:center;gap:4px;margin-bottom:10px}
.calendar-head button{width:30px;height:30px;border:1px solid #e6eaf0;border-radius:6px;background:#f8f9fb;cursor:pointer;font-size:21px;color:#5f6975;flex:none}
.calendar-head select{min-width:0;flex:1;height:30px;border:1px solid #e6eaf0;border-radius:6px;padding:2px 5px;background:#fff;font-size:12px;color:#3e4855}
.calendar-head input{width:66px;flex:none;height:30px;box-sizing:border-box;border:1px solid #e6eaf0;border-radius:6px;padding:3px 5px;text-align:center;font-size:12px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}
.calendar-weekday{font-size:10px;color:#84909e;align-self:center;padding:7px 0}
.calendar-day{height:32px;border:0;border-radius:6px;background:#fff;color:#3a4554;cursor:pointer;font-size:12px}
.calendar-day:hover{background:#edf0f4}.calendar-day.selected{background:#283441;color:#fff;font-weight:750}
.readonly-dates .edit-date-check{grid-column:1/-1;display:inline-flex;align-items:center;gap:7px;width:max-content;font-size:11px;color:#66717e;font-weight:600;cursor:pointer}
.edit-date-check input{width:15px;height:15px;accent-color:#3b4654}
.readonly-dates.date-edit-closed .date-filter-field,.readonly-dates.date-edit-closed .edit-date-check{opacity:.48;cursor:not-allowed}
.readonly-dates .date-filter-field{min-width:0}
.readonly-dates .date-control input{height:40px}
.financial-dialog{width:min(500px,calc(100vw - 26px));max-width:calc(100vw - 26px);padding:0;border:0;border-radius:15px;box-shadow:0 25px 80px #111e3440}
.financial-dialog::backdrop{background:#18233380}
.financial-dialog .dialog-body{padding:26px 29px}
.financial-dialog h2{margin:0 0 5px;font-size:19px}
.financial-dialog .dialog-subtitle{margin:0 0 20px}
.financial-dialog .date-filter-field{width:100%;align-self:stretch}
.financial-dialog .dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
.financial-dialog .financial-delete{display:flex;justify-content:flex-start;margin-top:12px;padding-top:12px;border-top:1px solid #eaedf0}
.financial-dialog .financial-delete .btn{display:flex;align-items:center;gap:6px}
.financial-dialog .financial-delete .portal-icon{width:15px;height:15px}
.financial-edit{display:inline-flex;align-items:center;gap:5px}
.financial-edit .portal-icon{width:15px;height:15px}
.billing-entry-form .date-filter-field{min-width:150px}
@media(max-width:580px){.financial-dialog .dialog-body{padding:22px 17px}}

/* KLM 2.5: password heading and values share one centered column in LTR and RTL. */
.users-table th.password-cell,.users-table td.password-cell{width:132px;min-width:132px;max-width:132px;text-align:center!important;direction:ltr;unicode-bidi:isolate;white-space:nowrap}
.users-table td.password-cell>span{display:block;width:100%;text-align:center!important;direction:ltr;unicode-bidi:isolate}
html[dir=rtl] .users-table th.password-cell,html[dir=rtl] .users-table td.password-cell{text-align:center!important;direction:ltr}
/* Home: an actionable, centered dashboard without JS or chart dependencies. */
.home-stats{max-width:980px;width:min(100%,980px);gap:20px;margin:24px auto 0}
a.home-stat{min-height:192px;outline-offset:4px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
a.home-stat:hover,a.home-stat:focus-visible{transform:translateY(-3px);border-color:#b8c2cf;box-shadow:0 15px 38px #2432461d}
a.home-stat:focus-visible{outline:2px solid #526b8b}
.home-stat.home-balance{background:linear-gradient(132deg,#fff 50%,#f0f2f6 100%)}
.home-stat.home-users{background:linear-gradient(132deg,#fff 50%,#f1f5f9 100%)}
.home-stat.home-active{background:linear-gradient(132deg,#fff 50%,#eaf5ef 100%)}
.home-stat.home-soon{background:linear-gradient(132deg,#fff 50%,#fff4e4 100%)}
.home-stat.home-users::before{background:#768da6}
.home-stat.home-active::before{background:#3b956e}
.home-stat.home-soon::before{background:#d3a050}
.home-stat .home-stat-top>span:first-child{font-size:14px}
.home-stat .home-stat-icon{height:46px;width:46px;border-radius:12px}
.home-stat .home-stat-icon .portal-icon{width:24px;height:24px}
.home-stat strong{font-size:40px;line-height:1.2}
.home-stat-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.home-stat-foot small{min-height:0;font-size:11px}
.home-stat-link{display:inline-flex;align-items:center;gap:7px;color:#3b495b!important;font-size:11px!important;font-weight:720!important;white-space:nowrap}
.home-stat-link span{font-size:16px!important;line-height:1}
.home-progress{height:6px;background:#d8e7de;border-radius:99px;overflow:hidden;flex:0 0 6px}
.home-progress>span{display:block;height:100%;background:#3c966f;border-radius:99px}
@media(max-width:580px){a.home-stat{min-height:157px}.home-stats{gap:13px}}

/* KLM 2.6: IPTV reseller-inspired Home; metrics appear once, no percentages or charts. */
.home-dashboard{max-width:1170px;margin-inline:auto}
.home-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:218px;padding:33px 40px;border-radius:22px;color:#fff;background:radial-gradient(circle at 84% 12%,#ffffff24,transparent 32%),linear-gradient(120deg,#282d35 0%,#4a515d 59%,#747d88 100%);box-shadow:0 22px 46px #202a381b}
.home-hero::after{content:"";position:absolute;width:290px;height:290px;border:38px solid #ffffff12;border-radius:50%;inset-inline-end:-112px;inset-block-end:-192px;z-index:-1;pointer-events:none}
.home-hero-copy{position:relative;z-index:1;min-width:0}
.home-eyebrow{display:block;margin-bottom:10px;font-size:10px;letter-spacing:.13em;font-weight:800;color:#ffffffb8;text-transform:uppercase}
.home-hero h1{font-size:clamp(24px,3.2vw,37px);line-height:1.2;letter-spacing:-.6px;font-weight:780;color:#fff;margin:0 0 8px;overflow-wrap:anywhere}
.home-hero p{color:#ffffffca;font-size:13px;margin:0}
.home-hero-button{margin-top:22px;display:inline-flex;align-items:center;gap:9px;background:#fff;color:#333b46;border-radius:9px;padding:11px 16px;min-height:43px;font-size:12px;font-weight:750;box-shadow:0 6px 18px #12192419;transition:transform .16s,background .16s}
.home-hero-button:hover{background:#f1f3f5;transform:translateY(-2px);color:#252b32}
.home-hero-button .portal-icon{width:18px;height:18px}
.home-hero-emblem{position:relative;flex:0 0 160px;height:160px;width:160px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff63;background:#ffffff17;box-shadow:inset 0 1px #ffffff66,0 16px 30px #151d292d;color:#fff;z-index:1}
.home-hero-emblem span{font-size:74px;letter-spacing:-6px;font-weight:760;text-shadow:0 8px 15px #151d294d;line-height:1}
.home-dashboard .home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:none;width:100%;margin:20px 0 0}
.home-dashboard a.home-stat{position:relative;min-width:0;min-height:196px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;justify-content:flex-start;padding:21px 20px 18px;background:#fff;border:1px solid #e2e6eb;border-radius:16px;box-shadow:0 8px 26px #1723370b;transition:transform .16s,box-shadow .16s,border-color .16s;overflow:hidden}
.home-dashboard a.home-stat::before{content:none}
.home-dashboard a.home-stat:hover,.home-dashboard a.home-stat:focus-visible{transform:translateY(-3px);border-color:#b9c3cf;box-shadow:0 16px 34px #17233719}
.home-dashboard .home-stat-icon{flex:none;width:41px;height:41px;display:grid;place-items:center;border-radius:12px;background:#eff1f4;color:#57616c;margin-bottom:3px}
.home-dashboard .home-users .home-stat-icon{background:#eff1fa;color:#6079a2}
.home-dashboard .home-active .home-stat-icon{background:#eaf6ef;color:#328861}
.home-dashboard .home-soon .home-stat-icon{background:#fff4e7;color:#bd8642}
.home-dashboard .home-stat-icon .portal-icon{width:22px;height:22px}
.home-dashboard .home-stat-title{color:#6d7682;font-size:12px;font-weight:760}
.home-dashboard .home-stat strong{font-size:33px;font-weight:800;line-height:1.2;letter-spacing:-.6px;color:#303944;align-self:auto;max-width:100%}
.home-dashboard .home-stat-note{font-size:11px;color:#9199a3}
.home-dashboard .home-stat-link{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:9px;font-size:11px!important;color:#435368!important;font-weight:760!important}
.home-dashboard .home-stat-link span{font-size:15px!important;line-height:1}
.home-dashboard a.home-stat:focus-visible,.home-hero-button:focus-visible{outline:2px solid #5c7698;outline-offset:3px}
/* Both dates occupy independent cells and remain LTR under an RTL table. */
.users-table .date-col{white-space:nowrap;min-width:116px;font-variant-numeric:tabular-nums}
.users-table td.date-col .number-ltr{display:inline-block;direction:ltr;unicode-bidi:isolate}
@media(max-width:1180px){.home-dashboard .home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-hero{min-height:0;padding:27px 23px}.home-hero-emblem{flex-basis:95px;width:95px;height:95px}.home-hero-emblem span{font-size:48px}.home-dashboard .home-stats{gap:12px}.home-dashboard a.home-stat{min-height:180px;padding:19px}}
@media(max-width:480px){.home-hero-emblem{display:none}.home-dashboard .home-stats{grid-template-columns:1fr}.home-dashboard a.home-stat{min-height:165px}}
@media(prefers-reduced-motion:reduce){.home-dashboard a.home-stat,.home-hero-button{transition:none}}
