:root{--bg:#f4f5f9;--surface:#fff;--surface-alt:#f8f9fc;--border:#e3e6ee;--border-strong:#cfd4e0;--text:#12172b;--text-2:#4a5170;--text-3:#8b90a8;--primary:#343436;--primary-dark:#1f1f21;--primary-light:#ececed;--brand-gray:#343436;--blue:#3452e0;--blue-dark:#2338a8;--blue-light:#eaedfc;--success:#12a56a;--success-light:#e5f8ee;--warning:#c8790a;--warning-light:#fdf1de;--danger:#d92d20;--danger-light:#fceceb;--radius:14px;--radius-sm:9px;--radius-pill:999px;--shadow:0 1px 2px #1018280a, 0 2px 8px #1018280d;--shadow-lg:0 8px 30px #1018281f;--topbar-h:80px;--sidebar-w:244px;--page-pad-x:clamp(20px, 2.2vw, 40px);--overlay:#10142873;--skeleton-hi:#eef0f7;--warning-text:#8a5b09;--focus-ring:0 0 0 3px #34343647;--coin-user:#ff5400;--coin-user-bg:#fff8f0;--coin-user-border:#ffe0c8;--accent:#ff5400;--accent-dark:#d94400;--accent-light:#fff3e8;--cat-1:#343436;--cat-2:#12a56a;--cat-3:#ff5400;--cat-4:#8b5cf6;--cat-5:#0891b2;--seq-1:#e4e4e6;--seq-2:#bdbdc1;--seq-3:#8e8e93;--seq-4:#5c5c61;--seq-5:#343436;--chart-grid:#e8eaf2;--chart-axis:#9aa2b8;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--title-weight:700;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--z-topbar:20;--z-dropdown:40;--z-overlay:50;--z-toast:80;--z-demo:90}*,:before,:after{box-sizing:border-box}html,body,#app{overscroll-behavior-x:contain;height:100%;margin:0;padding:0;overflow-x:hidden}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:14px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--title-weight);letter-spacing:-.015em;margin:0}::selection{background:var(--primary-light)}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.app-shell{width:100%;min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.page{width:100%;padding:var(--sp-5) var(--page-pad-x) var(--sp-12)}.block-wide{max-width:1520px;margin-inline:auto}.block-narrow{max-width:760px;margin-inline:auto}.block-form{max-width:620px;margin-inline:auto}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.card-pad{padding:var(--sp-5) var(--sp-6)}@media (width<=768px){.card-pad{padding:var(--sp-4)}}.grid{gap:var(--sp-4);display:grid}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.muted{color:var(--text-3)}.na{color:var(--text-3);font-style:italic}.flex{display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.divider{background:var(--border);height:1px;margin:var(--sp-5) 0;border:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1280px){:root{--sidebar-w:216px}}@media (width<=1024px){:root{--sidebar-w:68px}}@media (width<=768px){:root{--sidebar-w:0px;--page-pad-x:16px}.page{padding:var(--sp-4) var(--page-pad-x) var(--sp-8)}.app-main{overflow-x:clip}.grid-auto{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr))}}.nav-veu{display:none}@media (width<=768px){.nav-veu{z-index:calc(var(--z-topbar) - 1);cursor:pointer;background:#0f172a73;border:0;padding:0;display:block;position:fixed;inset:0}}:where(div:has(>[role=dialog])){overscroll-behavior:contain;overflow-y:auto}:where([role=dialog]){max-height:calc(100dvh - var(--sp-6));flex-direction:column;display:flex}:where([role=dialog]>.body){flex:auto;min-height:0;overflow-y:auto}:where([role=dialog]>footer){flex-wrap:wrap}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
