/* Customer administration · Falke Glass. Form/data surfaces stay opaque. */
.glass-customer-detail :where(.gc-detail-layout, .gc-customer-overview, .gc-detail-primary, .gc-detail-secondary),
.glass-customer-form :where(.gc-form-layout, .gc-config-form, .gc-field-grid, .gc-form-aside) { min-width: 0; }
.glass-customer-detail :where(h2, h3, p),
.glass-customer-form :where(h2, h3, p) { margin-top: 0; }
.glass-customer-detail :where(.admin-card, .gc-save-notice),
.glass-customer-form .gc-form-section { padding: 24px; }
.glass-customer-detail .admin-section-heading,
.glass-customer-form .admin-section-heading { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.glass-customer-detail .admin-section-heading h2,
.glass-customer-form .admin-section-heading h2 { margin: 0; }
.glass-customer-detail .admin-section-heading p,
.glass-customer-form .admin-section-heading p { margin: 5px 0 0; max-width: 66ch; color: var(--falke-muted); font-size: 13px; line-height: 1.55; }
.glass-customer-detail .admin-section-heading > a { align-self: center; }
.glass-customer-detail :where(.admin-section-heading > a:not(.button), .gc-management-links a),
.glass-customer-form .gc-inline-notice a { color: var(--falke-orange-deep); font-weight: 600; text-underline-offset: 3px; }
.glass-customer-detail .gc-customer-overview { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(0, 1.35fr); gap: 18px; margin: 22px 0; }
.glass-customer-detail .gc-identity { display: flex; align-items: center; gap: 16px; padding: 22px; border: 1px solid var(--falke-customer-border); border-left: 5px solid var(--falke-customer-color); border-radius: var(--falke-radius-card); background: var(--falke-customer-soft); }
.glass-customer-detail .gc-identity > div { min-width: 0; flex: 1; }
.glass-customer-detail .gc-identity strong { display: block; font-size: 18px; line-height: 1.35; overflow-wrap: anywhere; }
.glass-customer-detail .gc-identity a { display: inline-block; margin-top: 4px; color: var(--falke-customer-ink); font-size: 13px; overflow-wrap: anywhere; }
.glass-customer-detail .gc-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--falke-customer-ink); margin: 0 0 5px; }
.glass-customer-detail .gc-customer-logo { width: 62px; height: 62px; object-fit: contain; flex: 0 0 62px; padding: 8px; border-radius: 12px; border: 1px solid var(--falke-border); background: var(--falke-surface); }
.glass-customer-detail .gc-customer-initial { display: grid; place-items: center; width: 58px; height: 58px; flex: 0 0 58px; background: var(--falke-customer-color); color: var(--falke-on-customer); border-radius: 14px; font-family: var(--falke-font-display); font-size: 30px; }
.glass-customer-detail .gc-status { display: inline-flex; align-items: center; width: fit-content; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.glass-customer-detail .gc-status.is-active { color: var(--falke-success); background: var(--falke-success-bg); }
.glass-customer-detail .gc-status.is-inactive { color: var(--falke-error); background: var(--falke-error-bg); }
.glass-customer-detail .gc-status.is-muted { color: var(--falke-muted); background: var(--falke-soft); }
.glass-customer-detail .gc-detail-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.glass-customer-detail .gc-detail-stats .admin-stat { display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 18px; min-width: 0; background: var(--falke-surface); border: 1px solid var(--falke-border); border-radius: var(--falke-radius-card); }
.glass-customer-detail .gc-detail-stats span { font-size: 12px; color: var(--falke-muted); }
.glass-customer-detail .gc-detail-stats strong { font-size: 30px; line-height: 1.15; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.glass-customer-detail .gc-detail-stats small { color: var(--falke-muted); font-size: 11px; line-height: 1.5; }
.glass-customer-detail .gc-detail-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, 1fr); align-items: start; gap: 20px; }
.glass-customer-detail :where(.gc-detail-primary, .gc-detail-secondary) { display: grid; gap: 20px; }
.glass-customer-detail .gc-default-period { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 11px 0; margin: 0; border-bottom: 1px solid var(--falke-border); font-size: 13px; }
.glass-customer-detail .gc-default-period span { color: var(--falke-muted); }
.glass-customer-detail .gc-module-list { list-style: none; margin: 0; padding: 0; }
.glass-customer-detail .gc-module-list li { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--falke-border); }
.glass-customer-detail .gc-module-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.glass-customer-detail .gc-module-number { font-size: 12px; color: var(--falke-muted); min-width: 24px; font-variant-numeric: tabular-nums; }
.glass-customer-detail .gc-module-list li > div { flex: 1; min-width: 0; }
.glass-customer-detail .gc-module-list strong { display: block; font-size: 14px; overflow-wrap: anywhere; }
.glass-customer-detail .gc-module-list div span { display: block; color: var(--falke-muted); font-size: 12px; margin-top: 3px; }
.glass-customer-detail .gc-source-list { display: grid; }
.glass-customer-detail .gc-source { border-bottom: 1px solid var(--falke-border); }
.glass-customer-detail .gc-source:last-child { border-bottom: 0; }
.glass-customer-detail .gc-source > summary { display: flex; align-items: center; gap: 12px; padding: 14px 0; list-style: none; cursor: pointer; }
.glass-customer-detail .gc-source > summary::after { content: '+'; margin-left: 6px; color: var(--falke-muted); }
.glass-customer-detail .gc-source[open] > summary::after { content: '−'; }
.glass-customer-detail .gc-source > summary::-webkit-details-marker { display: none; }
.glass-customer-detail .gc-source-state { font-size: 11px; color: var(--falke-muted); }
.glass-customer-detail .gc-source-content { padding: 0 0 16px 48px; font-size: 13px; overflow-wrap: anywhere; }
.glass-customer-detail .gc-source-content ul { margin: 0; padding-left: 17px; }
.glass-customer-detail .gc-source-content li + li { margin-top: 6px; }
.glass-customer-detail .gc-facts { margin: 0; }
.glass-customer-detail .gc-facts > div { padding: 10px 0; border-bottom: 1px solid var(--falke-border); }
.glass-customer-detail .gc-facts > div:last-child { border-bottom: 0; }
.glass-customer-detail .gc-facts dt { color: var(--falke-muted); font-size: 12px; margin-bottom: 3px; }
.glass-customer-detail .gc-facts dd { margin: 0; font-size: 14px; overflow-wrap: anywhere; }
.glass-customer-detail .gc-brand-card { border-top: 3px solid var(--falke-customer-border); }
.glass-customer-detail .gc-brand-color { display: flex; align-items: center; gap: 12px; padding-bottom: 15px; }
.glass-customer-detail .gc-brand-color span:not(.gc-color-swatch) { display: block; color: var(--falke-muted); font-size: 12px; }
.glass-customer-detail .gc-brand-color strong { display: block; font-size: 14px; margin-top: 3px; }
.glass-customer-detail .gc-footnote { color: var(--falke-muted); font-size: 12px; margin: 12px 0 0; }
.glass-customer-detail .gc-health #health-message { font-size: 13px; margin-bottom: 0; }
.glass-customer-detail .gc-health.good { border-color: var(--falke-success); }
.glass-customer-detail .gc-health.bad { border-color: var(--falke-error); }
.glass-customer-detail .gc-health.bad #health-message { color: var(--falke-error); }
.glass-customer-detail :where(.gc-notes, .gc-empty) { font-size: 13px; line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; margin-bottom: 0; }
.glass-customer-detail .gc-empty { color: var(--falke-muted); }
.glass-customer-detail .gc-technical > summary { cursor: pointer; font-weight: 600; font-size: 14px; }
.glass-customer-detail .gc-technical-content { margin-top: 18px; }
.glass-customer-detail .gc-technical-content h3 { margin: 20px 0 8px; font-size: 13px; }
.glass-customer-detail .gc-technical-content h3:first-child { margin-top: 0; }
.glass-customer-detail .gc-technical-content ul { margin: 0; padding-left: 18px; font-size: 12px; }
.glass-customer-detail .gc-technical-content li { margin-bottom: 10px; }
.glass-customer-detail .gc-technical-content :where(code, span) { display: block; margin-top: 3px; }
.glass-customer-detail code { font-size: 11px; overflow-wrap: anywhere; }
.glass-customer-detail .gc-management-links { display: grid; gap: 11px; margin: 16px 0 0; font-size: 13px; }
.glass-customer-detail .gc-danger-zone { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--falke-border); }
.glass-customer-detail .gc-danger-zone summary { cursor: pointer; color: var(--falke-error); font-size: 12px; }
.glass-customer-detail .gc-danger-zone p { margin: 12px 0; color: var(--falke-muted); font-size: 12px; }
.glass-customer-detail .gc-danger-zone form { margin: 0; }
.glass-customer-detail .gc-save-notice { margin: 20px 0; }
.glass-customer-detail .gc-save-notice h2 { font-size: 15px; }
.glass-customer-detail .gc-save-notice ul { padding-left: 18px; font-size: 13px; }

