/* HARMONY_CAPSULE_SYSTEM_V125
   App-grade visual contract.
   One quiet material system, one primary hero, restrained controls and sheets.
   Loaded by shopper, login and administrator pages as the single shared UI override. */
:root{
  --hm-accent:#5cb8e8;
  --hm-accent-strong:#2b7fb8;
  --hm-teal:#4fb8b1;
  --hm-amber:#d69a47;
  --hm-danger:#d9605c;
  --hm-capsule:999px;
  --hm-shell-radius:24px;
  --hm-inner-radius:18px;
  --hm-sheet-radius:30px;
  --hm-glass-border:rgba(255,255,255,.56);
  --hm-glass-fill:rgba(255,255,255,.62);
  --hm-glass-shadow:inset 0 1px 0 rgba(255,255,255,.70),0 10px 24px rgba(50,72,92,.075);
  --hm-content-shadow:0 7px 20px rgba(58,78,98,.045);
  --hm-sheet-fill:rgba(249,252,253,.96);
  --hm-sheet-shadow:0 -14px 38px rgba(35,55,72,.16),inset 0 1px 0 rgba(255,255,255,.74);
  --hm-quiet-fill:rgba(255,255,255,.78);
  --hm-inset-fill:rgba(245,249,251,.80);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}
html,body{overscroll-behavior:none}
button,a,label,[role=button]{-webkit-tap-highlight-color:rgba(0,0,0,0)!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;outline:0!important;touch-action:manipulation}
button:focus,button:focus-visible,a:focus,a:focus-visible{outline:0!important}
button{transition:transform .12s ease-out,opacity .14s ease-out,filter .14s ease-out,background .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out}
button:active{transform:scale(.975)}button:disabled{transform:none!important;opacity:.48}
body.is-booting *,body.is-booting *::before,body.is-booting *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* One liquid-glass family. */
.topbar,.admin-topbar,.shopper-date-panel,.shopper-segmented,.shopper-submit-panel,.bottom-nav,.shopper-sheet,.admin-sheet,.shopper-login-card,.toast{
  position:relative;border-color:var(--hm-glass-border)!important;background:var(--hm-glass-fill)!important;box-shadow:var(--hm-glass-shadow)!important;
  backdrop-filter:blur(22px) saturate(116%)!important;-webkit-backdrop-filter:blur(22px) saturate(116%)!important
}
.topbar::before,.admin-topbar::before,.shopper-date-panel::before,.shopper-segmented::before,.shopper-submit-panel::before,.bottom-nav::before,.shopper-sheet::before,.admin-sheet::before,.shopper-login-card::before,.toast::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.06) 42%,transparent 70%);opacity:.46
}
.topbar>*,.admin-topbar>*,.shopper-date-panel>*,.shopper-segmented>*,.shopper-submit-panel>*,.bottom-nav>*,.shopper-sheet>*,.admin-sheet>*,.shopper-login-card>*,.toast>*{position:relative;z-index:1}

/* Stable capsule title bars: no sticky reflow and no scroll-state material changes. */
.topbar,.admin-topbar{position:fixed!important;top:calc(var(--safe-top) + 8px)!important;left:50%!important;z-index:40!important;min-height:56px!important;margin:0!important;padding:8px 9px 8px 15px!important;transform:translate3d(-50%,0,0)!important;border-radius:var(--hm-capsule)!important;will-change:auto!important}
.topbar{width:min(calc(100% - 30px),450px)!important}.admin-topbar{width:min(calc(100% - 32px),528px)!important}
.shopper-shell,.admin-shell{padding-top:calc(var(--safe-top) + 82px)!important}
body.shopper-scrolled .topbar,body.scrolled .topbar{border-color:var(--hm-glass-border)!important;background:var(--hm-glass-fill)!important;box-shadow:var(--hm-glass-shadow)!important}
.topbar .app-logo,.admin-topbar .app-logo{width:32px!important;height:32px!important}.topbar .icon-button,.admin-icon-btn{width:40px!important;height:40px!important;flex:0 0 auto!important;border-radius:50%!important;color:var(--hm-accent-strong)!important;border:1px solid rgba(255,255,255,.40)!important;background:rgba(255,255,255,.14)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.46)!important}
.topbar .topbar__title strong,.admin-topbar__title strong{font-size:15px!important;letter-spacing:0!important}.topbar .topbar__title span,.admin-topbar__title span{font-size:9.5px!important;letter-spacing:0!important;text-transform:none!important}
.admin-topbar__title{min-width:0!important}.admin-pill{max-width:72px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;border-radius:var(--hm-capsule)!important}

