:root{--portal-bg:#F7F8FA;--portal-bg-white:#FFFFFF;--portal-bg-sidebar:#FFFFFF;--portal-bg-card:#FFFFFF;--portal-bg-muted:#F1F3F5;--portal-bg-hover:#F5F5F7;--portal-border:#E5E7EB;--portal-border-light:#F0F0F2;--portal-text-primary:#111827;--portal-text-secondary:#4B5563;--portal-text-muted:#9CA3AF;--portal-text-faint:#D1D5DB;--portal-accent:#111827;--portal-accent-light:#374151;--portal-green:#10B981;--portal-green-light:#D1FAE5;--portal-blue:#3B82F6;--portal-blue-light:#DBEAFE;--portal-yellow:#47BFAF;--portal-yellow-light:#E6F7F5;--portal-yellow-dark:#379E90;--portal-yellow-border:#47BFAF;--portal-shadow-sm:0 1px 2px rgba(0,0,0,0.04);--portal-shadow-md:0 2px 8px rgba(0,0,0,0.06),0 0 1px rgba(0,0,0,0.04);--portal-shadow-lg:0 4px 16px rgba(0,0,0,0.08);--portal-radius:12px;--portal-radius-sm:8px;--portal-radius-lg:16px;--transition:all 0.2s ease;--ff-purple:#502e89;--ff-purple-tint:#efeaf6;--ff-teal:#46c0af;--ff-teal-deep:#2f9f90;--ff-teal-tint:#e0f1ef;--ff-rose:#cc4f6b;--ff-rose-deep:#b13e59;--ff-rose-tint:#f8e8ec;--ff-sand:#efdb8e;--ff-sand-tint:#faf4de;--ff-ink:#404a4b;--ff-slate:#485468;--ff-slate-mute:#7c8798;--ff-line:#e0e2e5;--ff-paper:#f7f8f9;--ff-text-display:var(--ff-ink);--ff-text-body:var(--ff-slate);--ff-text-muted:var(--ff-slate-mute);--ff-text-accent:var(--ff-teal);--ff-text-link:var(--ff-rose);--ff-surface-page:var(--ff-paper);--ff-border-default:var(--ff-line);--ff-action-primary:var(--ff-rose);--ff-action-primary-hover:var(--ff-rose-deep);--ff-font-display:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;--ff-font-text:"Segoe UI",Helvetica,Arial,sans-serif;--ff-font-button:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;--ff-ls-label:.06em;--ff-ls-eyebrow:.12em;--ff-radius-md:12px;--ff-radius-xl:24px;--ff-radius-2xl:32px;--ff-radius-pill:999px;--ff-shadow-sm:0 2px 6px rgba(64,74,75,.08);--ff-shadow-card:0 8px 24px rgba(64,74,75,.10);--ff-shadow-lift:0 18px 44px rgba(64,74,75,.16);--ff-ease-out:cubic-bezier(.22,.61,.36,1);--ff-dur-base:220ms;--ff-dur-fast:120ms;--ff-w:1120px;--ff-gap:24px}@media (max-width:620px){:root{--ff-gap:14px}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;background:var(--portal-bg);color:var(--portal-text-primary);min-height:100vh}input:focus,select:focus,textarea:focus{outline:none}button{cursor:pointer;font-family:DM Sans,sans-serif}@keyframes spin{to{transform:rotate(1turn)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:3px}