 
.pui, .pui-offer, .pui-weight-chart {
  box-sizing:border-box; min-width:0; text-align:left; color:var(--text-body);
  font:400 var(--font-body)/1.55 var(--font-family-base); overflow-wrap:break-word;
}
.pui *, .pui-offer *, .pui-weight-chart * { box-sizing:border-box; min-width:0; }
.pui :is(p,h2,h3,h4,dl,dt,dd), .pui-weight-chart p { margin:0; }
.pui svg:not(.msu-chart-svg), .pui-offer svg { width:16px; height:16px; display:block; flex:none; }
.pui-plan.card-l1 { padding:var(--space-card); }
.pui-plan-heading, .pui-card-heading, .pui-empty-meal, .pui-baseline { display:flex; align-items:center; gap:var(--space-3); }
.pui-card-heading { gap:10px; }
.pui-symbol {
  height:34px; width:34px; display:inline-grid; place-items:center; flex:none;
  background:var(--color-accent-bg); border-radius:var(--radius-sm); color:var(--text-body);
}
.pui-symbol svg:not(.msu-chart-svg) { width:18px; height:18px; }
.pui-plan-heading h2 { font-size:var(--font-title); font-weight:600; line-height:1.32; }
.pui-card-heading h3.msu-form-title { font-size:var(--font-emphasis); line-height:1.4; margin:0; color:var(--text-primary); }
.pui-plan-heading>div>span, .pui-card-heading p { color:var(--text-weak); font-size:var(--font-caption); line-height:1.5; }
.pui-plan-heading>div>span { font-family:var(--font-family-number); }
.pui-card-heading p { margin-top:2px; }
.pui-stamp { display:inline-block; flex:none; font-size:var(--font-caption); color:var(--text-weak); line-height:1.4; }
.pui-plan-heading>.pui-stamp { margin-left:auto; }
.pui-plan-heading + *, .pui-card-body:not(:empty) { margin-top:var(--space-4); }
.pui .pui-empty-copy, .pui-empty-meal p { color:var(--text-weak); font-size:var(--font-body); line-height:1.65; }
.pui-baseline small,.pui-empty-meal small { color:var(--text-weak); font-size:var(--font-caption); }
.pui-baseline h4,.pui-empty-meal h4 { font-size:var(--font-emphasis); margin:2px 0; color:var(--text-primary); }
.pui-baseline p { color:var(--text-weak); font-size:var(--font-aux); }
.pui-baseline .pui-symbol,.pui-empty-meal .pui-symbol { background:var(--bg-fill); }
.pui-plan-heading + .pui-baseline>.pui-symbol { display:none; }
.pui-facts { padding:0; display:grid; gap:0; }
.pui-facts>div { display:grid; grid-template-columns:minmax(47px,.4fr) minmax(0,1fr); gap:var(--space-3); padding:9px 0; border-bottom:var(--line-card); align-items:baseline; }
.pui-facts>div:first-child { padding-top:0; }
.pui-facts>div:last-child { border:0; padding-bottom:0; }
.pui-facts dt,.pui-source-list dt { font-size:var(--font-aux); color:var(--text-weak); }
.pui-facts dd { font-size:var(--font-body); color:var(--text-body); line-height:1.55; }
.pui-change-summary { display:flex; align-items:center; gap:7px; font-size:var(--font-aux); padding:9px 10px; border-radius:var(--radius-sm); background:var(--color-accent-bg); }
.pui-change-summary + .pui-calendar { margin-top:var(--space-3); }
.pui-date-picker {
  display:flex; align-items:stretch; justify-content:space-between; gap:3px;
  border-bottom:var(--line-card); padding:0 0 var(--space-3); margin:0 0 var(--space-3);
}
.pui-date-picker button {
  display:flex; flex:1; flex-direction:column; gap:3px; align-items:center; justify-content:center;
  font-family:var(--font-family-base); line-height:1; padding:6px 2px; min-height:46px;
  border:1px solid transparent; border-radius:var(--radius-sm); background:transparent;
  color:var(--text-weak); cursor:pointer; transition:background var(--dur-fast) var(--ease-out);
}
.pui-date-picker button[aria-pressed="true"] { background:var(--color-accent-bg); color:var(--text-primary); }
.pui-date-picker button:focus-visible,.pui-details summary:focus-visible,.pui-offer:focus-visible { outline:2px solid var(--color-accent-deep); outline-offset:2px; }
.pui-date-picker button span { font-weight:400; font-size:var(--font-caption); }
.pui-date-picker button b { font:600 var(--font-emphasis)/1 var(--font-family-number); }
.pui [data-pui-panel][hidden] { display:none !important; }
.pui-dinner-band,.pui-product-title,.pui-product-top,.pui-measure-head,.pui-chart-caption { display:flex; justify-content:space-between; align-items:center; gap:var(--space-2); }
.pui-dinner-band { align-items:baseline; margin-bottom:8px; }
.pui-dinner-band>span:first-child,.pui-shop,.pui-order-meta>span:first-child, .pui-why { display:inline-flex; align-items:center; gap:5px; }
.pui-dinner-band>span:first-child,.pui-shop { font-size:var(--font-aux); color:var(--text-weak); }
.pui-dinner-band svg:not(.msu-chart-svg),.pui-shop svg,.pui-order-meta svg:not(.msu-chart-svg) { width:13px; height:13px; }
.pui-product-title { align-items:baseline; }
.pui-product-title h4,.pui-offer .pui-product-title>b { font-size:var(--font-emphasis); font-weight:600; line-height:1.45; color:var(--text-primary); }
.pui-dinner .pui-product-title h4 { font-size:var(--font-title); }
.pui-price { display:inline-flex; align-items:baseline; flex:none; gap:1px; font:600 20px/1.1 var(--font-family-number); color:var(--text-number); white-space:nowrap; }
.pui-price>small,.pui-offer .pui-price>small { display:inline; font:500 var(--font-aux)/1 var(--font-family-number); color:inherit; margin:0; }
.pui-pairing { color:var(--text-weak); font-size:var(--font-aux); padding-top:var(--space-1); }
.pui-order-meta { margin-top:var(--space-3); border-top:var(--line-card); padding-top:10px; display:flex; flex-wrap:wrap; gap:3px var(--space-2); align-items:center; }
.pui-order-meta>span { font-size:var(--font-caption); color:var(--text-weak); }
.pui-why { font-size:var(--font-aux); line-height:1.5; color:var(--text-weak); align-items:flex-start; padding-top:var(--space-3); }
.pui-why svg:not(.msu-chart-svg) { width:14px;height:14px;margin-top:2px; }
.pa-option.pui-offer {
  width:100%; display:grid; gap:5px; padding:var(--space-3); border:var(--line-card); border-radius:var(--radius-md);
  background:var(--bg-surface); text-align:left; font-family:var(--font-family-base); cursor:pointer;
  transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);
}
.pa-option.pui-offer.is-selected { background:color-mix(in srgb,var(--color-accent-bg) 35%,var(--bg-surface)); border-color:var(--color-accent); }
.pa-option.pui-offer:disabled,div.pa-option.pui-offer { cursor:default; }
.pui-radio { width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex:none;border:1px solid var(--text-disabled);border-radius:50%; }
.pui-offer.is-selected .pui-radio { border-color:var(--color-accent);background:var(--color-accent);color:var(--text-primary); }
.pui-offer .pui-radio svg { width:11px;height:11px;stroke-width:2.2; }
.pui-offer .pui-product-route { color:var(--text-weak); font-size:var(--font-aux); }
.pui-offer .ot-tags { margin-top:0; }
.pui-offer .ot-tag { font-size:var(--font-caption); }
.pui-itinerary { display:grid; }
.pui-stop { display:grid; grid-template-columns:41px minmax(0,1fr); gap:6px; }
.pui-stop-time { display:flex; align-items:baseline; gap:4px; position:relative; padding:12px 0; }
.pui-stop-time>i { width:6px; height:6px; border-radius:50%; flex:none; background:var(--text-disabled); align-self:flex-start; margin-top:6px; }
.pui-stop:not(:last-child)>.pui-stop-time:after { content:""; position:absolute; left:2.5px; width:1px; top:25px; bottom:-15px; background:var(--bg-fill); }
.pui-stop--main .pui-stop-time i { background:var(--color-accent-deep); }
.pui-stop-time small { color:var(--text-weak); font-size:var(--font-caption); }
.pui-stop-content { padding:9px 0 11px; }
.pui-stop:not(:last-child)>.pui-stop-content { border-bottom:var(--line-card); }
.pui-stop:last-child>.pui-stop-content { padding-bottom:0; }
.pui-stop-content .pui-product-title h4 { font-size:var(--font-body); }
.pui-stop--main .pui-product-title h4 { font-size:var(--font-emphasis); }
.pui-stop-content>p, .pui-food-pref { color:var(--text-weak); font-size:var(--font-caption); line-height:1.55; margin-top:2px; }
.pui-stop-content>p.pui-stop-pickup { font-size:var(--font-caption); }
.pui-food-pref { display:inline-block; color:var(--text-weak); }
.pui-stop-content .pui-price { font-size:var(--font-emphasis); }
.pui-weight-chart.msu-chart { margin:0; padding:0; min-height:0; height:auto; border:0; border-radius:0; box-shadow:none; background:transparent; overflow:visible; }
.pui-measure-head { align-items:flex-end; }
.pui-measure-head>div>span,.pui-measure-head>small { display:block; font-size:var(--font-caption); color:var(--text-weak); }
.pui-measure-head .pg-num { display:flex; align-items:baseline; gap:4px; margin:0; font-size:var(--font-number-lg); line-height:1.08; color:var(--text-number); }
.pui-measure-head .pg-unit { margin:0; font-size:var(--font-aux); }
.pui-weight-chart svg.msu-chart-svg { display:block; width:100%; height:auto; max-height:130px; }
.pui-chart-grid { fill:none; stroke:var(--bg-fill); stroke-width:1; }
.pui-chart-point { fill:var(--color-accent-deep); }
.pui-point-halo { fill:var(--color-accent-bg); }
.pui-dot-number { font:500 10px var(--font-family-number); fill:var(--text-body); }
.pui-weight-chart .msu-cl-axis-label { fill:var(--text-weak); }
.pui-chart-caption { font-size:var(--font-caption); color:var(--text-weak); padding-top:2px; flex-wrap:wrap; }
.pui-chart-caption>span:first-child { display:inline-flex; align-items:center; gap:5px; }
.pui-chart-caption i { width:6px; height:6px; border-radius:50%; background:var(--color-accent-deep); }
.pui-reading { color:var(--text-body); font-size:var(--font-body); line-height:1.7; }
.pui-weight-chart + .pui-reading,.pui-weight-chart + .pui-facts { margin-top:var(--space-4); }
.pui-details { margin-top:var(--space-3); border-top:var(--line-card); padding-top:var(--space-2); }
.pui-details summary { display:flex; align-items:center; justify-content:space-between; gap:var(--space-2); list-style:none; cursor:pointer; font-size:var(--font-aux); color:var(--text-weak); min-height:32px; }
.pui-details summary::-webkit-details-marker { display:none; }
.pui-details summary svg:not(.msu-chart-svg) { width:14px;height:14px; }
.pui-details[open] summary svg { transform:rotate(180deg); }
.pui-source-list { display:grid; gap:10px; padding-top:6px; }
.pui-source-list dt { font-weight:600; color:var(--text-body); }
.pui-source-list dd { font-size:var(--font-aux); color:var(--text-weak); line-height:1.6; margin-top:2px; }
.pui-plan--compact.card-l1 { padding:var(--space-4); }
@media (prefers-reduced-motion: reduce){ .pui *, .pui-offer * { transition:none!important; } }
.pui-agreement { display:flex; align-items:center; gap:6px; font-size:var(--font-aux); color:var(--text-weak); border-top:var(--line-card); margin-top:var(--space-3); padding-top:var(--space-2); }
.pui-agreement svg:not(.msu-chart-svg) { width:14px; height:14px; }
.pui-review-meals { display:grid; }
.pui-review-meals article { display:flex; align-items:center; gap:10px; min-width:0; padding:9px 0; border-bottom:var(--line-card); }
.pui-review-meals article:first-child { padding-top:0; }
.pui-review-meals article:last-child { padding-bottom:0; border:0; }
.pui-review-meals .pui-meal-mark { display:grid; place-items:center; width:32px; height:36px; flex:none; background:var(--bg-page); border-radius:var(--radius-sm); color:var(--text-weak); }
.pui-review-meals h4 { color:var(--text-primary); font-size:var(--font-body); font-weight:600; }
.pui-review-meals small,.pui-review-meals p { color:var(--text-weak); font-size:var(--font-aux); }
.pui-review-meals .ot-tag { margin-left:auto; }
