@font-face{font-family:system-fa;src:local("Vazirmatn"),local("Tahoma")}
:root{
  --bg:#061421;--surface:#0b2030;--surface-2:#102a3c;--line:#1c3b4e;
  --text:#f4f8fa;--muted:#93aabc;--yellow:#f6c945;--yellow-2:#dca919;
  --teal:#3ed6c7;--red:#ff6b72;--green:#63db8c;--shadow:0 18px 50px #020a1080;
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark}
body{margin:0;background:
  radial-gradient(circle at 90% -10%,#17445d55,transparent 34rem),
  radial-gradient(circle at -10% 110%,#9b7b1520,transparent 28rem),var(--bg);
  color:var(--text);font-family:system-fa,Tahoma,Arial,sans-serif;min-height:100vh}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.eyebrow{color:var(--yellow);font-size:.72rem;font-weight:900;letter-spacing:.09em;margin:0 0 .35rem}
h1,h2,p{margin-top:0}
h1{font-size:1.7rem;margin-bottom:.25rem}
h2{font-size:1.03rem;margin-bottom:.3rem}
p{color:var(--muted);line-height:1.9}
small,.hint{color:var(--muted);font-size:.78rem;line-height:1.8}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}
.login-card{width:min(430px,100%);padding:2.4rem;border:1px solid var(--line);border-radius:28px;
  background:linear-gradient(145deg,#102a3ce8,#091b29f5);box-shadow:var(--shadow);text-align:center}
.brand-mark{width:68px;height:68px;margin:0 auto 1rem;border-radius:22px;display:grid;place-items:center;
  color:#17200b;background:linear-gradient(145deg,#ffe889,var(--yellow));font-size:2rem;font-weight:1000;
  box-shadow:0 12px 30px #e6ba3038}
.brand-mark.small{width:43px;height:43px;margin:0;border-radius:14px;font-size:1.25rem}
label{display:flex;flex-direction:column;gap:.45rem;text-align:right;color:#d7e3e9;font-size:.82rem;font-weight:750;margin-bottom:1rem}
input,textarea,select{width:100%;border:1px solid var(--line);border-radius:12px;background:#061724;color:var(--text);
  padding:.78rem .9rem;outline:none;transition:.2s;border-color .2s,box-shadow .2s}
input:focus,textarea:focus,select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px #f6c94518}
textarea{resize:vertical}
.button{border:0;border-radius:12px;padding:.72rem 1rem;font-weight:900;color:var(--text);background:var(--surface-2)}
.button:disabled{opacity:.45;cursor:not-allowed}
.button.primary{background:linear-gradient(145deg,var(--yellow),var(--yellow-2));color:#1f220e}
.button.secondary{background:#123f4b;color:var(--teal);border:1px solid #237267}
.button.ghost{background:transparent;border:1px solid var(--line);color:#c9d7df}
.button.danger{background:#541e28;color:#ffb4b8;border:1px solid #83333c}
.button.wide{width:100%}
.text-button,.icon-button{background:none;border:0;color:var(--muted)}
.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:1.25rem;background:#071925eb;border-left:1px solid var(--line);
  backdrop-filter:blur(18px);display:flex;flex-direction:column;z-index:20}
.sidebar-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}
.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand span{color:var(--muted);font-size:.72rem;margin-top:.2rem}
nav{display:flex;flex-direction:column;gap:.35rem}
nav button{border:0;border-radius:12px;background:transparent;color:#aabcc7;padding:.8rem .85rem;text-align:right;
  display:flex;align-items:center;gap:.8rem;font-weight:800}
nav button span{width:1.2rem;color:#668496;text-align:center}
nav button:hover{background:#102a3c;color:#fff}
nav button.active{background:linear-gradient(90deg,#f6c94517,#f6c94508);color:var(--yellow);box-shadow:inset -3px 0 var(--yellow)}
.sidebar-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding:.75rem}
.status-dot{font-size:.75rem;color:var(--green)}
.status-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-left:.45rem;box-shadow:0 0 10px currentColor}
.workspace{padding:0 2rem 3rem;min-width:0}
.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #15314399;margin-bottom:1.6rem}
.topbar h1{font-size:1.45rem}
.mobile-only{display:none}
.page{display:none;animation:fade .18s ease}.page.active{display:block}
@keyframes fade{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
.panel{background:linear-gradient(145deg,#0d2434ed,#0a1e2ded);border:1px solid var(--line);border-radius:20px;padding:1.25rem;box-shadow:0 10px 28px #020b1260}
.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.15rem}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.stat{min-height:130px;padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#102b3e,#0a1f2e)}
.stat .value{display:block;font-size:1.85rem;font-weight:1000;margin:.7rem 0 .25rem}
.stat .label{font-size:.8rem;color:var(--muted)}
.stat .trend{color:var(--teal);font-size:.7rem}
.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.top-align{align-items:start}
.breakdown{display:grid;gap:.75rem}
.breakdown-row{display:grid;grid-template-columns:115px 1fr auto;gap:.7rem;align-items:center;font-size:.78rem;color:#d7e3e9}
.bar{height:7px;border-radius:20px;background:#061622;overflow:hidden}.bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--yellow),var(--teal))}
.callout{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#3b3515cc,#0f2d38 70%)}
.actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.actions.compact .button{padding:.52rem .68rem;font-size:.75rem}
.toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.toolbar input{flex:1}.toolbar select{width:180px}
.toolbar label{margin:0;flex-direction:row;align-items:center;white-space:nowrap}.toolbar label input{width:auto}
.split-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:1rem;align-items:start}
.list-panel,.editor-panel{min-height:640px}.editor-panel{position:relative}
.record-list{display:grid;gap:.55rem;max-height:560px;overflow:auto;padding-left:.25rem}.record-list.tall{max-height:650px}
.record{width:100%;border:1px solid var(--line);border-radius:14px;background:#081b29;padding:.82rem;text-align:right;color:var(--text);
  display:flex;gap:.75rem;align-items:center;justify-content:space-between}
.record:hover,.record.active{border-color:#b99b3f;background:#122c3a}
.record-main{min-width:0}.record-main strong,.record-main span{display:block}.record-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.83rem}
.record-main span{color:var(--muted);font-size:.68rem;margin-top:.28rem;direction:ltr;text-align:right}
.record-meta{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.record-meta small{font-size:.68rem}
.skill-badge,.pill{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .55rem;background:#153a48;color:var(--teal);font-size:.65rem;font-weight:850}
.pill{background:#4b4018;color:#ffe68d}
.pill.saved{background:#163c2d;color:var(--green)}
.pill.deleted{background:#4a2028;color:#ffafb4}
.empty-state{display:grid;place-items:center;text-align:center;align-content:center;min-height:560px}.empty-state p{max-width:340px}
.empty-icon{width:68px;height:68px;display:grid;place-items:center;border-radius:22px;background:#102e41;color:var(--yellow);font-size:1.8rem;margin-bottom:1rem}
.sticky-heading{position:sticky;top:0;background:#0d2434f4;z-index:2;padding-bottom:.6rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.form-grid .span-2{grid-column:1/-1}
.switch-row{flex-direction:row;align-items:center;gap:.7rem;padding:.78rem;border:1px solid var(--line);border-radius:12px;background:#071925}
.switch-row input,.check input{width:18px;height:18px;accent-color:var(--yellow)}
.json-heading{display:flex;align-items:end;justify-content:space-between;margin:.35rem 0 .55rem}.json-heading label{margin:0}.json-heading small{display:block;margin-top:.25rem}
.code-editor{min-height:420px;border-radius:14px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;line-height:1.75;text-align:left;white-space:pre;tab-size:2}
.field-error{min-height:1.5rem;color:var(--red);font-size:.75rem;padding:.3rem}
.form-actions{display:flex;align-items:center;gap:.7rem;justify-content:flex-start;flex-wrap:wrap;margin-top:.75rem}
.drop-zone{min-height:160px;border:1.5px dashed #3b6177;border-radius:18px;align-items:center;justify-content:center;text-align:center;background:#071a29;padding:1.4rem}
.drop-zone input{position:absolute;opacity:0;pointer-events:none}.drop-zone strong,.drop-zone small{display:block}.drop-icon{font-size:2rem;color:var(--yellow)}
.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.78rem}th,td{padding:.85rem;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th{color:var(--muted);font-size:.7rem}td code{font-size:.68rem;color:#c8d9e2}
.toast{position:fixed;left:1.3rem;bottom:1.3rem;z-index:1000;max-width:min(390px,calc(100vw - 2rem));background:#132e3d;color:#fff;
  border:1px solid #31566b;padding:.85rem 1rem;border-radius:13px;box-shadow:var(--shadow);transform:translateY(130%);opacity:0;transition:.25s}
.toast.show{transform:none;opacity:1}.toast.error{border-color:#963b47;background:#421c25}
dialog{border:0;padding:0;background:transparent}dialog::backdrop{background:#01080da8;backdrop-filter:blur(4px)}
.dialog-card{width:min(440px,calc(100vw - 2rem));background:#0d2434;border:1px solid var(--line);border-radius:20px;padding:1.4rem;color:var(--text);box-shadow:var(--shadow)}
.dialog-card p{white-space:pre-line}
.user-dialog{width:min(620px,calc(100vw - 2rem))}
.account-summary{display:flex;flex-direction:column;gap:.35rem;padding:1rem;margin-bottom:1rem;border:1px solid var(--line);
  border-radius:14px;background:#071925}.account-summary span{color:var(--muted);direction:ltr;text-align:right;font-size:.8rem}
.subscription-panel{margin-bottom:1rem;background:linear-gradient(125deg,#142d3beb,#2b2816d9)}
.warning-hint{color:#f8df8b}
.user-name{display:flex;flex-direction:column;gap:.2rem}.user-name span{color:var(--muted);font-size:.68rem;direction:ltr}
.access-stack{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}
.button.mini{padding:.48rem .68rem;font-size:.7rem}
.ticket-thread{display:flex;flex-direction:column;gap:.75rem;max-height:430px;overflow:auto;padding:.35rem .15rem 1rem;margin-bottom:1rem}
.ticket-message{max-width:86%;border:1px solid var(--line);border-radius:16px;padding:.85rem 1rem;background:#071925}
.ticket-message.admin{align-self:flex-start;background:#183b3b;border-color:#286861}
.ticket-message.user{align-self:flex-end;background:#142d40}
.ticket-message strong{font-size:.75rem;color:var(--yellow)}.ticket-message p{margin:.4rem 0;color:#e7f0f4;line-height:1.9;font-size:.8rem}
.ticket-message time{font-size:.65rem;color:var(--muted)}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.split-layout{grid-template-columns:310px 1fr}}
@media(max-width:820px){
  .app-shell{display:block}.sidebar{position:fixed;right:0;transform:translateX(110%);transition:.22s;width:260px;box-shadow:var(--shadow)}.sidebar.open{transform:none}
  .workspace{padding:0 1rem 2rem}.mobile-only{display:block}.topbar{height:82px}.stats-grid,.two-column,.split-layout{grid-template-columns:1fr}
  .list-panel,.editor-panel{min-height:auto}.record-list{max-height:430px}.callout{align-items:flex-start;flex-direction:column}
}
@media(max-width:540px){.stats-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar select{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.topbar .button.ghost{padding:.55rem}.panel{padding:1rem}.workspace{padding-inline:.7rem}}
