:root{
  --bg:#f4f7fb;--card:#fff;--text:#101828;--muted:#667085;--line:#e6edf6;
  --blue:#3158ff;--purple:#7c2cff;--green:#18a957;--orange:#f59e0b;--red:#ef233c;
  --shadow:0 18px 50px rgba(16,24,40,.08);--shadow2:0 10px 24px rgba(49,88,255,.18);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Vazirmatn,Tahoma,Arial,sans-serif;background:radial-gradient(circle at 16% 8%,#eaf0ff 0 260px,transparent 261px),linear-gradient(180deg,#f7faff 0,#eef3fb 100%);color:var(--text);font-size:14px}a{text-decoration:none;color:inherit}.ltr{direction:ltr;text-align:left}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.7}

/* Layout */
.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border-left:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;gap:20px;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:8px}.brand b{font-size:17px}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.logo,.login-logo{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--blue),var(--purple));display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 14px 30px rgba(124,44,255,.32);position:relative;overflow:hidden}.logo:before,.login-logo:before{content:"";width:25px;height:20px;border-radius:6px;border:2px solid #fff;box-shadow:0 -9px 0 -2px #fff,0 9px 0 -2px #fff}.sidebar nav{display:grid;gap:8px}.sidebar a{padding:13px 15px;border-radius:14px;color:#344054;display:flex;align-items:center;justify-content:space-between;font-weight:700;transition:.18s}.sidebar a:hover,.sidebar a.active{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;box-shadow:var(--shadow2)}.side-card{margin-top:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;box-shadow:var(--shadow)}.side-card .mini-logo{margin:auto auto 10px;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--purple));display:grid;place-items:center;color:#fff;font-weight:900}.side-card small{color:var(--muted);display:block;margin-top:7px}.main{padding:24px 28px 40px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.topbar h1{margin:0 0 9px;font-size:30px;letter-spacing:-.4px}.topbar p{margin:0;color:var(--muted)}

/* Buttons, forms */
.btn{border:0;background:#fff;color:#263550;padding:11px 16px;border-radius:12px;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;border:1px solid #dbe4f0;transition:.18s;white-space:nowrap}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(16,24,40,.08)}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;border-color:transparent;box-shadow:var(--shadow2)}.btn.danger,.danger.btn{background:#fff1f3;color:#d91f35;border-color:#ffd6dc}.btn.small{padding:8px 10px;border-radius:10px;font-size:12px}.full{width:100%;margin-top:14px}input,select,textarea{width:100%;border:1px solid #dbe4f0;background:#fff;padding:12px 13px;border-radius:13px;font-family:inherit;outline:none;color:#1d2939;transition:.18s}input:focus,select:focus,textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 4px rgba(124,44,255,.12)}textarea{min-height:95px;resize:vertical}label{font-size:13px;color:#475467;margin:0 0 7px;display:block;font-weight:800}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}.card{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:19px 20px;min-height:108px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between}.card:after{content:"";position:absolute;left:-18px;bottom:-28px;width:92px;height:92px;border-radius:999px;background:#e1e7ff}.card .meta{position:relative;z-index:1}.card span{color:#475467;font-size:13px;font-weight:700}.card b{display:block;font-size:28px;line-height:1;margin:10px 0 6px;color:#111827}.card small{color:#667085;font-weight:700}.card-icon{width:58px;height:58px;border-radius:999px;display:grid;place-items:center;font-size:24px;position:relative;z-index:1}.card.success .card-icon{background:#dcfce7;color:#16a34a}.card.primary .card-icon{background:#dbeafe;color:#3158ff}.card.warning .card-icon{background:#fff1d6;color:#d97706}.card.danger .card-icon{background:#ffe4e8;color:#ef233c}.card.purple .card-icon{background:#ede9fe;color:#7c2cff}.card.success b{color:var(--green)}.card.primary b{color:var(--blue)}.card.warning b{color:var(--orange)}.card.danger b{color:var(--red)}
.panel{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:14px}.alert{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;margin-bottom:16px;font-weight:900}.alert.danger{background:#fff2f2;color:#d71920;border:1px solid #ffbdc2}.alert .dot{width:28px;height:28px;border-radius:999px;background:#ef233c;color:#fff;display:grid;place-items:center;flex:0 0 auto}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:12px;margin-bottom:14px;align-items:center}.table-panel{padding:10px;overflow:hidden}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:separate;border-spacing:0;min-width:1120px}th,td{text-align:right;padding:15px;border-bottom:1px solid #edf2f7;vertical-align:middle}th{background:#f8fafc;color:#475467;font-size:12px;font-weight:900;position:sticky;top:0}td small{display:block;color:#667085;margin-top:5px}.server-name{display:flex;align-items:center;gap:9px;font-weight:900}.purple-dot{width:8px;height:8px;border-radius:999px;background:var(--purple);display:inline-block}.badge{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.badge.success{background:#dcfce7;color:#15803d}.badge.primary{background:#dbeafe;color:#1d4ed8}.badge.warning{background:#fef3c7;color:#a16207}.badge.danger{background:#fee2e2;color:#b91c1c}.badge.purple{background:#ede9fe;color:#6d28d9}.badge.muted{background:#f1f5f9;color:#475569}.row-actions{display:flex;gap:6px;align-items:center}.row-actions form{margin:0}.empty{text-align:center;color:#667085;padding:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.span-2{grid-column:span 2}.actions{display:flex;gap:10px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.activity{margin-top:18px}.activity h2{margin:0 0 12px}.activity-item{display:grid;grid-template-columns:130px 1fr 160px;gap:10px;padding:12px 0;border-top:1px solid #eef2f7}.activity-item small{color:#64748b;direction:ltr}.toast{position:fixed;left:24px;top:24px;z-index:30;padding:13px 18px;border-radius:16px;box-shadow:0 14px 35px #0f172a20;font-weight:800}.toast-success{background:#dcfce7;color:#15803d}.toast-error{background:#fee2e2;color:#b91c1c}

/* Login */
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 18% 18%,#dbeafe 0 260px,transparent 261px),radial-gradient(circle at 88% 85%,#ede9fe 0 300px,transparent 301px),#f8fbff;padding:22px}.login-shell{width:min(1180px,100%);min-height:560px;display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 30px 90px rgba(16,24,40,.12);overflow:hidden}.login-art{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.18),transparent 18%),linear-gradient(135deg,#9237ff 0,#3158ff 58%,#0b4ac7 100%);color:#fff;display:grid;place-items:center;padding:40px;position:relative;overflow:hidden}.login-art:before,.login-art:after{content:"";position:absolute;border-radius:999px;background:rgba(255,255,255,.12)}.login-art:before{width:90px;height:18px;right:14%;top:22%}.login-art:after{width:150px;height:24px;left:14%;bottom:25%}.server-illustration{position:relative;width:310px;height:250px}.rack{position:absolute;right:40px;top:25px;width:210px;height:54px;border-radius:16px;background:linear-gradient(180deg,#e9edff,#aebdff);box-shadow:0 20px 35px rgba(0,0,0,.16)}.rack.r2{top:88px;right:24px}.rack.r3{top:151px;right:52px}.rack:before{content:"";position:absolute;right:28px;top:22px;width:54px;height:8px;border-radius:999px;background:#8393e8;box-shadow:22px 0 0 #8393e8,44px 0 0 #8393e8}.rack:after{content:"";position:absolute;left:26px;top:22px;width:9px;height:9px;border-radius:999px;background:#25d366;box-shadow:22px 0 0 #f59e0b}.shield{position:absolute;left:25px;bottom:5px;width:126px;height:126px;border-radius:36px 36px 50px 50px;background:linear-gradient(180deg,#dff7ff,#4ddbd3);border:8px solid rgba(255,255,255,.7);box-shadow:0 15px 35px rgba(0,0,0,.2);display:grid;place-items:center;font-size:40px}.login-art h2{font-size:30px;margin:18px 0 8px}.login-art p{font-size:17px;margin:0;color:#eef2ff}.login-form-wrap{display:grid;place-items:center;padding:42px}.login-card{width:min(450px,100%);padding:10px;text-align:center}.login-card .login-logo{margin:0 auto 18px}.login-card h1{font-size:24px;margin:0 0 10px}.login-card p{color:var(--muted);margin:0 0 24px}.input-icon{position:relative;margin-bottom:14px;text-align:right}.input-icon input{padding-left:46px}.input-icon .ico{position:absolute;left:12px;top:36px;width:30px;height:30px;border-radius:10px;background:#f3f6fb;display:grid;place-items:center;color:#475467}.copyright{margin-top:22px;color:#667085;font-size:12px}.hint{display:none!important}

@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-left:0;border-bottom:1px solid var(--line);border-radius:0 0 22px 22px}.sidebar nav{grid-template-columns:repeat(2,1fr)}.side-card{display:none}.cards{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr}.main{padding:18px}.login-shell{grid-template-columns:1fr}.login-art{display:none}.form-grid,.grid-2{grid-template-columns:1fr}.span-2{grid-column:auto}.topbar{align-items:flex-start;flex-direction:column}.activity-item{grid-template-columns:1fr}.toast{left:14px;right:14px;top:14px}}@media(max-width:560px){.cards{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr}.topbar h1{font-size:24px}}