/* Large rounded hero shells. */
.shopper-hero,.admin-hero{isolation:isolate!important;border:1px solid rgba(255,255,255,.64)!important;border-radius:22px!important;background:linear-gradient(135deg,#6d9ed9 0%,#6db9df 47%,#74c4bc 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 -1px 0 rgba(32,75,111,.08),0 14px 30px rgba(57,99,137,.12)!important}
.shopper-hero{min-height:174px!important;padding:14px 16px 12px!important}.shopper-hero::before{opacity:.54!important;filter:blur(18px)!important}.shopper-hero::after,.admin-hero::after{border-radius:calc(var(--hm-shell-radius) - 1px)!important}.shopper-kicker{font-size:10.5px!important}.shopper-share{margin-top:5px!important;font-size:46px!important;letter-spacing:0!important}.shopper-share small{padding-bottom:6px!important;font-size:18px!important}.shopper-hero-caption{margin-top:6px!important;font-size:10px!important}.shopper-hero-grid{gap:0!important;margin-top:10px!important;padding-top:9px!important;border-top:1px solid rgba(255,255,255,.18)!important}.shopper-hero-grid .shopper-hero-metric{min-height:auto!important;padding:0 10px!important;border:0!important;border-left:1px solid rgba(255,255,255,.17)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.shopper-hero-grid .shopper-hero-metric:first-child{padding-left:0!important;border-left:0!important}.shopper-hero-grid span{font-size:9px!important}.shopper-hero-grid strong{margin-top:4px!important;font-size:14px!important}.shopper-hero-orbit,.shopper-hero-orb{opacity:.20!important}.shopper-hero-orbit{right:-78px!important;top:25px!important;transform:rotate(-12deg) scale(.86)!important}

/* Large rounded content shells; internal tiles stay softly rounded, not another invented system. */
.shopper-editor,.shopper-history,.shopper-fusion-card,.panel,.list,.summary-card,.action-card{border:1px solid var(--ui-line-soft)!important;background:var(--hm-quiet-fill)!important;box-shadow:var(--hm-content-shadow)!important}
.shopper-editor,.shopper-history,.shopper-fusion-card,.panel,.list,.action-card{border-radius:22px!important}.shopper-editor{padding:12px!important}.shopper-history{overflow:hidden!important}.shopper-fusion-card{min-height:74px!important}.section-head{margin:3px 2px 9px!important}.section-head strong,.shopper-block-head strong,.shopper-history-head strong{font-size:16px!important;letter-spacing:0!important}.section-head span,.shopper-block-head span,.shopper-history-head span{font-size:11px!important;color:var(--ink-soft)!important}.shopper-brand-row,.shopper-input-summary,.summary-card,.shopper-tier-detail-grid article,.shopper-brand-detail-grid article,.shopper-sheet-fusion-card{border-radius:var(--hm-inner-radius)!important;border-color:var(--ui-line-soft)!important;background:var(--hm-inset-fill)!important;box-shadow:none!important}.shopper-brand-row{min-height:60px!important;padding-right:6px!important;padding-left:12px!important}.shopper-brand-row>span:first-child{font-size:13px!important}.shopper-input-summary{min-height:58px!important;border-radius:16px!important}.shopper-input-summary span{font-size:10.5px!important}.shopper-input-summary strong{font-size:17px!important}.shopper-history-row{min-height:62px!important;transition:background .16s ease-out,transform .12s ease-out!important}.shopper-history-row:active{background:rgba(92,184,232,.065)!important;transform:scale(.996)!important}.shopper-history-row.is-missing{background:linear-gradient(90deg,rgba(217,96,92,.040),rgba(217,96,92,.010))!important}.shopper-history-row .badge--danger,.badge,.value-pill,.chip,.admin-pill{border-radius:var(--hm-capsule)!important}.shopper-history-row .badge--danger{width:52px!important;height:30px!important;color:var(--danger-strong)!important;background:var(--danger-soft)!important;border:1px solid rgba(217,96,92,.15)!important;box-shadow:none!important;font-size:11px!important}

/* All interactive controls use capsule semantics. */
.shopper-date-panel{min-height:54px!important;padding:0 12px!important;border-radius:var(--hm-capsule)!important;transition:transform .14s ease-out!important}.shopper-date-panel:active{transform:scale(.99)!important}.shopper-date-icon{width:32px!important;height:32px!important;border-radius:50%!important;background:rgba(92,184,232,.12)!important}.shopper-date-copy strong{font-size:13px!important}.shopper-date-copy small{font-size:9.5px!important}.shopper-autosave-inline{min-height:28px!important;padding:0 9px!important;border-radius:var(--hm-capsule)!important;background:rgba(255,255,255,.22)!important;font-size:10px!important;white-space:nowrap!important}
.shopper-segmented,.segmented{position:relative!important;overflow:hidden!important;padding:4px!important;border-radius:var(--hm-capsule)!important}.shopper-segmented button,.segmented button{min-height:39px!important;border-radius:var(--hm-capsule)!important;font-size:12px!important}.shopper-segmented .segmented__indicator,.segmented__indicator{top:4px!important;bottom:4px!important;border-radius:var(--hm-capsule)!important;border:1px solid rgba(255,255,255,.66)!important;background:linear-gradient(145deg,rgba(95,186,225,.93),rgba(47,139,194,.88))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.46),0 5px 14px rgba(47,136,197,.13)!important;transition:left .18s cubic-bezier(.22,.75,.24,1),background .16s ease-out!important}.shopper-segmented[data-active-tier="mid"] .segmented__indicator{background:linear-gradient(145deg,rgba(88,191,183,.94),rgba(52,151,146,.88))!important}.shopper-segmented[data-active-tier="low"] .segmented__indicator{background:linear-gradient(145deg,rgba(224,166,78,.94),rgba(193,126,45,.88))!important}.shopper-segmented button.is-active,.segmented button.is-active{color:#fff!important;font-weight:800!important;text-shadow:0 1px 1px rgba(28,75,112,.16)!important}
.text-field,.select-wrap select,.date-field-shell,.upload-zone{border-radius:var(--hm-capsule)!important}.text-field,.select-wrap select{padding-right:14px!important;padding-left:14px!important}.upload-zone{min-height:86px!important}
.stepper{font-variant-numeric:tabular-nums!important}.stepper strong{min-width:22px!important;font-variant-numeric:tabular-nums!important}.stepper button{border-radius:50%!important;transition:transform .11s ease-out,opacity .14s ease-out,filter .14s ease-out!important}.stepper button:active,.stepper button.is-pressed{transform:scale(.94)!important;filter:saturate(1.04)!important}.stepper button:last-child{color:var(--hm-accent-strong)!important}.stepper button:last-child::before{background:rgba(236,246,252,.86)!important}
.solid-button,.glass-button,.outline-button,.danger-button,.submit-button,.shopper-submit-btn,.shopper-sheet-primary,.apply-button,.button-primary,.button-secondary,.button-danger,.sheet-actions button,.shopper-dialog-actions button{border-radius:var(--hm-capsule)!important}.shopper-submit-panel{min-height:68px!important;padding:8px 9px 8px 13px!important;border-radius:var(--hm-capsule)!important}.shopper-submit-metrics span{font-size:9px!important}.shopper-submit-metrics strong{font-size:15px!important}.shopper-submit-btn{min-height:52px!important;min-width:128px!important}.shopper-submit-btn,.shopper-sheet-primary,.apply-button,.button-primary{color:#fff!important;background:linear-gradient(145deg,#5eb8e2,#2f91cc)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 9px 19px rgba(47,136,197,.15)!important}

/* Administrator nav: explicit indicator geometry fixes inherited lens offsets. */
.bottom-nav{border-radius:var(--hm-capsule)!important;overflow:hidden!important}.bottom-nav__indicator{left:6px!important;top:6px!important;bottom:6px!important;width:calc((100% - 12px)/4)!important;border-radius:var(--hm-capsule)!important;transform:translate3d(calc(var(--nav-index,0)*100%),0,0)!important;border-color:rgba(255,255,255,.62)!important;background:rgba(92,184,232,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 4px 12px rgba(47,136,197,.08)!important}.bottom-nav button{border-radius:var(--hm-capsule)!important}.bottom-nav button.is-active{color:var(--hm-accent-strong)!important}
.segmented--two .segmented__indicator{left:4px!important;width:calc((100% - 8px)/2)!important;transform:translate3d(calc(var(--segment-index,0)*100%),0,0)!important}

/* Unified large semi-modal sheets. */
.sheet-backdrop{background:rgba(28,40,52,.22)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}.shopper-sheet,.admin-sheet{min-height:auto!important;border-radius:var(--hm-sheet-radius) var(--hm-sheet-radius) 0 0!important;border:1px solid rgba(255,255,255,.68)!important;background:var(--hm-sheet-fill)!important;box-shadow:var(--hm-sheet-shadow)!important}.admin-sheet{max-height:min(82svh,680px)!important;overflow:auto!important}.sheet-handle{width:42px!important;height:4px!important;margin-top:2px!important;background:rgba(77,97,112,.16)!important}.sheet-head button{width:42px!important;height:42px!important;border-radius:50%!important;color:var(--ink-soft)!important;border:1px solid rgba(255,255,255,.46)!important;background:rgba(255,255,255,.24)!important}.shopper-dialog-sheet{padding-top:7px!important;padding-bottom:calc(var(--safe-bottom) + 14px)!important}.shopper-dialog-copy h3{font-size:18px!important;letter-spacing:0!important}.shopper-dialog-copy p{max-width:330px!important;color:var(--ink-soft)!important;font-size:12px!important;line-height:1.55!important}.shopper-dialog-icon{width:46px!important;height:46px!important}.sheet-actions{gap:10px!important}.shopper-dialog-actions{gap:10px!important;margin-top:15px!important}.sheet-actions button,.shopper-dialog-actions button{min-height:48px!important}

/* Unified login. */
.shopper-login{min-height:100svh!important;padding:22px!important;background:transparent!important}.shopper-login-card{position:relative!important;overflow:hidden!important;width:100%!important;max-width:410px!important;padding:20px!important;border-radius:var(--hm-shell-radius)!important}.shopper-login-mark{width:48px!important;height:48px!important;border-radius:50%!important;color:#fff!important;background:linear-gradient(145deg,#5eb8e2,#2f91cc)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 8px 18px rgba(47,136,197,.14)!important}.shopper-login-card .text-field{min-height:50px!important}.shopper-login-card .solid-button{min-height:52px!important;border-radius:var(--hm-capsule)!important;background:linear-gradient(145deg,#5eb8e2,#2f91cc)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 9px 19px rgba(47,136,197,.15)!important}.toast{overflow:hidden!important;border-radius:var(--hm-capsule)!important;color:var(--ink)!important}

/* Admin narrow-screen repair. */
.admin-main{min-width:0!important}.action-grid{gap:10px!important}.action-card{border-radius:var(--hm-shell-radius)!important}.action-card__icon,.avatar{border-radius:50%!important}.list-row{min-width:0!important}.list-main{min-width:0!important}.list-main strong,.list-main small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.toolbar{display:flex!important;max-width:100%!important;overflow:auto!important;padding-bottom:2px!important;scrollbar-width:none!important}.toolbar::-webkit-scrollbar{display:none!important}
body.admin-overlay-open{overflow:hidden!important}.admin-overlay-open .bottom-nav{opacity:0!important;pointer-events:none!important;transform:translate3d(-50%,16px,0)!important}
@media(max-width:390px){.shopper-shell,.admin-shell{padding-right:14px!important;padding-left:14px!important}.shopper-stack{gap:13px!important}.shopper-hero{min-height:174px!important;padding:14px 16px 12px!important}.shopper-share{font-size:46px!important}.shopper-hero-grid .shopper-hero-metric{padding-right:7px!important;padding-left:7px!important}.shopper-hero-grid strong{font-size:14px!important}.admin-pill{max-width:56px!important;padding-right:8px!important;padding-left:8px!important}.admin-topbar{gap:6px!important;padding-left:12px!important}}
@media(max-width:350px){.admin-pill{display:none!important}.admin-topbar__title span{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Shopper achievement reference is supporting context, not a second hero. */
.shopper-reference-section .shopper-hero{min-height:142px!important;padding:12px 13px!important;color:var(--ink,#17202a)!important;border:1px solid var(--ui-line-soft)!important;border-radius:20px!important;background:transparent!important;box-shadow:none!important}.shopper-reference-section .shopper-hero::after{display:none!important}.shopper-reference-section .shopper-share{color:var(--ink,#17202a)!important;font-size:36px!important;letter-spacing:0!important}.shopper-reference-section .shopper-hero-grid{margin-top:9px!important;padding-top:8px!important;border-top:1px solid var(--ui-line-soft)!important}.shopper-reference-section .shopper-kicker,.shopper-reference-section .shopper-hero-caption,.shopper-reference-section .shopper-hero-grid span,.shopper-reference-section .shopper-hero-grid strong,.shopper-reference-section .shopper-achievement-top span:last-child,.shopper-reference-section .shopper-achievement-main small,.shopper-reference-section .shopper-achievement-row span,.shopper-reference-section .shopper-achievement-row small,.shopper-reference-section .shopper-achievement-pace span,.shopper-reference-section .shopper-achievement-pace b,.shopper-reference-section .shopper-achievement-forecast span,.shopper-reference-section .shopper-achievement-forecast strong{color:var(--ink-soft,#718096)!important;text-shadow:none!important}.shopper-reference-section .shopper-achievement-main,.shopper-reference-section .shopper-achievement-metrics article,.shopper-reference-section .shopper-achievement-pace{padding-bottom:7px!important;border-bottom-color:var(--ui-line-soft)!important}.shopper-reference-section .shopper-achievement-progress{height:4px!important;background:rgba(92,184,232,.12)!important}.shopper-reference-section .shopper-achievement-progress em{background:var(--hm-accent,#5cb8e8)!important}.shopper-reference-section .shopper-achievement-coef,.shopper-reference-section .shopper-achievement-pace em{border-color:var(--ui-line-soft)!important;background:transparent!important;color:var(--ink-soft,#718096)!important}.shopper-reference-section .shopper-achievement-coef b{color:var(--ink,#17202a)!important}
@media(max-width:390px){.shopper-reference-section .shopper-hero{min-height:136px!important;padding:11px 12px!important}.shopper-reference-section .shopper-share{font-size:34px!important}}
