/* ============ Fonts ============ */
@font-face{font-family:'IRANSansWeb';src:url('/fonts/IRANSansWeb_UltraLight.woff2') format('woff2');font-weight:200;font-style:normal;font-display:swap;}
@font-face{font-family:'IRANSansWeb';src:url('/fonts/IRANSansWeb_Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'IRANSansWeb';src:url('/fonts/IRANSansWeb.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'IRANSansWeb';src:url('/fonts/IRANSansWeb_Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'IRANSansWeb';src:url('/fonts/IRANSansWeb_Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}

/* ============ Design tokens ============ */
:root{
  --bg:#F1EFE9; --surface:#FFFFFF; --surface-sunk:#FAF9F6; --surface-sunk-2:#F5F3EE; --surface-neutral:#EEECE6;
  --ink:#191A1D; --ink-2:#3C3E44; --ink-3:#5A5C63; --ink-4:#8E9096; --ink-ph:#A9ABB1;
  --border:#EEECE6; --border-soft:#F1EFE9; --border-strong:#DDDAD2;
  --shadow-card:0 1px 3px rgba(0,0,0,.05); --shadow-md:0 8px 24px rgba(20,18,12,.08);
  --accent:#F5720A; --accent-ink-on-surface:#C25708; --accent-soft:#FDF0E4; --accent-border:#F5D3B0;
  --solid:#191A1D; --solid-ink:#FFFFFF;
  --success-ink:#2E7D4F; --success-bg:#E8F3EC; --success-border:#CFE7D8;
  --warn-ink:#8A5A00; --warn-bg:#FDF3E0; --warn-border:#F5E4CB;
  --danger-ink:#9A3B3B; --danger-bg:#F7E2E2; --danger-surface:#FDF0F0;
  --req:#C0392B;
  --r-lg:20px; --r-md:16px; --r-sm:13px; --r-xs:10px; --r-pill:999px;
  --fa:'IRANSansWeb',sans-serif; --mono:'JetBrains Mono','IRANSansWeb',monospace;
}
[data-theme="dark"]{
  --bg:#14151A; --surface:#1D1F27; --surface-sunk:#0E0F13; --surface-sunk-2:rgba(255,255,255,.045); --surface-neutral:rgba(255,255,255,.07);
  --ink:#EDEEF2; --ink-2:#C3C6CF; --ink-3:#9BA0AC; --ink-4:#8A8D99; --ink-ph:#6E717C;
  --border:rgba(255,255,255,.09); --border-soft:rgba(255,255,255,.06); --border-strong:rgba(255,255,255,.14);
  --shadow-card:0 1px 3px rgba(0,0,0,.3); --shadow-md:0 12px 28px rgba(0,0,0,.4);
  --accent:#F5720A; --accent-ink-on-surface:#FF9A4D; --accent-soft:rgba(255,122,24,.14); --accent-border:rgba(255,122,24,.3);
  --solid:#F5720A; --solid-ink:#14151A;
  --success-ink:#54D68A; --success-bg:rgba(84,214,138,.14); --success-border:rgba(84,214,138,.25);
  --warn-ink:#FFB07A; --warn-bg:rgba(255,122,24,.14); --warn-border:rgba(255,122,24,.28);
  --danger-ink:#FF8F8F; --danger-bg:rgba(255,99,99,.14); --danger-surface:rgba(255,99,99,.08);
  --req:#FF8F8F;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--fa);background:var(--bg);color:var(--ink);font-size:13px;line-height:1.7;-webkit-font-smoothing:antialiased;transition:background .15s ease,color .15s ease;}
button,input,select,textarea{font-family:inherit;}
.mono{font-family:var(--mono);}
a{color:inherit;}
::selection{background:var(--border-strong);color:var(--ink);}

/* scrollbar minimal */
::-webkit-scrollbar{width:9px;height:9px;}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;}
::-webkit-scrollbar-track{background:transparent;}

/* ============ Shell layout ============ */
.shell{display:flex;min-height:100vh;align-items:flex-start;}
.main{flex:1;min-width:0;padding:18px 26px 30px 20px;}
.sidebar{width:236px;flex-shrink:0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:16px 14px;gap:16px;}
.sb-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:16px 14px;flex:1;display:flex;flex-direction:column;min-height:0;}
.sb-brand{display:flex;align-items:center;gap:10px;padding:2px 4px 14px;}
.sb-logo{width:40px;height:40px;border-radius:13px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sb-brand-name{font-size:13.5px;font-weight:800;}
.sb-brand-sub{font-size:10.5px;color:var(--ink-4);}
.sb-nav{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding-left:2px;}
.nav-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:var(--r-xs);color:var(--ink-2);font-size:12.5px;font-weight:600;cursor:pointer;user-select:none;transition:background .15s;}
.nav-item svg{flex-shrink:0;width:17px;height:17px;stroke:var(--nav-icon-muted,#7A7C83);}
[data-theme="dark"] .nav-item svg{--nav-icon-muted:#8A8D99;}
.nav-item:hover{background:var(--surface-sunk-2);}
.nav-item.active{background:var(--solid);color:var(--solid-ink);}
.nav-item.active svg{stroke:var(--accent);}
.nav-badge{margin-right:auto;background:var(--accent);color:#fff;font-family:var(--mono);font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;padding:0 5px;}
[data-theme="dark"] .nav-badge{color:#14151A;}
.nav-badge.neutral{background:var(--surface-neutral);color:var(--ink-3);}
.nav-chevron{margin-right:auto;color:var(--ink-4);transition:transform .15s;display:flex;}
.nav-group.open .nav-chevron{transform:rotate(-90deg);}
.nav-children{overflow:hidden;max-height:0;transition:max-height .2s ease;display:flex;flex-direction:column;gap:1px;padding:2px 6px 4px 0;margin-right:8px;border-right:1.5px solid var(--border);}
.nav-group.open .nav-children{max-height:200px;}
.nav-sublink{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;font-size:11.5px;font-weight:600;color:var(--ink-3);cursor:pointer;}
.nav-sublink:hover{background:var(--surface-sunk-2);}
.nav-sublink.active{background:var(--accent-soft);color:var(--accent-ink-on-surface);}
.nav-sublink .soon{margin-right:auto;font-size:9px;font-weight:700;color:var(--ink-4);background:var(--surface-neutral);padding:2px 6px;border-radius:var(--r-pill);}
.sb-footer{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:var(--r-xs);background:var(--surface-sunk-2);margin-top:10px;}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink-on-surface);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;flex-shrink:0;}
.avatar-fox{background-color:#FBE3CF;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M6%206.5l3%202.2-1.3%202.3z%22%20fill%3D%22%23E8792C%22%2F%3E%0A%3Cpath%20d%3D%22M18%206.5l-3%202.2%201.3%202.3z%22%20fill%3D%22%23E8792C%22%2F%3E%0A%3Cpath%20d%3D%22M12%205c3%200%205%202.6%204.6%206.2-.3%202.7-1.3%205.3-4.6%205.3s-4.3-2.6-4.6-5.3C6.9%207.6%209%205%2012%205z%22%20fill%3D%22%23F0903D%22%2F%3E%0A%3Cellipse%20cx%3D%2212%22%20cy%3D%2214.3%22%20rx%3D%222.7%22%20ry%3D%222.1%22%20fill%3D%22%23FFF6EC%22%2F%3E%0A%3Ccircle%20cx%3D%2210.1%22%20cy%3D%2210.6%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%3Ccircle%20cx%3D%2213.9%22%20cy%3D%2210.6%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cpath%20d%3D%22M11.1%2013.1h1.8l-.9%201z%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-cat{background-color:#FBE0EC;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M6.3%205.8l3.4%203-1%202z%22%20fill%3D%22%237C7A93%22%2F%3E%0A%3Cpath%20d%3D%22M17.7%205.8l-3.4%203%201%202z%22%20fill%3D%22%237C7A93%22%2F%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%2212.5%22%20r%3D%226%22%20fill%3D%22%23918FA8%22%2F%3E%0A%3Cellipse%20cx%3D%2212%22%20cy%3D%2214.6%22%20rx%3D%222.6%22%20ry%3D%221.9%22%20fill%3D%22%23F4F2FA%22%2F%3E%0A%3Ccircle%20cx%3D%229.6%22%20cy%3D%2211.3%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%3Ccircle%20cx%3D%2214.4%22%20cy%3D%2211.3%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cpath%20d%3D%22M11.2%2013.4h1.6l-.8%201z%22%20fill%3D%22%23F2A6C4%22%2F%3E%0A%3Cpath%20d%3D%22M6.7%2013.6l-2.6-.4M6.7%2014.6l-2.6.6M17.3%2013.6l2.6-.4M17.3%2014.6l2.6.6%22%20stroke%3D%22%235F5D75%22%20stroke-width%3D%220.5%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-owl{background-color:#D9F0EC;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M8%205.5l1.6%202.3-2.4.6z%22%20fill%3D%22%239C6B41%22%2F%3E%0A%3Cpath%20d%3D%22M16%205.5l-1.6%202.3%202.4.6z%22%20fill%3D%22%239C6B41%22%2F%3E%0A%3Cellipse%20cx%3D%2212%22%20cy%3D%2213%22%20rx%3D%226.3%22%20ry%3D%226.7%22%20fill%3D%22%23B47F4C%22%2F%3E%0A%3Ccircle%20cx%3D%229.2%22%20cy%3D%2212%22%20r%3D%222.6%22%20fill%3D%22%23FFF8EE%22%2F%3E%0A%3Ccircle%20cx%3D%2214.8%22%20cy%3D%2212%22%20r%3D%222.6%22%20fill%3D%22%23FFF8EE%22%2F%3E%0A%3Ccircle%20cx%3D%229.2%22%20cy%3D%2212%22%20r%3D%221.15%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Ccircle%20cx%3D%2214.8%22%20cy%3D%2212%22%20r%3D%221.15%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cpath%20d%3D%22M12%2013.6l-1.1%201.6h2.2z%22%20fill%3D%22%23E8792C%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-panda{background-color:#E1F5E3;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Ccircle%20cx%3D%227%22%20cy%3D%226.6%22%20r%3D%222.1%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Ccircle%20cx%3D%2217%22%20cy%3D%226.6%22%20r%3D%222.1%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%2213%22%20r%3D%226.4%22%20fill%3D%22%23FCFBF8%22%2F%3E%0A%3Cellipse%20cx%3D%229.1%22%20cy%3D%2211.7%22%20rx%3D%221.7%22%20ry%3D%222.1%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cellipse%20cx%3D%2214.9%22%20cy%3D%2211.7%22%20rx%3D%221.7%22%20ry%3D%222.1%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Ccircle%20cx%3D%229.1%22%20cy%3D%2212%22%20r%3D%220.55%22%20fill%3D%22%23FCFBF8%22%2F%3E%0A%3Ccircle%20cx%3D%2214.9%22%20cy%3D%2212%22%20r%3D%220.55%22%20fill%3D%22%23FCFBF8%22%2F%3E%0A%3Cellipse%20cx%3D%2212%22%20cy%3D%2215.4%22%20rx%3D%220.9%22%20ry%3D%220.6%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-robot{background-color:#E1E8F5;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cline%20x1%3D%2212%22%20y1%3D%223.2%22%20x2%3D%2212%22%20y2%3D%225.4%22%20stroke%3D%22%238C97AD%22%20stroke-width%3D%221%22%2F%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%222.8%22%20r%3D%221%22%20fill%3D%22%235EC9D9%22%2F%3E%0A%3Crect%20x%3D%225.8%22%20y%3D%225.5%22%20width%3D%2212.4%22%20height%3D%2211.5%22%20rx%3D%223.4%22%20fill%3D%22%23C3CCDC%22%2F%3E%0A%3Crect%20x%3D%227.4%22%20y%3D%229.2%22%20width%3D%229.2%22%20height%3D%224.4%22%20rx%3D%221.4%22%20fill%3D%22%2339456A%22%2F%3E%0A%3Ccircle%20cx%3D%2210.1%22%20cy%3D%2211.4%22%20r%3D%220.9%22%20fill%3D%22%235EC9D9%22%2F%3E%0A%3Ccircle%20cx%3D%2213.9%22%20cy%3D%2211.4%22%20r%3D%220.9%22%20fill%3D%22%235EC9D9%22%2F%3E%0A%3Cpath%20d%3D%22M9.5%2015.6h5%22%20stroke%3D%22%238C97AD%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-ghost{background-color:#EAE1F7;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M12%204.2c3.6%200%206%202.9%206%206.7v7.4c-.9%200-1.1-1.1-2-1.1s-1.1%201.1-2%201.1-1.1-1.1-2-1.1-1.1%201.1-2%201.1-1.1-1.1-2-1.1-1.1%201.1-2%201.1v-7.4c0-3.8%202.4-6.7%206-6.7z%22%20fill%3D%22%23FBFAFF%22%2F%3E%0A%3Ccircle%20cx%3D%229.8%22%20cy%3D%2211.4%22%20r%3D%220.85%22%20fill%3D%22%2339456A%22%2F%3E%3Ccircle%20cx%3D%2214.2%22%20cy%3D%2211.4%22%20r%3D%220.85%22%20fill%3D%22%2339456A%22%2F%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%2214%22%20r%3D%220.7%22%20fill%3D%22%2339456A%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-cactus{background-color:#FBF0D0;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%224.6%22%20r%3D%221.3%22%20fill%3D%22%23F2A6C4%22%2F%3E%0A%3Ccircle%20cx%3D%2210.6%22%20cy%3D%225.2%22%20r%3D%221%22%20fill%3D%22%23F7C1D6%22%2F%3E%0A%3Ccircle%20cx%3D%2213.4%22%20cy%3D%225.2%22%20r%3D%221%22%20fill%3D%22%23F7C1D6%22%2F%3E%0A%3Crect%20x%3D%229.3%22%20y%3D%226.2%22%20width%3D%225.4%22%20height%3D%2211.6%22%20rx%3D%222.6%22%20fill%3D%22%235FAE72%22%2F%3E%0A%3Cpath%20d%3D%22M9.3%209.5h-2.1a1.6%201.6%200%200%200-1.6%201.6v2.3%22%20stroke%3D%22%235FAE72%22%20stroke-width%3D%222.1%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Cpath%20d%3D%22M14.7%208.2h2.1a1.6%201.6%200%200%201%201.6%201.6v1.9%22%20stroke%3D%22%235FAE72%22%20stroke-width%3D%222.1%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Ccircle%20cx%3D%2210.6%22%20cy%3D%2212.4%22%20r%3D%220.7%22%20fill%3D%22%232E5C3C%22%2F%3E%3Ccircle%20cx%3D%2213.4%22%20cy%3D%2212.4%22%20r%3D%220.7%22%20fill%3D%22%232E5C3C%22%2F%3E%0A%3Cpath%20d%3D%22M10.9%2014.4q1.1%201%202.2%200%22%20stroke%3D%22%232E5C3C%22%20stroke-width%3D%220.6%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-planet{background-color:#D6DBF5;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Ccircle%20cx%3D%2218.5%22%20cy%3D%224%22%20r%3D%220.5%22%20fill%3D%22%23C9CEEA%22%2F%3E%0A%3Ccircle%20cx%3D%225%22%20cy%3D%2218.5%22%20r%3D%220.6%22%20fill%3D%22%23C9CEEA%22%2F%3E%0A%3Ccircle%20cx%3D%2220%22%20cy%3D%2215%22%20r%3D%220.4%22%20fill%3D%22%23C9CEEA%22%2F%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%225.6%22%20fill%3D%22%236C63A6%22%2F%3E%0A%3Cellipse%20cx%3D%2212%22%20cy%3D%2213%22%20rx%3D%229%22%20ry%3D%222.6%22%20fill%3D%22none%22%20stroke%3D%22%23C9BFF0%22%20stroke-width%3D%221.3%22%20transform%3D%22rotate%28-14%2012%2013%29%22%2F%3E%0A%3Ccircle%20cx%3D%2210.1%22%20cy%3D%2211.3%22%20r%3D%220.75%22%20fill%3D%22%232B2650%22%2F%3E%3Ccircle%20cx%3D%2213.6%22%20cy%3D%2211.3%22%20r%3D%220.75%22%20fill%3D%22%232B2650%22%2F%3E%0A%3Cpath%20d%3D%22M10.6%2013.4q1.4%201.1%202.8%200%22%20stroke%3D%22%232B2650%22%20stroke-width%3D%220.6%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-bear{background-color:#F1E4D6;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Ccircle%20cx%3D%226.6%22%20cy%3D%226.4%22%20r%3D%222.3%22%20fill%3D%22%23B47B4E%22%2F%3E%0A%3Ccircle%20cx%3D%2217.4%22%20cy%3D%226.4%22%20r%3D%222.3%22%20fill%3D%22%23B47B4E%22%2F%3E%0A%3Ccircle%20cx%3D%226.6%22%20cy%3D%226.4%22%20r%3D%221.05%22%20fill%3D%22%237A5233%22%2F%3E%0A%3Ccircle%20cx%3D%2217.4%22%20cy%3D%226.4%22%20r%3D%221.05%22%20fill%3D%22%237A5233%22%2F%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%2213%22%20r%3D%226.4%22%20fill%3D%22%23C58E5C%22%2F%3E%0A%3Cellipse%20cx%3D%2212%22%20cy%3D%2214.6%22%20rx%3D%223%22%20ry%3D%222.3%22%20fill%3D%22%23F1E0C9%22%2F%3E%0A%3Ccircle%20cx%3D%229.6%22%20cy%3D%2211.4%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%3Ccircle%20cx%3D%2214.4%22%20cy%3D%2211.4%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cellipse%20cx%3D%2212%22%20cy%3D%2214.1%22%20rx%3D%220.9%22%20ry%3D%220.65%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-bunny{background-color:#FBE9F3;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M7.6%209.2C6.6%206%207%202.6%208.3%202.4c1.3-.2%202.4%203%202.5%206.4z%22%20fill%3D%22%23FDFBF7%22%2F%3E%0A%3Cpath%20d%3D%22M8.4%209.4C7.9%206.5%208.3%203.6%209%203.5c.8-.1%201.5%203.1%201.4%205.9z%22%20fill%3D%22%23F6C9DA%22%2F%3E%0A%3Cpath%20d%3D%22M16.4%209.2c1-3.2.6-6.6-.7-6.8-1.3-.2-2.4%203-2.5%206.4z%22%20fill%3D%22%23FDFBF7%22%2F%3E%0A%3Cpath%20d%3D%22M15.6%209.4c.5-2.9.1-5.8-.6-5.9-.8-.1-1.5%203.1-1.4%205.9z%22%20fill%3D%22%23F6C9DA%22%2F%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%2213.2%22%20r%3D%226.1%22%20fill%3D%22%23FDFBF7%22%2F%3E%0A%3Ccircle%20cx%3D%229.7%22%20cy%3D%2212%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%3Ccircle%20cx%3D%2214.3%22%20cy%3D%2212%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cpath%20d%3D%22M11.1%2014.1h1.8l-.9%201z%22%20fill%3D%22%23F2A6C4%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-penguin{background-color:#E1F0FA;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M12%203.5c3.8%200%206.2%203.6%206.2%208.4%200%204.4-1.7%208.6-6.2%208.6S5.8%2016.3%205.8%2011.9c0-4.8%202.4-8.4%206.2-8.4z%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cpath%20d%3D%22M12%207.2c2.5%200%204%203.1%204%206.6%200%203.1-1.2%205.6-4%205.6s-4-2.5-4-5.6c0-3.5%201.5-6.6%204-6.6z%22%20fill%3D%22%23FBFBFB%22%2F%3E%0A%3Ccircle%20cx%3D%229.9%22%20cy%3D%2210.6%22%20r%3D%220.8%22%20fill%3D%22%232B2B33%22%2F%3E%3Ccircle%20cx%3D%2214.1%22%20cy%3D%2210.6%22%20r%3D%220.8%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cpath%20d%3D%22M10.7%2012.3h2.6l-1.3%201.4z%22%20fill%3D%22%23F2A03D%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-koala{background-color:#E7E9EF;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Ccircle%20cx%3D%225.6%22%20cy%3D%229.5%22%20r%3D%223.1%22%20fill%3D%22%23A9AEBB%22%2F%3E%0A%3Ccircle%20cx%3D%2218.4%22%20cy%3D%229.5%22%20r%3D%223.1%22%20fill%3D%22%23A9AEBB%22%2F%3E%0A%3Ccircle%20cx%3D%225.6%22%20cy%3D%229.5%22%20r%3D%221.5%22%20fill%3D%22%238B90A0%22%2F%3E%0A%3Ccircle%20cx%3D%2218.4%22%20cy%3D%229.5%22%20r%3D%221.5%22%20fill%3D%22%238B90A0%22%2F%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%2213%22%20r%3D%226.2%22%20fill%3D%22%23BCC1CE%22%2F%3E%0A%3Ccircle%20cx%3D%229.6%22%20cy%3D%2211.2%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%3Ccircle%20cx%3D%2214.4%22%20cy%3D%2211.2%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cellipse%20cx%3D%2212%22%20cy%3D%2214.3%22%20rx%3D%221.7%22%20ry%3D%221.3%22%20fill%3D%22%233A3B45%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-unicorn{background-color:#F3E8FC;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M11.3%206.8L12.4%202l1%204.9z%22%20fill%3D%22%23F2C744%22%2F%3E%0A%3Cpath%20d%3D%22M15%206.5c1.6-.7%202.9-.5%203.6.6-1%20.5-2.3%201.6-3%202.7z%22%20fill%3D%22%23EE8FC9%22%2F%3E%0A%3Cpath%20d%3D%22M16%208.6c1.4-.3%202.6.2%203%201.4-1%20.2-2.4.7-3.3%201.5z%22%20fill%3D%22%239F8FEE%22%2F%3E%0A%3Cpath%20d%3D%22M16.4%2010.9c1.2%200%202.2.7%202.4%201.8-1%200-2.2.2-3.1.7z%22%20fill%3D%22%2379C6EE%22%2F%3E%0A%3Cpath%20d%3D%22M12%206.2c3.4%200%205.7%202.8%205.4%206.6-.2%203-1.3%205.9-5.4%205.9s-5.2-2.9-5.4-5.9C6.3%209%208.6%206.2%2012%206.2z%22%20fill%3D%22%23FDFBF7%22%2F%3E%0A%3Ccircle%20cx%3D%229.9%22%20cy%3D%2211.9%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%3Ccircle%20cx%3D%2214.1%22%20cy%3D%2211.9%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cpath%20d%3D%22M11.2%2014.2h1.6l-.8.9z%22%20fill%3D%22%23F2A6C4%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-dino{background-color:#E3F3D4;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M9%205.5l1.4%202-1.4.4z%22%20fill%3D%22%235FAE72%22%2F%3E%0A%3Cpath%20d%3D%22M12%204.7l1.2%202.3-1.5.2z%22%20fill%3D%22%235FAE72%22%2F%3E%0A%3Cpath%20d%3D%22M15%205.8l1.1%202.1-1.5.3z%22%20fill%3D%22%235FAE72%22%2F%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%2213.4%22%20r%3D%226.3%22%20fill%3D%22%236FBF82%22%2F%3E%0A%3Cellipse%20cx%3D%2212%22%20cy%3D%2216%22%20rx%3D%223.4%22%20ry%3D%222.4%22%20fill%3D%22%23D9F0D0%22%2F%3E%0A%3Ccircle%20cx%3D%229.7%22%20cy%3D%2211.7%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%3Ccircle%20cx%3D%2214.3%22%20cy%3D%2211.7%22%20r%3D%220.9%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cpath%20d%3D%22M10.6%2014.7q1.4%201.1%202.8%200%22%20stroke%3D%22%232E5C3C%22%20stroke-width%3D%220.6%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-bee{background-color:#FDF3C7;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cellipse%20cx%3D%227.3%22%20cy%3D%2211.5%22%20rx%3D%223.6%22%20ry%3D%222.6%22%20fill%3D%22%23EAF3FC%22%20opacity%3D%220.85%22%20transform%3D%22rotate%28-18%207.3%2011.5%29%22%2F%3E%0A%3Cellipse%20cx%3D%2216.7%22%20cy%3D%2211.5%22%20rx%3D%223.6%22%20ry%3D%222.6%22%20fill%3D%22%23EAF3FC%22%20opacity%3D%220.85%22%20transform%3D%22rotate%2818%2016.7%2011.5%29%22%2F%3E%0A%3Cpath%20d%3D%22M9.2%205.6l-1.4-2M14.8%205.6l1.4-2%22%20stroke%3D%22%232B2B33%22%20stroke-width%3D%221%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%2213.5%22%20r%3D%226.1%22%20fill%3D%22%23F6C93D%22%2F%3E%0A%3Cpath%20d%3D%22M6.2%2011.2h11.6M6.6%2015.6h10.8%22%20stroke%3D%22%232B2B33%22%20stroke-width%3D%222.1%22%2F%3E%0A%3Ccircle%20cx%3D%229.8%22%20cy%3D%2211.9%22%20r%3D%220.75%22%20fill%3D%22%232B2B33%22%2F%3E%3Ccircle%20cx%3D%2214.2%22%20cy%3D%2211.9%22%20r%3D%220.75%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-frog{background-color:#D8F3DD;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Ccircle%20cx%3D%228.6%22%20cy%3D%228%22%20r%3D%222.6%22%20fill%3D%22%236FBF82%22%2F%3E%0A%3Ccircle%20cx%3D%2215.4%22%20cy%3D%228%22%20r%3D%222.6%22%20fill%3D%22%236FBF82%22%2F%3E%0A%3Ccircle%20cx%3D%228.6%22%20cy%3D%228%22%20r%3D%221.15%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Ccircle%20cx%3D%2215.4%22%20cy%3D%228%22%20r%3D%221.15%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cellipse%20cx%3D%2212%22%20cy%3D%2214.4%22%20rx%3D%226.6%22%20ry%3D%225.4%22%20fill%3D%22%237FCB8F%22%2F%3E%0A%3Cpath%20d%3D%22M8%2015.4q4%202.6%208%200%22%20stroke%3D%22%232B2B33%22%20stroke-width%3D%220.8%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Ccircle%20cx%3D%229.6%22%20cy%3D%2212.4%22%20r%3D%220.5%22%20fill%3D%22%234E9860%22%2F%3E%0A%3Ccircle%20cx%3D%2214.4%22%20cy%3D%2212.4%22%20r%3D%220.5%22%20fill%3D%22%234E9860%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-alien{background-color:#E9E7F5;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Ccircle%20cx%3D%227.5%22%20cy%3D%2212%22%20r%3D%220.7%22%20fill%3D%22%238FE0C9%22%2F%3E%0A%3Ccircle%20cx%3D%2216.5%22%20cy%3D%229.5%22%20r%3D%220.6%22%20fill%3D%22%238FE0C9%22%2F%3E%0A%3Cpath%20d%3D%22M12%203.6c3.4%200%205.2%203.3%204.8%207-.3%203.3-1.6%206.9-4.8%206.9S7.5%2014%207.2%2010.6c-.4-3.7%201.4-7%204.8-7z%22%20fill%3D%22%237FC98F%22%2F%3E%0A%3Cellipse%20cx%3D%229.6%22%20cy%3D%2210.6%22%20rx%3D%221.7%22%20ry%3D%222.3%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Cellipse%20cx%3D%2214.4%22%20cy%3D%2210.6%22%20rx%3D%221.7%22%20ry%3D%222.3%22%20fill%3D%22%232B2B33%22%2F%3E%0A%3Ccircle%20cx%3D%229.1%22%20cy%3D%229.9%22%20r%3D%220.45%22%20fill%3D%22%23fff%22%2F%3E%0A%3Ccircle%20cx%3D%2213.9%22%20cy%3D%229.9%22%20r%3D%220.45%22%20fill%3D%22%23fff%22%2F%3E%0A%3Cpath%20d%3D%22M10.7%2015.3q1.3.8%202.6%200%22%20stroke%3D%22%232B2B33%22%20stroke-width%3D%220.6%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.avatar-cupcake{background-color:#FBF3E8;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20d%3D%22M7.6%2012.5h8.8l-1.1%206.3a1.6%201.6%200%200%201-1.6%201.3H10.3a1.6%201.6%200%200%201-1.6-1.3z%22%20fill%3D%22%23E8945A%22%2F%3E%0A%3Cpath%20d%3D%22M7.9%2013.8l.5-1M9.3%2014.4l.3-1.1M12%2014.6V13.4M14.7%2014.4l-.3-1.1M16.1%2013.8l-.5-1%22%20stroke%3D%22%23C67440%22%20stroke-width%3D%220.5%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3Cpath%20d%3D%22M6.6%2012.8c-.7-2.6.7-5%202.7-5.6-.4-1.3.6-2.6%202-2.4-.1-1.2%201.6-1.9%202.3-.8.9-.8%202.3%200%202.1%201.2%201.4-.3%202.5%201.1%201.9%202.3%201.9.8%202.9%203.2%202%205.5-3.7%201.4-9.6%201.4-13%20-.2z%22%20fill%3D%22%23FBEFE0%22%2F%3E%0A%3Ccircle%20cx%3D%2212%22%20cy%3D%226.4%22%20r%3D%221.15%22%20fill%3D%22%23E8607A%22%2F%3E%0A%3Ccircle%20cx%3D%229.9%22%20cy%3D%2211.4%22%20r%3D%220.75%22%20fill%3D%22%237A5233%22%2F%3E%3Ccircle%20cx%3D%2214.1%22%20cy%3D%2211.4%22%20r%3D%220.75%22%20fill%3D%22%237A5233%22%2F%3E%0A%3Cpath%20d%3D%22M10.6%2013.1q1.4%201%202.8%200%22%20stroke%3D%22%237A5233%22%20stroke-width%3D%220.55%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");background-size:82%;background-position:center;background-repeat:no-repeat;}
.sb-footer .avatar:not([class*="avatar-"]){background:var(--surface);color:var(--ink-ph);}
.sb-user-name{font-size:12px;font-weight:700;}
.sb-user-role{font-size:10px;color:var(--ink-4);}

/* ============ Topbar / crumbs ============ */
.topbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:6px;}
.theme-toggle{display:flex;background:var(--surface);border-radius:14px;padding:4px;gap:3px;box-shadow:var(--shadow-card);}
.theme-toggle button{width:32px;height:32px;border-radius:11px;border:none;background:transparent;color:var(--ink-4);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.theme-toggle button svg{width:16px;height:16px;}
.theme-toggle button.active{background:var(--accent);color:#14151A;}
.theme-toggle button.active svg{stroke:#14151A;}
.searchbox{display:flex;align-items:center;gap:8px;background:var(--surface);border-radius:var(--r-sm);padding:8px 12px;box-shadow:var(--shadow-card);min-width:230px;color:var(--ink-4);font-size:12px;}
.searchbox svg{width:15px;height:15px;flex-shrink:0;}
.searchbox input{border:none;background:none;outline:none;flex:1;color:var(--ink);font-size:12px;}
.icon-btn{width:40px;height:40px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow-card);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-3);flex-shrink:0;position:relative;}
.icon-btn svg{width:17px;height:17px;}
.icon-btn .dot{position:absolute;top:9px;left:10px;width:7px;height:7px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);}

/* ============ Preset sentences (clause tiles + admin rows) ============ */
.clause-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,40px));gap:8px;}
.clause-tile{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:var(--surface);border:1.5px solid var(--border-strong);border-radius:11px;cursor:pointer;transition:border-color .12s,background .12s;padding:6px;}
.clause-tile:hover{border-color:var(--accent-border);background:var(--accent-soft);}
.clause-tile.sel{border-color:var(--accent);background:var(--accent-soft);}
.clause-tile svg{width:100%;height:100%;color:var(--ink-3);transition:color .12s;}
.clause-tile:hover svg{color:var(--accent-ink-on-surface);}
.clause-tile.sel svg{color:var(--accent);}
.clause-tile .tip{position:absolute;bottom:calc(100% + 7px);right:50%;transform:translateX(50%);background:var(--solid);color:var(--solid-ink);font-size:10.5px;font-weight:700;padding:6px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;font-family:var(--mono);direction:ltr;z-index:2;}
.clause-tile:hover .tip{opacity:1;}

.crow{display:flex;align-items:center;gap:12px;background:var(--surface);border:1.5px solid var(--border-strong);border-radius:14px;padding:10px 14px;margin-bottom:8px;}
.crow-ic{width:36px;height:36px;background:var(--surface-sunk);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-3);}
.crow-ic svg{width:19px;height:19px;}
.crow-tx{flex:1;}
.crow-fa{font-size:12.5px;font-weight:700;color:var(--ink);}
.crow-en{font-size:10.5px;color:var(--ink-4);font-family:var(--mono);direction:ltr;text-align:right;margin-top:1px;}
.crow-act{display:flex;gap:4px;}
.crow-act button{width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:var(--ink-4);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.crow-act button:hover{background:var(--surface-sunk);color:var(--ink);}
.clause-form-card{background:var(--surface);border:1.5px solid var(--border-strong);border-radius:20px;padding:18px;}
.clause-form-title{font-size:13px;font-weight:800;margin-bottom:14px;color:var(--ink);}
.clause-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.clause-form-row-2 label{font-size:11px;color:var(--ink-3);font-weight:700;display:block;margin-bottom:6px;}
.clause-form-row-svg{display:grid;grid-template-columns:1fr 96px;gap:12px;align-items:start;}
.clause-form-row-svg label{font-size:11px;color:var(--ink-3);font-weight:700;display:block;margin-bottom:6px;}
.clause-preview-box{aspect-ratio:1;background:var(--accent-soft);border:1.5px solid var(--accent-border);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:14px;box-sizing:border-box;}
.clause-preview-box svg{width:100%;height:100%;}
.crumb{font-size:11px;color:var(--ink-4);margin-bottom:2px;}
.page-h1{font-size:24px;font-weight:800;letter-spacing:-.5px;margin:0 0 20px;}

/* ============ Buttons ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:700;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:12px;padding:9px 15px;cursor:pointer;transition:filter .12s, background .12s;white-space:nowrap;}
.btn svg{width:15px;height:15px;}
.btn:hover{filter:brightness(.97);}
[data-theme="dark"] .btn:hover{filter:brightness(1.15);}
.btn-solid{background:var(--solid);color:var(--solid-ink);border-color:var(--solid);}
.btn-accent{background:var(--accent);color:#fff;border-color:var(--accent);}
.btn-success{background:var(--success-ink);color:#fff;border-color:var(--success-ink);}
.btn-danger{background:var(--danger-ink);color:#fff;border-color:var(--danger-ink);}
.btn-danger-soft{background:var(--danger-surface);color:var(--danger-ink);border-color:var(--danger-border,var(--border-strong));}
.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-3);}
.btn-neutral{background:var(--surface-sunk);}
.btn:disabled{opacity:.45;cursor:not-allowed;background:var(--surface-neutral);color:var(--ink-ph);border-color:var(--border);}
.btn-sm{padding:6px 11px;font-size:11px;border-radius:9px;}
.btn-block{width:100%;justify-content:center;}
#digikalaBtn{min-width:118px;justify-content:center;}

/* ============ Cards / generic ============ */
.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:18px;}
.card-md{background:var(--surface);border-radius:var(--r-md);}
.section-title{font-size:13.5px;font-weight:800;margin:0 0 12px;}
.grid{display:grid;gap:16px;}

