*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f7;color:#1d1d1f;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}.app{max-width:480px;margin:0 auto;padding:16px}.app-header{text-align:center;padding:16px 0}.app-header h1{font-size:28px;font-weight:700}.subtitle{color:#6e6e73;font-size:14px}.expiring-banner{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:10px 16px;border-radius:10px;text-align:center;font-weight:600;font-size:14px;margin-bottom:16px}.add-form{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 1px 3px #00000014}.form-row{display:flex;gap:8px;margin-bottom:8px}.input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;color:#1d1d1f;min-height:44px}.input:focus{outline:2px solid #3b82f6;outline-offset:-1px;border-color:#3b82f6}.input-sm{max-width:90px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236e6e73' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.form-errors{background:#fef2f2;color:#dc2626;padding:8px 12px;border-radius:8px;margin-bottom:8px;font-size:13px}.form-label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:#6e6e73;margin-bottom:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}.btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn-primary{background:#3b82f6;color:#fff;width:100%}.btn-primary:hover{background:#2563eb}.btn-icon{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#6e6e73;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.btn-icon:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn-icon:hover{background:#f3f4f6}.btn-use:hover{color:#16a34a;background:#f0fdf4}.btn-toss:hover{color:#dc2626;background:#fef2f2}.filter-bar{margin-bottom:16px}.filter-buttons{display:flex;gap:6px;margin-bottom:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-btn{padding:6px 14px;border:1px solid #d1d5db;border-radius:20px;background:#fff;font-size:13px;cursor:pointer;white-space:nowrap;min-height:36px}.filter-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.filter-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.search-wrapper{position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af}.search-input{padding-left:36px}.dashboard{margin-bottom:16px}.urgency-group{margin-bottom:12px}.urgency-header{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;padding-left:4px}.item-card{background:#fff;border-radius:10px;padding:12px 14px;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;border-left:4px solid #ccc;box-shadow:0 1px 2px #0000000d}.item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.item-name{font-weight:600;font-size:15px}.item-meta{font-size:12px;color:#6e6e73}.item-expiry{font-size:13px;font-weight:600}.item-actions{display:flex;gap:2px;flex-shrink:0}.empty-state{text-align:center;padding:40px 16px;color:#9ca3af;font-size:15px}.waste-stats{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #00000014}.waste-stats h2{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6e6e73;margin-bottom:8px}.stats-row{display:flex;gap:16px}.stat{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100}.modal{background:#fff;border-radius:16px;padding:24px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h2{font-size:18px}.btn-notif{width:100%;margin-top:16px;background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd}.btn-notif:hover{background:#e0f2fe}@media(max-width:480px){.app{padding:12px}.app-header h1{font-size:24px}.item-card{padding:10px 12px}}
