:root{--bg-app: #08090D;--bg-surface: #11131A;--bg-surface-raised: #181B26;--bg-surface-active: #222636;--bg-input: #151822;--border-subtle: #1F2333;--border-medium: #2C3247;--border-focus: #00E599;--text-primary: #F4F6FB;--text-secondary: #969BAE;--text-tertiary: #5D637A;--text-disabled: #3E4357;--accent-primary: #00E599;--accent-primary-hover: #00CC88;--accent-primary-dim: rgba(0, 229, 153, .12);--accent-primary-glow: rgba(0, 229, 153, .25);--accent-cyan: #00B4D8;--accent-cyan-dim: rgba(0, 180, 216, .12);--accent-purple: #9D4EDD;--accent-purple-dim: rgba(157, 78, 221, .12);--accent-amber: #FFB703;--accent-amber-dim: rgba(255, 183, 3, .12);--accent-danger: #FF3B30;--accent-danger-dim: rgba(255, 59, 48, .12);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-pill: 9999px;--shadow-card: 0 4px 20px rgba(0, 0, 0, .4);--shadow-floating: 0 8px 32px rgba(0, 0, 0, .65);--shadow-glow-accent: 0 0 20px rgba(0, 229, 153, .25);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--tap-target-min: 48px;--bottom-nav-height: 68px;--header-height: 56px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--sidebar-width: 260px;--desktop-content-max-width: 1200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh;overflow-x:hidden}body{display:flex;flex-direction:column}#root{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;width:100%}h1,h2,h3,h4,h5,h6{font-weight:700;color:var(--text-primary);letter-spacing:-.02em}h1{font-size:1.6rem}h2{font-size:1.3rem}h3{font-size:1.1rem}p{color:var(--text-secondary)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}button{font-family:inherit;font-size:.95rem;font-weight:600;color:var(--text-primary);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:all .15s ease-in-out;-webkit-user-select:none;user-select:none;min-height:44px}button:active{transform:scale(.97)}.btn-primary{background-color:var(--accent-primary);color:#050608;border-radius:var(--radius-md);padding:10px 20px;font-weight:700;box-shadow:0 4px 14px var(--accent-primary-glow)}.btn-primary:hover{background-color:var(--accent-primary-hover)}.btn-secondary{background-color:var(--bg-surface-raised);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:10px 16px}.btn-secondary:hover{background-color:var(--bg-surface-active);border-color:var(--text-secondary)}.btn-ghost{background:transparent;color:var(--text-secondary);border-radius:var(--radius-md);padding:8px 12px}.btn-ghost:hover{background:var(--bg-surface-raised);color:var(--text-primary)}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--radius-md);background:var(--bg-surface-raised);color:var(--text-secondary);border:1px solid var(--border-subtle)}.btn-icon:active{background:var(--bg-surface-active);color:var(--accent-primary)}.card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-card)}input,select,textarea{font-family:inherit;font-size:.95rem;background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:10px 14px;outline:none;width:100%;transition:border-color .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-dim)}input[type=checkbox],input[type=radio]{width:auto;padding:0;cursor:pointer;accent-color:var(--accent-cyan)}input.numeric{font-family:var(--font-mono);text-align:center;font-size:1.1rem;font-weight:600}.badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:var(--radius-pill)}.badge-primary{background:var(--accent-primary-dim);color:var(--accent-primary);border:1px solid var(--accent-primary)}.badge-cyan{background:var(--accent-cyan-dim);color:var(--accent-cyan);border:1px solid var(--accent-cyan)}.badge-amber{background:var(--accent-amber-dim);color:var(--accent-amber);border:1px solid var(--accent-amber)}.badge-danger{background:var(--accent-danger-dim);color:var(--accent-danger);border:1px solid var(--accent-danger)}.badge-purple{background:var(--accent-purple-dim);color:var(--accent-purple);border:1px solid var(--accent-purple)}.scroll-x-snap{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.scroll-x-snap::-webkit-scrollbar{display:none}.scroll-x-snap>*{scroll-snap-align:start;flex:0 0 auto}.collapsible-card-header{display:flex;align-items:center;gap:10px;background:transparent;border:none;padding:0;cursor:pointer;text-align:left;color:inherit;font:inherit;border-radius:var(--radius-sm);transition:background .15s ease}.collapsible-card-header:hover{background:var(--bg-surface-raised)}.collapsible-card-header:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.collapsible-card-title{font-size:.95rem;font-weight:800;line-height:1.3;color:var(--text-primary);transition:color .15s ease}.collapsible-card-header:hover .collapsible-card-title{color:var(--accent-primary)}.collapsible-card-subtitle{font-size:.72rem;color:var(--text-tertiary);margin-top:2px;line-height:1.35}.collapsible-card-actions{flex-shrink:0}.collapsible-card-chevron{color:var(--text-tertiary);flex-shrink:0;transition:transform .35s cubic-bezier(.22,1,.36,1)}.collapsible-card-chevron.open{transform:rotate(180deg)}.collapsible-card-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.22,1,.36,1)}.collapsible-card-body.open{grid-template-rows:1fr}.collapsible-card-body>.inner{overflow:hidden;min-height:0}.collapsible-card-body.open>.inner{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:14px}.app-container{max-width:600px;margin:0 auto;width:100%;padding:var(--space-md);padding-bottom:calc(var(--bottom-nav-height) + 24px);flex:1}.app-shell{display:flex;min-height:100vh;min-height:100dvh}@media(min-width:768px){.app-container{max-width:var(--desktop-content-max-width);padding-bottom:var(--space-xl);margin-left:0}}.responsive-grid-dashboard{display:flex;flex-direction:column;gap:18px}@media(min-width:768px){.responsive-grid-dashboard{display:grid;grid-template-columns:7fr 5fr;gap:20px;align-items:start}}.responsive-grid-2{display:flex;flex-direction:column;gap:16px}@media(min-width:768px){.responsive-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}}.responsive-grid-3{display:flex;flex-direction:column;gap:16px}@media(min-width:768px){.responsive-grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;align-items:start}}.responsive-grid-7{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}@media(min-width:768px){.responsive-grid-7{display:grid;grid-template-columns:repeat(7,1fr);overflow-x:visible;padding-bottom:0;scroll-snap-type:none}.responsive-grid-7>*{width:auto!important;flex:unset!important}}.desktop-only{display:none!important}.mobile-only{display:block!important}@media(min-width:768px){.desktop-only{display:block!important}.desktop-only-flex{display:flex!important}.mobile-only{display:none!important}}@media(min-width:768px){::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040508d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@media(min-width:640px){.modal-overlay{align-items:center;padding:var(--space-md)}}.modal-content{background:var(--bg-surface-raised);border:1px solid var(--border-medium);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;padding:var(--space-lg);box-shadow:var(--shadow-floating);animation:slideUp .25s cubic-bezier(.16,1,.3,1)}@media(min-width:640px){.modal-content{border-radius:var(--radius-xl)}}@media(min-width:768px){.modal-content{max-width:640px;animation:modalScaleIn .2s ease}}.modal-card{background:var(--bg-surface-raised);border:1px solid var(--border-medium);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;padding:var(--space-lg);box-shadow:var(--shadow-floating);animation:slideUp .25s cubic-bezier(.16,1,.3,1)}@media(max-width:480px){.modal-card{padding:16px 12px}}@media(min-width:640px){.modal-card{border-radius:var(--radius-xl)}}@media(min-width:768px){.modal-card{max-width:820px;animation:modalScaleIn .2s ease}}.modal-card-wide{max-width:900px}@media(min-width:768px){.modal-card.modal-card-wide{max-width:900px}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