/* stat card */
.stat-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:16px;display:flex;flex-direction:column;gap:8px;}
.stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;}
.stat-label{font-size:11.5px;color:var(--ink-3);font-weight:600;}
.stat-num{font-family:var(--fa);font-size:34px;font-weight:800;letter-spacing:-1.2px;}
.stat-icon{width:28px;height:28px;border-radius:10px;background:var(--surface-sunk-2);display:flex;align-items:center;justify-content:center;color:var(--ink-3);flex-shrink:0;}
.stat-icon svg{width:15px;height:15px;}
.mini-bar-track{display:flex;gap:3px;height:5px;}
.mini-bar-track span{flex:1;height:5px;border-radius:3px;background:var(--surface-neutral);}
.mini-bar-track span.on{background:var(--success-ink);}

.hero-card{background:var(--accent);border-radius:var(--r-lg);padding:22px;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;box-shadow:0 10px 26px rgba(245,114,10,.28);}
.hero-card::before{content:'';position:absolute;inset:auto -30px -40px auto;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.1);}
.hero-tag{align-self:flex-start;background:rgba(255,255,255,.2);font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:var(--r-pill);position:relative;}
.hero-num{font-family:var(--fa);font-size:44px;font-weight:800;letter-spacing:-2px;line-height:1;}
.hero-sub{font-size:13px;font-weight:600;opacity:.9;}
.hero-btn{background:#fff;color:#191A1D;border:none;border-radius:14px;padding:11px 16px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;align-self:flex-start;position:relative;}
[data-theme="dark"] .hero-btn{background:#14151A;color:#fff;}
.hero-btn svg{stroke:#F5720A!important;}
.hero-btn:hover{filter:brightness(1.06);}

.greet-h1{font-size:26px;font-weight:800;letter-spacing:-.6px;margin:0;}

.coverage-card{background:var(--solid);color:var(--solid-ink);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-card);}
[data-theme="dark"] .coverage-card{background:var(--surface);}
.coverage-num{font-family:var(--mono);font-size:26px;font-weight:800;color:var(--accent);}
.coverage-row{display:flex;justify-content:space-between;font-size:11px;margin:10px 0 3px;color:inherit;opacity:.85;}
.coverage-track{height:5px;border-radius:3px;background:rgba(255,255,255,.16);margin-bottom:10px;overflow:hidden;}
[data-theme="dark"] .coverage-track{background:rgba(255,255,255,.08);}
.coverage-track span{display:block;height:100%;background:var(--accent);border-radius:3px;}

.activity-list{display:flex;flex-direction:column;gap:0;}
.activity-row{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-top:1px solid var(--border-soft);}
.activity-row:first-child{border-top:none;}
.act-ico{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.act-ico.ok{background:var(--success-bg);color:var(--success-ink);}
.act-ico.edit{background:var(--warn-bg);color:var(--warn-ink);}
.act-ico.up{background:var(--surface-sunk-2);color:var(--ink-3);}
.act-ico svg{width:12px;height:12px;}
.act-text{font-size:12px;}
.act-time{font-size:10.5px;color:var(--ink-4);margin-right:auto;flex-shrink:0;}

.filter-chips{display:flex;gap:6px;flex-wrap:wrap;}
.seg-tabs{display:flex;gap:4px;background:var(--surface-sunk-2);padding:3px;border-radius:12px;}
.seg-tab{font-size:11px;font-weight:700;color:var(--ink-3);padding:5px 11px;border-radius:9px;cursor:pointer;}
.seg-tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card);}
.chip{background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:700;padding:8px 14px;border-radius:11px;cursor:pointer;border:1px solid transparent;white-space:nowrap;box-shadow:var(--shadow-card);}
.chip.active{background:var(--solid);color:var(--solid-ink);}

.list-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden;}
.list-row{display:flex;align-items:center;gap:11px;padding:12px 14px;border-top:1px solid var(--border-soft);cursor:pointer;}
.list-row:first-child{border-top:none;}
.list-row:hover{background:var(--surface-sunk);}
.thumb{width:42px;height:42px;border-radius:var(--r-xs);background:var(--surface-sunk-2);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--ink-ph);}
.dash-q-row{display:flex;align-items:center;gap:13px;background:var(--surface-sunk);border-radius:14px;padding:12px 14px;}
.dash-q-row.danger{background:var(--danger-surface);}
.dash-q-thumb{width:40px;height:40px;border-radius:12px;background:var(--surface-neutral);flex-shrink:0;overflow:hidden;}
.dash-q-row.danger .dash-q-thumb{background:var(--danger-bg);}
.thumb svg{width:16px;height:16px;}
.row-title{font-size:12.5px;font-weight:700;}
.row-sub{font-size:10.5px;color:var(--ink-4);margin-top:2px;}
.badge{font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:var(--r-pill);white-space:nowrap;}
.badge-warn{background:var(--warn-bg);color:var(--warn-ink);}
.badge-danger{background:var(--danger-bg);color:var(--danger-ink);}
.badge-success{background:var(--success-bg);color:var(--success-ink);}
.badge-neutral{background:var(--surface-neutral);color:var(--ink-3);}
.q-list{background:var(--surface);border-radius:18px;overflow:hidden;}
.q-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid var(--border-soft);cursor:pointer;}
.q-row:first-child{border-top:none;}
.q-row:hover{background:var(--surface-sunk);}
.q-thumb{width:44px;height:44px;border-radius:13px;background:var(--bg);flex-shrink:0;overflow:hidden;}
.group-head{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:12.5px;font-weight:800;}
.group-head:first-child{margin-top:0;}
.group-dot{width:8px;height:8px;border-radius:50%;}
.group-dot.urgent{background:var(--danger-ink);}
.group-dot.today{background:var(--accent);}
.group-count{margin-right:auto;font-size:11px;color:var(--ink-4);font-weight:600;}

