/* Pool visualisation + pelican observatory. Loaded after styles.css on /pool, /pelican and /admin. */

:root {
  --tone-available: #0ecb81;
  --tone-serving: #5b8ff9;
  --tone-cooling: #f0b90b;
  --tone-resting: #6e7784;
  --tone-healthy: #0ecb81;
  --tone-tight: #f0b90b;
  --tone-low: #f6465d;
  --tone-unknown: #6e7784;
  --hatch: repeating-linear-gradient(135deg, transparent 0 3px, rgba(255, 255, 255, 0.28) 3px 4.5px);
}
:root[data-theme='light'] {
  --tone-available: #0b9e66;
  --tone-serving: #2563eb;
  --tone-cooling: #c98f00;
  --tone-resting: #9aa1ab;
  --tone-healthy: #0b9e66;
  --tone-tight: #c98f00;
  --tone-low: #d63048;
  --tone-unknown: #9aa1ab;
  --hatch: repeating-linear-gradient(135deg, transparent 0 3px, rgba(255, 255, 255, 0.55) 3px 4.5px);
}

.tone-available { --tone: var(--tone-available); }
.tone-serving { --tone: var(--tone-serving); }
.tone-cooling { --tone: var(--tone-cooling); }
.tone-resting { --tone: var(--tone-resting); }
.tone-healthy { --tone: var(--tone-healthy); }
.tone-tight { --tone: var(--tone-tight); }
.tone-low { --tone: var(--tone-low); }
.tone-unknown { --tone: var(--tone-unknown); }
.swatch { display: inline-block; flex: none; width: 9px; height: 9px; margin-right: 7px; background: var(--tone); border-radius: 3px; vertical-align: 0; }
.swatch.tone-unknown, .stack-seg.tone-unknown { background-image: var(--hatch); }
.mono { font-family: var(--font-mono); }

.hero-sub { display: block; margin-top: 6px; color: var(--primary-text); font-size: 0.56em; font-weight: 700; letter-spacing: 0; }
.hero-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.tag-chip { padding: 4px 11px; color: var(--muted); background: color-mix(in srgb, var(--surface-2) 70%, transparent); border: 1px solid var(--line-strong); border-radius: 999px; font-size: 12px; font-weight: 600; }

/* Edition cards */
.edition-section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.edition-card { display: flex; flex-direction: column; overflow: hidden; padding: 26px 28px; background: var(--glass); border: 1px solid var(--line-strong); border-radius: var(--r-lg); backdrop-filter: blur(18px) saturate(1.2); -webkit-backdrop-filter: blur(18px) saturate(1.2); }
.edition-card.is-featured { border-color: color-mix(in srgb, var(--primary) 45%, var(--line-strong)); box-shadow: 0 24px 60px -40px rgba(252, 213, 53, 0.55); }
.edition-head { display: flex; align-items: center; gap: 16px; }
.edition-head h2 { margin: 0; color: var(--heading); font-size: 21px; font-weight: 800; }
.edition-head p { margin: 4px 0 0; color: var(--muted); font-size: 12.5px; }
.edition-no { display: grid; flex: none; width: 42px; height: 42px; place-items: center; color: var(--primary-ink); background: var(--primary); border-radius: 12px; font-family: var(--font-mono); font-size: 15px; font-weight: 600; }
.edition-card:not(.is-featured) .edition-no { color: var(--heading); background: var(--surface-2); }
.edition-badge { margin-left: auto; padding: 3px 10px; color: var(--primary-text); background: color-mix(in srgb, var(--primary) 14%, transparent); border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.edition-facts { display: grid; gap: 0; margin: 20px 0 0; }
.edition-facts div { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 14px; padding: 10px 0; border-top: 1px solid var(--line); }
.edition-facts dt { color: var(--muted); font-size: 12px; font-weight: 600; line-height: 1.7; }
.edition-facts dd { margin: 0; color: var(--body); font-size: 13.5px; line-height: 1.7; }
.edition-facts strong { color: var(--success-text); }
.edition-fit { margin: 4px 0 0; padding: 11px 14px; color: var(--body); background: color-mix(in srgb, var(--surface-2) 60%, transparent); border-radius: var(--r-md); font-size: 13px; line-height: 1.7; }
.edition-fit b { margin-right: 8px; color: var(--primary-text); }
.edition-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 16px; }
.edition-tags span { padding: 3px 9px; color: var(--muted); border: 1px solid var(--line-strong); border-radius: 6px; font-family: var(--font-mono); font-size: 11px; }

