:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,sans-serif;color:#15213a;background:#f5f7fb;accent-color:#375de6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.hidden{display:none!important}.layout{display:flex;min-height:100dvh}.sidebar{width:280px;background:#0c1731;color:#fff;display:flex;flex-direction:column;padding:26px 16px;min-height:100vh;flex-shrink:0}.brand{display:flex;gap:12px;align-items:center;margin:3px 10px 52px}.brand-icon,.logo{background:linear-gradient(135deg,#436bf3,#65beff);height:39px;width:39px;border-radius:12px;display:grid;place-items:center;font-size:27px;color:#fff}.brand b{font-size:18px}.brand small{display:block;font-size:11px;color:#a9b7d6;margin-top:5px}.menu-label{color:#8494bc;font-size:11px;letter-spacing:1px;font-weight:700;margin:0 12px 14px}.devices{display:grid;gap:5px}.device-btn{border:1px solid transparent;color:#c8d2e9;background:transparent;text-align:right;border-radius:10px;padding:13px 12px;width:100%;display:flex;gap:10px;align-items:center}.device-btn:hover,.device-btn.active{background:#203154;color:#fff;border-color:#324873}.device-btn strong,.device-btn small{display:block}.device-btn strong{font-size:13px}.device-btn small{font-size:11px;color:#91a5d3;margin-top:5px}.device-icon{font-size:22px;color:#85a5ff}.sidebar .ghost{background:#172a4a;border-color:#32456e;color:#dae4ff;margin-top:15px}.sidebar-bottom{margin-top:auto;padding:18px 10px 0;border-top:1px solid #293758}.server-state{font-size:12px;color:#dbe5f7}.server-state small{display:block;color:#8196be;font-size:11px;margin-top:7px}.dot{width:8px;height:8px;background:#26cb89;border-radius:50%;display:inline-block;margin-left:6px}.text-button{color:#9eaecf;border:0;background:transparent;padding:20px 0 0}.content{width:100%;min-width:0;padding:32px clamp(18px,4vw,56px) 80px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #e1e6f0;padding-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#6280aa}.topbar h1{font-size:29px;letter-spacing:-.7px;margin:10px 0 6px}.subtitle{color:#7987a0;font-size:13px}.top-actions{display:flex;gap:10px;flex-wrap:wrap}.primary,.ghost{border:1px solid transparent;padding:10px 15px;border-radius:9px;font-weight:700;font-size:12px;min-height:40px}.primary{background:#315ce5;color:white;box-shadow:0 4px 10px #315ce51a}.primary:hover{background:#244bd1}.ghost{background:#fff;color:#394968;border-color:#d8dfed}.ghost:hover{background:#f1f5fd}.wide{width:100%}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.stat{background:#fff;border:1px solid #e7ebf3;border-radius:13px;padding:19px;box-shadow:0 5px 18px #14234a08}.stat span{display:block;font-size:12px;color:#8793a5;margin-bottom:12px}.stat b{font-size:21px;letter-spacing:-.4px}.notice{display:none;background:#e9f1ff;color:#224692;border:1px solid #bbd1ff;padding:13px 16px;margin-top:18px;border-radius:10px;font-size:12px;white-space:pre-wrap}.notice.show{display:block}.notice.error{background:#ffedef;color:#a02c39;border-color:#ffc8d0}.warn{border:1px solid #f4d9a0;background:#fff9ea;border-radius:9px;padding:13px 17px;font-size:12px;color:#7b5823}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:34px 0 15px}.section-heading h2{margin:0 0 7px;font-size:18px}.section-heading p{margin:0;font-size:12px;color:#8792a9}.panel{background:white;border-radius:13px;border:1px solid #e1e7f0;overflow:hidden;box-shadow:0 3px 15px #12214406}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:850px}th{background:#fafbfe;color:#8291a9;font-size:11px;font-weight:700;padding:18px;text-align:right;border-bottom:1px solid #e8ecf3;white-space:nowrap}td{padding:12px 18px;border-bottom:1px solid #eff2f7;font-size:12px;vertical-align:middle}td:first-child{min-width:210px}.app-title{font-weight:750}.bundle{color:#9aa6b7;font-size:10px;margin-top:6px;direction:ltr;text-align:right}.switch{appearance:none;width:37px;height:21px;border-radius:30px;background:#c3cbd9;display:inline-block;position:relative;vertical-align:middle;cursor:pointer;transition:background .16s}.switch:checked{background:#36bc8c}.switch:before{content:"";height:15px;width:15px;border-radius:50%;position:absolute;top:3px;left:3px;background:white;box-shadow:0 1px 4px #0002;transition:transform .16s}.switch:checked:before{transform:translateX(16px)}.timeinput{width:105px;padding:7px;border:1px solid #e1e7f1;border-radius:7px;color:#53627e;background:#fafbfe;display:block;margin:3px 0}td .ghost{padding:7px 9px;min-height:30px}.panel-foot{padding:16px 20px;background:#fbfcfe;color:#8a97a9;font-size:11px;line-height:1.9}.site-add{display:flex;gap:10px;padding:19px 20px;border-bottom:1px solid #edf0f7}.site-add input{flex:1;min-width:0}.sites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:6px 20px}.site{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #f1f3f8;padding:11px 0;font-size:13px}.site b{font-weight:600;direction:ltr}.site-actions{display:flex;gap:8px;align-items:center}.site .remove{border:0;background:transparent;color:#d06f7d;font-size:20px}.pill{background:#eaf4ef;color:#12804d;border-radius:6px;padding:8px 11px;font-size:10px;font-weight:850;white-space:nowrap}input:not(.switch),select{padding:10px 12px;border:1px solid #dfe5ef;border-radius:8px;background:white;color:#243553;outline:0}input:focus,select:focus{border-color:#4774ff;box-shadow:0 0 0 3px #4774ff1c}#searchApps{width:210px}.json{padding:25px;margin:0;overflow:auto;direction:ltr;text-align:left;background:#17213a;color:#c8e0ff;font-size:12px;line-height:1.5}.empty{text-align:center;margin:75px auto;color:#8091ae}.empty h2{color:#263b5c}.empty-symbol{font-size:62px;color:#7299eb}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:20px;background:linear-gradient(130deg,#101c35,#182c5a)}.login-card{width:min(100%,420px);background:white;border-radius:18px;padding:38px;box-shadow:0 40px 100px #030b2280}.login-card .logo{margin-bottom:20px}.login-card h1{margin:9px 0}.login-card p{font-size:13px;color:#8792aa;margin:0 0 28px}.login-card label,dialog label{display:block;font-size:12px;font-weight:700;margin-bottom:9px}.login-card input{width:100%;margin-bottom:20px}.login-card .error{color:#a02c39;font-size:12px;margin-top:14px}.login-card .eyebrow{color:#5179bc}dialog{border:0;border-radius:14px;max-width:410px;width:calc(100% - 34px);padding:30px;box-shadow:0 25px 90px #00142a66}dialog::backdrop{background:#111a33a0}dialog h2{margin:0 0 10px}dialog p{color:#8390a8;font-size:12px}dialog input,dialog select{width:100%;margin-bottom:18px}.dialog-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:7px}@media(max-width:950px){.sidebar{width:218px}.content{padding:23px}.topbar{align-items:flex-start}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions{justify-content:flex-end}.sites{grid-template-columns:1fr}}@media(max-width:650px){.layout{display:block}.sidebar{min-height:auto;width:100%;padding:15px}.brand{margin:0 0 18px}.devices{display:flex;overflow:auto;gap:7px}.device-btn{flex-shrink:0;width:auto;min-width:120px}.sidebar-bottom{margin:16px 0 0;display:flex;justify-content:space-between;align-items:center}.sidebar .ghost{margin-top:10px}.content{padding:23px 15px}.topbar{display:block}.topbar h1{font-size:24px}.top-actions{justify-content:stretch;margin-top:22px}.top-actions button{flex:1}.stats{gap:9px}.stat{padding:13px}.stat b{font-size:16px}.section-heading{align-items:flex-start}.section-heading p{line-height:1.6}.section-heading h2{font-size:17px}#searchApps{width:126px}.site-add{padding:15px}.site b{font-size:12px}}

