:root{font-family:"Segoe UI",Tahoma,Arial,sans-serif;color:#17243b;background:#f3f5f9;font-synthesis:none;--ink:#17243b;--nav:#132139;--muted:#50617a;--line:#dbe2ec;--paper:#fff;--amber:#ffb548;--amber-ink:#422700;--focus:#2160a7;--green:#17694a;--danger:#9a302a}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-width:280px}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.62}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,main:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
h1,h2,p{margin:0}
h1{font-size:clamp(1.6rem,3.5vw,2.25rem);line-height:1.35}
h2{font-size:1.18rem;line-height:1.45}
.muted{color:var(--muted);font-size:.93rem;line-height:1.6}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip:focus{position:absolute;inset-block-start:8px;inset-inline-start:8px;z-index:20;background:white;padding:.7rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem .94rem;border:1px solid transparent;border-radius:9px;font-weight:650;line-height:1.35;text-align:center;white-space:normal}
.primary{background:var(--amber);border-color:#f4a531;color:var(--amber-ink)}
.primary:not(:disabled):hover{background:#ffc46d}
.secondary{background:white;border-color:#c9d4e3;color:#233956}
.secondary:not(:disabled):hover{background:#eef3fa}
.full{width:100%}
.actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
input,select{width:100%;min-width:0;min-height:44px;padding:.55rem .72rem;border:1px solid #aebdd1;border-radius:9px;color:var(--ink);background:#fff}
input::placeholder{color:#61708a}
.sign-in{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:24px;background:radial-gradient(ellipse at 12% 10%,#243b5a 0,transparent 50%),#132139}
.sign-card{width:min(100%,430px);padding:clamp(22px,6vw,37px);background:white;border:1px solid #d6e1ee;border-radius:20px;box-shadow:0 18px 64px #07132555}
.brand{display:flex;align-items:center;gap:.8rem;color:#fff;font-size:1.04rem;letter-spacing:.055em;font-weight:800}
.brand-dark{color:var(--nav);margin-bottom:1.7rem}
.brand-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;background:var(--amber);color:#17243b;font-weight:900;font-size:1.2rem;letter-spacing:0}
.sign-card h1{font-size:clamp(1.45rem,5.5vw,1.8rem)}
.gate-card{text-align:center}
.gate-card .brand{justify-content:center;margin-bottom:1.2rem}
.gate-card .muted{margin-top:.5rem}
.phone-link{display:block;padding:.58rem .55rem;margin-top:.8rem;background:#edf3fa;color:#244a75;border:1px solid #cad7e8;border-radius:8px;font-size:.9rem;overflow-wrap:anywhere}
.phone-icon{display:block;width:34px;height:54px;margin:0 auto 1rem;border:2px solid #385170;border-radius:8px;background:#eef3fa;position:relative}
.phone-icon::after{content:"";position:absolute;inset-inline:9px;inset-block-end:4px;height:2px;border-radius:2px;background:#385170}
.sign-card form{display:grid;gap:.55rem;margin-top:1.3rem}
.sign-card label,.field-label{font-size:.94rem;font-weight:700}
.sign-card input{margin-bottom:.47rem}
.sign-card form .primary{margin-top:.25rem}
.register-link{margin-block-start:.9rem}
.shortcut-help{margin-block-start:.9rem;padding-inline:.7rem;border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:.9rem;line-height:1.6}
.shortcut-help summary{cursor:pointer;min-height:44px;padding-block:.6rem;font-weight:700}
.shortcut-help summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.shortcut-help dl{margin:0}
.shortcut-help dt{font-weight:700}
.shortcut-help dd{margin:0 0 .5rem;color:var(--muted)}
.shortcut-help p{margin-block:.6rem;color:var(--ink)}
.registration-result{margin-block-start:1rem;padding:.85rem;border:1px solid #afd7bf;border-radius:12px;background:#eaf7ef;color:#19573b}
.registration-result .detail-list{background:#fff}
.form-feedback{font-size:.92rem;color:var(--danger);line-height:1.5;min-height:0}
.form-feedback:empty{display:none}
.app{display:block;min-height:100dvh}
.sidebar{background:var(--nav);color:#e4ecf7;display:flex;flex-direction:column;padding:13px 13px 10px;gap:.8rem}
.nav-link{display:flex;justify-content:center;align-items:center;gap:.26rem;text-align:center;width:100%;min-height:48px;padding:.4rem .24rem;background:transparent;color:#e4ecf7;border:1px solid transparent;border-radius:10px;font-size:.81rem;font-weight:650}
.nav-link:hover{background:#243753}
.nav-link[aria-current="page"]{background:#2b3d55;border-color:#445673;color:#ffe1a7}
.nav-link:focus-visible{outline-color:#ffcf87}
.nav-count{min-width:1.14rem;text-align:center;border-radius:999px;background:#ffca76;color:#322000;padding:.08rem .25rem;font-size:.69rem;font-weight:800}
.session-state{display:inline-flex;gap:.44rem;align-items:center;font-size:.82rem;color:var(--green)}
.session-state>span{width:7px;height:7px;border-radius:50%;background:#2e916a}
.workspace{min-width:0}
.app-header{min-height:62px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:11px clamp(15px,3.5vw,44px)}
.header-label{color:var(--muted);font-size:.95rem;font-weight:650}
.account{display:flex;align-items:center;gap:.8rem}
.identity{display:grid;gap:.18rem;overflow-wrap:anywhere}
.identity strong{font-size:.95rem}
#main,.content-main{padding:clamp(14px,3.5vw,24px);max-width:900px;margin:auto}
.page-header{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.2rem}
.page-header p{margin-top:.35rem}
.owner-header{flex-wrap:wrap}
.reseller-code-panel{padding:.8rem;margin-block-end:1rem;background:var(--paper);border:1px solid var(--line);border-radius:14px}
.reseller-code-panel h2{margin-block-end:.4rem}
.reseller-code-actions{display:flex;align-items:center;gap:.5rem}
.reseller-code-actions input{max-width:14rem;text-align:center;background:#f7f9fc;font-weight:750;letter-spacing:.04em;user-select:text;-webkit-user-select:text}
.reseller-code-actions button{flex:none}
.reseller-code-feedback{margin-block-start:.35rem}
.reseller-code-feedback:empty{margin:0}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.38rem;margin-bottom:1.15rem}
.stat,.panel{background:white;border:1px solid var(--line);border-radius:14px}
.stat{padding:.64rem .52rem}
.stat-line{color:var(--muted);font-size:.75rem;line-height:1.35;font-weight:650}
.stat strong{display:block;margin-top:.5rem;font-size:1.35rem;line-height:1.2;font-variant-numeric:tabular-nums;text-align:start}
.panel{overflow:hidden;margin-bottom:1.15rem}
.panel-header{display:grid;gap:.62rem;padding:.8rem;border-bottom:1px solid var(--line)}
.panel-header p{margin-top:.12rem}
.search{display:flex;align-items:center;gap:.45rem;width:100%}
.table-wrap{width:100%;overflow:auto}
table{width:100%;border-collapse:collapse;text-align:start}
th,td{text-align:start;padding:.72rem 1.05rem;border-bottom:1px solid #e7ecf3;vertical-align:middle}
thead th{background:#f7f9fc;color:#425674;font-size:.86rem;font-weight:750;white-space:nowrap}
tbody th{font-weight:700}
tbody tr:last-child>*{border-bottom:0}
tbody tr:hover{background:#fcfdff}
td,tbody th{font-size:.92rem}
td[data-label="الإجراء"] .button{min-height:44px;padding:.42rem .7rem}
.reference{font:600 .83rem/1.4 ui-monospace,Consolas,monospace;overflow-wrap:anywhere}
.subline{display:block;margin-top:.22rem;color:var(--muted);font-size:.82rem}
.chip{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .54rem;line-height:1.3;font-weight:650;font-size:.81rem;background:#edf1f6;color:#41526a}
.chip.ok{background:#e5f4ed;color:#176349}
.chip.wait{background:#fff1d8;color:#744a00}
.chip.error{background:#faeae7;color:#8c2d28}
.empty{padding:1.65rem 1.1rem;color:var(--muted);line-height:1.6}
.feedback,.operation-panel{margin-bottom:1rem;padding:.85rem 1rem;border:1px solid #c9d6e7;border-radius:11px;background:#edf4ff;color:#24436b}
.feedback.success{background:#eaf7ef;color:#19573b;border-color:#afd7bf}
.feedback.error{background:#fff1ee;color:#842d28;border-color:#e5b7af}
.operation-panel{display:grid;gap:1rem;background:#fff5e3;border-color:#ebcf99;color:#604006}
.operation-panel p{font-size:.9rem;margin:.18rem 0;line-height:1.6}
dialog{width:min(calc(100% - 28px),520px);max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);padding:0;border:1px solid var(--line);border-radius:17px;color:var(--ink);box-shadow:0 16px 60px #16264055}
dialog::backdrop{background:#0c1b32a0}
.dialog-content{padding:1.25rem}
.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.8rem}
.icon-button{padding:0;width:40px;font-size:1.4rem}
.dialog-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:1rem}
.dialog-content p{line-height:1.55}
.dialog-content .form-feedback{margin-top:.58rem}
.field{display:grid;gap:.35rem;margin-block:.75rem}
.detail-list{margin:.6rem 0 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem .9rem;background:#f3f6fa;border-radius:10px;padding:.75rem}
.detail-list dt{color:var(--muted);font-size:.88rem}
.detail-list dd{margin:0;overflow-wrap:anywhere;font-weight:650}
.sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}
.responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.responsive-table,.responsive-table tbody,.responsive-table tr{display:block}
.responsive-table tr{border-bottom:1px solid var(--line);padding:.55rem .75rem}
.responsive-table tr:last-child{border-bottom:0}
.responsive-table td,.responsive-table tbody th{display:grid;grid-template-columns:minmax(80px,32%) minmax(0,1fr);gap:.45rem;border:0;padding:.31rem 0;overflow-wrap:anywhere}
.responsive-table td::before,.responsive-table tbody th::before{content:attr(data-label);color:var(--muted);font-weight:600;font-size:.81rem}
.responsive-table .actions{align-self:start}
@media(max-width:355px){.header-label{display:none}.account{width:100%;justify-content:space-between}.page-header{align-items:start}.sign-in{padding:12px}.nav-link{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}


.reseller-header .brand{color:var(--nav)}
#account .panel{padding:.8rem;margin-block:.65rem}
#account .panel .button{margin-block-start:.5rem}
#account nav{margin-block:1rem}
#rows h1{margin-block:.9rem}
#dialog-fields{display:grid;gap:.7rem;margin-block:1rem}
#dialog-fields input,#dialog-fields select{margin-block-start:.25rem}
#dialog-fields select[multiple]{min-height:8rem}
