/* gocustomergo — structural styles only. Colours come from currentColor and
   --gcu-* variables, so a host skins the form with one class of its own
   (FormView.Class) plus its input/button classes, never by overriding these. */
.gcu { --gcu-gap: .9rem; --gcu-muted: color-mix(in srgb, currentColor 60%, transparent);
  --gcu-error: #b42318; --gcu-warn: #a15c07; --gcu-ok: #067647;
  --gcu-border: color-mix(in srgb, currentColor 18%, transparent); --gcu-radius: .5rem;
  display: flex; flex-direction: column; gap: var(--gcu-gap); max-width: 40rem; }
/* Rows align on the top edge: a hint or an error under one input must not push
   its neighbours down. The lookup button sits level with the input, below the
   label (one label line + the label gap). */
.gcu-row, .gcu-idrow { display: flex; flex-wrap: wrap; gap: var(--gcu-gap); align-items: flex-start; }
.gcu-idrow > .gcu-btn { margin-top: calc(.75rem * 1.5 + .3rem); }
.gcu-label { line-height: 1.5; }
.gcu-row > .gcu-field { flex: 1 1 10rem; }
.gcu-idrow > .gcu-field { flex: 1 1 14rem; }
.gcu-field { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.gcu-field input, .gcu-field select { width: 100%; box-sizing: border-box; }
.gcu-label { font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.gcu-hint, .gcu-muted { font-size: .8rem; color: var(--gcu-muted); }
.gcu-err { font-size: .8rem; color: var(--gcu-error); }
.gcu-invalid input { border-color: var(--gcu-error); }
.gcu-kinds { display: flex; flex-wrap: wrap; gap: .4rem; }
.gcu-kind[aria-pressed="true"] { font-weight: 600; text-decoration: underline; text-underline-offset: .3em; }
.gcu-link { background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; font-size: .9rem; }
.gcu-more { border: 1px solid var(--gcu-border); border-radius: var(--gcu-radius); padding: .6rem .8rem; }
.gcu-more > summary { cursor: pointer; font-size: .9rem; }
.gcu-more[open] > summary { margin-bottom: .6rem; }
.gcu-more .gcu-field + .gcu-row, .gcu-check + .gcu-check { margin-top: .6rem; }
.gcu-check { display: flex; gap: .5rem; align-items: flex-start; font-size: .9rem; }
.gcu-notice { border: 1px solid var(--gcu-border); border-left-width: 4px; border-radius: var(--gcu-radius); padding: .6rem .8rem; font-size: .9rem; }
.gcu-notice ul, .gcu-warnings { margin: .3rem 0 0; padding-left: 1.2rem; }
.gcu-notice-ok { border-left-color: var(--gcu-ok); }
.gcu-notice-warn { border-left-color: var(--gcu-warn); }
.gcu-notice-error { border-left-color: var(--gcu-error); }
.gcu-warnings { font-size: .85rem; color: var(--gcu-warn); }
.gcu-actions { display: flex; justify-content: flex-end; }
.gcu-summary dl { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; margin: 0; }
.gcu-summary dt { font-size: .8rem; color: var(--gcu-muted); }
.gcu-summary dd { margin: 0; }
