@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root,[data-theme=dark]{--color-brand-500: #b71c50;--color-brand-600: #9e1844;--color-brand-700: #801235;--color-surface: #18181a;--color-surface-2: #222226;--color-surface-3: #2a2a2e;--color-surface-4: #333334;--color-border: #333334;--color-text-1: #f5f5f7;--color-text-2: #d0d0d5;--color-text-3: #8f8f8f;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #b71c50;--color-info: #3b82f6}[data-theme=light]{--color-surface: #f4f5f8;--color-surface-2: #ffffff;--color-surface-3: #eaecee;--color-surface-4: #d8dade;--color-border: #e0e2e6;--color-text-1: #18181a;--color-text-2: #4a4a4e;--color-text-3: #75757a;--color-brand-500: #b71c50;--color-brand-600: #9e1844}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:Inter,system-ui,sans-serif;background-color:var(--color-surface);color:var(--color-text-1);line-height:1.6;min-height:100vh}#root{display:flex;min-height:100vh;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface-2)}::-webkit-scrollbar-thumb{background:var(--color-surface-4);border-radius:3px}:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:14px;padding:1.5rem}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.badge-success{background:rgba(34,197,94,.15);color:var(--color-success)}.badge-warning{background:rgba(245,158,11,.15);color:var(--color-warning)}.badge-danger{background:rgba(183,28,80,.15);color:var(--color-brand-500)}.badge-info{background:rgba(59,130,246,.15);color:var(--color-info)}.badge-neutral{background:var(--color-surface-4);color:var(--color-text-2)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:9px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;white-space:nowrap;transition:all .15s cubic-bezier(.4,0,.2,1);touch-action:manipulation}.btn-primary{background:var(--color-brand-500);color:#fff}.btn-primary:hover{background:var(--color-brand-600)}.btn-ghost{background:transparent;color:var(--color-text-2);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-surface-3);color:var(--color-text-1)}.input{width:100%;background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-1);font-size:.875rem;padding:11px 14px;outline:none;font-family:inherit}.input:focus{border-color:var(--color-brand-500)}.sidebar{width:260px;min-height:100vh;background:var(--color-surface-2);border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;transition:transform .25s cubic-bezier(.4,0,.2,1),width .2s;z-index:50}.sidebar.collapsed{width:68px}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-2);gap:1rem;position:sticky;top:0;z-index:10}.page-content{padding:2rem 1.5rem;flex:1;overflow-y:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .2s ease forwards}.spinner{width:16px;height:16px;border:2px solid var(--color-surface-4);border-top-color:var(--color-brand-500);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-only{display:none!important}.desktop-only{display:flex!important}@media (max-width: 768px){.mobile-only{display:flex!important}.desktop-only{display:none!important}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px!important;transform:translate(-100%);box-shadow:0 0 30px #00000080}.sidebar:not(.collapsed){transform:translate(0)}.topbar{padding:.875rem 1rem}.page-content{padding:1.25rem 1rem}.card{padding:1.125rem;border-radius:12px}}
