/* Based on the current Flutter BrandHeader and SmartFridgeShowcase. */
.app-current { position: relative; font-family: 'Be Vietnam Pro',sans-serif; }
.app-current .demo-tabs { grid-template-columns: repeat(5,minmax(0,1fr)); background:#fff; }
.app-current .demo-greeting { gap:8px; padding:12px 14px 8px; min-height:58px; }
.app-current .demo-greeting>span { flex:1; min-width:0; }
.app-current .demo-greeting strong { font-size:20px; color:#253043; }
.app-current .demo-greeting small { display:none; }
.app-current .demo-greeting img { width:30px; }
.app-header-action { width:30px; min-width:30px; height:32px; padding:0; border:0; border-radius:10px; background:#f3f4f6; color:#079669; font:700 20px sans-serif; cursor:pointer; }
.app-header-action[aria-selected=true],.app-profile { background:#d9faea; }
.app-current .demo-greeting #tab-budget:after { content:none; }
.app-current .demo-greeting #tab-budget { font-size:20px; line-height:1; white-space:nowrap; }
.app-toolbar { padding:2px 14px 12px; background:#fff; flex:none; }
.app-toolbar h3 { margin:0 0 3px; font-size:20px; letter-spacing:-.025em; color:#253043; }
.app-toolbar small { font-size:10px; color:#98a2b3; }
.app-current .demo-topbar { height:22px; }
.app-current .tab-panel { padding:8px 14px 90px; background:#f8fafb; }
.app-current .panel-heading[hidden],.app-current #pantry-stats[hidden] { display:none; }
.app-fridge-overview { padding:14px 12px 10px; border:1px solid #d7f0e5; border-radius:22px; background:linear-gradient(135deg,#eafbf4,#ddf5eb,#f4fbf7); }
.app-fridge-overview h4 { margin:0; color:#203044; font-size:16px; }
.app-fridge-overview p { margin:4px 0; font-size:10px; color:#667085; }
.app-fridge-center { display:flex; align-items:center; min-height:140px; gap:20px; }
.app-fridge-center model-viewer { width:100px; height:140px; flex-shrink:0; background:transparent; }
.app-fridge-fallback { font-size:95px; color:#96bcae; width:100%; text-align:center; }
#app-inventory-total { display:grid; gap:6px; border:0; background:#ffffffb0; border-radius:14px; padding:16px; flex:1; color:#203044; cursor:pointer; }
#app-inventory-total strong { font-size:32px; }
#app-inventory-total span { font-size:10px; }
.app-fridge-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.app-fridge-stats button { display:grid; gap:5px; font-family:inherit; font-size:10px; border:0; border-radius:12px; padding:10px 3px; background:#e9faf0; color:#079669; cursor:pointer; }
.app-fridge-stats strong { font-size:18px; }
.app-fridge-stats button:nth-child(2) { background:#fff4d8; color:#9a5a00; }
.app-fridge-stats button:nth-child(3) { background:#fff0f1; color:#b42318; }
.app-attention { background:#fff; border:1px solid #e4e7ec; border-radius:14px; padding:12px; margin:12px 0; }
.app-attention h4 { margin:0; font-size:12px; color:#f04438; }
.app-attention p { font-size:10px; margin:7px 0; color:#667085; }
.app-alert-chips { display:flex; flex-wrap:wrap; gap:6px; }
.app-alert-chip { border:1px solid #ffe0bd; background:#fff8ef; color:#9a5a00; border-radius:20px; padding:6px 9px; font-size:9px; cursor:pointer; }
.app-list-heading { display:flex; align-items:center; justify-content:space-between; margin:14px 0; }
.app-list-heading h4 { margin:0; font-size:13px; color:#253043; }
.app-text-button { border:0; color:#079669; background:none; padding:8px 0; font:600 11px inherit; cursor:pointer; }
.app-current .food-item { box-shadow:0 3px 8px #10182805; border-radius:13px; }
.app-current .food-item [role=button] { cursor:pointer; }
.app-current .food-actions { padding-left:0; justify-content:flex-end; }
.app-floating { position:absolute; bottom:84px; right:14px; display:flex; flex-direction:column; align-items:flex-end; gap:8px; pointer-events:none; z-index:3; }
.app-floating button { pointer-events:auto; box-shadow:0 5px 12px #07966933; }
.app-button { background:#079669; color:white; border:0; border-radius:12px; padding:12px 16px; cursor:pointer; font:600 12px inherit; }
.app-voice-button { width:38px; height:38px; background:#d9faea; color:#079669; border:0; border-radius:12px; font-size:20px; cursor:pointer; }
.app-method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.app-current .app-method-grid .button { display:flex; flex-direction:column; gap:7px; justify-content:center; min-height:85px; border:1px solid #d7e7df; border-radius:11px; padding:10px 4px; font-size:10px; color:#253043; background:#fff; }
.app-current .app-method-grid .button small { font-size:8px; color:#667085; font-weight:400; }
.app-current #demo-receipt { background:#e9fbf4; border-color:#079669; }
.app-scan-placeholder { height:180px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:#fff; border:1px dashed #cbd5e1; border-radius:14px; text-align:center; padding:15px; }
.app-scan-placeholder span { color:#079669; font-size:40px; }
.app-scan-placeholder strong { font-size:12px; }.app-scan-placeholder small { color:#98a2b3; font-size:10px; line-height:1.6; }
.app-overlay { position:absolute; inset:36px 0 0; z-index:20; background:#f8fafb; display:flex; flex-direction:column; border-radius:0 0 34px 34px; overflow:hidden; }
.app-overlay[hidden] { display:none; }
.app-overlay-heading { display:flex; align-items:center; gap:10px; padding:14px; background:#fff; border-bottom:1px solid #e4e7ec; }
.app-overlay-heading h3 { font-size:17px; margin:0; letter-spacing:-.02em; }
.app-back { background:none; border:0; font-size:23px; color:#253043; cursor:pointer; padding:0 7px; }
.app-overlay-body { padding:16px; overflow:auto; flex:1; min-height:0; font-size:12px; }
.app-overlay-body form,.app-overlay-body label { display:grid; gap:8px; margin-bottom:16px; }
.app-overlay-body input,.app-overlay-body select,.app-overlay-body textarea,.app-recipe-controls input { box-sizing:border-box; width:100%; padding:11px; border:1px solid #d0d5dd; border-radius:10px; background:#fff; font:inherit; color:#253043; }
.app-form-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.app-overlay-body .app-checkbox { display:flex; align-items:center; gap:8px; }.app-checkbox input { width:18px; }
.app-list-button { display:block; width:100%; padding:15px 12px; margin:9px 0; text-align:left; border:1px solid #e4e7ec; border-radius:12px; background:#fff; color:#253043; cursor:pointer; font:inherit; }
.app-muted { color:#667085; line-height:1.7; }.app-danger { color:#b42318; }
.app-avatar { width:65px; height:65px; margin:10px auto; display:grid; place-items:center; font-size:30px; border-radius:50%; background:#d9faea; color:#079669; }
.app-food-symbol { text-align:center; font-size:65px; color:#079669; margin:12px; }
.app-tip { background:#fff; border-radius:12px; padding:12px; line-height:1.7; }
.app-menu-card { width:100%; padding:16px; background:#e7faf3; color:#079669; text-align:left; border:1px solid #d7f0e5; border-radius:12px; font-weight:700; cursor:pointer; margin-bottom:12px; }
.app-recipe-controls input { font-size:11px; }.app-recipe-filters { display:flex; gap:6px; margin:12px 0; }
.app-recipe-filters button { padding:9px; border:1px solid #e4e7ec; border-radius:18px; font-size:10px; background:white; cursor:pointer; }
.app-recipe-filters button.active { background:#d9faea; color:#079669; border-color:#079669; }
.app-current .recipe-card[hidden],.app-current .food-item[hidden] { display:none; }
@media(max-width:350px) { .app-current .demo-greeting { gap:4px; padding-inline:9px; }.app-header-action { width:25px; min-width:25px; }.app-current .demo-greeting strong { font-size:17px; }.app-fridge-stats button { font-size:8px; } }
.hero .eyebrow { display:flex; align-items:center; gap:12px; line-height:1.6; letter-spacing:.12em; }
.hero .eyebrow-line { flex:0 0 24px; }
.hero-app-preview { display:block; width:min(340px,66%); height:auto; max-height:calc(100% - 35px); object-fit:contain; transform:rotate(-7deg); filter:drop-shadow(20px 25px 25px #163e2d20); position:relative; z-index:2; }
.app-template-list { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin-top:18px; }
.app-template-card { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:18px 14px; border:1px solid #d7e7df; border-radius:14px; background:#fff; color:#253043; text-align:left; font-family:inherit; cursor:pointer; box-sizing:border-box; }
.app-template-card>span:first-child { min-width:0; display:grid; gap:8px; }
.app-template-card strong { font-size:13px; overflow-wrap:anywhere; }
.app-template-card small { font-size:10px; color:#667085; line-height:1.7; overflow-wrap:anywhere; }
.app-template-arrow { flex-shrink:0; color:#079669; font-size:25px; }
.app-template-card:hover { background:#e7faf3; border-color:#079669; }
.app-overlay-heading h3 { min-width:0; overflow-wrap:anywhere; }
@media(max-width:560px) { .hero-app-preview { width:270px; max-width:72%; max-height:470px; }.hero .eyebrow { font-size:9px; gap:8px; letter-spacing:.08em; } }
