.profile-workspace { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 14px; align-items: stretch; margin-bottom: 14px; }
.profile-control-panel label { display: block; font-size: 12px; color: var(--fb-dark-secondary); margin: 14px 0 7px; }
.profile-control-panel .check-row { margin-top: 14px; }
.profile-map-shell { padding: 12px; min-height: 520px; }
#fruitbowl-area-profile-map { height: 455px; border-radius: 8px; overflow: hidden; background: #07100b; }
.legend-profile-outline { width: 22px; height: 12px; border: 2px dashed #7bd56f; background: rgba(123,213,111,.14); }
.legend-profile-census, .legend-profile-market, .legend-profile-rural, .legend-profile-title { width: 16px; height: 12px; border-radius: 3px; border: 1px solid rgba(255,255,255,.42); }
.legend-profile-census { background: rgba(123,213,111,.42); }
.legend-profile-market { background: rgba(232,179,79,.42); }
.legend-profile-rural { background: rgba(122,167,255,.42); }
.legend-profile-title { background: rgba(240,107,216,.42); }
.profile-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr) minmax(320px, .9fr); gap: 14px; margin-bottom: 14px; align-items: start; }
.profile-bar-row i { background: linear-gradient(90deg, #7bd56f, #e8b34f); }
.area-profile-facts { grid-template-columns: 150px 1fr; }
.profile-region-key { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.profile-region-card { padding: 10px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #9fb2a8; }
.profile-region-card span, .profile-region-card small { display: block; color: var(--fb-dark-muted); font-size: 11px; line-height: 1.35; }
.profile-region-card strong { display: block; margin: 3px 0; font-size: 13px; }
.profile-region-card p { margin: 0 0 6px; font-size: 11px; line-height: 1.32; color: #cbd8d0; }
.profile-region-census { border-left-color: #7bd56f; }
.profile-region-market { border-left-color: #e8b34f; }
.profile-region-rural { border-left-color: #7aa7ff; }
.profile-region-title { border-left-color: #f06bd8; }
.profile-region-label { pointer-events: none; }
.profile-region-label span { display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; transform: translate(-50%, -50%); border-radius: 999px; background: rgba(5, 12, 10, .82); border: 1px solid var(--profile-region); color: #f6fff8; box-shadow: 0 8px 18px rgba(0,0,0,.34); font-size: 11px; font-weight: 900; white-space: nowrap; text-shadow: 0 1px 4px rgba(0,0,0,.55); }
.profile-polygon-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.profile-polygon-card { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #8d4ee8; }
.profile-polygon-card span, .profile-polygon-card p { display: block; color: var(--fb-dark-muted); font-size: 12px; line-height: 1.38; }
.profile-polygon-card strong { display: block; margin: 4px 0 6px; font-size: 20px; }
.profile-polygon-card p { margin: 0; color: #cbd8d0; }
.profile-polygon-flood { border-left-color: #1976d2; }
.profile-polygon-green { border-left-color: #168a4f; }
.profile-polygon-gold { border-left-color: #c98b00; }
.profile-polygon-purple { border-left-color: #8d4ee8; }
.profile-signal-list { display: grid; gap: 10px; }
.profile-signal-list article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.profile-signal-list span, .profile-signal-list small { display: block; color: var(--fb-dark-muted); font-size: 12px; }
.profile-signal-list strong { display: block; margin: 4px 0; }
.profile-signal-list p { margin: 0 0 7px; font-size: 12px; line-height: 1.4; }
.profile-evidence-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.profile-evidence-card { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.profile-evidence-card p { margin: 0 0 10px; font-size: 12px; line-height: 1.42; }
.profile-evidence-card .facts { gap: 7px; font-size: 12px; }
.profile-evidence-card .facts dt { color: #f0d282; }
.profile-evidence-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 8px; }
.profile-evidence-heading span { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 999px; background: rgba(122,167,255,.16); color: #cfe0ff; border: 1px solid rgba(122,167,255,.28); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
.profile-evidence-heading strong { display: block; font-size: 15px; line-height: 1.25; }
.profile-evidence-live { border-left-color: #7bd56f; }
.profile-evidence-live .profile-evidence-heading span { background: rgba(123,213,111,.16); border-color: rgba(123,213,111,.32); color: #c5f6bf; }
.profile-evidence-paid, .profile-evidence-mixed { border-left-color: #e8b34f; }
.profile-evidence-paid .profile-evidence-heading span, .profile-evidence-mixed .profile-evidence-heading span { background: rgba(232,179,79,.16); border-color: rgba(232,179,79,.32); color: #f0d282; }
.profile-evidence-model { border-left-color: #f06bd8; }
.profile-evidence-model .profile-evidence-heading span { background: rgba(240,107,216,.15); border-color: rgba(240,107,216,.28); color: #ffc8f3; }
.source-catalogue-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 10px; }
.source-catalogue-grid article { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7bd56f; }
.source-catalogue-grid .profile-source-live { border-left-color: #7bd56f; box-shadow: inset 0 0 0 1px rgba(123,213,111,.12); }
.source-catalogue-grid .profile-source-paid { border-left-color: #e8b34f; }
.source-catalogue-grid span, .source-catalogue-grid small, .source-catalogue-grid a { display: block; color: var(--fb-dark-muted); font-size: 12px; }
.source-catalogue-grid strong { display: block; margin: 4px 0; }
.source-catalogue-grid p { margin: 0 0 8px; font-size: 12px; line-height: 1.42; }
.source-catalogue-grid a { color: #c5f6bf; }
.area-principle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.area-principle-grid article { padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.area-principle-grid article:nth-child(2) { border-left-color: #7bd56f; }
.area-principle-grid article:nth-child(3) { border-left-color: #e8b34f; }
.area-principle-grid span { display: block; color: var(--fb-dark-muted); font-size: 12px; }
.area-principle-grid strong { display: block; margin: 5px 0; font-size: 18px; }
.area-principle-grid p { margin: 0; font-size: 13px; line-height: 1.45; }
.area-meta-panel { margin-bottom: 14px; }
.area-meta-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.source-meta-grid { margin-top: 10px; }
.area-meta-grid article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.source-meta-grid article { border-left-color: #e8b34f; }
.area-meta-grid span, .area-meta-grid small { display: block; color: var(--fb-dark-muted); font-size: 12px; line-height: 1.35; }
.area-meta-grid strong { display: block; margin: 4px 0; font-size: 16px; }
.area-meta-grid p { margin: 0 0 8px; font-size: 12px; line-height: 1.4; }
.area-builder-layout { display: grid; grid-template-columns: 390px minmax(0, 1fr); gap: 14px; align-items: stretch; margin-bottom: 14px; }
.area-builder-form { align-self: stretch; }
.area-builder-form label { display: block; font-size: 12px; color: var(--fb-dark-secondary); margin: 14px 0 7px; }
.area-builder-form .check-row { margin-top: 14px; }
.area-builder-map-panel { position: relative; padding: 12px; min-height: 690px; }
.area-builder-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 14px; margin-bottom: 14px; }
.opportunity-config-layout { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 14px; align-items: start; margin-bottom: 14px; }
.opportunity-config-form { position: sticky; top: 18px; }
.opportunity-config-main { display: grid; gap: 14px; min-width: 0; }
.area-field-list { grid-template-columns: 150px 1fr; }
.formula-card { padding: 16px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7bd56f; }
.formula-card span { display: block; color: var(--fb-dark-muted); font-size: 12px; }
.formula-card strong { display: block; margin: 5px 0 8px; font-size: 24px; }
.formula-card p { margin: 0; font-size: 13px; line-height: 1.45; }
.area-signal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.area-signal-card { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7bd56f; }
.area-signal-negative { border-left-color: #ef6b6b; }
.area-signal-card span, .area-signal-card small, .area-signal-card em { display: block; color: var(--fb-dark-muted); }
.area-signal-card strong { display: block; margin: 3px 0; }
.area-signal-card b { font-size: 26px; color: #f7fff8; }
.area-signal-card p, .area-signal-card em { grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.4; }
.area-signal-card em { color: #f0d282; font-style: normal; }
.geometry-textarea { min-height: 110px; font-family: Consolas, monospace; font-size: 12px; }
