*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #09090b;--s1: #0f0f12;--s2: #16161a;--border: #232328;--border-hover: #3a3a42;--accent: #ffffff;--a2: #a1a1aa;--green: #22c55e;--red: #ef4444;--yellow: #eab308;--blue: #3b82f6;--indigo: #6366f1;--text: #fafafa;--muted: #71717a;--sub: #a1a1aa;--card: #0f0f12;--card-hover: #18181d;--card-glass: rgba(255,255,255,.03);--shadow: 0 1px 3px rgba(0,0,0,.5), 0 1px 2px rgba(0,0,0,.4);--shadow-lg: 0 4px 16px rgba(0,0,0,.5);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%;background:var(--bg);overflow-x:hidden}button{font-family:inherit;cursor:pointer;transition:all .15s ease}button:disabled{opacity:.35;cursor:not-allowed}button:active:not(:disabled){transform:scale(.97)}button:hover:not(:disabled){filter:brightness(1.12)}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}input,select{font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus{outline:none;border-color:var(--indigo)!important;box-shadow:0 0 0 3px #6366f11f}a{transition:color .15s ease}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::selection{background:#6366f140;color:#fff}.skeleton{background:linear-gradient(90deg,var(--s2) 25%,var(--border) 50%,var(--s2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}@keyframes spin{from {transform: rotate(0deg);} to {transform: rotate(360deg);} @keyframes stagger-in {from {opacity: 0; transform: translateY(10px);} to {opacity: 1; transform: translateY(0);}} @keyframes shake {0%,100% {transform: translateX(0);} 20%,60% {transform: translateX(-6px);} 40%,80% {transform: translateX(6px);}} @keyframes bounce-in {0% {transform: scale(.95);} 50% {transform: scale(1.02);} 100% {transform: scale(1);}} @keyframes check-draw {from {stroke-dashoffset: 24;} to {stroke-dashoffset: 0;}} @keyframes slide-in-right {from {opacity: 0; transform: translateX(20px);} to {opacity: 1; transform: translateX(0);}} :focus-visible {outline: 2px solid var(--indigo); outline-offset: 2px;} :focus:not(:focus-visible) {outline: none;} @media (max-width: 768px) {button,a[role="button"],[role="button"] {min-height: 44px; min-width: 44px;} header button {min-width: unset; min-height: unset; padding: 6px 10px !important;} .main-content {margin-left: 0 !important;} .grid-2 {grid-template-columns: 1fr !important;} .page-container {padding: 12px !important;} .stats-grid-4 {grid-template-columns: repeat(2,1fr) !important;}} @media (max-width: 1024px) and (min-width: 769px) {.stats-grid-4 {grid-template-columns: repeat(2,1fr) !important;} .grid-3 {grid-template-columns: repeat(2,1fr) !important;}} @media (pointer: coarse) {input,select,textarea {min-height: 44px; font-size: 16px !important;} button {min-height: 44px;}} [cmdk-item][aria-selected=true] {background: rgba(99,102,241,.12); color: var(--text);} [cmdk-item] {border-radius: 8px; transition: background .1s;} [cmdk-group-heading] {font-size: 10px !important; letter-spacing: 1.2px; text-transform: uppercase; color: var(--muted) !important; padding: 8px 12px 4px !important; font-weight: 700;} [cmdk-separator] {background: var(--border); height: 1px; margin: 4px 0;} @media (prefers-reduced-motion: reduce) {*,*::before,*::after {animation-duration: .01ms !important; transition-duration: .01ms !important;}} @font-face {font-family: "Geist"; src: url(/app/fonts/Geist-Variable.woff2) format("woff2"); font-weight: 100 900; font-display: swap;} @font-face {font-family: "Geist Mono"; src: url(/app/fonts/GeistMono-Medium.woff2) format("woff2"); font-weight: 500; font-display: swap;} @font-face {font-family: "Geist Mono"; src: url(/app/fonts/GeistMono-Bold.woff2) format("woff2"); font-weight: 700 900; font-display: swap;} :root,[data-theme="dark"] { --bg: #09090b; --s1: #0f0f12; --s2: #16161a; --s3: #1c1c21; --border: #232328; --border-hover: #3a3a42; --accent: #ffffff; --a2: #a1a1aa; --accent-blue: #60a5fa; --accent-purple: #a78bfa; --green: #22c55e; --red: #ef4444; --yellow: #eab308; --blue: #3b82f6; --indigo: #6366f1; --text: #fafafa; --muted: #71717a; --sub: #a1a1aa; --card: #0f0f12; --card-hover: #18181d; --card-glass: rgba(15, 15, 18, .75); --overlay: rgba(0, 0, 0, .6); --shadow: 0 1px 3px rgba(0,0,0,.5), 0 1px 2px rgba(0,0,0,.4); --shadow-lg: 0 4px 16px rgba(0,0,0,.5); --shadow-glow: 0 0 24px rgba(99,102,241,.1); --radius: 12px; --radius-sm: 8px; --radius-lg: 16px; --radius-xl: 20px; --sidebar-w: 230px; --header-h: 56px; --badge-success-bg: rgba(34,197,94,.08); --badge-success-text: #22c55e; --badge-success-border: rgba(34,197,94,.15); --badge-error-bg: rgba(239,68,68,.08); --badge-error-text: #ef4444; --badge-error-border: rgba(239,68,68,.15); --badge-warning-bg: rgba(234,179,8,.08); --badge-warning-text: #eab308; --badge-warning-border: rgba(234,179,8,.15); --badge-info-bg: rgba(59,130,246,.08); --badge-info-text: #3b82f6; --badge-info-border: rgba(59,130,246,.15); --badge-neutral-bg: rgba(82,82,91,.08); --badge-neutral-text: var(--muted); --badge-neutral-border: rgba(82,82,91,.15); --badge-indigo-bg: rgba(99,102,241,.08); --badge-indigo-text: #818cf8; --badge-indigo-border: rgba(99,102,241,.15); --badge-purple-bg: rgba(167,139,250,.08); --badge-purple-text: #a78bfa; --badge-purple-border: rgba(167,139,250,.15); --gradient-avatar: linear-gradient(135deg, #27272a, #3f3f46); --gradient-card-hover: linear-gradient(135deg, var(--s1), var(--s2)); --space-xs: 4px; --space-sm: 8px; --space-md: 16px; --space-lg: 24px; --space-xl: 32px; } [data-theme="light"] { --bg: #f8f9fb; --s1: #ffffff; --s2: #f1f3f5; --s3: #e9ecef; --border: #e2e6ea; --border-hover: #c8ced4; --accent: #09090b; --a2: #495057; --text: #09090b; --muted: #8b919a; --sub: #495057; --card: #ffffff; --card-hover: #f8f9fa; --card-glass: rgba(255, 255, 255, .8); --overlay: rgba(0, 0, 0, .25); --shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.03); --shadow-lg: 0 4px 16px rgba(0,0,0,.08); --shadow-glow: 0 0 24px rgba(99,102,241,.05); --badge-success-bg: rgba(34,197,94,.1); --badge-success-text: #16a34a; --badge-success-border: rgba(34,197,94,.2); --badge-error-bg: rgba(239,68,68,.1); --badge-error-text: #dc2626; --badge-error-border: rgba(239,68,68,.2); --badge-warning-bg: rgba(234,179,8,.1); --badge-warning-text: #ca8a04; --badge-warning-border: rgba(234,179,8,.2); --badge-info-bg: rgba(59,130,246,.1); --badge-info-text: #2563eb; --badge-info-border: rgba(59,130,246,.2); --badge-neutral-bg: rgba(107,114,128,.08); --badge-neutral-text: var(--muted); --badge-neutral-border: rgba(107,114,128,.15); --badge-indigo-bg: rgba(99,102,241,.1); --badge-indigo-text: #4f46e5; --badge-indigo-border: rgba(99,102,241,.2); --badge-purple-bg: rgba(167,139,250,.1); --badge-purple-text: #7c3aed; --badge-purple-border: rgba(167,139,250,.2); --gradient-avatar: linear-gradient(135deg, #d4d4d8, #a1a1aa); --gradient-card-hover: linear-gradient(135deg, var(--s1), var(--s2)); --space-xs: 4px; --space-sm: 8px; --space-md: 16px; --space-lg: 24px; --space-xl: 32px; } @media (max-width: 768px) {:root,[data-theme="dark"],[data-theme="light"] { --sidebar-w: 0px; --sidebar-real-w: 260px; }}}
