:root{--font-head: "Figtree", system-ui, sans-serif;--font-body: "Hanken Grotesk", system-ui, sans-serif;--font-mono: "Hanken Grotesk", ui-monospace, monospace;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-pill: 999px;--bg: #f4f1ea;--surface: #fffdf8;--surface-2: #ece7dc;--surface-3: #e2dccf;--border: #e2dbcd;--border-strong: #d0c8b7;--text: #2a2823;--text-2: #5f5a50;--text-3: #8b8578;--brand: #2f6f5e;--brand-hover: #275d4f;--brand-weak: #dfece7;--brand-contrast: #ffffff;--shadow-sm: 0 1px 2px rgba(44, 38, 26, .05), 0 1px 3px rgba(44, 38, 26, .04);--shadow-md: 0 2px 4px rgba(44, 38, 26, .05), 0 8px 24px rgba(44, 38, 26, .07);--shadow-lg: 0 6px 16px rgba(44, 38, 26, .08), 0 20px 48px rgba(44, 38, 26, .12);--u-red: #bf3b2b;--u-red-bg: #f6e0db;--u-orange: #bd5a17;--u-orange-bg: #f8e6d5;--u-amber: #8c6a09;--u-amber-bg: #f2e7c2;--u-green: #2e7d4f;--u-green-bg: #dcefe0;--u-blue: #2f6aa5;--u-blue-bg: #dde9f5;--u-purple: #6a4c93;--u-purple-bg: #e9e1f2;--u-gray: #6d6858;--u-gray-bg: #e8e2d6}:root[data-theme=dark]{--bg: #1b1813;--surface: #241f18;--surface-2: #2d2820;--surface-3: #38312a;--border: #39332b;--border-strong: #4b4338;--text: #efe9dc;--text-2: #b4ac9c;--text-3: #867f71;--brand: #57b096;--brand-hover: #67bda4;--brand-weak: #23372f;--brand-contrast: #0d1512;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 6px rgba(0, 0, 0, .3), 0 10px 28px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4), 0 24px 56px rgba(0, 0, 0, .5);--u-red: #ef8b7f;--u-red-bg: #3a231f;--u-orange: #eaa06a;--u-orange-bg: #3a2a1c;--u-amber: #e3bd58;--u-amber-bg: #352d16;--u-green: #78c78c;--u-green-bg: #1f3326;--u-blue: #79aae0;--u-blue-bg: #1e2c3c;--u-purple: #b498dd;--u-purple-bg: #2b2340;--u-gray: #b0a897;--u-gray-bg: #2c2820}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.01em}h1{font-size:1.6rem;font-weight:800;margin:0 0 4px}h2{font-size:1.05rem;font-weight:700;margin:0 0 12px}h3{font-size:.95rem;font-weight:700;margin:0 0 6px}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-hover)}.mi{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;vertical-align:middle;-webkit-user-select:none;user-select:none;flex-shrink:0}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:14px 10px;display:flex;flex-direction:column;gap:2px}.sidebar .brand{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:700;font-size:.95rem;padding:8px 10px 16px;color:var(--text)}.sidebar .brand-mark{width:30px;height:30px;border-radius:9px;background:var(--brand);color:var(--brand-contrast);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--r-sm);color:var(--text-2);font-weight:600;font-size:.9rem}.sidebar a:hover{background:var(--surface-2)}.sidebar a.active{background:var(--brand-weak);color:var(--brand)}.sidebar .spacer{flex:1}.theme-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);font-size:.8rem;font-weight:600;box-shadow:var(--shadow-sm);color:var(--text)}.theme-toggle:hover{background:var(--surface-2)}.theme-toggle .mi{color:var(--brand)}.main{flex:1;padding:26px 30px;max-width:1150px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.page-header .subtitle{color:var(--text-3);font-size:.85rem;margin-top:2px}.subtitle{color:var(--text-3);font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:18px;margin-bottom:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 900px){.grid-2,.grid-3{grid-template-columns:1fr}}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 8px;border-radius:var(--r-pill);font-family:var(--font-body);font-size:.75rem;font-weight:600;line-height:1.5;white-space:nowrap}.badge .mi{font-size:14px;font-variation-settings:"FILL" 1}.badge.expired{background:var(--u-red-bg);color:var(--u-red)}.badge.today{background:var(--u-orange-bg);color:var(--u-orange)}.badge.soon{background:var(--u-amber-bg);color:var(--u-amber)}.badge.fresh{background:var(--u-green-bg);color:var(--u-green)}.badge.defrost{background:var(--u-blue-bg);color:var(--u-blue)}.badge.cook{background:var(--u-purple-bg);color:var(--u-purple)}.badge.neutral{background:var(--u-gray-bg);color:var(--u-gray)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.expired{background:var(--u-red)}.status-dot.today{background:var(--u-orange)}.status-dot.soon{background:var(--u-amber)}.status-dot.fresh{background:var(--u-green)}.status-dot.defrost{background:var(--u-blue)}.status-dot.cook{background:var(--u-purple)}.status-dot.neutral{background:var(--u-gray)}.status-tile{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.status-tile .mi{font-variation-settings:"FILL" 1}.status-tile.expired{background:var(--u-red-bg);color:var(--u-red)}.status-tile.today{background:var(--u-orange-bg);color:var(--u-orange)}.status-tile.soon{background:var(--u-amber-bg);color:var(--u-amber)}.status-tile.fresh{background:var(--u-green-bg);color:var(--u-green)}.status-tile.defrost{background:var(--u-blue-bg);color:var(--u-blue)}.status-tile.cook{background:var(--u-purple-bg);color:var(--u-purple)}.status-tile.neutral{background:var(--u-gray-bg);color:var(--u-gray)}button,.btn{font:inherit;font-family:var(--font-body);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:9px 15px;border-radius:var(--r-sm);cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:7px}button:hover,.btn:hover{background:var(--surface-2)}button.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast);box-shadow:var(--shadow-sm)}button.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}button.danger{color:var(--u-red);border-color:var(--border-strong)}button.danger:hover{background:var(--u-red-bg);border-color:transparent}button.small{padding:5px 11px;font-size:.78rem}button:disabled{opacity:.5;cursor:not-allowed}.pill-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--bg);color:var(--text-2);font-size:.78rem;font-weight:600}.pill-btn:hover{border-color:var(--brand);color:var(--brand)}.pill-btn.danger-hover:hover{border-color:var(--u-red);color:var(--u-red)}.pill-btn.active{border-color:var(--brand);color:var(--brand);background:var(--brand-weak)}label.field{display:block;margin-bottom:14px;font-weight:600;font-size:.85rem}label.field>span{display:block;margin-bottom:6px;color:var(--text-2);font-size:.78rem}input,select,textarea{font:inherit;font-family:var(--font-body);width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-weak)}input[type=checkbox]{width:auto}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.pill-row{display:flex;flex-wrap:wrap;gap:8px}.catalog-results{display:grid;gap:6px;margin-top:8px}.catalog-result{width:100%;justify-content:space-between;text-align:left;border-color:var(--border);background:var(--surface-2)}.catalog-result:hover{background:var(--surface-3)}table{width:100%;border-collapse:collapse;font-size:.87rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);border-bottom:1px solid var(--border)}tr:hover td{background:var(--surface-2)}.muted{color:var(--text-3);font-size:.85rem}.error-text{color:var(--u-red);font-size:.85rem;margin:8px 0}.empty-state{text-align:center;color:var(--text-3);padding:32px 0}.suggestion{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:var(--r-md);margin-bottom:8px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.suggestion.critical{background:var(--u-red-bg);border-color:transparent}.suggestion.high{background:var(--u-orange-bg);border-color:transparent}.suggestion.medium{background:var(--u-amber-bg);border-color:transparent}.menu-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.meal-card{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:12px;background:var(--surface)}.meal-card-head{display:flex;gap:12px;padding:14px}.meal-card-title{flex:1;min-width:0}.meal-type{text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--text-3);margin-bottom:2px}.meal-card-meta{display:flex;gap:12px;margin-top:6px;font-size:.78rem;color:var(--text-2)}.meal-card-meta span{display:inline-flex;align-items:center;gap:4px}.stat-row{display:flex;gap:8px;padding:0 14px 12px}.stat-tile{flex:1;text-align:center;padding:8px 4px;background:var(--surface-2);border-radius:var(--r-sm)}.stat-tile .val{font-family:var(--font-head);font-weight:700;font-size:.95rem}.stat-tile .lbl{font-size:.65rem;color:var(--text-3)}.rationale-box{margin:0 14px 12px;padding:10px 12px;background:var(--brand-weak);border-radius:var(--r-sm);display:flex;gap:8px;font-size:.78rem;color:var(--text);line-height:1.45}.rationale-box .mi{color:var(--brand);flex-shrink:0}.meal-actions{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 14px}.meal-card .card-body{padding:0 14px 14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-cell{aspect-ratio:1;background:var(--surface-2);border-radius:7px;padding:5px;font-size:.78rem;display:flex;flex-direction:column;min-width:0}.calendar-cell .day-num{font-weight:600;color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums;font-size:.72rem}@media (min-width: 700px){.calendar-cell{min-height:68px}}.calendar-cell.other-month{opacity:.4}.calendar-cell.today-cell{background:var(--brand-weak)}.calendar-cell.today-cell .day-num{color:var(--brand)}.calendar-chips{display:flex;flex-wrap:wrap;gap:3px;margin-top:auto;align-content:flex-end}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-2)}.calendar-legend span{display:inline-flex;align-items:center;gap:5px}.shopping-group-head{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface-2)}.shopping-row{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--border)}.shopping-row.purchased{opacity:.45}.shopping-check{width:22px;height:22px;border-radius:6px;border:2px solid var(--border-strong);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);cursor:pointer;padding:0}.shopping-check:hover{border-color:var(--brand)}.shopping-check.checked{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.shopping-check .mi{font-size:15px}.shopping-row .name{flex:1;min-width:0}.shopping-row .name .title{font-size:.87rem;font-weight:600}.shopping-row .name .reason{font-size:.75rem;color:var(--text-3);margin-top:1px}.shopping-row .qty{text-align:right;flex-shrink:0}.shopping-row .qty .amount{font-size:.83rem;font-weight:600;font-variant-numeric:tabular-nums}.shopping-row .qty .cat{font-size:.72rem;color:var(--text-3)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.auth-card{width:380px}.auth-title{display:flex;align-items:center;gap:12px;margin-bottom:4px}.auth-title .status-tile{width:40px;height:40px;background:var(--brand);color:var(--brand-contrast)}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag{background:var(--brand-weak);color:var(--brand);border-radius:var(--r-pill);padding:5px 6px 5px 11px;font-size:.78rem;font-weight:600;display:inline-flex;align-items:center;gap:6px}.tag button{border:none;width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--brand) 18%,transparent);padding:0;font-size:.85rem;line-height:1;color:inherit}.tag button:hover{background:color-mix(in srgb,var(--brand) 30%,transparent)}.checkbox-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.9rem}.macro-row{display:flex;gap:14px;font-size:.8rem;color:var(--text-2);flex-wrap:wrap}.scan-page{max-width:560px}.scanner-viewport{position:relative;width:100%;aspect-ratio:3 / 4;max-height:60vh;background:#0e0d0b;border-radius:var(--r-lg);overflow:hidden;margin-bottom:16px}@media (min-width: 700px){.scanner-viewport{aspect-ratio:4 / 3}}.scanner-viewport video{width:100%;height:100%;object-fit:cover}.scanner-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);width:62%;max-width:240px;aspect-ratio:1;pointer-events:none}.scanner-frame .corner{position:absolute;width:30px;height:30px;border-color:#fff;border-style:solid;border-width:0}.scanner-frame .corner.tl{top:0;left:0;border-top-width:4px;border-left-width:4px;border-radius:8px 0 0}.scanner-frame .corner.tr{top:0;right:0;border-top-width:4px;border-right-width:4px;border-radius:0 8px 0 0}.scanner-frame .corner.bl{bottom:0;left:0;border-bottom-width:4px;border-left-width:4px;border-radius:0 0 0 8px}.scanner-frame .corner.br{bottom:0;right:0;border-bottom-width:4px;border-right-width:4px;border-radius:0 0 8px}.scanner-frame .scan-line{position:absolute;top:0;left:8px;right:8px;height:3px;border-radius:3px;background:var(--brand);box-shadow:0 0 12px 2px var(--brand);animation:fm-scan 2.4s ease-in-out infinite}@keyframes fm-scan{0%{transform:translateY(0);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translateY(150px);opacity:0}}@keyframes fm-pulse{0%,to{opacity:.55}50%{opacity:1}}.scanner-hint{position:absolute;bottom:10px;left:0;right:0;text-align:center;color:#ffffffe6;font-size:.85rem;font-weight:600;animation:fm-pulse 2s ease-in-out infinite}.scanner-error{padding:24px 18px;color:#fff;font-size:.95rem;line-height:1.5}.scan-result-status{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;margin-bottom:12px}.scan-result-status .mi{font-variation-settings:"FILL" 1;font-size:17px}.scan-result.scan-success .scan-result-status{color:var(--u-green)}.scan-result.scan-miss .scan-result-status{color:var(--u-amber)}.scan-result.scan-failure .scan-result-status{color:var(--u-red)}.scan-product{display:flex;gap:13px;align-items:center;margin:10px 0}.scan-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.manual-barcode{display:flex;gap:8px}.manual-barcode input{flex:1;font-family:var(--font-mono)}.receipt-page{max-width:760px}.receipt-upload-form{display:grid;gap:12px}.file-drop{min-height:112px;border:1px dashed var(--border-strong);border-radius:var(--r-sm);background:var(--surface-2);display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-2);font-weight:700;cursor:pointer}.file-drop:hover{border-color:var(--brand);color:var(--brand)}.file-drop input{display:none}.receipt-drafts{margin-top:22px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.receipt-draft-list{display:grid;gap:10px}.receipt-draft{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;margin-bottom:0}.receipt-draft:hover{background:var(--surface-2)}.receipt-draft span{min-width:0}.receipt-draft small{display:block;color:var(--text-3);font-size:.78rem;font-weight:500}.receipt-draft-icon{width:38px;height:38px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--u-blue-bg);color:var(--u-blue)}.receipt-review-page{max-width:1280px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.imported-banner{display:flex;align-items:center;gap:8px;color:var(--u-green);background:var(--u-green-bg);border-color:transparent}.receipt-review-table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.receipt-review-table{min-width:1100px}.receipt-review-table th,.receipt-review-table td{vertical-align:top}.receipt-review-table input,.receipt-review-table select{min-width:0;padding:7px 9px;font-size:.82rem}.receipt-review-table small{display:block;margin-top:4px}.receipt-row-muted{opacity:.55}.quantity-pair{display:grid;grid-template-columns:minmax(72px,1fr) minmax(70px,1fr);gap:6px}.save-state{min-width:96px;color:var(--text-3);font-size:.78rem;font-weight:700}.save-state-saving{color:var(--u-blue)}.save-state-saved{color:var(--u-green)}.save-state-failed{color:var(--u-red)}.thumbnail-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);overflow:hidden;background:var(--brand-weak);color:var(--brand);flex-shrink:0}.thumbnail-fallback{line-height:1}.thumbnail-fallback .mi{font-variation-settings:"FILL" 1}.thumbnail-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.thumbnail-row{display:flex;align-items:center;gap:10px}.recipe-thumb{position:relative;width:100%;aspect-ratio:16 / 10;border-radius:var(--r-sm);overflow:hidden;margin-bottom:10px}.recipe-thumb .thumbnail-wrap{width:100%;height:100%;border-radius:var(--r-sm)}.recipe-thumb .thumbnail-fallback .mi{font-size:46px!important}.recipe-fav{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;justify-content:center;border:none;padding:0;z-index:1}.recipe-fav .mi{color:var(--text-3);font-size:19px}.recipe-fav.active .mi{color:var(--u-red);font-variation-settings:"FILL" 1}.image-preview{margin-top:8px}.table-scroll{overflow-x:auto}.table-scroll table{min-width:640px}.nowrap{white-space:nowrap}.mobile-header,.mobile-tabbar{display:none}@media (max-width: 700px){.app-layout{flex-direction:column}.sidebar{display:none}.mobile-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.mobile-header .brand{display:flex;align-items:center;gap:9px;font-family:var(--font-head);font-weight:700;font-size:.9rem}.mobile-header .brand-mark{width:30px;height:30px;border-radius:9px;background:var(--brand);color:var(--brand-contrast);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-header-actions{display:flex;align-items:center;gap:2px}.mobile-header-actions a,.mobile-header-actions button{width:38px;height:38px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-2);padding:0;box-shadow:none}.mobile-header-actions a:hover,.mobile-header-actions button:hover{background:var(--surface-2)}.mobile-header-actions a.active{background:var(--brand-weak);color:var(--brand)}.main{padding:16px 14px calc(92px + env(safe-area-inset-bottom));max-width:none}.mobile-tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;justify-content:space-around;align-items:flex-end;background:var(--surface);border-top:1px solid var(--border);padding:7px 6px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -4px 16px #0000000f}.tab-item{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;padding:2px 0;color:var(--text-3);font-size:.62rem;font-weight:600}button.tab-item{border:none;background:transparent;box-shadow:none;font-family:inherit}button.tab-item:hover{background:transparent}.tab-item:hover{color:var(--text-2)}.tab-item.active{color:var(--brand);font-weight:700}.tab-fab{width:48px;height:48px;margin-top:-26px;border-radius:50%;background:var(--brand);color:var(--brand-contrast);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);border:3px solid var(--surface)}.add-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;border:0;border-radius:0;background:#00000047;box-shadow:none;padding:0}.add-sheet-backdrop:hover{background:#00000047}.add-sheet{position:fixed;left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:40;display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.add-sheet-option{width:100%;min-height:58px;justify-content:flex-start;gap:12px;padding:10px 12px;text-align:left;border-color:var(--border);background:var(--surface-2)}.add-sheet-option:hover{background:var(--surface-3)}.add-sheet-option:disabled{cursor:not-allowed;background:var(--surface)}.add-sheet-option>span{display:grid;gap:2px;min-width:0}.add-sheet-option strong{color:var(--text);font-size:.9rem;line-height:1.2}.add-sheet-option small{color:var(--text-3);font-size:.73rem;line-height:1.2}h1{font-size:1.35rem}.page-header{margin-bottom:14px}.card{padding:14px}.responsive-table.table-scroll{overflow:visible;margin:0;padding:0}.responsive-table table{min-width:0;width:100%}.responsive-table thead{display:none}.responsive-table tbody{display:block}.responsive-table tr{display:block;border:1px solid var(--border);border-radius:var(--r-md);padding:12px;margin-bottom:10px;background:var(--surface)}.responsive-table tr:hover td{background:none}.responsive-table td{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:none}.responsive-table td[data-label]:before{content:attr(data-label);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);flex-shrink:0}.responsive-table td.cell-primary{padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid var(--border)}.responsive-table td.cell-actions{justify-content:flex-end;padding-top:8px;margin-top:4px;border-top:1px solid var(--border)}.table-scroll:not(.responsive-table){margin:0 -14px;padding:0 14px}}