/* ============ Form / product page ============ */
.field-label{font-size:11px;color:var(--ink-3);margin-bottom:6px;display:block;font-weight:600;}
.field-label .req{color:var(--req);margin-right:3px;}
.field-input,select.field-input,textarea.field-input{width:100%;font-family:inherit;font-size:12.5px;padding:10px 12px;border-radius:13px;border:1.5px solid var(--border);background:var(--surface-sunk);color:var(--ink);outline:none;transition:border-color .15s;}
.field-input:focus{border-color:var(--accent);background:var(--accent-soft);}
.field-input::placeholder{color:var(--ink-ph);}
.field-input.readonly{background:var(--surface-neutral);color:var(--ink-3);}
.qc-edit-box,select.qc-edit-box,textarea.qc-edit-box{background:var(--surface-sunk-2);border:1.5px solid var(--border-strong);}
.field-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.brand-search-wrap{position:relative;}
.brand-search-dd{position:absolute;top:calc(100% + 4px);right:0;left:0;z-index:30;max-height:230px;overflow-y:auto;background:var(--surface);border:1.5px solid var(--border-strong);border-radius:13px;box-shadow:var(--shadow-md);padding:6px;}
.brand-search-item{padding:8px 10px;border-radius:9px;font-size:12.5px;cursor:pointer;}
.brand-search-item:hover{background:var(--surface-sunk-2);}
.brand-search-note{padding:8px 10px;font-size:11px;color:var(--ink-4);}
.chip-select{display:flex;flex-wrap:wrap;gap:8px;}
.chip-opt{padding:8px 15px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface-sunk);font-size:12px;font-weight:700;cursor:pointer;color:var(--ink-2);}
.chip-opt.active{background:var(--solid);color:var(--solid-ink);border-color:var(--solid);}

