:root,[data-theme=light],.theme-light{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-card: #ffffff;--bg-card-hover: #f8fafc;--bg-surface: #ffffff;--bg-surface-subtle: #f8fafc;--bg-glass: rgba(255, 255, 255, .95);--bg-dropdown: #ffffff;--bg-modal: #ffffff;--bg-sidebar: #ffffff;--bg-navbar: #ffffff;--border-color: #e2e8f0;--border-light: #cbd5e1;--border-focus: #2563eb;--border-subtle: rgba(0, 0, 0, .06);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent-primary: #2563eb;--accent-primary-hover: #1d4ed8;--accent-secondary: #0f172a;--accent-gradient: linear-gradient(135deg, #0f172a 0%, #334155 100%);--accent-glow: 0 1px 3px rgba(0, 0, 0, .08);--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #0ea5e9;--color-purple: #8b5cf6;--badge-success-bg: #ecfdf5;--badge-success-text: #047857;--badge-success-border: #a7f3d0;--badge-warning-bg: #fffbeb;--badge-warning-text: #b45309;--badge-warning-border: #fde68a;--badge-danger-bg: #fef2f2;--badge-danger-text: #b91c1c;--badge-danger-border: #fecaca;--badge-info-bg: #f0f9ff;--badge-info-text: #0369a1;--badge-info-border: #bae6fd;--badge-purple-bg: #faf5ff;--badge-purple-text: #6d28d9;--badge-purple-border: #e9d5ff;--badge-neutral-bg: #f1f5f9;--badge-neutral-text: #475569;--badge-neutral-border: #e2e8f0;--btn-primary-bg: #0f172a;--btn-primary-text: #ffffff;--btn-primary-hover: #1e293b;--btn-primary-shadow: 0 1px 2px rgba(0, 0, 0, .08);--btn-secondary-bg: #ffffff;--btn-secondary-text: #0f172a;--btn-secondary-border: #e2e8f0;--btn-secondary-hover: #f8fafc;--input-bg: #ffffff;--input-border: #cbd5e1;--input-text: #0f172a;--input-placeholder: #94a3b8;--input-focus-border: #2563eb;--input-focus-ring: rgba(37, 99, 235, .12);--shadow-subtle: 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, .06), 0 1px 2px -1px rgba(0, 0, 0, .06);--shadow-elevated: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .03);--scrollbar-thumb: rgba(0, 0, 0, .15);--scrollbar-thumb-hover: rgba(0, 0, 0, .28);--shimmer-1: rgba(0, 0, 0, .04);--shimmer-2: rgba(0, 0, 0, .08)}[data-theme=dark],.theme-dark{--bg-primary: #313338;--bg-secondary: #2b2d31;--bg-tertiary: #1e1f22;--bg-card: #2b2d31;--bg-card-hover: #35373c;--bg-surface: #2b2d31;--bg-surface-subtle: #232428;--bg-glass: rgba(43, 45, 49, .95);--bg-dropdown: #232428;--bg-modal: #313338;--bg-sidebar: #2b2d31;--bg-navbar: #1e1f22;--border-color: #383a40;--border-light: #4e5058;--border-focus: #5865f2;--border-subtle: rgba(255, 255, 255, .05);--text-primary: #f2f3f5;--text-secondary: #dbdee1;--text-muted: #949ba4;--accent-primary: #5865f2;--accent-primary-hover: #4752c4;--accent-secondary: #f2f3f5;--accent-gradient: linear-gradient(135deg, #5865f2 0%, #4752c4 100%);--accent-glow: 0 4px 14px rgba(88, 101, 242, .35);--color-success: #23a55a;--color-warning: #f0b232;--color-danger: #f23f43;--color-info: #5865f2;--color-purple: #eb459e;--badge-success-bg: rgba(35, 165, 90, .16);--badge-success-text: #2ecc71;--badge-success-border: rgba(35, 165, 90, .3);--badge-warning-bg: rgba(240, 178, 50, .16);--badge-warning-text: #f1c40f;--badge-warning-border: rgba(240, 178, 50, .3);--badge-danger-bg: rgba(242, 63, 67, .16);--badge-danger-text: #ff7377;--badge-danger-border: rgba(242, 63, 67, .3);--badge-info-bg: rgba(88, 101, 242, .16);--badge-info-text: #7983f5;--badge-info-border: rgba(88, 101, 242, .3);--badge-purple-bg: rgba(235, 69, 158, .16);--badge-purple-text: #f47fff;--badge-purple-border: rgba(235, 69, 158, .3);--badge-neutral-bg: rgba(148, 155, 164, .14);--badge-neutral-text: #dbdee1;--badge-neutral-border: rgba(148, 155, 164, .22);--btn-primary-bg: #5865f2;--btn-primary-text: #ffffff;--btn-primary-hover: #4752c4;--btn-primary-shadow: 0 4px 14px rgba(88, 101, 242, .35);--btn-secondary-bg: #383a40;--btn-secondary-text: #f2f3f5;--btn-secondary-border: #4e5058;--btn-secondary-hover: #404249;--input-bg: #1e1f22;--input-border: #383a40;--input-text: #f2f3f5;--input-placeholder: #949ba4;--input-focus-border: #5865f2;--input-focus-ring: rgba(88, 101, 242, .25);--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .25);--shadow-card: 0 4px 12px rgba(0, 0, 0, .3);--shadow-elevated: 0 12px 32px rgba(0, 0, 0, .55);--scrollbar-thumb: #1a1b1e;--scrollbar-thumb-hover: #111214;--shimmer-1: rgba(255, 255, 255, .035);--shimmer-2: rgba(255, 255, 255, .075)}:root{--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--font-main: -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Monaco, Consolas, monospace;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;min-height:-webkit-fill-available;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--shimmer-1) 25%,var(--shimmer-2) 37%,var(--shimmer-1) 63%);background-size:200% 100%;animation:skeletonShimmer 1.5s cubic-bezier(.4,0,.2,1) infinite;border-radius:var(--radius-sm);display:inline-block}.glass-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.glass-panel-interactive:hover{background:var(--bg-card-hover);border-color:var(--border-light);transform:translateY(-1px);box-shadow:var(--shadow-elevated)}.app-container{display:flex;min-height:100vh;background:var(--bg-primary);position:relative;transition:background-color .2s ease}.desktop-sidebar{display:none}@media(min-width:1024px){.desktop-sidebar{display:flex!important;flex-direction:column;height:100vh;position:sticky;top:0;z-index:40;background:var(--bg-sidebar);border-right:1px solid var(--border-color);transition:width .25s cubic-bezier(.4,0,.2,1),background-color .2s ease,border-color .2s ease;flex-shrink:0;overflow:hidden}.desktop-sidebar.expanded{width:250px}.desktop-sidebar.collapsed{width:68px}}.mobile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;animation:fadeIn .15s ease-out}.mobile-drawer-content{width:300px;max-width:86vw;height:100dvh;max-height:100dvh;background:var(--bg-card);border-right:1px solid var(--border-color);display:flex;flex-direction:column;box-shadow:var(--shadow-elevated);animation:slideDrawer .25s cubic-bezier(.16,1,.3,1);overflow:hidden;padding-top:max(env(safe-area-inset-top,0px),0px);padding-bottom:max(env(safe-area-inset-bottom,0px),16px)}@keyframes slideDrawer{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-bottom-nav{position:fixed;bottom:calc(12px + var(--safe-area-bottom));left:50%;transform:translate(-50%);width:calc(100% - 24px);max-width:420px;height:58px;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:9999px;display:flex;align-items:center;justify-content:space-between;padding:0 6px;z-index:100;box-shadow:var(--shadow-elevated);animation:floatUp .3s cubic-bezier(.16,1,.3,1)}@keyframes floatUp{0%{transform:translate(-50%,30px);opacity:0}to{transform:translate(-50%);opacity:1}}@media(min-width:1024px){.mobile-bottom-nav{display:none!important}}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;padding-bottom:calc(90px + var(--safe-area-bottom));background:var(--bg-primary);transition:background-color .2s ease}@media(min-width:1024px){.main-content{padding-bottom:32px}}.sidebar-tooltip{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--bg-dropdown);color:var(--text-primary);font-size:12px;font-weight:600;padding:5px 10px;border-radius:var(--radius-sm);white-space:nowrap;box-shadow:var(--shadow-card);border:1px solid var(--border-color);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease;z-index:999}.sidebar-nav-button:hover .sidebar-tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translate(2px)}.page-container{padding:20px 16px calc(100px + var(--safe-area-bottom)) 16px;max-width:1600px;width:100%;margin:0 auto}@media(min-width:768px){.page-container{padding:24px 28px 32px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--font-main);font-size:13px;font-weight:600;padding:8px 14px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);text-decoration:none;line-height:1.2}.btn:active{transform:scale(.98)}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:var(--btn-primary-shadow)}.btn-primary:hover{background:var(--btn-primary-hover)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border)}.btn-secondary:hover{background:var(--btn-secondary-hover);border-color:var(--border-light)}.btn-danger{background:var(--badge-danger-bg);color:var(--badge-danger-text);border:1px solid var(--badge-danger-border)}.btn-danger:hover{opacity:.9}.btn-icon{width:34px;height:34px;padding:0;border-radius:var(--radius-md)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600;line-height:1}.badge-success{background:var(--badge-success-bg);color:var(--badge-success-text);border:1px solid var(--badge-success-border)}.badge-warning{background:var(--badge-warning-bg);color:var(--badge-warning-text);border:1px solid var(--badge-warning-border)}.badge-danger{background:var(--badge-danger-bg);color:var(--badge-danger-text);border:1px solid var(--badge-danger-border)}.badge-info{background:var(--badge-info-bg);color:var(--badge-info-text);border:1px solid var(--badge-info-border)}.badge-purple{background:var(--badge-purple-bg);color:var(--badge-purple-text);border:1px solid var(--badge-purple-border)}.badge-neutral{background:var(--badge-neutral-bg);color:var(--badge-neutral-text);border:1px solid var(--badge-neutral-border)}.form-input,.form-select,.form-textarea{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);padding:8px 12px;color:var(--input-text);font-family:var(--font-main);font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s,background-color .15s}.form-input::placeholder,.form-textarea::placeholder{color:var(--input-placeholder)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--input-focus-ring)}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999;padding:16px;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content{background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-xl);max-width:650px;width:100%;max-height:calc(100dvh - 48px);overflow-y:auto;box-shadow:var(--shadow-elevated);animation:slideUp .2s cubic-bezier(.16,1,.3,1);color:var(--text-primary);-webkit-overflow-scrolling:touch}@media(max-width:640px){.modal-backdrop{padding:10px;align-items:flex-end}.modal-content{max-height:88dvh;border-bottom-left-radius:0;border-bottom-right-radius:0}}@keyframes pulseGlow{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--color-success);box-shadow:0 0 6px var(--color-success);animation:pulseGlow 2s infinite ease-in-out}
