/* styles.css */
:root{color-scheme:light;--bg:#f6f5f0;--panel:#fff;--ink:#242b25;--muted:#68716a;--line:#e3e6de;--brand:#c74625;--brand-hover:#ab371b;--onbrand:#fff;--soft:#f9eae0;--green:#46664c;--green-soft:#eaf1e7;--shadow:0 12px 48px #26322112;--error:#a93329;--radius:22px;--safe:env(safe-area-inset-bottom,0px)}
:root[data-theme=dark]{color-scheme:dark;--bg:#151b18;--panel:#202822;--ink:#f2f1e9;--muted:#adb7ad;--line:#354238;--brand:#f38c64;--brand-hover:#ff9f7b;--onbrand:#211711;--soft:#3a2922;--green:#afd0a1;--green-soft:#263b2c;--shadow:0 12px 48px #0003;--error:#ffb1a5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.45;font-size:15px}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--brand);outline-offset:3px}button{touch-action:manipulation}a{color:var(--brand)}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,4.4vw,42px);line-height:1.12;letter-spacing:-1.4px;font-weight:740}h2{font-size:20px;letter-spacing:-.5px;line-height:1.3}h3{font-size:16px;line-height:1.35}p{color:var(--muted)}small{font-size:12px;color:var(--muted)}.icon{width:22px;height:22px;flex:none;vertical-align:middle}svg{overflow:visible}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:750;text-transform:uppercase;color:var(--muted)}.row{display:flex;align-items:center;gap:12px}.between{display:flex;justify-content:space-between;align-items:center;gap:12px}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:16px}.compact{gap:8px}.wrap{flex-wrap:wrap}.gap{margin-top:20px}.gap-sm{margin-top:10px}.hidden{display:none!important}.skip{position:fixed;top:-80px;left:10px;z-index:100;background:var(--panel);padding:16px}.skip:focus{top:10px}.boot{min-height:100dvh;display:grid;align-content:center;justify-content:center;gap:15px;text-align:center}.boot-dot{width:28px;height:28px;border-radius:50%;background:var(--brand);margin:auto;animation:breathe 1s infinite alternate}
.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:16px;background:var(--bg);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;text-decoration:none;color:var(--ink);font-size:27px;letter-spacing:-1px;font-weight:800}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--brand);color:var(--onbrand);display:grid;place-items:center;transform:rotate(-5deg)}.brand-dot{color:var(--brand)}.brand-sub{font-size:10px;font-weight:650;letter-spacing:1.3px;color:var(--muted);text-transform:uppercase;line-height:1.4;margin-left:16px;padding-left:18px;border-left:1px solid var(--line)}.avatar{height:40px;width:40px;border-radius:50%;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;font-weight:750}.net{border:0;background:transparent;display:flex;align-items:center;gap:7px;font-size:11px;padding:9px 10px;min-height:44px;color:var(--muted)}.net-dot{height:6px;width:6px;border-radius:50%;background:var(--green)}.net.offline .net-dot{background:var(--brand)}.layout{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:200px 1fr;min-height:calc(100dvh - 80px)}.sidebar{border-right:1px solid var(--line);padding:34px 20px 24px 12px;display:flex;flex-direction:column;gap:8px;position:sticky;top:80px;height:calc(100dvh - 80px)}.navbtn{display:flex;align-items:center;gap:12px;text-decoration:none;border:0;background:transparent;padding:14px 16px;border-radius:14px;font-size:14px;min-height:48px;text-align:left;color:var(--muted);font-weight:600}.navbtn.active{background:var(--panel);color:var(--brand);box-shadow:0 2px 4px #00000004}.sidebar-note{margin-top:auto;padding:16px 10px;font-size:12px;line-height:1.65;color:var(--muted)}main{padding:36px 40px 96px;min-width:0}.page-title{margin-bottom:24px}.page-title .eyebrow{margin-bottom:9px}.page-title p{margin-top:8px;font-size:14px}.bottom-nav{display:none}.btn{min-height:48px;padding:12px 18px;border:1px solid transparent;border-radius:14px;display:inline-flex;gap:9px;align-items:center;justify-content:center;font-weight:680;font-size:14px;text-decoration:none;transition:background 140ms,transform 140ms;line-height:1.3}.btn:active,.iconbtn:active,.item-main:active{transform:scale(.98)}.primary{background:var(--brand);color:var(--onbrand)}.primary:hover{background:var(--brand-hover)}.secondary{background:var(--panel);border-color:var(--line);color:var(--ink)}.secondary:hover{border-color:var(--muted)}.soft{background:var(--soft);color:var(--brand)}.ghost{background:transparent;color:var(--muted)}.danger{color:var(--error);border-color:var(--line);background:var(--panel)}.full{width:100%}.iconbtn{width:48px;height:48px;min-width:48px;border:0;border-radius:12px;background:transparent;display:inline-grid;place-items:center;transition:transform 140ms,background 140ms}.iconbtn:hover{background:var(--bg)}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:6px 10px;font-size:11px;font-weight:650;background:var(--green-soft);color:var(--green);white-space:nowrap}.pill .icon{width:14px;height:14px}.pill.orange{background:var(--soft);color:var(--brand)}.pill.neutral{background:var(--bg);color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 154px;align-items:center;gap:20px;padding:30px;border-radius:var(--radius);background:var(--soft);margin-bottom:30px;overflow:hidden;position:relative}.hero h1{font-size:38px;max-width:420px}.hero h1 span{color:var(--brand)}.hero p{font-size:14px;margin-top:12px;max-width:340px}.hero .btn{margin-top:22px}.hero-art{position:relative;width:136px;height:150px;display:flex;align-items:center;justify-content:center}.hero-basket{height:100px;width:100px;color:var(--brand);stroke-width:1}.hero-dot{position:absolute;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--panel);color:var(--green);box-shadow:var(--shadow);transform:rotate(-12deg);top:0;right:5px}.hero-dot.second{top:auto;bottom:4px;left:0;transform:rotate(10deg);color:var(--brand)}.list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.list-card{padding:22px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);display:flex;flex-direction:column;gap:18px;position:relative;transition:border-color 180ms,transform 180ms}.list-card:hover{border-color:var(--brand)}.list-card h2{font-size:21px;margin:6px 0 5px}.list-card p{font-size:12px}.list-card .list-open{color:var(--ink);border:0;background:none;text-align:left;padding:0;cursor:pointer;min-height:48px}.list-card .card-footer{border-top:1px solid var(--line);padding-top:14px}.card-footer small{font-size:11px}.section-heading{margin:26px 0 14px}.section-heading h2{font-size:17px}.section-heading .btn{font-size:12px;min-height:44px;padding:8px}.feature-note{margin-top:24px;border:1px dashed var(--line);border-radius:18px;padding:18px;display:flex;gap:14px;align-items:flex-start;font-size:13px}.feature-note>.icon{color:var(--green);margin-top:3px}.feature-note strong{display:block;margin-bottom:4px;font-size:13px}.empty{padding:38px 24px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:var(--panel);display:flex;flex-direction:column;align-items:center;gap:14px}.empty>.icon{width:40px;height:40px;color:var(--brand)}.empty p{font-size:14px;max-width:330px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--panel);border-radius:99px;padding:10px 13px;font-size:12px;display:flex;align-items:center;gap:6px;min-height:44px}.chip .icon{width:16px;height:16px}.statstrip{margin-top:28px;display:flex;gap:28px}.statstrip div{display:flex;gap:7px;align-items:baseline;font-size:12px;color:var(--muted)}.statstrip strong{font-size:20px;color:var(--ink);font-weight:650}
.list-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.backline{margin-bottom:12px}.backline .btn{padding:0;min-height:36px;font-size:12px}.list-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.shopbar{margin:22px 0 18px;display:flex;align-items:center;gap:16px;padding:17px 20px;background:var(--green-soft);border-radius:18px}.shopbar>.icon{color:var(--green)}.shopbar p{font-size:12px;margin-top:3px}.shopbar h3{font-size:14px}.shopping-info{margin-top:22px;border-radius:18px;background:var(--panel);border:1px solid var(--line);padding:18px 20px}.shopping-info .numbers{font-size:12px;color:var(--muted)}.shopping-info .numbers strong{font-size:22px;color:var(--ink);font-weight:720}.progress{display:block;width:100%;height:7px;margin:13px 0 0;appearance:none;border:0;border-radius:99px;overflow:hidden;background:var(--line)}.progress::-webkit-progress-bar{background:var(--line)}.progress::-webkit-progress-value{background:var(--green);border-radius:99px;transition:width 180ms}.progress::-moz-progress-bar{background:var(--green)}.tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 0}.tools .btn{font-size:12px;padding:10px 12px;min-height:44px}.section{margin:20px 0 0}.section-label{display:flex;align-items:center;gap:9px;margin-bottom:8px;padding:0 3px}.section-label .icon{height:16px;width:16px;color:var(--muted)}.section-label h2{font-size:11px;letter-spacing:.9px;text-transform:uppercase;font-weight:750}.section-label .count{margin-left:auto;color:var(--muted);font-size:11px}.section-items{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}.item{display:flex;min-height:70px;align-items:center;position:relative}.item+.item{border-top:1px solid var(--line)}.item-main{border:0;background:transparent;padding:14px 10px 14px 17px;display:flex;align-items:center;gap:13px;flex:1;text-align:left;min-height:70px;min-width:0;color:var(--ink);transition:background 160ms,transform 120ms}.item-main:hover{background:var(--bg)}.tickbox{width:25px;height:25px;min-width:25px;border:1.5px solid #b9c1b4;border-radius:8px;display:grid;place-items:center;background:var(--panel);color:var(--panel);transition:background 160ms,border-color 160ms}.tickbox .icon{width:18px;height:18px}.product-copy{min-width:0;flex:1}.product-name{display:block;font-size:15px;font-weight:580;line-height:1.35;overflow-wrap:anywhere}.product-note{display:block;font-size:11px;color:var(--muted);margin-top:3px;line-height:1.35}.quantity{font-size:12px;font-weight:650;white-space:nowrap;padding:5px 8px;border-radius:8px;background:var(--bg);color:var(--muted);margin-left:auto;max-width:100px;overflow:hidden;text-overflow:ellipsis}.item .editbtn{margin-right:4px;color:var(--muted)}.item .editbtn .icon{width:16px;height:16px}.item.picked .tickbox{background:var(--green);border-color:var(--green);color:var(--panel)}.item.picked .product-name{text-decoration:line-through;color:var(--muted)}.item.picked .item-main{opacity:.7}.item.unavailable .tickbox,.item.postponed .tickbox,.item.removed .tickbox{border-color:var(--brand);color:var(--brand);background:var(--soft)}.category-dot{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);flex:none}.category-dot .icon{width:18px;height:18px}.category-dot.blue{background:#e9f0f6;color:#4f6e88}.category-dot.rose{background:#f6eae9;color:#9e615e}.category-dot.sand{background:#f4efdf;color:#8a713c}.category-dot.violet{background:#eeebf5;color:#7c6794}:root[data-theme=dark] .category-dot{background:var(--green-soft);color:var(--green)}.bottom-action{position:sticky;bottom:16px;z-index:10;display:flex;gap:10px;margin-top:28px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.bottom-action .btn{flex:1}.bottom-action .secondary{flex:0}.next-section{margin-top:15px;font-size:12px;display:flex;gap:7px;align-items:center;color:var(--green)}.next-section .icon{height:16px;width:16px}.notice{padding:13px 15px;font-size:12px;border-radius:13px;background:var(--soft);color:var(--ink);border:1px solid transparent;line-height:1.55}.notice.error{border-color:var(--error);color:var(--error)}.notice.green{background:var(--green-soft)}.finish-art{height:76px;width:76px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;margin:6px auto 22px}.finish-art .icon{width:36px;height:36px}.complete{max-width:570px;margin:20px auto;text-align:center}.complete h1{font-size:32px}.complete p{margin-top:12px}.complete .big-number{font-size:56px;line-height:1.2;margin-top:28px;font-weight:740;letter-spacing:-2px}
.panel{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.panel h2{font-size:17px;margin-bottom:15px}.store-row{width:100%;padding:14px 0;border:0;border-bottom:1px solid var(--line);background:none;display:flex;align-items:center;gap:12px;text-align:left;min-height:74px}.store-row:last-child{border-bottom:0}.store-row h3{font-size:14px}.store-row p{font-size:11px;margin-top:3px}.setting-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.setting-row:last-child{border:0}.setting-row label{font-size:13px;font-weight:600}.setting-row small{display:block;font-weight:400;margin-top:3px}.setting-row select{width:auto;max-width:160px}.house-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.route-line{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:6px 0;min-height:58px}.route-line .n{width:26px;font-size:11px;color:var(--muted);text-align:center}.route-line .name{font-size:13px;font-weight:560;flex:1}.route-line .iconbtn{height:44px;width:44px;min-width:44px}.route-controls{display:flex;gap:0}.access-row{padding:12px 0;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.access-row strong{font-size:13px}.access-row small{display:block}.access-row .btn{font-size:12px}.issue{padding:16px;border:1px solid var(--line);border-radius:15px;margin-top:10px}.issue p{font-size:12px;overflow-wrap:anywhere}.issue strong{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.onboard{max-width:1050px;margin:0 auto;min-height:100dvh;display:grid;grid-template-columns:1fr 430px;gap:70px;align-items:center;padding:48px}.onboard .brand{margin-bottom:40px}.onboard h1{font-size:52px;letter-spacing:-2px;line-height:1.07}.onboard h1 span{color:var(--brand)}.onboard p{font-size:15px;line-height:1.7;margin-top:20px}.onboard .panel{box-shadow:var(--shadow);padding:30px}.onboard h2{font-size:22px;margin-bottom:20px}.onboard-footer{font-size:11px;color:var(--muted);margin-top:22px;line-height:1.6}.tabs{display:flex;gap:4px;background:var(--bg);border-radius:12px;padding:4px;margin-bottom:20px}.tabs button{border:0;background:none;padding:10px 8px;min-height:44px;border-radius:9px;flex:1;font-size:12px;font-weight:650}.tabs button.active{background:var(--panel);color:var(--brand);box-shadow:0 1px 5px #00000009}.onboard-tag{display:inline-flex;align-items:center;gap:8px;font-size:12px;margin:24px 0}.onboard-tag .icon{width:18px;color:var(--green)}label.field{display:block;font-size:12px;font-weight:650;margin-bottom:14px}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;padding:13px 14px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;min-height:48px;font-size:16px;margin-top:6px;line-height:1.35}textarea{resize:vertical;min-height:170px;line-height:1.6}input[readonly]{font-size:12px;font-family:ui-monospace,monospace}.checklabel{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;padding:8px 0;cursor:pointer}.checklabel input{width:19px;height:19px;accent-color:var(--brand);margin-top:1px;flex:none}.fields-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline-error{color:var(--error);font-size:12px;margin:12px 0;min-height:0}.helper{font-size:11px;line-height:1.6;color:var(--muted)}dialog{border:0;border-radius:26px;padding:0;width:min(620px,calc(100vw - 36px));max-height:90dvh;background:var(--panel);color:var(--ink);box-shadow:0 30px 90px #0004;overflow:hidden}dialog::backdrop{background:#17271c73;backdrop-filter:blur(4px)}dialog[open]{display:flex;flex-direction:column;animation:sheetin 180ms ease-out}.sheet-head{padding:22px 24px 14px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);flex:none}.sheet-head h2{font-size:21px}.sheet-head .iconbtn{margin:-8px -10px -6px 0}.sheet-body{padding:20px 24px 24px;overflow-y:auto;overscroll-behavior:contain}.sheet-footer{padding:16px 24px calc(16px + var(--safe));border-top:1px solid var(--line);display:flex;gap:10px;background:var(--panel);flex:none}.sheet-footer .btn{flex:1}.review-row{border:1px solid var(--line);padding:13px;border-radius:16px;margin-bottom:10px}.review-row input,.review-row select{font-size:14px;min-height:44px;padding:10px}.review-row .review-name{font-weight:650}.review-row .fields-row{grid-template-columns:72px 85px 1fr;gap:6px}.review-row .fields-row label{font-size:10px;color:var(--muted);margin-top:9px}.review-row .remove-review{width:44px;height:44px;min-width:44px}.review-row .helper{margin-top:7px}.toast-content{position:fixed;bottom:calc(28px + var(--safe));left:50%;transform:translateX(-50%);z-index:90;display:flex;gap:16px;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:10px 12px 10px 18px;border-radius:16px;background:var(--ink);color:var(--bg);box-shadow:var(--shadow);max-width:min(520px,calc(100vw - 28px));font-size:13px;min-height:54px}.toast-content .btn{min-height:36px;font-size:12px;background:transparent;color:var(--bg);padding:8px;white-space:nowrap}.toast-content.error{background:var(--error);color:var(--panel)}details summary{cursor:pointer;font-size:13px;padding:12px 0;font-weight:650}.start-store{padding:16px;border:1px solid var(--line);border-radius:16px;margin:10px 0;background:var(--panel);display:flex;gap:13px;align-items:center;cursor:pointer}.start-store input{accent-color:var(--brand);height:18px;width:18px}.start-store:has(input:checked){border-color:var(--brand);background:var(--soft)}.start-store h3{font-size:14px}.start-store small{font-size:11px}.new-items-label{font-size:11px;color:var(--brand);padding:15px 0 0}.center{text-align:center}.version{font-size:10px;letter-spacing:1px;color:var(--muted)}.hairline{border:0;border-top:1px solid var(--line);margin:20px 0}.subtle-link{font-size:12px;border:0;background:none;text-decoration:underline;color:var(--muted);min-height:44px}
@media(min-width:901px){.list-page{max-width:700px;margin:auto}.bottom-action{bottom:22px}.sidebar .brand{display:none}.mobile-only{display:none!important}}
@media(max-width:900px){.layout{display:block}.sidebar{display:none}.topbar{height:70px;padding:0 22px}.brand-sub{display:none}main{padding:28px 24px calc(98px + var(--safe))}.bottom-nav{display:flex;justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;right:0;height:calc(72px + var(--safe));padding:7px 12px calc(7px + var(--safe));background:var(--panel);border-top:1px solid var(--line);z-index:30}.bottom-nav .navbtn{flex-direction:column;gap:4px;font-size:10px;flex:1;min-height:55px;padding:7px 15px;border-radius:14px}.bottom-nav .navbtn.active{box-shadow:none;background:var(--soft)}.bottom-action{bottom:calc(82px + var(--safe))}.toast-content{bottom:calc(88px + var(--safe))}.hero{margin-bottom:24px}.onboard{gap:30px;padding:30px}.onboard h1{font-size:42px}.onboard{grid-template-columns:1fr 390px}.house-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar{height:64px;padding:0 20px}.brand{font-size:25px;gap:8px}.brand-mark{height:33px;width:33px;border-radius:10px}.brand-mark .icon{width:21px}.avatar{height:35px;width:35px;font-size:12px}.net{font-size:10px;padding:8px 0}.topbar>.row{gap:12px}main{padding:24px 18px calc(98px + var(--safe))}h1{font-size:30px;letter-spacing:-1px}.hero{grid-template-columns:1fr 75px;gap:6px;padding:23px 20px;border-radius:23px}.hero h1{font-size:29px;letter-spacing:-1px;line-height:1.12}.hero p{font-size:12px;line-height:1.55;max-width:230px}.hero .btn{margin-top:19px;font-size:12px;min-height:46px;padding:12px 14px}.hero-art{width:75px;height:132px}.hero-basket{width:73px;height:73px}.hero-dot{right:0;top:4px;width:27px;height:27px;border-radius:9px}.hero-dot .icon{width:16px;height:16px}.hero-dot.second{bottom:7px;left:0}.list-grid{grid-template-columns:1fr;gap:13px}.list-card{padding:20px;gap:14px}.list-card h2{font-size:22px}.list-card .list-open{min-height:auto}.list-card .card-footer{padding-top:12px}.list-card .btn{font-size:12px;min-height:44px;padding:10px 12px}.list-card .card-head{align-items:flex-start}.section-heading{margin-top:22px}.section-heading h2{font-size:16px}.statstrip{gap:16px;justify-content:space-between}.statstrip div{font-size:10px;gap:5px}.statstrip strong{font-size:18px}.feature-note{padding:15px;gap:12px}.feature-note p{font-size:11px}.feature-note strong{font-size:12px}.house-grid{grid-template-columns:1fr}.panel{padding:19px}.list-top h1{font-size:28px}.list-top .iconbtn{height:44px;width:44px;min-width:44px}.list-top .row{gap:0}.list-meta{gap:6px}.shopbar{padding:15px;gap:12px;align-items:flex-start}.shopbar>.icon{margin-top:4px;width:20px}.shopbar h3{font-size:13px}.shopbar p{font-size:11px}.shopbar .btn{padding:9px 12px;min-height:44px;font-size:11px;white-space:nowrap;align-self:center}.shopping-info{padding:15px 17px}.shopping-info .pill{font-size:10px}.product-name{font-size:14px}.item-main{gap:10px;padding:12px 7px 12px 14px;min-height:70px}.item .editbtn{min-width:44px;width:44px;margin-right:1px}.quantity{font-size:11px;padding:5px 7px;max-width:74px}.section-label h2{font-size:10px}.bottom-action{padding:8px;gap:8px;border-radius:17px;bottom:calc(80px + var(--safe));margin-left:-2px;margin-right:-2px}.bottom-action .btn{font-size:12px;min-height:48px;padding:11px 13px}.tools .btn{font-size:11px;padding:9px 10px}.next-section{font-size:11px}.pill{font-size:10px;padding:5px 9px}.sheet-head{padding:17px 20px 12px}.sheet-head h2{font-size:20px}.sheet-body{padding:18px 20px 22px}.sheet-footer{padding:12px 20px calc(12px + var(--safe))}.sheet-footer .btn{font-size:13px}dialog{width:100%;max-width:100vw;border-radius:25px 25px 0 0;margin:auto 0 0;max-height:92dvh}.onboard{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding:32px 22px}.onboard .brand{margin-bottom:30px}.onboard h1{font-size:36px;letter-spacing:-1.4px}.onboard p{font-size:13px;margin-top:12px}.onboard-tag{margin:14px 0 0;font-size:11px}.onboard .panel{padding:22px}.onboard h2{font-size:20px}.onboard-footer{margin-top:14px}.page-title{margin-bottom:20px}.page-title p{font-size:12px}.review-row{padding:11px}.review-row .fields-row{grid-template-columns:62px 68px 1fr;gap:5px}.review-row .fields-row select{font-size:12px;padding:11px 5px}.review-row input{font-size:14px}.route-line{gap:5px}.route-line .name{font-size:12px}.route-line .n{width:20px}.route-line .iconbtn{min-width:44px;width:44px}.complete{margin-top:10px}.complete h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root[data-reduced=true] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@keyframes sheetin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{from{opacity:.45;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
/* El aviso nunca cubre la acción principal de una compra. */
body:has(.bottom-action) .toast-content{bottom:calc(103px + var(--safe))}
@media(max-width:900px){body:has(.bottom-action) .toast-content{bottom:calc(158px + var(--safe))}}

a.avatar{text-decoration:none}.toast-content{width:min(520px,calc(100vw - 28px))}.toast-content>span:first-child{min-width:0;flex:1}.toast-actions{display:flex;gap:2px;align-items:center;flex:none}.toast-content .iconbtn{width:38px;min-width:38px;height:38px;color:inherit}.toast-content .iconbtn:hover{background:#ffffff18}

/* 0.2: densidad útil. Una cantidad visible, sin tarjetas anidadas por cada producto. */
.review-intro{margin-bottom:10px}.compact-review{margin-top:10px}.compact-review .review-row{padding:7px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0}.review-main{display:grid;grid-template-columns:minmax(0,1fr) 92px 40px;gap:5px;align-items:center}.review-main input:not([type=checkbox]){margin:0;min-height:44px;padding:9px 10px;border-radius:10px;font-size:14px}.review-main .iconbtn{width:40px;min-width:40px;height:44px}.review-main .review-amount{text-align:center;font-weight:600}.review-main .inferred{border-style:dashed;color:var(--muted)}.review-meta{display:flex;gap:8px;align-items:center;min-width:0;margin-top:3px}.review-meta select{width:auto;max-width:100%;margin:0;min-height:30px;padding:4px 22px 4px 6px;border:0;border-radius:6px;font-size:11px;background:transparent;color:var(--muted)}.review-meta .helper{margin:0;font-size:10px}.review-main .review-name{text-overflow:ellipsis}.review-main .review-name:focus{font-weight:600}
.item-main{min-height:56px;padding:8px 6px 8px 12px;gap:9px}.item .editbtn{width:44px;min-width:44px;height:48px}.item .category-dot{width:27px;height:27px;border-radius:9px;flex:none}.item .category-dot .icon{width:16px;height:16px}.item .tickbox{width:23px;height:23px;flex:none}.product-copy{min-width:0}.product-note:empty{display:none}.product-note{font-size:10px;margin-top:2px}.product-name{line-height:1.3;font-size:14px}.quantity{font-size:12px;max-width:90px;white-space:normal;line-height:1.15}.section{margin-top:13px}.section-label{padding:6px 2px;gap:7px;min-height:30px}.section-label .icon{width:14px;height:14px}.section-label h2{font-size:10px}.section-items{border-radius:13px}.preparation-note{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px;line-height:1.5;padding:10px 0 4px}.preparation-note>.icon{width:19px;flex:none}.compact-tools{margin:12px 0 9px;gap:7px}.segmented{display:inline-flex;gap:3px;border:1px solid var(--line);background:var(--panel);padding:3px;border-radius:12px;max-width:100%;min-width:0}.segmented .btn{border:0;background:transparent;min-height:38px;padding:8px 13px;font-size:12px;color:var(--muted);box-shadow:none;white-space:nowrap}.segmented .btn.selected{background:var(--soft);color:var(--brand)}.sort-list{margin-top:10px}.sort-row{display:flex;align-items:center;gap:8px;min-height:58px;border-bottom:1px solid var(--line);background:var(--panel);border-radius:8px;transition:background 120ms}.sort-grip{touch-action:none;cursor:grab;user-select:none;display:flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:48px;font-size:23px;color:var(--muted)}.sort-title{flex:1;min-width:0;font-size:13px}.sort-title strong{font-weight:600;display:block;overflow-wrap:anywhere}.sort-title small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.sort-controls{display:flex;flex:none;gap:0}.sort-controls .iconbtn{width:38px;min-width:38px;height:46px}.sort-row.dragging{opacity:.6}.sort-row.drop-target{background:var(--soft);box-shadow:inset 0 -2px var(--brand)}
.ticket-title{display:flex;gap:16px;align-items:center;justify-content:space-between}.ticket-title>.btn{flex:none}.ticket-list{margin-top:20px;display:grid;gap:10px}.ticket-card{width:100%;text-align:left;display:flex;align-items:center;gap:14px;background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:18px;border-radius:17px;transition:transform 130ms,background 130ms;cursor:pointer}.ticket-card:hover{background:var(--soft)}.ticket-card:active{transform:scale(.99)}.ticket-card-icon{background:var(--soft);color:var(--brand);height:46px;width:40px;display:grid;place-items:center;border-radius:11px;flex:none}.ticket-card-copy{flex:1;min-width:0}.ticket-card-copy>strong{display:block;font-size:16px;overflow-wrap:anywhere}.ticket-card-copy>small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.receipt-status{font-size:10px;display:inline-block;line-height:1.45;color:var(--muted);margin:6px 0 0}.receipt-status.confirmed{color:var(--brand)}.receipt-status.partial,.receipt-status.review{color:var(--brand)}.receipt-status.void{text-decoration:line-through}.ticket-card-amount{font-size:16px;font-weight:650;display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none}.ticket-card-amount .icon{width:17px;color:var(--muted)}.ticket-page{max-width:760px;margin:auto}.ticket-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.ticket-heading>div:first-child{min-width:0}.ticket-heading h1{font-size:28px;line-height:1.1;overflow-wrap:anywhere;margin:7px 0}.ticket-heading p{font-size:11px;line-height:1.5;color:var(--muted)}.ticket-total{flex:none;text-align:right}.ticket-total span{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.ticket-total strong{display:block;font-size:29px;letter-spacing:-.7px}.ticket-workflow{display:flex;gap:14px;align-items:center;font-size:11px;color:var(--muted);margin:16px 0}.ticket-workflow .done{color:var(--brand)}.ticket-panel{padding:17px 18px;border:1px solid var(--line);border-radius:17px;background:var(--panel);margin:13px 0}.ticket-panel h2{font-size:15px}.ticket-panel h2 small{color:var(--muted);font-size:11px;margin-left:5px}.ticket-panel>.between>.btn{font-size:11px;padding:8px;min-height:40px}.ticket-photos{display:flex;gap:10px;overflow-x:auto;align-items:flex-start;padding:12px 0 7px}.photo-cell{flex:none;width:92px}.photo-thumb{display:block;position:relative;width:92px;height:116px;border:1px solid var(--line);border-radius:10px;padding:0;overflow:hidden;background:var(--bg);cursor:pointer}.photo-thumb img{height:100%;width:100%;object-fit:cover;color:var(--muted);font-size:10px}.photo-thumb span{position:absolute;left:5px;bottom:5px;font-size:10px;background:var(--ink);color:var(--panel);border-radius:6px;padding:3px 7px}.photo-order{display:flex;justify-content:space-between}.photo-order .iconbtn{min-width:42px;width:42px;height:38px}.photo-add{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:116px;flex:none;gap:4px;padding:0 4px}.photo-add .btn{font-size:12px;padding:9px 12px;cursor:pointer;min-height:44px}.photo-add .btn:focus-within{outline:2px solid var(--brand);outline-offset:2px}.read-ticket-action{display:flex;gap:12px;align-items:center;margin-top:13px}.read-ticket-action>.btn{flex:none;font-size:12px}.read-ticket-action>.helper{font-size:10px}.ticket-session{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted);margin:12px 0}.ticket-session .icon{width:16px;flex:none}.receipt-lines{margin-top:10px}.receipt-line{display:flex;align-items:center;gap:9px;text-align:left;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:11px 0;color:var(--ink);min-height:61px;cursor:pointer}.receipt-line:last-child{border-bottom:0}.receipt-line-state{flex:none;color:var(--muted);width:20px}.receipt-line-state .icon{width:18px;height:18px}.receipt-line.reviewed .receipt-line-state{color:var(--brand)}.receipt-line-copy{flex:1;min-width:0}.receipt-line-copy strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.receipt-line-copy small{display:block;font-size:10px;line-height:1.45;color:var(--muted);margin-top:3px}.receipt-line-amount{flex:none;font-size:13px;font-weight:650;text-align:right}.receipt-line-amount small{display:block;color:var(--muted);font-size:9px;font-weight:400;margin-top:4px}.receipt-math{margin:12px 0}.receipt-math>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;line-height:1.5;padding:6px 0}.receipt-math dt{color:var(--muted)}.receipt-math dd{margin:0;font-variant-numeric:tabular-nums;font-weight:650;flex:none}.receipt-math .balanced,.receipt-math .unbalanced{border-top:1px solid var(--line);margin-top:8px;padding-top:12px}.receipt-math .balanced dt,.receipt-math .balanced dd{color:var(--brand)}.receipt-math .unbalanced dd{color:var(--error)}fieldset{border:0;padding:0;margin:0;min-width:0}.ticket-details{border-top:1px solid var(--line);margin-top:9px}.ticket-details summary{font-size:12px;min-height:44px;line-height:1.5}.ticket-details .field{margin-top:8px}.warning-text{color:var(--error)!important}.adjustment-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 40px;align-items:center;gap:5px;margin:6px 0}.adjustment-row input:not([type=checkbox]){min-height:44px;font-size:13px;padding:10px}.adjustment-row .iconbtn{min-width:40px;width:40px}.confirm-total{padding:12px 0 22px}.confirm-total strong{font-size:35px;display:block;letter-spacing:-1px}.confirm-total span{display:block;font-size:12px;color:var(--muted);margin-top:8px}.crop-preview{width:100%;height:min(46vh,440px);display:flex;justify-content:center;align-items:center;background:var(--bg);border-radius:12px;border:1px solid var(--line);overflow:hidden}.crop-preview img{max-width:100%;max-height:100%;object-fit:contain}.crop-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.crop-controls label{font-size:11px;color:var(--muted)}.crop-controls input[type=range]{min-height:36px;margin:0;border:0;padding:0;width:100%;accent-color:var(--brand)}.crop-controls output{float:right}.alias-row{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.alias-row>span{flex:1;min-width:0}.alias-row strong{display:block;font-size:13px;overflow-wrap:anywhere}.alias-row small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:4px}.config-example{font-size:12px;line-height:1.8;background:var(--bg);padding:15px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere}.sr-only{position:absolute!important;left:0!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
@media(max-width:600px){.review-main{grid-template-columns:minmax(0,1fr) 82px 36px;gap:4px}.review-main .iconbtn{min-width:36px;width:36px}.review-main input:not([type=checkbox]){padding:8px 8px;font-size:13px}.compact-review .review-row{padding:6px 0}.sheet-body{padding:15px 15px 18px}.sheet-head{padding-left:16px;padding-right:16px}.sheet-footer{padding-left:16px;padding-right:16px}.item-main{min-height:56px;padding:8px 5px 8px 11px}.list-top h1{font-size:26px}.list-meta{margin-top:8px}.shopping-info{padding:12px 14px}.compact-tools .btn{font-size:12px;min-height:44px}.list-page .section{margin-top:10px}.ticket-title{display:block}.ticket-title>.btn{margin-top:14px}.ticket-card{padding:14px 12px;gap:10px}.ticket-card-icon{width:33px;height:40px}.ticket-card-copy>strong{font-size:14px}.ticket-card-amount{font-size:14px}.ticket-heading{align-items:flex-start;gap:10px}.ticket-heading h1{font-size:24px}.ticket-total{padding-top:13px}.ticket-total strong{font-size:24px}.ticket-panel{padding:13px}.ticket-panel h2{font-size:14px}.ticket-workflow{gap:12px;font-size:10px}.read-ticket-action{align-items:flex-start;flex-direction:column;gap:7px}.receipt-line{gap:7px}.receipt-line-copy strong{font-size:12px}.receipt-line-amount{font-size:12px}.ticket-page .backline{margin-bottom:7px}.photo-cell,.photo-thumb{width:80px}.photo-thumb{height:106px}.photo-order .iconbtn{min-width:38px;width:38px}.receipt-reconciliation .helper{font-size:10px}.segmented .btn{padding:8px 10px;font-size:11px}.ticket-title p{max-width:40ch}.ticket-list{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.ticket-card,.sort-row{transition:none!important}}

/* Densidad de filas: la altura mínima pertenece también al contenedor. */
.item{min-height:56px}
/* 0.21: documentos y conexión. Sin tarjetas altas por línea de producto. */
.pdf-documents{display:grid;gap:8px;margin-top:12px}.pdf-document{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line,#deded5)}.pdf-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;height:44px;border:1px solid var(--line,#deded5);border-radius:10px;font-size:12px;font-weight:800;letter-spacing:.04em}.pdf-copy{flex:1;min-width:0}.pdf-copy strong,.pdf-copy small{display:block;overflow-wrap:anywhere}.pdf-copy strong{font-size:14px}.pdf-copy small{font-size:12px;opacity:.7;margin-top:3px}.pdf-import{justify-self:start;margin-top:4px;cursor:pointer}.pdf-summary{display:flex;gap:12px;align-items:center}.pdf-summary>div{min-width:0;overflow-wrap:anywhere}.ai-intro{margin-bottom:18px}.ai-intro h3{font-size:20px;margin-top:10px}.ai-model-fields{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px}.ai-model-fields select{width:100%;min-width:0}.ai-connection{border-top:1px solid var(--line,#deded5);padding-top:18px;margin-top:18px}.ai-account{display:flex;align-items:center;gap:12px}.ai-account>div{min-width:0}.ai-account strong,.ai-account small{display:block;overflow-wrap:anywhere}.ai-account small{margin-top:4px;opacity:.7}.ai-device h3{margin:12px 0 8px}.ai-code{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:16px 0;padding:12px;border:1px solid var(--line,#deded5);border-radius:12px}.ai-code code{font-size:24px;letter-spacing:.08em;font-weight:700;user-select:all}.ai-device a{margin-bottom:12px;text-decoration:none}.ai-device .helper{margin-bottom:10px}.ai-usage{display:grid;gap:8px;margin:14px 0}.ai-usage>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;font-size:13px}.ai-usage small{width:100%;opacity:.7}.ai-connection .notice p{font-size:13px;margin-top:6px}#ai-settings-form>.helper{margin:8px 0}#sheet:has(.ai-intro){max-width:600px}@media(max-width:360px){.ai-model-fields{grid-template-columns:1fr}.ai-code code{font-size:21px}}

/* 0.3 — historial compacto, importes con origen y estimación de la lista. */
.history-page{max-width:1100px;margin:auto;animation:sheetin 150ms ease-out}.hist-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px}.hist-heading h1{margin:8px 0}.hist-heading p:not(.eyebrow){font-size:13px}.hist-filters{display:grid;grid-template-columns:minmax(210px,1.3fr) minmax(160px,1fr) 85px;gap:10px;margin-bottom:16px;align-items:end}.hist-period{display:flex;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:0 4px;min-height:50px}.hist-period input[type=month]{margin:0;border:0;background:transparent;min-width:0;padding:10px 0;font-size:14px;text-align:center;flex:1}.hist-period .iconbtn{width:38px;min-width:38px;height:48px}.hist-filter-label{font-size:10px;color:var(--muted);font-weight:600}.hist-filter-label select,.hist-filter-label input{margin-top:4px;font-size:13px;padding:12px 10px;background:var(--panel)}.hist-more-filters{grid-column:1/-1;border-bottom:1px solid var(--line)}.hist-more-filters summary{padding:7px 0;min-height:34px;font-size:11px;color:var(--muted)}.hist-search-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.hist-search-grid .field{margin-bottom:8px}.hist-search-grid .btn{margin-bottom:8px}.hist-tabs{margin-bottom:18px}.hist-tabs .btn{min-height:42px;flex:1}.hist-hero{border:1px solid var(--line);background:var(--green-soft);border-radius:22px;padding:24px 26px}.hist-hero-top,.hist-hero-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center}.hist-total{font-size:clamp(32px,5vw,50px);font-weight:730;letter-spacing:-1.5px;line-height:1.2;margin:12px 0 6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hist-hero>p{text-transform:capitalize;font-size:12px}.hist-hero-bottom{border-top:1px solid var(--line);margin-top:18px;padding-top:13px;font-size:11px;color:var(--muted);flex-wrap:wrap}.hist-quality{display:flex;align-items:center;flex-wrap:wrap;gap:13px;font-size:11px;color:var(--muted);padding:15px 2px}.hist-quality>span{display:flex;align-items:center;gap:5px}.hist-quality .icon{width:15px;height:15px}.hist-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hist-months,.hist-explanation{grid-column:1/-1}.hist-months h2,.hist-explanation h2{margin-bottom:0}.hist-month-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;padding-top:20px;margin-bottom:8px}.hist-bar{background:none;border:0;padding:0 4px;display:flex;flex-direction:column;align-items:stretch;min-width:0;cursor:pointer;border-radius:8px;color:var(--muted)}.hist-bar-amount{font-size:11px;white-space:nowrap;margin-bottom:8px}.hist-bar-track{display:block;position:relative;height:110px;margin:0 auto;width:min(100%,54px)}.hist-bar-fill{position:absolute;left:0;right:0;background:var(--green);opacity:.7;border-radius:6px 6px 0 0;transition:height 160ms ease-out}.hist-bar.selected .hist-bar-fill{background:var(--brand);opacity:1}.hist-bar.selected .hist-bar-amount,.hist-bar.selected .hist-bar-label{color:var(--ink);font-weight:700}.hist-zero{position:absolute;left:-4px;right:-4px;height:1px;background:var(--line);z-index:1}.hist-bar-fill.negative{background:var(--error);border-radius:0 0 6px 6px}.hist-missing-mark{position:absolute;bottom:15px;left:0;right:0;border:1px dashed var(--line);border-radius:5px;font-size:16px;padding:8px 0}.hist-bar-label{text-transform:capitalize;margin-top:10px;font-size:11px}.hist-bucket{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:12px 0 10px;color:var(--ink)}.hist-bucket:last-child{border-bottom:0;padding-bottom:0}.hist-bucket .between{font-size:12px;gap:10px;align-items:flex-start}.hist-bucket strong{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.hist-bucket small{font-size:10px;display:block;margin-top:4px;color:var(--muted)}.hist-bucket-track{display:block;background:var(--bg);height:4px;margin-top:8px;border-radius:3px;overflow:hidden}.hist-bucket-track>span{display:block;height:100%;background:var(--green);border-radius:3px}.hist-bucket-track>.negative{background:var(--brand)}.hist-math{margin-top:14px}.hist-math>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px;align-items:baseline}.hist-math dd{font-weight:680;white-space:nowrap;margin:0;font-variant-numeric:tabular-nums}.hist-math>div:last-child{border-bottom:0}.hist-empty{padding:32px 12px;text-align:center;max-width:540px;margin:auto}.hist-empty>.icon{height:35px;width:35px;color:var(--green);margin-bottom:13px}.hist-empty h2{font-size:19px;margin:8px 0}.hist-empty p{font-size:12px;line-height:1.7}.hist-empty .btn{margin-top:18px}.hist-purchases,.hist-products{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}.hist-purchase,.hist-product-card,.hist-estimate-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);padding:16px;min-width:0}.hist-purchase:last-child,.hist-product-card:last-child{border-bottom:0}.hist-purchase:hover,.hist-product-card:hover{background:var(--green-soft)}.hist-row-icon{display:flex;width:36px;min-width:36px;height:38px;border-radius:10px;background:var(--green-soft);align-items:center;justify-content:center;color:var(--green)}.hist-row-icon .icon{width:21px;height:21px}.hist-row-copy{min-width:0;flex:1}.hist-row-copy strong{display:block;font-size:14px;overflow-wrap:anywhere}.hist-row-copy small{display:block;font-size:10px;line-height:1.55;margin-top:3px;color:var(--muted)}.hist-row-price{display:flex;flex-direction:column;align-items:flex-end;flex:none;max-width:43%;gap:5px;font-variant-numeric:tabular-nums}.hist-row-price strong{font-size:14px;overflow-wrap:anywhere;text-align:right}.hist-row-price small{font-size:10px;color:var(--muted)}.hist-row-price>.icon{width:15px;height:15px;color:var(--muted)}.hist-product-heading h1{font-size:31px;margin:9px 0;overflow-wrap:anywhere}.hist-product-heading>p:last-child{font-size:12px}.hist-product-filters{display:grid;grid-template-columns:1.3fr 80px 1fr;gap:9px;margin:20px 0 8px}.hist-last-price{font-size:34px;letter-spacing:-1px;font-weight:700;margin:15px 0 9px;overflow-wrap:anywhere}.hist-product-stats{margin-top:16px}.hist-linechart{margin:14px -6px 10px}.hist-linechart svg{width:100%;height:auto;display:block;overflow:visible}.hist-linechart text{fill:var(--muted);font-size:11px;font-family:inherit}.chart-axis,.chart-guide{stroke:var(--line);stroke-width:1}.chart-guide{stroke-dasharray:3 4}.chart-price-line{stroke:var(--brand);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:var(--brand);stroke:var(--panel);stroke-width:1.5}.hist-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;padding-top:16px;border-top:1px solid var(--line)}.hist-metric-grid small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.hist-metric-grid strong{font-size:15px;overflow-wrap:anywhere}.hist-observation{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;width:100%;text-align:left;border:0;background:none;color:var(--ink);border-bottom:1px solid var(--line)}.hist-observation:last-child{border-bottom:0}.hist-observation>span:first-child{min-width:0;flex:1}.hist-observation strong{font-size:13px}.hist-observation small{display:block;font-size:10px;line-height:1.55;color:var(--muted);margin-top:4px}.hist-receipt-head h2{font-size:22px;margin-top:8px}.hist-receipt-head>strong{display:block;font-size:32px;margin:10px 0 12px}.hist-detail-lines{margin-top:18px}.hist-detail-lines>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.hist-detail-lines strong{font-size:12px}.hist-detail-lines small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.hist-estimate-card{border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0 15px;background:var(--panel)}.hist-estimate-card .hist-row-copy strong{font-size:12px}.hist-estimate-card>.icon{width:17px;flex:none}.hist-estimate-total{background:var(--green-soft);padding:18px;border-radius:16px;margin:10px 0}.hist-estimate-total>span{font-size:11px}.hist-estimate-total>strong{display:block;font-size:30px;margin:7px 0;letter-spacing:-.8px}.hist-estimate-total small{display:block;font-size:11px;color:var(--muted);line-height:1.5}.hist-estimate-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.hist-estimate-row>span:first-child{min-width:0;flex:1}.hist-estimate-row strong{font-size:12px}.hist-estimate-row small{display:block;font-size:10px;line-height:1.55;color:var(--muted);margin-top:4px}.hist-estimate-row .btn{padding:5px 8px;font-size:11px;min-height:38px}.hist-estimate-lines{margin-top:10px}
@media(max-width:600px){.hist-heading{margin-bottom:18px}.hist-heading h1{font-size:31px}.hist-heading p:not(.eyebrow){font-size:12px}.hist-filters{grid-template-columns:1fr 76px;gap:8px}.hist-period{grid-column:1/-1}.hist-period input[type=month]{font-size:15px}.hist-hero{padding:20px}.hist-total{font-size:38px}.hist-hero-bottom{font-size:10px;gap:8px}.hist-quality{font-size:10px;gap:12px}.hist-grid{grid-template-columns:1fr;gap:13px}.hist-months,.hist-explanation{grid-column:auto}.hist-month-chart{gap:6px}.hist-bar{padding:0 2px}.hist-bar-amount{font-size:9px}.hist-bar-track{height:94px;width:80%}.hist-bar-label{font-size:10px}.hist-purchase,.hist-product-card{padding:14px 12px;gap:9px}.hist-product-card .hist-row-price{max-width:36%}.hist-row-copy strong{font-size:13px}.hist-row-price strong{font-size:12px}.hist-row-copy small{font-size:10px}.hist-search-grid{grid-template-columns:1fr auto}.hist-search-grid>.field:first-child{grid-column:1/-1}.hist-product-filters{grid-template-columns:1fr 76px}.hist-product-filters>label:last-child{grid-column:1/-1}.hist-last-price{font-size:28px}.hist-product-heading h1{font-size:28px}.hist-product-stats h2{font-size:15px}.hist-metric-grid strong{font-size:13px}.bottom-nav .navbtn{padding-left:7px;padding-right:7px}.hist-hero-top .eyebrow{font-size:9px}.hist-estimate-card .hist-row-icon{display:none}}
@media(max-width:350px){.hist-total{font-size:32px}.hist-purchase>.hist-row-icon,.hist-product-card>.hist-row-icon{display:none}.hist-last-price{font-size:24px}.hist-metric-grid{gap:13px 8px}.hist-bar-amount{font-size:8px}}

/* Keep month captions natural Spanish; native month inputs follow browser locale. */
.hist-hero>p{text-transform:none}

/* 0.4 · Habits: compact rows, no inferred inventory, no additional main tab. */
.habit-home{display:flex;align-items:center;gap:18px;padding:22px 24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin:24px 0}
.habit-home-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;flex:none;background:var(--soft);color:var(--brand)}
.habit-home h2{font-size:19px;margin:5px 0}.habit-home p:not(.eyebrow){font-size:13px;color:var(--muted);margin:0;line-height:1.6}
.habit-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:12px 0 24px}.habit-header h1{font-size:clamp(30px,4vw,44px);letter-spacing:-1.4px;margin:8px 0}.habit-header p:not(.eyebrow){color:var(--muted);font-size:15px}
.habit-overview{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;border-radius:24px;background:var(--soft);border:1px solid var(--line)}
.habit-total{font-size:26px;letter-spacing:-.6px;margin:10px 0}.habit-total strong{font-size:48px;font-weight:700;line-height:1}.habit-overview p{font-size:13px;color:var(--muted);margin:10px 0 0}
.habit-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.habit-tabs{margin:20px 0 14px}.habit-tabs button{font-size:13px;gap:6px;padding:12px 14px}.habit-tabs button span{opacity:.7}
.habit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.habit-row{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:14px 16px;min-width:0}.habit-row-main{display:flex;gap:10px;align-items:center}.habit-category{width:36px;height:36px;flex:none;border-radius:12px;background:var(--bg);display:grid;place-items:center;color:var(--muted)}
.habit-name{appearance:none;background:none;border:0;text-align:left;flex:1;min-width:0;color:var(--ink);cursor:pointer;padding:0;min-height:44px}.habit-name strong{display:block;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.habit-name span{display:block;font-size:11px;margin-top:4px;color:var(--muted)}
.habit-amount{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:6px 8px;font-size:12px;white-space:nowrap;max-width:110px;overflow-wrap:anywhere}.habit-reason{font-size:12px;color:var(--muted);line-height:1.55;margin:10px 0 6px;min-height:36px}.habit-row-foot{display:flex;align-items:center;justify-content:space-between;gap:5px;border-top:1px solid var(--line);padding-top:5px}.habit-date{appearance:none;border:0;background:transparent;padding:0;min-height:44px;color:var(--muted);font-size:11px;text-align:left;display:flex;align-items:center;gap:5px;flex:1;cursor:pointer}.habit-date svg{width:14px;flex:none}.habit-row-foot .row{gap:2px}.habit-row-foot .iconbtn{width:44px;height:44px;min-width:44px}
.habit-footnote{display:flex;gap:10px;margin:24px 0;color:var(--muted);font-size:12px;line-height:1.65}.habit-footnote svg{flex:none;width:18px;margin-top:3px}.habit-footnote p{margin:0}.habit-empty{padding:36px 22px;text-align:center;border:1px dashed var(--line);border-radius:18px}.habit-empty>svg{width:40px;height:40px;color:var(--muted)}.habit-empty h2{font-size:21px;margin:16px 0 10px}.habit-empty p{color:var(--muted);font-size:14px;line-height:1.7;max-width:460px;margin:0 auto 18px}
.habit-last{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border:1px solid var(--line);border-radius:16px}.habit-last strong{font-size:14px}.habit-last p{font-size:12px;color:var(--muted);margin:5px 0 0}
.habit-review-lines{margin-top:20px;border-top:1px solid var(--line)}.habit-review-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}.habit-review-name{display:flex;align-items:center;gap:12px;flex:1;min-width:120px;min-height:44px}.habit-review-name input{width:20px;height:20px;flex:none;accent-color:var(--brand)}.habit-review-name strong{font-size:14px;display:block;overflow-wrap:anywhere}.habit-review-name small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.habit-q{width:105px;flex:none;font-size:11px;color:var(--muted)}.habit-q span{display:block;margin-bottom:4px}.habit-q input{width:100%;height:44px;font-size:14px;box-sizing:border-box}.habit-review-line>p{width:100%;margin:0}
.habit-detail-summary{font-size:16px;line-height:1.6;margin:18px 0}.habit-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px}.habit-detail-grid small{display:block;font-size:11px;color:var(--muted);line-height:1.5}.habit-detail-grid strong{display:block;font-size:15px;margin-top:7px}.habit-source{border-bottom:1px solid var(--line);padding:12px 0;display:flex;gap:10px;align-items:center;justify-content:space-between}.habit-source strong{display:block;font-size:13px}.habit-source small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}.habit-source.is-excluded{opacity:.65}.habit-source-actions{display:flex;align-items:center;flex:none}.habit-source-actions .btn{font-size:12px;padding:8px}.habit-source-actions .iconbtn{width:44px;height:44px}.habit-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.habit-metrics{margin:12px 0}.habit-metrics>div{display:flex;gap:14px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.habit-metrics dt{color:var(--muted)}.habit-metrics dd{margin:0;white-space:nowrap;font-weight:600}
@media(max-width:700px){.habit-grid{grid-template-columns:minmax(0,1fr)}.habit-overview{display:block;padding:22px}.habit-overview>.btn{width:100%;margin-top:18px}.habit-home{padding:18px;gap:12px;flex-wrap:wrap}.habit-home-icon{width:40px;height:40px;border-radius:12px}.habit-home .grow{flex:1;min-width:180px}.habit-home>.btn{width:100%;margin-top:4px}.habit-toolbar{gap:5px}.habit-toolbar .btn{font-size:12px;padding:10px 12px}.habit-tabs button{padding:11px 7px;font-size:11px}.habit-row{padding:12px 14px}.habit-header h1{font-size:32px}.habit-row-main{gap:8px}.habit-category{width:30px;height:34px}.habit-name strong{font-size:14px}.habit-amount{font-size:11px}.habit-detail-grid{padding:13px;gap:10px}.habit-detail-grid strong{font-size:13px}.habit-source-actions .btn{padding:6px}.habit-q{width:98px}}
@media(prefers-reduced-motion:no-preference){.habit-row{transition:border-color 150ms ease-out}.habit-row:hover{border-color:var(--muted)}.habit-name:active{transform:scale(.99)}@keyframes habit-appear{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:none}}}
[data-reduced=true] .habit-row{animation:none}

/* Resumen ligero: el móvil muestra productos, no solo una cabecera. */
@media(max-width:700px){
.habit-page .backline{margin-bottom:0}.habit-header{margin:4px 0 14px}.habit-header h1{font-size:29px;margin:6px 0}.habit-header p:not(.eyebrow){font-size:13px;margin:6px 0;line-height:1.45}
.habit-overview{display:flex;gap:10px;padding:14px 16px;border-radius:18px}.habit-overview>div{min-width:0}.habit-overview .eyebrow{font-size:9px;letter-spacing:1px}.habit-total{font-size:18px;margin:7px 0 0;white-space:nowrap}.habit-total strong{font-size:32px}.habit-overview p{display:none}.habit-overview>.btn{width:auto;flex:none;margin:0;padding:12px 10px;font-size:12px;gap:5px}.habit-overview>.btn svg{width:16px;height:16px}
.habit-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.habit-toolbar .btn{min-width:0;padding:8px;font-size:11px;line-height:1.45}.habit-toolbar .btn svg{width:17px;flex:none}
.habit-tabs{margin:12px 0}.habit-tabs button{padding:9px 5px;min-height:44px}
.habit-reason{min-height:0;margin:7px 0;font-size:11px}.habit-row{padding:10px 12px}.habit-grid{gap:9px}
.habit-review-line{padding:9px 0}.habit-q>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.habit-q input{font-size:14px!important;padding:9px 10px}
}

/* 0.5 — compact, source-first comparison; no horizontally scrolling price wall. */
.cmp-entry{display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin:10px 0}.cmp-entry>div{min-width:0;flex:1}.cmp-entry strong{font-size:13px;display:block}.cmp-entry small{display:block;font-size:11px;margin-top:3px}.cmp-entry>.icon{color:var(--brand)}.cmp-entry .btn{padding:10px;font-size:12px}
.cmp-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:6px 0 18px}.cmp-heading h1{font-size:34px;margin:8px 0}.cmp-heading p:not(.eyebrow){font-size:13px}.cmp-filters{display:grid;grid-template-columns:minmax(0,1fr) 94px;gap:12px}.cmp-filters label{font-size:11px;color:var(--muted)}.cmp-filters select{display:block;width:100%;min-width:0;margin-top:4px;height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}.cmp-policy{display:flex;gap:5px 12px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin:12px 0}.cmp-policy span{display:inline-flex;align-items:center;gap:4px}.cmp-policy svg{width:13px;height:13px}.cmp-tabs{margin:12px 0}.cmp-tabs button{font-size:13px;min-height:44px;padding:10px 6px}.cmp-summary{display:flex;align-items:center;gap:14px;padding:18px;background:var(--green-soft);border-radius:17px;margin:16px 0}.cmp-summary>div{min-width:0}.cmp-summary h2{font-size:19px;margin:6px 0}.cmp-summary p:not(.eyebrow){font-size:13px;color:var(--ink);line-height:1.55;overflow-wrap:anywhere}.cmp-summary-icon{color:var(--green);flex:none}.cmp-summary-icon svg{width:30px;height:30px}.cmp-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.cmp-toolbar .btn{font-size:12px;padding:10px 12px}
.cmp-store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cmp-store-card{appearance:none;text-align:left;display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:17px}.cmp-store-card>.between{width:100%;gap:8px}.cmp-store-card>.between strong{font-size:14px;overflow-wrap:anywhere}.cmp-store-card .icon{width:17px;height:17px}.cmp-card-total{font-size:30px;font-weight:700;letter-spacing:-1px;margin:14px 0 1px}.cmp-card-label{font-size:11px;color:var(--muted);line-height:1.5}.cmp-coverage{background:var(--line);height:4px;border-radius:4px;width:100%;margin:16px 0 8px;overflow:hidden}.cmp-coverage>span{height:100%;background:var(--brand);display:block}.cmp-store-card.cmp-complete .cmp-coverage>span{background:var(--green)}.cmp-card-foot{font-size:11px;color:var(--muted)}.cmp-common{padding:16px;border:1px solid var(--line);border-radius:14px;margin:16px 0}.cmp-common summary{font-size:13px;min-height:26px}.cmp-common p{font-size:12px;line-height:1.65;margin:8px 0}.cmp-common .between{padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}
.cmp-multi{margin:20px 0;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.cmp-multi h2{font-size:18px}.cmp-plan{appearance:none;background:transparent;border:0;border-bottom:1px solid var(--line);padding:14px 0;display:flex;align-items:center;text-align:left;gap:8px;width:100%;min-width:0}.cmp-plan strong{display:block;font-size:13px}.cmp-plan small{display:block;margin-top:5px;font-size:11px;line-height:1.55}.cmp-plan>svg{width:16px}.cmp-simple{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cmp-simple strong{font-size:13px}.cmp-simple p{font-size:12px;margin-top:3px}.cmp-simple .btn{font-size:12px;padding:10px}.cmp-items{margin:22px 0}.cmp-items h2{font-size:18px}.cmp-items>.helper{margin:9px 0}.cmp-item{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:11px 0}.cmp-item strong{display:block;font-size:13px;overflow-wrap:anywhere}.cmp-item small{display:block;font-size:11px;line-height:1.6;margin-top:2px}.cmp-item .btn{font-size:11px;padding:8px;gap:4px;min-height:44px}.cmp-item .btn svg{width:16px}
.cmp-disclaimer{display:flex;gap:9px;margin:24px 0}.cmp-disclaimer svg{width:17px;height:17px;flex:none;color:var(--muted);margin-top:2px}.cmp-disclaimer p{font-size:11px;line-height:1.7}.cmp-empty{text-align:center;padding:30px 20px;border:1px dashed var(--line);border-radius:16px;margin-top:16px}.cmp-empty>svg{width:36px;height:36px;color:var(--muted)}.cmp-empty h2{font-size:20px;margin:14px 0 8px}.cmp-empty p{font-size:13px;line-height:1.7;max-width:450px;margin:0 auto}.cmp-empty .btn{margin-top:18px}
.cmp-detail-total{padding:16px;background:var(--green-soft);border-radius:14px}.cmp-detail-total>span{font-size:12px;color:var(--muted)}.cmp-detail-total>strong{display:block;font-size:30px;letter-spacing:-1px;margin:8px 0}.cmp-detail-total small{display:block;font-size:12px;line-height:1.6}.cmp-detail-line{padding:14px 0;border-bottom:1px solid var(--line)}.cmp-detail-line strong{font-size:13px;overflow-wrap:anywhere}.cmp-detail-line .between>strong:last-child{white-space:nowrap}.cmp-detail-line small{display:block;font-size:11px;margin-top:5px;line-height:1.65}.cmp-detail-line .btn{font-size:11px;padding:8px;margin-top:5px}.cmp-detail-line .btn svg{width:16px}.cmp-search{display:flex;gap:8px;margin:16px 0}.cmp-search>input{flex:1;min-width:0;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:var(--panel);color:var(--ink);height:44px}.cmp-search .btn{font-size:12px;padding:10px 12px}.cmp-product{display:flex;width:100%;align-items:center;gap:12px;padding:14px 0;appearance:none;border:0;border-bottom:1px solid var(--line);text-align:left;background:transparent;min-height:70px}.cmp-product strong{display:block;font-size:14px}.cmp-product small{display:block;font-size:11px;margin-top:4px}.cmp-product>svg{width:17px}.cmp-product-price{padding:17px 0;border-bottom:1px solid var(--line)}.cmp-product-price strong{font-size:13px;overflow-wrap:anywhere}.cmp-product-price .between{align-items:flex-start;flex-wrap:wrap;gap:6px}.cmp-product-price p{font-size:11px;line-height:1.65;margin-top:5px}.cmp-product-price .btn{font-size:11px;padding:8px 0;margin-top:5px}
.cmp-caption{font-size:12px;line-height:1.65;margin:16px 0}.cmp-alerts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cmp-alert{display:flex;align-items:center;gap:10px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:15px;text-align:left;min-width:0}.cmp-alert-icon{width:30px;height:36px;background:var(--soft);color:var(--brand);border-radius:9px;display:grid;place-items:center;flex:none}.cmp-alert.down .cmp-alert-icon{background:var(--green-soft);color:var(--green)}.cmp-alert-icon svg{width:17px}.cmp-alert strong{font-size:13px;display:block;overflow-wrap:anywhere}.cmp-alert small{display:block;font-size:10px;margin-top:5px}.cmp-alert-label{font-size:10px;color:var(--muted);display:block;margin-top:5px;line-height:1.4}.cmp-alert .cmp-delta{font-size:14px;flex:none;white-space:nowrap}.cmp-alert-source{padding:17px 0;border-bottom:1px solid var(--line)}.cmp-alert-source h2{margin:8px 0}.cmp-alert-source .btn{padding:8px 0;font-size:12px;margin-top:8px}
.cmp-relations-intro{margin:18px 0}.cmp-relations-intro h2{font-size:20px}.cmp-relations-intro p{font-size:13px;line-height:1.7;margin:10px 0 16px}.cmp-relations-intro .btn{font-size:13px}.cmp-relation{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:14px 0}.cmp-relation strong{display:block;font-size:13px;overflow-wrap:anywhere}.cmp-relation small{display:block;font-size:11px;margin-top:5px;line-height:1.5}.cmp-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.cmp-settings-grid .field{font-size:12px;min-width:0}.cmp-settings-grid input,.cmp-settings-grid select{width:100%;min-width:0}.cmp-settings-grid .field input{height:44px}
@media(max-width:700px){.cmp-page>.backline{margin-bottom:0}.cmp-heading{margin:4px 0 14px;align-items:flex-start}.cmp-heading h1{font-size:28px;margin:6px 0}.cmp-heading .eyebrow{font-size:9px}.cmp-heading p:not(.eyebrow){font-size:12px;line-height:1.5}.cmp-tabs button{font-size:11px}.cmp-summary{padding:14px;gap:10px;margin:14px 0}.cmp-summary h2{font-size:17px}.cmp-summary p:not(.eyebrow){font-size:12px}.cmp-summary .eyebrow{font-size:8px;letter-spacing:.8px}.cmp-summary-icon svg{width:24px;height:24px}.cmp-store-grid{grid-template-columns:minmax(0,1fr);gap:9px}.cmp-store-card{padding:13px 15px;position:relative}.cmp-card-total{font-size:26px;margin:8px 0 1px}.cmp-coverage{margin:10px 0 6px}.cmp-card-label{font-size:10px}.cmp-toolbar{gap:5px;margin:10px 0}.cmp-toolbar .btn{font-size:11px;padding:8px 9px;gap:5px}.cmp-toolbar .btn svg{width:16px}.cmp-multi{padding:14px}.cmp-alerts{grid-template-columns:minmax(0,1fr)}.cmp-alert{padding:12px}.cmp-settings-grid{gap:7px 10px}.cmp-entry{padding:10px 12px;gap:9px}.cmp-entry .btn{padding:8px;gap:4px}.cmp-entry strong{font-size:12px}.cmp-entry small{font-size:10px}.cmp-simple .btn{gap:4px}.cmp-relations-intro h2{font-size:19px}}
@media(prefers-reduced-motion:no-preference){.cmp-store-card,.cmp-alert{transition:border-color 150ms ease-out,transform 130ms ease-out}.cmp-store-card:hover,.cmp-alert:hover{border-color:var(--muted)}.cmp-store-card:active,.cmp-alert:active{transform:scale(.994)}}
[data-reduced=true] .cmp-store-card,[data-reduced=true] .cmp-alert{transition:none;transform:none}

/* 0.51. Catalogue: dense rows, clear levels; no full-photo shopping cards. */
.cat-tabs{display:flex;gap:4px;flex-wrap:wrap}.cat-tabs .btn{padding:10px 13px;font-size:13px;min-height:42px}.cat-tabs .selected{background:var(--ink);color:var(--bg)}
.cat-toolbar{margin-bottom:22px}.cat-mother-card{width:100%;display:flex;align-items:center;gap:14px;text-align:left;margin:0 0 10px;border:1px solid var(--line);cursor:pointer}.cat-mother-card strong{display:block;font-size:17px}.cat-mother-card small{display:block;color:var(--muted);margin-top:4px}
.cat-product-row{display:flex;align-items:center;gap:12px;padding:10px 0;min-height:68px;border-bottom:1px solid var(--line)}.cat-product-row:last-child{border-bottom:0}
.cat-row-main{flex:1;min-width:0;border:0;background:none;color:inherit;text-align:left;padding:6px 0;cursor:pointer}.cat-row-main strong{display:block;font-size:15px;overflow-wrap:anywhere}.cat-row-main small{display:block;color:var(--muted);font-size:12px;margin-top:4px;line-height:1.45;overflow-wrap:anywhere}
.cat-thumb{width:46px;height:46px;flex:0 0 46px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--soft);overflow:hidden;color:var(--muted)}.cat-thumb img{width:100%;height:100%;object-fit:contain;visibility:hidden}.cat-thumb img.loaded{visibility:visible}.cat-thumb.large{width:108px;height:108px;flex-basis:108px}
.item .cat-thumb{width:34px;height:34px;flex-basis:34px;border-radius:7px}.cat-need-hint{font-size:11px!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-pill{font-size:11px;line-height:1.3;background:var(--soft);color:var(--muted);padding:5px 8px;border-radius:7px;display:inline-flex;align-items:center;margin:2px;max-width:100%;overflow-wrap:anywhere}.cat-pill.preferred,.cat-pill.accepted{background:#e4efe4;color:#275739}.cat-pill.blocked{background:#fbe9e3;color:#853b2b}.cat-pill.waiting{background:#f7edce;color:#775620}
.cat-actions{display:flex;flex-wrap:wrap;gap:8px}.cat-actions .btn{font-size:13px}.cat-format-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:0 0 8px 58px}.cat-format-actions .btn{font-size:12px;padding:8px;min-height:38px}.cat-format{border-bottom:1px solid var(--line)}.cat-format .cat-product-row{border-bottom:0}
.cat-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cat-form .checkline,.cat-toolbar .checkline{display:flex;align-items:center;gap:10px;line-height:1.5;font-size:13px;margin:14px 0}.cat-form input[type=checkbox],.cat-toolbar input[type=checkbox]{width:20px;height:20px;flex-shrink:0}.cat-form .field{margin-bottom:14px}.cat-form [hidden]{display:none!important}
.cat-detail-hero{display:flex;gap:18px;align-items:center}.cat-choice-options{max-height:350px;overflow:auto;overscroll-behavior:contain;border-top:1px solid var(--line);margin-top:16px}
.cat-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.cat-photo-card{border:1px solid var(--line);border-radius:14px;overflow:hidden}.cat-photo-card>img{width:100%;height:180px;object-fit:contain;background:var(--soft)}.cat-photo-card>div{padding:12px}.cat-photo-preview{background:var(--soft);border-radius:12px;margin:12px 0}.cat-photo-preview img{display:block;max-width:100%;max-height:280px;object-fit:contain;margin:auto}.cat-audit-text{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:55vh;overflow:auto}.cat-ticket-identity{display:flex;align-items:center;gap:10px;padding:12px 0;font-size:14px}.cat-ticket-identity small{display:block;color:var(--muted);margin-top:4px}
.cat-home-panel{background:var(--soft)}
[data-theme=dark] .cat-pill.preferred,[data-theme=dark] .cat-pill.accepted{background:#254835;color:#bbdfc2}[data-theme=dark] .cat-pill.blocked{background:#56352e;color:#f2c1b5}
@media(max-width:520px){.cat-mother-card{padding:15px}.cat-mother-card strong{font-size:15px}.cat-tabs{gap:3px}.cat-tabs .btn{font-size:12px;padding:8px 10px}.cat-product-row{gap:9px}.cat-format-actions{padding-left:55px}.cat-row-main strong{font-size:14px}.cat-actions .btn{padding:10px}.cat-toolbar>.row{align-items:end}.cat-two{gap:8px}.cat-toolbar .checkline{font-size:11px;max-width:95px}.cat-gallery{grid-template-columns:1fr}.cat-detail-hero .large{width:84px;height:84px;flex-basis:84px}.cat-form input,.cat-form select{min-width:0}.cat-product-row>.cat-pill{max-width:76px}.page-title h1{overflow-wrap:anywhere}}

/* Catalogue identity never selects a mother image implicitly. */
.cat-quote-identity{display:flex;align-items:center;gap:10px;margin:6px 0}.cat-quote-identity>div{min-width:0}.cat-quote-identity .cat-thumb{flex:none}.cat-quote-identity small{display:block;overflow-wrap:anywhere}

.cat-mother-title{margin-bottom:14px}.cat-mother-title>.btn{padding-left:0;min-height:40px}.cat-mother-title .eyebrow{margin-top:6px}.cat-mother-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:580px}.cat-mother-tools .btn{justify-content:flex-start;min-width:0}
@media(max-width:520px){.cat-mother-title h1{font-size:26px;line-height:1.15;letter-spacing:-.8px}.cat-mother-tools .btn{font-size:12px;padding:9px;min-height:48px}.cat-mother-tools+.helper{margin-top:12px}}

/* 0.6 · Despensa opcional. Saldo, procedencia y acciones compactos. */
.pan-heading{display:flex;justify-content:space-between;gap:12px;margin:4px 0 18px}.pan-heading h1{font-size:clamp(27px,3.4vw,38px);margin:7px 0;overflow-wrap:anywhere}.pan-heading p:not(.eyebrow){font-size:13px}.pan-summary{display:flex;gap:12px;background:var(--green-soft);border:1px solid var(--line);border-radius:18px;padding:14px 18px}.pan-summary>div{flex:1;min-width:0}.pan-summary strong{display:block;font-size:25px;line-height:1.15}.pan-summary span{font-size:11px;color:var(--muted)}.pan-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.pan-toolbar .btn{font-size:12px;padding:10px 12px}.pan-tabs{margin:14px 0 10px;overflow-x:auto}.pan-tabs button{padding:10px 9px;min-height:44px;white-space:nowrap;font-size:12px}.pan-search{display:flex;gap:8px;margin:10px 0 14px}.pan-search input{width:100%;min-width:0}.pan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pan-row{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-width:0;overflow:hidden}.pan-row-main{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;text-align:left;padding:12px 12px 7px}.pan-thumb{display:grid;place-items:center;flex:none;width:40px;height:44px;border-radius:10px;background:var(--bg);overflow:hidden;color:var(--muted)}.pan-thumb img{width:100%;height:100%;object-fit:contain}.pan-copy{flex:1;min-width:0}.pan-copy>strong{display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.pan-copy>small{display:block;font-size:10px;line-height:1.5;margin-top:2px}.pan-meta{display:block;color:var(--muted);font-size:10px;margin-top:4px}.pan-value{text-align:right;max-width:36%;overflow-wrap:anywhere;min-width:56px}.pan-value strong{display:block;font-size:14px;line-height:1.3}.pan-value small{display:block;font-size:10px;margin-top:3px}.pan-value.low,.pan-value.none,.pan-value.is-review{color:var(--brand)}.pan-row-actions{display:flex;justify-content:flex-end;gap:5px;padding:0 6px 4px}.pan-row-actions .btn{min-height:40px;font-size:11px;padding:6px 9px}.pan-row-actions .icon{width:16px;height:16px}.pan-empty{padding:32px 18px;border:1px dashed var(--line);border-radius:18px;text-align:center}.pan-empty>svg{width:36px;height:36px;color:var(--muted);margin-bottom:12px}.pan-empty h2{font-size:21px}.pan-empty p{font-size:13px;line-height:1.65;margin:12px 0 18px}.pan-foot{margin-top:20px;font-size:11px;line-height:1.65}.pan-home{display:flex;width:100%;align-items:center;gap:12px;text-align:left;background:var(--green-soft);border:1px solid var(--line);padding:14px 16px;border-radius:16px;margin:16px 0}.pan-home strong,.pan-home small{display:block}.pan-home small{font-size:11px;line-height:1.5;margin-top:4px}.pan-balance{display:flex;align-items:center;gap:16px;padding:18px;background:var(--green-soft);border:1px solid var(--line);border-radius:20px}.pan-balance.is-review{background:var(--soft)}.pan-balance .pan-thumb{width:56px;height:68px;background:var(--panel)}.pan-balance-number{display:block;font-size:30px;letter-spacing:-.8px;line-height:1.3;margin:5px 0;overflow-wrap:anywhere}.pan-balance p:not(.eyebrow){font-size:11px}.pan-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:16px 0 10px}.pan-status-grid .btn{font-size:11px;padding:8px 4px;min-width:0}.pan-status-grid .selected{background:var(--green-soft);border-color:var(--green)}.pan-event{padding:13px 0;border-bottom:1px solid var(--line)}.pan-event .between{align-items:flex-start}.pan-event strong{font-size:13px}.pan-event span{font-size:13px;text-align:right;overflow-wrap:anywhere}.pan-event small{font-size:10px}.pan-event p{font-size:12px;margin-top:6px}.pan-event .btn{min-height:40px;font-size:11px;padding:5px 0}.is-void{opacity:.62}.is-void>div>strong{text-decoration:line-through}.pan-date-row{display:flex;width:100%;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;margin:7px 0;text-align:left;gap:12px}.pan-date-row span{min-width:0}.pan-date-row strong{display:block;font-size:12px;overflow-wrap:anywhere}.pan-date-row small{display:block;font-size:10px;margin-top:4px;overflow-wrap:anywhere}.pan-date-banner{display:flex;gap:10px;align-items:center;width:100%;text-align:left;padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:12px;font-size:12px}.pan-date-banner span{flex:1;min-width:0}.pan-intake-row{display:flex;gap:9px;align-items:center;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:13px 0;text-align:left}.pan-intake-row strong{display:block;font-size:13px;overflow-wrap:anywhere}.pan-intake-row small{display:block;font-size:10px;margin-top:4px}.pan-intake-row>span:not(.grow):not(.pan-thumb){font-size:12px;max-width:26%;overflow-wrap:anywhere}.pan-intake-row>.icon{width:15px;height:15px}.pan-intake-title{display:flex;align-items:center;gap:13px}.pan-intake-title p{font-size:11px;margin-top:5px}.pan-group{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:15px}.pan-group h3{font-size:15px;overflow-wrap:anywhere}.pan-group-links{margin-top:8px}.pan-group-links .btn{font-size:12px;padding:8px 0;display:flex;text-align:left;justify-content:flex-start}.pan-detail .section-heading{margin-top:24px;margin-bottom:8px}.pan-detail .section-heading h2{font-size:19px}
@media(max-width:800px){.pan-grid{grid-template-columns:1fr}.pan-heading{margin-bottom:14px}.pan-heading h1{font-size:29px}.pan-detail .pan-heading h1{font-size:27px}.pan-summary{gap:8px;padding:12px 14px}.pan-summary strong{font-size:23px}.pan-summary span{font-size:10px}.pan-toolbar>.btn{flex:1}.pan-tabs button{font-size:11px;padding:9px 8px}.pan-copy>strong{font-size:13px}.pan-row-main{padding:10px 11px 5px}.pan-row-actions{padding-bottom:2px}.pan-value strong{font-size:13px}.pan-balance-number{font-size:27px}}
@media(max-width:350px){.pan-thumb{width:32px;height:38px}.pan-row-main{gap:7px}.pan-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pan-heading h1{font-size:26px}.pan-toolbar{gap:6px}.pan-toolbar .btn{font-size:11px;padding:8px}.pan-toolbar .btn .icon{width:17px}.pan-summary span{font-size:9px}.pan-tabs button{font-size:10px;padding:9px 6px}}

/* The inventory list keeps preparation controls compact without tiny touch targets. */
.pan-page .backline{margin-bottom:5px}.pan-page .pan-heading{margin:0 0 10px;align-items:center}.pan-page .pan-heading h1{margin:2px 0 4px;font-size:29px}.pan-page .pan-summary{padding:10px 14px}.pan-page .pan-toolbar{margin:10px 0}.pan-page .pan-tabs{margin:9px 0 7px}.pan-page .pan-search{margin:7px 0 10px}.pan-page .pan-date-banner{padding:10px 12px;min-height:44px}.pan-row-actions .btn{min-height:44px}.pan-date-row:disabled{cursor:default}
/* 0.7 · Assistant and in-app automation inbox; follows the existing tokens. */
.as-page{max-width:1000px;margin:0 auto}.as-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:12px 0 20px}.as-heading h1{margin:7px 0}.as-heading>div{min-width:0}.as-heading .pill{white-space:nowrap;margin-top:12px}.as-home-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;margin:20px 0;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.as-home-card .helper{margin:4px 0 0}.as-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0}.as-toolbar .btn{min-height:44px}.as-composer{margin:16px 0}.as-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.as-context .field{min-width:0}.as-context input,.as-context select{width:100%;min-width:0}.as-question textarea{min-height:100px;resize:vertical}.as-prompts{margin:18px 0}.as-prompts .chip{font-size:13px}.as-welcome{text-align:center;padding:38px 20px;color:var(--muted)}.as-welcome>.icon{width:34px;height:34px}.as-welcome h2{margin:15px 0 8px;color:var(--ink)}.as-answer{margin:20px 0}.as-answer h2{margin:12px 0}.as-main-answer{font-size:20px;line-height:1.45;overflow-wrap:anywhere}.as-result-rows{margin:18px 0}.as-result-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.as-result-row>span{min-width:0;overflow-wrap:anywhere}.as-result-row strong{text-align:right;max-width:56%;overflow-wrap:anywhere}.as-sources{margin:16px 0;padding-top:12px;border-top:1px solid var(--line)}.as-sources summary{cursor:pointer;padding:10px 0;font-weight:650}.as-sources .btn{justify-content:flex-start;white-space:normal;text-align:left}.as-journal{margin:22px 0}.as-journal-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.as-journal-row small{display:block;color:var(--muted);margin-top:4px}.as-review-list{margin-top:16px}.as-review-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.as-review-row>.grow{min-width:0}.as-check{padding:10px 2px}.as-check input{width:22px;height:22px}.as-review-row .eyebrow{display:block;font-size:10px;margin-bottom:7px}.as-review-row input:not([type=checkbox]){width:100%;min-width:0}.as-review-fields{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px}.as-review-fields .field{margin:8px 0 0}.as-review-fields input,.as-review-fields select{padding:9px 10px;min-height:42px}.as-data-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;border-radius:12px;background:var(--bg);max-height:240px;overflow:auto}.as-remote{margin:16px 0}.auto-status{display:flex;align-items:flex-start;gap:14px;margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:16px}.auto-status>div{flex:1;min-width:0}.auto-status .helper{margin:6px 0 0}.auto-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.auto-rule{min-width:0}.auto-rule h2{margin:12px 0 6px;overflow-wrap:anywhere}.auto-rule .as-toolbar{margin-bottom:0}.auto-schedule{font-size:18px;font-weight:650;margin:0 0 8px}.auto-inbox{margin:18px 0;display:grid;gap:10px}.auto-run{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px;color:var(--ink);cursor:pointer}.auto-run.is-new{border-left:4px solid var(--brand)}.auto-run>.grow{min-width:0}.auto-run strong{display:block;font-size:16px}.auto-run small{display:block;color:var(--muted);margin-top:4px}.auto-run p{font-size:13px;line-height:1.5;margin:8px 0 0;overflow-wrap:anywhere}.auto-delivery{margin:28px 0}.auto-delivery p{line-height:1.6}.auto-tabs{margin-top:20px}
@media(min-width:900px){.as-context{grid-template-columns:1.4fr 1fr .7fr 1.4fr}}@media(max-width:620px){.as-heading{flex-wrap:wrap}.as-heading h1{font-size:30px}.as-home-card{padding:16px;align-items:flex-start}.as-home-card .btn{flex-shrink:0}.as-context{gap:0 10px}.as-composer{padding:16px}.as-main-answer{font-size:18px}.auto-grid{grid-template-columns:1fr}.auto-status{flex-wrap:wrap;padding:14px}.auto-status>.btn{margin-left:46px}.auto-run{padding:15px}.as-result-row{gap:10px}.as-result-row strong{font-size:14px}.as-review-fields{grid-template-columns:90px minmax(0,1fr)}.as-journal-row{align-items:flex-start}.as-journal-row small{font-size:11px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Asistente: filtros secundarios plegados, consulta visible antes de estadísticas. */
.as-filters{margin-bottom:12px;border-bottom:1px solid var(--line)}.as-filters summary{min-height:44px;padding:8px 0;font-size:12px;font-weight:700;cursor:pointer;color:var(--ink)}.as-filters summary span{display:block;font-size:11px;font-weight:400;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.as-filters[open] .as-context{padding-top:8px}.as-composer .as-question{margin-bottom:8px}.as-composer textarea{min-height:80px}.as-page .as-heading{margin-bottom:12px}.as-page .as-heading h1{margin:4px 0}.as-page>.as-toolbar{margin-top:0}.as-page>.as-toolbar .btn{min-height:40px;padding:9px 12px;font-size:12px}.as-filters input[type=month]{font-size:13px;padding-left:8px;padding-right:8px}.as-filters .field{font-size:11px}
@media(max-width:620px){.as-page .as-heading{gap:8px}.as-heading .pill{margin:0}.as-heading p:not(.eyebrow){font-size:13px}.as-main-answer{font-weight:650;color:var(--ink)}.as-review-row{padding:10px 0}.as-review-row input:not([type=checkbox]){min-height:42px}.as-result-rows{font-size:13px}.as-home-card p{font-size:12px}}

.as-itemline{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:8px}.as-itemline input{margin:0;padding:9px 10px;min-height:44px;font-size:14px}.as-itemline strong{font-size:14px;overflow-wrap:anywhere}.as-review-row .as-category{margin:6px 0 0;padding:7px 10px;min-height:40px;font-size:12px}.as-review-row .eyebrow{font-size:9px;margin-bottom:4px}.as-review-list{margin-top:10px}

/* Programador: explicación a ancho útil en móvil, nunca una columna estrecha. */
@media(max-width:620px){.auto-status{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px 12px}.auto-status>.btn{grid-column:2;margin-left:0;justify-self:start;padding:8px 0;min-height:40px}.auto-status>.category-dot{width:28px;height:28px}.auto-status>div{min-width:0}.auto-status .helper{font-size:12px;line-height:1.55}}

/* 0.8: compact shared rounds. Stable rows; no disappearing cards on collection. */
.fam-page{max-width:1050px;margin:auto}.fam-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.fam-heading h1{overflow-wrap:anywhere}.fam-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px 0}.fam-summary>div{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px;min-width:0}.fam-summary strong{display:block;font-size:32px;line-height:1.2}.fam-summary strong small{font-size:17px;color:var(--muted)}.fam-summary span{font-size:12px;color:var(--muted);display:block;margin-top:8px}.fam-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.fam-presence{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin:0 0 16px}.fam-presence svg{width:16px;height:16px;flex-shrink:0}.fam-trip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px}.fam-trip-card{border:1px solid var(--line);background:var(--panel);padding:16px;border-radius:18px;min-width:0}.fam-trip-card h3{margin:16px 0 8px;overflow-wrap:anywhere}.fam-trip-card p{margin-bottom:12px;font-size:13px}.fam-person{font-size:12px;text-align:right;overflow-wrap:anywhere}.fam-filter{font-size:11px;display:flex;align-items:center;gap:6px;color:var(--muted)}.fam-filter select{max-width:132px;min-height:44px;padding:8px;font-size:12px}.fam-needs{margin-top:24px}.fam-need,.fam-request{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);min-width:0}.fam-need strong,.fam-request strong{display:block;font-size:14px;overflow-wrap:anywhere}.fam-need small,.fam-request small{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.fam-need-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.fam-need-actions .btn{font-size:12px;padding:8px}.fam-source{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;width:100%;min-height:56px;margin:8px 0;color:var(--ink)}.fam-source small,.fam-log small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.fam-log{border:1px solid var(--line);border-radius:16px;padding:16px}.fam-log summary{cursor:pointer;font-weight:700;min-height:28px}.fam-log>div{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.fam-shop{max-width:850px}.fam-section{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:20px 0 8px}.fam-shopping-row .item{border-radius:0;margin:0;border-width:0 0 1px}.fam-shopping-row .item-main{min-height:65px}.fam-shopping-row .quantity{flex-shrink:0;max-width:120px;overflow-wrap:anywhere}.fam-shopping-row .item-main[disabled]{opacity:1;cursor:default}.fam-shopping-row .product-note{white-space:normal}.fam-row-detail{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 4px 42px;color:var(--muted);min-height:30px}.fam-row-detail small{overflow-wrap:anywhere}.fam-row-detail .btn{min-height:36px;font-size:12px;padding:6px}.fam-comfortable .fam-shopping-row .item-main{min-height:82px;font-size:18px}.fam-comfortable .product-name{font-size:18px}.fam-review>div{padding:10px 0;border-bottom:1px solid var(--line)}.fam-review span{display:block;font-size:12px;color:var(--muted)}.fam-entry{margin-top:12px}
@media(max-width:540px){.fam-summary{gap:7px;padding:16px 0}.fam-summary>div{padding:13px 10px;border-radius:14px}.fam-summary strong{font-size:25px}.fam-heading{display:block}.fam-heading>.btn{margin-top:8px}.fam-trip-grid{grid-template-columns:1fr}.fam-need .cat-thumb{width:32px;height:32px;flex-basis:32px}.fam-need-actions{flex-direction:column}.fam-need-actions .iconbtn{min-height:36px;min-width:44px;height:36px}.fam-shopping-row .quantity{font-size:13px;max-width:100px}.fam-row-detail{padding-left:8px}.fam-filter{flex-direction:column;align-items:flex-end}.fam-toolbar .fam-filter{margin-left:auto}.fam-source strong{overflow-wrap:anywhere}.fam-needs .section-heading small{font-size:11px}}
.fam-shop .shopping-info{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap}.fam-shop .shopping-info>span{font-size:12px;color:var(--muted)}

/* Fase 13: acciones contextuales y vuelta al formulario del catálogo. */
.cat-heading{gap:12px;flex-wrap:wrap}.cat-heading>.btn{min-height:44px;white-space:normal;text-align:left}
.cat-link-button{min-height:44px;flex-shrink:0;padding:9px 11px;font-size:12px}
.cat-destination{border:1px solid var(--line);border-radius:14px;padding:14px;margin:16px 0;min-width:0}
.cat-destination legend{font-size:12px;font-weight:650;padding:0 6px}.cat-secondary-flow{white-space:normal;text-align:left;min-height:44px;margin-bottom:12px;font-size:12px;max-width:100%}
.cat-unlinked-row .cat-row-main>.cat-pill{display:inline-block;margin-top:6px;font-size:10px}.cat-unlinked-row>.cat-thumb{width:38px;height:38px;flex-basis:38px}
@media(max-width:400px){.cat-unlinked-row{gap:6px}.cat-heading>.btn{font-size:12px;padding:10px 12px}.cat-destination{padding:12px}.cat-form .cat-secondary-flow{padding:8px 0}}

/* Fase 15 — ficha contextual. Same modal, same shopping position. */
.pc-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.86rem;margin-bottom:14px}
.pc-card{padding:16px;border:1px solid var(--line);border-radius:16px;margin:12px 0;background:var(--panel)}
.pc-card h3{font-size:1rem;margin:0 0 6px}.pc-selected{font-weight:650;margin:8px 0}.pc-card .helper{margin:10px 0;line-height:1.5}
.pc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pc-grid .btn{white-space:normal;text-align:left;justify-content:flex-start;padding:10px;font-size:.87rem;min-height:44px}
.pc-origin-note{font-size:.86rem;padding:10px 12px;border-left:3px solid var(--brand);background:var(--panel);border-radius:8px;margin:0 0 14px;line-height:1.5}
.pc-trigger{flex-shrink:0;min-width:44px;min-height:44px}.pc-trigger svg{width:18px;height:18px}
.pc-protected{margin:10px 0}.pc-protected summary{font-weight:650;cursor:pointer}.pc-protected input[readonly]{opacity:.8;cursor:default}
@media(max-width:360px){.pc-card{padding:12px}.pc-grid .btn{padding:8px;font-size:.82rem}.pc-card .cat-detail-hero{gap:10px}}

.pc-trigger{display:flex;flex-direction:column;gap:1px;width:48px;height:48px;min-width:48px;font-size:9px;font-weight:650}.pc-trigger span{line-height:12px}

/* Fase 16: marca y envase mantienen identidad visual independiente. */
.cat-brand-thumb{background:#fff;color:#34493a;border:1px solid var(--line);padding:4px}.cat-brand-thumb img{object-fit:contain}.cat-brand-initial{font-size:14px;font-weight:700;letter-spacing:.02em}.cat-brand-thumb.large .cat-brand-initial{font-size:28px}
.cat-brand-badge{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink);padding:3px 0;text-align:left;max-width:100%;cursor:pointer;min-height:44px}.cat-brand-badge .cat-thumb{width:36px;height:36px;flex-basis:36px}.cat-brand-badge>span:last-child{min-width:0}.cat-brand-badge strong{font-size:13px;overflow-wrap:anywhere}.cat-brand-badge small{display:block;color:var(--muted);font-size:10px}
.cat-brand-options{display:flex;gap:8px;flex-wrap:wrap}.cat-brand-options[hidden]{display:none}.cat-brand-choice{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--panel);color:var(--ink);text-align:left;min-height:60px;max-width:100%;cursor:pointer}.cat-brand-choice span{min-width:0}.cat-brand-choice strong{display:block;font-size:13px;overflow-wrap:anywhere}.cat-brand-choice small{display:block;color:var(--muted);font-size:11px}.cat-brand-choice.selected{outline:2px solid var(--brand);outline-offset:1px}.cat-brand-photo>img,.cat-brand-photo.cat-photo-preview{background:#fff}.cat-brand-choice:focus-visible,.cat-brand-badge:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:420px){.cat-brand-choice{flex:1 1 145px}.cat-brand-badge strong{font-size:12px}}

/* Marca ancha legible sin convertir la lista en tarjetas de producto. */
[data-brand-row]>.cat-brand-thumb{width:72px;flex-basis:72px;height:46px}.cat-brand-badge .cat-brand-thumb{width:52px;flex-basis:52px}.cat-brand-choice .cat-brand-thumb{width:62px;flex-basis:62px}.cat-brand-photo>img{height:128px;max-height:128px;object-fit:contain;padding:12px}

/* Fase 17 · Autocompletado doméstico. El input nunca se sustituye al actualizar opciones. */
.lc-composer{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:16px;margin:16px 0;min-width:0}
.lc-label{font-weight:700;font-size:16px;display:block;margin-bottom:10px}
.lc-input-row{display:flex;gap:8px;align-items:center;min-width:0}.lc-input-row>span{display:flex;color:var(--muted);flex:none}.lc-input-row>span svg{width:19px;height:19px}.lc-input-row>input{min-width:0;flex:1;background:var(--input,var(--soft));border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:12px;font:inherit;height:48px}.lc-input-row .btn{font-size:12px;padding:10px;flex:none;min-height:44px}.lc-help{margin:8px 0 0;font-size:11px;line-height:1.5}
.lc-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0 6px}.lc-heading strong{font-size:13px}.lc-heading strong>span{font-size:11px;font-weight:400;color:var(--muted);margin-left:5px}.lc-heading .btn{font-size:11px;min-height:44px;padding:8px 10px}
.lc-options{min-width:0;max-width:100%;display:flex;gap:10px;overflow-x:auto;padding:3px 3px 10px;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
.lc-option{font:inherit;flex:0 0 170px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:13px;color:var(--ink);padding:12px;scroll-snap-align:start;position:relative;cursor:pointer;overflow-wrap:anywhere}
.lc-option>strong{font-size:13px;line-height:1.4}.lc-option>small{font-size:11px;line-height:1.5;color:var(--muted)}.lc-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.35px;color:var(--muted)}
.lc-image{width:72px;height:72px;flex:none;display:grid;place-items:center;position:relative;align-self:center;border-radius:10px;background:var(--panel);margin:4px 0 6px}.lc-image>svg{width:29px;height:29px;color:var(--muted)}.lc-image img{position:absolute;inset:0;object-fit:contain;width:100%;height:100%;opacity:0;border-radius:8px;background:var(--panel)}.lc-image img.loaded{opacity:1}
.lc-reason{font-size:10px;line-height:1.4;color:var(--muted)}.lc-preference{font-size:10px;line-height:1.4;border-radius:7px;padding:3px 6px;background:var(--soft)}.lc-preference.preferred,.lc-preference.accepted{background:var(--green-soft);color:var(--green)}.lc-preference.blocked{border:1px solid var(--line)}.lc-card-action{font-size:11px;font-weight:700;margin-top:auto;padding-top:8px;color:var(--brand)}
.lc-option.blocked{cursor:not-allowed;opacity:.65}.lc-option:focus-visible,.lc-option.keyboard-active,.lc-option.selected{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand)}
.lc-options.list{display:grid;grid-template-columns:minmax(0,1fr);overflow-x:visible}.lc-options.list .lc-option{display:grid;grid-template-columns:52px minmax(0,1fr);gap:3px 10px;min-width:0;align-items:start}.lc-options.list .lc-image{grid-column:1;grid-row:1/6;align-self:center;width:50px;height:58px;margin:0}.lc-options.list .lc-option>:not(.lc-image){grid-column:2}.lc-options.list .lc-preference{justify-self:start}.lc-options.list .lc-card-action{padding-top:2px}
.lc-pages{display:flex;align-items:center;justify-content:space-between;gap:6px}.lc-pages .btn{font-size:11px;min-height:44px;padding:7px 10px}.lc-pages>span{font-size:11px;color:var(--muted)}
.lc-review{margin:12px 0 2px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--green-soft)}.lc-review>.between>strong{font-size:14px}.lc-review .field{margin-top:10px;font-size:12px}.lc-review input{font-size:16px;min-height:46px}.lc-review .helper{font-size:11px;line-height:1.65;margin-top:6px}.lc-review .btn.primary{margin-top:12px;min-height:44px}.lc-review .between svg{width:18px;height:18px}.lc-empty{font-size:12px;line-height:1.7;margin-top:14px;padding:10px 0}.lc-error{margin:8px 0 0;font-size:12px;line-height:1.6}.lc-error:empty{display:none}.lc-sheet{margin:0 0 12px;min-width:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.lc-composer{padding:12px}.lc-input-row{flex-wrap:wrap}.lc-input-row>input{font-size:16px;padding:10px;width:calc(100% - 32px)}.lc-input-row>.btn{margin-left:auto}.lc-option{flex-basis:158px;padding:10px}.lc-options{gap:8px}.lc-review{padding:12px}.lc-sheet .lc-option{flex-basis:155px}}
@media(prefers-reduced-motion:no-preference){.lc-option{transition:border-color 120ms ease-out}.lc-option:hover{border-color:var(--brand)}}
[data-reduced=true] .lc-option{transition:none}