.stepper{display:flex;align-items:center;gap:0;background:var(--surface);border-radius:var(--r-md);padding:12px 18px;margin-bottom:14px;}
.step{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:var(--ink-3);flex:none;}
.step .num{width:24px;height:24px;border-radius:50%;background:var(--bg);color:var(--ink-ph);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.step.done{color:var(--ink-3);}
.step.done .num{background:var(--success-bg);color:var(--success-ink);}
.step.current{color:var(--ink);font-weight:800;}
.step.current .num{background:var(--accent);color:#fff;}
.step-line{flex:1;height:2px;background:var(--border);margin:0 14px;}

.form-grid{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start;}
@media(max-width:1180px){.form-grid{grid-template-columns:1fr;}.form-grid .side-col{position:static!important;order:2;}}
.side-col{position:sticky;top:18px;}
.title-preview-card{background:var(--surface);border:2px solid var(--solid);border-radius:var(--r-lg);padding:18px;}
[data-theme="dark"] .title-preview-card{border-color:var(--accent);}
.tp-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--ink);font-weight:800;margin-bottom:12px;}
.tp-dot{width:7px;height:7px;border-radius:50%;background:var(--success-ink);}
.tp-title{background:var(--surface-sunk);border-radius:var(--r-md);padding:14px;font-size:15px;font-weight:700;line-height:1.8;}
.tp-title-input{width:100%;background:var(--surface-sunk);border:1.5px solid var(--border);border-radius:var(--r-md);padding:14px;font-size:15px;font-weight:700;line-height:1.8;color:var(--ink);font-family:inherit;}
.tp-title-input:focus{outline:none;border-color:var(--accent);}
.tp-full-title{font-size:12px;color:var(--ink-3);margin-top:8px;padding:8px 10px;background:var(--surface-sunk-2);border-radius:10px;line-height:1.7;}
.tp-badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:var(--r-pill);margin-top:9px;}
.tp-badge.neutral{background:var(--surface-sunk-2);color:var(--ink-3);}
.tp-badge.success{background:var(--success-bg);color:var(--success-ink);}
.tp-badge.warn{background:var(--warn-bg);color:var(--warn-ink);}
.tp-revert{font-size:10.5px;font-weight:700;color:var(--accent-ink-on-surface);cursor:pointer;margin-right:8px;}
.tp-formula{font-size:11px;color:var(--ink-4);margin-top:12px;line-height:1.7;}