.metric-meter { display: block; height: 4px; margin-top: 14px; overflow: hidden; background: var(--line); border-radius: 999px; }
.metric-meter i { display: block; width: calc(var(--v, 0) * 100%); height: 100%; background: var(--primary); border-radius: 999px; transition: width 600ms var(--ease); }

/* Distribution */
.pool-section { padding: 56px 0 0; }
.dist-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.dist-card { padding: 22px 24px; background: var(--glass); border: 1px solid var(--line-strong); border-radius: var(--r-lg); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.dist-card header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; color: var(--muted); font-size: 13px; font-weight: 600; }
.dist-card header b { color: var(--heading); font-family: var(--font-mono); font-size: 13px; font-weight: 500; }
.stack-bar { display: flex; height: 18px; gap: 2px; overflow: hidden; border-radius: 4px; }
.stack-bar.is-thin { width: calc(var(--len, 1) * 100%); min-width: 24px; height: 12px; }
.stack-seg { flex: var(--w, 0) 1 0; min-width: 3px; background-color: var(--tone); transition: flex-grow 600ms var(--ease), opacity 150ms ease; }
.stack-seg:hover { opacity: 0.8; }
.stack-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin: 18px 0 0; padding: 0; list-style: none; }
.stack-legend li { display: flex; align-items: center; color: var(--muted); font-size: 12.5px; }
.stack-legend b { margin-left: auto; color: var(--heading); font-family: var(--font-mono); font-size: 13px; font-weight: 500; }
.stack-legend small { color: var(--soft); font-size: 11px; }

/* Plan table */
.plan-table { overflow: hidden; background: var(--glass); border: 1px solid var(--line-strong); border-radius: var(--r-lg); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.plan-row { display: grid; grid-template-columns: 150px 120px minmax(0, 1fr) 110px 110px; align-items: center; gap: 20px; padding: 14px 24px; border-bottom: 1px solid var(--line); }
.plan-row:last-child { border-bottom: 0; }
.plan-row:not(.plan-head) { animation: item-in 600ms var(--ease) both; animation-delay: calc(var(--i, 0) * 50ms); }
.plan-row:not(.plan-head):hover { background: color-mix(in srgb, var(--surface-2) 45%, transparent); }
.plan-head { padding-block: 11px; color: var(--soft); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.04em; }
.plan-name { color: var(--heading); font-size: 14px; font-weight: 700; }
.plan-count b { color: var(--heading); font-family: var(--font-mono); font-size: 15px; font-weight: 500; }
.plan-count small { color: var(--muted); font-size: 11.5px; }
.quota-cell { display: grid; gap: 6px; }
.quota-cell b { color: var(--body); font-family: var(--font-mono); font-size: 12.5px; font-weight: 500; }
.quota-meter { display: block; height: 4px; overflow: hidden; background: var(--line); border-radius: 999px; }
.quota-meter::after { display: block; width: calc(var(--v, 0) * 100%); height: 100%; content: ''; background: var(--muted); border-radius: 999px; }

/* Account matrix */
.matrix-controls { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; padding: 8px; background: var(--glass); border: 1px solid var(--line-strong); border-radius: 22px; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.matrix-tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.segmented-control.is-compact button { display: inline-flex; align-items: center; }
.matrix-panel { padding: 20px 22px 24px; background: var(--glass); border: 1px solid var(--line-strong); border-radius: var(--r-lg); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.matrix-meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 16px; color: var(--muted); font-family: var(--font-mono); font-size: 11px; }
.account-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(22px, 1fr)); gap: 5px; }
.account-cell { position: relative; aspect-ratio: 1; overflow: hidden; padding: 0; background: color-mix(in srgb, var(--tone) 16%, var(--surface-2)); border: 0; border-radius: 5px; cursor: pointer; animation: cell-in 500ms var(--ease) both; animation-delay: calc(var(--b, 0) * 2ms); transition: transform 150ms var(--ease), box-shadow 150ms ease; }
.account-cell::after { position: absolute; right: 0; bottom: 0; left: 0; height: calc(var(--fill, 1) * 100%); content: ''; background: var(--tone); transition: height 600ms var(--ease); }
.account-cell.is-unknown::after { background-image: var(--hatch); }
.account-cell:hover, .account-cell:focus-visible { z-index: 2; transform: scale(1.35); box-shadow: 0 0 0 2px var(--canvas), 0 0 0 3.5px var(--tone); outline: none; }
@keyframes cell-in { from { opacity: 0; transform: scale(0.4); } }
.account-tip { position: fixed; top: 0; left: 0; z-index: 300; min-width: 210px; padding: 12px 14px; pointer-events: none; background: var(--glass-strong); border: 1px solid var(--line-strong); border-radius: var(--r-md); box-shadow: var(--shadow); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); transform: translate(var(--tx, 0), var(--ty, 0)); }
.tip-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.tip-head code { color: var(--heading); font-family: var(--font-mono); font-size: 13px; font-weight: 600; }
.tip-status { font-size: 11.5px; font-weight: 700; }
.tone-text-available { color: var(--success-text); }
.tone-text-serving { color: var(--info); }
.tone-text-cooling { color: var(--primary-text); }
.tone-text-resting { color: var(--muted); }
.tip-row { display: flex; justify-content: space-between; gap: 18px; padding: 2px 0; color: var(--muted); font-size: 12px; }
.tip-row b { color: var(--body); font-family: var(--font-mono); font-weight: 500; }
.table-scroll { overflow-x: auto; }
.account-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.account-table th { padding: 8px 10px; color: var(--soft); font-family: var(--font-mono); font-size: 10.5px; font-weight: 500; text-align: left; white-space: nowrap; border-bottom: 1px solid var(--line-strong); }
.account-table td { padding: 9px 10px; color: var(--body); white-space: nowrap; border-bottom: 1px solid var(--line); }
.account-table tbody tr:hover { background: color-mix(in srgb, var(--surface-2) 45%, transparent); }
.table-pager { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 16px; color: var(--muted); font-family: var(--font-mono); font-size: 12px; }
.table-pager .secondary-button { min-height: 36px; }
.table-pager .secondary-button:disabled { opacity: 0.4; cursor: default; }