/* La confirmación reemplaza temporalmente las opciones: no alarga la lista bajo el teclado. */
.lc-selecting .lc-heading,.lc-selecting .lc-options,.lc-selecting .lc-pages{display:none}
.lc-review-identity{display:flex;align-items:center;gap:10px;min-width:0}.lc-review-identity .lc-image{width:46px;height:52px;margin:0}.lc-review-identity>span{min-width:0}.lc-review-identity strong{display:block;font-size:14px;overflow-wrap:anywhere}.lc-review-identity .lc-kind{display:block;margin-bottom:4px}

/* Fase 18: explicit, read-only external source explorer. No remote images. */
.source-page{max-width:800px;margin:auto}.source-summary{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px}.source-summary span,.source-readonly{font-size:11px;padding:6px 10px;border:1px solid var(--line);border-radius:20px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.source-summary .icon{width:14px;height:14px}.source-page .panel{padding:18px;margin:15px 0}.source-page h1{font-size:30px;overflow-wrap:anywhere}.source-page h2{font-size:17px}.source-page h3{font-size:18px;line-height:1.35;overflow-wrap:anywhere;margin:8px 0}.source-page .field{margin-top:16px}.source-page input,.source-page select{max-width:100%;font-size:16px}.source-scope{margin-top:8px!important}.source-consent{align-items:flex-start!important;gap:10px;margin:18px 0 10px;line-height:1.55;font-size:13px}.source-consent input{flex:none;margin-top:4px;accent-color:var(--brand)}.source-consent span{min-width:0}.source-form .btn{min-height:44px}.source-empty{padding:12px 4px}.source-card{overflow-wrap:anywhere}.source-card>p{font-size:13px;line-height:1.6}.source-facts{margin:12px 0}.source-facts>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;padding:4px 0;font-size:13px;line-height:1.5}.source-facts dt{color:var(--muted)}.source-facts dd{margin:0}.source-link{display:inline-flex;gap:7px;align-items:center;font-size:12px;color:var(--brand);padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.source-link .icon{width:14px;flex:none}.source-rights,.source-capabilities{margin-top:14px}.source-rights summary,.source-capabilities summary{min-height:44px;font-size:13px;line-height:1.6;cursor:pointer}.source-rights>div,.source-provider-list article,.source-files>div{border-top:1px solid var(--line);padding:14px 0}.source-rights p,.source-files p,.source-provider-list p{font-size:12px;line-height:1.6;margin-top:7px}.source-warning{color:var(--muted);font-size:11px!important;margin-top:12px}.source-files .btn{font-size:12px;white-space:normal;margin-top:8px}.source-page [hidden]{display:none!important}.source-error{border-color:var(--error)}.source-page .notice{font-size:12px;line-height:1.6}.source-page .page-title .btn{margin-left:-10px;margin-bottom:10px}.source-page button:focus-visible,.source-page summary:focus-visible,.source-page a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}