/* Per-device installation control - visible without scrolling through installed apps. */
.install-panel{margin-top:24px;padding:22px;border-radius:16px;background:linear-gradient(125deg,#142b52,#1d3c70);color:#fff;display:flex;gap:18px;justify-content:space-between;align-items:center}
.install-copy{flex:1;min-width:0}.install-tag{font-size:10px;font-weight:800;letter-spacing:1.1px;color:#a9c8fe}.install-copy h2{margin:11px 0 8px;font-size:20px}.install-copy p{font-size:12px;color:#c2d4f4;line-height:1.9;margin:0 0 12px}.install-copy small{font-size:11px;color:#bbcae3}.install-status{display:inline-block;padding:7px 11px;border-radius:7px;font-size:12px;font-weight:750;margin:2px 0 8px}.install-status.blocked{background:#ffe8e8;color:#923039}.install-status.allowed{background:#d4f8e4;color:#096341}.install-actions{display:flex;flex-wrap:wrap;gap:9px;max-width:300px;justify-content:flex-start}.install-actions button{min-width:125px}.danger-button{background:#fff1f1;color:#962f3a;border:1px solid #f9c7c7;border-radius:9px;padding:10px 15px;font-weight:750;font-size:12px;min-height:40px}.danger-button:hover{background:#ffdddd}.app-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.app-heading-actions button{font-size:11px;padding:8px 10px}.app-heading-actions input{flex:1}
@media(max-width:950px){.install-panel{align-items:flex-start;flex-direction:column}.install-actions{max-width:none}}
@media(max-width:650px){.app-heading-actions{justify-content:flex-start}.app-heading-actions input{width:100%!important;flex-basis:100%}.install-panel{padding:18px}.install-copy h2{font-size:18px}}

/* Bilingual UI: RTL Arabic and LTR English, with consistent controls. */
.language-buttons,.login-language{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.lang-switch{border:1px solid #526587;background:transparent;color:#dce8ff;border-radius:8px;padding:6px 10px;font-size:12px;min-height:32px}
.lang-switch.selected{background:#d9e7ff;color:#102a57;border-color:#d9e7ff;font-weight:750}
.login-language{position:absolute;top:24px;inset-inline-end:24px}
.login-language .lang-switch{border-color:#8b9ab9}
.sidebar-language{margin-top:20px;color:#9eaecf;font-size:12px}
.sidebar-language .language-buttons{margin-top:8px}
html[dir="ltr"] .device-btn,html[dir="ltr"] th{text-align:left}
html[dir="ltr"] .bundle{text-align:left}
html[dir="ltr"] .device-btn{flex-direction:row}
html[dir="ltr"] .dot{margin-left:0;margin-right:6px}
html[dir="ltr"] .brand{direction:ltr}
html[dir="ltr"] .switch:checked:before{transform:translateX(16px)}
@media(max-width:650px){.sidebar-bottom{align-items:flex-start;gap:12px;flex-wrap:wrap}.sidebar-language{margin-top:0}.login-language{top:14px;inset-inline-end:14px}}

/* v4: owner-only administrator management, usable in Arabic and English */
.admin-user{font-size:12px;color:#c7dcff;overflow-wrap:anywhere;margin-top:14px}
.admin-section{margin-top:24px;padding:4px 0 18px}
.admin-panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px 0}
.admin-panel-header h2{margin:0;font-size:19px}
.admin-hint{padding:0 22px;font-size:12px;color:#7988a5;line-height:1.8}
.admins-table{min-width:570px}
.admins-table td:first-child{min-width:130px;direction:ltr;text-align:start}
.admins-table .ghost{margin:2px 4px;min-height:34px}
#generateAdminPassword{margin-top:-5px;margin-bottom:16px}
#myPassword{padding-top:10px;display:block}
#adminManager{margin-top:9px}
