/* ================================================================
   Form 468 Import — form-468-import.css
   Append to app.css or link separately.
   ================================================================ */

/* ── Drop zone ───────────────────────────────────────────────── */
.f468-dropzone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 32px 24px;
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--surface);
  cursor: pointer;
  transition: all var(--t-base);
  text-align: center;
}

.f468-dropzone:hover,
.f468-dropzone.drag-over {
  border-color: var(--gold-muted);
  background: rgba(107, 85, 48, 0.08);
}

.f468-dropzone-icon {
  font-size: 28px;
  color: var(--stone-light);
  line-height: 1;
}

.f468-dropzone-label {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--cream-muted);
  letter-spacing: 0.02em;
}

.f468-dropzone-hint {
  font-size: var(--text-xs);
  color: var(--stone-light);
  letter-spacing: 0.03em;
}

/* ── Status messages ─────────────────────────────────────────── */
.f468-status {
  font-size: var(--text-sm);
  padding: 10px 14px;
  border-radius: var(--radius);
  border-left: 3px solid;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.f468-status-ok {
  border-color: var(--success);
  background: var(--success-dim);
  color: var(--success-text);
}

.f468-status-err {
  border-color: var(--danger);
  background: var(--danger-dim);
  color: var(--danger-text);
}

.f468-status-active {
  border-color: var(--gold-muted);
  background: rgba(191, 163, 106, 0.08);
  color: var(--gold-muted);
}

.f468-status-warn {
  border-color: var(--warning);
  background: var(--warning-dim);
  color: var(--warning-text);
}

/* ── Preview ─────────────────────────────────────────────────── */
.f468-preview-label {
  font-size: var(--text-2xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--stone-light);
  margin-bottom: var(--sp-3);
}

/* ── Info note ───────────────────────────────────────────────── */
.f468-info-note {
  font-size: var(--text-xs);
  color: var(--stone-light);
  line-height: 1.6;
  padding: 10px 14px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  letter-spacing: 0.02em;
}

/* ── Meta row ────────────────────────────────────────────────── */
.f468-meta-row {
  display: flex;
  align-items: center;
}

/* ── Modal width override ────────────────────────────────────── */
.f468-modal-box {
  max-width: 1200px;
  width: calc(100vw - 48px);
}

/* ── Preview table wrapper ───────────────────────────────────── */
.f468-table-wrap {
  max-height: 320px;
  overflow-y: auto;
  overflow-x: auto;
}

/* ── Resizable fixed-layout table ────────────────────────────── */
.f468-preview-table {
  table-layout: fixed;
  width: 100%;
  min-width: 600px;
}

.f468-preview-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Column resize handle ────────────────────────────────────── */
.f468-col-resize {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  cursor: col-resize;
  user-select: none;
  z-index: 1;
}

.f468-col-resize:hover,
.f468-col-resize:active {
  background: var(--gold-muted);
  opacity: 0.6;
}

/* <th> needs position:relative for the handle to anchor correctly */
.f468-preview-table thead th {
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}

/* ── Risk rating select ───────────────────────────────────────── */
.f468-risk-select {
  width: 100%;
  font-size: 11px;
  padding: 2px 4px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--surface);
  cursor: pointer;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.f468-risk-select[data-rating="outperforming"]   { color: #5A9E70; border-color: rgba(90,158,112,0.4); }
.f468-risk-select[data-rating="performing"]      { color: #4a90c4; border-color: rgba(74,144,196,0.4); }
.f468-risk-select[data-rating="watch_list"]      { color: var(--gold); border-color: var(--gold-muted); }
.f468-risk-select[data-rating="special_mention"] { color: #C0534A; border-color: rgba(192,83,74,0.4); }

/* ── Asset type select ────────────────────────────────────────── */
.f468-asset-select {
  width: 100%;
  font-size: 11px;
  padding: 2px 4px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--surface);
  cursor: pointer;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.f468-asset-select[data-atype="senior-debt"]      { color: #4a90c4; border-color: rgba(74,144,196,0.4); }
.f468-asset-select[data-atype="mezzanine-debt"]   { color: #9b72cb; border-color: rgba(155,114,203,0.4); }
.f468-asset-select[data-atype="preferred-equity"] { color: #4aafaf; border-color: rgba(74,175,175,0.4); }
.f468-asset-select[data-atype="common-equity"]    { color: #5A9E70; border-color: rgba(90,158,112,0.4); }
.f468-asset-select[data-atype="warrants-options"] { color: var(--gold); border-color: var(--gold-muted); }

/* ── Fund resolution ─────────────────────────────────────────── */
.f468-fund-matched {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--text-sm);
  color: var(--cream-muted);
  padding: 10px 14px;
  background: rgba(90, 158, 112, 0.10);
  border: 1px solid rgba(90, 158, 112, 0.35);
  border-radius: var(--radius);
}

.f468-fund-check {
  color: #5A9E70;
  font-size: 15px;
  line-height: 1;
  flex-shrink: 0;
}

.f468-fund-unmatched {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  padding: 12px 14px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-muted);
  border-radius: var(--radius);
}

.f468-fund-unmatched-label {
  font-size: var(--text-xs);
  color: var(--gold);
  line-height: 1.5;
}

.f468-fund-row {
  display: flex;
  gap: var(--sp-2);
  align-items: center;
}

.f468-fund-row .form-input {
  flex: 1;
  min-width: 0;
}