/* Fase 19: local previews, explicit source consent and accessible image review. */
.cat-ext-current{display:flex;align-items:center;gap:12px;margin:16px 0;padding:12px;background:var(--bg);border-radius:16px}
.cat-ext-current>div{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.cat-ext-current .cat-thumb{flex-shrink:0}.cat-ext-current .btn{white-space:normal}
.cat-ext-carousel{display:flex;gap:12px;overflow-x:auto;padding:12px 2px 16px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;max-width:100%;align-items:stretch}
.cat-ext-card{flex:0 0 156px;border:1px solid var(--line,#ddd);border-radius:16px;overflow:hidden;scroll-snap-align:start;background:var(--panel,#fff);min-width:0;display:flex;flex-direction:column}
.cat-ext-image{height:128px;width:100%;border:0;background:var(--bg);padding:10px;display:grid;place-items:center;cursor:pointer;color:inherit;font-size:.78rem}
.cat-ext-image img{width:100%;height:108px;object-fit:contain}.cat-ext-image:disabled{cursor:default}
.cat-ext-card-copy{padding:10px;display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.cat-ext-card-copy strong{font-size:.9rem;overflow-wrap:anywhere;line-height:1.25}.cat-ext-card-copy small{font-size:.73rem;overflow-wrap:anywhere}.cat-ext-card-copy .btn{width:100%;white-space:normal;font-size:.78rem;margin-top:auto;min-height:44px;padding:8px}
.cat-ext-card-copy .helper{font-size:.74rem;line-height:1.35}.cat-ext-card .eyebrow{font-size:.63rem;letter-spacing:.04em}
.cat-attribution{font-size:.82rem;line-height:1.45;margin:10px 0;padding:10px 12px;border:1px solid var(--line,#ddd);border-radius:12px;overflow-wrap:anywhere}
.cat-attribution summary{cursor:pointer;font-weight:600;min-height:44px}.cat-attribution p+p{margin-top:7px}.cat-attribution a{text-decoration:underline;color:inherit}
#cat-ext-root{min-width:0;max-width:100%}#cat-ext-root h3{overflow-wrap:anywhere}#cat-ext-root .field input,#cat-ext-root .field select{min-width:0;width:100%}
.cat-ext-consent{margin-top:12px;align-items:flex-start}.cat-ext-consent input{flex-shrink:0;margin-top:3px}
#cat-ext-output:focus-visible,.cat-ext-carousel:focus-visible,.cat-ext-image:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
@media(max-width:400px){#cat-ext-root .cat-two{grid-template-columns:1fr}.cat-ext-card{flex-basis:142px}.cat-ext-current{padding:8px;gap:8px}.cat-ext-current .btn{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.cat-ext-carousel{scroll-behavior:auto;scroll-snap-type:none}}

/* Fase 20: compact review, same component language as the catalogue. */
.imp-review fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:14px}
.imp-review .field{margin:0}.imp-review .cat-two{align-items:start}
.imp-source{padding:14px 16px;border-radius:16px;background:var(--surface-2,var(--bg));overflow-wrap:anywhere}
.imp-source h3{margin:5px 0}.imp-choice{display:grid;gap:8px;min-width:0}
.imp-format{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px}
.imp-reuse,.imp-neutral{font-size:.86rem;line-height:1.45;margin:0}
.imp-reuse{padding:10px 12px;border-left:3px solid currentColor}
.imp-photo{padding:12px;border:1px solid var(--line);border-radius:14px;min-width:0}
.imp-preview{width:100px;height:110px;object-fit:contain;border-radius:10px}
.imp-list{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px}
.imp-review .checkline{align-items:flex-start;line-height:1.45;font-size:.84rem;gap:10px}
.imp-review .checkline input{flex-shrink:0;margin-top:4px}.imp-review .notice{margin:0}
.imp-review :is(input,select){min-width:0;max-width:100%}.imp-recent .between{gap:12px}
.imp-success h3{margin:8px 0}.imp-success .notice{margin-top:14px}
@media(max-width:450px){.imp-format{grid-template-columns:1.1fr .8fr .9fr;gap:8px}.imp-review .cat-two{grid-template-columns:1fr}.imp-recent .between{align-items:flex-start;flex-wrap:wrap}}

/* Fase 21 · preparación con evidencia, sin cambiar el orden de compra. */
.lp-panel{margin-top:1rem;min-width:0;border-top:1px solid var(--line);padding-top:1rem}
.lp-top,.lp-band-heading,.lp-review-top,.lp-amount-row,.lp-recent-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem}
.lp-top{align-items:flex-start;flex-wrap:wrap}.lp-top h3{font-size:1.1rem;margin:.3rem 0}.lp-eyebrow{font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700}
.lp-intro{max-width:70ch}.lp-band{margin-top:1.25rem;min-width:0}.lp-band-heading{justify-content:flex-start}.lp-band-heading h4{margin:0;font-size:1rem}.lp-band-heading>span{border:1px solid var(--line);border-radius:999px;padding:.1rem .45rem;font-size:.75rem;color:var(--muted)}
.lp-cards{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,280px);gap:.65rem;overflow-x:auto;padding:.2rem .15rem .65rem;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin}
.lp-card{font:inherit;text-align:left;display:flex;align-items:flex-start;gap:.6rem;min-height:170px;min-width:0;max-width:100%;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);cursor:pointer;scroll-snap-align:start}
.lp-card .lc-image{width:48px;height:58px;flex:0 0 48px}.lp-card .lc-image img{width:48px;height:58px}.lp-card-body{display:flex;flex-direction:column;gap:.35rem;min-width:0;overflow-wrap:anywhere}.lp-card-body strong{line-height:1.3;font-size:.88rem}.lp-card-body small{font-size:.72rem;color:var(--muted)}
.lp-reason{font-size:.73rem;line-height:1.4;color:var(--muted)}.lp-quantity{font-size:.78rem;font-weight:600}.lp-cta{font-size:.76rem;font-weight:750;color:var(--brand)}.lp-listed{border-style:dashed}.lp-empty{padding:.7rem .85rem;background:var(--panel);border:1px dashed var(--line);border-radius:12px;font-size:.8rem;color:var(--muted);line-height:1.5}
.lp-review{padding:1rem;border:2px solid var(--brand);border-radius:14px;margin:1rem 0;background:var(--panel)}.lp-review h4{margin:.6rem 0;font-size:1.05rem}.lp-review>p{font-size:.83rem;line-height:1.5}.lp-review label{display:block;font-size:.8rem;font-weight:650;margin:.7rem 0 .35rem}.lp-amount-row{align-items:stretch;flex-wrap:wrap}.lp-amount-row input{min-width:0;flex:1 1 160px;width:100%;font:inherit;border:1px solid var(--line);border-radius:10px;padding:.7rem;background:var(--bg);color:var(--ink)}
.lp-message,.lp-start{font-size:.83rem;line-height:1.5;padding:.7rem .85rem;border-left:3px solid var(--brand);background:var(--panel)}.lp-coverage{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:.7rem}.lp-recent{margin:1rem 0;font-size:.82rem}.lp-recent summary{cursor:pointer;min-height:44px;display:list-item;padding:.65rem 0}.lp-recent-row{padding:.65rem 0;border-top:1px solid var(--line);align-items:flex-start}.lp-recent-row>div{min-width:0;overflow-wrap:anywhere}.lp-recent-row p{font-size:.75rem;margin:.25rem 0;color:var(--muted)}.lp-recent-row .btn{flex-shrink:0}.lp-panel .btn{min-height:44px}.lp-card:focus-visible,.lp-panel input:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
@media(max-width:480px){.lp-top>.btn{padding:.35rem .55rem;font-size:.75rem}.lp-cards{grid-auto-columns:minmax(205px,85%)}.lp-review{padding:.7rem}.lp-amount-row>.btn{width:100%}.lp-recent-row{flex-wrap:wrap}.lp-top h3{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.lp-cards{scroll-behavior:auto}.lp-review,.lp-card{animation:none;transition:none}}

/* Reserve room for the existing fixed action/navigation while reviewing. */
.lp-review{scroll-margin-top:10px;scroll-margin-bottom:180px}

/* Fase 22: keep local review actions clear of the sticky shopping CTA/nav.
   Selection scrolls only after an explicit choice, never while results arrive. */
.lc-review{scroll-margin-top:10px;scroll-margin-bottom:180px}
.lc-review [data-lc-amount],.lc-review [data-action=lc-confirm],.lc-review [data-action=lc-existing]{scroll-margin-bottom:180px}

/* ReponIA: keep the longer wordmark readable without shrinking touch targets. */
.brand-word{white-space:nowrap}.brand-ia{color:var(--brand)}
@media(max-width:420px){.topbar .brand-sub{display:none}.topbar .brand{font-size:25px;gap:8px}}

/* ui/home-first/tokens.css */
/* 24.5.3.1. Exact roles extracted from the approved 24.5.2.1 demo.
   Scoped to shared presentation surfaces, never a global retheme of classic. */
.hf-ui{color-scheme:light;--hf-bg:#fcfcf9;--hf-surface:#fff;--hf-soft:#f0f4ee;--hf-hero:#eef5e9;--hf-ink:#1c2822;--hf-muted:#626e66;--hf-green:#397849;--hf-green-dark:#073e2c;--hf-green-on:#fff;--hf-border:#e7ebe5;--hf-line:#edf0eb;--hf-coral:#bf5138;--hf-focus:#256e95;--hf-nav:rgba(255,255,253,.96);--hf-warning:#805816;--hf-warnbg:#fff3d8;--hf-shadow:0 3px 20px rgb(29 54 33 / 4%);--hf-time:160ms;--hf-route:220ms;--hf-ease:cubic-bezier(.2,.75,.3,1);--hf-target:44px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-synthesis:none }
:root[data-theme=dark] .hf-ui{color-scheme:dark;--hf-bg:#131b17;--hf-surface:#1e2922;--hf-soft:#26372b;--hf-hero:#273b2b;--hf-ink:#f1f5ee;--hf-muted:#b1beb2;--hf-green:#a2c999;--hf-green-dark:#d1e7c8;--hf-green-on:#12241a;--hf-border:#3b493e;--hf-line:#344137;--hf-coral:#f2a78f;--hf-focus:#9ed8f6;--hf-nav:rgba(28,39,32,.97);--hf-warning:#f2ce83;--hf-warnbg:#3b301c;--hf-shadow:0 3px 20px rgb(0 0 0 / 10%)}

/* ui/home-first/components.css */
/* Shared presentation extracted from 24.5.2.1. The demo is the reference, not a dependency.
   All selectors are namespaced; no domain or demo controller is included. */
.hf-ui{box-sizing:border-box;line-height:1.5;font-size:15px;color:var(--hf-ink);background:var(--hf-bg)}
.hf-ui *,.hf-ui *::before,.hf-ui *::after{box-sizing:border-box}
.hf-ui button,.hf-ui a{font-family:inherit;touch-action:manipulation}
.hf-ui button{cursor:pointer}
.hf-ui button:disabled{cursor:not-allowed;opacity:.5}
.hf-ui button:focus-visible,.hf-ui a:focus-visible{outline:3px solid var(--hf-focus);outline-offset:3px}
.hf-ui a{text-decoration:none}
.hf-app-header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:auto;padding:0 28px}
.hf-header-actions{display:flex;align-items:center;gap:8px;min-width:0}
.hf-button,.hf-nav-item,.hf-attention{border:0;background:none}
.hf-ui .icon{width:24px;height:24px;display:inline-block;vertical-align:middle;flex-shrink:0}
.hf-brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--hf-green-dark);border-radius:12px;min-height:48px;padding:0;font-size:34px;font-weight:800;letter-spacing:-1.7px;line-height:1}
.hf-brand .hf-brand-ia{color:#689963;letter-spacing:-1.8px}
.hf-brand .icon{width:30px;height:36px;stroke-width:1.6}
.hf-house-link{display:flex;align-items:center;gap:8px;min-height:48px;color:var(--hf-muted);font-size:13px;padding:0;border-radius:99px}
.hf-avatar{width:40px;height:40px;display:grid;place-items:center;background:#e2eadc;color:#29553a;border:3px solid var(--hf-surface);border-radius:50%;font-size:15px;font-weight:700;flex:none}
.hf-house-link .icon{width:17px}
.hf-house-link-label{font-weight:550}
.hf-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;min-height:78px;padding:7px max(14px,calc((100vw - 750px)/2)) max(7px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-around;background:var(--hf-nav);border-top:1px solid var(--hf-border);box-shadow:0 -3px 20px rgb(22 39 28 / 2%);backdrop-filter:blur(12px)}
.hf-nav-item{min-height:58px;min-width:64px;padding:4px 10px;border-radius:14px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;color:var(--hf-muted);font-size:12px;font-weight:450}
.hf-nav-symbol{position:relative;height:27px;display:grid;place-items:center}
.hf-nav-symbol>.icon{width:25px;height:25px;stroke-width:1.65}
.hf-nav-item[aria-current=page]{color:var(--hf-green);font-weight:650}
.hf-nav-item[aria-current=page] .hf-nav-symbol::before{content:"";position:absolute;inset:-3px -13px;border-radius:100px;background:var(--hf-soft);z-index:-1}
.hf-badge{min-width:17px;height:17px;padding:0 4px;position:absolute;right:-12px;top:-4px;border-radius:12px;display:grid;place-items:center;background:var(--hf-coral);color:#fff;font-size:10px;border:2px solid var(--hf-surface);line-height:1}
.hf-button{min-height:44px;min-width:44px;padding:10px 17px;border-radius:16px;background:transparent;font-weight:600;font-size:14px;line-height:1.3;position:relative}
.hf-button-face{display:flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--hf-time) var(--hf-ease)}
.hf-button:active:not(:disabled)>.hf-button-face{transform:scale(.96)}
.hf-button.hf-primary{background:var(--hf-green);color:var(--hf-green-on);box-shadow:0 3px 8px rgb(38 79 41 / 8%)}
.hf-button.hf-secondary{background:var(--hf-soft);color:var(--hf-green-dark)}
.hf-button.hf-quiet{color:var(--hf-muted)}

.hf-nav-item{font-family:inherit;text-decoration:none}
.hf-nav-label{white-space:nowrap}
.hf-badge{font-weight:450}
.hf-attention{height:48px;min-width:44px;max-width:90px;padding:0 2px;color:var(--hf-warning);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:inherit}
.hf-attention-face{position:relative;height:24px;display:grid;place-items:center}
.hf-attention .icon{width:20px;height:20px}
.hf-attention-label{font-size:10px;line-height:1.4;white-space:nowrap}
.hf-attention[data-severity=error]{color:var(--hf-coral)}
.hf-attention-count{position:absolute;top:-5px;right:-9px;font-size:9px;min-width:13px;height:13px;border-radius:10px;display:grid;place-items:center;background:var(--hf-coral);color:var(--hf-green-on)}
[data-hf-attention-slot]:empty{display:none}
.hf-app-header:has(.hf-attention){gap:8px}
:root[data-theme=dark] .hf-ui .hf-badge{color:#17251c}
:root[data-theme=dark] .hf-ui .hf-brand-ia{color:#a5c99a}
@media(max-width:767px){
 .hf-app-header{height:87px;padding:0 20px}
 .hf-brand{font-size:29px;letter-spacing:-1.3px}
 .hf-brand>.icon{width:25px;height:30px}
 .hf-house-link{gap:5px;font-size:11px}
 .hf-house-link-label{max-width:none;line-height:1.2;white-space:nowrap}
 .hf-house-link .hf-avatar{width:37px;height:37px}
 .hf-house-link>.icon{width:14px}
 .hf-bottom-nav{padding-inline:11px;min-height:75px}
 .hf-nav-item{font-size:11px;min-width:65px}
}
@media(max-width:359px){
 .hf-app-header{padding:0 15px}
 .hf-brand{font-size:26px}
 .hf-brand .icon{width:23px}
 .hf-house-link-label{display:block;font-size:10px;max-width:35px}
 .hf-app-header:has(.hf-attention) .hf-brand{font-size:23px;gap:4px}
 .hf-app-header:has(.hf-attention) .hf-house-link>.icon{display:none}
 .hf-app-header:has(.hf-attention) .hf-house-link{gap:3px}
}
@media(prefers-reduced-motion:reduce){
 .hf-ui *,.hf-ui *::before,.hf-ui *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .hf-button:active>.hf-button-face{transform:none!important}
}
[data-reduced=true] .hf-ui *,[data-reduced=true] .hf-ui *::before,[data-reduced=true] .hf-ui *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
[data-reduced=true] .hf-button:active>.hf-button-face{transform:none!important}
@media(forced-colors:active){.hf-ui button{border:1px solid ButtonText}.hf-nav-item[aria-current=page]{outline:2px solid Highlight}.hf-badge{border-color:CanvasText}.hf-attention{color:LinkText}}

/* navigation-shell.css */
/* 24.5.3.1 — shared approved shell. Screen bodies retain their own renderers.
 * tokens.css/components.css are separately loaded and cached. Classic remains unchanged. */
:root[data-presentation=home-first-navigation] body{background:#fcfcf9}
:root[data-theme=dark][data-presentation=home-first-navigation] body{background:#131b17}
:root[data-presentation=home-first-navigation] #app>.layout{display:block;max-width:1120px;min-height:calc(100dvh - 104px)}
:root[data-presentation=home-first-navigation] #app>.layout>.sidebar{display:none}
:root[data-presentation=home-first-navigation] #main{padding:0 28px calc(150px + env(safe-area-inset-bottom));min-width:0}
.hf-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
#navigation-context-links:empty{display:none}
.rp-settings{margin-top:20px}
.rp-settings .helper{max-width:64ch;font-size:13px;margin:8px 0 12px}
.rp-settings.hf-ui{border-color:var(--hf-border);background:var(--hf-surface);border-radius:22px}
.rp-settings.hf-ui h2{color:var(--hf-ink)}
.rp-settings.hf-ui .helper,.rp-settings.hf-ui a{color:var(--hf-muted)}
.rp-recovery-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;margin-top:8px}
.rp-history-links{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:0 0 18px;color:var(--hf-green)}
.rp-history-links a,.rp-history-links button{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;font-size:13px;min-height:44px;padding:8px 12px;background:var(--hf-surface);color:var(--hf-green);border:1px solid var(--hf-border);border-radius:12px}
.rp-history-links a[aria-current]{background:var(--hf-soft)}
.rp-history-links .icon{width:18px;height:18px}
.rp-profile-dialog{width:min(520px,calc(100vw - 28px));margin:auto;max-height:90dvh;overflow-y:auto;padding:22px;border-radius:24px;background:var(--hf-surface);color:var(--hf-ink)}
.rp-profile-dialog header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rp-profile-dialog header h2{font-size:21px;line-height:1.2}
.rp-profile-dialog p{font-size:14px;line-height:1.5;color:var(--hf-muted);margin:12px 0}
.rp-profile-dialog .rp-profile-help{font-size:12px}
.rp-profile-options{display:grid;gap:10px}
.rp-profile-options button{border:1px solid var(--hf-border);padding:16px 12px;background:var(--hf-surface);color:var(--hf-ink);border-radius:16px;display:flex;align-items:center;gap:10px;text-align:left;min-height:84px}
.rp-profile-options button>span:nth-child(2){flex:1;min-width:0}
.rp-profile-options button[aria-pressed=true]{border-color:var(--hf-green);background:var(--hf-soft)}
.rp-profile-options strong{display:block;font-size:16px}
.rp-profile-options small{display:block;font-size:12px;color:var(--hf-muted);margin-top:5px}
.rp-profile-dialog button:focus-visible{outline:3px solid var(--hf-focus);outline-offset:3px}
.rp-profile-dialog #presentation-status{font-size:13px;font-weight:600}
@media(max-width:767px){:root[data-presentation=home-first-navigation] #main{padding-inline:20px}}
@media(max-width:359px){:root[data-presentation=home-first-navigation] #main{padding-inline:15px}.rp-profile-dialog{padding:16px;width:calc(100vw - 20px)}.rp-profile-dialog header h2{font-size:19px}.rp-history-links a,.rp-history-links button{font-size:12px;padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.rp-profile-dialog *{animation:none!important;transition:none!important;transform:none!important}}
[data-reduced=true] .rp-profile-dialog *{animation:none!important;transition:none!important;transform:none!important}

/* ui/home-first/home.css */
/* 24.5.4 — home regions extracted from the frozen 24.5.2.1 CSS.
   Scoped to the migrated Home only. No global retheme or demo controller. */
.hf-home-view{min-width:0}
.hf-home-view h1,.hf-home-view h2,.hf-home-view h3,.hf-home-view p{margin:0}
.hf-home-view h1{font-size:27px;line-height:1.22;letter-spacing:-.8px;font-weight:730}
.hf-home-view h2{font-size:22px;line-height:1.25;letter-spacing:-.55px;font-weight:720}
.hf-home-view a{color:var(--hf-green)}
.hf-home-view .hf-greeting{display:flex;align-items:center;gap:12px;margin:0 0 27px}
.hf-home-view .hf-sun-mark{color:#b47b20;background:#fff5dd;border-radius:16px;padding:10px;display:grid;place-items:center}
.hf-home-view .hf-sun-mark .icon{width:28px;height:28px}
.hf-home-view .hf-greeting h1{font-size:26px;font-weight:700;letter-spacing:-.7px}
.hf-home-view .hf-greeting p{font-size:14px;color:var(--hf-muted);margin-top:4px}
.hf-home-view .hf-hero{position:relative;background:linear-gradient(112deg,var(--hf-hero),var(--hf-soft));border:1px solid transparent;border-radius:28px;padding:24px 28px;margin-bottom:34px;display:grid;grid-template-columns:1fr 230px;gap:12px 28px;isolation:isolate;overflow:hidden}
.hf-home-view .hf-hero::after{content:"";position:absolute;width:290px;height:290px;border-radius:50%;background:var(--hf-green);opacity:.04;right:-100px;top:-115px;z-index:-1}
.hf-home-view .hf-hero-heading{display:flex;gap:15px;align-items:center;min-width:0}
.hf-home-view .hf-cart-mark{height:60px;width:60px;display:grid;place-items:center;border-radius:50%;background:#cee1c5;color:#114e32;flex:none}
.hf-home-view .hf-cart-mark .icon{width:32px;height:32px}
.hf-home-view .hf-hero h2{font-size:22px;letter-spacing:-.5px;overflow-wrap:anywhere}
.hf-home-view .hf-hero-count{font-size:24px;font-weight:660;letter-spacing:-.45px;color:var(--hf-coral);margin-top:3px}
.hf-home-view .hf-hero-caption{color:var(--hf-muted);font-size:12px;margin-top:1px}
.hf-home-view .hf-hero-products{display:flex;align-items:center;gap:10px;min-height:68px;grid-column:1;max-width:100%;overflow:hidden}
.hf-home-view .hf-hero-products .hf-product-image{width:58px;height:64px;flex:none;border-radius:10px;background:transparent}
.hf-home-view .hf-hero-products img{mix-blend-mode:multiply}
.hf-home-view .hf-more-products{border-radius:50%;width:40px;height:40px;display:grid;place-items:center;background:var(--hf-border);color:var(--hf-muted);font-size:14px;flex:none}
.hf-home-view .hf-hero-action{grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;justify-content:center;gap:16px;border-left:1px solid var(--hf-border);padding-left:28px}
.hf-home-view .hf-hero-activity{font-size:13px;color:var(--hf-muted);text-align:center}
.hf-home-view .hf-button{min-height:44px;min-width:44px;padding:10px 17px;border-radius:16px;background:transparent;font-weight:600;font-size:14px;line-height:1.3;position:relative}
.hf-home-view .hf-button-face{display:flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--hf-time) var(--hf-ease)}
.hf-home-view .hf-button:active:not(:disabled)>.hf-button-face{transform:scale(.96)}
.hf-home-view .hf-button.hf-primary{background:var(--hf-green);color:var(--hf-green-on);box-shadow:0 3px 8px rgb(38 79 41 / 8%)}
.hf-home-view .hf-button.hf-secondary{background:var(--hf-soft);color:var(--hf-green-dark)}
.hf-home-view .hf-button.hf-quiet{color:var(--hf-muted)}
.hf-home-view .hf-hero-action .hf-button{font-size:17px;border-radius:21px;min-height:54px}
.hf-home-view .hf-button.hf-text-link{display:inline-flex;padding:0 2px;color:var(--hf-muted);font-size:13px;font-weight:500;white-space:nowrap}
.hf-home-view .hf-text-link .icon{width:16px;height:16px}
.hf-home-view .hf-button:hover:not(:disabled){filter:brightness(.97)}
.hf-home-view .hf-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px}
.hf-home-view .hf-section-heading p{font-size:13px;color:var(--hf-muted);margin-top:5px}
.hf-home-view .hf-spark{color:var(--hf-coral);display:inline-flex;vertical-align:middle}
.hf-home-view .hf-spark .icon{width:18px;height:18px;fill:currentColor;stroke-width:1.2}
.hf-home-view .hf-shelf{margin-bottom:28px;position:relative;min-width:0}
.hf-home-view .hf-rail{display:grid;grid-auto-flow:column;grid-auto-columns:176px;gap:12px;margin:0;padding:4px 2px 9px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--hf-border) transparent;list-style:none;overscroll-behavior-x:contain}
.hf-home-view .hf-rail:focus-visible{outline-offset:1px}
.hf-home-view .hf-product-card{border:1px solid var(--hf-border);border-radius:22px;padding:12px 12px 9px;background:var(--hf-surface);box-shadow:var(--hf-shadow);scroll-snap-align:start;min-width:0;display:flex;flex-direction:column;position:relative}
.hf-home-view .hf-product-detail{padding:0;display:flex;flex-direction:column;text-align:left;align-items:stretch;color:var(--hf-ink);border-radius:12px}
.hf-home-view .hf-product-image{width:100%;height:128px;background:#fff;border-radius:12px;display:grid;place-items:center;position:relative;overflow:hidden;flex:none}
.hf-home-view .hf-product-image img{width:100%;height:100%;object-fit:contain;max-height:100%;display:block;transition:opacity var(--hf-time)}
.hf-home-view .hf-product-image.hf-small{width:52px;height:54px;border-radius:10px}
.hf-home-view .hf-product-image[data-empty=true],.hf-home-view .hf-product-image[data-error=true]{background:var(--hf-soft);color:var(--hf-muted)}
.hf-home-view .hf-product-image>.icon{width:33px;height:33px;stroke-width:1.2}
.hf-home-view .hf-image-fallback{display:none}
.hf-home-view .hf-product-image[data-error=true]>.hf-image-fallback{display:grid;place-items:center}
.hf-home-view .hf-product-image[data-error=true]>img{display:none}
.hf-home-view .hf-product-name{display:block;min-height:43px;line-height:1.35;font-size:15px;font-weight:580;letter-spacing:-.22px;margin-top:9px;overflow-wrap:anywhere}
.hf-home-view .hf-card-bottom{margin-top:auto;padding-top:9px;display:flex;justify-content:space-between;align-items:center;gap:6px}
.hf-home-view .hf-format{color:var(--hf-muted);font-size:12px;line-height:1.35;min-width:0}
.hf-home-view .hf-in-list-note{font-size:10px;line-height:1.3;color:var(--hf-green);margin-top:4px;min-height:13px}
.hf-home-view .hf-compact .hf-rail{grid-auto-columns:154px}
.hf-home-view .hf-compact .hf-product-image{height:104px}
.hf-home-view .hf-compact .hf-product-name{min-height:23px;font-size:14px}
.hf-home-view .hf-rail-navigation{display:flex;position:absolute;right:0;bottom:-32px;gap:4px;opacity:0;pointer-events:none}
.hf-home-view .hf-shelf:focus-within .hf-rail-navigation,.hf-home-view .hf-shelf:hover .hf-rail-navigation{opacity:1;pointer-events:auto}
.hf-home-view .hf-rail-navigation .hf-button{background:var(--hf-surface);box-shadow:var(--hf-shadow)}
.hf-home-view .hf-family-band{margin-top:12px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:21px;background:var(--hf-soft);font-size:14px}
.hf-home-view .hf-family-band p{flex:1}
.hf-home-view .hf-family-band small{font-size:12px}
.hf-home-view .hf-family-band>button{flex:none}
@media (min-width:1000px){
.hf-home-view .hf-home-rails{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
.hf-home-view .hf-home-rails .hf-rail,.hf-home-view .hf-home-rails .hf-compact .hf-rail{grid-auto-columns:158px}
.hf-home-view .hf-home-rails .hf-compact .hf-product-image{height:128px}
.hf-home-view .hf-home-rails .hf-compact .hf-product-name{min-height:43px}
.hf-home-view .hf-home-rails .hf-compact .hf-product-card{padding-bottom:22px}
.hf-home-view .hf-family-band{max-width:660px}
}
@media (max-width:767px){
.hf-home-view .hf-greeting{margin-bottom:21px;gap:10px}
.hf-home-view .hf-greeting h1{font-size:21px;letter-spacing:-.55px}
.hf-home-view .hf-greeting p{font-size:12px;margin-top:3px}
.hf-home-view .hf-sun-mark{padding:7px;border-radius:12px}
.hf-home-view .hf-sun-mark>.icon{width:23px;height:23px}
.hf-home-view .hf-hero{display:block;padding:18px;border-radius:25px;margin-bottom:28px}
.hf-home-view .hf-hero-heading{gap:11px}
.hf-home-view .hf-cart-mark{width:47px;height:47px}
.hf-home-view .hf-cart-mark>.icon{width:28px;height:28px}
.hf-home-view .hf-hero h2{font-size:18px;line-height:1.3;letter-spacing:-.4px}
.hf-home-view .hf-hero-count{font-size:21px;margin-top:1px}
.hf-home-view .hf-hero-caption{font-size:11px}
.hf-home-view .hf-hero-products{gap:7px;margin:7px 0 12px;min-height:51px}
.hf-home-view .hf-hero-products .hf-product-image{width:43px;height:49px}
.hf-home-view .hf-more-products{width:35px;height:35px;font-size:12px}
.hf-home-view .hf-hero-action{padding:0;border:0;gap:0}
.hf-home-view .hf-hero-action .hf-button{min-height:48px;font-size:16px;border-radius:18px;width:100%}
.hf-home-view .hf-hero-activity{display:none}
.hf-home-view .hf-section-heading{margin-bottom:11px;gap:5px}
.hf-home-view .hf-section-heading h2{font-size:20px;letter-spacing:-.5px}
.hf-home-view .hf-section-heading p{font-size:12px;margin-top:4px}
.hf-home-view .hf-section-heading .hf-button.hf-text-link{font-size:12px;min-width:auto}
.hf-home-view .hf-text-link .hf-button-face{gap:2px}
.hf-home-view .hf-text-link .icon{width:15px}
.hf-home-view .hf-spark .icon{width:16px}
.hf-home-view .hf-rail{grid-auto-columns:154px;gap:10px;margin-left:-2px;margin-right:-20px;padding-right:20px;scrollbar-width:none}
.hf-home-view .hf-product-card{padding:10px 10px 9px;border-radius:21px}
.hf-home-view .hf-product-image{height:118px}
.hf-home-view .hf-product-name{font-size:14px;min-height:39px;margin-top:6px}
.hf-home-view .hf-card-bottom{padding-top:6px}
.hf-home-view .hf-format{font-size:11px}
.hf-home-view .hf-compact .hf-rail{grid-auto-columns:137px}
.hf-home-view .hf-compact .hf-product-image{height:98px}
.hf-home-view .hf-compact .hf-product-name{font-size:13px}
.hf-home-view .hf-compact .hf-card-bottom{gap:3px}
.hf-home-view .hf-in-list-note{font-size:10px}
.hf-home-view .hf-shelf{margin-bottom:24px}
.hf-home-view .hf-rail-navigation{display:none}
.hf-home-view .hf-family-band{padding:12px;border-radius:19px;font-size:12px;gap:9px}
.hf-home-view .hf-family-band small{font-size:11px}
.hf-home-view .hf-family-band>.hf-button{padding:0}
}
@media (max-width:359px){
.hf-home-view .hf-greeting h1{font-size:19px}
.hf-home-view .hf-greeting p{font-size:11px}
.hf-home-view .hf-hero{padding:15px}
.hf-home-view .hf-hero h2{font-size:16px}
.hf-home-view .hf-section-heading h2{font-size:18px}
.hf-home-view .hf-section-heading .hf-text-link{font-size:11px}
.hf-home-view .hf-rail{grid-auto-columns:144px;margin-right:-15px;padding-right:15px}
.hf-home-view .hf-compact .hf-rail{grid-auto-columns:134px}
.hf-home-view .hf-hero-products{gap:5px}
.hf-home-view .hf-hero-products .hf-product-image{width:39px}
}
@media (prefers-reduced-motion:reduce){
.hf-home-view .hf-button:active>.hf-button-face{transform:none!important}
}
@media (forced-colors:active){
.hf-home-view .hf-product-card,.hf-home-view .hf-hero{border:1px solid ButtonText}
}
.hf-home-view .hf-hero-products .hf-product-image{overflow:hidden}
.hf-home-view .hf-hero-action .hf-button-face{flex-direction:row-reverse}
.hf-home-view .hf-hero-count{font-variant-numeric:tabular-nums}
.hf-home-view .hf-product-card{align-self:stretch}

/* Read-only differences: no inactive add button, but retain the card geometry. */
.hf-home-view .hf-card-bottom{min-height:53px}
.hf-home-view .hf-hero-action .hf-button{display:flex;align-items:center;justify-content:center;text-align:center}
.hf-home-view .hf-hero-action .hf-primary{color:var(--hf-green-on)}
.hf-home-view .hf-product-image>img{position:absolute;inset:0;opacity:0}
.hf-home-view .hf-product-image[data-empty=false]>img{opacity:1}
.hf-home-view .hf-product-image[data-empty=false]>.icon{visibility:hidden}
.hf-home-view .hf-product-image[data-empty=false]{background:#fff}
.hf-home-view .hf-hero-products .hf-product-image[data-empty=false]{background:transparent}
.hf-home-view .hf-list-selector{margin:-24px 0 12px;display:flex;justify-content:flex-end}
.hf-home-view .hf-list-selector .hf-button{font-size:12px;min-height:44px}
.hf-home-view .hf-rail-empty{padding:22px;border-radius:20px;background:var(--hf-soft);color:var(--hf-muted);font-size:13px;line-height:1.6;min-height:100px}
.hf-home-view .hf-home-footer{font-size:11px;color:var(--hf-muted);margin-top:22px;line-height:1.6}
.hf-home-view .hf-home-footer p{max-width:80ch}
.hf-home-view .hf-home-footer a{margin-right:14px;font-size:12px;white-space:normal}
.hf-home-view .hf-hero-empty .hf-hero-action{grid-row:1}
.hf-home-view .hf-greeting h1{overflow-wrap:anywhere}
.hf-home-view .hf-rail.hf-expanded{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(144px,1fr));margin-right:0;padding-right:2px;overflow:visible}
.hf-home-view .hf-rail:focus-visible{outline:3px solid var(--hf-focus);outline-offset:1px}
@media(max-width:767px){.hf-home-view .hf-card-bottom{min-height:50px}.hf-home-view .hf-list-selector{margin:-23px 0 8px}}
@media(forced-colors:active){.hf-home-view .hf-hero,.hf-home-view .hf-product-card{border:1px solid CanvasText}}

/* ui/home-first/review.css */
/* 24.5.5. Approved sheet geometry; scoped, with the current quantity parser underneath. */
dialog.hf-review-dialog{box-sizing:border-box;width:min(510px,calc(100% - 32px));max-height:calc(100dvh - 42px);border:1px solid var(--hf-border);border-radius:27px;padding:0;background:var(--hf-surface);color:var(--hf-ink);box-shadow:0 18px 70px rgb(0 0 0 / 20%);overflow:hidden;margin:auto;line-height:1.45}
dialog.hf-review-dialog::backdrop{background:rgb(11 27 19 / 38%);backdrop-filter:blur(4px)}
dialog.hf-review-dialog[open]{display:flex;flex-direction:column;animation:hf-sheet-in 220ms var(--hf-ease)}
.hf-review-dialog .sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;padding:17px 20px 8px;border:0}
.hf-review-dialog .sheet-head h2{font-size:20px;font-weight:720;letter-spacing:-.5px;color:var(--hf-ink);line-height:1.3}
.hf-review-dialog .sheet-head .iconbtn{margin:0;width:44px;min-width:44px;height:44px;border:0;color:var(--hf-muted);background:transparent}
.hf-review-dialog .sheet-body{padding:10px 24px 18px;overflow-y:auto;min-height:0;overscroll-behavior:contain}
.hf-review-dialog .hf-sheet-summary{display:flex;align-items:center;gap:17px;margin:1px 0 18px}
.hf-review-dialog .hf-review-photo{height:110px;width:100px;flex:none;position:relative;display:grid;place-items:center;border-radius:12px;overflow:hidden;background:var(--hf-soft);color:var(--hf-muted)}
.hf-review-photo>img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;opacity:0}
.hf-review-photo[data-empty=false]{background:#fff}.hf-review-photo[data-empty=false]>img{opacity:1}.hf-review-photo[data-empty=false]>.icon{visibility:hidden}
.hf-review-photo>.icon{width:34px;height:34px;stroke-width:1.2}
.hf-review-dialog .hf-sheet-summary>div{min-width:0}.hf-review-dialog .hf-sheet-summary h3{font-size:19px;line-height:1.35;letter-spacing:-.4px;overflow-wrap:anywhere}
.hf-review-dialog .hf-sheet-summary p{font-size:13px;color:var(--hf-muted);margin-top:6px}.hf-review-dialog .hf-sheet-summary small{font-size:11px;color:var(--hf-muted)}
.hf-review-dialog .hf-destination{display:flex;align-items:center;gap:8px;background:var(--hf-soft);padding:11px 13px;border-radius:12px;margin-bottom:17px;font-size:12px;color:var(--hf-green-dark);overflow-wrap:anywhere}
.hf-review-dialog .hf-destination>.icon{width:18px;height:18px;flex:none}.hf-review-dialog .hf-destination strong{font-weight:600}
.hf-review-dialog .hf-review-field{display:flex;flex-direction:column;gap:6px;margin:14px 0}.hf-review-dialog .hf-review-field>span{font-size:13px;font-weight:600}
.hf-review-dialog .hf-review-field input,.hf-review-dialog .hf-review-field select{box-sizing:border-box;width:100%;border:1px solid var(--hf-border);border-radius:12px;background:var(--hf-bg);color:var(--hf-ink);min-height:48px;padding:11px 12px;font-size:16px;font-family:inherit;margin:0;line-height:1.35}
.hf-review-dialog #hf-review-number{text-align:center;font-size:21px;font-weight:550;height:52px}
.hf-review-dialog .hf-amount-note,.hf-review-dialog .hf-related{font-size:12px;color:var(--hf-muted);line-height:1.5;margin-top:5px}
.hf-review-dialog .hf-related{padding:10px 12px;border:1px solid var(--hf-border);border-radius:12px;background:var(--hf-soft)}
.hf-review-dialog .hf-meta-details{border-top:1px solid var(--hf-border);margin-top:20px;padding-top:10px}
.hf-review-dialog .hf-meta-details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--hf-muted);list-style:none;padding:0;font-weight:400}
.hf-review-dialog .hf-meta-details>summary::after{content:'+';font-size:20px;color:var(--hf-green)}.hf-review-dialog .hf-meta-details[open]>summary::after{content:'−'}
.hf-review-dialog .hf-meta-details dl{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;font-size:12px;margin:12px 0}.hf-review-dialog .hf-meta-details dt{color:var(--hf-muted)}.hf-review-dialog .hf-meta-details dd{margin:0;text-align:right;overflow-wrap:anywhere}
.hf-review-dialog .hf-meta-details p,.hf-review-dialog .hf-review-neutral{font-size:11px;line-height:1.5;color:var(--hf-muted);margin-top:9px}
.hf-review-dialog .sheet-footer{border-top:1px solid var(--hf-border);padding:14px 24px max(17px,env(safe-area-inset-bottom));display:grid;grid-template-columns:auto 1fr;gap:10px;background:var(--hf-surface);flex:none}
.hf-review-dialog .sheet-footer .hf-button{min-height:48px;max-width:100%;white-space:normal;text-align:center}.hf-review-dialog .sheet-footer .hf-button:only-child{grid-column:1/-1}
.hf-review-dialog .hf-button,.hf-history-access .hf-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:10px 15px;border:0;border-radius:14px;background:transparent;color:var(--hf-muted);font:inherit;font-size:14px;cursor:pointer}
.hf-review-dialog .hf-primary{background:var(--hf-green);color:var(--hf-green-on);font-weight:600}.hf-review-dialog .hf-secondary,.hf-history-access .hf-secondary{background:var(--hf-soft);color:var(--hf-green-dark)}
.hf-button-face{display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--hf-time) var(--hf-ease)}.hf-review-dialog .hf-button:active:not(:disabled)>.hf-button-face{transform:scale(.96)}
.hf-review-dialog .hf-button:disabled{opacity:.65;cursor:wait}.hf-review-dialog .hf-review-message{color:var(--hf-coral);font-size:13px;margin-top:10px;line-height:1.5;overflow-wrap:anywhere}.hf-review-message:empty{display:none}
.hf-review-dialog :focus-visible{outline:3px solid var(--hf-focus);outline-offset:2px}.hf-history-access :focus-visible{outline:3px solid var(--hf-focus);outline-offset:2px}
.hf-history-access{margin:14px 0}.hf-history-access .hf-button{font-size:12px}
.hf-review-dialog .hf-action-row{padding:15px 0;border-bottom:1px solid var(--hf-border)}.hf-action-row h3{font-size:16px;overflow-wrap:anywhere}.hf-action-row small,.hf-action-row p{font-size:12px;color:var(--hf-muted);line-height:1.5;margin:5px 0}.hf-action-row .hf-action-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;padding:4px 10px;color:var(--hf-green-dark)}
.hf-home-view .hf-add-button{width:44px;height:44px;min-width:44px;min-height:44px;border:0;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--hf-green);color:var(--hf-green-on);cursor:pointer;flex:none}
.hf-home-view .hf-add-button .icon{width:24px;height:24px}.hf-home-view .hf-add-button[data-existing=true]{background:var(--hf-soft);color:var(--hf-green)}
.hf-home-view button.hf-product-detail{border:0;background:transparent;font-family:inherit;cursor:pointer;width:100%}.hf-home-view .hf-add-button:active>.hf-button-face{transform:scale(.96)}.hf-home-view .hf-add-button:focus-visible,.hf-home-view button.hf-product-detail:focus-visible{outline:3px solid var(--hf-focus);outline-offset:2px}
@keyframes hf-sheet-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){dialog.hf-review-dialog{width:100%;max-width:560px;margin:auto auto 0;max-height:calc(100dvh - 15px);border-radius:26px 26px 0 0;border-bottom:0}.hf-review-dialog .sheet-head{padding:14px 16px 4px}.hf-review-dialog .sheet-head h2{font-size:19px}.hf-review-dialog .sheet-body{padding:8px 20px 15px}.hf-review-dialog .hf-sheet-summary{gap:14px;margin-bottom:15px}.hf-review-dialog .hf-review-photo{height:91px;width:82px}.hf-review-dialog .hf-sheet-summary h3{font-size:18px}.hf-review-dialog .sheet-footer{padding:12px 20px max(17px,env(safe-area-inset-bottom))}.hf-review-dialog .hf-sheet-summary p{font-size:12px}}
@media(max-width:359px){.hf-review-dialog .sheet-body{padding-inline:16px}.hf-review-dialog .sheet-footer{padding-inline:16px}.hf-review-dialog .sheet-head{padding-inline:12px}.hf-review-dialog .hf-sheet-summary h3{font-size:17px}.hf-review-dialog .sheet-footer .hf-button{font-size:13px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){dialog.hf-review-dialog[open]{animation:none}.hf-review-dialog *,.hf-home-view .hf-add-button .hf-button-face{transition:none!important;transform:none!important}}
:root[data-reduced=true] dialog.hf-review-dialog[open]{animation:none}:root[data-reduced=true] .hf-review-dialog *{transition:none!important;transform:none!important}
@media(forced-colors:active){dialog.hf-review-dialog,.hf-review-dialog button,.hf-home-view .hf-add-button{border:1px solid ButtonText}}

/* ui/home-first/list.css */
/* 24.5.6. Approved list presentation, scoped to migrated list/dialog surfaces.
   Source demo remains immutable; no global skin or new domain behaviour. */
.hf-list-page{max-width:760px;margin:0 auto;--brand:var(--hf-green);--brand-dark:var(--hf-green-dark);--ink:var(--hf-ink);--muted:var(--hf-muted);--line:var(--hf-line);--paper:var(--hf-surface)}
.hf-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 18px}
.hf-list-heading>div{min-width:0}.hf-list-heading h1{font-size:27px;line-height:1.22;letter-spacing:-.8px;margin:0;font-weight:730;overflow-wrap:anywhere;color:var(--hf-ink)}
.hf-list-heading p{font-size:14px;color:var(--hf-muted);margin:6px 0 0;font-variant-numeric:tabular-nums}
.hf-list-page button,.hf-list-page input,.hf-list-page select,.hf-list-dialog input,.hf-list-dialog select,.hf-list-dialog textarea{font:inherit}
.hf-row-icon{display:grid;place-items:center;flex:none;width:44px;min-width:44px;height:44px;padding:0;border:0;background:none;color:var(--hf-muted);border-radius:13px}
.hf-row-icon .icon{width:21px;height:21px}
.hf-mode-indicator{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 16px;font-size:13px;color:var(--hf-muted)}
.hf-mode-indicator>span{display:inline-flex;align-items:center;gap:7px;background:var(--hf-soft);color:var(--hf-green-dark);border-radius:99px;padding:9px 13px;font-weight:600}
.hf-mode-indicator .icon{width:18px;height:18px}.hf-mode-indicator small{font-size:11px;text-align:right;max-width:140px}
.hf-list-page .hf-progress-box{padding:0 0 8px;margin:0 0 10px;background:none;border:0;border-radius:0;box-shadow:none;color:var(--hf-muted)}
.hf-progress-box>div{display:flex;justify-content:space-between;gap:10px;min-height:24px;font-size:13px;align-items:center}
.hf-progress-box>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hf-progress-box strong{font-weight:600;color:var(--hf-green);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
.hf-progress-box progress{display:block;width:100%;height:5px;margin:7px 0 6px;border:0;border-radius:8px;appearance:none;background:var(--hf-soft);accent-color:var(--hf-green)}
.hf-progress-box progress::-webkit-progress-bar{background:var(--hf-soft);border-radius:8px}.hf-progress-box progress::-webkit-progress-value{background:var(--hf-green);border-radius:8px}
.hf-progress-box small{font-size:11px;line-height:1.4}
.hf-list-tools{margin:12px 0 15px;border-bottom:1px solid var(--hf-line);color:var(--hf-muted)}
.hf-list-tools>summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:44px;cursor:pointer;font-size:13px;font-weight:600;padding:6px 0}
.hf-list-tools>summary::-webkit-details-marker{display:none}.hf-list-tools>summary>.icon{width:18px;height:18px}.hf-list-tools>summary small{font-size:11px;font-weight:400;margin-left:auto}.hf-list-tools[open]>summary>.icon:last-child{transform:rotate(90deg)}
.hf-tools-content{padding:8px 0 16px}.hf-tool-actions{display:flex;flex-wrap:wrap;gap:8px}.hf-tools-content>.cmp-entry{margin-top:12px}
.hf-list-page .btn{border-radius:14px;min-height:44px;font-size:13px;border-color:var(--hf-border);color:var(--hf-green-dark);background:var(--hf-soft);box-shadow:none;line-height:1.4}
.hf-list-page .btn.primary{background:var(--hf-green);color:var(--hf-green-on);border-color:var(--hf-green)}
.hf-list-page .btn.ghost{background:none;border-color:transparent;color:var(--hf-muted)}
.hf-list-page .iconbtn{color:var(--hf-muted)}
.hf-list-page .helper{font-size:12px;color:var(--hf-muted);line-height:1.6}
.hf-list-page .panel,.hf-list-page .cmp-entry,.hf-list-page .notice{border-color:var(--hf-border);background:var(--hf-soft);color:var(--hf-ink);border-radius:18px}
.hf-list-page .notice.error{background:var(--hf-warnbg);color:var(--hf-coral)}
.hf-list-page .segmented{width:max-content;max-width:100%;background:var(--hf-soft);border-radius:99px;margin:0;gap:3px;padding:3px;display:flex}
.hf-list-page .segmented .btn{border-radius:99px;border:0;min-height:44px;padding:8px 13px;background:none;color:var(--hf-muted)}
.hf-list-page .segmented .btn.selected{background:var(--hf-green);color:var(--hf-green-on)}
.hf-list-page .section{margin:0 0 16px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.hf-section-heading{display:flex;align-items:center;gap:9px;padding:10px 0 5px;margin:0;border:0;background:none}
.hf-list-page .hf-section-heading h2{font-size:16px;font-weight:650;letter-spacing:-.3px;line-height:1.4;text-transform:none;color:var(--hf-ink);margin:0}
.hf-section-heading .count{font-size:11px;min-width:22px;padding:2px 6px;border-radius:20px;background:var(--hf-soft);color:var(--hf-muted);font-weight:500}
.hf-list-page .section-items{border:0;background:none;border-radius:0;box-shadow:none;overflow:visible}
.hf-list-page .hf-shopping-row{display:grid;grid-template-columns:44px 52px minmax(0,1fr) 68px 44px;align-items:center;gap:9px;min-height:82px;padding:9px 0;border:0;border-bottom:1px solid var(--hf-line);border-radius:0;background:none;color:var(--hf-ink);box-shadow:none;overflow:visible}
.hf-shopping-row.is-preparing{grid-template-columns:52px minmax(0,1fr) 68px 44px}
.hf-shopping-row .hf-pick{display:grid;place-items:center;align-self:center;min-height:44px;height:44px;width:44px;min-width:44px;padding:0;margin:0;border:0;border-radius:12px;background:transparent;flex:none;color:var(--hf-green)}
.hf-pick .hf-tick{width:21px;height:21px;border:1.5px solid #688371;border-radius:7px;display:grid;place-items:center;transition:background-color 180ms,transform 120ms;flex:none}
.hf-pick .hf-tick>.icon{width:15px;height:15px;stroke-width:2.4}
.hf-shopping-row.picked .hf-tick{background:var(--hf-green);border-color:var(--hf-green);color:var(--hf-green-on)}
.hf-shopping-row .hf-pick:active:not(:disabled) .hf-tick{transform:scale(.94)}
.hf-shopping-row .hf-row-photo{width:52px;min-width:44px;height:58px;min-height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:12px;background:none;color:var(--hf-muted)}
.hf-shopping-row .cat-thumb{width:52px;height:58px;padding:0;margin:0;border:0;background:none;display:grid;place-items:center;overflow:hidden;border-radius:9px}
.hf-shopping-row .cat-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.hf-row-placeholder{width:40px;height:45px;display:grid;place-items:center;border-radius:12px;background:var(--hf-soft)}
.hf-row-placeholder .icon{width:22px;height:22px;color:var(--hf-muted)}
.hf-shopping-row .hf-row-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:60px;padding:0;border:0;background:none;color:var(--hf-ink);text-align:left;border-radius:4px;overflow:hidden}
.hf-shopping-row .hf-row-title{font-size:15px;font-weight:540;line-height:20px;letter-spacing:-.15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;min-height:0;margin:0}
.hf-shopping-row .hf-row-note{font-size:12px;color:var(--hf-muted);line-height:16px;min-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;margin:2px 0 0}
.hf-shopping-row.picked .hf-row-title{text-decoration:line-through;color:var(--hf-muted);opacity:1}
.hf-shopping-row .hf-row-quantity{min-height:44px;width:68px;min-width:44px;padding:8px 6px;background:var(--hf-soft);color:var(--hf-green-dark);border:0;border-radius:13px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;line-height:16px;text-align:center;overflow:hidden}
.hf-row-quantity>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.hf-shopping-row .hf-row-extra{grid-column:2/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-size:11px;color:var(--hf-muted)}
.hf-list-page .hf-list-cta{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));right:max(20px,calc((100vw - 760px)/2));left:auto;z-index:9;display:flex;gap:8px;width:max-content;max-width:calc(100vw - 40px);margin:0;padding:0;background:none;box-shadow:none;border:0}
.hf-list-cta .hf-button{border-radius:99px;min-height:48px;font-size:14px;padding:12px 19px;box-shadow:var(--hf-shadow)}
.hf-list-cta .hf-secondary{background:var(--hf-surface);border:1px solid var(--hf-border)}
.hf-list-empty{text-align:center;padding:35px 18px;border:1px dashed var(--hf-border);border-radius:22px;margin:20px 0;color:var(--hf-muted)}
.hf-list-empty>.icon{width:36px;height:36px}.hf-list-empty h2{font-size:20px;color:var(--hf-ink);margin:16px 0 8px}.hf-list-empty p{font-size:13px;line-height:1.7;margin:0 auto 15px;max-width:36ch}
.hf-list-hint{font-size:13px;color:var(--hf-muted);padding-block:18px}
.hf-hidden-items>summary{min-height:44px;font-size:13px;color:var(--hf-green-dark);cursor:pointer;padding:10px 0}
.hf-list-undo{position:fixed;bottom:calc(147px + env(safe-area-inset-bottom));right:max(20px,calc((100vw - 760px)/2));z-index:9;max-width:calc(100vw - 40px)}
.hf-list-undo:empty{display:none}.hf-list-undo>button{background:var(--hf-surface);border:1px solid var(--hf-border);min-height:44px;border-radius:99px;padding:8px 15px;color:var(--hf-green-dark);font-size:12px;box-shadow:var(--hf-shadow)}
:root[data-list-active=true] #toast{bottom:calc(199px + env(safe-area-inset-bottom))}
/* Composer and existing suggestion actions keep their handlers and quantities. */
.hf-list-page .lc-composer{background:none;border:0;padding:0;margin:0 0 14px;border-radius:0}
.hf-list-page .lc-label{font-size:16px;font-weight:650;margin:0 0 9px;color:var(--hf-ink)}
.hf-list-page .lc-input-row{display:flex;gap:7px;align-items:center;min-width:0;background:var(--hf-soft);padding:3px 5px 3px 12px;border:1px solid var(--hf-border);border-radius:16px}
.hf-list-page .lc-input-row>span{display:grid;place-items:center;color:var(--hf-muted)}
.hf-list-page .lc-input-row .icon{width:18px;height:18px}
.hf-list-page .lc-input-row input{min-height:48px;min-width:0;flex:1;width:100%;border:0;background:none;outline-offset:0;font-size:14px;padding:10px 0;color:var(--hf-ink)}
.hf-list-page .lc-input-row .btn{background:var(--hf-green);color:var(--hf-green-on);min-width:44px;height:44px;padding:8px;font-size:12px;white-space:nowrap}
.hf-list-page .lc-help{margin:6px 0;font-size:11px}.hf-list-page [data-action=lc-external]{font-size:11px;min-height:44px;padding:8px 0;justify-content:flex-start}
.hf-list-page .lp-panel{border:0;background:none;border-radius:0;padding:0;margin:6px 0 0}
.hf-list-page .lp-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.hf-list-page .lp-top h3{font-size:16px;color:var(--hf-ink);margin:0;letter-spacing:-.3px}.hf-list-page .lp-top .btn{font-size:11px;padding:4px 7px}
.hf-list-page .lp-tabs{display:flex;gap:4px;overflow-x:auto;max-width:100%;padding:5px 0 9px;scrollbar-width:thin}
.hf-list-page .lp-tabs .btn{flex:none;border-radius:99px;padding:8px 11px;white-space:nowrap;font-size:12px;min-height:44px}
.hf-list-page .lp-tabs .btn[aria-pressed=true]{background:var(--hf-green);color:var(--hf-green-on)}
.hf-list-page .lp-band{margin:0;border:0;padding:0}.hf-list-page .lp-band[hidden]{display:none!important}
.hf-list-page .lp-band-heading{display:none}.hf-list-page .lp-cards{display:grid;grid-auto-flow:column;grid-auto-columns:154px;gap:10px;overflow-x:auto;padding:3px 2px 9px;max-width:100%;margin:0}
.hf-list-page .lp-card{display:flex;flex-direction:column;border:1px solid var(--hf-border);border-radius:21px;background:var(--hf-surface);padding:10px;text-align:left;min-width:0;max-width:154px;color:var(--hf-ink);box-shadow:var(--hf-shadow)}
.hf-list-page .lp-card .lc-picture,.hf-list-page .lp-card .lc-generic{width:100%;height:90px;min-height:90px;display:grid;place-items:center;margin:0;border:0;background:none}
.hf-list-page .lp-card img{object-fit:contain;max-width:100%;height:90px}
.hf-list-page .lp-card-body strong{font-size:14px;font-weight:600;line-height:20px;color:var(--hf-ink)}
.hf-list-page .lp-card-body small,.hf-list-page .lp-quantity{font-size:11px;line-height:1.4;color:var(--hf-muted)}
.hf-list-page .lp-reason{font-size:11px;color:var(--hf-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hf-list-page .lp-cta{font-size:11px;color:var(--hf-green);font-weight:650}.hf-list-page .lp-start,.hf-list-page .lp-empty{font-size:12px;border:1px dashed var(--hf-border);border-radius:15px;background:none;color:var(--hf-muted);padding:14px;line-height:1.6}
.hf-list-page .lp-explanation summary{font-size:11px;color:var(--hf-muted);min-height:44px;padding:12px 0;cursor:pointer}
.hf-list-page .lp-coverage,.hf-list-page .lp-intro{font-size:11px;line-height:1.6;color:var(--hf-muted)}
.hf-list-page .lp-review,.hf-list-page .lc-review{border:1px solid var(--hf-border);background:var(--hf-soft);border-radius:20px;padding:16px;color:var(--hf-ink)}
.hf-list-page .lp-review input,.hf-list-page .lc-review input{background:var(--hf-surface);color:var(--hf-ink);min-height:48px;border:1px solid var(--hf-border);border-radius:12px}
.hf-list-page .lc-options.cards{grid-auto-columns:154px;gap:10px}.hf-list-page .lc-option{border-color:var(--hf-border);background:var(--hf-surface);color:var(--hf-ink);border-radius:20px}.hf-list-page .lc-card-action{color:var(--hf-green)}
/* Same forms and commands; only their presentation changes in a list context. */
.hf-list-dialog{width:min(560px,100%);max-height:calc(100dvh - 15px);margin:auto auto 0;border:1px solid var(--hf-border);border-radius:26px 26px 0 0;background:var(--hf-surface);color:var(--hf-ink);overflow:hidden;padding:0;box-shadow:0 -8px 36px rgb(0 0 0 / 12%)}
.hf-list-dialog[open]{display:flex;flex-direction:column}
.hf-list-dialog .sheet-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:14px 20px 6px;border:0;background:var(--hf-surface)}
.hf-list-dialog .sheet-head h2{font-size:21px;font-weight:700;color:var(--hf-ink);letter-spacing:-.5px;line-height:1.3}
.hf-list-dialog .sheet-body{overflow-y:auto;min-height:0;padding:8px 24px 20px;overscroll-behavior:contain}
.hf-list-dialog .sheet-footer{flex:none;display:flex;gap:10px;background:var(--hf-surface);border-top:1px solid var(--hf-border);padding:12px 24px max(17px,env(safe-area-inset-bottom))}
.hf-list-dialog .btn{min-height:44px;border-radius:14px;background:var(--hf-soft);color:var(--hf-green-dark);border-color:var(--hf-border);font-size:13px}
.hf-list-dialog .btn.primary{background:var(--hf-green);color:var(--hf-green-on);border-color:var(--hf-green)}
.hf-list-dialog .btn.ghost{background:none;color:var(--hf-muted);border-color:transparent}
.hf-list-dialog .sheet-footer .btn.primary{flex:1;min-height:48px}
.hf-list-dialog .field{font-size:13px;color:var(--hf-ink)}
.hf-list-dialog input,.hf-list-dialog select,.hf-list-dialog textarea{min-height:48px;border:1px solid var(--hf-border);background:var(--hf-soft);color:var(--hf-ink);border-radius:13px}
.hf-list-dialog .checklabel input{min-height:20px;accent-color:var(--hf-green)}
.hf-list-dialog .helper,.hf-list-dialog small{color:var(--hf-muted);font-size:12px;line-height:1.6}
.hf-list-dialog .start-store{border-color:var(--hf-border);background:var(--hf-soft);border-radius:16px;margin-top:8px}
.hf-list-dialog .segmented .selected{background:var(--hf-green);color:var(--hf-green-on)}
.hf-list-dialog .notice{border-radius:15px;background:var(--hf-soft);color:var(--hf-ink)}
.hf-list-dialog .sheet-body .iconbtn{min-width:44px;min-height:44px;color:var(--hf-muted)}
/* Family quantities/partial coverage remain an explicit separate projection. */
.hf-family-page .fam-heading{margin:0 0 16px}.hf-family-page .fam-heading h1{font-size:26px;color:var(--hf-ink);letter-spacing:-.7px;line-height:1.25;margin:0}.hf-family-page .fam-heading p{font-size:12px;color:var(--hf-muted);margin:4px 0}.hf-family-page .eyebrow{display:none}
.hf-family-page .fam-shopping-row{margin:0;border:0;background:none;border-radius:0}
.hf-family-page .fam-row-detail{min-height:44px;padding:0 0 8px 52px;color:var(--hf-muted);border-bottom:1px solid var(--hf-line);display:flex;align-items:center;justify-content:space-between}
.hf-family-page .fam-section{margin:16px 0 0;padding:5px 0;font-size:16px;line-height:1.4;letter-spacing:-.3px;color:var(--hf-ink);text-transform:none}
.hf-family-page .fam-summary{background:var(--hf-soft);border:0;border-radius:18px;box-shadow:none;padding:14px}.hf-family-page .fam-summary strong{font-size:22px;color:var(--hf-green-dark)}
.hf-family-page .fam-summary span{font-size:11px;color:var(--hf-muted)}
.hf-family-page .fam-toolbar{gap:8px}.hf-family-page .fam-trip{border:1px solid var(--hf-border);border-radius:20px;background:var(--hf-surface);box-shadow:var(--hf-shadow)}
.hf-family-page .fam-need{background:none;border:0;border-bottom:1px solid var(--hf-line);border-radius:0;padding:12px 0}.hf-family-page .fam-need strong{font-size:14px}.hf-family-page .fam-need small{font-size:11px;color:var(--hf-muted)}
.hf-family-page .fam-row-detail small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.hf-family-page .fam-row-detail .btn{min-height:44px}
.hf-family-page .fam-filter{font-size:12px;color:var(--hf-muted)}.hf-family-page select{min-height:44px;background:var(--hf-surface);border:1px solid var(--hf-border);border-radius:12px;color:var(--hf-ink)}
.hf-list-page button:focus-visible,.hf-list-page summary:focus-visible,.hf-list-page input:focus-visible,.hf-list-page select:focus-visible,.hf-list-dialog input:focus-visible,.hf-list-dialog select:focus-visible,.hf-list-dialog textarea:focus-visible{outline:3px solid var(--hf-focus);outline-offset:2px}
@media(min-width:1000px){.hf-list-dialog{margin:auto;border-radius:26px}.hf-shopping-row{gap:15px}.hf-list-page .hf-row-photo,.hf-list-page .cat-thumb{width:58px;height:60px}}
@media(max-width:767px){.hf-list-heading h1{font-size:24px;letter-spacing:-.6px}.hf-list-heading p{font-size:12px}.hf-list-heading{gap:6px}.hf-list-page .hf-shopping-row{grid-template-columns:44px 44px minmax(0,1fr) 60px 44px;gap:5px;min-height:78px;padding:8px 0}.hf-list-page .hf-shopping-row.is-preparing{grid-template-columns:44px minmax(0,1fr) 60px 44px}.hf-shopping-row .hf-row-photo,.hf-shopping-row .cat-thumb{width:43px;height:47px}.hf-shopping-row .hf-row-title{font-size:14px}.hf-shopping-row .hf-row-copy{min-height:60px}.hf-shopping-row .hf-row-quantity{width:60px;font-size:11px}.hf-list-cta .hf-button{font-size:13px;padding:12px 15px}.hf-list-tools>summary small{display:none}.hf-list-dialog .sheet-head{padding:14px 16px 4px}.hf-list-dialog .sheet-head h2{font-size:19px}.hf-list-dialog .sheet-body{padding:8px 20px 15px}.hf-list-dialog .sheet-footer{padding:12px 20px max(17px,env(safe-area-inset-bottom))}}
@media(max-width:359px){.hf-list-page .hf-shopping-row{grid-template-columns:44px minmax(0,1fr) 60px 44px;min-height:79px}.hf-list-page .hf-shopping-row.is-preparing{grid-template-columns:minmax(0,1fr) 60px 44px}.hf-shopping-row .hf-row-photo{display:none}.hf-list-heading h1{font-size:22px}.hf-list-page .lp-tabs .btn{padding-inline:10px;font-size:11px}.hf-mode-indicator small{max-width:110px;font-size:10px}.hf-list-page .hf-list-cta{right:15px;max-width:calc(100vw - 30px)}.hf-list-cta .hf-button{padding:11px 13px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.hf-list-page *,.hf-list-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hf-pick:active .hf-tick{transform:none!important}}
[data-reduced=true] .hf-list-page *,[data-reduced=true] .hf-list-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reduced=true] .hf-pick:active .hf-tick{transform:none!important}
@media(forced-colors:active){.hf-tick{border-color:ButtonText}.hf-shopping-row.picked .hf-tick{background:Highlight;color:HighlightText}.hf-row-quantity,.hf-list-cta button{border:1px solid ButtonText}}
.hf-family-page .hf-family-cta{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));right:max(20px,calc((100vw - 760px)/2));z-index:9;max-width:calc(100vw - 40px);display:flex;gap:7px;margin:0}.hf-family-cta .btn{border-radius:99px;min-height:48px;box-shadow:var(--hf-shadow);font-size:12px;padding:10px 13px}
.hf-family-page .fam-summary{display:flex;gap:15px;justify-content:space-between;margin-bottom:16px}.hf-family-page .fam-summary>div{min-width:0}.hf-family-page .fam-summary strong,.hf-family-page .fam-summary span{display:block}
.hf-list-page .lp-card .lc-image{width:100%;height:92px;min-height:92px;flex:0 0 92px;display:grid;place-items:center;overflow:hidden;border:0;background:none;border-radius:12px}
.hf-list-page .lp-card .lc-image img{width:100%;height:92px;object-fit:contain}
.hf-list-page .lp-card-body{gap:4px;width:100%}.hf-list-page .lp-card{align-items:stretch;gap:6px}
.hf-list-page .lp-card .lp-reason{display:none}.hf-list-page .lp-card-body strong{min-height:40px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hf-list-page .lp-card-body small{min-height:16px}.hf-list-page .lp-quantity{font-weight:400}

.hf-list-dialog .hf-edit-product{display:grid;gap:5px;margin-bottom:20px}.hf-list-dialog .hf-edit-product strong{font-size:20px;line-height:1.3}.hf-list-dialog .hf-edit-product span{font-size:13px;color:var(--hf-muted)}.hf-list-dialog .hf-edit-details{border-top:1px solid var(--hf-line);margin-top:12px;padding-top:4px}.hf-list-dialog .hf-edit-details>summary{padding:12px 0;min-height:44px;cursor:pointer;font-size:14px;font-weight:600}.hf-list-dialog .hf-edit-remember{font-size:12px;align-items:center;line-height:1.45;margin-top:12px}.hf-list-dialog .hf-edit-decisions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.hf-list-dialog .hf-edit-decisions .btn{font-size:12px;flex:1;min-width:106px;padding:9px 10px}.hf-list-dialog .sheet-footer{display:flex;gap:10px}.hf-list-dialog .sheet-footer>.btn{flex:1}

.hf-complete{text-align:center}.hf-complete .finish-art{background:var(--hf-soft);color:var(--hf-green)}.hf-complete h1{font-size:28px;letter-spacing:-.8px;color:var(--hf-ink)}.hf-complete .big-number{color:var(--hf-green)}.hf-complete .eyebrow{text-transform:none;letter-spacing:0;color:var(--hf-muted)}.hf-complete .stack>.btn{border-radius:99px;min-height:48px}.hf-complete .store-row{text-align:left}

/* Compact preparation rail from the approved mini-product pattern, not a Home shelf. */
.hf-list-page .lc-label,.hf-list-page .lc-help{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hf-list-page .lp-top[hidden]{display:none}.hf-list-page .lp-cards{grid-auto-columns:196px;margin-bottom:4px}
.hf-list-page .lp-card{max-width:196px;display:grid;grid-template-columns:44px minmax(0,1fr) 17px;min-height:83px;padding:8px;gap:7px;border-radius:15px}
.hf-list-page .lp-card .lc-image,.hf-list-page .lp-card .lc-generic{width:44px;height:50px;min-height:50px;display:grid;place-items:center;flex:none}
.hf-list-page .lp-card .lc-image img{width:44px;height:50px}.hf-list-page .lp-card .lc-image .icon{width:22px;height:22px}
.hf-list-page .lp-card-body{display:flex;flex-direction:column;align-self:center;min-width:0;gap:3px}
.hf-list-page .lp-card-body strong{font-size:12px;line-height:16px;min-height:32px;font-weight:600}
.hf-list-page .lp-card-body>small,.hf-list-page .lp-cta{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.hf-list-page .lp-card .lp-quantity{font-size:10px;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hf-list-page .lp-mini-action{color:var(--hf-green);font-size:21px;align-self:center}.hf-list-page .lp-explanation{margin:0}

.hf-list-page .lp-card{position:relative}.hf-list-page .lc-composer{position:relative}

@media(max-width:767px){.hf-shopping-row .hf-row-note{font-size:11px}}

.hf-list-page .lp-cards>.lp-more-card{min-height:83px;width:120px;border:1px solid var(--hf-border);background:var(--hf-soft);color:var(--hf-green-dark);border-radius:15px;align-self:stretch;font-size:12px}

/* ui/home-first/catalogue.css */
/* 24.5.7. Only migrated catalogue surfaces. Approved Home-first tokens are inherited.
   Classic, pantry, history, permissions, providers and media pipelines are not rethemed. */
.hf-catalogue-page,.hf-catalogue-dialog{--bg:var(--hf-bg);--panel:var(--hf-surface);--ink:var(--hf-ink);--muted:var(--hf-muted);--line:var(--hf-border);--brand:var(--hf-green);--brand-hover:var(--hf-green-dark);--onbrand:var(--hf-green-on);--soft:var(--hf-soft);--green:var(--hf-green);--green-soft:var(--hf-hero);--error:var(--hf-coral);color:var(--hf-ink);line-height:1.5}
.hf-catalogue-page{max-width:1040px;margin:0 auto;padding:6px 0 30px}
.hf-catalogue-page p,.hf-catalogue-dialog p,.hf-catalogue-page small,.hf-catalogue-dialog small{color:var(--hf-muted)}
.hf-catalogue-page :is(h1,h2,h3),.hf-catalogue-dialog :is(h2,h3){color:var(--hf-ink)}
.hf-catalogue-page h1{font-size:27px;line-height:1.22;letter-spacing:-.8px;font-weight:730;overflow-wrap:anywhere}
.hf-catalogue-page h2{font-size:19px;letter-spacing:-.35px;line-height:1.35;font-weight:700}
.hf-catalogue-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.hf-catalogue-heading p{margin-top:7px;font-size:14px}
.hf-catalogue-heading>.btn{border-radius:99px;flex:none}
.hf-catalogue-page .btn,.hf-catalogue-dialog .btn{min-height:44px;min-width:44px;border-radius:14px;padding:11px 14px;font-size:13px;font-weight:600;gap:8px;white-space:normal;transform:none;transition:background var(--hf-time) var(--hf-ease),color var(--hf-time) var(--hf-ease)}
.hf-catalogue-page .primary,.hf-catalogue-dialog .primary{background:var(--hf-green);color:var(--hf-green-on)}
.hf-catalogue-page .primary:hover,.hf-catalogue-dialog .primary:hover{background:var(--hf-green-dark)}
:root[data-theme=dark] :is(.hf-catalogue-page,.hf-catalogue-dialog) .primary:hover{background:var(--hf-green);filter:brightness(1.08)}
.hf-catalogue-page .secondary,.hf-catalogue-dialog .secondary{background:var(--hf-surface);color:var(--hf-ink);border-color:var(--hf-border)}
.hf-catalogue-page .ghost,.hf-catalogue-dialog .ghost{color:var(--hf-green-dark)}
.hf-catalogue-page .iconbtn,.hf-catalogue-dialog .iconbtn{width:44px;min-width:44px;height:44px;border-radius:14px;color:var(--hf-green-dark);transform:none}
.hf-catalogue-page .iconbtn:active,.hf-catalogue-dialog .iconbtn:active{transform:none;background:var(--hf-soft)}
.hf-catalogue-page :focus-visible,.hf-catalogue-dialog :focus-visible{outline:3px solid var(--hf-focus);outline-offset:2px}
.hf-catalogue-page [hidden],.hf-catalogue-dialog [hidden]{display:none!important}
.hf-catalogue-page .hf-catalogue-tabs{display:flex;gap:8px;flex-wrap:nowrap;max-width:100%;overflow-x:auto;padding:4px 3px 12px;margin:0 0 8px;scrollbar-width:thin;overscroll-behavior-x:contain}
.hf-catalogue-tabs .btn{flex:none;border-radius:99px;padding:10px 17px;color:var(--hf-muted);background:var(--hf-soft);font-size:13px;min-height:44px}
.hf-catalogue-tabs .selected{color:var(--hf-green-on);background:var(--hf-green)}
.hf-catalogue-search{display:flex;align-items:center;gap:18px;margin:0 0 20px}
.hf-catalogue-search .field{margin:0;min-width:0}
.hf-search-field{display:flex;align-items:center;gap:10px;background:var(--hf-soft);border:1px solid var(--hf-border);border-radius:15px;padding:0 13px;color:var(--hf-muted);min-width:0}
.hf-catalogue-page .hf-search-field input{font-size:16px;min-width:0;width:100%;padding:13px 0;border:0;min-height:48px;background:none;margin:0;box-shadow:none;color:var(--hf-ink)}
.hf-search-field .icon{width:20px;height:20px}
.hf-catalogue-search .checkline{display:flex;align-items:center;gap:7px;min-height:44px;margin:0;font-size:12px;flex:none;color:var(--hf-muted)}
.hf-catalogue-page input[type=checkbox],.hf-catalogue-dialog input[type=checkbox]{accent-color:var(--hf-green);width:20px;height:20px;min-width:20px;margin:0}
.hf-catalogue-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px}
.hf-catalogue-section-title .btn{font-size:12px;padding:8px}
.hf-catalogue-page .panel{background:transparent;border:0;border-radius:0;box-shadow:none;padding:12px 0;margin:0}
.hf-catalogue-page .cat-list{padding:0}
.hf-catalogue-page .hf-catalogue-need{display:flex;align-items:center;width:100%;min-height:80px;padding:17px 0;gap:14px;background:transparent;border:0;border-bottom:1px solid var(--hf-line);border-radius:0;margin:0;text-align:left}
.hf-catalogue-need strong{font-size:16px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
.hf-catalogue-need small{font-size:12px;line-height:1.5;margin-top:5px}
.hf-catalogue-need>.icon{width:19px;color:var(--hf-muted);flex:none}
.hf-need-icon{width:48px;height:48px;flex:none;border-radius:16px;background:var(--hf-soft);color:var(--hf-green);display:grid;place-items:center}
.hf-catalogue-page .hf-catalogue-row,.hf-catalogue-dialog .hf-catalogue-row{display:grid;grid-template-columns:56px minmax(0,1fr) 44px;gap:14px;align-items:center;padding:14px 0;min-height:86px;border-bottom:1px solid var(--hf-line)}
.hf-catalogue-row.cat-unlinked-row{grid-template-columns:56px minmax(0,1fr) auto 44px}
.hf-catalogue-photo{padding:0;border:0;border-radius:13px;background:var(--hf-soft);width:56px;height:64px;display:grid;place-items:center;overflow:hidden}
.hf-catalogue-page .cat-thumb,.hf-catalogue-dialog .cat-thumb{width:56px;height:64px;flex-basis:56px;border-radius:13px;background:var(--hf-soft);color:var(--hf-muted)}
.hf-catalogue-page .cat-thumb:has(img.loaded),.hf-catalogue-dialog .cat-thumb:has(img.loaded){background:white}
.hf-catalogue-page .cat-row-main,.hf-catalogue-dialog .cat-row-main{min-height:44px;width:100%;font-family:inherit}
.hf-catalogue-page .cat-row-main strong,.hf-catalogue-dialog .cat-row-main strong{font-size:15px;font-weight:540;line-height:1.35;letter-spacing:-.15px}
.hf-catalogue-page .cat-row-main small,.hf-catalogue-dialog .cat-row-main small{font-size:12px;line-height:1.5}
.hf-catalogue-page .cat-pill,.hf-catalogue-dialog .cat-pill{border-radius:8px;font-size:11px;padding:5px 8px;line-height:1.4}
.hf-catalogue-page .cat-pill.waiting,.hf-catalogue-dialog .cat-pill.waiting{color:var(--hf-warning);background:var(--hf-warnbg)}
.hf-catalogue-page .empty,.hf-catalogue-dialog .empty{background:var(--hf-soft);border:0;border-radius:22px;padding:28px 18px;margin-top:12px}
.hf-catalogue-page .empty>h2{font-size:21px}.hf-catalogue-page .empty>p{font-size:14px;line-height:1.6}
.hf-catalogue-tools{border-top:1px solid var(--hf-border);margin-top:24px;padding-top:6px}
.hf-catalogue-tools>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;font-size:13px;color:var(--hf-muted);list-style:none;cursor:pointer}
.hf-catalogue-tools>div{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0}.hf-catalogue-tools>p{font-size:12px}
.hf-catalogue-detail .cat-mother-title>.eyebrow{font-size:12px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--hf-muted)}
.hf-catalogue-detail>.panel{margin-top:22px;padding:18px;border-radius:20px;background:var(--hf-surface);border:1px solid var(--hf-border)}
.hf-catalogue-detail .cat-format-actions{padding-left:70px}
.hf-catalogue-detail .cat-mother-tools{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hf-catalogue-detail .cat-mother-tools .btn{justify-content:center}
.hf-catalogue-page .cat-brand-badge,.hf-catalogue-dialog .cat-brand-badge{background:transparent;border-color:var(--hf-border);min-height:44px}
.hf-catalogue-dialog .cat-brand-badge .cat-thumb,.hf-catalogue-detail .cat-brand-badge .cat-thumb{width:36px;height:36px;flex-basis:36px}
/* Real catalogue sheets: same visual vocabulary as the approved quantity sheet. */
dialog.hf-catalogue-dialog{width:min(660px,calc(100% - 32px));max-height:calc(100dvh - 42px);border:1px solid var(--hf-border);border-radius:27px;background:var(--hf-surface);color:var(--hf-ink);padding:0;margin:auto;overflow:hidden;box-shadow:0 18px 70px rgb(0 0 0 / 20%)}
dialog.hf-catalogue-dialog[open]{display:flex;flex-direction:column;animation:hf-sheet-in 220ms var(--hf-ease)}
dialog.hf-catalogue-dialog::backdrop{background:rgb(11 27 19 / 38%);backdrop-filter:blur(4px)}
.hf-catalogue-dialog .sheet-head{padding:14px 20px 6px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;border:0}
.hf-catalogue-dialog .sheet-head h2{font-size:20px;line-height:1.35;letter-spacing:-.5px;font-weight:720;overflow-wrap:anywhere}
.hf-catalogue-dialog .sheet-body{padding:10px 24px 20px;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:14px}
.hf-catalogue-dialog .sheet-footer{padding:14px 24px max(17px,env(safe-area-inset-bottom));background:var(--hf-surface);border-top:1px solid var(--hf-border);display:flex;gap:10px;flex-wrap:wrap;flex:none}
.hf-catalogue-dialog .sheet-footer .btn{flex:1 1 auto;min-height:48px;font-size:14px;max-width:100%}
.hf-catalogue-dialog .field{font-size:13px;line-height:1.45;gap:6px;margin:14px 0 0;min-width:0;color:var(--hf-ink);font-weight:600}
.hf-catalogue-dialog .field input,.hf-catalogue-dialog .field select,.hf-catalogue-dialog .field textarea{width:100%;max-width:100%;min-width:0;min-height:48px;border-radius:12px;border:1px solid var(--hf-border);background:var(--hf-bg);color:var(--hf-ink);font-size:16px;font-weight:400;padding:11px 12px;margin:0}
.hf-catalogue-dialog .helper{font-weight:400;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.hf-catalogue-dialog .checkline,.hf-catalogue-dialog .checklabel{display:flex;align-items:flex-start;gap:10px;min-height:44px;font-size:13px;line-height:1.6;margin:14px 0 6px}
.hf-catalogue-dialog .checkline>input,.hf-catalogue-dialog .checklabel>input{margin-top:2px;flex:none}
.hf-catalogue-dialog .cat-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hf-catalogue-page .notice,.hf-catalogue-dialog .notice{border-radius:14px;padding:12px 14px;background:var(--hf-soft);color:var(--hf-green-dark);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.hf-catalogue-page .notice.error,.hf-catalogue-dialog .notice.error{border:1px solid var(--hf-coral);color:var(--hf-coral);background:var(--hf-surface)}
.hf-catalogue-dialog .inline-error{color:var(--hf-coral);overflow-wrap:anywhere}
.hf-catalogue-dialog .cat-detail-hero{gap:17px;margin:4px 0 18px}
.hf-catalogue-dialog .cat-detail-hero>div{min-width:0}
.hf-catalogue-dialog .cat-thumb.large{width:94px;height:110px;flex-basis:94px}
.hf-catalogue-dialog .cat-actions{gap:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.hf-catalogue-dialog .cat-actions .btn{min-width:0;justify-content:flex-start}
.hf-catalogue-dialog .cat-detail-hero .eyebrow,.hf-catalogue-dialog .imp-source>.eyebrow{letter-spacing:0;text-transform:none;font-size:12px;font-weight:400}
.hf-catalogue-dialog summary{min-height:44px;padding:10px 0;font-size:13px;cursor:pointer;color:var(--hf-muted)}
.hf-catalogue-dialog .pc-summary{font-size:13px;flex-wrap:wrap;margin:0 0 10px}
.hf-catalogue-dialog .pc-card{background:none;border:0;border-top:1px solid var(--hf-border);border-radius:0;padding:18px 0;margin:0}
.hf-catalogue-dialog .pc-card:first-of-type{border-top:0}
.hf-catalogue-dialog .pc-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.hf-catalogue-dialog .pc-selected{font-size:17px;color:var(--hf-ink);font-weight:600;margin:10px 0}
.hf-catalogue-dialog .pc-origin-note{background:var(--hf-soft);border-radius:14px;border:0;padding:12px;color:var(--hf-green-dark);font-size:12px;line-height:1.6;margin-bottom:15px}
/* Product metadata, provenance and rights stay reachable; hidden fields remain hidden. */
.hf-catalogue-dialog .imp-review fieldset{min-width:0;padding:0;border:0;margin:0}
.hf-catalogue-dialog .imp-source{background:var(--hf-soft);border:0;border-radius:18px;padding:16px;margin:0 0 16px}
.hf-catalogue-dialog .imp-source h3{font-size:20px;line-height:1.35;letter-spacing:-.4px;margin:4px 0 8px}
.hf-catalogue-dialog .imp-format{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr);gap:10px}
.hf-catalogue-dialog .imp-format>.field{font-size:12px}
.hf-catalogue-dialog .imp-reuse{background:var(--hf-hero);color:var(--hf-green-dark);border:0;border-radius:12px;padding:12px;font-size:12px}
.hf-catalogue-dialog .imp-photo,.hf-catalogue-dialog .imp-list{background:var(--hf-soft);border:0;border-radius:16px;padding:14px;margin:18px 0}
.hf-catalogue-dialog .imp-photo .imp-preview{width:100%;height:145px;object-fit:contain;margin:0 auto 12px;background:white;border-radius:12px}
.hf-catalogue-dialog .imp-neutral{font-size:12px;padding:12px 0;color:var(--hf-muted)}
.hf-catalogue-dialog .source-facts{margin:12px 0;padding:12px;background:var(--hf-soft);border-radius:14px}
.hf-catalogue-dialog .source-facts>div{grid-template-columns:100px minmax(0,1fr);font-size:13px;padding:6px 0}
.hf-catalogue-dialog .imp-success h3{font-size:22px;margin:10px 0}
.hf-catalogue-dialog .cat-provenance,.hf-catalogue-dialog .cat-provenance p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.hf-catalogue-dialog .cat-provenance summary{color:var(--hf-green-dark)}
/* Photo gallery, camera and the deliberate provider carousel share the same framed image area. */
dialog.hf-catalogue-media-dialog{width:min(820px,calc(100% - 32px))}
.hf-catalogue-dialog .cat-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}
.hf-catalogue-dialog .cat-photo-card{border:1px solid var(--hf-border);background:var(--hf-surface);border-radius:20px;min-width:0}
.hf-catalogue-dialog .cat-photo-card>img{height:184px;width:100%;object-fit:contain;background:white}
.hf-catalogue-dialog .cat-photo-card>div{padding:14px}
.hf-catalogue-dialog .cat-photo-card strong{font-size:15px;overflow-wrap:anywhere}
.hf-catalogue-dialog .cat-photo-card .cat-actions{grid-template-columns:1fr;gap:3px}
.hf-catalogue-dialog .cat-photo-preview{background:var(--hf-soft);height:220px;display:grid;place-items:center;margin:16px 0}
.hf-catalogue-dialog .cat-photo-preview>img{max-height:220px}
.hf-catalogue-dialog .cat-ext-current{background:var(--hf-soft);border-radius:16px;padding:12px;display:flex;gap:12px;align-items:center;margin:14px 0}
.hf-catalogue-dialog .cat-ext-current>div{display:flex;flex-wrap:wrap;gap:8px}
.hf-catalogue-dialog .cat-ext-carousel{display:flex;gap:12px;overflow-x:auto;padding:6px 3px 14px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;align-items:stretch;scrollbar-width:thin}
.hf-catalogue-dialog .cat-ext-card{flex:0 0 168px;width:168px;min-width:0;border:1px solid var(--hf-border);border-radius:20px;background:var(--hf-surface);overflow:hidden;scroll-snap-align:start}
.hf-catalogue-dialog .cat-ext-image{width:100%;height:156px;min-height:156px;background:white;border:0;border-radius:0;padding:10px;transform:none;color:var(--hf-muted)}
.hf-catalogue-dialog .cat-ext-image>img{width:100%;height:100%;object-fit:contain}
.hf-catalogue-dialog .cat-ext-card-copy{padding:12px;display:flex;flex-direction:column;gap:6px}
.hf-catalogue-dialog .cat-ext-card-copy>strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.hf-catalogue-dialog .cat-ext-card-copy>.btn{margin-top:auto;width:100%}
.hf-catalogue-dialog .cat-ext-card-copy small,.hf-catalogue-dialog .cat-ext-card-copy .eyebrow{font-size:11px;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
/* External product explorer: no remote image tags or new request behavior. */
.hf-source-page.source-page{max-width:1040px}
.hf-source-page .page-title{margin:0 0 20px}.hf-source-page .page-title .btn{margin-left:0;padding-left:0}.hf-source-page .page-title p{font-size:14px}
.hf-source-page .source-summary{padding:10px 14px;background:var(--hf-soft);border-radius:14px;gap:10px;margin-bottom:16px}
.hf-source-page .source-summary>span{border:0;padding:4px 0;font-size:12px;color:var(--hf-green-dark)}
.hf-source-page .source-form{background:var(--hf-surface);border:1px solid var(--hf-border);border-radius:22px;padding:22px;margin:12px 0}
.hf-source-page .field{font-size:13px;color:var(--hf-ink);font-weight:600;min-width:0}
.hf-source-page :is(input:not([type=checkbox]),select){background:var(--hf-bg);border:1px solid var(--hf-border);color:var(--hf-ink);border-radius:12px;min-height:48px;font-size:16px;font-weight:400;width:100%;min-width:0}
.hf-source-page .hf-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.hf-source-page .source-card{margin:0;padding:20px;border:1px solid var(--hf-border);border-radius:22px;background:var(--hf-surface)}
.hf-source-page .source-card>.eyebrow{font-size:11px;letter-spacing:.2px;color:var(--hf-muted)}
.hf-source-page .source-card h3{font-size:19px;letter-spacing:-.4px}
.hf-source-page .source-rights,.hf-source-page .source-capabilities{border-top:1px solid var(--hf-border);padding-top:10px}
.hf-source-page .source-capabilities{margin-top:20px}
.hf-source-page .imp-recent{border-top:1px solid var(--hf-border);margin-top:24px;padding-top:20px}
.hf-source-page .imp-recent>.between{border-bottom:1px solid var(--hf-line);padding:12px 0;align-items:flex-start}
.hf-source-page .imp-recent>.between>span{min-width:0;overflow-wrap:anywhere}
/* The existing local search review stays inline, below the field, and keeps all selectors. */
.hf-list-page .lc-review{border:1px solid var(--hf-border);border-radius:20px;background:var(--hf-surface);padding:17px}
.hf-list-page .lc-review .lc-review-identity strong{font-size:17px;font-weight:600;line-height:1.4}
.hf-list-page .lc-review .btn{min-height:44px;border-radius:14px}
@media(max-width:767px){
 .hf-catalogue-heading{display:block;margin-bottom:17px}.hf-catalogue-heading>.btn{margin-top:15px}
 .hf-catalogue-page h1{font-size:27px}.hf-catalogue-page h2{font-size:18px}
 .hf-catalogue-search{gap:10px}.hf-catalogue-search .checkline{font-size:11px}
 .hf-catalogue-section-title{flex-wrap:wrap}.hf-catalogue-section-title .btn{margin-left:auto}
 .hf-catalogue-page .hf-catalogue-row,.hf-catalogue-dialog .hf-catalogue-row{gap:11px;grid-template-columns:52px minmax(0,1fr) 44px}
 .hf-catalogue-row.cat-unlinked-row .cat-link-button{grid-column:2;justify-self:start}.hf-catalogue-row.cat-unlinked-row>.iconbtn{grid-column:3;grid-row:1}
 .hf-catalogue-photo{width:52px;height:64px}.hf-catalogue-photo>.cat-thumb{width:52px}
 dialog.hf-catalogue-dialog{width:100%;max-width:620px;max-height:calc(100dvh - 15px);margin:auto auto 0;border-radius:26px 26px 0 0;border-bottom:0}
 .hf-catalogue-dialog .sheet-head{padding:14px 16px 4px}.hf-catalogue-dialog .sheet-head h2{font-size:19px}
 .hf-catalogue-dialog .sheet-body{padding:8px 20px 16px}.hf-catalogue-dialog .sheet-footer{padding:12px 20px max(17px,env(safe-area-inset-bottom))}
 .hf-catalogue-dialog .cat-two{grid-template-columns:minmax(0,1fr)}
 .hf-catalogue-dialog .pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hf-catalogue-dialog .cat-gallery{gap:10px}.hf-catalogue-dialog .cat-photo-card>img{height:154px}.hf-catalogue-dialog .cat-photo-card>div{padding:11px}
 .hf-source-page .hf-source-grid{grid-template-columns:minmax(0,1fr)}.hf-source-page .source-form{padding:18px}
 .hf-source-page .source-form .between{align-items:flex-start}
}
@media(max-width:359px){
 .hf-catalogue-heading>.btn{width:100%}.hf-catalogue-search{flex-wrap:wrap}.hf-catalogue-search>.field{flex-basis:100%}
 .hf-catalogue-search .checkline{margin-left:auto}.hf-catalogue-page .cat-row-main strong{font-size:15px}
 .hf-catalogue-dialog .sheet-head{padding-inline:12px}.hf-catalogue-dialog .sheet-body,.hf-catalogue-dialog .sheet-footer{padding-inline:16px}
 .hf-catalogue-dialog .cat-gallery{grid-template-columns:minmax(0,1fr)}.hf-catalogue-dialog .cat-actions{grid-template-columns:minmax(0,1fr)}
 .hf-catalogue-dialog .cat-two{gap:0}.hf-catalogue-dialog .imp-format{grid-template-columns:repeat(2,minmax(0,1fr))}.hf-catalogue-dialog .imp-format>.field:first-child{grid-column:1/-1}
 .hf-catalogue-dialog .cat-detail-hero .large{width:76px;height:90px;flex-basis:76px}
}
@media(prefers-reduced-motion:reduce){.hf-catalogue-page *,.hf-catalogue-dialog[open],.hf-catalogue-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root[data-reduced=true] :is(.hf-catalogue-page,.hf-catalogue-dialog)[open],:root[data-reduced=true] :is(.hf-catalogue-page,.hf-catalogue-dialog) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(forced-colors:active){.hf-catalogue-page .btn,.hf-catalogue-dialog .btn,.hf-catalogue-page .iconbtn,.hf-catalogue-dialog .iconbtn{border:1px solid ButtonText}.hf-catalogue-tabs .selected{outline:2px solid Highlight}.hf-catalogue-dialog{border:1px solid CanvasText}}

/* The provider identity remains inspectable without repeating a full source card above the form. */
.hf-catalogue-dialog .hf-source-kicker{font-size:12px;color:var(--hf-muted);font-weight:500}
.hf-catalogue-dialog .hf-source-provenance>summary{min-height:44px;display:flex;align-items:center;font-size:13px;color:var(--hf-green);cursor:pointer}
.hf-catalogue-dialog .hf-source-provenance>summary::after{content:"+";margin-left:auto;font-size:20px}
.hf-catalogue-dialog .hf-source-provenance[open]>summary::after{content:"−"}

/* Typography follows the approved list hierarchy, also on small screens. */
@media(max-width:767px){.hf-catalogue-page h1{font-size:24px;letter-spacing:-.6px}.hf-catalogue-page .cat-row-main strong,.hf-catalogue-dialog .cat-row-main strong{font-size:14px}}
@media(max-width:359px){.hf-catalogue-page h1{font-size:22px}}

/* ui/home-first/pantry.css */
/* 24.5.8: pantry surfaces only. Existing business forms/commands and classic stay intact. */
.hf-pantry-page,.hf-pantry-dialog{--brand:var(--hf-green);--brand-strong:var(--hf-green-dark);--green:var(--hf-green);--text:var(--hf-ink);--muted:var(--hf-muted);--bg:var(--hf-bg);--panel:var(--hf-surface);--soft:var(--hf-soft);--green-soft:var(--hf-hero);--line:var(--hf-border);color:var(--hf-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.hf-pantry-page{max-width:1040px;margin:0 auto;padding:6px 0 28px;line-height:1.5}
.hf-pantry-page .hf-pantry-heading{display:flex;align-items:flex-start;gap:16px;margin:0 0 20px}
.hf-pantry-heading>div{flex:1;min-width:0}
.hf-pantry-page .pan-heading h1{font-size:27px;font-weight:730;line-height:1.18;letter-spacing:-.8px;margin:0 0 8px;overflow-wrap:anywhere}
.hf-pantry-page .pan-heading p{font-size:14px;line-height:1.5;color:var(--hf-muted);margin:0}
.hf-pantry-page .iconbtn{width:44px;height:44px;min-height:44px;flex-shrink:0;border-radius:50%;color:var(--hf-green-dark)}
.hf-pantry-page .hf-pantry-add{background:var(--hf-green);color:var(--hf-green-on);border:0}
.hf-pantry-page :is(.btn,.iconbtn),.hf-pantry-dialog :is(.btn,.iconbtn){min-height:44px;transform:none;line-height:1.4;font-size:14px;white-space:normal}
.hf-pantry-page .btn,.hf-pantry-dialog .btn{border-radius:999px;padding:11px 16px;gap:8px;box-shadow:none;font-weight:600}
.hf-pantry-page .primary,.hf-pantry-dialog .primary{background:var(--hf-green);border-color:var(--hf-green);color:var(--hf-green-on)}
.hf-pantry-page .secondary,.hf-pantry-dialog .secondary{background:var(--hf-surface);border-color:var(--hf-border);color:var(--hf-ink)}
.hf-pantry-page .ghost,.hf-pantry-dialog .ghost{background:transparent;border-color:transparent;color:var(--hf-green-dark)}
.hf-pantry-page .selected,.hf-pantry-dialog .selected{background:var(--hf-green);color:var(--hf-green-on);border-color:var(--hf-green)}
.hf-pantry-page :is(button,a,input,summary):focus-visible,.hf-pantry-dialog :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--hf-focus);outline-offset:3px}
.hf-pantry-page .hf-pantry-search{position:relative;display:flex;align-items:center;gap:8px;background:var(--hf-soft);border:1px solid transparent;border-radius:16px;margin:0 0 14px;padding:2px 4px 2px 14px;min-height:52px}
.hf-pantry-search>svg{width:20px;height:20px;flex-shrink:0;color:var(--hf-muted)}
.hf-pantry-page .hf-pantry-search input:not([type=checkbox]):not([type=radio]){min-width:0;width:100%;flex:1;border:0;background:transparent;color:var(--hf-ink);border-radius:8px;min-height:44px;font-size:16px;padding:8px 0;margin:0;box-shadow:none}
.hf-pantry-search input::placeholder{color:var(--hf-muted);opacity:1}
.hf-pantry-page .hf-pantry-tabs{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;border:0;border-radius:0;background:none;margin:0 -3px 10px;padding:4px 3px 8px;max-width:calc(100% + 6px)}
.hf-pantry-tabs .btn{flex:0 0 auto;white-space:nowrap;font-size:13px;padding:10px 14px;font-weight:500}
.hf-pantry-tabs .ghost{background:var(--hf-soft);color:var(--hf-ink)}
.hf-pantry-section{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:6px 0}
.hf-pantry-section h2{font-size:16px;line-height:1.4;letter-spacing:-.2px}
.hf-pantry-section .btn{padding:8px 0;font-size:13px;text-align:right;flex-shrink:0}
.hf-pantry-page .pan-grid{display:block}
.hf-pantry-page .hf-pantry-row{display:flex;align-items:center;gap:2px;padding:9px 0;border:0;border-bottom:1px solid var(--hf-line);border-radius:0;background:transparent;margin:0;min-width:0}
.hf-pantry-page .pan-row-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1;border:0;border-radius:12px;background:none;color:var(--hf-ink);padding:8px 2px;text-align:left;transform:none}
.hf-pantry-page .pan-thumb,.hf-pantry-dialog .pan-thumb{width:46px;height:60px;border:0;border-radius:10px;background:var(--hf-soft);color:var(--hf-muted);flex-shrink:0;overflow:hidden;display:grid;place-items:center}
.hf-pantry-page .pan-thumb img,.hf-pantry-dialog .pan-thumb img{width:100%;height:100%;object-fit:contain;background:white}
.hf-pantry-page .pan-thumb svg,.hf-pantry-dialog .pan-thumb svg{width:24px;height:24px}
.hf-pantry-page .pan-copy{min-width:0;flex:1}
.hf-pantry-page .pan-copy>strong{display:block;font-size:16px;font-weight:600;line-height:1.35;letter-spacing:-.2px;overflow-wrap:anywhere}
.hf-pantry-page .pan-copy>small{font-size:12px;line-height:1.5;color:var(--hf-muted);margin-top:4px}
.hf-pantry-page .pan-meta{font-size:11px;line-height:1.4;color:var(--hf-muted);margin-top:5px}
.hf-pantry-page .pan-value{flex-shrink:0;min-width:64px;max-width:100px;text-align:center;border-radius:12px;background:var(--hf-soft);color:var(--hf-green-dark);padding:8px 9px}
.hf-pantry-page .pan-value strong{font-size:13px;line-height:1.35;font-weight:600}
.hf-pantry-page .pan-value small{font-size:10px;line-height:1.35;margin-top:3px;color:inherit}
.hf-pantry-page [data-pantry-status=low],.hf-pantry-page [data-pantry-status=review]{background:var(--hf-warnbg);color:var(--hf-warning)}
.hf-pantry-page [data-pantry-status=none]{color:var(--hf-coral);background:var(--hf-surface)}
.hf-pantry-page [data-pantry-status=unknown],.hf-pantry-page [data-pantry-status=paused]{color:var(--hf-muted)}
.hf-pantry-page .notice,.hf-pantry-dialog .notice{background:var(--hf-warnbg);color:var(--hf-warning);border:1px solid var(--hf-border);border-radius:16px;font-size:13px;line-height:1.6;padding:14px;margin:14px 0}
.hf-pantry-conflict p,.hf-pantry-paused p{margin:6px 0 12px}
.hf-pantry-page .pan-date-banner{border:0;background:var(--hf-soft);color:var(--hf-green-dark);border-radius:14px;min-height:48px;font-size:12px;line-height:1.5;padding:12px;margin:4px 0 10px}
.hf-pantry-page .pan-empty{background:var(--hf-soft);border:0;border-radius:22px;padding:32px 24px;margin:10px 0;text-align:center}
.hf-pantry-page .pan-empty h2{font-size:21px;letter-spacing:-.5px}.hf-pantry-page .pan-empty p{font-size:14px;color:var(--hf-muted)}
.hf-pantry-tools{border-bottom:1px solid var(--hf-line);margin-top:16px}
.hf-pantry-tools>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;cursor:pointer;font-size:13px;color:var(--hf-muted);list-style:none}
.hf-pantry-tools>summary::-webkit-details-marker{display:none}.hf-pantry-tools[open]>summary>svg{transform:rotate(90deg)}
.hf-pantry-tools p,.hf-pantry-page .pan-foot,.hf-pantry-page .helper{font-size:12px;line-height:1.65;color:var(--hf-muted)}
.hf-pantry-tools p{margin:12px 0}.hf-pantry-page .pan-foot{margin:16px 0 0}
.hf-pantry-page .pan-group{background:var(--hf-surface);border:1px solid var(--hf-border);border-radius:20px;padding:18px;margin:12px 0}
.hf-pantry-page .pan-group h3{font-size:17px}.hf-pantry-page .pan-group .pan-value{max-width:40%;background:var(--hf-soft)}
.hf-pantry-page .pan-group-links .btn{display:flex;justify-content:flex-start;font-size:14px;text-align:left;padding:10px 0;min-height:44px}
.hf-pantry-detail .backline{margin:0 0 12px}.hf-pantry-detail .backline .btn{padding-left:0}
.hf-pantry-detail .pan-heading h1{font-size:27px}.hf-pantry-detail .pan-heading .hf-pantry-family{font-size:12px;margin-bottom:6px}
.hf-pantry-page .pan-balance{background:var(--hf-hero);border:0;border-radius:24px;padding:22px;gap:20px}
.hf-pantry-page .pan-balance.is-review{background:var(--hf-warnbg)}
.hf-pantry-page .pan-balance .pan-thumb{width:72px;height:90px;background:var(--hf-surface);border-radius:14px}
.hf-pantry-page .pan-balance-number{font-size:32px;line-height:1.2;letter-spacing:-1px;color:var(--hf-green-dark);margin:6px 0 10px}
.hf-pantry-page .pan-balance p{font-size:12px;color:var(--hf-muted);line-height:1.6}
.hf-pantry-page .pan-balance .hf-pantry-mode{font-size:13px;font-weight:600;color:var(--hf-green-dark)}
.hf-pantry-status-note{display:inline-block;margin-top:5px;font-size:12px;color:var(--hf-muted)}
.hf-pantry-page .pan-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0 12px}
.hf-pantry-page .pan-status-grid .btn{font-size:13px;padding:10px 8px}
.hf-pantry-page .pan-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 16px}
.hf-pantry-page .pan-toolbar .btn{flex:1 1 auto;font-size:13px;padding:12px}
.hf-pantry-caveat{font-size:12px;line-height:1.7;color:var(--hf-muted);margin:14px 0 24px}
.hf-pantry-page .section-heading{margin:24px 0 10px}.hf-pantry-page .section-heading h2{font-size:20px;letter-spacing:-.5px}
.hf-pantry-page .pan-event{border-bottom:1px solid var(--hf-line);padding:16px 0}
.hf-pantry-page .pan-event :is(strong,span){font-size:14px;line-height:1.5}.hf-pantry-page .pan-event small{font-size:12px;color:var(--hf-muted)}
.hf-pantry-page .pan-event p{font-size:13px}.hf-pantry-page .pan-event .btn{font-size:12px;padding-left:0}
.hf-pantry-page .is-void{opacity:1;color:var(--hf-muted)}
.hf-pantry-page .pan-date-row,.hf-pantry-dialog .pan-date-row{background:var(--hf-surface);border:1px solid var(--hf-border);color:var(--hf-ink);border-radius:16px;padding:14px;min-height:48px}
.hf-pantry-page .pan-date-row strong,.hf-pantry-dialog .pan-date-row strong{font-size:14px}.hf-pantry-page .pan-date-row small,.hf-pantry-dialog .pan-date-row small{font-size:12px;color:var(--hf-muted)}
.hf-pantry-bottom-actions{padding-top:8px}
/* One native sheet, same input names, confirmations and reversible commands. */
dialog.hf-pantry-dialog{background:var(--hf-surface);color:var(--hf-ink);width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:1px solid var(--hf-border);border-radius:26px;padding:0;overflow:hidden;box-shadow:0 18px 60px #0003}
dialog.hf-pantry-dialog[open]{display:flex;flex-direction:column}
.hf-pantry-dialog .sheet-head{background:var(--hf-surface);border:0;gap:12px;padding:20px 22px 10px;flex-shrink:0}
.hf-pantry-dialog .sheet-head h2{font-size:22px;line-height:1.3;letter-spacing:-.5px;font-weight:700;overflow-wrap:anywhere;min-width:0}
.hf-pantry-dialog .sheet-head>.iconbtn{width:44px;height:44px;flex-shrink:0;border-radius:50%;color:var(--hf-muted)}
.hf-pantry-dialog .sheet-body{overflow:auto;overscroll-behavior:contain;padding:10px 22px 22px;min-height:0;scroll-padding:14px}
.hf-pantry-dialog .sheet-footer{flex-shrink:0;display:flex;gap:10px;padding:14px 22px max(18px,env(safe-area-inset-bottom));background:var(--hf-surface);border-top:1px solid var(--hf-border)}
.hf-pantry-dialog .sheet-footer>.btn{flex:1;min-width:0}
.hf-pantry-dialog .field{font-size:13px;font-weight:600;color:var(--hf-ink);margin:14px 0;min-width:0;line-height:1.5}
.hf-pantry-dialog :is(input:not([type=checkbox]),select,textarea){background:var(--hf-bg);color:var(--hf-ink);border:1px solid var(--hf-border);border-radius:12px;min-height:48px;font-size:16px;font-weight:400;width:100%;min-width:0;padding:11px 12px}
.hf-pantry-dialog input[type=checkbox]{accent-color:var(--hf-green);width:20px;height:20px;flex-shrink:0}
.hf-pantry-dialog .checklabel{min-height:44px;align-items:center;color:var(--hf-ink);font-size:13px;line-height:1.5;margin:8px 0}
.hf-pantry-dialog .checklabel span{min-width:0;overflow-wrap:anywhere}
.hf-pantry-dialog :is(.helper,.field small){font-size:12px;line-height:1.6;font-weight:400;color:var(--hf-muted)}
.hf-pantry-dialog summary{font-size:13px;min-height:44px;padding:10px 0;cursor:pointer;line-height:1.6;color:var(--hf-muted)}
.hf-pantry-dialog .inline-error{color:var(--hf-coral);font-size:13px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
.hf-pantry-dialog .pan-intake-row{color:var(--hf-ink);min-height:66px;gap:12px;padding:14px 0;border-bottom:1px solid var(--hf-line)}
.hf-pantry-dialog .pan-intake-row strong{font-size:15px}.hf-pantry-dialog .pan-intake-row small{font-size:12px;color:var(--hf-muted);line-height:1.5}.hf-pantry-dialog .pan-intake-row>span:last-of-type{font-size:13px}
.hf-pantry-dialog .pan-intake-title h3{font-size:19px;line-height:1.4;letter-spacing:-.4px}.hf-pantry-dialog .pan-intake-title p{font-size:12px;color:var(--hf-muted)}
.hf-pantry-options-list{display:grid;gap:10px;margin:14px 0}.hf-pantry-options-list .btn{justify-content:flex-start;text-align:left}
@media(min-width:900px){.hf-pantry-page{max-width:960px}.hf-pantry-page .pan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:0}.hf-pantry-detail{max-width:720px}.hf-pantry-page .pan-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:380px){.hf-pantry-page .pan-row-main{gap:8px}.hf-pantry-page .pan-thumb{width:36px;height:50px}.hf-pantry-page .pan-value{min-width:58px;max-width:80px;padding:8px 6px}.hf-pantry-page .pan-value strong{font-size:12px}.hf-pantry-section{gap:6px}.hf-pantry-section h2{font-size:15px}.hf-pantry-section .btn{font-size:12px}.hf-pantry-section .btn svg{display:none}.hf-pantry-page .pan-balance{padding:16px;gap:12px}}
@media(max-width:600px){dialog.hf-pantry-dialog{width:100%;max-height:calc(100dvh - 12px);margin:auto 0 0;border-radius:26px 26px 0 0}.hf-pantry-dialog .sheet-head{padding:18px 18px 10px}.hf-pantry-dialog .sheet-body{padding:8px 18px 18px}.hf-pantry-dialog .sheet-footer{padding:12px 18px max(18px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:no-preference){.hf-pantry-page :is(.btn,.iconbtn),.hf-pantry-dialog .btn{transition:background var(--hf-time),color var(--hf-time)}.hf-pantry-page .hf-pantry-add>svg{transition:transform 120ms}.hf-pantry-page .hf-pantry-add:active>svg{transform:scale(.9)}}
@media(prefers-reduced-motion:reduce){.hf-pantry-page *,.hf-pantry-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root[data-reduced=true] :is(.hf-pantry-page,.hf-pantry-dialog) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}

@media(forced-colors:active){.hf-pantry-page .pan-value,.hf-pantry-page .pan-balance,.hf-pantry-page .selected,.hf-pantry-dialog .selected{border:1px solid ButtonText}.hf-pantry-page :is(button,a,input,summary):focus-visible,.hf-pantry-dialog :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid Highlight}.hf-pantry-page .pan-value[data-pantry-status]{color:CanvasText}}

/* Match approved page-heading scale; detailed product names retain their own layout. */
@media(max-width:767px){.hf-pantry-page:not(.hf-pantry-detail) .pan-heading h1{font-size:24px;letter-spacing:-.6px}}
@media(max-width:359px){.hf-pantry-page:not(.hf-pantry-detail) .pan-heading h1{font-size:22px}}

/* ui/home-first/history.css */
/* 24.5.9 — Memory and receipt presentation only. No global retheme of Classic. */
.hf-memory-page,.hf-memory-dialog{--brand:var(--hf-green);--brand-strong:var(--hf-green-dark);--green:var(--hf-green);--text:var(--hf-ink);--muted:var(--hf-muted);--bg:var(--hf-bg);--panel:var(--hf-surface);--soft:var(--hf-soft);--green-soft:var(--hf-hero);--line:var(--hf-border);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--hf-ink)}
.hf-memory-page{max-width:1040px;margin:0 auto;padding:6px 0 28px;line-height:1.5}
.hf-memory-page :is(h1,h2,h3,p){overflow-wrap:anywhere}
.hf-memory-page h1{font-size:27px;font-weight:730;line-height:1.18;letter-spacing:-.8px;margin:0 0 8px}
.hf-memory-heading{display:flex;align-items:flex-start;gap:16px;margin:0 0 20px}
.hf-memory-heading>div{flex:1;min-width:0}.hf-memory-heading p{color:var(--hf-muted);font-size:14px;margin:0;line-height:1.5}
.hf-memory-page .iconbtn,.hf-memory-dialog .iconbtn{width:44px;min-width:44px;min-height:44px;height:44px;flex-shrink:0;border-radius:50%;color:var(--hf-green-dark)}
.hf-memory-page .hf-memory-add{background:var(--hf-green);color:var(--hf-green-on);border:0}
.hf-memory-page :is(.btn,.iconbtn),.hf-memory-dialog :is(.btn,.iconbtn){min-height:44px;transform:none;line-height:1.4;font-size:14px;white-space:normal}
.hf-memory-page .btn,.hf-memory-dialog .btn{border-radius:999px;padding:11px 16px;gap:8px;box-shadow:none;font-weight:600}
.hf-memory-page .primary,.hf-memory-dialog .primary{background:var(--hf-green);border-color:var(--hf-green);color:var(--hf-green-on)}
.hf-memory-page .secondary,.hf-memory-dialog .secondary{background:var(--hf-surface);border-color:var(--hf-border);color:var(--hf-ink)}
.hf-memory-page .ghost,.hf-memory-dialog .ghost{background:transparent;border-color:transparent;color:var(--hf-green-dark)}
.hf-memory-page .selected,.hf-memory-dialog .selected{background:var(--hf-green);color:var(--hf-green-on);border-color:var(--hf-green)}
.hf-memory-page :is(button,a,input,select,textarea,summary):focus-visible,.hf-memory-dialog :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--hf-focus);outline-offset:3px}
.hf-memory-tabs,.hf-ticket-filters{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:4px 3px 8px;margin:0 -3px 12px;max-width:calc(100% + 6px)}
.hf-memory-tabs .btn,.hf-ticket-filters .btn{white-space:nowrap;flex:0 0 auto;padding:10px 15px;font-size:13px;font-weight:550}
.hf-memory-tabs .ghost,.hf-ticket-filters .ghost{background:var(--hf-soft);color:var(--hf-ink)}
.hf-memory-page .hf-history-filters{display:block;margin:0 0 12px;padding:0;background:none;border:0;box-shadow:none}
.hf-memory-page .hist-period{display:flex;align-items:center;justify-content:flex-start;gap:3px;margin:4px 0 14px;min-width:0;background:none}
.hf-memory-page .hist-period input{min-width:0;flex:1;max-width:240px;font-size:14px;padding:10px 6px;border:0;background:transparent;color:var(--hf-ink);height:44px}
.hf-memory-page .currency-filter{margin:0 0 0 auto;min-width:0;flex:none;width:auto}
.hf-memory-page .currency-filter select{font-size:13px;height:44px;min-height:44px;background:var(--hf-soft);border:0;border-radius:12px;padding:8px;width:72px}
.hf-memory-search{display:flex;align-items:center;gap:8px;border:1px solid transparent;background:var(--hf-soft);border-radius:16px;padding:2px 4px 2px 14px;min-height:52px;margin:0 0 10px}
.hf-memory-search>svg{width:20px;height:20px;flex-shrink:0;color:var(--hf-muted)}
.hf-memory-page .hf-memory-search input:not([type=checkbox]):not([type=radio]){border:0;box-shadow:none;background:transparent;color:var(--hf-ink);min-width:0;width:100%;flex:1;font-size:16px;min-height:44px;padding:8px 0;margin:0;border-radius:8px}
.hf-memory-search input::placeholder{color:var(--hf-muted);opacity:1}
.hf-memory-page :is(.hist-more-filters,.hf-memory-tools){border:0;border-bottom:1px solid var(--hf-line);border-radius:0;background:none;margin:8px 0;padding:0}
.hf-memory-page :is(.hist-more-filters,.hf-memory-tools)>summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;cursor:pointer;font-size:13px;color:var(--hf-muted);list-style:none;padding:10px 0}
.hf-memory-page :is(.hist-more-filters,.hf-memory-tools)>summary::-webkit-details-marker{display:none}
.hf-memory-page .hist-more-filters>summary::after{content:'+';font-size:20px;font-weight:400;margin-left:8px}
.hf-memory-page .hist-more-filters[open]>summary::after{content:'−'}
.hf-memory-page .hf-memory-tools[open]>summary>svg{transform:rotate(90deg)}
.hf-memory-page .hist-search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:6px 0 12px}
.hf-memory-page .field{font-size:13px;color:var(--hf-ink);min-width:0}
.hf-memory-page .field :is(input,select){min-height:44px;min-width:0;width:100%;background:var(--hf-surface);border:1px solid var(--hf-border);border-radius:12px;padding:10px;font-size:14px;color:var(--hf-ink)}
.hf-memory-page .helper,.hf-memory-tools p,.hf-memory-page .hf-memory-filter-note{font-size:12px;line-height:1.65;color:var(--hf-muted)}
.hf-memory-page .hf-memory-active-filters{font-size:12px;color:var(--hf-green-dark);margin:8px 0;font-weight:600}
.hf-memory-page .hf-memory-overview{border:0;border-radius:18px;padding:14px 16px;background:var(--hf-hero);margin:12px 0 18px}
.hf-memory-overview>div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;font-size:15px}
.hf-memory-overview>div>span{font-weight:650;color:var(--hf-green-dark);font-variant-numeric:tabular-nums}
.hf-memory-overview>p{font-size:12px;line-height:1.6;color:var(--hf-muted);margin:6px 0 0}
.hf-memory-overview .hf-memory-quality{color:var(--hf-warning);margin-top:8px}
.hf-memory-section{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:18px 0 12px}
.hf-memory-section h2{font-size:18px;line-height:1.35;margin:0}.hf-memory-section>span{font-size:11px;color:var(--hf-muted);text-align:right}
.hf-memory-page :is(.hist-purchases,.ticket-list){display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:8px 0 20px}
.hf-memory-page .hf-memory-row,.hf-memory-dialog .hf-memory-row{display:flex;align-items:center;gap:12px;padding:14px 12px;min-width:0;width:100%;border:1px solid var(--hf-border);background:var(--hf-surface);border-radius:20px;color:var(--hf-ink);text-align:left;box-shadow:none;transform:none}
.hf-memory-row :is(.hist-row-copy,.ticket-card-copy){flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.hf-memory-row :is(.hist-row-copy,.ticket-card-copy)>strong{font-size:15px;line-height:1.4;font-weight:600;letter-spacing:-.2px;overflow-wrap:anywhere}
.hf-memory-row :is(.hist-row-copy,.ticket-card-copy)>small{font-size:11px;line-height:1.5;color:var(--hf-muted)}
.hf-memory-row .hist-row-price,.hf-memory-row .ticket-card-amount{font-size:15px;font-weight:650;min-width:0;max-width:36%;display:flex;flex-direction:column;gap:7px;text-align:right;align-items:flex-end;flex:none;color:var(--hf-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.hf-memory-row .hist-row-price strong{font-size:15px;line-height:1.35}.hf-memory-row .hist-row-price small{font-size:11px;color:var(--hf-muted);font-weight:400}
.hf-memory-row :is(.hist-row-price,.ticket-card-amount)>.icon{width:16px;height:16px;color:var(--hf-muted)}
.hf-receipt-thumb{width:44px;height:58px;flex:none;position:relative;display:grid;place-items:center;overflow:hidden;background:var(--hf-soft);color:var(--hf-green-dark);border-radius:12px}
.hf-receipt-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.hf-receipt-thumb img:not([src]){display:none}.hf-receipt-thumb small{font-size:9px;font-weight:700;position:absolute;bottom:3px;line-height:1.2}
.hf-memory-state,.hf-memory-page .receipt-status{font-size:10px;line-height:1.5;font-weight:550;padding:3px 8px;border-radius:8px;align-self:flex-start;max-width:100%;white-space:normal;letter-spacing:0;text-transform:none;background:var(--hf-soft);color:var(--hf-muted)}
.hf-memory-state.confirmed,.hf-memory-page .receipt-status.confirmed{background:var(--hf-hero);color:var(--hf-green-dark)}
.hf-memory-state.partial,.hf-memory-page .receipt-status.partial,.hf-memory-page .receipt-status.review{background:var(--hf-warnbg);color:var(--hf-warning)}
.hf-memory-page .receipt-status.void{color:var(--hf-coral);background:var(--hf-surface);border:1px solid var(--hf-border)}
.hf-memory-page .hf-memory-local{color:var(--hf-warning)!important}
.hf-memory-tool-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 18px}
.hf-memory-page :is(.hf-memory-empty,.hist-empty){text-align:center;background:var(--hf-soft);padding:32px 24px;border:0;border-radius:22px;margin:12px 0}
.hf-memory-page :is(.hf-memory-empty,.hist-empty)>svg{width:40px;height:40px;color:var(--hf-muted)}
.hf-memory-page :is(.hf-memory-empty,.hist-empty) h2{font-size:21px;letter-spacing:-.5px;line-height:1.3;margin:16px 0 10px}
.hf-memory-page :is(.hf-memory-empty,.hist-empty) p{font-size:14px;color:var(--hf-muted);line-height:1.65;margin-bottom:20px}
.hf-memory-page .notice,.hf-memory-dialog .notice{background:var(--hf-warnbg);color:var(--hf-warning);border:1px solid var(--hf-border);border-radius:16px;font-size:13px;line-height:1.65;padding:14px;margin:14px 0}
.hf-memory-page .notice.error,.hf-memory-dialog .notice.error{color:var(--hf-coral);background:var(--hf-surface)}
.hf-memory-page .notice .helper,.hf-memory-dialog .notice .helper{color:inherit}
.hf-memory-page .hist-hero{background:var(--hf-hero);color:var(--hf-green-dark);border:0;box-shadow:none;border-radius:22px;padding:22px}
.hf-memory-page .hist-hero .eyebrow{color:var(--hf-green-dark);font-size:12px;letter-spacing:0}
.hf-memory-page .hist-total{font-size:36px;line-height:1.2;margin:14px 0}
.hf-memory-page .hist-hero-bottom{border-color:var(--hf-border);color:var(--hf-muted);font-size:12px}
.hf-memory-page .hist-quality{color:var(--hf-muted);font-size:12px;gap:10px;flex-wrap:wrap}
.hf-memory-page .panel{border:1px solid var(--hf-border);border-radius:20px;background:var(--hf-surface);padding:18px;box-shadow:none}
.hf-memory-page h2{font-size:20px;line-height:1.35;letter-spacing:-.4px}
.hf-memory-page .hist-bucket{color:var(--hf-ink);border-color:var(--hf-line);min-height:56px;font-size:14px}
.hf-memory-page .hist-bucket-track>span,.hf-memory-page .hist-bar-fill{background:var(--hf-green)}
.hf-memory-page .hist-bar.selected{outline-color:var(--hf-green)}
.hf-memory-page .hist-products{display:block}
.hf-memory-page .hist-product-card{width:100%;display:flex;align-items:center;gap:12px;padding:16px 0;background:none;border:0;border-bottom:1px solid var(--hf-line);border-radius:0;box-shadow:none;transform:none;color:var(--hf-ink)}
.hf-memory-page .hist-product-card .hist-row-icon{background:var(--hf-soft);color:var(--hf-green-dark);width:44px;height:54px;border-radius:12px;flex:none}
.hf-memory-page .hist-product-card .hist-row-copy strong{font-size:16px;font-weight:600;line-height:1.35}
.hf-memory-page .hist-product-card .hist-row-copy small{font-size:12px;line-height:1.5;color:var(--hf-muted)}
.hf-memory-page .hist-product-card .hist-row-price{max-width:30%;font-size:13px;overflow-wrap:anywhere}
.hf-memory-page .hist-product-card .hist-row-price strong{font-size:13px;line-height:1.5}
.hf-price-page{max-width:820px}.hf-price-page .hist-product-heading{margin:12px 0 20px}.hf-memory-kicker{font-size:12px;color:var(--hf-muted);margin:8px 0}
.hf-price-page .hist-product-heading p{color:var(--hf-muted);font-size:13px;line-height:1.6}
.hf-price-page .hist-product-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hf-price-page .hist-filter-label{font-size:12px}
.hf-price-page :is(input:not([type=checkbox]),select){min-height:44px;border-color:var(--hf-border);border-radius:12px;background:var(--hf-surface);color:var(--hf-ink);font-size:14px}
.hf-price-page .hist-last-price{font-size:30px;color:var(--hf-green-dark)}
.hf-price-page .hist-metric-grid{gap:8px}.hf-price-page .hist-metric-grid>div{background:var(--hf-soft);border-radius:12px;padding:12px}
.hf-price-page .chart-price-line{stroke:var(--hf-green)}.hf-price-page .chart-point{fill:var(--hf-green)}
.hf-price-page .hist-observation{background:var(--hf-surface);color:var(--hf-ink);border-color:var(--hf-line);min-height:64px;padding:14px 0;font-size:14px}
.hf-price-page .hist-observation small{color:var(--hf-muted);font-size:12px}
.hf-ticket-detail{max-width:800px;padding-bottom:132px}
.hf-ticket-detail .backline{margin-bottom:16px}.hf-ticket-detail .backline>.btn{padding-left:0}
.hf-receipt-heading{margin:0 0 20px}.hf-receipt-heading h1{margin-top:12px}.hf-receipt-heading>p{font-size:13px;color:var(--hf-muted);margin:8px 0 16px}
.hf-memory-page .ticket-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px;border-radius:22px;background:var(--hf-hero);text-align:left}
.hf-memory-page .ticket-total>span{color:var(--hf-muted);font-size:13px}.hf-memory-page .ticket-total>strong{font-size:30px;line-height:1.2;letter-spacing:-.8px;color:var(--hf-green-dark);overflow-wrap:anywhere}
.hf-memory-page .ticket-workflow{background:none;border:0;padding:0;margin:14px 0 20px;display:flex;gap:8px;flex-wrap:wrap;font-size:12px}
.hf-memory-page .ticket-workflow span{border-radius:99px;background:var(--hf-soft);color:var(--hf-muted);padding:8px 12px}.hf-memory-page .ticket-workflow .done{color:var(--hf-green-dark);background:var(--hf-hero)}
.hf-memory-page .ticket-panel{background:transparent;border:0;box-shadow:none;border-radius:0;padding:16px 0;margin:0 0 10px;border-bottom:1px solid var(--hf-line)}
.hf-memory-page .ticket-panel h2{font-size:19px}.hf-memory-page .ticket-panel h2 small{font-size:12px;color:var(--hf-muted)}
.hf-memory-page .receipt-line{display:flex;gap:12px;align-items:center;padding:16px 0;min-height:76px;background:none;border:0;border-bottom:1px solid var(--hf-line);border-radius:0;transform:none;color:var(--hf-ink)}
.hf-memory-page .receipt-line-state{width:30px;min-width:30px;height:30px;border-radius:50%;background:var(--hf-warnbg);color:var(--hf-warning)}
.hf-memory-page .receipt-line.reviewed .receipt-line-state{background:var(--hf-soft);color:var(--hf-green-dark)}
.hf-memory-page .receipt-line-copy{flex:1;min-width:0}.hf-memory-page .receipt-line-copy strong{font-size:16px;line-height:1.4;font-weight:600;letter-spacing:-.2px}
.hf-memory-page .receipt-line :is(small,.warning-text){font-size:12px;line-height:1.55;color:var(--hf-muted)}
.hf-memory-page .receipt-line .warning-text{color:var(--hf-warning)}
.hf-memory-page .receipt-line-amount{font-size:15px;font-weight:650;max-width:32%;text-align:right;overflow-wrap:anywhere;flex-shrink:0}
.hf-memory-page .receipt-line-amount small{font-size:11px;font-weight:400}
.hf-memory-page .receipt-reconciliation{background:none}.hf-memory-page .receipt-math{font-size:14px}
.hf-memory-page .receipt-math .balanced{color:var(--hf-green-dark);background:var(--hf-hero);border-radius:12px;padding:12px}.hf-memory-page .receipt-math .unbalanced{color:var(--hf-warning);background:var(--hf-warnbg);padding:12px;border-radius:12px}
.hf-memory-page .ticket-photos{gap:12px}.hf-memory-page .photo-thumb{border-radius:12px;border:1px solid var(--hf-border);background:var(--hf-soft);width:88px;height:120px}
.hf-memory-page .photo-thumb img{width:100%;height:100%;object-fit:cover}.hf-memory-page .photo-add{gap:8px}.hf-memory-page .pdf-document{border:1px solid var(--hf-border);border-radius:16px;padding:12px;background:var(--hf-surface);gap:10px;min-width:0}
.hf-memory-page .pdf-copy{min-width:0}.hf-memory-page .pdf-copy strong{overflow-wrap:anywhere;font-size:14px}.hf-memory-page .pdf-copy small{color:var(--hf-muted);font-size:12px}.hf-memory-page .pdf-badge,.hf-memory-dialog .pdf-badge{background:var(--hf-soft);color:var(--hf-green-dark);border-radius:10px;flex:none}
.hf-memory-page .hf-ticket-cta.bottom-action{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:800px;display:flex;gap:10px;background:var(--hf-nav);padding:12px 0;box-shadow:none;z-index:9;margin:0;border:0}
.hf-ticket-cta .btn{flex:1;min-width:0}.hf-memory-page .ticket-session{font-size:12px;color:var(--hf-muted);gap:8px}
/* Existing dialogs, including PDF and reviewed receipt lines, retain forms and handlers. */
dialog.hf-memory-dialog{box-sizing:border-box;width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid var(--hf-border);border-radius:27px;background:var(--hf-surface);color:var(--hf-ink);box-shadow:0 18px 70px rgb(0 0 0 / 20%);overflow:hidden;line-height:1.5}
dialog.hf-memory-dialog[open]{display:flex;flex-direction:column}
dialog.hf-memory-dialog::backdrop{background:rgb(11 27 19 / 38%);backdrop-filter:blur(4px)}
.hf-memory-dialog .sheet-head{flex:none;display:flex;align-items:center;gap:10px;justify-content:space-between;padding:18px 22px 10px;border:0}
.hf-memory-dialog .sheet-head h2{font-size:20px;line-height:1.3;font-weight:720;letter-spacing:-.5px;color:var(--hf-ink);overflow-wrap:anywhere}
.hf-memory-dialog .sheet-body{padding:8px 24px 20px;overflow-y:auto;min-height:0;overscroll-behavior:contain;scroll-padding:16px}
.hf-memory-dialog .sheet-footer{flex:none;display:flex;gap:10px;padding:12px 24px max(18px,env(safe-area-inset-bottom));background:var(--hf-surface);border-top:1px solid var(--hf-border)}
.hf-memory-dialog .sheet-footer>.btn{flex:1;min-width:0}
.hf-memory-dialog .field{font-size:13px;font-weight:600;color:var(--hf-ink);margin:14px 0;min-width:0;line-height:1.5}
.hf-memory-dialog :is(input:not([type=checkbox]):not([type=range]),select,textarea){background:var(--hf-bg);color:var(--hf-ink);border:1px solid var(--hf-border);border-radius:12px;min-height:48px;font-size:16px;font-weight:400;width:100%;min-width:0;padding:11px 12px}
.hf-memory-dialog input[type=checkbox],.hf-memory-page input[type=checkbox]{accent-color:var(--hf-green);width:20px;height:20px;flex-shrink:0}
.hf-memory-dialog .checklabel,.hf-memory-page .checklabel{min-height:44px;align-items:center;font-size:13px;line-height:1.55;color:var(--hf-ink)}
.hf-memory-dialog .checklabel span{overflow-wrap:anywhere;min-width:0}
.hf-memory-dialog :is(.helper,.field small){font-size:12px;line-height:1.65;font-weight:400;color:var(--hf-muted)}
.hf-memory-dialog summary{font-size:13px;min-height:44px;padding:10px 0;cursor:pointer;line-height:1.6;color:var(--hf-muted)}
.hf-memory-dialog .ticket-details{border:0;border-bottom:1px solid var(--hf-line);border-radius:0;background:none;padding:0;margin-top:12px}
.hf-memory-dialog .inline-error{font-size:13px;font-weight:600;color:var(--hf-coral);line-height:1.6;overflow-wrap:anywhere}
.hf-memory-dialog .confirm-total{background:var(--hf-hero);border-radius:18px;padding:18px;color:var(--hf-green-dark);margin:12px 0 18px}
.hf-memory-dialog .confirm-total strong{font-size:30px}.hf-memory-dialog .confirm-total span{color:var(--hf-muted);font-size:13px}
.hf-memory-dialog .hist-receipt-head{background:var(--hf-hero);color:var(--hf-green-dark);padding:18px;border-radius:18px;font-size:13px;overflow-wrap:anywhere}
.hf-memory-dialog .hist-receipt-head strong{font-size:28px;line-height:1.2;color:var(--hf-green-dark)}
.hf-memory-dialog :is(.hist-receipt-line,.alias-row){font-size:14px;padding:14px 0;border-color:var(--hf-line);color:var(--hf-ink)}
.hf-memory-dialog :is(.hist-receipt-line,.alias-row) small{font-size:12px;color:var(--hf-muted)}
.hf-memory-dialog .hist-math{font-size:14px;line-height:1.5}.hf-memory-dialog .hist-math div{border-color:var(--hf-line)}
.hf-memory-dialog .adjustment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,100px) 44px;gap:8px;align-items:center}
.hf-memory-dialog .crop-preview{background:var(--hf-soft);border-radius:14px;overflow:hidden}.hf-memory-dialog .crop-preview img{max-width:100%;max-height:44dvh;object-fit:contain}
.hf-memory-dialog .pdf-summary{min-width:0;overflow-wrap:anywhere;gap:12px;color:var(--hf-ink)}
@media(min-width:900px){.hf-memory-page .hist-purchases,.hf-memory-page .ticket-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hf-memory-page .hf-history-filters{max-width:760px}.hf-ticket-detail .ticket-panel{padding:20px 0}}
@media(max-width:767px){.hf-memory-page>.hf-memory-heading h1{font-size:24px;letter-spacing:-.6px}.hf-memory-row :is(.hist-row-copy,.ticket-card-copy)>strong{font-size:14px}}
@media(max-width:600px){dialog.hf-memory-dialog{width:100%;max-height:calc(100dvh - 12px);margin:auto 0 0;border-radius:26px 26px 0 0}.hf-memory-dialog .sheet-head{padding:18px 18px 10px}.hf-memory-dialog .sheet-body{padding:8px 18px 18px}.hf-memory-dialog .sheet-footer{padding:12px 18px max(18px,env(safe-area-inset-bottom))}.hf-memory-page .hist-search-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:359px){.hf-memory-page>.hf-memory-heading h1{font-size:22px}.hf-memory-page .hf-memory-row{gap:8px;padding:12px 10px}.hf-receipt-thumb{width:34px;height:48px}.hf-memory-row .hist-row-price strong,.hf-memory-row .ticket-card-amount{font-size:13px}.hf-memory-page .hist-period{gap:0}.hf-memory-page .hist-period .iconbtn{width:40px;min-width:40px}.hf-memory-page .hist-period .currency-filter select{width:68px}.hf-memory-section>span{max-width:50%}.hf-ticket-detail .receipt-line{gap:8px}}
@media(prefers-reduced-motion:no-preference){.hf-memory-page :is(.btn,.hf-memory-row),.hf-memory-dialog .btn{transition:background var(--hf-time),color var(--hf-time)}.hf-memory-page .hf-memory-add>svg{transition:transform 120ms}.hf-memory-page .hf-memory-add:active>svg{transform:scale(.9)}}
@media(prefers-reduced-motion:reduce){.hf-memory-page *,.hf-memory-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root[data-reduced=true] :is(.hf-memory-page,.hf-memory-dialog) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(forced-colors:active){.hf-memory-page .selected,.hf-memory-state,.hf-memory-page .receipt-status,.hf-memory-page .hf-memory-overview{border:1px solid CanvasText}.hf-memory-page :is(button,a,input,select,summary):focus-visible,.hf-memory-dialog :is(button,a,input,select,summary):focus-visible{outline:3px solid Highlight}}

/* Keep purchases above the fold; explanations stay in the real disclosure. */
.hf-memory-page .hf-history-filters{margin-bottom:6px}
.hf-memory-page .hist-period{margin-bottom:2px}
.hf-memory-page .hf-memory-overview{margin:8px 0 14px;padding:12px 14px}
.hf-memory-page .hf-memory-quality{line-height:1.45;margin-top:5px}
.hf-memory-page .hist-more-filters[open] .hf-memory-search{margin-top:6px}

.hf-memory-page .hist-purchases{border:0;background:transparent;border-radius:0;padding:0;overflow:visible}

/* ui/home-first/house.css */
/* 24.5.10. The approved palette, scoped to household presentation only. */
.hf-house-page,.hf-house-tools{font-size:14px;color:var(--hf-ink);padding:10px 0 24px;min-width:0}
.hf-house-heading{margin-bottom:24px}.hf-house-heading h1,.hf-house-tools .page-title h1{font-family:inherit;font-size:24px;font-weight:780;line-height:1.2;letter-spacing:-.65px;margin:0 0 6px}.hf-house-heading p{margin:0;color:var(--hf-muted);font-size:14px;overflow-wrap:anywhere}
.hf-house-columns{display:grid;gap:0 26px}.hf-house-group{margin:0 0 24px;min-width:0}.hf-house-group>h2{font-family:inherit;font-size:17px;line-height:1.4;font-weight:720;letter-spacing:-.25px;margin:0 0 10px}.hf-house-rows{background:var(--hf-surface);border:1px solid var(--hf-border);border-radius:20px;overflow:hidden}
.hf-house-row{width:100%;min-height:64px;display:flex;align-items:center;gap:12px;padding:14px 16px;border:0;border-radius:0;background:transparent;text-align:left;color:var(--hf-ink);font:inherit;text-decoration:none;cursor:pointer;box-sizing:border-box;touch-action:manipulation}.hf-house-row+.hf-house-row{border-top:1px solid var(--hf-line)}.hf-house-row:hover{background:var(--hf-soft)}.hf-house-row>.icon{width:18px;height:18px;flex:0 0 18px;color:var(--hf-muted)}.hf-house-symbol{width:38px;height:38px;flex:0 0 38px;background:var(--hf-soft);color:var(--hf-green);border-radius:13px;display:grid;place-items:center}.hf-house-symbol .icon{width:22px;height:22px}.hf-house-copy{flex:1;min-width:0;display:block}.hf-house-copy strong{display:block;font-size:15px;line-height:1.35;font-weight:650;overflow-wrap:anywhere}.hf-house-copy small{display:block;font-size:12px;line-height:1.5;color:var(--hf-muted);margin-top:3px;overflow-wrap:anywhere}.hf-house-danger .hf-house-symbol{color:var(--hf-coral)}
.hf-house-person{display:flex;gap:14px;align-items:center;padding:18px 16px;background:var(--hf-hero);border-bottom:1px solid var(--hf-border)}.hf-house-avatar{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:var(--hf-soft);color:var(--hf-green-dark);font-size:17px;font-weight:750;border:1px solid var(--hf-border)}.hf-house-person>div{min-width:0}.hf-house-person strong{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.hf-house-person p{margin:4px 0 0;font-size:12px;color:var(--hf-muted)}
.hf-house-disclosure{margin:0;border:0;border-top:1px solid var(--hf-line)}.hf-house-disclosure:first-child{border-top:0}.hf-house-disclosure>summary{display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:64px;padding:14px 16px;list-style:none;cursor:pointer}.hf-house-disclosure>summary::-webkit-details-marker{display:none}.hf-house-disclosure>summary strong{display:block;font-size:15px;font-weight:650}.hf-house-disclosure>summary small{display:block;font-size:12px;color:var(--hf-muted);margin-top:4px;line-height:1.5}.hf-house-disclosure>summary>.icon{flex:0 0 18px;width:18px;height:18px}.hf-house-disclosure[open]>summary>.icon{transform:rotate(90deg)}.hf-house-disclosure-body{border-top:1px solid var(--hf-line);padding:6px 0}.hf-house-help{font-size:12px;line-height:1.6;color:var(--hf-muted);margin:12px 16px;overflow-wrap:anywhere}.hf-house-setting{padding:12px 16px;margin:0;min-height:44px}.hf-house-setting small{display:block;color:var(--hf-muted);font-size:12px;line-height:1.5;margin-top:4px}
.hf-house-page .setting-row{padding:12px 16px;gap:10px;margin:0;border:0}.hf-house-page .setting-row label{flex:1;min-width:0}.hf-house-page .setting-row small{display:block;color:var(--hf-muted);font-size:12px;line-height:1.5}.hf-house-page .setting-row select{width:120px;min-height:44px;background:var(--hf-soft);color:var(--hf-ink);border:1px solid var(--hf-border);border-radius:12px;font:inherit;padding:8px}.hf-house-page input[type=checkbox],.hf-house-dialog input[type=checkbox]{accent-color:var(--hf-green);width:22px;height:22px;flex-shrink:0}
.hf-house-page :is(button,a,summary,input,select):focus-visible,.hf-house-tools :is(button,a,summary,input,select,textarea):focus-visible,.hf-house-dialog :is(button,a,summary,input,select,textarea):focus-visible{outline:3px solid var(--hf-focus);outline-offset:3px}
.hf-house-page .hf-house-changes{margin-top:16px}.hf-house-activity>.hf-house-help{margin-left:0}.hf-house-page [data-home-history-host]:empty{display:none}
.hf-house-tools .page-title>.eyebrow{display:none}.hf-house-tools :is(h1,h2,h3,h4,p,input,button,select){font-family:inherit}.hf-house-tools .page-title{margin:0 0 20px}.hf-house-tools .page-title p{font-size:14px;color:var(--hf-muted)}.hf-house-tools .panel{background:var(--hf-surface);border:1px solid var(--hf-border);box-shadow:none;border-radius:20px;padding:18px;margin-bottom:16px}.hf-house-tools h2{font-size:17px;font-weight:720}.hf-house-tools h3{font-size:15px}.hf-house-tools .helper{color:var(--hf-muted);line-height:1.6;font-size:12px}.hf-house-tools .setting-row{gap:16px;align-items:flex-start;font-size:13px}.hf-house-tools .setting-row strong{text-align:right;overflow-wrap:anywhere}.hf-house-tools :is(input,select,textarea){background:var(--hf-soft);border:1px solid var(--hf-border);color:var(--hf-ink);border-radius:12px;min-height:44px}.hf-house-tools :is(.notice,.pill){background:var(--hf-soft);color:var(--hf-ink);border-color:var(--hf-border)}.hf-house-tools :is(.notice.error,.danger-text){color:var(--hf-coral)}
.hf-house-dialog{margin:auto;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;background:var(--hf-surface);color:var(--hf-ink);border:1px solid var(--hf-border);border-radius:24px;overflow:hidden}.hf-house-dialog[open]{display:flex;flex-direction:column}.hf-house-dialog .sheet-head{flex-shrink:0;padding:18px 20px;background:var(--hf-surface);border-bottom:1px solid var(--hf-line)}.hf-house-dialog .sheet-head h2{font:750 20px/1.3 system-ui,sans-serif;letter-spacing:-.4px}.hf-house-dialog .sheet-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:18px 20px;font-size:14px;line-height:1.6}.hf-house-dialog .sheet-footer{flex-shrink:0;background:var(--hf-surface);padding:12px 20px calc(12px + env(safe-area-inset-bottom));display:flex;gap:10px;border-top:1px solid var(--hf-line)}.hf-house-dialog .sheet-footer>.btn{flex:1;min-width:0}.hf-house-dialog .field{font-size:13px;margin:14px 0}.hf-house-dialog .field :is(input,textarea,select){background:var(--hf-soft);color:var(--hf-ink);border:1px solid var(--hf-border);border-radius:12px;min-height:48px;font:inherit}.hf-house-dialog .notice{background:var(--hf-warnbg);color:var(--hf-warning);border:1px solid var(--hf-border);border-radius:14px;padding:14px}.hf-house-dialog .notice.error,.hf-house-dialog .inline-error{color:var(--hf-coral)}.hf-house-dialog .helper{color:var(--hf-muted);font-size:12px}.hf-house-dialog .checklabel{min-height:44px;align-items:center}.hf-house-dialog .iconbtn{width:44px;min-width:44px;height:44px;color:var(--hf-ink);border-radius:12px;background:var(--hf-soft)}
.hf-house-tools .btn,.hf-house-dialog .btn,.hf-house-page .btn{font:650 14px/1.4 system-ui,sans-serif;min-height:44px;border-radius:14px;border:1px solid var(--hf-border);box-shadow:none;background:var(--hf-soft);color:var(--hf-green-dark);padding:10px 14px}.hf-house-tools .btn.primary,.hf-house-dialog .btn.primary{background:var(--hf-green);color:var(--hf-green-on);border-color:var(--hf-green)}.hf-house-dialog .btn.danger{background:var(--hf-coral);border-color:var(--hf-coral);color:var(--hf-bg)}.hf-house-dialog .btn.ghost{background:transparent;color:var(--hf-coral)}.hf-house-tools .btn.ghost{background:transparent}.hf-house-member{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--hf-line)}.hf-house-member .btn{padding:8px;flex-shrink:0}.hf-house-dialog .hf-house-help{margin:12px 0}.hf-house-dialog .hf-house-members{margin:4px 0}
@media(min-width:900px){.hf-house-columns{grid-template-columns:1fr 1fr}.hf-house-page{max-width:1000px;margin:0 auto}.hf-house-tools{max-width:900px;margin:0 auto}}
@media(max-width:359px){.hf-house-row{padding:12px;gap:9px}.hf-house-symbol{width:32px;flex-basis:32px;height:32px}.hf-house-member{flex-wrap:wrap}.hf-house-dialog .sheet-body{padding:14px}.hf-house-dialog .sheet-head,.hf-house-dialog .sheet-footer{padding-left:14px;padding-right:14px}.hf-house-page .setting-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){.hf-house-row .hf-house-symbol{transition:transform 120ms ease}.hf-house-row:active .hf-house-symbol{transform:scale(.96)}}
:root[data-reduced=true] .hf-house-row .hf-house-symbol{transition:none;transform:none}
@media(prefers-reduced-motion:reduce){.hf-house-row .hf-house-symbol{transition:none;transform:none}}
@media(forced-colors:active){.hf-house-row,.hf-house-rows,.hf-house-dialog{border:1px solid CanvasText}.hf-house-dialog .btn{color:ButtonText;border:1px solid ButtonText}.hf-house-symbol{color:LinkText}}

