@charset "UTF-8";*{box-sizing:border-box}:root{--bg: #f8f3e9;--surface: #fffdf8;--surface-strong: #ffffff;--border: #e0d1b8;--text: #1c1a14;--muted: #6b6154;--primary: #1f6449;--primary-soft: #d4edde;--warning: #f5ad2e;--warning-soft: #ffedbd;--danger: #a8322a;--danger-soft: #ffe1dc;--shadow: 0 18px 42px rgba(54, 42, 26, .08)}html,body{min-height:100%}body{margin:0;background:#eee7dc;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}h1,h2,h3,p{margin:0}p{color:var(--muted);line-height:1.42}h1{font-size:30px;font-weight:800;line-height:1.05;letter-spacing:0}h2{font-size:18px;font-weight:800;line-height:1.2}h3{font-size:16px;font-weight:800;line-height:1.2}.auth-shell{display:grid;min-height:100dvh;place-items:center;padding:24px 16px}.auth-card{display:grid;gap:20px;width:min(100%,400px);border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:var(--shadow);padding:24px}.auth-description{margin-top:10px}.auth-tabs,.tabs-strip{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:17px;background:#efe6d9;padding:5px}.auth-tabs button,.tabs-strip button{display:grid;place-items:center;min-height:38px;border:0;border-radius:14px;background:transparent;color:var(--muted);font-weight:800}.auth-tabs button.active,.tabs-strip button.active{background:var(--surface);color:var(--primary)}.auth-form,.oauth-section,.support-form,.inline-form,.support-reply{display:grid;gap:12px}.auth-error{color:var(--danger)}.shell{width:min(100%,400px);min-height:100dvh;margin:0 auto;border-radius:28px;background:var(--bg);overflow:hidden;padding:18px 16px 104px}.shell.dev-shell{width:min(100%,1440px);border-radius:0;padding:24px;background:#f7f4e9}.topbar{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:18px}.eyebrow,.section-label{margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.topbar-subtitle{margin-top:4px;font-size:13px}.topbar-actions{display:flex;align-items:stretch;gap:8px}.summary{display:none}.notification-button{position:relative;display:grid;place-items:center;width:44px;min-width:44px;height:44px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--primary);font-size:18px}.notification-button strong{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:2px solid var(--surface);border-radius:999px;background:var(--danger);color:#fff;font-size:12px;line-height:1}.screen{display:grid;gap:16px;animation:tab-in .22s ease-out}@keyframes tab-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}button:active{transform:scale(.98)}.action-card,.fridge-row,.shopping-row,.profile-menu button,.notification-row,.recipe-card{animation:card-in .18s ease-out both}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panel,.summary-card,.dish-card,.profile-card,.recipe-card,.empty-state,.fridge-row,.shopping-row{border:1px solid var(--border);border-radius:18px;background:var(--surface)}.action-card{width:100%;border:1px solid var(--border);color:inherit;text-align:left}.action-card:focus-visible{outline:3px solid rgba(31,100,73,.22);outline-offset:2px}.panel{display:grid;gap:14px;padding:16px}.fridge-toolbar,.filter-pills{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fridge-toolbar{justify-content:space-between;flex-wrap:nowrap}.section-switcher,.filter-pills{min-width:0}.section-switcher{display:flex;flex:1 1 auto;gap:8px}.section-switcher button,.filter-pills span,.filter-pills button{display:inline-grid;place-items:center;height:34px;min-height:34px;border:1px solid var(--border);border-radius:17px;background:var(--surface);color:var(--muted);padding:0 12px;font-size:12px;font-weight:800;line-height:1;text-align:center;white-space:nowrap}.section-switcher button.active,.filter-pills .active,.filter-pills button.active{border-color:var(--primary-soft);background:var(--primary-soft);color:var(--primary)}.add-shortcut{display:inline-grid;place-items:center;flex:0 0 46px;width:46px;min-width:46px;height:38px;min-height:38px;border-radius:14px;padding:0;font-size:22px;line-height:1;text-align:center}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:10px}.form-grid select,.form-grid input[type=date],.form-grid .primary-action{grid-column:span 2}.shopping-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,auto);gap:10px}.shopping-details{display:grid;grid-template-columns:72px 82px minmax(0,1fr);gap:8px}label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}input,select,textarea{width:100%;min-width:0;min-height:48px;border:1px solid var(--border);border-radius:14px;background:var(--surface-strong);color:var(--text);padding:0 14px;outline:none}select{padding-right:44px}.checkbox-row{display:inline-grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px}.checkbox-row input{width:18px;min-height:18px}input[type=date]{max-width:100%;min-width:0;appearance:none;-webkit-appearance:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1f644924}textarea{min-height:92px;padding-block:12px;resize:vertical}.primary-action,.secondary-action,.danger-action,.like-button,.move-button,.row-actions button,.dish-card .primary-action,.oauth-section button{display:inline-grid;place-items:center;min-height:48px;border:0;border-radius:14px;padding:0 14px;font-weight:800;line-height:1.1;text-align:center}.primary-action{background:var(--primary);color:#fff}.secondary-action,.like-button,.move-button,.row-actions button,.oauth-section button{background:#efe6d9;color:var(--text)}.danger-action{border:1px solid #f0b6af;background:#fff3f1;color:var(--danger)}.compact-action{min-height:42px;justify-self:start}.summary-card{display:flex;align-items:center;gap:12px;min-height:66px;padding:14px}.summary-card strong{display:block;margin-bottom:4px;font-size:15px}.summary-card p{font-size:12px}.summary-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;font-weight:900}.warning-icon{background:var(--warning-soft);color:var(--warning)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.compact-heading{margin-top:6px}.alert-pill,.status{border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;white-space:nowrap}.alert-pill,.status.warning{background:var(--warning-soft);color:#805600}.status.fresh{background:var(--primary-soft);color:var(--primary)}.status.danger{background:var(--danger-soft);color:var(--danger)}.status.neutral{background:var(--surface-strong);color:var(--muted)}.list,.notification-list,.member-list,.message-list,.profile-menu{display:grid;gap:10px}.fridge-row,.shopping-row{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:78px;padding:14px;touch-action:pan-y;transition:transform .26s cubic-bezier(.2,.8,.2,1),border-color .16s ease,background .16s ease}.shopping-row{grid-template-columns:auto minmax(0,1fr) auto;min-height:76px}.fridge-row>*{position:relative;z-index:1}.fridge-row:before,.fridge-row:after{position:absolute;top:8px;bottom:8px;display:grid;place-items:center;width:92px;border-radius:16px;font-size:28px;opacity:0;transform:scale(.76);transition:opacity .16s ease,transform .22s cubic-bezier(.2,1.2,.2,1);z-index:0}.fridge-row:before{left:14px;content:"\1f6d2";background:var(--primary-soft);color:var(--primary)}.fridge-row:after{right:14px;content:"\1f5d1";background:var(--danger-soft);color:var(--danger)}.fridge-row.swipe-shopping:before{opacity:var(--swipe-progress, 0);transform:scale(1)}.fridge-row.swipe-delete:after{opacity:var(--swipe-progress, 0);transform:scale(1)}.fridge-row.move-right{border-color:var(--primary);background:linear-gradient(90deg,#edf8ef,var(--surface))}.fridge-row.move-left{border-color:var(--danger);background:linear-gradient(270deg,#fff0ed,var(--surface))}.fridge-row.actions-open{border-color:var(--primary-soft)}.swipe-actions{display:grid;grid-template-columns:56px;justify-content:end;gap:8px;margin-top:-4px;animation:swipe-action-in .18s ease-out both}.swipe-action{display:grid;place-items:center;width:56px;height:46px;border:0;border-radius:12px;font-size:22px;box-shadow:0 12px 24px #1f644924}.swipe-action.shopping{background:var(--primary-soft);color:var(--primary)}.swipe-action.delete{background:var(--danger-soft);color:var(--danger)}@keyframes swipe-action-in{0%{opacity:0;transform:translateY(-8px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.item-thumb,.recipe-thumb{width:44px;height:44px;border-radius:14px;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.78),transparent 0 16%),var(--primary-soft)}.item-content{min-width:0}.item-content h3,.item-content p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-content p,.fridge-row p,.shopping-row p{margin-top:5px;font-size:12px}.row-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.row-actions button,.move-button{min-height:32px;border-radius:10px;padding:0 10px;font-size:12px;line-height:1}.row-chevron,.menu-button{color:var(--muted);font-size:26px;line-height:1}.menu-button,.icon-button,.check-button{display:grid;place-items:center;border:0;background:transparent}.check-button{flex:0 0 28px;width:28px;height:28px;border:1px solid var(--border);border-radius:9px;background:var(--surface-strong);color:var(--primary);font-weight:900;transition:background .16s ease,border-color .16s ease,transform .24s cubic-bezier(.2,1.4,.3,1)}.shopping-row.done{opacity:.62}.shopping-row.done .check-button{border-color:var(--primary);background:var(--primary-soft);transform:scale(1.08)}.shopping-row.done h3,.shopping-row.done p{text-decoration:line-through}.search-field{position:relative;display:block}.search-field span{position:absolute;top:12px;left:14px;color:var(--muted);font-size:20px}.search-field input{padding-left:44px}.dish-card{display:grid;align-content:start;gap:14px;min-height:180px;padding:18px;background:linear-gradient(135deg,rgba(31,100,73,.14),transparent 48%),var(--surface)}.dish-card.action-card{border-color:var(--border)}.dish-card h2{font-size:28px}.recipe-grid{display:grid;gap:12px}.recipe-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:16px;min-height:100px;padding:12px}.recipe-thumb{width:76px;height:76px;border-radius:14px;background:linear-gradient(135deg,rgba(245,173,46,.42),transparent),var(--primary-soft)}.like-button{min-width:42px;min-height:42px;border-radius:50%;padding:0;background:transparent;color:var(--primary);font-size:24px}.create-recipe-button{width:100%}.profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:92px;padding:16px}.avatar{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:18px;background:var(--primary-soft);color:var(--primary);font-size:24px;font-weight:900}.avatar.small{width:38px;height:38px;border-radius:12px;font-size:18px}.profile-menu button{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:14px;min-height:58px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);padding:0 16px;text-align:left;font-weight:800;line-height:1}.member-row,.support-row,.notification-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:58px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);padding:0 16px;text-align:left;font-weight:800}.profile-menu button span{display:grid;place-items:center;width:24px;height:24px;color:var(--primary);font-size:18px;line-height:1}.profile-menu button strong{display:grid;place-items:center;width:18px;height:24px;color:var(--muted);font-size:22px;line-height:1}.profile-menu .danger-menu-item{color:var(--danger)}.profile-menu button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.profile-hint{padding-block:22px}.detail-dialog,.add-dialog{gap:16px}.add-form{display:grid;gap:12px}.add-form-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px}.subscreen-head{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px}.back-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--primary);font-size:28px;font-weight:800;line-height:1}.detail-stats{display:flex;flex-wrap:wrap;gap:8px}.detail-stats span,.tag-row span{border-radius:999px;background:var(--primary-soft);color:var(--primary);padding:8px 12px;font-size:12px;font-weight:800}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.recipe-longread{display:grid;gap:10px}.recipe-longread article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--border);border-radius:14px;background:var(--surface-strong);padding:10px}.recipe-longread span{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:900}.recipe-longread p{margin:0}.account-actions{grid-template-columns:1fr}.partner-panel p{margin-top:8px}.partner-panel .inline-form,.partner-panel .member-list{margin-top:6px}.member-row{padding:10px}.member-row strong,.member-row span{display:block}.member-row span{margin-top:2px;color:var(--muted);font-size:13px}.support-row{grid-template-columns:minmax(0,1fr) auto;padding:12px}.support-row.closed{background:#f0e8dc}.support-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.support-row-head span{flex:0 0 auto;border-radius:999px;background:var(--primary-soft);color:var(--primary);padding:5px 8px;font-size:12px;font-weight:800}.support-row p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-row-actions,.notification-actions{display:flex;gap:8px}.message-list{max-height:360px;overflow:auto;padding-right:4px}.chat-message{display:grid;justify-self:start;gap:4px;max-width:82%;border-radius:18px;background:#efe6d9;padding:10px 12px}.chat-message.mine{justify-self:end;background:var(--primary-soft)}.chat-message span{color:var(--muted);font-size:12px;font-weight:800}.notifications-popover,.ticket-dialog{position:fixed;z-index:31;right:max(16px,(100vw - 400px) / 2 + 16px);left:max(16px,(100vw - 400px) / 2 + 16px);max-height:min(78dvh,620px);overflow:auto;border-color:var(--border);background:var(--surface);box-shadow:0 28px 70px #362a1a3d;animation:sheet-in .28s cubic-bezier(.2,.9,.2,1) both}.notifications-popover{top:92px;border-radius:24px}.ticket-dialog{top:50%;transform:translateY(-50%)}@keyframes sheet-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.ticket-dialog{animation-name:dialog-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(calc(-50% + 18px)) scale(.98)}to{opacity:1;transform:translateY(-50%) scale(1)}}.notification-backdrop{position:fixed;inset:0;z-index:29;border:0;background:#1c1a143d;animation:fade-in .16s ease-out both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.notifications-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.close-button{width:36px;height:36px;color:var(--danger);font-size:24px}.notification-row{align-items:start;padding:12px}.notification-row.unread{border-color:var(--primary);background:#f5fbf5}.notification-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#efe6d9;font-size:18px}.notification-body{min-width:0}.notification-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:800}.notification-row .notification-actions,.notification-row>.secondary-action{grid-column:2/-1}.notification-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.notifications-empty{display:grid;justify-items:center;gap:8px;padding:22px 12px;color:var(--muted);text-align:center}.notifications-empty span{font-size:30px}.network-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;border:1px solid #e5a29a;border-radius:18px;background:#fff0ed;color:var(--danger);padding:12px 14px}.network-banner button{border:0;border-radius:12px;background:var(--danger-soft);color:var(--danger);padding:8px 12px;font-weight:800}.empty-state{display:grid;justify-items:center;gap:12px;padding:32px 20px;text-align:center}.settings-panel{gap:10px}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:72px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);padding:14px 16px;text-align:left}.setting-row.static{cursor:default}.setting-row strong{display:block;margin-bottom:4px}.toggle{position:relative;width:54px;height:32px;border-radius:999px;background:#e4d8c8;transition:background .18s ease}.toggle i{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 4px 10px #362a1a29;transition:transform .24s cubic-bezier(.2,1.3,.3,1)}.toggle.active{background:var(--primary)}.toggle.active i{transform:translate(22px)}.cooking-dialog{gap:16px}.cooking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cooking-progress span{height:7px;border-radius:999px;background:#e4d8c8;overflow:hidden}.cooking-progress span.active{background:var(--primary)}.cooking-step-card{display:grid;gap:10px;min-height:140px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,rgba(31,100,73,.1),transparent 55%),var(--surface);padding:18px;animation:card-in .18s ease-out both}.cooking-step-card span{color:var(--primary);font-size:13px;font-weight:800}.cooking-step-card p{color:var(--text);font-size:18px;font-weight:800}.cooking-actions{display:grid;grid-template-columns:minmax(92px,auto) minmax(0,1fr);gap:10px}.toast{position:fixed;right:50%;bottom:100px;z-index:80;width:min(100% - 32px,360px);transform:translate(50%);border-radius:18px;background:var(--primary);color:#fff;padding:14px 16px;text-align:center;font-weight:800;box-shadow:0 18px 42px #1f644942;animation:toast-in .24s ease-out both}@keyframes toast-in{0%{opacity:0;transform:translate(50%,14px)}to{opacity:1;transform:translate(50%)}}.empty-state p{max-width:312px}.empty-illustration{display:grid;place-items:center;width:164px;height:164px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:58px;font-weight:900}.skeleton-list{display:grid;gap:10px}.skeleton-row{height:66px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent) 0 0/220px 100% no-repeat,#efe6d9;animation:shimmer 1.2s infinite linear}@keyframes shimmer{to{background-position:420px 0}}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;width:min(100% - 32px,368px);margin:0 auto 16px;padding:6px;border:1px solid var(--border);border-radius:24px;background:#fffdf8f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{display:grid;place-items:center;gap:4px;min-width:0;min-height:56px;border:0;border-radius:17px;background:transparent;color:var(--muted);font-size:10px;font-weight:800}.bottom-nav button.active{background:var(--primary);color:#fff}.nav-icon{display:grid;place-items:center;width:22px;height:22px;font-size:20px;line-height:1}.nav-icon:before{content:"\2302"}.nav-icon[data-icon=cart]:before{content:"\2713"}.nav-icon[data-icon=spark]:before{content:"\2726"}.nav-icon[data-icon=book]:before{content:"\25a4"}.nav-icon[data-icon=user]:before{content:"\25cf"}.onboarding-layer{position:fixed;inset:0;z-index:60;display:grid;place-items:end center;padding:12px}.onboarding-scrim{position:absolute;inset:0;background:#1c1a147a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.onboarding-card{position:relative;display:grid;gap:14px;width:min(100%,400px);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:0 30px 80px #1c1a1447;padding:20px}.onboarding-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.onboarding-progress span{height:6px;border-radius:999px;background:#e4d8c8}.onboarding-progress span.active{background:var(--primary)}.onboarding-preview{display:grid;gap:8px;border:1px solid var(--border);border-radius:18px;background:var(--surface);padding:12px}.preview-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px}.preview-choice,.onboarding-actions{display:grid;grid-template-columns:1fr;gap:8px}.preview-choice button{min-height:42px;border:0;border-radius:14px;background:#efe6d9;color:var(--text);font-weight:800}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.dev-dashboard{display:grid;grid-template-columns:236px minmax(0,1fr);gap:24px;min-height:calc(100dvh - 48px)}.dev-sidebar{position:sticky;top:24px;display:flex;flex-direction:column;min-height:calc(100dvh - 48px);padding:20px;border-radius:28px;background:#1e4930;color:#fff}.dev-brand{display:grid;gap:6px;margin-bottom:12px}.dev-brand span{color:#e0eddb;font-size:12px;font-weight:800}.dev-brand strong{font-size:24px;line-height:1}.dev-brand p{color:#c7dbcc;font-size:12px}.dev-system-pill{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin-bottom:12px;padding:10px;border-radius:12px;background:#2b5c3b;font-size:12px;font-weight:700}.dev-system-pill span{width:7px;height:7px;border-radius:50%;background:#87d180;box-shadow:0 0 0 4px #87d18024}.dev-nav{display:grid;gap:4px}.dev-nav button{display:flex;align-items:center;gap:10px;min-height:42px;border:0;border-radius:12px;background:transparent;color:#fff;font-size:13px;font-weight:700;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.dev-nav button:hover{background:#ffffff14;transform:translate(2px)}.dev-nav button.active{background:#e0eddb;color:#1e4930}.dev-nav span{display:inline-grid;place-items:center;width:18px;min-width:18px;font-size:14px}.dev-admin{display:flex;align-items:center;gap:10px;margin-top:auto;padding:10px;border-radius:14px;background:#2b5c3b}.dev-admin>div{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e0eddb;color:#1e4930;font-weight:800}.dev-admin span{display:grid;gap:2px;min-width:0}.dev-admin strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dev-admin small{color:#c7dbcc;font-size:10px}.dev-main{display:grid;align-content:start;gap:16px;min-width:0}.dev-topbar,.dev-critical-alert,.dev-grid,.dev-metrics,.dev-live{animation:dev-rise .28s ease both}.dev-topbar{display:flex;align-items:start;justify-content:space-between;gap:16px}.dev-topbar h1{color:#1a271f;font-size:30px;line-height:1.1}.dev-topbar p,.dev-card-head p,.dev-online p{color:#656f66;font-size:12px}.dev-controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:end}.dev-controls button,.dev-critical-alert button,.dev-filter-row button,.dev-incident{min-height:42px;border:0;border-radius:12px;background:#fffef9;color:#1a271f;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.dev-controls button:hover,.dev-critical-alert button:hover,.dev-filter-row button:hover,.dev-incident:hover,.dev-ticket:hover{transform:translateY(-1px);box-shadow:0 10px 22px #1e49301f}.dev-controls .dev-refresh,.dev-incident{background:#1e4930;color:#fff}.dev-critical-alert,.dev-ok-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border-radius:16px}.dev-critical-alert{background:#fdebdd}.dev-ok-alert{grid-template-columns:auto minmax(0,1fr);background:#e0eddb}.dev-critical-alert>strong{padding:8px;border-radius:999px;background:#c43c35;color:#fff;font-size:12px}.dev-ok-alert>strong{color:#1e4930}.dev-critical-alert span,.dev-ok-alert span{display:grid;gap:2px;min-width:0}.dev-critical-alert b,.dev-ok-alert b{color:#1a271f;font-size:14px}.dev-critical-alert small,.dev-ok-alert small{color:#656f66;font-size:12px}.dev-critical-alert button{color:#c43c35}.dev-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dev-metric-card,.dev-card{border-radius:18px;background:#fffef9}.dev-metric-card{display:grid;gap:8px;min-height:132px;padding:18px}.dev-metric-card span{color:#656f66;font-size:13px;font-weight:700}.dev-metric-card strong{color:#1a271f;font-size:30px;line-height:1}.dev-metric-card p{display:flex;align-items:center;gap:6px;color:#656f66;font-size:11px}.dev-metric-card b,.dev-positive{padding:7px 8px;border-radius:999px;background:#49875e;color:#fff;font-size:12px}.dev-metric-card b.blue{background:#3b73b0}.dev-metric-card b.red{background:#c43c35}.dev-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px}.dev-grid.single{grid-template-columns:1fr}.dev-card{display:grid;align-content:start;gap:12px;padding:20px;overflow:hidden}.dev-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.dev-card h2{color:#1a271f;font-size:19px;line-height:1.15}.dev-legend{display:flex;gap:12px;flex-wrap:wrap}.dev-legend span,.dev-filter-row button,.dev-score b{padding:8px;border-radius:999px;font-size:12px;font-weight:800}.dev-legend .green,.dev-filter-row .active{background:#e0eddb;color:#1e4930}.dev-legend .blue{background:#e3edfa;color:#3b73b0}.dev-chart{position:relative;height:230px;overflow:hidden;border-bottom:1px solid #e6e1d5}.dev-chart span{display:block;height:20%;border-top:1px solid #e6e1d5}.dev-chart:before,.dev-chart:after{position:absolute;inset:22% 4% auto;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent 0 6%,#49875e 6% 20%,transparent 20% 26%,#49875e 26% 44%,transparent 44% 50%,#49875e 50% 68%,transparent 68% 74%,#49875e 74% 100%);content:"";transform:rotate(-8deg)}.dev-chart:after{inset:52% 4% auto;background:linear-gradient(90deg,transparent 0 8%,#3b73b0 8% 26%,transparent 26% 32%,#3b73b0 32% 48%,transparent 48% 56%,#3b73b0 56% 72%,transparent 72% 78%,#3b73b0 78% 100%);transform:rotate(12deg);opacity:.75}.dev-chart i{position:absolute;left:var(--x);top:var(--y);width:7px;height:7px;border-radius:50%;background:#49875e;animation:dev-pulse 1.8s ease infinite}.dev-bars{display:grid;grid-template-columns:repeat(7,minmax(32px,1fr));align-items:end;gap:12px;min-height:230px;padding-top:16px;border-bottom:1px solid #e6e1d5}.dev-bars div{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:4px;height:210px}.dev-bars span{min-height:4px;border-radius:999px 999px 0 0;background:#49875e;transition:height .25s ease}.dev-bars span.blue{background:#3b73b0}.dev-bars small{grid-column:1/-1;color:#656f66;font-size:10px;text-align:center}.dev-online{position:relative}.dev-online strong{color:#1a271f;font-size:44px;line-height:1}.dev-online .dev-positive{position:absolute;top:84px;left:88px}.dev-platform,.dev-health{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px;border-radius:10px;background:#fff;color:#1a271f;font-size:12px}.dev-platform span:before{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#49875e;content:""}.dev-platform.web span:before{background:#3b73b0}.dev-platform.ios span:before{background:#e9a130}.dev-platform em{padding:6px 8px;border-radius:999px;background:#f7f4e9;color:#656f66;font-style:normal}.dev-feature-list,.dev-ticket-list,.dev-feedback-list,.dev-user-list,.dev-event-list{display:grid;gap:8px}.dev-feature{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;color:#1a271f;font-size:12px}.dev-feature i{grid-column:1/-1;height:7px;overflow:hidden;border-radius:999px;background:#e6e1d5}.dev-feature i:before{display:block;width:var(--w);height:100%;border-radius:inherit;background:#49875e;content:""}.dev-filter-row{display:flex;gap:8px;flex-wrap:wrap}.dev-filter-row button{min-height:34px;background:#f7f4e9;color:#656f66}.dev-ticket{display:grid;gap:4px;width:100%;padding:10px;border:0;border-radius:12px;background:#fef1ef;color:#1a271f;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.dev-ticket.closed{background:#fff}.dev-ticket span{display:flex;align-items:center;gap:7px}.dev-ticket small{color:#656f66;font-weight:800}.dev-ticket b{padding:7px 8px;border-radius:999px;background:#c43c35;color:#fff;font-size:11px}.dev-ticket.closed b{background:#f7f4e9;color:#656f66}.dev-ticket strong{font-size:12px}.dev-ticket em{color:#656f66;font-size:10px;font-style:normal}.dev-score{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dev-score strong{color:#1a271f;font-size:34px}.dev-score span{color:#e9a130;font-size:18px;font-weight:800}.dev-score b{background:#e0eddb;color:#1e4930}.dev-feedback-list article{display:grid;gap:4px;padding:10px;border-radius:12px;background:#fff}.dev-user-list article,.dev-event-list article{display:grid;gap:4px;padding:10px;border-radius:12px;background:#fff}.dev-user-list b,.dev-event-list b{color:#1a271f;font-size:13px}.dev-user-list span,.dev-event-list span{min-width:0;overflow:hidden;color:#656f66;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dev-user-list small,.dev-event-list small{color:#1e4930;font-size:10px;font-weight:800}.dev-feedback-list article.need-answer{background:#fef1ef}.dev-feedback-list span{color:#e9a130;font-size:11px;font-weight:800}.dev-feedback-list span b{margin-left:8px;padding:6px 8px;border-radius:999px;background:#f7f4e9;color:#656f66}.dev-feedback-list strong{color:#1a271f;font-size:12px}.dev-feedback-list p{color:#656f66;font-size:10px}.dev-inline-action{justify-self:start;min-height:30px;border:0;border-radius:9px;background:#e0eddb;color:#1e4930;font-size:11px;font-weight:800;cursor:pointer}.dev-health{grid-template-columns:auto minmax(0,1fr) auto}.dev-health span{width:9px;height:9px;border-radius:50%;background:#49875e}.dev-health.warn span{background:#e9a130}.dev-health p{min-width:0;color:#1a271f;font-size:12px}.dev-health b{color:#1e4930;font-size:12px}.dev-health.warn b{color:#e9a130}.dev-live{display:flex;gap:12px;align-items:center;min-height:44px;padding:14px;overflow:hidden;border-radius:16px;background:#1f2e24;color:#fff;font-size:11px}.dev-live b{color:#87d180}.dev-live span:last-child{color:#ffb89e}.dev-access-card{display:grid;gap:14px;align-self:center;justify-self:center;width:min(100%,560px);padding:28px;border-radius:24px;background:#fffef9;box-shadow:0 22px 55px #1e49301f}.dev-access-card h1{color:#1a271f;font-size:28px}.dev-access-card p{color:#656f66;line-height:1.55}.dev-allow-list{display:flex;gap:8px;flex-wrap:wrap}.dev-allow-list span{padding:9px 11px;border-radius:999px;background:#e0eddb;color:#1e4930;font-size:12px;font-weight:800}.dev-empty{padding:16px;border-radius:12px;background:#fff;color:#656f66;font-weight:700}@keyframes dev-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dev-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.5);opacity:1}}@media(min-width:760px){body{padding-block:18px}.shell:not(.dev-shell){min-height:min(860px,100dvh - 36px);box-shadow:0 24px 70px #362a1a29}}@media(max-width:980px){.shell.dev-shell{padding:12px}.dev-dashboard{grid-template-columns:1fr}.dev-sidebar{position:static;min-height:auto}.dev-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-admin{margin-top:12px}.dev-topbar,.dev-critical-alert{grid-template-columns:1fr}.dev-topbar{flex-direction:column}.dev-controls{justify-content:start}.dev-metrics,.dev-grid{grid-template-columns:1fr}.dev-live{flex-wrap:wrap}}@media(max-width:420px){body{background:var(--bg)}.shell{width:100%;border-radius:0}.shell.dev-shell{padding:10px;background:#f7f4e9}.dev-sidebar,.dev-card,.dev-metric-card,.dev-critical-alert,.dev-access-card{border-radius:16px}.dev-nav{grid-template-columns:1fr}.dev-topbar h1{font-size:24px}.dev-controls,.dev-controls button{width:100%}.shopping-details{grid-template-columns:72px 78px minmax(0,1fr)}.section-switcher{flex:1 1 auto}.add-shortcut{flex:0 0 46px}.notifications-popover,.ticket-dialog{right:0;bottom:0;left:0;max-height:min(86dvh,720px);border-radius:28px 28px 0 0}.notifications-popover{top:auto}.ticket-dialog{top:auto;transform:none;animation-name:mobile-sheet-in}}@keyframes mobile-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:360px){.shopping-form,.form-grid{grid-template-columns:1fr}.form-grid select,.form-grid input[type=date],.form-grid .primary-action{grid-column:auto}.shopping-details,.add-form-row{grid-template-columns:1fr}.fridge-row{grid-template-columns:auto minmax(0,1fr) auto}.fridge-row .status{grid-column:2;justify-self:start}}
