:root{--clr-primary:#6366f1;--clr-primary-hover:#4f46e5;--clr-primary-light:#eef2ff;--clr-primary-border:#c7d2fe;--clr-success:#10b981;--clr-success-bg:#ecfdf5;--clr-success-border:#a7f3d0;--clr-danger:#ef4444;--clr-danger-bg:#fef2f2;--clr-danger-border:#fecaca;--clr-warning:#f59e0b;--clr-warning-bg:#fffbeb;--clr-warning-border:#fde68a;--clr-bg:#f8fafc;--clr-surface:#fff;--clr-surface-raised:#f8fafc;--clr-border:#e2e8f0;--clr-border-subtle:#f1f5f9;--clr-text:#0f172a;--clr-text-secondary:#64748b;--clr-text-tertiary:#94a3b8;--clr-sidebar:#0f172a;--clr-sidebar-hover:#ffffff12;--clr-sidebar-active-bg:#6366f12e;--clr-sidebar-active:#818cf8;--clr-sidebar-text:#ffffffa6;--clr-sidebar-border:#ffffff14;--sidebar-width:240px;--sidebar-collapsed:64px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -1px #0000000a;--shadow-hover:0 8px 24px -5px #0000001f, 0 4px 10px -3px #0000000f;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-md:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--t-fast:.1s ease;--t-base:.15s ease;--t-slow:.25s ease}[data-theme=dark]{--clr-primary:#818cf8;--clr-primary-hover:#6366f1;--clr-primary-light:#6366f126;--clr-primary-border:#6366f159;--clr-success:#34d399;--clr-success-bg:#10b9811f;--clr-success-border:#10b9814d;--clr-danger:#f87171;--clr-danger-bg:#ef44441f;--clr-danger-border:#ef44444d;--clr-warning:#fbbf24;--clr-warning-bg:#f59e0b1f;--clr-warning-border:#f59e0b4d;--clr-bg:#0b0f19;--clr-surface:#111827;--clr-surface-raised:#1a2236;--clr-border:#1f2a3d;--clr-border-subtle:#161f2e;--clr-text:#f1f5f9;--clr-text-secondary:#94a3b8;--clr-text-tertiary:#64748b;--clr-sidebar:#070c16;--clr-sidebar-border:#ffffff0f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);font-size:var(--text-base);color:var(--clr-text);background-color:var(--clr-bg);transition:background-color var(--t-slow), color var(--t-slow);line-height:1.5}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.app-layout{min-height:100vh;padding:0}.app-sidebar{z-index:100;align-self:flex-start;height:100vh;min-height:100vh;position:sticky;top:0}.app-main{flex-direction:column;min-height:100vh;padding:0;display:flex}.page-content{padding:var(--sp-8);flex:1;width:100%;max-width:1440px}.sidebar{background:var(--clr-sidebar);height:100vh;padding:var(--sp-4) var(--sp-3);flex-direction:column;display:flex;overflow:hidden}.sidebar-brand{padding:var(--sp-3) var(--sp-2);margin-bottom:var(--sp-4);white-space:nowrap;align-items:center;display:flex}.sidebar-brand-icon{border-radius:var(--r-md);background:var(--clr-primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.sidebar-brand-name{font-size:var(--text-lg);color:#fff;letter-spacing:-.3px;transition:opacity var(--t-slow), max-width var(--t-slow);white-space:nowrap;max-width:160px;font-weight:700;overflow:hidden}.sidebar.collapsed .sidebar-brand-name{opacity:0;max-width:0}.sidebar-brand-logo{transition:opacity var(--t-slow), max-width var(--t-slow);align-items:center;max-width:200px;display:flex;overflow:hidden}.sidebar-brand-logo img{object-fit:contain;filter:brightness(0)invert();width:160px;height:auto}.sidebar.collapsed .sidebar-brand-logo{opacity:0;max-width:0}.sidebar-brand-logo-compact{justify-content:center;align-items:center;width:56px;height:56px;display:none}.sidebar-brand-logo-compact img{object-fit:contain;filter:brightness(0)invert();width:50px;height:50px}.sidebar.collapsed .sidebar-brand-logo-compact{display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-section-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.7px;color:#ffffff4d;padding:var(--sp-2) var(--sp-2) var(--sp-1);white-space:nowrap;transition:opacity var(--t-slow);font-weight:600;overflow:hidden}.sidebar.collapsed .sidebar-section-label{opacity:0}.sidebar-btn{align-items:center;gap:var(--sp-3);padding:9px var(--sp-3);border-radius:var(--r-md);color:var(--clr-sidebar-text);font-size:var(--text-base);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);text-align:left;white-space:nowrap;background:0 0;border:none;width:100%;font-weight:500;display:flex;overflow:hidden}.sidebar-btn:hover{background:var(--clr-sidebar-hover);color:#fff}.sidebar-btn.active{background:var(--clr-sidebar-active-bg);color:var(--clr-sidebar-active)}.sidebar-btn-icon{flex-shrink:0;align-items:center;display:flex}.sidebar-btn-label{transition:opacity var(--t-slow), max-width var(--t-slow);max-width:140px;overflow:hidden}.sidebar.collapsed .sidebar-btn-label{opacity:0;max-width:0}.sidebar-divider{background:var(--clr-sidebar-border);height:1px;margin:var(--sp-3) 0}.sidebar-collapse-btn{align-items:center;gap:var(--sp-3);padding:9px var(--sp-3);border-radius:var(--r-md);color:#ffffff61;cursor:pointer;transition:background var(--t-fast), color var(--t-fast);white-space:nowrap;background:0 0;border:none;width:100%;display:flex;overflow:hidden}.sidebar-collapse-btn:hover{background:var(--clr-sidebar-hover);color:#ffffffa6}.sidebar-collapse-btn-label{font-size:var(--text-sm);transition:opacity var(--t-slow), max-width var(--t-slow);max-width:140px;font-weight:500;overflow:hidden}.sidebar.collapsed .sidebar-collapse-btn-label{opacity:0;max-width:0}.top-bar{padding:var(--sp-3) var(--sp-8);border-bottom:1px solid var(--clr-border);background:var(--clr-surface);justify-content:space-between;align-items:center;gap:var(--sp-4);z-index:10;min-height:52px;transition:background var(--t-slow), border-color var(--t-slow);display:flex;position:sticky;top:0}.top-bar-title{font-size:var(--text-md);color:var(--clr-text);font-weight:600}.top-bar-theme-btn{border-radius:var(--r-md);border:1px solid var(--clr-border);background:var(--clr-surface);width:34px;height:34px;color:var(--clr-text-secondary);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);justify-content:center;align-items:center;display:flex}.top-bar-theme-btn:hover{background:var(--clr-border-subtle);color:var(--clr-text);border-color:var(--clr-text-tertiary)}.page-header{margin-bottom:var(--sp-6);justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.page-header-icon{border-radius:var(--r-lg);background:var(--clr-primary-light);width:38px;height:38px;color:var(--clr-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.page-title{font-size:var(--text-xl);color:var(--clr-text);letter-spacing:-.4px;font-weight:700;line-height:1.2}.page-subtitle{font-size:var(--text-sm);color:var(--clr-text-secondary);margin-top:3px}.filter-bar{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);padding:var(--sp-4);margin-bottom:var(--sp-5);gap:var(--sp-3);box-shadow:var(--shadow-xs);flex-wrap:wrap;align-items:flex-end;display:flex}.filter-search{flex:1;min-width:180px}.filter-group{gap:var(--sp-1);flex-direction:column;display:flex}.filter-label{font-size:var(--text-xs);color:var(--clr-text-tertiary);text-transform:uppercase;letter-spacing:.4px;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{pointer-events:none;color:var(--clr-text-tertiary);align-items:center;display:flex;position:absolute;left:10px}.input{height:36px;padding:0 var(--sp-3);border:1px solid var(--clr-border);border-radius:var(--r-md);background:var(--clr-surface);color:var(--clr-text);font-size:var(--text-base);transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;width:100%}.input:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-light)}.input::placeholder{color:var(--clr-text-tertiary)}.input-with-icon{padding-left:32px}select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%2394a3b8' d='M5 7L0.67 2h8.66z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}textarea.input{height:auto;padding:var(--sp-3);resize:vertical}.form-row{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.form-field{gap:var(--sp-1);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);color:var(--clr-text-secondary);font-weight:500}.form-full{grid-column:1/-1}.btn{padding:0 var(--sp-4);border-radius:var(--r-md);height:36px;font-size:var(--text-base);cursor:pointer;transition:all var(--t-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--clr-primary);color:#fff;border-color:var(--clr-primary)}.btn-primary:not(:disabled):hover{background:var(--clr-primary-hover);border-color:var(--clr-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f159}.btn-secondary{background:var(--clr-surface);color:var(--clr-text);border-color:var(--clr-border)}.btn-secondary:not(:disabled):hover{background:var(--clr-border-subtle);border-color:var(--clr-text-tertiary)}.btn-ghost{color:var(--clr-text-secondary);background:0 0}.btn-ghost:not(:disabled):hover{background:var(--clr-border-subtle);color:var(--clr-text)}.btn-sm{height:30px;padding:0 var(--sp-3);font-size:var(--text-sm);border-radius:var(--r-sm)}.badge{border-radius:var(--r-full);font-size:var(--text-xs);letter-spacing:.15px;border:1px solid #0000;align-items:center;gap:5px;padding:3px 8px;font-weight:600;display:inline-flex}.badge-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.badge-success{background:var(--clr-success-bg);color:var(--clr-success);border-color:var(--clr-success-border)}.badge-success .badge-dot{background:var(--clr-success)}.badge-danger{background:var(--clr-danger-bg);color:var(--clr-danger);border-color:var(--clr-danger-border)}.badge-danger .badge-dot{background:var(--clr-danger)}.badge-warning{background:var(--clr-warning-bg);color:var(--clr-warning);border-color:var(--clr-warning-border)}.badge-warning .badge-dot{background:var(--clr-warning)}.card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);margin-bottom:var(--sp-5);overflow:hidden}.card-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--clr-border);align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.card-header-icon{border-radius:var(--r-md);background:var(--clr-primary-light);width:30px;height:30px;color:var(--clr-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.card-header-title{font-size:var(--text-md);color:var(--clr-text);font-weight:600}.card-body{padding:var(--sp-5)}.game-grid{gap:var(--sp-4);margin-top:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(195px,1fr));display:grid}.game-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);transition:transform var(--t-slow), box-shadow var(--t-slow), border-color var(--t-slow);flex-direction:column;display:flex;overflow:hidden}.game-card:hover{box-shadow:var(--shadow-hover);border-color:var(--clr-primary-border);transform:translateY(-3px)}.game-card-cover{aspect-ratio:3/4;background:linear-gradient(145deg,#1a1a2e 0%,#2a2a44 100%);flex-shrink:0;position:relative;overflow:hidden}.game-card-cover img{object-fit:cover;width:100%;height:100%;transition:transform var(--t-slow);display:block}.game-card:hover .game-card-cover img{transform:scale(1.05)}.game-card-no-image{justify-content:center;align-items:center;gap:var(--sp-2);color:#ffffff40;flex-direction:column;display:flex;position:absolute;inset:0}.game-card-no-image span{font-size:var(--text-xs);text-align:center;padding:0 var(--sp-3);line-height:1.4}.game-card-badge-overlay{top:var(--sp-2);right:var(--sp-2);position:absolute}.game-card-body{padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);flex-direction:column;flex:1;display:flex}.game-card-title{font-size:var(--text-base);color:var(--clr-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.game-card-chips{gap:var(--sp-1);flex-wrap:wrap;display:flex}.chip{border-radius:var(--r-full);font-size:var(--text-xs);background:var(--clr-border-subtle);color:var(--clr-text-secondary);border:1px solid var(--clr-border);align-items:center;gap:4px;padding:2px 7px;font-weight:500;display:inline-flex}.game-card-desc{font-size:var(--text-xs);color:var(--clr-text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;line-height:1.5;display:-webkit-box;overflow:hidden}.game-card-stock{font-size:var(--text-xs);color:var(--clr-text-tertiary);align-items:center;gap:5px;margin-top:auto;font-weight:500;display:flex}.game-card-footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--clr-border);gap:var(--sp-2);display:flex}.game-card-footer .btn{font-size:var(--text-sm);flex:1;height:32px}.empty-state{padding:var(--sp-16) var(--sp-8);text-align:center;justify-content:center;align-items:center;gap:var(--sp-4);flex-direction:column;display:flex}.empty-state-icon{border-radius:var(--r-xl);background:var(--clr-border-subtle);width:64px;height:64px;color:var(--clr-text-tertiary);justify-content:center;align-items:center;display:flex}.empty-state-title{font-size:var(--text-lg);color:var(--clr-text);font-weight:600}.empty-state-text{font-size:var(--text-sm);color:var(--clr-text-secondary);max-width:300px;line-height:1.6}.stats-grid{gap:var(--sp-4);margin-bottom:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(175px,1fr));display:grid}.stat-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-xs)}.stat-card-top{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.stat-card-label{font-size:var(--text-sm);color:var(--clr-text-secondary);font-weight:500}.stat-card-icon{border-radius:var(--r-md);justify-content:center;align-items:center;width:34px;height:34px;display:flex}.stat-icon-primary{background:var(--clr-primary-light);color:var(--clr-primary)}.stat-icon-success{background:var(--clr-success-bg);color:var(--clr-success)}.stat-icon-danger{background:var(--clr-danger-bg);color:var(--clr-danger)}.stat-icon-neutral{background:var(--clr-border-subtle);color:var(--clr-text-secondary)}.stat-card-value{font-size:var(--text-2xl);letter-spacing:-.5px;color:var(--clr-text);font-weight:700;line-height:1}.stat-value-primary{color:var(--clr-primary)}.stat-value-success{color:var(--clr-success)}.stat-value-danger{color:var(--clr-danger)}.charts-row{gap:var(--sp-4);margin-bottom:var(--sp-5);grid-template-columns:1fr 1.6fr;display:grid}.table-wrapper{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.table th{text-align:left;padding:var(--sp-3) var(--sp-4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--clr-text-tertiary);border-bottom:1px solid var(--clr-border);white-space:nowrap;font-weight:600}.table td{padding:10px var(--sp-4);color:var(--clr-text);border-bottom:1px solid var(--clr-border-subtle)}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--clr-border-subtle)}.toggle{border-radius:var(--r-full);background:var(--clr-border);cursor:pointer;width:44px;height:24px;transition:background var(--t-base);border:none;flex-shrink:0;padding:0;position:relative}.toggle.on{background:var(--clr-primary)}.toggle-knob{width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform var(--t-base);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle.on .toggle-knob{transform:translate(20px)}.alert{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--text-sm);border:1px solid #0000;font-weight:500;display:flex}.alert-success{background:var(--clr-success-bg);color:var(--clr-success);border-color:var(--clr-success-border)}.alert-warning{background:var(--clr-warning-bg);color:var(--clr-warning);border-color:var(--clr-warning-border)}.result-count{font-size:var(--text-sm);color:var(--clr-text-secondary)}.result-count strong{color:var(--clr-text);font-weight:600}.app-footer{padding:var(--sp-4) var(--sp-8);border-top:1px solid var(--clr-border);align-items:center;gap:var(--sp-2);color:var(--clr-text-tertiary);font-size:var(--text-sm);display:flex}.settings-item{background:var(--clr-surface-raised);border:1px solid var(--clr-border);border-radius:var(--r-lg);padding:var(--sp-4)}.settings-item-row{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.settings-item-info{flex:1;min-width:0}.settings-item-name{font-size:var(--text-base);color:var(--clr-text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.settings-item-meta{font-size:var(--text-xs);color:var(--clr-text-tertiary);margin-top:2px}.settings-item-actions{gap:var(--sp-2);flex-shrink:0;display:flex}@media (width<=1024px){.charts-row{grid-template-columns:1fr}}@media (width<=768px){.app-sidebar{height:auto;min-height:auto;position:static;top:auto}.sidebar{height:auto;min-height:100%}.app-sidebar .sidebar-brand-name,.app-sidebar .sidebar-btn-label,.app-sidebar .sidebar-section-label,.app-sidebar .sidebar-collapse-btn-label,.app-sidebar .sidebar.collapsed .sidebar-brand-logo,.app-sidebar .sidebar.collapsed .sidebar-btn-label,.app-sidebar .sidebar.collapsed .sidebar-section-label,.app-sidebar .sidebar.collapsed .sidebar-collapse-btn-label{opacity:1;max-width:200px}.app-sidebar .sidebar.collapsed .sidebar-brand-logo-compact,.app-sidebar .sidebar-collapse-btn{display:none}.page-content{padding:var(--sp-5) var(--sp-4)}.top-bar{padding:var(--sp-3) var(--sp-4)}.filter-bar{flex-direction:column;align-items:stretch}.filter-search{min-width:100%}.game-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.stats-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}}@media (width<=480px){.game-grid{grid-template-columns:repeat(2,1fr)}}[data-theme=dark] .input{background:var(--clr-surface-raised);border-color:var(--clr-border);color:var(--clr-text)}[data-theme=dark] .input::placeholder{color:var(--clr-text-tertiary)}[data-theme=dark] select.input option{background:var(--clr-surface);color:var(--clr-text)}[data-theme=dark] .chip{background:var(--clr-border-subtle);border-color:var(--clr-border)}[data-theme=dark] .game-card-no-image{color:#fff3}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--clr-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--clr-text-tertiary)}
