@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@300;400;500&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap);:root{--pc-bg-base:#08090c;--pc-bg-card:#0c0d12;--pc-bg-input:#0e0f14;--pc-bg-subtle:#14151e;--pc-bg-toggle:#080910;--pc-green:#4ade80;--pc-green-dim:#4ade8033;--pc-green-glow:#4ade8010;--pc-green-border:#4ade8022;--pc-green-dark:#22c55e;--pc-danger:#ef4444;--pc-danger-dim:#ef444410;--pc-danger-border:#ef444420;--pc-amber:#f59e0b;--pc-amber-dim:#f59e0b15;--pc-blue:#60a5fa;--pc-text-primary:#e8e4df;--pc-text-muted:#888;--pc-text-dim:#555;--pc-text-dimmer:#444;--pc-text-dimmest:#333;--pc-border:#ffffff08;--pc-border-soft:#ffffff0a;--pc-border-mid:#ffffff12;--pc-font-sans:"DM Sans","Helvetica Neue",sans-serif;--pc-font-mono:"DM Mono",monospace;--pc-font-serif:"Playfair Display",Georgia,serif;--pc-radius-sm:6px;--pc-radius-md:10px;--pc-radius-lg:16px;--pc-transition:all 0.2s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:#08090c;background:var(--pc-bg-base);font-family:DM Sans,Helvetica Neue,sans-serif;font-family:var(--pc-font-sans);font-size:14px;line-height:1.5}.pc-logo,body{color:#e8e4df;color:var(--pc-text-primary)}.pc-logo{font-family:Playfair Display,Georgia,serif;font-family:var(--pc-font-serif);font-size:42px;font-weight:700;letter-spacing:-1px;line-height:1}.pc-logo span{color:#4ade80;color:var(--pc-green)}.pc-label{color:#555;color:var(--pc-text-dim);letter-spacing:2px;text-transform:uppercase}.pc-caption,.pc-label{font-family:DM Mono,monospace;font-family:var(--pc-font-mono);font-size:11px}.pc-caption{color:#444;color:var(--pc-text-dimmer);letter-spacing:.5px}.pc-card{background:#0c0d12;background:var(--pc-bg-card);border:1px solid #ffffff08;border:1px solid var(--pc-border);border-radius:16px;border-radius:var(--pc-radius-lg);padding:24px;transition:all .2s ease;transition:var(--pc-transition)}.pc-card:hover{border-color:#ffffff12;border-color:var(--pc-border-mid)}.pc-card-lg{padding:32px 28px}.pc-input{background:#0e0f14;background:var(--pc-bg-input);border:1px solid #ffffff0a;border:1px solid var(--pc-border-soft);border-radius:10px;border-radius:var(--pc-radius-md);color:#e8e4df;color:var(--pc-text-primary);font-family:DM Sans,Helvetica Neue,sans-serif;font-family:var(--pc-font-sans);font-size:14px;outline:none;padding:14px 16px;transition:all .2s ease;transition:var(--pc-transition);width:100%}.pc-input::placeholder{color:#333;color:var(--pc-text-dimmest)}.pc-input:focus{background:#0a0b10;border-color:#4ade8022;border-color:var(--pc-green-border)}.pc-btn-primary{align-items:center;background:linear-gradient(135deg,#4ade80,#22c55e);background:linear-gradient(135deg,var(--pc-green),var(--pc-green-dark));border:none;border-radius:10px;border-radius:var(--pc-radius-md);color:#08090c;color:var(--pc-bg-base);cursor:pointer;display:inline-flex;font-family:DM Sans,Helvetica Neue,sans-serif;font-family:var(--pc-font-sans);font-size:14px;font-weight:600;justify-content:center;padding:14px 20px;transition:all .2s ease;transition:var(--pc-transition);width:100%}.pc-btn-primary:hover{opacity:.9;transform:translateY(-1px)}.pc-btn-primary:disabled{cursor:default;opacity:.6;transform:none}.pc-btn-primary.loading{animation:pc-shimmer 1.5s linear infinite;background:linear-gradient(90deg,#4ade8033,#4ade8066,#4ade8033);background:linear-gradient(90deg,var(--pc-green-dim),#4ade8066,var(--pc-green-dim));background-size:200% 100%}.pc-btn-ghost{align-items:center;background:#0000;border:1px solid #ffffff08;border:1px solid var(--pc-border);border-radius:10px;border-radius:var(--pc-radius-md);color:#555;color:var(--pc-text-dim);cursor:pointer;display:inline-flex;font-family:DM Sans,Helvetica Neue,sans-serif;font-family:var(--pc-font-sans);font-size:13px;justify-content:center;padding:12px 20px;transition:all .2s ease;transition:var(--pc-transition);width:100%}.pc-btn-ghost:hover{border-color:#4ade8022;border-color:var(--pc-green-border);color:#888;color:var(--pc-text-muted)}.pc-toggle{background:#080910;background:var(--pc-bg-toggle);border-radius:10px;border-radius:var(--pc-radius-md);display:flex;padding:3px}.pc-toggle-btn{background:#0000;border:1px solid #0000;border-radius:8px;color:#444;color:var(--pc-text-dimmer);cursor:pointer;flex:1 1;font-family:DM Sans,Helvetica Neue,sans-serif;font-family:var(--pc-font-sans);font-size:13px;font-weight:500;padding:10px 0;transition:all .2s ease;transition:var(--pc-transition)}.pc-toggle-btn.active{background:#14151e;background:var(--pc-bg-subtle);border-color:#ffffff08;border-color:var(--pc-border);color:#e8e4df;color:var(--pc-text-primary)}.pc-alert{animation:pc-slide-up .2s ease both;border-radius:8px;font-size:12px;padding:10px 14px}.pc-alert-error{background:#ef444410;background:var(--pc-danger-dim);border:1px solid #ef444420;border:1px solid var(--pc-danger-border);color:#ef4444;color:var(--pc-danger)}.pc-alert-success{background:#4ade8010;background:var(--pc-green-glow);border:1px solid #4ade8022;border:1px solid var(--pc-green-border);color:#4ade80;color:var(--pc-green)}.pc-alert-warning{background:#f59e0b15;background:var(--pc-amber-dim);border:1px solid #f59e0b22;color:#f59e0b;color:var(--pc-amber)}.pc-weather-badge{align-items:center;border-radius:20px;display:inline-flex;font-family:DM Mono,monospace;font-family:var(--pc-font-mono);font-size:11px;gap:6px;padding:4px 10px}.pc-weather-sunny{background:#4ade8012;border:1px solid #4ade8025;color:#4ade80;color:var(--pc-green)}.pc-weather-cloudy{background:#60a5fa10;border:1px solid #60a5fa22;color:#60a5fa;color:var(--pc-blue)}.pc-weather-rainy{background:#f59e0b15;background:var(--pc-amber-dim);border:1px solid #f59e0b25;color:#f59e0b;color:var(--pc-amber)}.pc-weather-storm{background:#ef444410;background:var(--pc-danger-dim);border:1px solid #ef444420;border:1px solid var(--pc-danger-border);color:#ef4444;color:var(--pc-danger)}.pc-metric{background:#0c0d12;background:var(--pc-bg-card);border:1px solid #ffffff08;border:1px solid var(--pc-border);border-radius:16px;border-radius:var(--pc-radius-lg);padding:20px}.pc-metric-label{color:#555;color:var(--pc-text-dim);font-family:DM Mono,monospace;font-family:var(--pc-font-mono);font-size:10px;letter-spacing:1.5px;margin-bottom:10px;text-transform:uppercase}.pc-metric-value{color:#e8e4df;color:var(--pc-text-primary);font-size:28px;font-weight:600;line-height:1}.pc-metric-sub{color:#555;color:var(--pc-text-dim);font-size:11px;margin-top:6px}.pc-layout{background:#08090c;background:var(--pc-bg-base);display:flex!important;flex-direction:row!important;min-height:100vh!important;width:100%!important}.pc-main{flex:1 1;overflow-y:auto;padding:32px}.pc-page-header{margin-bottom:28px}.pc-page-title{color:#e8e4df;color:var(--pc-text-primary);font-size:22px;font-weight:600;margin-bottom:4px}.pc-page-sub{color:#555;color:var(--pc-text-dim);font-size:13px}.pc-sidebar{background:#0c0d12!important;border-right:1px solid #ffffff08!important;display:flex!important;flex-direction:column!important;flex-shrink:0!important;min-height:100vh!important;padding:24px 16px!important;position:relative!important;width:220px!important;z-index:10!important}.pc-nav-item{align-items:center;background:#0000;border:none;border-radius:10px;border-radius:var(--pc-radius-md);color:#555;color:var(--pc-text-dim);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:10px 12px;text-align:left;text-decoration:none;transition:all .2s ease;transition:var(--pc-transition);width:100%}.pc-nav-item:hover{color:#888;color:var(--pc-text-muted)}.pc-nav-item.active,.pc-nav-item:hover{background:#14151e;background:var(--pc-bg-subtle)}.pc-nav-item.active{border:1px solid #ffffff08;border:1px solid var(--pc-border);color:#e8e4df;color:var(--pc-text-primary)}.pc-grid-2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.pc-grid-3{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.pc-grid-4{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.pc-divider{align-items:center;display:flex;gap:16px;margin:24px 0}.pc-divider:after,.pc-divider:before{background:#ffffff08;background:var(--pc-border);content:"";flex:1 1;height:1px}.pc-divider span{color:#333;color:var(--pc-text-dimmest);font-family:DM Mono,monospace;font-family:var(--pc-font-mono);font-size:10px}.pc-table{border-collapse:collapse;font-size:13px;width:100%}.pc-table th{color:#555;color:var(--pc-text-dim);font-family:DM Mono,monospace;font-family:var(--pc-font-mono);font-size:10px;font-weight:400;letter-spacing:1px;padding:10px 16px;text-align:left;text-transform:uppercase}.pc-table td,.pc-table th{border-bottom:1px solid #ffffff08;border-bottom:1px solid var(--pc-border)}.pc-table td{color:#e8e4df;color:var(--pc-text-primary);padding:14px 16px}.pc-table tbody tr:hover td{background:#0e0f14;background:var(--pc-bg-input)}.pc-table tbody tr:last-child td{border-bottom:none}.pc-dropzone{background:#0c0d12;background:var(--pc-bg-card);border:1px dashed #ffffff12;border:1px dashed var(--pc-border-mid);border-radius:16px;border-radius:var(--pc-radius-lg);cursor:pointer;padding:48px 24px;text-align:center;transition:all .2s ease;transition:var(--pc-transition)}.pc-dropzone.dragging,.pc-dropzone:hover{background:#4ade8010;background:var(--pc-green-glow);border-color:#4ade8022;border-color:var(--pc-green-border)}.pc-progress-bar{background:#ffffff08;background:var(--pc-border);border-radius:2px;height:3px;overflow:hidden}.pc-progress-fill{background:linear-gradient(90deg,#22c55e,#4ade80);background:linear-gradient(90deg,var(--pc-green-dark),var(--pc-green));border-radius:2px;height:100%;transition:width .4s ease}@keyframes pc-rainfall{0%{opacity:0;transform:translateY(-100vh)}10%{opacity:.05;opacity:var(--drop-opacity,.05)}90%{opacity:.05;opacity:var(--drop-opacity,.05)}to{opacity:0;transform:translateY(100vh) translateX(-20px)}}@keyframes pc-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pc-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pc-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pc-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pc-animate-enter{animation:pc-enter .8s cubic-bezier(.16,1,.3,1) both}.pc-animate-slide-up{animation:pc-slide-up .3s ease both}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff10;border-radius:3px}@media (max-width:768px){.pc-layout{flex-direction:column}.pc-sidebar{border-bottom:1px solid #ffffff08!important;border-bottom:1px solid var(--pc-border)!important;border-right:none!important;flex-wrap:wrap!important;gap:8px!important;min-height:auto!important;padding:16px!important;width:100%!important}.pc-sidebar,.pc-sidebar nav{flex-direction:row!important}.pc-sidebar nav{flex-wrap:wrap}.pc-nav-item{padding:8px 12px!important}.pc-main{padding:16px}.pc-grid-3,.pc-grid-4{grid-template-columns:repeat(2,1fr)}.pc-grid-2{grid-template-columns:1fr}}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:#e8e4df!important;-webkit-box-shadow:inset 0 0 0 1000px #0e0f14!important;caret-color:#e8e4df;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.dashboard-container{background-color:#f5f5f5;min-height:100vh}.dashboard-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.dashboard-header h1{font-size:28px;margin:0}.header-right{gap:20px}.logout-btn,.nav-btn,.refresh-btn{background-color:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.logout-btn:hover,.nav-btn:hover,.refresh-btn:hover{background-color:#ffffff4d}.dashboard-content{margin:0 auto;max-width:1200px;padding:30px 20px}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.metric-card{background:#fff;border-left:4px solid #667eea;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px}.metric-card.alert{background:linear-gradient(135deg,#fff9e6,#fffbf0);border-left-color:#f59e0b}.metric-label{font-size:12px;margin-bottom:8px}.metric-value{font-size:28px}.metric-note{color:#999;font-size:12px;margin-top:8px}.dashboard-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:30px;padding:24px}.dashboard-section h2{color:#333;font-size:20px;margin:0 0 20px}.invoices-list{display:flex;flex-direction:column;gap:12px}.invoice-item{align-items:center;background-color:#f9f9f9;border-left:3px solid #667eea;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.invoice-vendor{color:#333;flex:1 1;font-weight:600}.invoice-amount{color:#667eea;font-weight:600;margin:0 20px}.invoice-items{color:#666;font-size:13px;font-weight:500}.invoice-date{color:#999;font-size:12px}.items-list{display:flex;flex-direction:column;gap:12px}.item-row{grid-gap:20px;align-items:center;background-color:#f9f9f9;border-left:4px solid #667eea;border-radius:6px;display:grid;gap:20px;grid-template-columns:1fr auto auto auto;padding:16px}.item-row.weather-clear{background-color:#f0fdf4;border-left-color:#10b981}.item-row.weather-cloudy{background-color:#eff6ff;border-left-color:#3b82f6}.item-row.weather-rain{background-color:#fffbf0;border-left-color:#f59e0b}.item-row.weather-storm{background-color:#fef2f2;border-left-color:#ef4444}.item-name{color:#333}.item-category{color:#999;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.item-cost{color:#667eea;font-weight:600}.item-weather{border-radius:4px;font-size:12px;font-weight:600;padding:4px 12px;text-align:center}.item-weather.weather-clear{background-color:#dcfce7;color:#166534}.item-weather.weather-cloudy{background-color:#dbeafe;color:#036}.item-weather.weather-rain{background-color:#fef3c7;color:#92400e}.item-weather.weather-storm{background-color:#fee2e2;color:#991b1b}.category-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.category-card{background:linear-gradient(135deg,#f0f4ff,#f5f3ff);border:1px solid #e5e7eb;border-radius:8px;padding:16px}.category-name{color:#333;font-weight:600;margin-bottom:12px}.category-stat{align-items:center;display:flex;font-size:13px;justify-content:space-between;margin-bottom:8px}.stat-label{font-weight:500}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:12px}.header-right{justify-content:space-between;width:100%}.item-row{grid-template-columns:1fr auto}.item-category,.item-cost{display:none}.metrics-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.invoice-container{background-color:#f5f5f5;min-height:100vh}.invoice-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.invoice-header h1{font-size:28px;margin:0}.invoice-content{margin:0 auto;max-width:1200px;padding:30px 20px}.upload-section{margin-bottom:40px}.upload-box{background:#fff;border:2px dashed #667eea;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:40px;text-align:center}.upload-icon{font-size:56px;margin-bottom:16px}.upload-box h2{color:#333;font-size:24px;margin:0 0 12px}.upload-box p{color:#666;font-size:14px;margin:0 auto 24px;max-width:500px}.select-file-btn{background-color:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background-color .2s}.select-file-btn:hover:not(:disabled){background-color:#5568d3}.select-file-btn:disabled{cursor:not-allowed;opacity:.6}.file-selected{background-color:#f0f4ff;border-radius:8px;margin-top:20px;padding:16px}.file-selected p{color:#333;font-size:14px;margin:0 0 12px}.upload-btn{background-color:#10b981;border-radius:6px;font-size:14px;padding:10px 20px;transition:background-color .2s}.upload-btn:hover:not(:disabled){background-color:#059669}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:14px;margin-top:16px;padding:12px}.results-section{animation:slideIn .3s ease-in-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-summary{background:#fff;border-left:4px solid #10b981;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:24px;padding:24px}.result-summary h3{color:#333;font-size:18px;margin:0 0 12px}.summary-message{color:#666;font-size:14px;font-style:italic;margin:0 0 16px}.summary-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:16px}.stat-item{align-items:center;background-color:#f9f9f9;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.stat-value{font-size:14px;font-weight:600;margin-left:8px}.stat-value.mode-auto{color:#10b981}.stat-value.mode-review_needed{color:#f59e0b}.result-section-box{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:24px;padding:24px}.result-section-box h3{color:#333;font-size:18px;margin:0 0 20px}.updates-list{display:flex;flex-direction:column;gap:12px}.update-item{align-items:center;background-color:#f9f9f9;border-left:4px solid #10b981;border-radius:8px;display:flex;justify-content:space-between;padding:16px}.update-name{color:#333;flex:1 1;font-size:14px;font-weight:600}.update-price{align-items:center;display:flex;font-size:14px;gap:8px;margin:0 16px}.old-price{color:#999;text-decoration:line-through}.arrow{color:#667eea;font-weight:600}.new-price{color:#10b981;font-weight:600}.update-confidence{color:#666;font-size:12px;min-width:100px;text-align:right}.items-grid{grid-gap:16px;gap:16px}.parsed-item{background-color:#f9f9f9;border:2px solid #e5e7eb;border-radius:8px;padding:16px;transition:border-color .2s}.parsed-item.matched{background-color:#f0fdf4;border-color:#10b981}.parsed-item.unmatched{background-color:#fefce8;border-color:#fecaca}.item-header{align-items:center;color:#333;display:flex;font-weight:600;gap:8px;margin-bottom:12px}.item-status{font-size:18px}.item-name{flex:1 1;font-size:14px}.item-details{color:#666;font-size:12px;margin-bottom:12px}.item-details p{margin:6px 0}.detail-label{color:#999;font-weight:600}.match-info{display:flex;flex-direction:column;gap:8px}.match-bar{background-color:#e5e7eb;border-radius:3px;height:6px;overflow:hidden;width:100%}.match-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .3s ease-in-out}.match-percent{color:#666;font-size:12px;font-weight:600}.cost-update-badge{display:inline-block;font-size:11px;font-weight:600;padding:4px 8px}.cost-update-badge,.no-match-info{background-color:#fef3c7;border-radius:4px;color:#92400e}.no-match-info{font-size:12px;padding:8px;text-align:center}.upload-another{border-top:1px solid #e5e7eb;margin-top:32px;padding-top:32px;text-align:center}@media (max-width:768px){.invoice-header{align-items:flex-start;flex-direction:column;gap:12px}.header-right{gap:8px;justify-content:space-between;width:100%}.upload-box{padding:24px}.summary-stats{grid-template-columns:1fr}.update-item{align-items:flex-start;flex-direction:column;gap:8px}.update-price{margin:8px 0}.update-confidence{text-align:left}.items-grid{grid-template-columns:1fr}}.inventory-container{background-color:#f5f5f5;min-height:100vh}.inventory-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.inventory-header h1{font-size:28px;margin:0}.header-right{align-items:center;display:flex;gap:15px}.user-email{font-size:14px;opacity:.9}.logout-btn,.nav-btn{background-color:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.logout-btn:hover,.nav-btn:hover{background-color:#ffffff4d}.inventory-content{margin:0 auto;max-width:1400px;padding:30px 20px}.search-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;padding:24px}.search-form{margin-bottom:20px}.search-inputs{grid-gap:12px;align-items:flex-end;display:grid;gap:12px;grid-template-columns:1fr 200px 100px auto}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.input-group input,.input-group select{border:1px solid #e5e7eb;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.input-group input:focus,.input-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.search-btn{background-color:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color .2s;white-space:nowrap}.search-btn:hover{background-color:#5568d3}.clear-btn{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:background-color .2s}.clear-btn:hover{background-color:#e5e7eb}.sort-controls{gap:12px}.sort-controls,.sort-group{align-items:center;display:flex}.sort-group{font-size:14px;gap:8px}.sort-group label{color:#666;font-weight:600}.sort-group select{font-size:13px;padding:6px 10px}.sort-group select,.sort-order-btn{border:1px solid #e5e7eb;border-radius:4px;cursor:pointer}.sort-order-btn{background-color:#f3f4f6;color:#666;font-size:12px;font-weight:600;padding:6px 12px;transition:background-color .2s;white-space:nowrap}.sort-order-btn:hover{background-color:#e5e7eb}.loading{color:#666;font-size:16px;padding:40px;text-align:center}.error-box{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin-bottom:20px;padding:16px}.empty-state{box-shadow:0 2px 8px #0000000d}.empty-state p{color:#666;font-size:18px;margin:0 0 16px}.empty-hint{color:#999;font-size:14px;margin:0}.clear-link{background-color:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:8px 16px;transition:background-color .2s}.clear-link:hover{background-color:#5568d3}.results-info{color:#666;font-size:14px;margin-bottom:16px}.ingredients-table-wrapper{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;overflow:hidden}.ingredients-table{border-collapse:collapse;width:100%}.ingredients-table thead{background-color:#f9f9f9;border-bottom:2px solid #e5e7eb}.ingredients-table th{color:#999;font-size:12px;font-weight:700;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.ingredients-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.ingredients-table tbody tr:hover{background-color:#f9f9f9}.ingredients-table tbody tr.inactive{opacity:.6}.ingredients-table td{color:#333;font-size:14px;padding:16px}.name-col{min-width:250px}.item-name{font-weight:600;margin-bottom:4px}.item-code{color:#999;font-size:12px}.category-badge{background-color:#e0e7ff;border-radius:20px;color:#4f46e5;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.cost-col{min-width:120px;text-align:right}.cost-value{color:#667eea;font-size:15px;font-weight:600}.ingredients-table tbody tr.weather-clear{background-color:#f0fdf4!important;border-left:4px solid #10b981}.ingredients-table tbody tr.weather-cloudy{background-color:#eff6ff!important;border-left:4px solid #3b82f6}.ingredients-table tbody tr.weather-rain{background-color:#fffbf0!important;border-left:4px solid #f59e0b}.ingredients-table tbody tr.weather-storm{background-color:#fef2f2!important;border-left:4px solid #ef4444}.weather-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-align:center;white-space:nowrap}.weather-badge.weather-clear{background-color:#dcfce7;color:#166534}.weather-badge.weather-cloudy{background-color:#dbeafe;color:#036}.weather-badge.weather-rain{background-color:#fef3c7;color:#92400e}.weather-badge.weather-storm{background-color:#fee2e2;color:#991b1b}.inventory-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-label{color:#999;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.stat-value{color:#333;font-size:28px;font-weight:700}@media (max-width:1024px){.search-inputs{grid-template-columns:1fr 1fr}}@media (max-width:768px){.inventory-header{align-items:flex-start;flex-direction:column;gap:12px}.header-right{flex-wrap:wrap;gap:8px;justify-content:space-between;width:100%}.inventory-header h1{width:100%}.search-inputs{grid-template-columns:1fr}.sort-controls{align-items:flex-start;flex-direction:column}.sort-group,.sort-group select,.sort-order-btn{width:100%}.ingredients-table{font-size:13px}.ingredients-table td,.ingredients-table th{padding:12px}.name-col{min-width:180px}.inventory-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.nav-btn{font-size:12px;padding:6px 12px}.header-right{gap:6px}.ingredients-table-wrapper{overflow-x:auto}.ingredients-table{min-width:100%}.inventory-stats{grid-template-columns:1fr}.stat-value{font-size:20px}}.recipes-page{display:flex;flex-direction:column;min-height:100vh}.recipes-container{background-color:#f5f5f5;flex:1 1}.recipes-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #0000001a;color:#fff;padding:30px}.recipes-header h1{font-size:32px;margin:0 0 8px}.recipes-subtitle{font-size:14px;margin:0 0 20px;opacity:.9}.recipes-controls{align-items:center;display:flex;gap:12px}.search-box{flex:1 1;max-width:400px;position:relative}.search-input{background-color:#ffffff26;border:none;border-radius:6px;color:#fff;font-size:14px;padding:10px 12px 10px 36px;transition:background-color .2s;width:100%}.search-input::placeholder{color:#ffffffb3}.search-input:focus{background-color:#ffffff40;outline:none}.search-icon{left:10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.new-recipe-btn{background-color:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background-color .2s;white-space:nowrap}.new-recipe-btn:hover{background-color:#ffffff4d}.recipes-content{margin:0 auto;max-width:1400px;padding:30px 20px}.loading-state{color:#666;padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;display:inline-block;height:40px;margin-bottom:12px;width:40px}.recipes-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-left:4px solid #667eea;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px;text-align:center}.stat-card h3{color:#333;font-size:24px;margin:0 0 8px}.stat-card p{color:#999;font-size:12px;letter-spacing:.5px;margin:0;text-transform:uppercase}.recipes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:30px}.recipe-card{background:#fff;border-left:5px solid #667eea;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.recipe-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-4px)}.recipe-card.weather-clear{background:linear-gradient(135deg,#f0fdf4,#f5f5f5);border-left-color:#10b981}.recipe-card.weather-cloudy{background:linear-gradient(135deg,#eff6ff,#f5f5f5);border-left-color:#3b82f6}.recipe-card.weather-rain{background:linear-gradient(135deg,#fffbf0,#f5f5f5);border-left-color:#f59e0b}.recipe-card.weather-storm{background:linear-gradient(135deg,#fef2f2,#f5f5f5);border-left-color:#ef4444}.recipe-header{border-bottom:1px solid #e5e7eb;padding:16px}.recipe-title{margin-bottom:12px}.recipe-title h3{color:#333;font-size:18px;margin:0 0 4px}.recipe-category{background-color:#e5e7eb;border-radius:12px;color:#666;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.recipe-metrics{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.metric{display:flex;flex-direction:column;gap:4px}.metric-label{color:#999;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.metric-value{color:#333;font-size:16px;font-weight:700}.pour-cost-clear{color:#10b981}.pour-cost-cloudy{color:#3b82f6}.pour-cost-rain{color:#f59e0b}.pour-cost-storm{color:#ef4444}.recipe-weather-badge{align-items:center;background-color:#00000005;border-bottom:1px solid #e5e7eb;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 16px}.weather-icon{font-size:20px}.weather-label{color:#666}.recipe-ingredients{flex:1 1;padding:16px}.recipe-ingredients h4{color:#333;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.recipe-ingredients ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.recipe-ingredients li{align-items:center;border-bottom:1px solid #f3f3f3;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.recipe-ingredients li:last-child{border-bottom:none}.recipe-ingredients li.missing-ingredient{color:#999;opacity:.6}.ingredient-name{color:#333;font-weight:500}.ingredient-amount{color:#999;font-size:12px;margin:0 8px}.ingredient-cost{color:#667eea;font-weight:600;margin-left:auto}.ingredient-cost.missing{color:#f59e0b;font-weight:500}.recipe-actions{border-top:1px solid #e5e7eb;display:flex;gap:8px;padding:12px 16px}.action-btn{background-color:#f9f9f9;border:1px solid #e5e7eb;border-radius:6px;color:#666;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:8px 12px;transition:all .2s}.action-btn:hover{background-color:#667eea;border-color:#667eea;color:#fff}.edit-btn{border-color:#667eea;color:#667eea}.edit-btn:hover{background-color:#667eea;color:#fff}.delete-btn{border-color:#ef4444;color:#ef4444}.delete-btn:hover{background-color:#ef4444;color:#fff}.view-btn{border-color:#3b82f6;color:#3b82f6}.view-btn:hover{background-color:#3b82f6;color:#fff}.empty-state{background:#fff;border-radius:12px;color:#999;padding:60px 20px;text-align:center}@media (max-width:768px){.recipes-header{padding:20px}.recipes-header h1{font-size:24px}.recipes-controls{flex-direction:column}.search-box{max-width:100%}.recipes-grid{grid-template-columns:1fr}.recipe-metrics{grid-template-columns:repeat(3,1fr)}}.App{color:#fff;min-height:100vh;text-align:center}.App-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000001a;border-bottom:1px solid #ffffff1a;padding:2rem 0}.App-header h1{font-size:2.5rem;font-weight:300;margin:0;text-shadow:0 2px 4px #0000004d}.App-header p{font-size:1.1rem;margin:.5rem 0 0;opacity:.8}.tab-nav{display:flex;gap:0;justify-content:center;margin:2rem auto;max-width:600px}.tab-nav button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;padding:1rem 2rem;transition:all .3s ease}.tab-nav button:first-child{border-bottom-left-radius:10px;border-top-left-radius:10px}.tab-nav button:last-child{border-bottom-right-radius:10px;border-top-right-radius:10px}.tab-nav button:not(:last-child){border-right:none}.tab-nav button:hover{background:#fff3;transform:translateY(-1px)}.tab-nav button.active{background:#ffffff40;border-color:#fff6;font-weight:600}.content{margin:0 auto;max-width:1200px;padding:0 2rem 4rem}.inventory-section,.results-section,.upload-section{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff1a;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0003;margin:2rem auto;padding:2rem}.inventory-section h2,.results-section h2,.upload-section h2{font-size:1.8rem;font-weight:300;margin-top:0}.upload-area{margin:2rem 0}#file-input{display:none}.file-label{background:#ffffff26;border:2px dashed #ffffff4d;border-radius:10px;cursor:pointer;display:inline-block;font-size:1.1rem;margin-bottom:1rem;min-width:300px;padding:1rem 2rem;transition:all .3s ease}.file-label:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-2px)}.upload-btn{background:linear-gradient(45deg,#4caf50,#45a049);border:none;border-radius:25px;box-shadow:0 4px 15px #4caf504d;color:#fff;cursor:pointer;display:block;font-size:1.1rem;font-weight:600;margin:1.5rem auto 0;padding:1rem 2.5rem;transition:all .3s ease}.upload-btn:hover:not(:disabled){box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.upload-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.results-summary{background:#ffffff1a;border-radius:10px;font-size:1.1rem;margin-bottom:2rem;padding:1rem}.items-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:2rem}.item-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:1.5rem;text-align:left;transition:all .3s ease}.item-card:hover{border-color:#ffffff4d;box-shadow:0 8px 25px #0003;transform:translateY(-4px)}.item-card h3{color:#fff;font-size:1.2rem;font-weight:500;margin:0 0 1rem}.item-details p{font-size:.95rem;margin:.5rem 0;opacity:.9}.price-per-oz{background:#ffffff26;border-radius:6px;font-size:1.1rem!important;margin-top:1rem!important;padding:.5rem;text-align:center}.item-date{font-size:.85rem!important;font-style:italic;opacity:.6!important}@media (max-width:768px){.tab-nav{flex-direction:column;margin:1rem}.tab-nav button{border:1px solid #fff3!important;border-radius:8px!important;margin-bottom:.5rem}.items-grid{grid-template-columns:1fr}.content{padding:0 1rem 2rem}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.upload-btn:disabled{position:relative}.upload-btn:disabled:before{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;content:"";height:1rem;left:1rem;position:absolute;top:50%;transform:translateY(-50%);width:1rem}
/*# sourceMappingURL=main.a390a4ae.css.map*/