.donut-ring{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.donut-ring .inner{width:38px;height:38px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:700;}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.checklist li{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3);}
.checklist li.todo{color:var(--accent-ink-on-surface);font-weight:600;}
.chk-ico{display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.chk-ico svg{width:14px;height:14px;}

.digikala-block{background:var(--solid);border-radius:var(--r-lg);padding:18px 20px;display:flex;align-items:center;gap:16px;color:var(--solid-ink);position:relative;overflow:hidden;}
[data-theme="dark"] .digikala-block{background:#0E0F13;}
.digikala-block::before{content:'';position:absolute;inset:auto -40px -50px auto;width:160px;height:160px;border-radius:50%;background:rgba(245,114,10,.14);}
.digikala-block .dk-title, .gl-upload .dk-title{font-weight:800;font-size:14px;margin-bottom:3px;}
.digikala-block .dk-sub, .gl-upload .dk-sub{font-size:11.5px;opacity:.7;line-height:1.6;}
.digikala-block .dk-text-col, .gl-upload .dk-text-col{flex:1;position:relative;z-index:1;}
.digikala-block .dk-actions, .gl-upload .dk-actions{display:flex;gap:8px;flex-shrink:0;position:relative;z-index:1;}
.digikala-block input{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px 13px;color:inherit;opacity:.8;font-size:11.5px;font-family:var(--mono);direction:ltr;text-align:right;width:190px;}
.dk-load-bar{position:absolute;bottom:0;right:0;left:0;height:3px;background:rgba(255,255,255,.08);display:none;}
.dk-load-bar.show{display:block;}
.dk-load-stripe{position:absolute;top:0;bottom:0;width:35%;background:var(--accent);border-radius:2px;animation:dkSweep 1.1s ease-in-out infinite;}
@keyframes dkSweep{0%{right:-35%}50%{right:65%}100%{right:100%}}
@media (prefers-reduced-motion: reduce){.dk-load-stripe{animation:none;right:0;width:100%;}}
.dk-flash{width:42px;height:42px;border-radius:14px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;}

.field-block{background:var(--surface);border-radius:var(--r-lg);padding:18px 20px;margin-bottom:14px;}
.field-block-head{display:flex;align-items:center;gap:9px;margin-bottom:6px;}
.field-count-tag{background:var(--surface-sunk-2);color:var(--ink-4);font-size:10.5px;padding:3px 8px;border-radius:var(--r-pill);}
.field-block-head .guide-tag{background:var(--accent-soft);color:var(--accent-ink-on-surface);font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:var(--r-pill);}

/* QC page */
.qc-grid{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start;}
@media(max-width:1180px){.qc-grid{grid-template-columns:1fr;}}
.qc-item{padding:12px 13px;border-radius:14px;cursor:pointer;margin-bottom:6px;background:var(--surface-sunk);}
.qc-item.active{background:var(--solid);color:var(--solid-ink);}
.qc-item .qname{font-size:12px;font-weight:700;}
.qc-item .qsub{font-size:10.5px;opacity:.7;margin-top:3px;}
.compare-col{background:var(--surface-sunk);border-radius:var(--r-md);padding:14px;}
.compare-row{display:flex;justify-content:space-between;font-size:12px;padding:6px 0;border-top:1px solid var(--border-soft);}
.compare-row:first-child{border-top:none;}
.compare-row .k{color:var(--ink-4);}
.warn-bar{display:flex;gap:9px;align-items:flex-start;background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:13px;padding:11px 13px;font-size:11.5px;color:var(--warn-ink);margin:14px 0;}
.warn-bar svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;}

.tag-zoom-wrap{position:relative;}
.tag-zoom-box{position:relative;width:100%;aspect-ratio:1/1;border-radius:20px;overflow:hidden;background:var(--surface-sunk);border:1.5px solid var(--border);cursor:crosshair;}
.tag-zoom-box img{width:100%;height:100%;object-fit:contain;display:block;}
.tag-lens{position:absolute;width:110px;height:110px;border:2px solid var(--accent);background:rgba(245,114,10,.12);border-radius:12px;pointer-events:none;display:none;}
.tag-zoom-panel{position:absolute;top:0;left:calc(100% + 16px);width:320px;height:320px;border-radius:20px;overflow:hidden;background:var(--surface-sunk);border:1.5px solid var(--border);box-shadow:var(--shadow-card);z-index:40;display:none;}
.tag-zoom-panel-inner{position:absolute;width:280%;height:280%;background-repeat:no-repeat;background-size:cover;}
@media(max-width:1180px){.tag-zoom-panel{display:none!important;}}

/* Bulk upload */
.upload-grid{display:grid;grid-template-columns:1fr 300px;gap:16px;}
@media(max-width:1180px){.upload-grid{grid-template-columns:1fr;}}
.dropzone{border:2px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-sunk);padding:34px;text-align:center;}
.dropzone.drag{border-color:var(--accent);background:var(--accent-soft);}
.dz-ico{width:52px;height:52px;border-radius:18px;background:var(--accent-soft);color:var(--accent-ink-on-surface);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
table.data-table{width:100%;border-collapse:collapse;font-size:12px;}
table.data-table th{text-align:right;font-size:10.5px;color:var(--ink-4);font-weight:700;padding:9px 12px;background:var(--surface-sunk);text-transform:uppercase;letter-spacing:.03em;}
table.data-table td{padding:10px 12px;border-top:1px solid var(--border-soft);}
table.data-table tr.err td{background:var(--danger-surface);}
table.data-table tr.dup td{background:var(--warn-bg);}
.row-edit-btn{background:transparent;border:none;padding:6px;border-radius:8px;color:var(--ink-3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s;}
.row-edit-btn:hover{background:var(--surface-sunk);color:var(--accent);}
.dark-summary{background:var(--solid);color:var(--solid-ink);border-radius:var(--r-lg);padding:16px;}
.dark-summary .ds-row{display:flex;justify-content:space-between;font-size:12.5px;padding:7px 0;border-top:1px solid rgba(255,255,255,.1);}
.dark-summary .ds-row:first-child{border-top:none;}
.dark-summary .ds-num{font-family:var(--mono);font-weight:700;}

/* Categories */
.cat-tree{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden;}
.cat-l1{padding:14px;display:flex;align-items:center;gap:10px;cursor:pointer;border-top:1px solid var(--border-soft);}
.cat-l1:first-child{border-top:none;}
.cat-l1:hover{background:var(--surface-sunk);}
.cat-arrow{width:16px;text-align:center;color:var(--ink-4);transition:transform .15s;flex-shrink:0;}
.cat-l1.open .cat-arrow{transform:rotate(90deg);}
.cat-name{font-size:12.5px;font-weight:700;min-width:110px;}
.cov-track{width:80px;height:5px;border-radius:3px;background:var(--surface-neutral);overflow:hidden;}
.cov-track span{display:block;height:100%;background:var(--accent);}
.cov-sub{font-size:10px;color:var(--ink-4);white-space:nowrap;}
.cat-l1-body{display:none;background:var(--surface-sunk);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);padding:14px 14px 14px 46px;}
.cat-l1.open + .cat-l1-body{display:block;}
.cat-l2-title{font-size:11.5px;font-weight:700;color:var(--ink-3);margin:12px 0 8px;}
.cat-l2-title:first-child{margin-top:0;}
.cat-l3-row{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:11px;padding:10px 12px;margin-bottom:6px;font-size:12px;}
.cat-l3-row.no-guide{background:var(--surface-sunk-2);border:1px solid var(--warn-border);}

/* Guidelines */
.gl-upload{background:var(--solid);color:var(--solid-ink);border-radius:var(--r-lg);padding:20px 22px;display:flex;align-items:center;gap:18px;position:relative;overflow:hidden;}
.gl-upload::before{content:'';position:absolute;inset:auto -50px -60px auto;width:190px;height:190px;border-radius:50%;background:rgba(245,114,10,.13);}
[data-theme="dark"] .gl-upload{background:#0E0F13;}
[data-theme="dark"] .gl-upload{background:#0E0F13;}
.gl-draft{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:16px;margin-bottom:12px;}
.formula-chip{display:inline-flex;align-items:center;background:var(--surface-sunk);border:1px solid var(--border);border-radius:10px;padding:6px 12px;font-size:11.5px;font-weight:700;}
.formula-chip.special{background:var(--accent-soft);color:var(--accent-ink-on-surface);border-color:transparent;}
.formula-plus{color:var(--ink-4);font-weight:700;padding:0 3px;}
.json-box{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:12px;padding:12px;font-family:var(--mono);font-size:11px;direction:ltr;text-align:left;color:var(--warn-ink);}

/* Users */
.users-form-row{display:grid;grid-template-columns:1fr 1fr 150px 170px auto;gap:10px;align-items:end;}
@media(max-width:900px){.users-form-row{grid-template-columns:1fr 1fr;}}
table.users-table{width:100%;border-collapse:collapse;font-size:12px;}
table.users-table th{text-align:right;font-size:10.5px;color:var(--ink-4);padding:9px 12px;border-bottom:1px solid var(--border-soft);}
table.users-table td{padding:11px 12px;border-top:1px solid var(--border-soft);vertical-align:middle;}
.wl-track{width:52px;height:5px;border-radius:3px;background:var(--surface-neutral);display:inline-block;overflow:hidden;margin-left:6px;vertical-align:middle;}
.wl-track span{display:block;height:100%;background:var(--accent);}

/* Placeholder page */
.placeholder-wrap{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:50px 30px;text-align:center;}
.placeholder-ico{width:64px;height:64px;border-radius:18px;background:var(--accent-soft);color:var(--accent-ink-on-surface);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.placeholder-ico svg{width:28px;height:28px;}

/* helpers */
.flex{display:flex;} .items-center{align-items:center;} .justify-between{justify-content:space-between;} .gap-8{gap:8px;} .gap-12{gap:12px;}
.muted{color:var(--ink-4);} .mb-0{margin-bottom:0;}

/* ============ Mobile ============ */
.mobile-topbar{display:none;}
.bottom-nav{display:none;}
@media(max-width:768px){
  .sidebar{display:none;}
  .shell{display:block;}
  .main{padding:12px 14px 84px;}
  .mobile-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
  .mobile-topbar .sb-brand{padding:0;}
  .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:8px 6px 14px;z-index:20;box-shadow:0 -4px 16px rgba(0,0,0,.06);}
  .bn-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink-4);font-size:9.5px;font-weight:700;position:relative;padding:4px;}
  .bn-item svg{width:19px;height:19px;}
  .bn-item.active{color:var(--ink);}
  .bn-badge{position:absolute;top:-2px;left:calc(50% - 2px);background:var(--accent);color:#fff;font-size:9px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);}
  .field-row{grid-template-columns:1fr;}
  .stepper{overflow-x:auto;}
  .users-form-row{grid-template-columns:1fr;}
  .grid.stats-3{grid-template-columns:1fr 1fr!important;}
  .topbar{display:none;}
  .digikala-block,.gl-upload{flex-direction:column;align-items:flex-start!important;gap:14px!important;}
  .digikala-block .dk-actions,.gl-upload .dk-actions{width:100%;flex-direction:column;}
  .digikala-block .dk-actions input,.gl-upload .dk-actions input{width:100%!important;}
  .digikala-block .dk-actions .btn,.gl-upload .dk-actions .btn{width:100%;justify-content:center;}
  .digikala-block .dk-flash{margin-bottom:0;}
}
@media(min-width:769px) and (max-width:1180px){
  .sidebar{width:72px;}
  .sb-brand-name,.sb-brand-sub,.nav-item span.label,.nav-badge,.nav-chevron,.nav-children,.sb-user-name,.sb-user-role{display:none;}
  .nav-item,.sb-footer{justify-content:center;}
  .sb-brand{justify-content:center;}
}
.hide{display:none!important;}

/* ============ Login screen (two-column redesign) ============ */
.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;direction:rtl;}

/* ---- form column ---- */
.login-col-form{padding:38px 54px;background:var(--bg);display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;}
.login-form-inner{margin:auto 0;max-width:400px;width:100%;}
.login-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:28px;}
.login-mobile-brand svg{width:40px;height:40px;flex-shrink:0;}
.login-mobile-brand-name{font-size:16px;font-weight:800;color:var(--ink);}
.login-mobile-brand-sub{font-size:11px;color:var(--ink-4);}
.login-col-form h1{font-size:28px;font-weight:800;letter-spacing:-.7px;color:var(--ink);margin:0 0 8px;}
.login-form-sub{font-size:12.5px;color:var(--ink-4);line-height:1.8;margin:0 0 22px;}

