@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;450;500;600;700&display=swap";
:root{--color-primary:#0a0a0a;--color-primary-light:#1a1a1a;--color-primary-dark:#000;--color-accent:#0a0a0a;--color-accent-light:#2a2a2a;--color-accent-dark:#000;--color-accent-glow:#0a0a0a0a;--color-bg:#f6f5f1;--color-bg-alt:#eeedea;--color-surface:#fff;--color-surface-hover:#fafaf8;--color-border:#e2e0db;--color-border-light:#eceae5;--color-text:#0a0a0a;--color-text-secondary:#6e6e6e;--color-text-muted:#a0a0a0;--color-success:#1a8754;--color-success-bg:#edf7f1;--color-warning:#b8860b;--color-warning-bg:#fdf6e3;--color-danger:#c53030;--color-danger-bg:#fef2f2;--color-info:#2563eb;--color-info-bg:#eff6ff;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #00000008;--shadow-sm:0 1px 4px #0000000a;--shadow-md:0 2px 8px #0000000d;--shadow-lg:0 4px 16px #0000000f;--shadow-xl:0 8px 32px #00000014;--shadow-glow:none;--transition-fast:.12s ease;--transition-normal:.2s ease;--transition-slow:.35s ease;--z-dropdown:100;--z-modal:200;--z-toast:300;--z-tooltip:400}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em;font-weight:600;line-height:1.3}.heading-display{letter-spacing:-.02em;font-weight:600}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:2rem}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-accent{color:var(--color-text)}.container{max-width:1400px;padding:0 var(--space-lg);margin:0 auto}.page-header{padding:var(--space-xl) 0 var(--space-lg);margin-bottom:var(--space-lg)}.page-header h1{font-family:var(--font-sans);color:var(--color-text);letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.page-header p{color:var(--color-text-muted);margin-top:2px;font-size:.875rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color var(--transition-normal)}.card:hover{border-color:#d0cec9}.card-elevated{box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.card-glass{-webkit-backdrop-filter:blur(20px);background:#fffc;border:1px solid #ffffff80}.btn{border-radius:var(--radius-full);transition:all var(--transition-fast);white-space:nowrap;letter-spacing:0;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-size:.8125rem;font-weight:500;line-height:1.4;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-light)}.btn-accent{background:var(--color-primary);color:#fff;font-weight:500}.btn-accent:hover{background:var(--color-primary-light)}.btn-outline{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface)}.btn-outline:hover{border-color:var(--color-primary);background:var(--color-surface)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-ghost{color:var(--color-text-secondary);border-radius:var(--radius-md)}.btn-ghost:hover{background:var(--color-bg-alt);color:var(--color-text)}.btn-sm{padding:5px 12px;font-size:.75rem}.btn-lg{padding:12px 24px;font-size:.875rem}.btn-icon{border-radius:var(--radius-md);width:36px;height:36px;padding:0}.form-group{margin-bottom:var(--space-lg)}.form-label{color:var(--color-text-secondary);margin-bottom:6px;font-size:.8125rem;font-weight:500;display:block}.form-input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);transition:border-color var(--transition-fast);outline:none;padding:10px 14px;font-size:.875rem}.form-input:focus{border-color:var(--color-primary)}.form-input::placeholder{color:var(--color-text-muted)}.form-input-error{border-color:var(--color-danger)}.form-error{color:var(--color-danger);margin-top:var(--space-xs);font-size:.8125rem}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236e6e6e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.toggle{background:var(--color-border);border-radius:var(--radius-full);cursor:pointer;width:44px;height:24px;transition:background var(--transition-fast);position:relative}.toggle.active{background:var(--color-primary)}.toggle:after{content:"";width:20px;height:20px;transition:transform var(--transition-fast);box-shadow:var(--shadow-xs);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.toggle.active:after{transform:translate(20px)}.badge{border-radius:var(--radius-full);letter-spacing:.01em;align-items:center;padding:2px 8px;font-size:.6875rem;font-weight:500;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-accent{background:var(--color-accent-glow);color:var(--color-text);font-weight:600}.badge-neutral{background:var(--color-bg-alt);color:var(--color-text-secondary)}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;background:var(--color-surface);z-index:1;padding:10px 16px;font-size:.6875rem;font-weight:500;position:sticky;top:0}.data-table tbody td{border-bottom:1px solid var(--color-border-light);vertical-align:middle;padding:12px 16px;font-size:.8125rem}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-surface-hover)}.data-table tbody tr:last-child td{border-bottom:none}.search-bar{position:relative}.search-bar input{padding-left:40px}.search-bar .search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal);padding:var(--space-lg);animation:fadeIn var(--transition-fast);background:#00000040;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-xl);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--shadow-xl);animation:slideUp var(--transition-normal);overflow-y:auto}.modal-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-family:var(--font-sans);letter-spacing:-.01em;font-size:1.125rem;font-weight:600}.modal-footer{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border-light);display:flex}.toast-container{top:var(--space-lg);right:var(--space-lg);z-index:var(--z-toast);gap:var(--space-sm);flex-direction:column;display:flex;position:fixed}.toast{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-lg);align-items:center;gap:var(--space-md);min-width:300px;animation:slideIn var(--transition-normal);display:flex}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-warning{border-left:3px solid var(--color-warning)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.stat-card .stat-value{color:var(--color-text);letter-spacing:-.02em;margin-bottom:2px;font-size:1.75rem;font-weight:600}.stat-card .stat-label{color:var(--color-text-muted);font-size:.75rem;font-weight:450}.stat-card .stat-change{margin-top:var(--space-sm);font-size:.8125rem;font-weight:500}.stat-change.positive{color:var(--color-success)}.stat-change.negative{color:var(--color-danger)}.empty-state{padding:var(--space-3xl) var(--space-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state .empty-icon{margin-bottom:var(--space-md);color:var(--color-text-muted);opacity:.5;font-size:1.5rem}.empty-state h3{margin-bottom:var(--space-xs);font-size:.9375rem;font-weight:500}.empty-state p{color:var(--color-text-muted);max-width:320px;font-size:.8125rem}.skeleton{background:linear-gradient(90deg, var(--color-bg-alt) 25%, var(--color-border-light) 50%, var(--color-bg-alt) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.price-hidden{background:var(--color-primary);color:var(--color-primary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;padding:2px 10px;font-size:.8125rem}.price-hidden:hover{background:var(--color-primary-light)}.price-revealed{color:var(--color-text);border-radius:var(--radius-sm);animation:revealPrice var(--transition-normal);background:0 0;padding:2px 0;font-family:SF Mono,Fira Code,monospace;font-size:.8125rem;font-weight:600}.sidebar{background:var(--color-primary);color:#fff;width:240px;min-height:100vh;padding:var(--space-lg) var(--space-md);z-index:10;flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-brand{font-family:var(--font-sans);color:#fff;padding:var(--space-md) var(--space-sm);margin-bottom:var(--space-xl);letter-spacing:.12em;opacity:.9;font-size:1rem;font-weight:600}.sidebar-nav{flex:1;list-style:none}.sidebar-item{margin-bottom:1px}.sidebar-link{align-items:center;gap:var(--space-md);border-radius:var(--radius-md);color:#ffffff80;transition:all var(--transition-fast);padding:9px 12px;font-size:.8125rem;font-weight:450;display:flex}.sidebar-link:hover{color:#ffffffd9;background:#ffffff0f}.sidebar-link.active{color:#fff;background:#ffffff1a}.sidebar-link .sidebar-icon{text-align:center;opacity:.7;width:18px;font-size:.875rem}.sidebar-footer{padding-top:var(--space-md);border-top:1px solid #ffffff14}.main-content{min-height:100vh;padding:var(--space-lg) var(--space-2xl);margin-left:240px}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.toolbar-left{align-items:center;gap:var(--space-md);flex:1;min-width:200px;display:flex}.toolbar-right{align-items:center;gap:var(--space-sm);display:flex}.filter-chips{flex-wrap:wrap;gap:4px;display:flex}.filter-chip{border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:var(--color-surface);padding:5px 14px;font-size:.75rem;font-weight:450}.filter-chip:hover{border-color:var(--color-text-muted);color:var(--color-text)}.filter-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes revealPrice{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes scanLine{0%{top:0}50%{top:calc(100% - 2px)}to{top:0}}@media (max-width:768px){:root{--space-lg:16px;--space-xl:20px;--space-2xl:24px}.sidebar{display:none}.main-content{padding:var(--space-md);margin-left:0}.toolbar{flex-direction:column;align-items:stretch}.toolbar-right{justify-content:flex-end}.modal{max-width:100%;margin:var(--space-md);border-radius:var(--radius-lg)}}.mobile-nav{background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-sm) 0;padding-bottom:env(safe-area-inset-bottom,var(--space-sm));z-index:10;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-items{justify-content:space-around;list-style:none;display:flex}.mobile-nav-link{padding:var(--space-xs) var(--space-md);color:var(--color-text-muted);letter-spacing:.02em;transition:color var(--transition-fast);flex-direction:column;align-items:center;gap:2px;font-size:.625rem;font-weight:500;display:flex}.mobile-nav-link .nav-icon{font-size:1.125rem}.mobile-nav-link.active{color:var(--color-text)}@media (max-width:768px){.mobile-nav{display:block}body{padding-bottom:80px}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{color:var(--color-text);background:#00000014}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.w-full{width:100%}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:SF Mono,Fira Code,ui-monospace,monospace;font-size:.9em}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
