*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--sand:#f5efe6;--sand-dark:#ede4d8;--clay:#c9956c;--clay-dark:#b07d56;--sage:#7d9e8c;--sage-light:#a8c0b0;--ink:#2c2825;--ink-soft:#6b5f58;--white:#fdfaf7;--danger:#d4614a;--radius:16px;--shadow:0 4px 24px #2c28251a;--shadow-sm:0 2px 8px #2c282514}body{background:#f5efe6;background:var(--sand);color:#2c2825;color:var(--ink);font-family:Nunito,sans-serif;min-height:100vh}.app{margin:0 auto;max-width:900px;padding:2rem 1.5rem 4rem}.header{margin-bottom:2.5rem;position:relative;text-align:center}.header-title{color:#2c2825;color:var(--ink);font-family:Fraunces,serif;font-size:2.8rem;font-weight:300;line-height:1.1}.header-title span{color:#c9956c;color:var(--clay);font-style:italic}.header-subtitle{color:#6b5f58;color:var(--ink-soft);font-size:.95rem;font-weight:600;letter-spacing:.04em;margin-top:.5rem;text-transform:uppercase}.status-dot{animation:pulse 2s infinite;background:#7d9e8c;background:var(--sage);border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.status-dot.offline{animation:none;background:#ccc}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.75rem}.search-input{background:#fdfaf7;background:var(--white);border:2px solid #ede4d8;border:2px solid var(--sand-dark);border-radius:999px;color:#2c2825;color:var(--ink);flex:1 1;font-family:Nunito,sans-serif;font-size:.95rem;min-width:180px;outline:none;padding:.65rem 1rem;transition:border-color .2s}.search-input:focus{border-color:#c9956c;border-color:var(--clay)}.btn{align-items:center;border:none;border-radius:999px;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:700;gap:.4rem;padding:.65rem 1.2rem;transition:all .15s}.btn-primary{background:#c9956c;background:var(--clay);color:#fff}.btn-primary:hover{background:#b07d56;background:var(--clay-dark);box-shadow:0 2px 8px #2c282514;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-ghost{background:#ede4d8;background:var(--sand-dark);color:#6b5f58;color:var(--ink-soft)}.btn-ghost:hover{background:#e0d4c7}.btn-danger{background:#0000;color:#d4614a;color:var(--danger);padding:.4rem .6rem}.btn-danger:hover{background:#fde8e4}.btn-icon{background:#0000;border-radius:8px;color:#6b5f58;color:var(--ink-soft);padding:.4rem .6rem}.btn-icon:hover{background:#ede4d8;background:var(--sand-dark);color:#2c2825;color:var(--ink)}.category-group{margin-bottom:1.5rem}.category-label{color:#6b5f58;color:var(--ink-soft);font-size:.78rem;font-weight:800;letter-spacing:.1em;margin-bottom:.6rem;padding-left:.25rem;text-transform:uppercase}.items-list{display:flex;flex-direction:column;gap:.5rem}.item-card{align-items:center;animation:slideIn .25s ease;background:#fdfaf7;background:var(--white);border:2px solid #0000;border-radius:16px;border-radius:var(--radius);box-shadow:0 2px 8px #2c282514;box-shadow:var(--shadow-sm);display:flex;padding:.9rem 1.2rem;transition:all .2s}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.item-card:hover{border-color:#ede4d8;border-color:var(--sand-dark)}.item-card.editing{border-color:#c9956c;border-color:var(--clay);box-shadow:0 0 0 4px #c9956c1f}.item-name{color:#2c2825;color:var(--ink);flex:1 1;font-size:1rem;font-weight:700}.item-category-badge{background:#f5efe6;background:var(--sand);border-radius:999px;color:#6b5f58;color:var(--ink-soft);font-size:.72rem;font-weight:700;margin-right:1rem;padding:.2rem .6rem}.quantity-controls{gap:.5rem}.qty-btn,.quantity-controls{align-items:center;display:flex}.qty-btn{background:#fdfaf7;background:var(--white);border:2px solid #ede4d8;border:2px solid var(--sand-dark);border-radius:50%;color:#6b5f58;color:var(--ink-soft);cursor:pointer;font-size:1.1rem;font-weight:700;height:32px;justify-content:center;line-height:1;transition:all .15s;width:32px}.qty-btn:hover{background:#fdf5ef;color:#c9956c;color:var(--clay)}.qty-btn.plus:hover,.qty-btn:hover{border-color:#c9956c;border-color:var(--clay)}.qty-btn.plus:hover{background:#c9956c;background:var(--clay);color:#fff}.qty-value{color:#2c2825;color:var(--ink);font-family:Fraunces,serif;font-size:1.4rem;font-weight:600;min-width:2rem;text-align:center}.qty-value.zero{color:#ccc}.item-actions{display:flex;gap:.1rem;margin-left:.5rem}.edit-form{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.5rem}.edit-input{background:#fdfaf7;background:var(--white);border:2px solid #c9956c;border:2px solid var(--clay);border-radius:8px;color:#2c2825;color:var(--ink);font-family:Nunito,sans-serif;font-size:.95rem;outline:none;padding:.4rem .75rem}.edit-input.name{flex:1 1;min-width:120px}.edit-input.category{width:130px}.modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2c282559;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:scaleIn .2s ease;background:#fdfaf7;background:var(--white);border-radius:24px;box-shadow:0 16px 64px #2c282533;max-width:420px;padding:2rem;width:100%}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal h2{color:#2c2825;color:var(--ink);font-family:Fraunces,serif;font-size:1.5rem;font-weight:600;margin-bottom:1.25rem}.form-group{margin-bottom:1rem}.form-group label{color:#6b5f58;color:var(--ink-soft);display:block;font-size:.82rem;font-weight:800;letter-spacing:.06em;margin-bottom:.35rem;text-transform:uppercase}.form-input{background:#f5efe6;background:var(--sand);border:2px solid #ede4d8;border:2px solid var(--sand-dark);border-radius:12px;color:#2c2825;color:var(--ink);font-family:Nunito,sans-serif;font-size:1rem;outline:none;padding:.7rem 1rem;transition:border-color .2s;width:100%}.form-input:focus{background:#fdfaf7;background:var(--white);border-color:#c9956c;border-color:var(--clay)}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}.modal-actions .btn{flex:1 1;justify-content:center}.empty-state{color:#6b5f58;color:var(--ink-soft);padding:3rem;text-align:center}.empty-state .emoji{display:block;font-size:3rem;margin-bottom:1rem}@keyframes flash{0%,to{background:#fdfaf7;background:var(--white)}50%{background:#fdf0e6}}.item-card.flash{animation:flash .6s ease}
/*# sourceMappingURL=main.0a0ccf33.css.map*/