:root{--primary:#1967d2;--primary-light:#3b82f6;--primary-dark:#0f4ca8;--green:#0f9f6e;--green-dark:#087852;--teal:#18b8a6;--danger:#d92d20;--danger-dark:#b42318;--warning:#d97706;--ink:#101828;--ink-soft:#344054;--paper:#fbfcf8;--paper-strong:#fff;--line:#d7dde6;--line-soft:#e8edf3;--sidebar-bg:#0d1b2a;--sidebar-hover:#ffffff12;--sidebar-active:#18b8a62e;--sidebar-text:#b8c5d6;--sidebar-text-active:#fff;--sidebar-border:#ffffff1a;--sidebar-section:#7d90a8;--sidebar-width:252px;--bg:#eef2f6;--surface:#fff;--border:var(--line);--text:var(--ink);--text-muted:#667085;--text-light:#98a2b3;--shadow-sm:0 1px 2px #10182814;--shadow-md:0 14px 40px #1018281f;--shadow-lg:0 22px 70px #1018282e;--radius:8px;--radius-sm:6px;--radius-lg:8px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;font-family:Aptos,Segoe UI Variable,Segoe UI,sans-serif;font-size:16px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(#10182809 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#10182809 1px,#0000 1px) 0 0/28px 28px,linear-gradient(#f8fafc 0%,#edf2f7 46%,#e9eff5 100%);min-height:100vh}button,input,select,textarea{font:inherit}button{letter-spacing:0}#app{flex-direction:column;min-height:100vh;display:flex}.btn{border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;min-height:40px;padding:.58rem 1rem;font-size:.86rem;font-weight:800;line-height:1;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s,color .16s;display:inline-flex}.btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 24px #1967d238}.btn-primary:not(:disabled):hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 14px 30px #1967d247}.btn-dark{background:var(--ink);color:#fff}.btn-dark:not(:disabled):hover{background:#060b13;transform:translateY(-1px)}.btn-green{background:var(--green);color:#fff}.btn-green:not(:disabled):hover{background:var(--green-dark)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:not(:disabled):hover{background:var(--danger-dark)}.btn-ghost{color:var(--ink-soft);border-color:var(--line);background:#fff}.btn-ghost:not(:disabled):hover{color:var(--ink);background:#f4f7fb;border-color:#b8c4d4}.btn-sm{min-height:32px;padding:.4rem .75rem;font-size:.78rem}.btn-lg{min-height:46px;padding:.78rem 1.4rem;font-size:.94rem}.badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:.2rem .62rem;font-size:.7rem;font-weight:900;line-height:1;display:inline-flex}.badge-blue{color:#1d4ed8;background:#dbeafe}.badge-green{color:#087852;background:#dcfce7}.badge-orange{color:#b45309;background:#ffedd5}.badge-red{color:#b42318;background:#fee4e2}.badge-gray{color:#475467;background:#eef2f6}.badge-dark{background:var(--ink);color:#edf2f7}.card{border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb}.app-shell{min-height:100vh;display:flex}.app-main{min-width:0;margin-left:var(--sidebar-width);flex-direction:column;flex:1;display:flex}.topbar{z-index:50;border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;align-items:center;gap:1rem;min-height:68px;padding:0 1.6rem;display:flex;position:sticky;top:0;box-shadow:0 1px #1018280a}.page-content{flex:1;padding:1.4rem 1.6rem 2rem;overflow-y:auto}.w-full{width:100%}.text-muted{color:var(--text-muted)}@keyframes surface-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-content>*{animation:.38s both surface-in}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=760px){:root{--sidebar-width:224px}.topbar{padding:0 1rem}.page-content{padding:1rem}}
