:root{--bg-primary: #090c10;--bg-card: #151a22;--bg-input: #1e2530;--text-primary: #ffffff;--text-secondary: #8e9ca8;--text-placeholder: #576574;--accent-purple: #5e5ce6;--accent-purple-hover: #7d7aff;--accent-purple-dim: rgba(94, 92, 230, .15);--color-blue: #0a84ff;--color-green: #30d158;--color-orange: #ff9f0a;--color-red: #ff453a;--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);min-height:100dvh;min-height:-webkit-fill-available;overflow-x:hidden;display:flex;flex-direction:column;line-height:1.5;-webkit-font-smoothing:antialiased}html{height:-webkit-fill-available;height:100dvh;background-color:var(--bg-primary)}.app-container{display:flex;flex-direction:column;flex:1;width:100%;max-width:600px;margin:0 auto;padding:16px 16px calc(80px + var(--safe-bottom)) 16px;position:relative}@media (min-width: 768px){.app-container{max-width:1100px!important}}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:8px 0}.app-title{font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--text-primary)}.app-title span{color:var(--color-blue)}.card{background-color:var(--bg-card);border-radius:20px;padding:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;gap:12px;position:relative}.card-interactive{cursor:pointer;transition:transform .15s cubic-bezier(.16,1,.3,1),border-color .15s ease,box-shadow .15s ease;will-change:transform}.card-interactive:active{transform:scale(.96);border-color:var(--color-blue);box-shadow:0 4px 15px #00000080}.card-title{font-size:18px;font-weight:750;color:var(--text-primary);display:flex;align-items:center;gap:10px;letter-spacing:-.01em}.card-description{font-size:14px;color:var(--text-secondary);line-height:1.45}.sub-box{background-color:var(--bg-input);border-radius:14px;padding:14px 16px;border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:10px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.btn{height:48px;padding:0 20px;border-radius:12px;border:none;font-family:var(--font-family);font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:opacity .15s ease,transform .1s ease}.btn:active{transform:scale(.97)}.btn-primary{background-color:var(--color-blue);color:#fff;box-shadow:0 4px 12px #0a84ff59}.btn-primary:active{opacity:.9}.btn-secondary{background-color:var(--bg-input);border:1px solid rgba(255,255,255,.1);color:#fff}.btn-secondary:active{background-color:#ffffff0d}.btn-danger{background-color:var(--color-red);color:#fff;box-shadow:0 4px 12px #ff453a4d}.btn-icon{width:42px;height:42px;border-radius:50%;background-color:var(--bg-input);display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.08);cursor:pointer;font-size:18px;color:#fff}.input-group{display:flex;flex-direction:column;gap:6px;width:100%}.input-label{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;padding-left:4px}.input-field{height:48px;background-color:var(--bg-input);border:1px solid rgba(255,255,255,.08);border-radius:12px;color:var(--text-primary);font-family:var(--font-family);font-size:15px;padding:0 16px;width:100%;outline:none;transition:border-color .15s ease,background-color .15s ease}.input-field:focus{border-color:var(--color-blue);background-color:var(--bg-card)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background-color:#090c10d9;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-top:1px solid rgba(255,255,255,.08);height:calc(64px + var(--safe-bottom));padding-bottom:var(--safe-bottom);z-index:100}.nav-container{display:flex;width:100%;max-width:600px;margin:0 auto;justify-content:space-around;height:100%}.nav-item{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--text-secondary);font-family:var(--font-family);font-size:11px;font-weight:500;cursor:pointer;transition:color .15s ease}.nav-item-icon{font-size:20px;transition:transform .15s ease}.nav-item.active{color:var(--color-blue);font-weight:700}.nav-item.active .nav-item-icon{transform:scale(1.1)}.bottom-input-bar{position:fixed;bottom:calc(64px + var(--safe-bottom));left:50%;transform:translate(-50%);width:100%;max-width:600px;background-color:#0f141ce6;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);z-index:90}.bottom-input-container{display:flex;gap:8px}.checkbox-large{width:26px;height:26px;border:2px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:transparent;cursor:pointer;flex-shrink:0;transition:all .15s ease}.shopping-item.completed .checkbox-large{border-color:var(--color-green);background-color:var(--color-green);color:#fff}.item-name{font-size:16px;font-weight:600}.shopping-item.completed .item-name{text-decoration:line-through;color:var(--text-secondary)}.expiry-tag{font-size:11px;font-weight:700;text-transform:uppercase}.expiry-tag.danger{color:var(--color-red)}.expiry-tag.warning{color:var(--color-orange)}.expiry-tag.safe{color:var(--color-green)}.fridge-item-card{background-color:var(--bg-card);border-radius:18px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.08);box-shadow:0 6px 20px #0003}.fridge-item-card.expired{border-color:var(--color-red)}.fridge-item-card.expiring-soon{border-color:var(--color-orange)}.fridge-item-header{display:flex;justify-content:space-between;align-items:flex-start}.fridge-item-title{font-size:18px;font-weight:750;color:var(--text-primary)}.fridge-item-meta{font-size:12px;color:var(--text-secondary)}.fridge-item-badge{font-size:10px;font-weight:700;padding:3px 6px;border-radius:6px;text-transform:uppercase}.badge-fridge{background-color:#0a84ff26;color:var(--color-blue)}.badge-freezer{background-color:#5e5ce626;color:var(--accent-purple-hover)}.badge-pantry{background-color:#ff9f0a26;color:var(--color-orange)}.fridge-item-controls{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.quantity-display{font-size:20px;font-weight:800;width:32px;text-align:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#05070aa6;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.modal-content{background-color:var(--bg-card);width:100%;max-width:400px;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px;border:1px solid rgba(255,255,255,.1);max-height:85vh;overflow-y:auto;box-shadow:0 20px 50px #0006}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:15px}@keyframes slideUp{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}.page-enter{animation:slideUp .22s cubic-bezier(.16,1,.3,1) forwards;will-change:transform,opacity;backface-visibility:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}ul.note-todo-list{list-style-type:none!important;padding-left:4px!important;margin:8px 0!important}ul.note-todo-list li.note-todo-item{position:relative!important;padding-left:28px!important;margin-bottom:6px!important;list-style-type:none!important;min-height:22px!important;line-height:1.5!important;color:#111827!important}ul.note-todo-list li.note-todo-item:before{content:""!important;position:absolute!important;left:4px!important;top:3px!important;width:18px!important;height:18px!important;border:2px solid var(--accent-purple)!important;border-radius:50%!important;cursor:pointer!important;background-color:transparent!important;box-sizing:border-box!important;transition:all .2s ease!important}ul.note-todo-list li.note-todo-item.checked:before{background-color:var(--accent-purple)!important;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>")!important;background-size:11px!important;background-repeat:no-repeat!important;background-position:center!important;border-color:var(--accent-purple)!important}ul.note-todo-list li.note-todo-item.checked{color:var(--text-secondary)!important;text-decoration:line-through!important;opacity:.7!important}.toggle-group{display:flex;background-color:var(--bg-card);border-radius:12px;padding:3px;border:1px solid rgba(255,255,255,.08);gap:2px}.toggle-btn{flex:1;height:36px;background:none;border:none;color:var(--text-secondary);font-family:var(--font-family);font-size:13px;font-weight:600;border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.toggle-btn.active{background-color:var(--bg-input);color:#fff;box-shadow:0 1px 3px #0003}.toggle-btn:active{opacity:.85}.cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}@media (min-width: 480px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.loyalty-card{height:110px;border-radius:16px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 15px #00000026;transition:transform .12s cubic-bezier(.16,1,.3,1),box-shadow .12s ease;position:relative;overflow:hidden}.loyalty-card:active{transform:scale(.95);box-shadow:0 2px 8px #0003}.loyalty-card-name{font-size:18px;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);letter-spacing:-.02em}