.model-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.model-chip { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; background: var(--glass); border: 1px solid var(--line-strong); border-radius: 999px; }
.model-chip code { color: var(--body); font-family: var(--font-mono); font-size: 12px; }
.privacy-note { margin: 26px 0 0; padding: 14px 18px; color: var(--muted); background: color-mix(in srgb, var(--primary) 6%, transparent); border: 1px dashed color-mix(in srgb, var(--primary) 30%, var(--line)); border-radius: var(--r-md); font-size: 12.5px; line-height: 1.8; }
.privacy-note strong { color: var(--primary-text); }

/* Pelican */
.pelican-section { padding-top: 14px; }
.pelican-section .section-heading-row { margin-top: 56px; }
.lane-tabs { display: flex; gap: 8px; margin-bottom: 14px; padding: 6px; overflow-x: auto; background: var(--glass); border: 1px solid var(--line-strong); border-radius: 18px; scrollbar-width: none; }
.lane-tabs button { display: grid; flex: 1 0 auto; gap: 2px; min-width: 170px; padding: 10px 16px; color: var(--muted); text-align: left; background: transparent; border: 1px solid transparent; border-radius: 13px; cursor: pointer; transition: background 200ms ease, color 150ms ease; }
.lane-tabs button strong { color: inherit; font-size: 14px; }
.lane-tabs button small { font-family: var(--font-mono); font-size: 11px; opacity: 0.8; }
.lane-tabs button:hover { background: var(--surface-2); }
.lane-tabs button.is-active { color: var(--primary-ink); background: var(--primary); box-shadow: 0 8px 22px -12px rgba(252, 213, 53, 0.8); }
.spec-card { overflow: hidden; padding: 26px 28px; background: var(--glass); border: 1px solid var(--line-strong); border-radius: var(--r-lg); backdrop-filter: blur(18px) saturate(1.2); -webkit-backdrop-filter: blur(18px) saturate(1.2); }
.spec-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.spec-head h2 { margin: 8px 0 0; color: var(--heading); font-size: 24px; font-weight: 800; }
.run-pill { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; color: var(--primary-text); background: color-mix(in srgb, var(--primary) 14%, transparent); border-radius: 999px; font-size: 12px; font-weight: 700; }
.run-pill i { width: 7px; height: 7px; background: var(--primary); border-radius: 50%; animation: ping-soft 1.4s ease-in-out infinite; }
@keyframes ping-soft { 50% { opacity: 0.25; } }
.prompt-box { margin-top: 12px; padding: 16px 18px; background: color-mix(in srgb, var(--canvas) 55%, transparent); border: 1px solid var(--line-strong); border-left: 3px solid var(--primary); border-radius: var(--r-md); }
.prompt-head { display: flex; align-items: center; justify-content: space-between; color: var(--soft); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.04em; }
.prompt-copy { padding: 3px 10px; color: var(--muted); background: var(--surface-2); border: 1px solid var(--line); border-radius: 999px; font-size: 11px; cursor: pointer; }
.prompt-copy:hover { color: var(--heading); }
.prompt-box p { margin: 10px 0 0; color: var(--body); font-family: var(--font-mono); font-size: 13.5px; line-height: 1.8; white-space: pre-wrap; }
.pelican-stats { margin-top: 14px; }