.login-card{background:var(--surface);border-radius:20px;padding:22px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:14px;}
.login-err{background:var(--danger-surface);color:var(--danger-ink);border:1px solid var(--border);border-radius:11px;padding:9px 12px;font-size:11.5px;display:none;}
.login-err.show{display:block;}

.login-field-group{display:flex;flex-direction:column;gap:6px;}
.login-field-label{font-size:11.5px;color:var(--ink-3);font-weight:600;}
.login-field-label-row{display:flex;align-items:center;justify-content:space-between;}
.login-forgot{font-size:11.5px;color:var(--accent-ink-on-surface);text-decoration:none;}
.login-forgot:hover{text-decoration:underline;}

.login-input-wrap{position:relative;display:flex;align-items:center;}
.login-input{width:100%;font-family:inherit;font-size:12.5px;padding:12px 14px;border-radius:13px;border:1.5px solid var(--border);background:var(--surface-sunk);color:var(--ink);outline:none;transition:border-color .15s;}
.login-input:focus{border-color:var(--accent);}
.login-input::placeholder{color:var(--ink-ph);}
.login-input-mono::placeholder{font-family:var(--mono);}
.login-input.has-icon-r{padding-left:14px;padding-right:40px;}
.login-input.has-icon-l{padding-left:40px;}
.login-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--ink-ph);pointer-events:none;}
.login-icon.icon-r{right:14px;}
.login-icon.icon-l{left:14px;}
.login-eye-btn{position:absolute;top:50%;right:12px;transform:translateY(-50%);background:none;border:none;padding:4px;margin:0;cursor:pointer;color:var(--ink-ph);display:flex;line-height:0;}
.login-eye-btn:hover{color:var(--ink-2);}