/* One form, organized into task sections. Its names/IDs remain the storage contract. */
.glass-customer-form .gc-form-layout { display: grid; grid-template-columns: 190px minmax(0, 1fr); align-items: start; gap: 24px; margin-top: 22px; }
.glass-customer-form .gc-form-aside { position: sticky; top: 18px; }
.glass-customer-form .gc-section-nav { display: grid; gap: 4px; padding: 12px; background: var(--falke-glass); border: 1px solid var(--falke-chrome-border); border-radius: 16px; box-shadow: var(--falke-chrome-shadow); -webkit-backdrop-filter: blur(var(--falke-glass-blur)); backdrop-filter: blur(var(--falke-glass-blur)); }
.glass-customer-form .gc-section-nav > p:first-child { padding: 2px 7px 8px; margin: 0; color: var(--falke-muted); font-size: 11px; font-weight: 600; }
.glass-customer-form .gc-section-nav a { display: flex; align-items: center; gap: 9px; min-height: 40px; padding: 8px; border: 1px solid transparent; border-radius: 10px; color: var(--falke-ink); text-decoration: none; font-size: 12px; line-height: 1.4; }
.glass-customer-form .gc-section-nav a span { font-size: 10px; color: var(--falke-muted); font-variant-numeric: tabular-nums; }
.glass-customer-form .gc-section-nav a:hover { background: var(--falke-surface); }
.glass-customer-form .gc-section-nav a[aria-current] { background: var(--falke-brand-soft); border-color: var(--falke-brand-border); color: var(--falke-orange-deep); }
.glass-customer-form .gc-section-nav > button { margin-top: 10px; width: 100%; padding: 10px; font-size: 12px; }
.glass-customer-form .gc-save-note { margin: 6px 4px 0; color: var(--falke-muted); font-size: 11px; line-height: 1.6; }
.glass-customer-form .gc-config-form { display: grid; gap: 20px; margin: 0; }
.glass-customer-form .gc-form-section { scroll-margin-top: 26px; }
.glass-customer-form .gc-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.glass-customer-form .field { display: grid; align-content: start; gap: 7px; min-width: 0; }
.glass-customer-form .field > label { color: var(--falke-ink); font-size: 13px; line-height: 1.5; font-weight: 600; }
.glass-customer-form :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), textarea, select) { width: 100%; }
.glass-customer-form textarea { min-height: 105px; }
.glass-customer-form select[multiple] { min-height: 128px; height: auto; font-size: 13px; }
.glass-customer-form select[multiple] option { white-space: normal; overflow-wrap: anywhere; padding: 7px; }
.glass-customer-form .note { color: var(--falke-muted); font-size: 12px; line-height: 1.6; margin: 0; }
.glass-customer-form .field > div:has(> #password) { display: flex; gap: 8px; align-items: center; }
.glass-customer-form .gc-color-input { display: flex; align-items: center; gap: 10px; }
.glass-customer-detail .gc-color-swatch,
.glass-customer-form .gc-color-swatch { display: block; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px; background: var(--falke-customer-color); border: 1px solid var(--falke-control-border); }
.glass-customer-form .gc-logo-preview { width: min(180px, 100%); height: 72px; object-fit: contain; object-position: left; padding: 8px; margin-top: 8px; border: 1px solid var(--falke-border); border-radius: 10px; background: var(--falke-surface); }
.glass-customer-form .check { display: flex; align-items: center; gap: 10px; min-height: 42px; font-size: 13px; }
.glass-customer-form .check input { flex: 0 0 18px; margin: 0; }
.glass-customer-form .gc-inline-notice { padding: 12px 14px; margin: 0 0 20px; border-radius: 12px; border: 1px solid var(--falke-border); color: var(--falke-muted); font-size: 12px; line-height: 1.6; }
.glass-customer-form .gc-provider-list { display: grid; gap: 12px; }
.glass-customer-form .gc-provider { border: 1px solid var(--falke-border); border-radius: 14px; background: var(--falke-surface); scroll-margin-top: 24px; }
.glass-customer-form .gc-provider > summary { display: flex; align-items: center; gap: 12px; padding: 16px; list-style: none; cursor: pointer; }
.glass-customer-form .gc-provider > summary::-webkit-details-marker { display: none; }
.glass-customer-detail .gc-source-monogram,
.glass-customer-form .gc-source-monogram { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; background: var(--falke-soft); color: var(--falke-muted); border-radius: 10px; font-weight: 600; font-size: 14px; }
.glass-customer-detail .gc-source-summary,
.glass-customer-form .gc-source-summary { flex: 1; min-width: 0; }
.glass-customer-detail .gc-source-summary strong,
.glass-customer-form .gc-source-summary strong { display: block; font-size: 13px; }
.glass-customer-detail .gc-source-summary span,
.glass-customer-form .gc-source-summary span { display: block; font-size: 11px; color: var(--falke-muted); margin-top: 3px; }
.glass-customer-form .gc-provider-toggle { font-size: 20px; color: var(--falke-muted); }
.glass-customer-form .gc-provider[open] .gc-provider-toggle { transform: rotate(45deg); }
.glass-customer-form .gc-provider[open] > summary { border-bottom: 1px solid var(--falke-border); }
.glass-customer-form .gc-provider-content { display: grid; gap: 20px; padding: 20px; }
.glass-customer-detail .gc-advanced,
.glass-customer-form .gc-advanced { margin-top: 12px; border-top: 1px solid var(--falke-border); padding-top: 12px; }
.glass-customer-detail .gc-advanced > summary,
.glass-customer-form .gc-advanced > summary { font-size: 12px; font-weight: 600; color: var(--falke-muted); cursor: pointer; }
.glass-customer-detail .gc-advanced > p,
.glass-customer-form .gc-advanced > .gc-field-grid { margin-top: 16px; }
.glass-customer-form .gc-provider-content > .field > div:first-child { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.glass-customer-form .gc-provider-content > .field > div:first-child > div { min-width: 0; flex: 1 1 230px; }
.glass-customer-form .gc-provider-content > .field > div:first-child > div > label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 5px; }
.glass-customer-form :where(.level-grid, .module-grid) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.glass-customer-form :where(.level-card, .module-card) { min-width: 0; border: 1px solid var(--falke-border); border-radius: 12px; padding: 16px; background: var(--falke-surface); }
.glass-customer-form .level-grid .checkbox-grid { display: grid; gap: 2px; }
.glass-customer-form .checkbox-panel { margin: 0; }
.glass-customer-form .checkbox-panel + .checkbox-panel { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--falke-border); }
.glass-customer-form .checkbox-panel > h2 { font-size: 14px; margin-bottom: 6px; }
.glass-customer-form .checkbox-panel > .note { margin-bottom: 16px; }
.glass-customer-form .module-groups { display: grid; gap: 12px; }
.glass-customer-form .module-groups > details { border: 1px solid var(--falke-border); border-radius: 12px; padding: 16px; }
.glass-customer-form .module-groups > details > summary { cursor: pointer; font-size: 14px; font-weight: 600; }
.glass-customer-form .module-group-copy { color: var(--falke-muted); font-size: 12px; line-height: 1.6; margin: 14px 0; }
.glass-customer-form .module-card-meta { display: grid; gap: 12px; margin-top: 10px; }
.glass-customer-form .gc-kpi-reference summary { font-size: 11px; color: var(--falke-muted); cursor: pointer; }
.glass-customer-form .gc-kpi-reference code { display: block; margin-top: 8px; overflow-wrap: anywhere; font-size: 11px; }
.glass-customer-form .gc-editor-link { margin-bottom: 20px; }
.glass-customer-form .custom-kpi-list { display: grid; gap: 14px; margin-top: 16px; }
.glass-customer-form .custom-kpi-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 12px; padding: 16px; background: var(--falke-surface); border: 1px solid var(--falke-border); border-radius: 12px; }
.glass-customer-form .custom-kpi-row > .field:has(textarea) { grid-column: 1 / -1; }
.glass-customer-form .custom-kpi-row > .danger-button { justify-self: start; min-height: 40px; border: 1px solid var(--falke-error); border-radius: 10px; background: var(--falke-surface); color: var(--falke-error); font: inherit; font-size: 12px; padding: 8px 12px; cursor: pointer; }
.glass-customer-form .order-panel { display: grid; gap: 16px; }
.glass-customer-form .order-panel h2 { font-size: 14px; margin-bottom: 5px; }
.glass-customer-form .order-list { display: grid; gap: 8px; }
.glass-customer-form .order-item { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 10px 14px; border: 1px solid var(--falke-border); border-radius: 12px; }
.glass-customer-form .order-item strong { font-size: 13px; overflow-wrap: anywhere; }
.glass-customer-form .order-actions { display: flex; gap: 6px; }
.glass-customer-form .gc-form-save { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 18px 0; }
.glass-customer-form .gc-form-save > span { flex: 1 1 200px; color: var(--falke-muted); font-size: 12px; }
.glass-customer-form .gc-form-errors { border: 1px solid var(--falke-error); color: var(--falke-error); background: var(--falke-error-bg); padding: 18px; border-radius: 14px; }
.glass-customer-form .gc-form-errors ul { padding-left: 18px; margin-bottom: 0; }