.run-badge { width: max-content; padding: 2px 8px; border-radius: 6px; font-family: var(--font-mono); font-size: 10.5px; font-weight: 600; }
.run-badge.is-success { color: var(--success-text); background: color-mix(in srgb, var(--success) 13%, transparent); }
.run-badge.is-failed { color: var(--danger-text); background: color-mix(in srgb, var(--danger) 13%, transparent); }

.compare-stage iframe, .history-thumb iframe, .dialog-stage iframe { display: block; width: 100%; height: 100%; border: 0; }
.rule-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 16px 0 0; padding: 0; list-style: none; }
.rule-list li { color: var(--muted); font-size: 12.5px; line-height: 1.7; }
.rule-list b { display: inline-block; margin-right: 8px; padding: 0 7px; color: var(--primary-text); background: color-mix(in srgb, var(--primary) 12%, transparent); border-radius: 5px; font-size: 11.5px; }

.compare-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
.compare-grid.is-single { grid-template-columns: minmax(0, 720px); }
.compare-card { display: flex; flex-direction: column; overflow: hidden; background: var(--glass); border: 1px solid var(--line-strong); border-radius: var(--r-lg); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); animation: item-in 600ms var(--ease) both; animation-delay: calc(var(--i, 0) * 80ms); }
.compare-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.compare-head strong { display: block; color: var(--heading); font-size: 15px; font-weight: 800; }
.compare-head code { color: var(--muted); font-family: var(--font-mono); font-size: 11.5px; }
.lane-state { padding: 3px 9px; color: var(--muted); background: var(--surface-2); border-radius: 999px; font-family: var(--font-mono); font-size: 11px; white-space: nowrap; }
.lane-state.is-running { color: var(--primary-text); background: color-mix(in srgb, var(--primary) 14%, transparent); animation: ping-soft 1.6s ease-in-out infinite; }
.compare-stage { position: relative; display: grid; width: 100%; aspect-ratio: 4 / 3; padding: 0; place-items: center; overflow: hidden; background: #fff; border: 0; cursor: pointer; }
div.compare-stage { cursor: default; background: repeating-linear-gradient(135deg, var(--surface-2) 0 10px, transparent 10px 20px); }
.compare-stage iframe { pointer-events: none; }
.compare-stage:hover .thumb-hint, .compare-stage:focus-visible .thumb-hint { opacity: 1; }
.thumb-empty { color: var(--muted); font-size: 12.5px; }
.compare-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--line); }
.compare-facts div { padding: 10px 12px; border-right: 1px solid var(--line); }
.compare-facts div:last-child { border-right: 0; }
.compare-facts dt { color: var(--soft); font-size: 10.5px; }
.compare-facts dd { margin: 3px 0 0; color: var(--heading); font-family: var(--font-mono); font-size: 12.5px; white-space: nowrap; }
.compare-foot { display: flex; justify-content: space-between; gap: 10px; margin-top: auto; padding: 10px 16px; color: var(--muted); border-top: 1px solid var(--line); font-size: 11.5px; }

.timeline-card { margin-top: 14px; padding: 18px 22px 16px; background: var(--glass); border: 1px solid var(--line-strong); border-radius: var(--r-lg); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.timeline-card header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; color: var(--heading); font-size: 13px; font-weight: 700; }
.timeline-card header small { color: var(--muted); font-size: 11px; font-weight: 500; }
.run-timeline { display: grid; height: 56px; grid-auto-flow: column; grid-auto-columns: minmax(3px, 1fr); align-items: end; gap: 3px; }
.run-timeline .probe-bar { border-radius: 2px; transform-origin: bottom; animation: bar-in 600ms var(--ease) both; animation-delay: calc(var(--b, 0) * 10ms); }
.probe-bar.is-retried:not(.is-failed) { background-image: var(--hatch); }
.pelican-section .lane-tabs { margin-bottom: 0; }
.pelican-section .history-grid { margin-top: 14px; }
.badge-row { display: inline-flex; flex: none; gap: 5px; }
.run-badge.is-retried { color: var(--primary-text); background: color-mix(in srgb, var(--primary) 13%, transparent); }

