/* ═══ 패널 규격 (freepasserp 동일) ═══ */

.panel {
  display: flex;
  flex-direction: column;
  background: var(--surface-base);
  border-radius: var(--radius-md);
  box-shadow: var(--panel-shadow);
  overflow: hidden;
  min-height: 0;
}

.panel-head {
  flex: 0 0 auto;
  min-height: var(--panel-head-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--panel-head-py) var(--panel-head-px);
  border-bottom: 1px solid var(--border-soft);
  gap: var(--space-2);
}

.panel-head-title-wrap {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}

.panel-head-title {
  font-size: var(--panel-head-font);
  font-weight: var(--font-weight-strong);
  color: var(--text-main);
  white-space: nowrap;
}

.panel-head-subtitle {
  font-size: var(--panel-head-font);
  color: var(--text-muted);
  white-space: nowrap;
}

.panel-head-actions {
  display: flex;
  align-items: center;
  gap: var(--btn-gap);
}

.panel-body {
  flex: 1 1 0;
  min-height: 0;
  overflow-y: auto;
  padding: var(--panel-body-pad);
}

.panel-body--flush { padding: 0; }