@media (max-width: 1100px) {
  .glass-customer-detail .gc-customer-overview { grid-template-columns: minmax(0, 1fr); }
  .glass-customer-detail .gc-detail-layout { grid-template-columns: minmax(0, 1.4fr) minmax(260px, 1fr); gap: 16px; }
  .glass-customer-form .gc-form-layout { grid-template-columns: 170px minmax(0, 1fr); gap: 18px; }
  .glass-customer-form .gc-field-grid, .glass-customer-form .module-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .glass-customer-detail .gc-detail-layout { grid-template-columns: minmax(0, 1fr); }
  .glass-customer-form .gc-form-layout { display: block; }
  .glass-customer-form .gc-form-aside { z-index: 5; top: 8px; margin-bottom: 18px; }
  .glass-customer-form .gc-section-nav { display: flex; flex-wrap: nowrap; gap: 4px; overflow-x: auto; padding: 7px; border-radius: 12px; }
  .glass-customer-form .gc-section-nav a { flex-shrink: 0; min-height: 38px; white-space: nowrap; }
  .glass-customer-form .gc-section-nav > :where(p, button) { display: none; }
  .glass-customer-form .gc-form-section { scroll-margin-top: 76px; }
  .glass-customer-form .gc-provider { scroll-margin-top: 76px; }
}
@media (max-width: 480px) {
  .glass-customer-detail :where(.admin-card, .gc-save-notice),
  .glass-customer-form .gc-form-section { padding: 18px; }
  .glass-customer-detail .gc-identity { padding: 18px; flex-wrap: wrap; }
  .glass-customer-detail .gc-identity > .gc-status { margin-left: 74px; }
  .glass-customer-detail .gc-detail-stats { gap: 6px; }
  .glass-customer-detail .gc-detail-stats .admin-stat { padding: 12px; border-radius: 14px; }
  .glass-customer-detail .gc-detail-stats span { font-size: 10px; }
  .glass-customer-detail .gc-detail-stats strong { font-size: 26px; }
  .glass-customer-detail .gc-detail-stats small { font-size: 10px; }
  .glass-customer-detail .gc-source-state { max-width: 76px; text-align: right; }
  .glass-customer-detail .gc-module-list li { flex-wrap: wrap; }
  .glass-customer-detail .gc-source-content { padding-left: 0; }
  .glass-customer-form .level-grid, .glass-customer-form .custom-kpi-row { grid-template-columns: minmax(0, 1fr); }
  .glass-customer-form .gc-provider > summary { padding: 14px; gap: 9px; }
  .glass-customer-form .gc-provider-content { padding: 14px; }
  .glass-customer-form .field > div:has(> #password) { flex-wrap: wrap; }
}
@media (prefers-reduced-transparency: reduce) {
  .glass-customer-form .gc-section-nav { background: var(--falke-surface); -webkit-backdrop-filter: none; backdrop-filter: none; }
}

@media (max-width:640px) { .glass-customer-form select[multiple] { font-size:16px; } }
