/* EYWAL design tokens + nền tảng (gộp 2026-11-09). Một bộ token, nạp TRƯỚC eywal.css. */
:root,:root[data-bs-theme="light"]{--t-bg:#fafaf9;--t-side:#f4f4f3;--t-card:#ffffff;--t-elev:#f4f4f5;--t-bd:rgba(0,0,0,.08);--t-bd2:rgba(0,0,0,.14);--t-tx:#18181b;--t-tx2:#52525b;--t-tx3:#63636b;--t-acc:#4f46e5;--t-acc-h:#4338ca;--t-acc-soft:rgba(79,70,229,.08);--t-acc-tx:#3730a3;--t-danger:#dc2626;--t-danger-soft:rgba(220,38,38,.06);--t-shadow:0 1px 2px rgba(0,0,0,.05);--t-r:12px;--t-r-btn:10px;--t-r-in:16px;--t-font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--t-ease:150ms ease}
:root[data-bs-theme="dark"]{--t-bg:#18181b;--t-side:#141417;--t-card:#222226;--t-elev:#2a2a2f;--t-bd:rgba(255,255,255,.08);--t-bd2:rgba(255,255,255,.14);--t-tx:#f4f4f5;--t-tx2:#a1a1aa;--t-tx3:#a1a1aa;--t-acc:#4f46e5;--t-acc-h:#4338ca;--t-acc-soft:rgba(99,102,241,.14);--t-acc-tx:#c7d2fe;--t-danger:#f87171;--t-danger-soft:rgba(248,113,113,.08);--t-shadow:0 1px 2px rgba(0,0,0,.3)}
:root,:root[data-bs-theme],.eywal-projects,.eywal-pd,[data-ey-chat-surface],:root[data-bs-theme] .eywal-projects,:root[data-bs-theme] .eywal-pd,:root[data-bs-theme] [data-ey-chat-surface]{--ey-bg:var(--t-bg);--ey-bg-side:var(--t-side);--ey-bg-elev:var(--t-elev);--ey-bg-elev2:var(--t-elev);--ey-card:var(--t-card);--ey-hover:var(--t-acc-soft);--ey-active:var(--t-acc-soft);--ey-bd:var(--t-bd);--ey-bd2:var(--t-bd2);--ey-tx:var(--t-tx);--ey-tx2:var(--t-tx2);--ey-tx3:var(--t-tx3);--ey-acc:var(--t-acc);--ey-acc2:var(--t-acc-h);--ey-acc-soft:var(--t-acc-soft);--ey-focus:var(--t-acc);--ey-shadow:var(--t-shadow);--ey-serif:var(--t-font);--ey-sans:var(--t-font);--pd-muted:var(--t-tx2);--ey-chat-composer-bg:var(--t-card);--ey-chat-composer-border:var(--t-bd2);--ey-chat-user-bg:var(--t-acc-soft);--ey-chat-user-text:var(--t-tx);--ey-chat-border:var(--t-bd);--ey-chat-muted:var(--t-tx2);--ey-chat-text:var(--t-tx)}
html,body{background:var(--t-bg)!important;color:var(--t-tx);font-family:var(--t-font)!important;font-size:15px;line-height:1.6}
h1,h2,h3,h4,h5,h6,.page-h,.ces-title,.chat-empty-title{font-family:var(--t-font)!important;font-weight:600!important;color:var(--t-tx);letter-spacing:-.01em}
.page-s,.text-secondary,.text-muted,small{color:var(--t-tx2)!important}
a{color:var(--t-acc-tx)}
a,button,.btn,input,select,textarea,.item,.side-tab,.chat-item{transition:color .15s,background-color .15s,border-color .15s,opacity .15s!important}
:focus-visible{outline:2px solid var(--t-acc)!important;outline-offset:2px}
.ey-orb,.ey-scan{display:none!important}
.card,.ui-panel,.soft,.pd-card,.tbl,.obj{background:var(--t-card)!important;background-image:none!important;border:1px solid var(--t-bd)!important;border-radius:var(--t-r)!important;box-shadow:var(--t-shadow)!important}
.btn{border-radius:var(--t-r-btn)!important;font-weight:500;min-height:36px}
.btn-primary,.btn.primary{background:var(--t-acc)!important;border-color:var(--t-acc)!important;color:#fff!important}
.btn-primary:hover,.btn.primary:hover{background:var(--t-acc-h)!important;border-color:var(--t-acc-h)!important}
.btn-outline-primary{color:var(--t-acc)!important;border-color:var(--t-bd2)!important;background:transparent!important}
.btn-outline-primary:hover{background:var(--t-acc-soft)!important}
.btn-outline-danger,.btn-unlink{background:var(--t-danger-soft)!important;color:var(--t-danger)!important;border:1px solid color-mix(in srgb,var(--t-danger) 35%,transparent)!important}
.badge{border-radius:999px!important;font-weight:500}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not(.hidden),select,textarea:not(.composer textarea){background:var(--t-card)!important;color:var(--t-tx)!important;border:1px solid var(--t-bd2)!important;border-radius:var(--t-r-btn)!important;font-family:var(--t-font)!important}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select{min-height:40px}
input:focus,select:focus,textarea:focus{border-color:var(--t-acc)!important;box-shadow:0 0 0 3px var(--t-acc-soft)!important;outline:none}
::placeholder{color:var(--t-tx3)!important;opacity:1}
