:root {
  --bg: #f4f6f8;
  --card: #ffffff;
  --ink: #15191e;
  --muted: #667085;
  --line: #e4e7ec;
  --dark: #111827;
  --accent: #f5c400;
  --accent-dark: #d1a800;
  --success-bg: #ecfdf3;
  --success: #067647;
  --blue-bg: #eff8ff;
  --blue: #175cd3;
  --shadow: 0 10px 30px rgba(16,24,40,.07);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); }
button, select { font: inherit; }
button { cursor: pointer; }
.app-shell { width: min(980px, 100%); margin: 0 auto; padding: 18px 14px 40px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
h1 { margin: 2px 0 0; font-size: clamp(1.7rem, 5vw, 2.5rem); }
.version { margin:2px 0 0; color:var(--muted); font-weight:700; }
.eyebrow { color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.card { background:var(--card); border:1px solid var(--line); border-radius:20px; padding:18px; box-shadow:var(--shadow); margin-bottom:14px; }
.hero { background:linear-gradient(135deg,#111827,#242b36); color:white; overflow:hidden; position:relative; }
.hero:after { content:""; width:180px; height:180px; border-radius:36px; background:rgba(245,196,0,.18); position:absolute; right:-45px; top:-55px; transform:rotate(20deg); }
.hero h2 { margin:10px 0 6px; font-size:clamp(1.6rem,5vw,2.3rem); max-width:650px; }
.hero p { margin:0; color:#d0d5dd; max-width:670px; line-height:1.5; }
.pill { display:inline-flex; background:var(--accent); color:#111; padding:6px 10px; border-radius:999px; font-size:.75rem; font-weight:900; }
.section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:14px; }
.section-heading > div { display:flex; align-items:center; gap:10px; }
.section-heading h3 { margin:0; font-size:1.05rem; }
.step { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:9px; background:var(--dark); color:white; font-size:.82rem; font-weight:900; }
.small-note { color:var(--muted); font-size:.78rem; }
.brand-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.brand-card { border:1.5px solid var(--line); background:#fff; border-radius:14px; padding:14px; min-height:88px; text-align:left; transition:.15s ease; }
.brand-card strong { display:block; font-size:1rem; }
.brand-card span { display:block; color:var(--muted); font-size:.78rem; margin-top:4px; }
.brand-card.active { border-color:#111827; box-shadow:0 0 0 2px #111827 inset; }
.brand-card.active:after { content:"Selected"; display:inline-block; margin-top:8px; font-size:.68rem; font-weight:900; background:var(--accent); padding:3px 7px; border-radius:999px; }
.brand-card.disabled { opacity:.45; cursor:not-allowed; }
.product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.owned-item { border:1.5px solid var(--line); border-radius:14px; background:white; padding:12px; text-align:left; }
.owned-item .mini-icon { height:64px; border-radius:10px; display:grid; place-items:center; background:#f2f4f7; font-size:1.8rem; margin-bottom:9px; }
.owned-item strong { display:block; font-size:.9rem; line-height:1.2; }
.owned-item span { color:var(--muted); font-size:.72rem; }

.goal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.goal { border:1.5px solid var(--line); border-radius:12px; background:#fff; padding:11px; color:var(--ink); text-align:left; font-weight:750; }
.goal.active { border-color:var(--dark); background:var(--dark); color:white; }
.budget-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.budget-row label { font-weight:800; }
select { border:1px solid var(--line); border-radius:10px; background:white; padding:10px 12px; min-width:150px; }
.recommendations { display:grid; gap:12px; }
.product-card { display:grid; grid-template-columns:94px 1fr; gap:13px; border:1px solid var(--line); border-radius:16px; padding:12px; }
.product-icon { height:94px; border-radius:12px; background:linear-gradient(145deg,#f2f4f7,#e4e7ec); display:grid; place-items:center; font-size:2.6rem; }
.product-icon:after { content:"▣"; }
.product-topline { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.compatibility-badge { background:var(--success-bg); color:var(--success); border-radius:999px; padding:4px 7px; font-size:.68rem; font-weight:850; }
.price { font-size:.85rem; font-weight:900; }
.product-name { margin:7px 0 1px; font-size:1rem; }
.product-model { margin:0 0 5px; color:var(--muted); font-size:.72rem; font-weight:700; }
.product-desc { margin:0; color:#475467; font-size:.82rem; line-height:1.4; }
.reason-box { margin-top:9px; padding:8px 9px; border-radius:10px; background:var(--blue-bg); color:var(--blue); font-size:.76rem; line-height:1.35; }
.product-actions { display:flex; gap:8px; margin-top:10px; }
.primary-btn,.secondary-btn,.ghost-btn { border:0; border-radius:10px; padding:9px 11px; font-weight:850; }
.primary-btn { background:var(--dark); color:white; }
.secondary-btn { background:#f2f4f7; color:var(--ink); }
.ghost-btn { background:white; border:1px solid var(--line); color:var(--ink); }
.link-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:9px; }
.buy-link { color:var(--blue); text-decoration:none; font-size:.73rem; font-weight:800; }
.buy-link:after { content:" ↗"; }
.empty-state { color:var(--muted); border:1px dashed #cfd4dc; border-radius:12px; padding:18px; text-align:center; font-size:.85rem; }
.shopping-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 0; border-bottom:1px solid var(--line); }
.shopping-row:last-child { border-bottom:0; }
.shopping-row strong { display:block; font-size:.88rem; }
.shopping-row span { color:var(--muted); font-size:.75rem; }
.remove-btn { border:0; background:#fef3f2; color:#b42318; border-radius:9px; padding:7px 9px; font-weight:800; }
.shopping-total { display:flex; justify-content:space-between; padding-top:13px; margin-top:5px; font-weight:900; }
footer { text-align:center; color:var(--muted); font-size:.73rem; padding:12px 8px 30px; }
.footer-note { max-width:700px; margin:5px auto 0; line-height:1.4; }
@media (min-width:720px) {
  .brand-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .goal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .app-shell { padding-left:10px; padding-right:10px; }
  .card { border-radius:16px; padding:14px; }
  .product-card { grid-template-columns:72px 1fr; }
  .product-icon { width:72px; height:72px; }
  .product-actions { flex-direction:column; }
  .product-actions button { width:100%; }
  .link-row { gap:12px; }
}
.brand-card.active{border-color:var(--brand-accent,#111827);box-shadow:0 0 0 2px var(--brand-accent,#111827) inset}.pack-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.product-icon{font-size:2.2rem}.product-icon:after{content:none}@media(max-width:520px){.pack-actions{grid-template-columns:1fr}}

.region-row{margin-top:0;padding-top:0;border-top:0}.region-row p{margin:3px 0 0}.pack-actions{grid-template-columns:1.25fr 1fr 1fr}@media(max-width:650px){.pack-actions{grid-template-columns:1fr}}
/* V0.2.1: selected controls follow the active storage-system brand */
.brand-card.active:after{background:var(--brand-accent,#111827);color:#111827}
.brand-card[data-brand="milwaukee"].active:after,.brand-card[data-brand="makita"].active:after{color:#fff}
.owned-item.selected{border-color:var(--active-brand,#111827);background:color-mix(in srgb,var(--active-brand,#111827) 8%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--active-brand,#111827) 30%,transparent) inset}
.goal.active{border-color:var(--active-brand,#111827);background:var(--active-brand,#111827);color:#fff}
.export-btn{background:var(--active-brand,#111827);color:#fff}

/* V0.2.5 hard brand-state rules */
html.brand-dewalt .owned-item.selected{border-color:#f5c400!important;background:#fff9d9!important;box-shadow:0 0 0 2px rgba(245,196,0,.35) inset!important}
html.brand-milwaukee .owned-item.selected{border-color:#db1f26!important;background:#fff0f1!important;box-shadow:0 0 0 2px rgba(219,31,38,.30) inset!important}
html.brand-ryobi .owned-item.selected{border-color:#a6ce39!important;background:#f5fae8!important;box-shadow:0 0 0 2px rgba(166,206,57,.35) inset!important}
html.brand-makita .owned-item.selected{border-color:#00a8a9!important;background:#e8fafa!important;box-shadow:0 0 0 2px rgba(0,168,169,.30) inset!important}
html.brand-dewalt .goal.active{background:#f5c400!important;border-color:#f5c400!important;color:#111!important}
html.brand-milwaukee .goal.active{background:#db1f26!important;border-color:#db1f26!important;color:#fff!important}
html.brand-ryobi .goal.active{background:#a6ce39!important;border-color:#a6ce39!important;color:#111!important}
html.brand-makita .goal.active{background:#00a8a9!important;border-color:#00a8a9!important;color:#fff!important}
#exportBtnStatic{width:100%;margin-top:14px}
#exportBtnStatic[hidden]{display:none!important}

/* V0.2.7: active system controls all selectable states */
.brand-card.active:after{background:var(--brand-accent,#111827)!important;color:#111}
html.brand-milwaukee .brand-card.active:after{color:#fff}
html.brand-makita .brand-card.active:after{color:#fff}
.pack-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:14px}
.export-btn{width:100%;background:var(--active-brand,#111827)!important;color:#fff!important}

.shopping-region-row{display:none;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.shopping-region-row p{margin:3px 0 0}.shopping-region-row select{max-width:220px}@media(max-width:520px){.shopping-region-row{align-items:flex-end}.shopping-region-row .small-note{max-width:190px}.shopping-region-row select{max-width:46%;}}

/* V0.2.9 compact mobile catalog */
.product-card{grid-template-columns:64px 1fr;gap:10px;padding:10px;border-radius:14px}
.product-icon{width:64px;height:64px;font-size:1.8rem;border-radius:10px}
.product-name{margin:4px 0 0;font-size:.94rem;line-height:1.18}
.product-model{margin:1px 0 3px;font-size:.68rem}
.product-desc{font-size:.76rem;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-actions{margin-top:7px;display:grid;grid-template-columns:.8fr 1.2fr;gap:6px}
.product-actions button{padding:7px 8px;font-size:.76rem}
.link-row{margin-top:6px;gap:10px}
.buy-link{font-size:.67rem}
.compatibility-badge{padding:3px 6px;font-size:.62rem}
.price{font-size:.78rem}
@media(max-width:520px){.product-card{grid-template-columns:56px 1fr;padding:9px}.product-icon{width:56px;height:56px}.product-actions{grid-template-columns:.8fr 1.2fr}.product-actions button{width:auto}.link-row{gap:9px}}

/* V0.2.10 ultra-compact mobile catalog */
.owned-item{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;padding:8px;min-height:64px}
.owned-item .mini-icon{grid-row:1/3;width:44px;height:44px;margin:0;border-radius:9px;font-size:1.35rem}
.owned-item strong{font-size:.78rem;line-height:1.12;align-self:end}
.owned-item span{font-size:.63rem;line-height:1.1;align-self:start;margin-top:2px}
.recommendations{gap:7px}
.product-card{grid-template-columns:44px minmax(0,1fr);gap:8px;padding:8px;border-radius:12px}
.product-icon{width:44px;height:44px;font-size:1.35rem;border-radius:9px}
.product-topline{min-height:18px}
.compatibility-badge{padding:2px 5px;font-size:.56rem}
.price{font-size:.7rem;white-space:nowrap}
.product-name{margin:2px 0 0;font-size:.82rem;line-height:1.1}
.product-model{margin:1px 0 2px;font-size:.61rem;line-height:1.1}
.product-desc{font-size:.67rem;line-height:1.2;-webkit-line-clamp:1}
.product-actions{margin-top:5px;grid-template-columns:.72fr 1.28fr;gap:5px}
.product-actions button{padding:5px 6px;font-size:.66rem;border-radius:8px;min-height:30px}
.link-row{margin-top:4px;gap:8px;line-height:1}
.buy-link{font-size:.59rem}
@media(max-width:520px){.product-grid{gap:7px}.owned-item{grid-template-columns:40px minmax(0,1fr);padding:7px}.owned-item .mini-icon{width:40px;height:40px}.product-card{grid-template-columns:40px minmax(0,1fr);padding:7px}.product-icon{width:40px;height:40px}.product-actions{grid-template-columns:.72fr 1.28fr}.link-row{gap:7px}}

/* In-app product details sheet */
.details-modal[hidden]{display:none}.details-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:rgba(17,24,39,.52);padding:12px}.details-sheet{width:min(520px,100%);background:#fff;border-radius:20px;padding:16px;box-shadow:0 18px 60px rgba(0,0,0,.25)}.details-sheet-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.details-sheet h3{margin:0;font-size:1.05rem;line-height:1.2}.details-sheet .detail-model{margin:3px 0 0;color:var(--muted);font-size:.72rem;font-weight:750}.details-sheet .detail-desc{margin:14px 0 8px;color:#475467;font-size:.84rem;line-height:1.4}.details-sheet .detail-reason{margin:0;padding:10px 11px;border-radius:10px;background:var(--blue-bg);color:var(--blue);font-size:.78rem;line-height:1.35}.details-close{border:0;background:#f2f4f7;width:32px;height:32px;border-radius:9px;font-size:1.15rem;font-weight:800}.details-done{width:100%;margin-top:12px;padding:9px}.details-modal:focus{outline:none}

/* V0.2.12 Reference Guides */
.reference-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.reference-toolbar label{font-size:12px;font-weight:700;color:#475467}.reference-toolbar select,.reference-search{width:100%;margin-top:5px;padding:10px;border:1px solid #d0d5dd;border-radius:10px;background:#fff}.reference-search{box-sizing:border-box;margin:0 0 10px}.reference-actions{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}.reference-table-wrap{overflow-x:auto;border:1px solid #e4e7ec;border-radius:12px}.reference-table{width:100%;border-collapse:collapse;font-size:12px;min-width:560px}.reference-table th,.reference-table td{text-align:left;padding:9px;border-bottom:1px solid #eaecf0;vertical-align:middle}.reference-table th{background:#f9fafb;font-size:11px;color:#475467}.reference-table tr:last-child td{border-bottom:0}.reference-table .ref-check{text-align:center;width:48px}.reference-count{font-size:12px;color:#667085}.legal-box{margin-top:14px;padding:12px;border-radius:12px;background:#f9fafb;border:1px solid #eaecf0;font-size:11px;color:#667085;line-height:1.45}.legal-box strong{color:#344054}.ref-part{font-weight:700;white-space:nowrap}.ref-category{color:#667085;white-space:nowrap}@media(max-width:520px){.reference-toolbar{grid-template-columns:1fr}.reference-table{min-width:500px}}

/* V0.2.12.1 — collapsible Reference Guides */
.reference-card .reference-toggle{cursor:pointer;user-select:none;margin-bottom:0;align-items:center}
.reference-card .reference-toggle:focus-visible{outline:3px solid var(--active-brand,#111827);outline-offset:6px;border-radius:10px}
.reference-toggle-copy{display:flex;flex-direction:column;gap:2px}
.reference-toggle-subtitle{font-size:.78rem;color:#667085;font-weight:500;line-height:1.2}
.reference-toggle-meta{display:flex;align-items:center;gap:9px;color:#667085;white-space:nowrap}
.reference-chevron{font-size:1.15rem;font-weight:800;transition:transform .18s ease;line-height:1}
.reference-card.is-open .reference-chevron{transform:rotate(180deg)}
.reference-content{display:none;padding-top:14px}
.reference-card.is-open .reference-content{display:block}
@media(max-width:520px){.reference-card:not(.is-open){padding-top:14px;padding-bottom:14px}.reference-toggle-subtitle{font-size:.72rem}.reference-toggle-meta{font-size:.82rem}.reference-card:not(.is-open) .step{width:34px;height:34px}}
/* V0.2.13 multi-select reference filters */
.multi-select{position:relative;margin-top:5px}.multi-select-button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;font:inherit;text-align:left}.multi-select-menu{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 5px);max-height:280px;overflow:auto;padding:8px;background:#fff;border:1px solid #d0d5dd;border-radius:12px;box-shadow:0 10px 30px rgba(16,24,40,.15)}.multi-select-option{display:flex!important;align-items:center;gap:8px;padding:8px 6px;font-size:13px!important;font-weight:600!important;color:#344054!important}.multi-select-option input{width:18px;height:18px;margin:0}.reference-table .select-check{text-align:center;width:52px}

/* V0.2.14 curated owned picker */
.owned-browse-row{margin-top:10px;display:flex;justify-content:center}.browse-all-btn{width:100%;border:1.5px solid var(--line);background:#f8fafc;border-radius:12px;padding:10px 12px;font-weight:800;font-size:.8rem;color:#111827}.browse-all-btn span{display:block;font-size:.66rem;font-weight:600;color:var(--muted);margin-top:2px}.catalog-modal[hidden]{display:none}.catalog-modal{position:fixed;inset:0;z-index:1100;background:rgba(17,24,39,.55);display:flex;align-items:flex-end;justify-content:center;padding:10px}.catalog-sheet{background:#fff;width:min(620px,100%);max-height:88vh;border-radius:20px 20px 14px 14px;padding:14px;display:flex;flex-direction:column;box-shadow:0 20px 70px rgba(0,0,0,.3)}.catalog-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.catalog-head h3{margin:0;font-size:1.05rem}.catalog-head p{margin:3px 0 0;color:var(--muted);font-size:.7rem}.catalog-close{border:0;background:#f2f4f7;border-radius:9px;width:34px;height:34px;font-size:1.15rem;font-weight:800}.catalog-search{margin:10px 0;border:1.5px solid var(--line);border-radius:11px;padding:10px 12px;font:inherit;font-size:.8rem}.catalog-grid{overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-bottom:4px}.catalog-grid .owned-item{min-height:62px}.catalog-done{margin-top:10px;width:100%;padding:10px}.owned-hidden-note{margin:8px 0 0;text-align:center;color:var(--muted);font-size:.68rem}


/* V0.3.3 mobile paging */
.page-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 2px;min-height:34px;user-select:none}
.page-arrow{width:36px;height:32px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#101828;font-size:1.35rem;font-weight:800;line-height:1;padding:0}
.page-arrow:disabled{opacity:.3}
.page-dots{display:flex;align-items:center;gap:6px}
.page-dot{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:#d0d5dd}
.page-dot.active{width:18px;border-radius:5px;background:var(--active-brand,#111827)}
.page-count{font-size:.68rem;font-weight:750;color:#667085;min-width:34px;text-align:center}
#ownedGrid,#recommendations{touch-action:pan-y}


/* V0.3.4 responsive paging polish */
.swipe-hint{min-height:16px;margin:-2px 0 8px;text-align:center;color:#667085;font-size:.66rem;font-weight:700;line-height:1.2}
.results-card .swipe-hint{margin-top:-4px}
@media(max-width:520px){
  .recommendations{gap:5px}
  .recommendations .product-card{grid-template-columns:38px minmax(0,1fr);gap:7px;padding:6px 7px;border-radius:11px}
  .recommendations .product-icon{width:38px;height:38px;font-size:1.2rem;border-radius:8px}
  .recommendations .product-topline{min-height:16px}
  .recommendations .product-name{font-size:.79rem;line-height:1.06}
  .recommendations .product-model{font-size:.59rem;margin:1px 0}
  .recommendations .product-desc{font-size:.64rem;line-height:1.12}
  .recommendations .product-actions{margin-top:4px;gap:5px}
  .recommendations .product-actions button{min-height:28px;padding:4px 6px;font-size:.64rem}
  .recommendations .link-row{margin-top:3px;gap:7px}
  .recommendations .buy-link{font-size:.57rem}
  .page-controls{margin-top:8px}
}
@media(max-width:380px){
  .recommendations .product-card{grid-template-columns:34px minmax(0,1fr);padding:5px 6px}
  .recommendations .product-icon{width:34px;height:34px;font-size:1.05rem}
  .recommendations .product-name{font-size:.75rem}
  .recommendations .product-desc{font-size:.61rem}
  .recommendations .product-actions button{min-height:27px}
  .swipe-hint{font-size:.62rem}
}


/* V0.3.5 free preview */
.trial-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:9px 11px;border:1px solid #d0d5dd;border-radius:12px;background:#fff}.trial-strip div{display:flex;flex-direction:column;gap:2px}.trial-strip strong{font-size:.76rem}.trial-strip span{font-size:.62rem;color:#667085}.trial-upgrade{border:0;border-radius:9px;padding:8px 10px;background:#111827;color:#fff;font-size:.68rem;font-weight:800;white-space:nowrap}.trial-locked span{display:inline-block;margin-left:4px;padding:2px 5px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:.55rem;font-weight:850;vertical-align:1px}.ti-send-btn{border-color:var(--active-brand,#111827)!important;color:var(--active-brand,#111827)!important;font-weight:850!important}@media(max-width:420px){.trial-strip{align-items:flex-start}.trial-strip span{max-width:190px}.trial-upgrade{padding:7px 8px;font-size:.63rem}}

/* V0.3.6 standalone identity + polished plan sheets */
.modal-kicker{display:block;margin-bottom:4px;color:#667085;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.app-modal-body{margin-top:12px;color:#475467;font-size:.82rem;line-height:1.45}.app-modal-body p{margin:0 0 10px}.app-modal-body ul{margin:8px 0 12px;padding-left:20px}.app-modal-body li{margin:5px 0}.app-modal-body strong{color:#101828}.modal-note{padding:9px 10px;border-radius:10px;background:#f8fafc;border:1px solid #eaecf0;color:#667085;font-size:.72rem}.ti-send-btn:before{content:'↗ ';font-weight:900}.eyebrow{letter-spacing:.08em}.trial-strip span{line-height:1.25}

/* V0.3.7 account + entitlement UI */
.header-actions{display:flex;gap:7px;align-items:center}.account-btn.signed-in{background:#ecfdf3;border-color:#abefc6;color:#067647}.account-sheet{max-width:430px}.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0 10px;padding:4px;background:#f2f4f7;border-radius:11px}.account-tabs button{border:0;background:transparent;border-radius:8px;padding:9px;font-weight:800;color:#667085}.account-tabs button.active{background:#fff;color:#101828;box-shadow:0 1px 3px rgba(16,24,40,.08)}.account-form{display:grid;gap:9px}.account-form input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d0d5dd;border-radius:10px;font:inherit}.account-form .primary-btn{padding:11px}.account-status{min-height:18px;margin:9px 0 0;font-size:.75rem;color:#667085}.account-status.error{color:#b42318}.account-status.success{color:#067647}.account-summary{margin-top:14px;padding:12px;border:1px solid #e4e7ec;border-radius:12px;display:flex;flex-direction:column;gap:5px}.account-summary strong{font-size:.86rem;overflow-wrap:anywhere}.account-summary span{width:max-content;padding:3px 7px;border-radius:999px;background:#f2f4f7;font-size:.65rem;font-weight:850}.account-summary span.plus{background:#ecfdf3;color:#067647}.account-copy{font-size:.76rem;line-height:1.4;color:#667085}.account-wide{width:100%;margin-top:8px;padding:10px}.trial-strip.plus-active{border-color:#abefc6;background:#ecfdf3}.trial-strip.plus-active strong{color:#067647}@media(max-width:420px){.topbar{align-items:flex-start}.header-actions{flex-direction:column;align-items:stretch}.header-actions .ghost-btn{padding:7px 9px}}
.plus-price-box{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 4px;padding:14px 16px;border:1px solid #d9dee7;border-radius:14px;background:#f7f8fa}.plus-price-box strong{font-size:16px}.plus-price-box span{font-weight:800;color:#111827;white-space:nowrap}

/* V1.0.2 install affordance */
.install-app-btn{white-space:nowrap}
.install-app-btn.ready{background:#eef4ff;border-color:#b2ccff;color:#1849a9}
@media(display-mode:standalone){.install-app-btn{display:none!important}}
#sendOwnedToTI{width:100%;margin-bottom:10px}

/* V1.0.5: selected-brand hero treatment */
html.brand-dewalt .hero{background:linear-gradient(135deg,#111827,#303238)}
html.brand-dewalt .hero:after{background:rgba(245,196,0,.22)}
html.brand-dewalt .hero .pill{background:#f5c400;color:#111827}
html.brand-dewalt .hero p{color:#e5e7eb}

html.brand-milwaukee .hero{background:linear-gradient(135deg,#b5121b,#db1f26)}
html.brand-milwaukee .hero:after{background:rgba(224,226,229,.28)}
html.brand-milwaukee .hero .pill{background:#e0e2e5;color:#99131a}
html.brand-milwaukee .hero p{color:#fff}

html.brand-makita .hero{background:linear-gradient(135deg,#007f80,#00a8a9)}
html.brand-makita .hero:after{background:rgba(91,99,107,.34)}
html.brand-makita .hero .pill{background:#5b636b;color:#fff}
html.brand-makita .hero p{color:#f1ffff}

html.brand-ryobi .hero{background:linear-gradient(135deg,#83b522,#a6ce39)}
html.brand-ryobi .hero:after{background:rgba(255,255,255,.30)}
html.brand-ryobi .hero .pill{background:#fff;color:#26320d}
html.brand-ryobi .hero h2{color:#152006}
html.brand-ryobi .hero p{color:#26320d}

/* Amazon/catalog purchase links: phone-sized tap targets */
.link-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(92px,1fr));
  gap:7px;
  margin-top:8px;
  line-height:1.15;
}
.buy-link,
.recommendations .buy-link{
  min-height:38px;
  padding:8px 7px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--card);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:.72rem;
  font-weight:800;
  text-decoration:none;
  line-height:1.15;
}
.buy-link:after{content:"";}
.amazon-link{border-color:#d99a18;background:#fff7e3;color:#704600;}
@media(max-width:520px){
  .link-row,.recommendations .link-row{gap:6px;margin-top:7px;}
  .buy-link,.recommendations .buy-link{font-size:.70rem;min-height:40px;padding:7px 5px;}
}

/* Affiliate disclosure: one compact notice near product purchase links */
.affiliate-note{margin:0 0 10px;padding:8px 10px;border:1px solid #e4e7ec;border-radius:10px;background:#f9fafb;color:#667085;font-size:11px;line-height:1.4}.affiliate-note strong{color:#344054}
