@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--bg-base:#0d0f14;--bg-surface:#141720;--bg-elevated:#1a1e2b;--bg-card:#1e2333;--bg-card-hover:#242840;--border:#2a2f45;--border-subtle:#1f2438;--text-primary:#f0f2ff;--text-secondary:#8b92b8;--text-muted:#6b7494;--accent-blue:#4f8ef7;--accent-blue-dark:#3a6fd1;--accent-green:#22d3a0;--accent-red:#f75f5f;--accent-amber:#f7a94f;--accent-purple:#a78bfa;--glow-blue:0 0 24px #4f8ef72e;--glow-green:0 0 24px #22d3a026;--glow-red:0 0 24px #f75f5f26;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--shadow-card:0 4px 24px #00000059;--shadow-float:0 8px 40px #0000008c;--transition:.18s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:220px;padding:24px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;margin-bottom:16px;padding:0 20px 28px;display:flex}.sidebar-logo-icon{background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.sidebar-logo-text{color:var(--text-primary);letter-spacing:-.01em;font-size:14px;font-weight:700}.sidebar-nav{flex:1}.nav-item{color:var(--text-secondary);transition:all var(--transition);border-radius:0;align-items:center;gap:10px;padding:10px 20px;font-size:13px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:var(--text-primary);background:var(--bg-elevated)}.nav-item.active{color:var(--accent-blue);background:#4f8ef714}.nav-item.active:before{content:"";background:var(--accent-blue);border-radius:0 3px 3px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.main-content{flex:1;max-width:1200px;margin-left:220px;padding:32px}.page-header{margin-bottom:28px}.page-title{color:var(--text-primary);letter-spacing:-.02em;font-size:22px;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:4px;font-size:13px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--transition);padding:24px}.card:hover{border-color:var(--border)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--transition), box-shadow var(--transition);padding:20px 24px;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.stat-card:before{content:"";background:var(--gradient,linear-gradient(90deg, var(--accent-blue), var(--accent-purple)));height:2px;position:absolute;top:0;left:0;right:0}.stat-value{color:var(--text-primary);letter-spacing:-.03em;font-size:28px;font-weight:800;line-height:1.1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:11px;font-weight:600}.stat-icon{opacity:.1;font-size:36px;position:absolute;top:20px;right:20px}.table-wrapper{border-radius:var(--radius-md);overflow-x:auto}table{border-collapse:collapse;width:100%}thead tr{border-bottom:1px solid var(--border-subtle)}th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:12px 16px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);padding:12px 16px;font-size:13px}tr:last-child td{border-bottom:none}tbody tr{transition:background var(--transition)}tbody tr:hover td{background:var(--bg-elevated);color:var(--text-primary)}.badge{border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-green{color:var(--accent-green);background:#22d3a01f;border:1px solid #22d3a040}.badge-red{color:var(--accent-red);background:#f75f5f1f;border:1px solid #f75f5f40}.badge-amber{color:var(--accent-amber);background:#f7a94f1f;border:1px solid #f7a94f40}.badge-blue{color:var(--accent-blue);background:#4f8ef71f;border:1px solid #4f8ef740}.badge-purple{color:var(--accent-purple);background:#a78bfa1f;border:1px solid #a78bfa40}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:none;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent-blue);color:#fff;box-shadow:0 2px 12px #4f8ef759}.btn-primary:hover{background:var(--accent-blue-dark);transform:translateY(-1px);box-shadow:0 4px 20px #4f8ef780}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.btn-danger{color:var(--accent-red);background:#f75f5f1f;border:1px solid #f75f5f4d}.btn-danger:hover{background:#f75f5f33}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.settings-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition);margin-bottom:20px;overflow:hidden}.settings-section.active{border-color:#4f8ef74d}.settings-section-header{cursor:default;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.settings-section-header-text{flex:1;min-width:0}.settings-section-title{color:var(--text-primary);letter-spacing:-.01em;text-transform:none;border-bottom:none;margin-bottom:4px;padding-bottom:0;font-size:15px;font-weight:700}.settings-section-desc{color:var(--text-secondary);font-size:12px;line-height:1.5}.settings-section-body{padding:0 24px 24px;animation:.25s settingsExpand}@keyframes settingsExpand{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.settings-section-body .settings-subsection{margin-top:20px}.settings-section-body .settings-subsection:first-child{margin-top:0}.settings-subsection-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);margin-bottom:14px;padding-bottom:8px;font-size:11px;font-weight:700}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.toggle-switch{flex-shrink:0;width:44px;height:24px;margin-left:16px;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{cursor:pointer;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;transition:all .25s;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--text-muted);border-radius:50%;width:18px;height:18px;transition:all .25s;position:absolute;bottom:2px;left:2px}.toggle-switch input:checked+.toggle-slider{border-color:var(--accent-blue);background:#4f8ef733}.toggle-switch input:checked+.toggle-slider:before{background:var(--accent-blue);transform:translate(20px)}.settings-info{border-radius:var(--radius-md);color:var(--text-secondary);background:#4f8ef70f;border:1px solid #4f8ef726;margin-bottom:20px;padding:14px 18px;font-size:12px;line-height:1.6}.settings-info strong{color:var(--text-primary);font-weight:600}.settings-example{border-radius:var(--radius-sm);color:var(--accent-green);background:#22d3a00f;border:1px solid #22d3a026;margin-top:8px;padding:10px 14px;font-size:11px;line-height:1.5}.settings-section-disabled-msg{color:var(--text-muted);padding:0 24px 20px;font-size:12px;font-style:italic}.confirm-overlay{z-index:2000;background:#0009;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:400px;box-shadow:var(--shadow-float);padding:28px}.confirm-dialog h3{color:var(--text-primary);margin-bottom:10px;font-size:16px;font-weight:700}.confirm-dialog p{color:var(--text-secondary);margin-bottom:20px;font-size:13px;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.unsaved-bar{background:var(--bg-card);border-top:1px solid var(--accent-amber);z-index:900;justify-content:space-between;align-items:center;padding:14px 32px;animation:.2s slideUp;display:flex;position:fixed;bottom:0;left:220px;right:0;box-shadow:0 -4px 20px #0000004d}.unsaved-bar-text{color:var(--accent-amber);font-size:13px;font-weight:600}.unsaved-bar-actions{gap:10px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-secondary);font-size:12px;font-weight:600}.field input,.field select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:8px 12px;font-family:inherit;font-size:13px}.field input:focus,.field select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #4f8ef71f}.field .hint{color:var(--text-muted);font-size:11px}.field-full{grid-column:1/-1}.toast{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-float);z-index:1000;color:var(--text-primary);align-items:center;gap:10px;padding:14px 20px;font-size:13px;animation:.3s slideUp;display:flex;position:fixed;bottom:24px;right:24px}.toast.success{border-left:3px solid var(--accent-green)}.toast.error{border-left:3px solid var(--accent-red)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.spinner{border:2px solid var(--border);border-top-color:var(--accent-blue);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--text-muted);padding:60px 24px}.empty-state-icon{opacity:.4;margin-bottom:16px;font-size:48px}.empty-state h3{color:var(--text-secondary);margin-bottom:8px;font-size:16px;font-weight:600}.pagination{color:var(--text-muted);justify-content:space-between;align-items:center;padding-top:16px;font-size:12px;display:flex}.pagination-btns{gap:8px;display:flex}.filters-bar{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.filters-bar select,.filters-bar input[type=date]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition);outline:none;padding:7px 12px;font-family:inherit;font-size:12px}.filters-bar select:focus,.filters-bar input[type=date]:focus{border-color:var(--accent-blue)}.divider{border:none;border-top:1px solid var(--border-subtle);margin:20px 0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.price-up{color:var(--accent-green);font-weight:600}.price-down{color:var(--accent-red);font-weight:600}.price-neutral{color:var(--text-muted)}