@media(max-width:600px){.hf-house-dialog{width:100%;margin:auto 0 0;border-radius:24px 24px 0 0;max-height:92dvh}}
.hf-house-disclosure>summary small{font-weight:400}

/* ui/home-first/comparison.css */
/* 24.5.11. Fully scoped; approved shared tokens, classic presentation untouched. */
.hf-comparison-page{--brand:var(--hf-green);--brand-dark:var(--hf-green-dark);--text:var(--hf-ink);--muted:var(--hf-muted);--line:var(--hf-line);--surface:var(--hf-surface);color:var(--hf-ink);padding-bottom:26px}
.hf-comparison-page .backline{margin:0 0 8px}.hf-comparison-page .backline .btn{padding:4px 0;min-height:44px;color:var(--hf-muted)}
.hf-compare-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.hf-compare-heading h1{font-size:28px;line-height:1.2;letter-spacing:-.65px;font-weight:740;margin:0}.hf-compare-heading p{font-size:14px;line-height:1.5;color:var(--hf-muted);margin:6px 0 0}.hf-compare-heading .iconbtn{flex:0 0 44px;color:var(--hf-green-dark);background:var(--hf-soft);border-radius:50%}
.hf-comparison-page :is(.btn,.iconbtn),.hf-comparison-dialog :is(.btn,.iconbtn){min-height:44px;border-radius:14px;font-size:14px;font-weight:650;box-shadow:none}
.hf-comparison-page .btn.primary,.hf-comparison-dialog .btn.primary{background:var(--hf-green);color:var(--hf-green-on);border-color:var(--hf-green)}
.hf-comparison-page .btn.secondary,.hf-comparison-dialog .btn.secondary{background:var(--hf-soft);color:var(--hf-green-dark);border:1px solid var(--hf-border)}
.hf-comparison-page .btn.ghost,.hf-comparison-dialog .btn.ghost{background:transparent;color:var(--hf-green-dark)}
.hf-comparison-page :is(button,input,select,summary,a):focus-visible,.hf-comparison-dialog :is(button,input,select,summary,a):focus-visible{outline:3px solid var(--hf-focus);outline-offset:3px}
.hf-comparison-page :is(input,select),.hf-comparison-dialog :is(input,select){border:1px solid var(--hf-border);background:var(--hf-surface);color:var(--hf-ink);border-radius:14px;min-height:48px;max-width:100%;font-family:inherit;font-size:16px}
.hf-compare-filters{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:12px;margin:0 0 12px}.hf-compare-filters label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;color:var(--hf-muted)}.hf-compare-filters select{width:100%;min-width:0;padding:10px}
.hf-compare-tabs{display:flex;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding:4px 3px 9px;border-bottom:1px solid var(--hf-line);margin:0 0 18px;scrollbar-width:thin}.hf-compare-tabs .btn{flex:0 0 auto;padding:8px 14px;border-radius:24px}.hf-compare-tabs .btn.selected{background:var(--hf-green);color:var(--hf-green-on);border-color:var(--hf-green)}
.hf-comparison-page .cmp-summary.hf-compare-summary{display:block;background:var(--hf-hero);border:0;border-radius:24px;padding:22px;margin:0 0 16px;color:var(--hf-ink)}.hf-compare-kicker{font-size:12px;color:var(--hf-green-dark);font-weight:600;line-height:1.5;display:block}.hf-compare-summary h2{font-size:22px;line-height:1.3;letter-spacing:-.35px;margin:6px 0 10px;overflow-wrap:anywhere}.hf-compare-total{display:block;font-size:36px;line-height:1.18;letter-spacing:-1px;font-weight:750;color:var(--hf-green-dark)}.hf-compare-summary p{font-size:14px;line-height:1.5;margin:10px 0}.hf-compare-summary small{display:block;color:var(--hf-muted);font-size:12px;line-height:1.5;margin-top:10px}
.hf-compare-dates{display:block;font-size:12px;line-height:1.55;color:var(--hf-muted);margin-top:8px}.hf-compare-dates .icon{width:14px;height:14px;display:inline-block;vertical-align:middle;margin-right:4px}.hf-compare-caution{display:block;color:var(--hf-warning);font-size:12px;line-height:1.55;margin-top:6px}
.hf-compare-summary .hf-compare-caution{color:var(--hf-ink)}
.hf-compare-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.hf-compare-toolbar .btn{padding:9px 12px}
.hf-comparison-page .hf-compare-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:18px 0}
.hf-comparison-page .hf-compare-store{width:100%;padding:18px;border:1px solid var(--hf-border);border-radius:20px;background:var(--hf-surface);box-shadow:var(--hf-shadow);text-align:left;cursor:pointer;color:var(--hf-ink);display:block;transform:none;min-width:0;white-space:normal;overflow-wrap:anywhere}
.hf-compare-store-head{display:flex;align-items:center;gap:10px;font-size:17px}.hf-compare-store-head>strong{flex:1;min-width:0}.hf-compare-shop-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:14px;background:var(--hf-soft);color:var(--hf-green)}.hf-compare-store-head>.icon{width:20px;flex:0 0 20px;color:var(--hf-muted)}
.hf-comparison-page .cmp-card-total{font-size:28px;line-height:1.3;font-weight:740;letter-spacing:-.6px;margin:12px 0 3px;display:block;color:var(--hf-ink)}.hf-comparison-page .cmp-card-label,.hf-comparison-page .cmp-card-foot{display:block;font-size:12px;color:var(--hf-muted);line-height:1.5}.hf-comparison-page .cmp-partial .cmp-card-label{color:var(--hf-warning);font-weight:650}.hf-compare-open{display:flex;gap:5px;align-items:center;color:var(--hf-green-dark);font-weight:600;font-size:13px;margin-top:12px}.hf-compare-open .icon{width:16px;height:16px}
.hf-compare-tools{margin:16px 0 0;border:1px solid var(--hf-border);border-radius:18px;background:var(--hf-surface);padding:0 16px}.hf-compare-tools>summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-size:14px;font-weight:650;color:var(--hf-ink);list-style:none;line-height:1.45}.hf-compare-tools>summary::-webkit-details-marker{display:none}.hf-compare-tools>summary>.icon{width:18px;height:18px;flex:0 0 18px}.hf-compare-tools[open]>summary>.icon{transform:rotate(90deg)}.hf-compare-tools>p,.hf-compare-tools .helper{font-size:13px;line-height:1.6;color:var(--hf-muted)}.hf-compare-tools[open]{padding-bottom:16px}.hf-compare-tools .btn{margin-top:6px}.hf-compare-tools .between{gap:12px;padding:7px 0;overflow-wrap:anywhere}.hf-compare-tools .between strong{flex-shrink:0}
.hf-comparison-page :is(.notice,.cmp-caption),.hf-comparison-dialog .notice{padding:12px 14px;border-radius:14px;background:var(--hf-warnbg);border:0;color:var(--hf-warning);font-size:13px;line-height:1.6}.hf-comparison-page .warning-text,.hf-comparison-dialog .warning-text{color:var(--hf-warning)}.hf-comparison-page .helper,.hf-comparison-dialog .helper{font-size:13px;line-height:1.6;color:var(--hf-muted)}
.hf-comparison-page .cmp-multi{padding:0;border:0;background:transparent;margin:0}.hf-comparison-page .cmp-multi>p{font-size:13px;line-height:1.6}.hf-comparison-page .cmp-plan{border:0;border-top:1px solid var(--hf-line);border-radius:0;background:none;color:var(--hf-ink);padding:16px 0;min-width:0;gap:12px;white-space:normal}.hf-comparison-page .cmp-plan .grow{min-width:0}.hf-comparison-page .cmp-plan strong{display:block;font-size:16px;line-height:1.5}.hf-comparison-page .cmp-plan small{display:block;font-size:12px;line-height:1.6;color:var(--hf-muted);margin-top:5px}
.hf-comparison-page .cmp-items{border:0;background:none;padding:0;margin:0}.hf-comparison-page .cmp-item{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--hf-line);padding:14px 0}.hf-comparison-page .cmp-item .grow{min-width:0}.hf-comparison-page .cmp-item strong{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.hf-comparison-page .cmp-item small{display:block;font-size:12px;line-height:1.6;color:var(--hf-muted)}.hf-comparison-page .cmp-item .btn{flex:0 0 auto;max-width:125px;white-space:normal}
.hf-comparison-page .cmp-empty{padding:26px 18px;background:var(--hf-soft);color:var(--hf-ink);border:1px dashed var(--hf-border);border-radius:20px;margin:18px 0;text-align:center}.hf-comparison-page .cmp-empty h2{font-size:21px}.hf-comparison-page .cmp-empty p{font-size:14px;color:var(--hf-muted);line-height:1.6}.hf-comparison-page .cmp-empty>.icon{color:var(--hf-green)}
.hf-comparison-page .cmp-search{display:flex;gap:8px;margin:8px 0 20px}.hf-comparison-page .cmp-search input{min-width:0;flex:1;padding:12px}.hf-comparison-page .cmp-product,.hf-comparison-page .cmp-alert{background:none;border:0;border-bottom:1px solid var(--hf-line);border-radius:0;padding:18px 0;gap:12px;color:var(--hf-ink);min-width:0;transform:none}.hf-comparison-page .cmp-product .grow,.hf-comparison-page .cmp-alert .grow{min-width:0}.hf-comparison-page .cmp-product strong,.hf-comparison-page .cmp-alert strong{font-size:16px;line-height:1.45;overflow-wrap:anywhere}.hf-comparison-page .cmp-product small,.hf-comparison-page .cmp-alert small{font-size:12px;line-height:1.6;color:var(--hf-muted)}.hf-comparison-page .cmp-alert-icon{background:var(--hf-soft);color:var(--hf-green-dark)}.hf-comparison-page .cmp-alert-label{color:var(--hf-ink)}.hf-comparison-page .cmp-alert .cmp-delta{font-size:15px;white-space:nowrap}.hf-comparison-page .cat-thumb{width:52px;height:58px;flex:0 0 52px;background:var(--hf-soft)}
.hf-comparison-page .cmp-relations-intro{background:var(--hf-soft);border-radius:20px;padding:20px;color:var(--hf-ink)}.hf-comparison-page .cmp-relations-intro h2{font-size:21px}.hf-comparison-page .cmp-relations-intro p{font-size:14px;line-height:1.6}.hf-comparison-page .cmp-relation{border:0;border-bottom:1px solid var(--hf-line);border-radius:0;padding:16px 0;background:none;gap:10px}.hf-comparison-page .cmp-relation .grow{min-width:0;overflow-wrap:anywhere}
.hf-compare-disclaimer{font-size:12px;line-height:1.6;color:var(--hf-muted);margin:22px 2px}.hf-compare-export{margin-top:12px;text-align:right}
/* Sheets: real forms, internal scroll and an always reachable confirmation footer. */
.hf-comparison-dialog{--brand:var(--hf-green);--text:var(--hf-ink);--muted:var(--hf-muted);--line:var(--hf-border);--surface:var(--hf-surface);background:var(--hf-surface);color:var(--hf-ink);border-radius:24px 24px 0 0;max-height:92dvh;width:min(640px,100%);margin:auto auto 0;padding:0;border:1px solid var(--hf-border)}
.hf-comparison-dialog[open]{display:flex;flex-direction:column}.hf-comparison-dialog .sheet-head{padding:18px 20px;border-bottom:1px solid var(--hf-line);gap:12px;flex:0 0 auto}.hf-comparison-dialog .sheet-head h2{font-size:20px;letter-spacing:-.4px;line-height:1.3}.hf-comparison-dialog .sheet-body{overflow-y:auto;min-height:0;max-height:none;padding:18px 20px;flex:1 1 auto;overscroll-behavior:contain;scroll-padding:16px}.hf-comparison-dialog .sheet-footer{padding:14px 20px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--hf-line);background:var(--hf-surface);display:flex;gap:10px;flex:0 0 auto}.hf-comparison-dialog .sheet-footer .btn{flex:1;white-space:normal}
.hf-comparison-dialog .field{font-size:14px;color:var(--hf-ink);margin-top:16px}.hf-comparison-dialog .fields-row,.hf-comparison-dialog .cmp-settings-grid{gap:12px}.hf-comparison-dialog .checklabel{font-size:14px;line-height:1.5;min-height:44px;color:var(--hf-ink)}.hf-comparison-dialog .checklabel input{min-height:20px;accent-color:var(--hf-green)}.hf-comparison-dialog .field input,.hf-comparison-dialog .field select{width:100%;padding:12px}.hf-comparison-dialog :is(.cmp-product-price,.cmp-alert-source,.cmp-detail-line){background:none;border:0;border-bottom:1px solid var(--hf-line);padding:16px 0;color:var(--hf-ink);border-radius:0}.hf-comparison-dialog .cmp-detail-line .between{gap:12px;align-items:flex-start}.hf-comparison-dialog .cmp-detail-line .between>strong:last-child{white-space:nowrap;flex-shrink:0}.hf-comparison-dialog .cmp-detail-line small{font-size:12px;line-height:1.6;display:block;color:var(--hf-muted);margin:4px 0}.hf-comparison-dialog .cmp-detail-line .grow{min-width:0}.hf-comparison-dialog .cat-thumb{height:58px;width:52px;flex:0 0 52px}.hf-comparison-dialog .cmp-detail-total,.hf-budget-overview{background:var(--hf-hero);color:var(--hf-ink);border-radius:20px;padding:18px;margin:0 0 16px;display:block}.hf-comparison-dialog .cmp-detail-total>strong,.hf-budget-overview>strong{display:block;font-size:32px;letter-spacing:-.6px;line-height:1.25;color:var(--hf-green-dark);margin:6px 0}.hf-comparison-dialog .cmp-detail-total>span,.hf-budget-overview>span{font-size:14px;line-height:1.5;display:block}.hf-comparison-dialog .cmp-detail-total>small,.hf-budget-overview>small{font-size:12px;line-height:1.6;display:block}.hf-budget-overview>p{font-size:13px;line-height:1.6;margin:8px 0}.hf-budget-overview .hf-compare-caution{color:var(--hf-ink)}.hf-budget-destination{font-size:14px;line-height:1.5;color:var(--hf-muted);margin:0 0 12px;overflow-wrap:anywhere}.hf-comparison-dialog .hist-estimate-row{border-bottom:1px solid var(--hf-line);display:flex;gap:12px;padding:14px 0}.hf-comparison-dialog .hist-estimate-row>span{min-width:0}.hf-comparison-dialog .hist-estimate-row small{display:block;font-size:12px;line-height:1.6}.hf-comparison-dialog .hist-estimate-row strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.hf-comparison-dialog .hist-row-price{flex:0 0 105px;display:flex;flex-direction:column;align-items:flex-end}.hf-comparison-dialog .hist-row-price .btn{font-size:12px;padding:5px;min-height:44px}.hf-comparison-dialog .hist-estimate-lines{padding:0}
@media(min-width:700px){.hf-comparison-page .hf-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hf-comparison-dialog{margin:auto;border-radius:24px;max-height:90dvh}.hf-compare-heading h1{font-size:30px}}
@media(max-width:359px){.hf-compare-toolbar .btn{font-size:13px;padding:8px 10px}.hf-compare-heading h1{font-size:26px}.hf-comparison-dialog .sheet-head,.hf-comparison-dialog .sheet-body{padding:16px}.hf-comparison-dialog .sheet-footer{padding:12px}.hf-comparison-dialog .fields-row,.hf-comparison-dialog .cmp-settings-grid{grid-template-columns:minmax(0,1fr)}.hf-compare-summary.hf-compare-summary{padding:18px}.hf-comparison-page .cmp-item .btn{max-width:100px}}
@media(prefers-reduced-motion:no-preference){.hf-comparison-page .hf-compare-store{transition:border-color var(--hf-time),box-shadow var(--hf-time)}.hf-comparison-page .hf-compare-store:hover{border-color:var(--hf-green);box-shadow:var(--hf-shadow)}}
@media(prefers-reduced-motion:reduce){.hf-comparison-page *,.hf-comparison-dialog *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
:root[data-reduced=true] .hf-comparison-page *,:root[data-reduced=true] .hf-comparison-dialog *{transition:none!important;animation:none!important}
@media(forced-colors:active){.hf-comparison-page button,.hf-comparison-dialog button{border:1px solid ButtonText}.hf-comparison-page .btn.selected{outline:2px solid Highlight}.hf-comparison-page .notice,.hf-comparison-dialog .notice{border:1px solid CanvasText}}

:root{--reponia-build:"reponia-ui-11.2.1-1";}
.ui-version-entry{margin:16px 0}.ui-version dl{display:grid;gap:8px}.ui-version dd{margin:0;overflow-wrap:anywhere;font-family:monospace}.ui-version dt{font-weight:600}
