@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&display=swap');
:root{--bg:#090e19;--panel:#111827;--panel-2:#151f31;--line:#243148;--text:#f2f5fb;--muted:#91a0b8;--accent:#83a4ff;--accent2:#9d8bff;--green:#37d9a0;--red:#ff6e87;--amber:#f7bf62;--radius:18px;font-family:'Vazirmatn',Tahoma,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% -15%,#1a2850 0,transparent 38%),var(--bg);color:var(--text);font-family:inherit;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted)}.tiny{font-size:11px;line-height:1.9}.eyebrow{font-size:10px;letter-spacing:2px;color:#89a3ff;font-weight:800;margin:0 0 7px}.brand-mark{font-size:30px;font-weight:800;letter-spacing:-2px}.brand-mark span{font-size:15px;letter-spacing:1px;color:var(--accent);margin-right:5px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%);background:linear-gradient(155deg,#172238,#0f1727);border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:0 32px 100px #0007}.login-card h1{font-size:23px;margin:6px 0}.login-card form{display:grid;gap:9px;margin:24px 0 16px}.login-card label,.field-label{font-size:12px;color:#c2cde0}.login-card input,.form-control{width:100%;background:#0b1220;border:1px solid #2b3850;border-radius:12px;padding:13px 14px;color:var(--text);outline:none}.login-card input:focus,.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px #83a4ff1a}.btn{border:1px solid transparent;border-radius:12px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:650;font-size:12px;transition:.18s}.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn-primary{background:linear-gradient(120deg,#91adff,#9a8bff);color:#0a1020;box-shadow:0 8px 26px #819bff2b}.btn-secondary{background:#1d2b46;border-color:#30415f;color:#dce6fa}.btn-ghost{background:transparent;border-color:#2a3850;color:#bfcae0}.btn-danger{background:#3b1e30;border-color:#653044;color:#ffadba}.btn-good{background:#12372e;border-color:#215849;color:#70e6b9}.full{width:100%;margin-top:8px}.inline-error{padding:10px;border:1px solid #6b2f42;background:#331a27;border-radius:10px;color:#ffb4c1;font-size:12px}.app-shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:25px 16px 17px;border-left:1px solid var(--line);background:#0b1220d9;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 27px}.brand-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(140deg,#779bff,#9c8dff);color:#0a1225;font-size:23px;font-weight:900;box-shadow:0 8px 30px #86a1ff2a}.brand strong{display:block;font-size:16px;letter-spacing:.2px}.brand small{display:block;color:#6f83a4;font-size:8px;letter-spacing:1.5px}.side-caption{padding:0 13px 10px;color:#667793;font-size:10px;font-weight:700}#mainNav{display:grid;gap:5px}.nav-item{border:1px solid transparent;background:transparent;color:#9ba9c0;padding:12px 13px;text-align:right;border-radius:11px;font-size:12px;display:flex;align-items:center;gap:12px}.nav-item:hover{background:#121d30;color:#e7edfa}.nav-item.active{background:linear-gradient(90deg,#273a62,#172740);border-color:#314a79;color:#fff;box-shadow:inset -2px 0 #8ca8ff}.nav-icon{font-size:18px;width:21px;text-align:center;color:#93aaff}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:16px 4px 0}.sidebar-bottom strong,.sidebar-bottom small{display:block;font-size:10px}.sidebar-bottom small{color:var(--muted);margin-top:3px}.status-dot,.green-dot{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 12px #37d9a079}.icon-btn{margin-right:auto;background:transparent;border:1px solid var(--line);color:#9ba9c0;border-radius:9px;width:30px;height:30px}.main-area{padding:29px clamp(18px,3.3vw,50px) 18px;min-width:0;max-width:1720px;width:100%;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.topbar h1{margin:0;font-size:25px;font-weight:700;letter-spacing:-.4px}.topbar-actions{display:flex;align-items:center;gap:10px}.top-chip{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:11px;border:1px solid var(--line);background:#111a2a;color:#aab8ce;font-size:10px}.green-dot{width:6px;height:6px}.page-content{min-height:420px}.footer{border-top:1px solid #1a263b;margin-top:35px;padding:17px 2px 5px;display:flex;justify-content:space-between;color:#61718b;font-size:10px}.loading-card,.empty-state{border:1px dashed #2c3a53;border-radius:15px;padding:38px;text-align:center;color:var(--muted);font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.stat-card,.panel{border:1px solid var(--line);background:linear-gradient(150deg,#141e30ee,#0f1726ee);border-radius:var(--radius);box-shadow:0 13px 35px #00000012}.stat-card{padding:17px 18px;position:relative;overflow:hidden}.stat-card:after{content:'';position:absolute;left:-25px;top:-35px;width:95px;height:95px;border-radius:50%;background:#7f9fff0b}.stat-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.stat-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #2a3b5b;background:#17243a;border-radius:11px;color:#a6baff;font-size:17px}.stat-number{font-size:28px;font-weight:750;letter-spacing:-1px;margin-top:15px}.stat-note{font-size:10px;color:#697c9b;margin-top:4px}.section-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:15px}.panel{padding:20px;min-width:0;margin-bottom:16px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.panel-header h2{margin:0;font-size:14px;font-weight:700}.panel-header p{margin:4px 0 0;color:var(--muted);font-size:10px}.subheading{font-size:12px;font-weight:700;margin:22px 0 10px}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-action{background:#151f32;border:1px solid #263751;border-radius:13px;color:#dce5f5;padding:15px;text-align:right;display:flex;align-items:center;gap:12px}.quick-action:hover{border-color:#627bb1;background:#1b2b45}.quick-symbol{height:35px;width:35px;border-radius:10px;background:#28385a;color:#aabfff;display:grid;place-items:center;font-size:19px;flex-shrink:0}.quick-action strong{display:block;font-size:11px}.quick-action small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.table-wrap{width:100%;overflow:auto;border:1px solid #243148;border-radius:13px}table{border-collapse:collapse;width:100%;min-width:680px;font-size:11px}thead{background:#172237;color:#8fa0bd}th{font-weight:600;text-align:right;white-space:nowrap;padding:13px 14px}td{padding:12px 14px;border-top:1px solid #1f2b40;color:#d4deee;vertical-align:middle}tbody tr:hover{background:#ffffff04}.table-primary{font-weight:650;color:#ecf2ff}.table-secondary{color:#7f90aa;font-size:9px;margin-top:4px;direction:ltr;text-align:right}.badge{display:inline-flex;align-items:center;gap:5px;font-size:9px;padding:5px 8px;border-radius:7px;background:#1e2b41;border:1px solid #30415a;color:#c0cbe0;white-space:nowrap}.badge.success{background:#12352c;border-color:#235a47;color:#6de3b8}.badge.danger{background:#381e2c;border-color:#673045;color:#ffaaba}.badge.warning{background:#352d1d;border-color:#62502a;color:#ffd48b}.badge.info{background:#1e2d4a;border-color:#354f7b;color:#a8c3ff}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.btn-xs{font-size:9px;padding:6px 8px;border-radius:8px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.toolbar-title{font-size:12px;color:#afbdd3}.search-box{width:min(300px,100%);background:#101a2b;border:1px solid #2a3952;border-radius:11px;padding:10px 12px;color:var(--text);font-size:11px;outline:none}.search-box:focus{border-color:#819eff}.filter-select{background:#111b2c;border:1px solid #2b3a53;color:#d8e1f0;border-radius:10px;padding:9px 10px;font-size:11px}.empty-inline{padding:24px;text-align:center;color:#8494af;font-size:11px}.toast{position:fixed;top:17px;left:22px;z-index:20;padding:12px 16px;border-radius:12px;border:1px solid #295947;background:#102c26;color:#8ff0c5;box-shadow:0 8px 30px #0005;font-size:12px;max-width:min(420px,90vw)}.toast.error{border-color:#663147;background:#351d2b;color:#ffb3c1}.modal-backdrop{position:fixed;inset:0;z-index:30;background:#020610c9;display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px)}.modal{width:min(540px,100%);max-height:90vh;overflow:auto;background:#121c2d;border:1px solid #2e3d57;border-radius:20px;padding:23px;box-shadow:0 30px 100px #0009}.modal h2{margin:0;font-size:17px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-close{background:transparent;color:#90a0b9;border:0;font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-field{display:grid;gap:7px}.form-field.full-width{grid-column:1/-1}.form-field label{font-size:11px;color:#9eacc4}.form-field input,.form-field textarea,.form-field select{width:100%;background:#0b1321;border:1px solid #2b3951;color:#f2f5fb;border-radius:10px;padding:11px;outline:none;font-size:12px}.form-field textarea{min-height:100px;resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:#819eff}.form-actions{display:flex;justify-content:flex-start;gap:8px;margin-top:20px}.mini-kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mini-kv-item{padding:13px;background:#121d30;border:1px solid #263650;border-radius:12px}.mini-kv-item span{display:block;color:var(--muted);font-size:9px}.mini-kv-item strong{display:block;margin-top:7px;font-size:17px}.alert{padding:12px 14px;border:1px solid #514328;background:#302718;color:#f5d18b;border-radius:12px;font-size:11px;line-height:1.8}.muted-code{font-family:ui-monospace,monospace;direction:ltr;unicode-bidi:plaintext;font-size:10px;color:#a4b7d5;word-break:break-all}
/* Mini App */
.mini-body{background:radial-gradient(ellipse at 90% -10%,#263d6c 0,transparent 42%),#09101e;min-height:100vh}.mini-shell{max-width:720px;margin:0 auto;padding:22px 16px 38px}.mini-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px}.mini-logo{display:flex;align-items:center;gap:10px}.mini-logo .brand-icon{width:42px;height:42px}.mini-logo strong{display:block;font-size:15px}.mini-logo small{color:#8293b1;font-size:9px}.mini-profile{font-size:10px;color:#a7b7cf;border:1px solid #293852;border-radius:100px;padding:8px 10px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-hero{border:1px solid #31486e;border-radius:23px;padding:22px;background:linear-gradient(125deg,#192d4e,#121d32 65%,#231e49);position:relative;overflow:hidden;margin-bottom:15px}.mini-hero:after{content:'';position:absolute;width:180px;height:180px;left:-60px;top:-82px;border:1px solid #a2baff17;border-radius:50%;box-shadow:0 0 0 22px #a2baff08,0 0 0 44px #a2baff04}.mini-hero h1{margin:5px 0 8px;font-size:23px}.mini-hero p{margin:0;color:#a4b4cf;font-size:11px;line-height:1.9}.mini-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.mini-balance{font-size:10px;background:#162844;border:1px solid #3a5278;padding:6px 8px;border-radius:8px;color:#b4c8ff}.mini-section{margin-top:20px}.mini-section-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px}.mini-section-head h2{font-size:14px;margin:0}.mini-section-head span{font-size:10px;color:#8697b2}.mini-card{border:1px solid #26364f;background:linear-gradient(150deg,#131e30,#0f1726);border-radius:17px;padding:16px;margin-bottom:10px}.mini-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.mini-row strong{font-size:12px}.mini-label{font-size:10px;color:#8798b4}.mini-value{font-size:12px;color:#e9f0fc;font-weight:600}.mini-dns-box{margin-top:12px;background:#0a1220;border:1px solid #24344e;border-radius:11px;padding:11px;display:flex;align-items:center;justify-content:space-between;gap:8px}.mini-dns-box code{font-size:11px;color:#c1d2f8;direction:ltr}.mini-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}.mini-stat{padding:12px;background:#0f1929;border:1px solid #253650;border-radius:12px}.mini-stat small{display:block;color:#8394af;font-size:9px}.mini-stat strong{display:block;font-size:15px;margin-top:5px}.mini-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-plan{position:relative}.mini-plan h3{font-size:13px;margin:0}.mini-plan .price{font-size:23px;font-weight:800;margin:12px 0 2px}.mini-plan .price small{font-size:10px;color:#91a0b8;font-weight:500}.mini-plan ul{padding-right:17px;color:#a1b0c9;font-size:10px;line-height:2.2;margin:10px 0 15px}.mini-plan .btn{width:100%}.mini-plan.recommended{border-color:#718cf1;box-shadow:inset 0 1px #a2b4ff21}.mini-note{background:#151f30;border:1px solid #293951;border-radius:12px;padding:12px;color:#95a6c0;font-size:10px;line-height:2;margin-top:10px}.mini-form{display:grid;gap:10px}.mini-form input,.mini-form textarea{width:100%;background:#0a1220;border:1px solid #293951;border-radius:10px;padding:11px;color:#eef2fb;outline:none;font-size:11px}.mini-form textarea{min-height:95px}.mini-footer{text-align:center;color:#657895;font-size:9px;margin-top:26px}.mini-error{border:1px solid #6e3046;background:#351b2a;color:#ffb3c1;border-radius:12px;padding:13px;font-size:11px;line-height:1.8}.mini-loading{padding:40px 15px;text-align:center;color:#9daec9}.mini-toast{position:sticky;top:5px;z-index:10;margin-bottom:10px;padding:10px 13px;border-radius:10px;background:#12342c;border:1px solid #26604b;color:#8af0c1;font-size:11px}
@media(max-width:1050px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid{grid-template-columns:1fr}.main-area{padding:24px 22px 16px}}@media(max-width:720px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:14px;border-left:0;border-bottom:1px solid var(--line)}.brand{padding:0 4px 12px}.sidebar .side-caption,.sidebar-bottom{display:none}#mainNav{display:flex;gap:6px;overflow-x:auto;padding-bottom:3px}.nav-item{flex-shrink:0;padding:9px 11px;font-size:10px}.nav-icon{display:none}.main-area{padding:20px 13px}.topbar{align-items:flex-start;margin-bottom:20px}.topbar h1{font-size:21px}.top-chip{display:none}.topbar-actions .btn span{display:none}.panel{padding:14px}.stat-card{padding:14px}.stat-number{font-size:23px}.stat-top{font-size:10px}.quick-grid{grid-template-columns:1fr 1fr}.footer{font-size:9px}.form-grid{grid-template-columns:1fr}.form-field.full-width{grid-column:auto}.mini-shell{padding:14px 12px 30px}.mini-hero{padding:18px}.mini-hero h1{font-size:20px}.mini-plans{grid-template-columns:1fr}.mini-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-stat{padding:9px}.mini-stat strong{font-size:12px}.mini-profile{max-width:130px}}

/* 0.4.4 UX polish: the menu itself scrolls; page scrolling remains independent. */
.app-shell{min-height:100dvh;align-items:start}
.sidebar{height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;position:sticky;top:0;overscroll-behavior:contain}
#mainNav{display:flex;flex-direction:column;gap:5px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 2px 12px 4px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#34496e transparent;scrollbar-gutter:stable}
#mainNav::-webkit-scrollbar{width:6px}#mainNav::-webkit-scrollbar-track{background:transparent}#mainNav::-webkit-scrollbar-thumb{background:#34496e;border-radius:10px}
.nav-item{flex:0 0 auto;min-height:42px;transition:background .18s,border-color .18s,transform .18s,color .18s}
.nav-item:hover{transform:translateX(-2px)}
.page-content{animation:gamedns-fade-up .24s ease-out both}
.stat-card,.panel,.mini-card,.quick-action{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.stat-card:hover,.mini-card:hover{transform:translateY(-2px);border-color:#34496d;box-shadow:0 16px 42px #0002}
.btn{transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.btn:active{transform:scale(.985)}
.modal{animation:gamedns-modal-in .18s ease-out both}
@keyframes gamedns-fade-up{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes gamedns-modal-in{from{opacity:0;transform:translateY(7px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:720px){.sidebar{position:relative;top:auto;width:100%;height:auto;max-height:none;min-height:auto;overflow:visible;padding:14px;border-left:0;border-bottom:1px solid var(--line)}#mainNav{display:flex;flex-direction:row;flex:0 0 auto;min-height:auto;overflow-y:hidden;overflow-x:auto;scrollbar-width:thin;padding:0 0 7px;scrollbar-gutter:auto}.nav-item{flex:0 0 auto;min-height:36px}.nav-item:hover{transform:translateY(-1px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

/* 0.4.4: keep Persian validation details readable, including multi-line field errors. */
.toast,.empty-state,.mini-toast,.inline-error{white-space:pre-line}
.ssh-output{direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;max-height:55vh;overflow:auto;background:#070d17;border:1px solid #26364f;border-radius:12px;padding:12px;font:11px/1.8 ui-monospace,monospace;color:#c7d6f2}

/* Better mobile shell scroll and visual feedback for request validation and SSH console output. */
.toast,.empty-state,.mini-toast,.inline-error{white-space:pre-line}
.ssh-output{direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;max-height:55vh;overflow:auto;background:#070d17;border:1px solid #26364f;border-radius:12px;padding:12px;font:11px/1.8 ui-monospace,monospace;color:#c7d6f2}
.mini-partial-warning{border-color:#685329;background:#292315;color:#f1d59c}
