:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--bg-primary: #1a1a1a;--bg-secondary: #2a2a2a;--bg-tertiary: #333333;--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .6);--text-tertiary: rgba(255, 255, 255, .4);--border-color: #444444;--border-light: #333333;--link-color: #8b9cff;--link-hover: #a7b5ff;--button-bg: #2a2a2a;--button-hover: #333333;--success-color: #66bb6a;--success-bg: #1b3a1d;--danger-color: #ef5350;--danger-bg: #3a1b1b;--warning-color: #ffa726;--info-color: #42a5f5;--card-bg: #2a2a2a;--card-hover-shadow: rgba(0,0,0,.3);--nav-active: #8b9cff;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--link-color);text-decoration:inherit}a:hover{color:var(--link-hover)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--button-bg);color:var(--text-primary);cursor:pointer;transition:border-color .25s,background-color .25s}button:hover{border-color:var(--link-color);background-color:var(--button-hover)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}*{box-sizing:border-box}#root{max-width:1280px;margin:0 auto;padding:2rem}.app{min-height:100vh}header{margin-bottom:2rem}header h1{margin-bottom:1rem;color:var(--text-primary)}nav{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--border-light)}nav button{background:none;border:none;padding:.5rem 1rem;cursor:pointer;font-size:1rem;color:var(--text-primary);border-bottom:2px solid transparent;transition:all .3s}nav button:hover{background-color:var(--bg-tertiary)}nav button.active{border-bottom-color:var(--nav-active);color:var(--nav-active)}.file-controls{display:flex;gap:1rem;margin-bottom:1.5rem}.export-btn,.import-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);cursor:pointer;border-radius:4px;transition:background-color .3s}.export-btn:hover,.import-btn:hover{background-color:var(--bg-tertiary)}.add-item-container{margin-bottom:2rem}.add-item-btn{padding:.75rem 1.5rem;background:var(--link-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.add-item-btn:hover{background-color:var(--link-hover)}.add-item-form-container{margin-bottom:2rem}.add-item-form{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;max-width:500px}.add-item-form h3{margin-top:0;color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary)}.form-group input{width:100%;padding:.5rem;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:4px;font-size:1rem}.form-group small{display:block;margin-top:.25rem;color:var(--text-secondary)}.form-actions{display:flex;gap:1rem;margin-top:1rem}.submit-btn{padding:.5rem 1rem;background:var(--success-color);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.submit-btn:hover{background-color:#45a049}.cancel-btn{padding:.5rem 1rem;background:var(--danger-color);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.cancel-btn:hover{background-color:#da190b}.pantry-item-list h2{margin-bottom:1rem;color:var(--text-primary)}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.pantry-item-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1rem;transition:box-shadow .3s}.pantry-item-card:hover{box-shadow:0 2px 8px var(--card-hover-shadow)}.pantry-item-card.needs-purchase{border-color:var(--danger-color);background-color:var(--danger-bg)}.pantry-item-card h3{margin-top:0;margin-bottom:.5rem;color:var(--text-primary)}.item-details p{margin:.25rem 0;font-size:.9rem;color:var(--text-secondary)}.status{font-weight:700}.status.overdue{color:var(--danger-color)}.status.ok{color:var(--success-color)}.item-actions{display:flex;gap:.5rem;margin-top:1rem}.purchase-btn,.due-btn,.edit-btn,.delete-btn,.save-btn{padding:.25rem .75rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s}.purchase-btn{background:var(--success-color);color:#fff}.purchase-btn:hover{background-color:#45a049}.due-btn{background:var(--warning-color);color:#fff}.due-btn:hover{background-color:#e68900}.edit-btn{background:var(--info-color);color:#fff}.edit-btn:hover{background-color:#0b7dda}.delete-btn{background:var(--danger-color);color:#fff}.delete-btn:hover{background-color:#da190b}.pantry-item-card.editing{background-color:var(--bg-secondary)}.edit-form input{width:100%;padding:.5rem;margin-bottom:.5rem;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:4px}.rate-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.rate-inputs label{display:block;font-size:.9rem;color:var(--text-secondary)}.rate-inputs input{margin-top:.25rem}.edit-actions{display:flex;gap:.5rem}.shopping-list{max-width:800px;margin:0 auto;color:var(--text-primary)}.shopping-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.shopping-stats{color:var(--text-secondary)}.empty-shopping-list{text-align:center;padding:3rem}.shopping-items h3{margin-bottom:1rem}.shopping-list-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:1rem}.item-info h4{margin:0 0 .5rem;color:var(--text-primary)}.overdue-info{color:var(--danger-color);margin:0}.rate-info{color:var(--text-secondary);font-size:.9rem;margin-left:.5rem}.action-btn{padding:.5rem 1rem;margin-right:.5rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.action-btn.purchase{background:var(--success-color);color:#fff}.action-btn.purchase:hover{background-color:#45a049}.action-btn.skip{background:var(--warning-color);color:#fff}.action-btn.skip:hover{background-color:#e68900}.action-btn.adjust{background:var(--info-color);color:#fff}.action-btn.adjust:hover{background-color:#0b7dda}.rate-buttons-inline{display:flex;gap:.25rem;margin-left:auto}.rate-btn{width:32px;height:32px;padding:0;border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;font-weight:700;transition:background-color .3s;display:flex;align-items:center;justify-content:center}.rate-btn.decrease{background:var(--info-color);color:#fff}.rate-btn.decrease:hover{background-color:#0b7dda}.rate-btn.increase{background:var(--warning-color);color:#fff}.rate-btn.increase:hover{background-color:#e68900}.rate-adjust-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.rate-adjust-panel h5{margin-top:0;color:var(--text-primary)}.rate-controls{margin-bottom:1rem}.rate-controls label{display:block;margin-bottom:.5rem;color:var(--text-primary)}.rate-controls input{width:100px;padding:.25rem;margin-left:.5rem;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px}.new-rate{color:var(--text-secondary);font-size:.9rem}.rate-actions{display:flex;gap:.5rem;flex-wrap:wrap}.all-processed{text-align:center;padding:2rem;background:var(--success-bg);border-radius:8px;margin-bottom:2rem}.all-processed p{color:var(--success-color);font-size:1.2rem;margin:0}.popup-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.popup-content{background:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 20px #00000080;max-width:500px;width:90%;max-height:80vh;display:flex;flex-direction:column}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-light)}.popup-header h2{margin:0;color:var(--text-primary)}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .3s}.close-button:hover{background-color:var(--bg-tertiary)}.popup-body{padding:1.5rem;overflow-y:auto;flex:1}.empty-message{text-align:center;color:var(--text-secondary);padding:2rem}.popup-items-list{list-style:none;padding:0;margin:0}.popup-items-list li{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border-radius:4px;margin-bottom:.5rem}.item-name{color:var(--text-primary);font-weight:500}.item-quantity{color:var(--text-secondary);font-size:.9rem}.popup-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-light);justify-content:flex-end}.copy-button{background:var(--success-color);color:#fff;border:none;padding:.75rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s;display:flex;align-items:center;justify-content:center;min-width:44px}.copy-button:hover:not(:disabled){background-color:#218838}.copy-button:disabled{opacity:.5;cursor:not-allowed}.close-button-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-light);padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.close-button-secondary:hover{background-color:var(--bg-primary)}.header-actions{display:flex;align-items:center;gap:1.5rem}.view-summary-btn{background:var(--info-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .3s}.view-summary-btn:hover{background-color:#0b7dda}.shopping-actions{text-align:center;margin:2rem 0}.complete-btn{padding:.75rem 2rem;background:var(--link-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1.1rem;transition:background-color .3s}.complete-btn:hover{background-color:var(--link-hover)}.complete-btn.primary{background:var(--success-color)}.complete-btn.primary:hover{background-color:#45a049}.processed-summary{margin-top:2rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px}.processed-summary h3{margin-top:0;color:var(--text-primary)}.processed-summary ul{list-style:none;padding:0;color:var(--text-secondary)}.processed-summary li{padding:.25rem 0}.processed-summary li:before{content:"✓ ";color:var(--success-color);font-weight:700}.app-footer{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border-light)}.footer-content{max-width:800px;margin:0 auto;text-align:center;color:var(--text-secondary)}.footer-content h2{color:var(--text-primary);font-size:1.4rem;margin-bottom:1rem}.footer-content p{margin-bottom:1rem;line-height:1.6}.footer-content strong{color:var(--text-primary)}
