/* Two focused journeys, with details available when they are needed. */
/* Route headings receive focus for navigation, but are not interactive controls. */
[data-view] h1[tabindex="-1"]:focus,[data-view] h2[tabindex="-1"]:focus{outline:none}
[hidden]{display:none!important}:root{--bg:#f7f8f5;--ink:#233c32;--muted:#65786c;--line:#dde5dc;--green:#267450}body{font-size:15px}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #84b697;outline-offset:4px}.shell{max-width:1160px;padding-left:32px;padding-right:32px}.app-header{background:#fff;border-bottom:1px solid var(--line)}.app-top{height:82px;display:flex;gap:28px;align-items:center}.brand{color:var(--ink);text-decoration:none;font-size:25px}.header-context{font-size:12px;color:var(--muted)}.app-navigation{margin-left:auto;display:flex;align-items:center;gap:24px}.header-basket{background:transparent;border:0;color:var(--ink);font-size:13px;padding:10px 0}.header-basket span{background:#eaf0e7;border-radius:20px;padding:4px 8px;margin-left:5px;font-size:11px}.service-menu{position:relative;margin:0;color:var(--ink)}.service-menu>summary{list-style:none;font-size:13px;padding:12px 0}.service-menu summary::-webkit-details-marker{display:none}.service-menu>div{position:absolute;right:0;top:40px;z-index:20;width:235px;background:white;border:1px solid var(--line);box-shadow:0 10px 35px #253b3112;border-radius:12px;padding:8px}.service-menu a{display:block;padding:12px;color:var(--ink);text-decoration:none;border-radius:7px}.service-menu a:hover{background:var(--wash)}main.app-main{padding-top:30px!important;padding-bottom:60px!important;min-height:calc(100vh - 160px)}.home-view{max-width:930px;margin:35px auto 30px}.home-intro{text-align:center}.section-kicker{color:var(--green);text-transform:uppercase;letter-spacing:1.8px;font-size:11px;font-weight:650;margin:0 0 16px}.home-intro h1{font-size:44px;line-height:1.15;letter-spacing:-1.5px;margin:0 0 18px;font-weight:550}.home-intro>p:last-child{font-size:16px;line-height:1.65;margin:0}.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:40px 0 25px}.path-card{display:block;text-decoration:none;color:var(--ink);background:white;border:1px solid #d9e3d8;border-radius:18px;padding:30px 32px 26px;transition:border-color .18s,transform .18s,box-shadow .18s}.path-card:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 12px 30px #253d3209}.path-symbol{width:54px;height:54px;display:grid;place-items:center;background:#eef4eb;border-radius:14px;color:var(--green);margin-bottom:30px}.path-symbol svg{width:29px;height:29px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.path-card h2{font-size:25px;font-weight:600;letter-spacing:-.6px;margin:0 0 12px}.path-card p{font-size:14px;line-height:1.7;margin:0 0 28px}.path-go{display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:var(--green);font-weight:600}.path-go>span{font-size:20px;line-height:1}.home-note{text-align:center;font-size:12px;margin-top:28px}.app-footer{display:flex;justify-content:space-between;gap:15px;padding-top:18px;padding-bottom:22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.app-footer a{color:var(--muted);text-decoration:none}.route-bar{display:flex;justify-content:space-between;align-items:center;margin:0 0 35px;gap:20px}.route-bar>a{font-size:12px;color:var(--muted);text-decoration:none}.mode-switch{display:flex;gap:4px;background:#eaf0e7;border-radius:9px;padding:4px}.mode-switch a{font-size:12px;padding:9px 14px;color:var(--muted);text-decoration:none;border-radius:6px}.mode-switch a[aria-current=page]{background:white;color:var(--ink);box-shadow:0 1px 4px #20372f0b}.flow-title{margin:0 0 25px}.flow-title h1{font-size:33px;letter-spacing:-1px;font-weight:550;margin:8px 0 10px}.flow-title>p:last-child{font-size:14px;margin:0}.flow-title .section-kicker{margin-bottom:10px}.flow-view{max-width:100%;margin:auto}.product-view{max-width:1050px}.product-view .compare-panel{margin:0;border:0;background:transparent;box-shadow:none;border-radius:0}.product-view .compare-top{max-width:800px;margin:10px auto 26px;background:transparent;padding:0}.product-view .compare-top h2{font-size:33px;letter-spacing:-1px;font-weight:550;margin-bottom:12px}.product-view .compare-top p{font-size:14px;margin-bottom:24px}.compare-form input{font-size:16px;min-height:54px;border:1px solid #cbd9cc;background:white!important;border-radius:10px}.compare-form .primary{border-radius:10px;padding:13px 23px}.compare-hint{margin-top:11px;font-size:11px}.compare-choices{margin-top:19px;gap:9px}.choice{padding:10px 13px;font-size:12px}.compare-status{background:transparent;text-align:center;font-size:13px;padding:30px 20px}.compare-summary{padding:23px 26px;background:white;border:1px solid var(--line);border-radius:13px 13px 0 0;gap:20px}.compare-summary h3{font-size:20px}.compare-summary p{font-size:12px}.compare-min strong{font-size:26px}.compare-min small{font-size:11px}.result-tabs{display:flex;gap:25px;padding:0 26px;border:1px solid var(--line);border-top:0;background:white}.result-tabs button{padding:17px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:13px}.result-tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green);font-weight:600}.compare-panel #compare-result>.table-scroll{border:1px solid var(--line);border-top:0;background:white}.comparison th{padding:13px 18px}.comparison td{padding:18px;font-size:13px}.comparison .variant-cell{min-width:190px;max-width:270px}.comparison td small{font-size:11px}.comparison td:first-child{min-width:140px}.comparison .price-cell strong{font-size:20px}.comparison .offer-detail{font-size:11px;margin-top:8px;color:var(--muted)}.comparison .offer-detail summary{color:var(--green)}.comparison .offer-detail>div{margin-top:8px}.compare-foot{font-size:11px;padding:16px 20px;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:#f0f4ed}.more-stores{display:block;border:1px solid var(--line);border-top:0;background:white;color:var(--green);padding:14px;width:100%;font-size:12px;text-align:left}.compare-chart{border:1px solid var(--line);border-top:0;background:white;padding:25px}.product-catalog-link{text-align:center;margin-top:25px;font-size:12px}.product-catalog-link a{color:var(--green);text-decoration:none}.stepper{display:flex;padding:0;margin:25px 0 30px;list-style:none;gap:0;max-width:820px}.stepper li{display:flex;flex:1;align-items:center}.stepper li:not(:last-child):after{content:'';height:1px;background:#d7e2d6;flex:1;margin:0 16px}.stepper button{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--muted);padding:0;font-size:12px;white-space:nowrap}.stepper span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #cad8ca;border-radius:50%;font-size:11px}.stepper button[aria-current=step]{color:var(--ink);font-weight:600}.stepper button[aria-current=step] span{background:var(--green);color:white;border-color:var(--green)}.stepper button:disabled{opacity:.55;cursor:default}.flow-card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:16px}.entry-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);padding:0 28px}.entry-tabs button{border:0;border-bottom:2px solid transparent;padding:20px 0;background:none;font-size:13px;color:var(--muted)}.entry-tabs button[aria-selected=true]{border-bottom-color:var(--green);color:var(--green);font-weight:600}.entry-content{padding:28px}.field-label{display:block;font-size:13px;font-weight:600;margin-bottom:12px}.entry-content textarea{display:block;width:100%;min-height:190px;resize:vertical;background:#fbfcfa;font:15px/1.8 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:17px;border-radius:9px}.entry-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.entry-bottom .btn{background:var(--green);color:white;border-color:var(--green);min-width:165px}.try-example{font-size:12px;color:var(--muted);margin-top:25px}.try-example .btn{padding:0;border:0;background:transparent;color:var(--green);font-size:12px;margin-left:7px;text-decoration:underline;text-underline-offset:4px}.upload-zone{display:flex;align-items:center;text-align:center;flex-direction:column;border:1px dashed #bdd0bf;border-radius:12px;background:#f8faf5;padding:30px;gap:15px;cursor:pointer}.upload-zone>span:not(.btn){font-size:12px;color:var(--muted)}.upload-zone .upload-icon{font-size:26px!important;color:var(--green)!important}.upload-zone strong{font-size:16px;font-weight:550}.upload-zone .btn{margin-top:5px}.draft-resume{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:18px 28px;background:#f3f7ef;font-size:12px}.text-action{color:var(--green);font-size:12px;border:0;padding:5px 0;background:transparent;text-decoration:none}.review-list-card{padding:24px 26px}.card-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:15px}.card-heading h2{font-size:18px;margin:0;font-weight:600}.card-heading .purchase-count{border:0;border-radius:6px;background:#edf3e9;color:var(--green);padding:6px 9px;font-size:11px}.import-preview>h3{display:none}.import-preview{margin:0}.import-guidance{font-size:12px}.list-secondary{display:flex;gap:22px;margin-top:20px}.order-options,.save-list{padding:0 24px;font-size:13px;color:var(--ink)}.order-options>summary,.save-list>summary{padding:19px 0;font-size:13px;font-weight:500}.order-options>summary>span{font-size:11px;color:var(--muted);margin-left:12px;font-weight:400}.order-options .purchase-settings{padding-top:4px}.order-options>details{margin-bottom:20px}.order-options .purchase-settings label{font-size:12px}.save-list .purchase-actions{margin:0 0 20px}.step-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.plan-grid{margin-top:0;gap:16px}.plan-card{background:white;padding:23px}.plan-card.selected{padding:22px;background:#eef6ed}.plan-card strong{font-size:27px}.plan-detail{background:white;border:1px solid var(--line);padding:25px;border-radius:12px;margin-top:20px}.plan-detail h3{font-size:18px}.plan-detail .plan-note{font-size:12px}.plan-cost-chart{padding:20px 24px;border:1px solid var(--line);background:white;border-radius:12px}.plan-cost-chart>summary{font-size:13px;color:var(--green)}.plan-cost-chart h3{display:none}.purchase-status:empty{display:none}.purchase-status{font-size:12px;margin:0 0 18px;color:var(--green)}.app-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:40;background:#203d31;color:white;box-shadow:0 10px 35px #20372f25;border-radius:12px;padding:15px 18px;display:flex;align-items:center;gap:20px;max-width:calc(100vw - 32px);font-size:12px}.app-toast #message{color:white;font-size:12px;margin:0;min-height:0}.app-toast a{color:#cce6cc;white-space:nowrap;font-size:12px}.app-toast button{color:white;background:none;border:0;font-size:19px}.data-actions{display:flex;gap:15px;align-items:center}.flow-view[data-view=data]>.flow-card{padding:24px}.flow-view .workspace{display:block}.flow-view .selection-note{font-size:11px}.flow-view .group{padding:20px 23px}.flow-view .shops-section{margin:0}.flow-view .shops-grid{grid-template-columns:repeat(3,1fr)}.stats{margin-bottom:15px}.btn{font-size:13px}.review-dialog{max-height:85vh}.review-dialog .review-product{font-size:12px}.review-dialog h2{font-size:20px}
@media(max-width:750px){.header-context{display:none}.shell{padding-left:20px;padding-right:20px}.app-top{height:72px}.app-navigation{gap:18px}.home-view{margin-top:20px}.home-intro h1{font-size:34px}.path-grid{gap:16px}.path-card{padding:25px}.path-card h2{font-size:22px}.path-card p br{display:none}.stepper li:not(:last-child):after{margin:0 8px}.stepper button{font-size:11px;gap:6px}.stepper span{width:24px;height:24px}.route-bar{margin-bottom:26px}.card-heading{align-items:start}.flow-title h1,.product-view .compare-top h2{font-size:28px}.app-footer{flex-direction:column;gap:8px}.plan-grid{grid-template-columns:1fr}.entry-content{padding:22px}.flow-view .shops-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){main.app-main{padding-top:24px!important}.brand{font-size:22px}.brand span{width:28px;height:28px;margin-right:7px}.header-basket{font-size:11px}.app-navigation{gap:14px}.service-menu>summary{font-size:11px}.path-grid{grid-template-columns:1fr;margin-top:30px}.home-intro h1{font-size:31px}.home-intro>p:last-child{font-size:14px}.path-card{padding:22px;position:relative}.path-symbol{margin-bottom:20px;width:43px;height:43px}.path-card h2{font-size:23px}.path-card p{font-size:13px;margin-bottom:18px}.path-go{padding-top:15px}.home-note{font-size:11px}.route-bar{flex-direction:column;align-items:start;gap:16px}.mode-switch{width:100%}.mode-switch a{flex:1;text-align:center;font-size:11px;padding:9px 8px}.stepper{margin:22px 0}.stepper button{flex-direction:column;font-size:10px;white-space:normal;text-align:center;gap:6px;min-width:68px}.stepper li{justify-content:center}.stepper li:not(:last-child):after{margin:0 6px;align-self:flex-start;position:relative;top:12px}.entry-tabs{padding:0 18px;gap:22px}.entry-tabs button{font-size:12px;padding:18px 0}.entry-bottom{flex-direction:column;align-items:stretch;gap:15px}.entry-bottom .btn{width:100%}.entry-content textarea{min-height:185px}.try-example{line-height:1.8}.entry-content{padding:20px}.review-list-card{padding:20px 16px}.card-heading{flex-direction:column;gap:10px}.order-options,.save-list{padding:0 17px}.order-options>summary>span{display:block;margin-left:0;margin-top:5px}.results-toolbar{align-items:start;flex-direction:column;gap:8px}.compare-summary{padding:20px}.compare-summary h3{font-size:18px}.compare-min{margin-top:15px}.compare-chart{padding:18px}.plan-detail{padding:18px}.plan-detail .comparison td{padding:12px}.comparison .variant-cell{min-width:170px}.app-toast{width:calc(100vw - 24px);flex-wrap:wrap;gap:8px 15px;padding:14px}.app-toast #message{flex-basis:100%}.app-toast button{position:absolute;right:8px;bottom:7px}.flow-view .shops-grid{grid-template-columns:1fr}.draft-resume{padding:16px 20px;align-items:start;flex-direction:column}.step-actions .primary{padding:13px 16px}.compare-form{flex-direction:column}.compare-form .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.path-card{transition:none}.path-card:hover{transform:none}}
.upload-zone:focus-visible{outline:3px solid #84b697;outline-offset:4px}.review-list-card .purchase-empty{margin-top:10px}.stepper button:disabled{pointer-events:none}
.offer-variant-label{font-size:12px;line-height:1.5;margin-bottom:7px;color:var(--ink)}
.new-purchase-items{padding:20px;border:1px solid #d4e1d1;border-radius:10px;background:#f7faf4;margin:5px 0 24px}.purchase-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.purchase-section-heading h3{font-size:15px;line-height:1.5;font-weight:600;margin:0}.existing-purchase-heading{padding-top:4px}.existing-purchase-heading p{font-size:12px;margin:0 0 15px}.new-purchase-items .import-guidance{border:0;padding:0;margin:10px 0 18px}.new-purchase-items .purchase-actions{margin-bottom:0}.new-purchase-items select,.new-purchase-items input{background:white}@media(max-width:600px){.new-purchase-items{padding:16px}.purchase-section-heading{align-items:start;flex-direction:column;gap:7px}.new-purchase-items .purchase-actions{align-items:stretch;flex-direction:column}}

/* Compact catalog: one accessible disclosure per product. */
.flow-view .group.catalog-item{padding:0;border-bottom:1px solid var(--line)}
.catalog-item-heading{display:flex;align-items:center;gap:16px;padding:16px 23px;cursor:pointer;list-style:none}
.catalog-item-heading::-webkit-details-marker{display:none}
.catalog-item-heading:hover{background:#f4f8f2}
.catalog-item-heading:focus-visible{outline:2px solid var(--green);outline-offset:-3px;border-radius:8px}
.catalog-item-title{flex:1;min-width:0}.catalog-item-title strong{display:block;font-size:17px;line-height:1.4;color:var(--ink)}
.catalog-item-title small{display:block;margin-top:5px;font-size:12px;color:var(--muted)}
.catalog-expand-label{display:flex;align-items:center;gap:14px;color:var(--green);font-size:12px;white-space:nowrap}
.catalog-chevron{font-size:22px;transition:transform .15s}
.catalog-item:not([open]) .when-open,.catalog-item[open] .when-closed{display:none}
.catalog-item[open]>.catalog-item-heading .catalog-chevron{transform:rotate(180deg)}
.catalog-item[open]>.catalog-item-heading{background:#f4f8f2}
.catalog-item-content{padding:5px 23px 22px;border-top:1px solid var(--line)}
.catalog-item-content>.btn{margin:0 8px 12px 0}.catalog-offers{margin-top:16px}
@media(max-width:600px){.catalog-item-heading{gap:12px;padding:14px}.catalog-item-title strong{font-size:15px}.catalog-item-content{padding:5px 14px 18px}.catalog-expand-label .when-closed,.catalog-expand-label .when-open{display:none}}

.basket-supplier{margin-top:12px}.basket-supplier label{display:block;font-size:12px;color:var(--muted)}.basket-supplier select{display:block;max-width:100%;width:350px;margin-top:6px;padding:9px;border:1px solid var(--line);border-radius:8px;background:white;font-size:12px}.basket-supplier small{margin-top:6px}.offer-purchase{margin-top:10px}.offer-purchase small{display:block;font-size:11px;margin-top:5px;color:var(--muted)}.offer-purchase .btn{white-space:normal}

.offer-purchase .btn.supplier-selected{background:#237b55;color:#fff;border-color:#237b55;font-weight:600;box-shadow:0 0 0 3px #237b5518}.offer-purchase .btn.supplier-selected:hover{background:#196340;border-color:#196340}.offer-purchase .btn:focus-visible{outline:2px solid #173e2d;outline-offset:3px}

.offer-cart-next{display:block;margin-top:8px;text-align:center;white-space:normal}.offer-cart-next[hidden],.auto-cart-next[hidden],[data-basket-add][hidden]{display:none!important}

.purchase-empty-result{padding:24px}.purchase-empty-result li{margin-bottom:14px}.purchase-empty-result li p{margin:4px 0}

/* Broad suggestions precede specific executions. */
.compare-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.search-step-label{grid-column:1/-1;color:var(--muted);font-size:12px!important;margin:0 0 8px!important}
.search-group-suggestion{display:flex;justify-content:space-between;align-items:center;text-align:left;background:white;border:1px solid var(--line);border-radius:10px;padding:14px 16px;color:var(--ink);gap:15px;font:inherit}
.search-group-suggestion strong{font-size:15px}.search-group-suggestion small,.search-product-result small{display:block;color:var(--muted);font-size:12px;margin-top:6px}
.search-group-suggestion[aria-pressed=true],.search-subcategories button[aria-pressed=true]{background:#edf5ec;border-color:var(--green);color:var(--green)}
.search-results-heading h3{font-size:25px;margin:8px 0}.search-results-heading p{font-size:13px;color:var(--muted)}
.search-subcategories{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.search-subcategories button{background:white;border:1px solid var(--line);border-radius:20px;padding:10px 15px;color:var(--ink);font:inherit;font-size:13px}
.search-product-list{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:20px 0}
.search-product-result{display:flex;width:100%;gap:18px;align-items:center;text-align:left;padding:18px;background:white;border:0;border-bottom:1px solid var(--line);font:inherit;color:var(--ink)}
.search-product-result:last-child{border-bottom:0}.search-product-result:hover{background:#f3f7f0}.search-product-result>.result-content{flex:1;min-width:0}.search-product-result strong{font-size:15px}.result-open{color:var(--green);font-size:12px;white-space:nowrap}.search-page-actions{display:flex;gap:12px;margin-top:16px}
@media(max-width:600px){.compare-choices{grid-template-columns:1fr}.search-product-result{gap:10px;padding:12px}.result-open{display:none}}

/* Dental supplies basket brand mark. */
.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-logo{display:block;width:56px;height:56px;object-fit:contain;flex-shrink:0}@media(max-width:600px){.brand{gap:7px}.brand-logo{width:44px;height:44px}}

.home-search{max-width:860px;margin:38px auto 0}.home-search-form{display:flex;gap:10px;align-items:stretch;text-align:left}.home-search-form input{min-width:0;flex:1;background:white;border:1px solid var(--line);border-radius:12px;padding:18px;font:inherit;font-size:16px}.home-search-form .btn{white-space:nowrap;border-radius:12px;padding:16px 24px}.home-list-action{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--green);text-decoration:none;font-size:13px}.home-list-action svg{width:25px;height:25px;stroke:currentColor;stroke-width:2;flex-shrink:0}.home-list-action:hover{background:#eef6ed;border-color:var(--green)}.home-search-hint{font-size:13px;color:var(--muted);margin:14px 0 25px;text-align:center}.home-catalog-link{display:block;text-align:center;color:var(--green);font-size:14px}.home-search .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.home-search-form{flex-wrap:wrap}.home-search-form input{flex-basis:calc(100% - 110px);width:0}.home-search-form .btn{padding:14px}.home-list-action{margin-left:auto;padding:9px 12px}.home-search-hint{line-height:1.5}.home-search{margin-top:26px}}
/* Keep the full site name and navigation readable on narrow phones. */
@media(max-width:380px){.app-top{height:auto;min-height:72px;flex-wrap:wrap;gap:6px 12px;padding-top:10px;padding-bottom:10px}.app-navigation{margin-left:auto}}
