.planner-label{display:inline-flex;align-items:center;min-height:32px;margin:0 0 16px;padding:5px 12px;border-radius:999px;background:var(--blue-field);color:var(--accent);font-size:13px;font-weight:600}
.card.is-unavailable{opacity:.72}.card.is-unavailable .picture>img{filter:grayscale(.35)}.select:disabled{cursor:not-allowed}.availability-badge{position:absolute;left:10px;bottom:10px;z-index:2;padding:5px 8px;border-radius:999px;background:var(--ground);color:var(--muted);font-size:12px;font-weight:600}.empty-category,.catalogue-load-error{grid-column:1/-1;margin:0;padding:36px;background:var(--blue-field);color:var(--muted);text-align:center}
.product-dialog.application-dialog{width:min(760px,calc(100vw - 48px));height:min(900px,calc(100dvh - 48px))}.application-form{display:flex;min-height:0;flex:1;flex-direction:column}.application-scroll{min-height:0;overflow:auto;padding:8px 28px 20px}.selected-review{padding:20px;background:var(--blue-field)}.selected-review>p{margin:0 0 12px;color:var(--accent);font-size:14px;font-weight:600}.selected-review ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.selected-review li{display:flex;align-items:center;gap:10px;min-width:0;background:var(--ground);padding:8px}.selected-review img{width:48px;height:48px;flex:none;object-fit:contain}.selected-review li span{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.delivery-callout{display:grid;gap:2px;margin:18px 0;padding:16px 18px;border-left:4px solid var(--accent);background:#f7f9ff}.delivery-callout strong{font-size:15px}.delivery-callout span{color:var(--muted);font-size:14px;line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-group{display:grid;gap:7px;min-width:0;color:var(--ink);font-size:14px;font-weight:600}.form-group input,.form-group select{width:100%;min-height:48px;border:1px solid #bac6d7;border-radius:var(--radius);background:var(--ground);padding:10px 12px;color:var(--ink);font:inherit;font-weight:400}.form-group input:focus,.form-group select:focus{outline:3px solid color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent)}.required-mark,.optional-mark{display:inline-block;margin-left:4px;color:var(--accent);font-size:12px;font-weight:600}.optional-mark{color:var(--muted)}.topics-group{grid-column:1/-1;margin:0;padding:0;border:0}.topics-group legend{margin-bottom:7px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.choice-grid label{position:relative}.choice-grid input{position:absolute;width:1px;height:1px;opacity:0}.choice-grid span{display:flex;min-height:44px;align-items:center;justify-content:center;border:1px solid #c8d1df;border-radius:var(--radius);padding:8px;background:var(--ground);color:var(--muted);font-size:13px;font-weight:500}.choice-grid input:checked+span{border-color:var(--accent);background:var(--selected-field);color:var(--accent)}.choice-grid input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.test-data-note{margin:20px 0 0;color:#7b4c00;font-size:13px}.form-status{margin-top:12px;color:#ad1f1f;font-size:14px;line-height:1.6}.form-status:empty{display:none}.form-status ul{margin:6px 0 0;padding-left:20px}.application-footer{margin-top:auto}.secondary-button{min-height:52px;border:1px solid #c8d1df;border-radius:var(--radius);background:var(--ground);padding:10px 18px;font-weight:600}.secondary-button:hover{background:var(--blue-field)}.success-dialog{width:min(520px,calc(100vw - 32px));height:auto}.success-panel{display:grid;justify-items:center;padding:48px 32px;text-align:center}.success-mark{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--accent);color:var(--ground);font-size:26px}.success-kicker{margin:18px 0 4px;color:var(--accent);font-size:13px;font-weight:600}.success-panel h2{margin:0}.success-panel p:not(.success-kicker){margin:16px 0 24px;color:var(--muted);line-height:1.8}.success-panel .cta{width:100%}.text-button{min-height:44px;margin-top:8px;border:0;background:transparent;color:var(--muted)}
@media(max-width:767px){.product-dialog.application-dialog{width:calc(100vw - 16px);height:calc(100dvh - 24px)}.application-scroll{padding:4px 16px 18px}.selected-review{padding:14px}.selected-review ul{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:16px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.application-footer{flex-direction:row!important}.application-footer>*{width:auto!important;flex:1}.success-panel{padding:38px 22px}}
@media(prefers-reduced-motion:reduce){.choice-grid span{transition:none}}

.application-dialog { max-height: calc(var(--dialog-viewport-height, 100dvh) - 24px); }
.application-form input, .application-form select { scroll-margin-block: 24px; }
.application-scroll { overscroll-behavior: contain; }
.application-footer > * { min-width: 0; }
.success-dialog { max-height: calc(var(--dialog-viewport-height, 100dvh) - 24px); overflow-y: auto; }
.success-panel { min-width: 0; }
.receipt-number { overflow-wrap: anywhere; }
.success-items { width: 100%; margin: 0 0 24px; padding: 16px; list-style: none; background: var(--blue-field); text-align: left; }
.success-items li { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-block: 4px; font-size: 14px; }
.success-items li span { min-width: 0; overflow-wrap: anywhere; }
.success-items li strong { flex: none; }
@media(max-width:767px){
  .form-group input,.form-group select{font-size:16px}
  .application-footer{gap:8px!important}
  .application-footer .cta,.application-footer .secondary-button{padding-inline:8px;font-size:13px}
  .bottom-inner{flex-wrap:wrap;gap:8px}
  .bottom-inner .selection-summary{flex:1;min-height:0}
  .bottom-inner .cta{min-width:140px}
}

/* Application form alignment shares the public page's neutral control vocabulary. */
.customer-page .application-dialog { width: min(760px, calc(100vw - 48px)); }
.customer-page .application-scroll { padding-top: 4px; }
.customer-page .selected-review { padding: 16px; border-radius: var(--radius); background: var(--surface); }
.customer-page .selected-review > p { margin-bottom: 12px; font-size: 13px; }
.customer-page .selected-review li { padding: 0; background: transparent; }
.customer-page .selected-review img { width: 44px; height: 44px; }
.customer-page .delivery-callout { margin-block: 20px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--ground); }
.customer-page .delivery-callout strong { font-size: 14px; }
.customer-page .delivery-callout span { font-size: 13px; }
.customer-page .form-grid { gap: 22px 20px; align-items: start; }
.customer-page .form-group { gap: 8px; font-size: 14px; font-weight: 500; align-content: start; }
.customer-page .form-group input, .customer-page .form-group select { min-height: 48px; border-color: #bac6d7; border-radius: var(--radius); font-size: 16px; caret-color: var(--accent); }
.customer-page .form-group input:focus, .customer-page .form-group select:focus { outline: 2px solid var(--accent); outline-offset: 2px; border-color: var(--accent); }
.customer-page [data-contact-help] { font-size: 12px; font-weight: 400; line-height: 1.6; color: var(--muted); }
.customer-page [data-contact-help]:empty { display: none; }
.customer-page input[aria-invalid=true] { border-color: #ad1f1f; }
.customer-page input[aria-invalid=true] + [data-contact-help] { color: #ad1f1f; }
.customer-page .topics-group legend { margin-bottom: 10px; }
.customer-page .choice-grid { gap: 8px; }
.customer-page .choice-grid span { min-height: 44px; border-color: var(--line); border-radius: var(--radius); font-size: 13px; font-weight: 400; }
.customer-page .choice-grid input:checked + span { border-color: var(--accent); }
.customer-page .meeting-group { padding: 16px; border-color: var(--line); }
.customer-page .meeting-group legend { font-size: 14px; font-weight: 500; }
.customer-page .meeting-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; align-items: start; }
.customer-page .meeting-grid > label:last-child { grid-column: 1 / -1; }
.customer-page .test-data-note { margin-top: 20px; color: var(--muted); font-size: 12px; }
.customer-page .application-footer { gap: 16px; border-top: 1px solid var(--line); }
.customer-page .application-footer .secondary-button { min-width: 148px; border-color: var(--line); font-size: 14px; }
.customer-page .application-footer .cta { min-height: 52px; font-size: 15px; }
.customer-page .success-mark { border-radius: var(--radius); }
.customer-page .success-items { border-radius: var(--radius); background: var(--surface); }
@media (max-width: 767px) {
  .customer-page .application-dialog { width: calc(100vw - 16px); }
  .customer-page .application-scroll { padding-inline: 16px; }
  .customer-page .selected-review { padding: 14px; }
  .customer-page .form-grid { gap: 22px; }
  .customer-page .meeting-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .customer-page .application-footer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 10px !important; }
  .customer-page .application-footer > * { width: 100% !important; min-width: 0 !important; min-height: 50px; }
  .customer-page .application-footer .cta, .customer-page .application-footer .secondary-button { padding-inline: 8px; font-size: 14px; }
}