.history-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.history-card { overflow: hidden; background: var(--glass); border: 1px solid var(--line-strong); border-radius: var(--r-lg); animation: item-in 600ms var(--ease) both; animation-delay: calc(var(--i, 0) * 50ms); transition: transform 300ms var(--ease), box-shadow 300ms ease; }
.history-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.history-thumb { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; padding: 0; overflow: hidden; background: #fff; border: 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.history-thumb iframe { pointer-events: none; }
.thumb-hint { position: absolute; right: 10px; bottom: 10px; padding: 4px 10px; color: #fff; background: rgba(11, 14, 17, 0.72); border-radius: 999px; font-size: 11px; opacity: 0; transition: opacity 200ms ease; }
.history-thumb:hover .thumb-hint, .history-thumb:focus-visible .thumb-hint { opacity: 1; }
.history-card.is-failed .history-thumb { display: grid; place-items: center; background: repeating-linear-gradient(135deg, var(--surface-2) 0 10px, transparent 10px 20px); cursor: default; }
.thumb-failed { color: var(--danger-text); font-size: 12.5px; font-weight: 600; }
.history-info { padding: 12px 14px 14px; }
.history-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.history-top strong { overflow: hidden; color: var(--heading); font-size: 13.5px; text-overflow: ellipsis; white-space: nowrap; }
.history-info small { display: block; margin-top: 6px; color: var(--muted); font-family: var(--font-mono); font-size: 11px; }
.history-more { display: flex; justify-content: center; margin-top: 18px; }

.work-dialog { width: min(1100px, calc(100vw - 32px)); max-width: none; padding: 0; overflow: hidden; color: var(--body); background: var(--glass-strong); border: 1px solid var(--line-strong); border-radius: var(--r-lg); box-shadow: var(--shadow); }
.work-dialog::backdrop { background: rgba(5, 7, 9, 0.72); backdrop-filter: blur(6px); }
.dialog-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.dialog-bar strong { display: block; color: var(--heading); font-size: 15px; }
.dialog-bar span { color: var(--muted); font-family: var(--font-mono); font-size: 11px; }
.dialog-actions { display: flex; gap: 8px; }
.dialog-actions .secondary-button { display: inline-flex; min-height: 36px; align-items: center; text-decoration: none; cursor: pointer; }
.dialog-stage { aspect-ratio: 16 / 10; max-height: calc(100vh - 140px); background: #fff; }

@media (max-width: 980px) {
  .edition-section { grid-template-columns: 1fr; }
  .plan-row { grid-template-columns: 120px 100px minmax(0, 1fr) 80px 80px; gap: 14px; }
  .rule-list { grid-template-columns: 1fr; }
}

@media (max-width: 719px) {
  .dist-grid { grid-template-columns: 1fr; }
  .plan-row { grid-template-columns: 1fr auto; gap: 8px 14px; padding: 14px 16px; }
  .plan-head { display: none; }
  .plan-track { grid-column: 1 / -1; }
  .stack-legend { grid-template-columns: 1fr; }
  .matrix-tools { align-items: stretch; flex-direction: column; }
  .matrix-panel { padding: 16px; }
  .account-grid { grid-template-columns: repeat(auto-fill, minmax(18px, 1fr)); gap: 4px; }
  .edition-card, .spec-card { padding: 22px 18px; }
  .edition-badge { display: none; }
  .dialog-bar { align-items: flex-start; flex-direction: column; }
  .work-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .dialog-stage { aspect-ratio: auto; height: calc(100dvh - 150px); max-height: none; }
  .compare-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compare-facts div:nth-child(2) { border-right: 0; }
  .compare-facts div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

/* Admin: pool + pelican lanes */
.feature-title-row { margin-top: 72px; padding-top: 40px; border-top: 1px solid var(--line); }
.lane-editor { margin-top: 24px; }
.lane-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 20px; }
.lane-form-grid .field-label { margin-top: 0 !important; }
.lane-span { grid-column: 1 / -1; }
.lane-form-grid [hidden] { display: none; }
textarea { width: 100%; padding: 12px 13px; color: var(--body); background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--r-md); outline: none; font: inherit; font-size: 13px; line-height: 1.7; resize: vertical; }
textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 18%, transparent); }
.lane-error { color: var(--danger-text) !important; }
@media (max-width: 719px) {
  .lane-form-grid { grid-template-columns: 1fr; }
}