.login-remember{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);cursor:pointer;user-select:none;}
.login-remember input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:6px;border:1.5px solid var(--border-strong);background:var(--surface-sunk);cursor:pointer;position:relative;flex-shrink:0;margin:0;}
.login-remember input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent);}
.login-remember input[type=checkbox]:checked::after{content:'';position:absolute;left:5px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}

.login-submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--solid-ink);border:none;border-radius:14px;padding:14px;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:filter .12s;}
.login-submit-btn:hover{filter:brightness(1.08);}
.login-submit-btn:disabled{opacity:.6;cursor:not-allowed;}
.login-submit-btn svg{stroke:var(--solid-ink);flex-shrink:0;}

.login-first-time-hint{margin-top:14px;display:flex;align-items:flex-start;gap:8px;background:var(--surface);border-radius:14px;padding:12px 15px;font-size:11.5px;color:var(--ink-3);line-height:1.7;}
.login-first-time-hint svg{color:var(--ink-4);flex-shrink:0;margin-top:1px;}

.login-footer{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--ink-ph);padding-top:22px;}
.login-footer a{color:inherit;text-decoration:none;}
.login-footer a:hover{text-decoration:underline;}
.login-footer-sep{width:1px;height:12px;background:var(--border-strong);}

/* ---- brand column (always dark, independent of site theme) ---- */
.login-col-brand{background:#191A1D;color:#fff;padding:38px 46px;position:relative;overflow:hidden;display:flex;flex-direction:column;}
.login-brand-decor{position:absolute;border-radius:50%;pointer-events:none;}
.login-brand-decor.d1{width:340px;height:340px;bottom:-90px;right:-90px;background:rgba(245,114,10,.13);filter:blur(2px);animation:loginDecor1 22s ease-in-out infinite;}
.login-brand-decor.d2{width:200px;height:200px;top:-60px;left:-60px;background:rgba(255,255,255,.03);animation:loginDecor2 28s ease-in-out infinite;}
.login-brand-decor.d3{width:150px;height:150px;left:-45px;bottom:32%;background:rgba(245,114,10,.07);filter:blur(4px);animation:loginDecor3 34s ease-in-out infinite;}
@keyframes loginDecor1{0%,100%{transform:translate(0,0);}50%{transform:translate(-26px,-24px);}}
@keyframes loginDecor2{0%,100%{transform:translate(0,0);}50%{transform:translate(22px,28px);}}
@keyframes loginDecor3{0%,100%{transform:translate(0,0);}50%{transform:translate(-20px,24px);}}
@media (prefers-reduced-motion:reduce){.login-brand-decor{animation:none!important;}}

.login-brand-mid{margin:auto 0;position:relative;z-index:1;}
.login-brand-logo-row{display:flex;align-items:center;gap:16px;margin-bottom:36px;}
.login-brand-logo-row svg{width:62px;height:62px;flex-shrink:0;}
.login-brand-name{font-size:30px;font-weight:800;letter-spacing:-1px;color:#fff;}
.login-brand-sub{font-size:12px;color:#8E9096;margin-top:2px;}
.login-brand-features{display:flex;flex-direction:column;gap:18px;padding-inline-start:68px;}
.login-brand-feature{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:#fff;}
.login-brand-feature svg{width:18px;height:18px;stroke:var(--accent);flex-shrink:0;}

@media (max-width:768px){
  .login-shell{grid-template-columns:1fr;}
  .login-col-brand{display:none;}
  .login-col-form{padding:28px 22px;}
  .login-mobile-brand{display:flex;}
}
.toast-wrap{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;}
.toast{background:var(--solid);color:var(--solid-ink);padding:10px 18px;border-radius:12px;font-size:12px;font-weight:700;box-shadow:var(--shadow-md);opacity:0;transform:translateY(8px);transition:all .2s;}
.toast.show{opacity:1;transform:translateY(0);}
.toast.err{background:var(--danger-ink);}
.toast.ok{background:var(--success-ink);}
.loading-row{padding:30px;text-align:center;color:var(--ink-4);font-size:12px;}
.spin{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .7s linear infinite;vertical-align:middle;margin-left:8px;}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes cs-spin{to{transform:rotate(360deg);}}
.role-hide{display:none!important;}
