@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";:root{color:oklch(20.5% .009 264);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:oklch(98.5% .002 256);font-family:Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}body{min-width:320px;margin:0}#root{min-height:100svh;position:relative}:root{--n-0:#fff;--n-50:oklch(98.5% .002 256);--n-100:oklch(97% .003 256);--n-150:oklch(95% .004 256);--n-200:oklch(92.2% .005 256);--n-300:oklch(87.5% .006 256);--n-400:oklch(71.5% .008 256);--n-500:oklch(59.5% .01 256);--n-600:oklch(49.5% .011 258);--n-700:oklch(39.5% .011 260);--n-800:oklch(27.8% .01 262);--n-900:oklch(20.5% .009 264);--n-950:oklch(15.5% .008 266);--blue-50:oklch(96.5% .02 255);--blue-200:oklch(87% .08 255);--blue-500:oklch(58% .185 258);--blue-600:oklch(51% .19 259);--blue-700:oklch(44% .165 260);--success:oklch(62% .14 150);--success-soft:oklch(96% .03 150);--warning:oklch(76% .15 70);--warning-soft:oklch(96.5% .04 75);--danger:oklch(58.5% .205 25);--danger-soft:oklch(96.2% .03 25);--accent:var(--blue-500);--accent-hover:var(--blue-600);--accent-press:var(--blue-700);--accent-soft:var(--blue-50);--accent-border:var(--blue-200);--bg:var(--n-50);--surface:var(--n-0);--surface-2:var(--n-100);--surface-3:var(--n-150);--border:var(--n-200);--border-strong:var(--n-300);--fg:var(--n-900);--fg-2:var(--n-700);--fg-3:var(--n-500);--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", "Roboto Mono", monospace;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px oklch(20% .01 264/.05);--shadow-sm:0 1px 2px oklch(20% .01 264/.06), 0 1px 3px oklch(20% .01 264/.05);--shadow-md:0 2px 4px oklch(20% .01 264/.05), 0 4px 12px oklch(20% .01 264/.07);--shadow-lg:0 4px 8px oklch(20% .01 264/.06), 0 12px 28px oklch(20% .01 264/.1);--shadow-focus:0 0 0 3px var(--accent-border);--dur-fast:.12s;--ease:cubic-bezier(.2, 0, 0, 1)}*{box-sizing:border-box}.app-shell{background:var(--bg);color:var(--fg);font-family:var(--font-sans);justify-content:center;align-items:center;min-height:100svh;padding:20px;display:flex}.app-frame{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg), 0 0 0 8px var(--n-900), 0 0 0 9px var(--n-700);border-radius:36px;grid-template-rows:auto minmax(0,1fr) auto;width:min(372px,100vw - 28px);max-width:372px;height:min(760px,100svh - 40px);min-height:640px;max-height:760px;display:grid;position:relative;overflow:hidden}.app-header{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.brand-lockup,.user-panel,.user-switcher,.item-mainline,.item-subline,.section-row,.sheet-heading,.keypad-topbar{align-items:center;display:flex}.brand-lockup{gap:9px;min-width:0}.brand-mark{background:var(--accent);border-radius:var(--radius-md);color:#fff;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.brand-mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:16px;height:16px}h1,h2,h3,p{margin:0}h1{color:var(--fg);letter-spacing:0;font-size:18px;font-weight:600;line-height:1.15}h2{color:var(--fg);letter-spacing:0;font-size:18px;font-weight:600;line-height:1.2}h3{color:var(--fg);letter-spacing:0;font-size:14px;font-weight:600}button{cursor:pointer;font:inherit;border:0}.user-panel{gap:8px}.user-panel p{display:none}.user-switcher{gap:6px}.user-switcher button{background:var(--surface-2);border-radius:var(--radius-md);color:var(--fg-2);font-family:var(--font-mono);min-width:30px;height:30px;padding:0 8px;font-size:11px;font-weight:600}.user-switcher button.active{background:var(--accent-soft);color:var(--accent)}.app-nav{background:var(--surface);border-top:1px solid var(--border);grid-row:4;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:7px 6px 9px;display:grid}.app-nav button{border-radius:var(--radius-md);color:var(--fg-3);background:0 0;flex-direction:column;justify-content:center;align-items:center;min-height:42px;padding:0 2px;font-size:10px;font-weight:500;display:flex}.app-nav button.active{background:var(--accent-soft);color:var(--accent)}.content-shell{min-height:0;overflow:hidden}.panel-surface{align-content:start;gap:10px;height:100%;padding:0 14px 18px;display:grid;position:relative;overflow:auto}.panel-surface .panel-surface{border:1px solid var(--border);border-radius:var(--radius-lg);height:auto;padding:14px}.surface-heading{justify-content:space-between;align-items:end;gap:12px;padding:4px 2px 0;display:flex}.surface-heading>button{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--fg);min-height:34px;padding:0 12px;font-size:13px;font-weight:500}.eyebrow{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:500}.list-counts{justify-items:end;gap:2px;display:grid}.list-counts span,.session-count{color:var(--fg-3);font-family:var(--font-mono);white-space:nowrap;font-size:11px;font-weight:500}.shopping-list,.refresh-task-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list-item-card,.visit-item,.refresh-task-list li,.detail-card,.basket-total-card,.split-savings,.metric-grid div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.shopping-list-row{gap:8px;padding:13px 14px;display:grid}.item-mainline{justify-content:space-between;gap:10px}.item-check{cursor:pointer;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:9px;min-width:0;display:grid}.item-check input{opacity:0;width:1px;height:1px;position:absolute}.item-signal{border:1.6px solid var(--n-400);border-radius:50%;width:15px;height:15px;position:relative}.completed .item-signal{background:var(--accent);border-color:var(--accent)}.completed .item-signal:after{content:"";border-bottom:1.8px solid #fff;border-right:1.8px solid #fff;width:4px;height:7px;position:absolute;top:1px;left:4px;transform:rotate(42deg)}.item-check strong,.visit-item strong,.detail-card strong,.basket-total-card strong,.split-savings strong{color:var(--fg);font-size:15px;font-weight:600;line-height:1.25;display:block}.item-check small,.item-subline small,.item-price-state small,.detail-card small,.visit-item small,.empty-state,.detail-section>small,.basket-total-card small,.split-savings small,.metric-grid small{color:var(--fg-3);font-size:12px;line-height:1.35;display:block}.item-price-state{color:var(--fg);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;flex:none}.item-price-state strong{font-family:var(--font-mono);letter-spacing:0;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.15}.item-subline{justify-content:space-between;gap:8px}.item-actions{justify-content:flex-end;gap:6px;display:flex}.item-actions button,.item-subline button,.refresh-task-list button,.sheet-heading button,.visit-item button,.keypad-topbar button{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--fg-2);white-space:nowrap;min-height:30px;padding:0 9px;font-size:12px;font-weight:500}.item-actions .primary-capture,.visit-item button{background:var(--accent);border-color:var(--accent);color:#fff}.shopping-list li.completed strong{color:var(--fg-3);text-decoration:line-through}.tracking-pill,.freshness-pill,.pill{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:5px;min-height:21px;padding:0 8px;font-size:11px;font-weight:500;display:inline-flex}.pill-dot{border-radius:50%;width:6px;height:6px}.tracking-pill.is-untracked{border:1px dashed var(--border-strong);color:var(--fg-3)}.tracking-pill.is-tracked{background:var(--accent-soft);color:var(--accent)}.freshness-pill.is-fresh{background:var(--success-soft);color:var(--success)}.freshness-pill.is-fresh .pill-dot{background:var(--success)}.freshness-pill.is-aging{background:var(--warning-soft);color:var(--warning)}.freshness-pill.is-aging .pill-dot{background:var(--warning)}.freshness-pill.is-stale,.freshness-pill.is-historical,.freshness-pill.is-needs-refresh{background:var(--surface-3);color:var(--fg-3)}.freshness-pill.is-stale .pill-dot,.freshness-pill.is-historical .pill-dot,.freshness-pill.is-needs-refresh .pill-dot{background:var(--n-400)}.list-toolbar{justify-content:flex-end;display:flex}.add-item-action{background:var(--accent);border-radius:var(--radius-md);color:#fff;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.add-item-action span{font-family:var(--font-mono);font-size:17px;line-height:1}.session-form label,.quick-price-form label,.add-item-sheet label,.price-sheet label{color:var(--fg-2);font-size:12px;font-weight:500;display:block}.session-row,.add-item-row,.quick-price-form div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.session-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);gap:10px;padding:12px;display:grid}input[type=number],input[type=text]{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--fg);font:inherit;width:100%;min-width:0;min-height:38px;padding:0 12px}input[type=number]:focus,input[type=text]:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.session-row button,.add-item-row button,.quick-price-form button,.primary-action{background:var(--accent);border-radius:var(--radius-md);color:#fff;min-height:38px;padding:0 14px;font-size:13px;font-weight:600}.visit-hero{background:var(--n-950);border-radius:var(--radius-xl);color:#fff;gap:16px;margin:2px 0 4px;padding:16px;display:grid}.visit-hero small,.visit-hero strong{display:block}.visit-hero small{color:#ffffff94;font-family:var(--font-mono);text-transform:uppercase;margin-bottom:4px;font-size:11px}.visit-hero strong{color:#fff;font-size:20px;font-weight:600}.visit-list{gap:8px;display:grid}.section-row{justify-content:space-between;gap:12px}.section-row span,.section-row small{color:var(--fg-3);font-family:var(--font-mono);text-transform:uppercase;font-size:11px;font-weight:500}.visit-item{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.quick-price-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);gap:10px;padding:12px;display:grid}.refresh-task-list li{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px;display:grid}.refresh-task-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.refresh-task-list small{color:var(--fg-3);grid-column:1;font-size:12px}.refresh-task-list button{grid-area:1/2/span 4}.basket-total-grid,.metric-grid{grid-template-columns:1fr;gap:8px;display:grid}.basket-total-card,.split-savings,.metric-grid div{gap:5px;padding:12px;display:grid}.basket-total-card span,.metric-grid strong{color:var(--fg);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.private-log-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);gap:0;overflow:hidden}.private-log-list div{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;gap:3px;padding:11px 12px}.private-log-list div:last-child{border-bottom:0}.private-log-list strong{font-size:14px}.sheet-backdrop{z-index:20;background:oklch(20% .01 264/.42);justify-content:center;align-items:end;padding:0;display:flex;position:fixed;inset:0}.price-sheet,.item-detail-sheet,.add-item-sheet{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:20px 20px 0 0;gap:14px;width:min(372px,100vw);max-width:372px;max-height:min(92svh,760px);padding:10px 18px 20px;display:grid;overflow:auto}.item-detail-sheet{max-width:420px}.add-item-sheet{gap:14px}.sheet-handle{background:var(--border-strong);border-radius:var(--radius-full);justify-self:center;width:36px;height:4px}.sheet-heading{justify-content:space-between;align-items:start;gap:12px}.sheet-heading small,.keypad-topbar small{color:var(--fg-3);margin-top:2px;font-size:11px;display:block}.keypad-sheet{border-radius:0;gap:0;height:min(760px,100svh);max-height:100svh;padding:0}.keypad-topbar{justify-content:space-between;padding:12px 16px 4px}.keypad-topbar h2{text-align:center;font-size:15px}.keypad-topbar button{color:var(--fg-2);background:0 0;border:0;min-width:44px}.keypad-topbar button:last-child{color:var(--accent);font-weight:600}.price-display{text-align:center;gap:10px;padding:30px 16px 14px;display:grid}.price-display label{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.price-entry{justify-content:center;align-items:baseline;gap:8px;display:flex;position:relative}.price-entry span,.price-entry strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.price-entry span{color:var(--fg-3);font-size:22px}.price-entry strong{color:var(--fg);letter-spacing:0;font-size:52px;font-weight:600;line-height:1}.price-native-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.package-details{border:0;padding:0 18px 8px}.package-details summary{cursor:pointer;flex-wrap:wrap;justify-content:center;gap:7px;list-style:none;display:flex}.package-details summary::-webkit-details-marker{display:none}.package-details summary span{background:var(--surface-2);border-radius:var(--radius-full);color:var(--fg-2);min-height:28px;padding:7px 9px;font-size:11px;font-weight:500;display:inline-flex}.package-details summary .details-label{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;flex-basis:100%;justify-content:center;min-height:auto;padding:0 0 2px;font-size:11px}.price-context-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:14px;display:grid}.price-context-grid div{gap:6px;display:grid}.loose-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--fg-2);cursor:pointer;align-items:center;gap:8px;margin-top:12px;padding:9px 10px;display:inline-flex}.loose-toggle input{accent-color:var(--accent);width:16px;height:16px;margin:0}.loose-toggle span{font-size:12px;font-weight:500}.keypad-grid{background:var(--surface-2);grid-template-columns:repeat(3,1fr);gap:7px;margin-top:auto;padding:10px 8px;display:grid}.keypad-grid button{background:var(--surface);box-shadow:var(--shadow-xs);color:var(--fg);font-family:var(--font-mono);border-radius:9px;justify-content:center;align-items:center;height:54px;font-size:24px;font-weight:500;display:flex}.keypad-grid button:last-child{color:var(--fg-2);text-transform:uppercase;font-size:13px}.keypad-sheet .primary-action{border-radius:var(--radius-lg);height:52px;margin:10px 14px 16px;font-size:16px}.detail-card{gap:6px;padding:12px;display:grid}.detail-stack{border-top:1px solid var(--border);gap:4px;margin-top:4px;padding-top:8px;display:grid}.detail-section{gap:8px;display:grid}.comparison-stack,.history-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.comparison-range{color:var(--accent);font-weight:600}.shop-comparison,.history-list li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);gap:4px;padding:10px;display:grid}.shop-comparison strong,.history-list span{color:var(--fg);font-size:13px;font-weight:600}@media (width>=900px){.app-shell{align-items:start;padding-top:36px}.app-frame{transform-origin:top}}@media (width<=430px){.app-shell{padding:0}.app-frame{box-shadow:none;border:0;border-radius:0;width:100vw;max-width:none;height:100svh;min-height:100svh;max-height:none}.price-sheet,.item-detail-sheet,.add-item-sheet{width:100vw;max-width:none}}@media (width<=360px){.price-context-grid,.session-row,.add-item-row,.quick-price-form div{grid-template-columns:1fr}.item-actions{flex-wrap:wrap}}
