/* ── PALLETS STYLES: OVERVIEW ── build 1001 */

.ov-module {
  display: flex; flex-direction: column; height: 100%;
  background: var(--ws-bg); color: var(--text-on-ws);
}
.ov-scroll { flex: 1; overflow-y: auto; }
.ov-inner { max-width: 860px; margin: 0 auto; padding: 2rem 2rem 4rem; }

/* Section */
.ov-section { margin-bottom: 2.5rem; }
.ov-section-label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--accent);
  margin-bottom: 0.375rem;
}
.ov-section-rule {
  height: 1.5px; background: var(--accent);
  border: none; margin-bottom: 1.25rem;
}

/* Safety section — orange left border */
.ov-section.safety {
  border-left: 3px solid var(--accent);
  padding-left: 1rem;
}

/* Fields */
.ov-field-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
}
@media (max-width: 600px) { .ov-field-grid { grid-template-columns: 1fr; } }

.ov-field { display: flex; flex-direction: column; gap: 0.375rem; }
.ov-field-label {
  font-size: 11px; font-weight: 600; letter-spacing: 0.04em;
  text-transform: uppercase; color: var(--text-on-ws-2);
}
.ov-input {
  font-family: var(--font-ui); font-size: 13px; color: var(--text-on-ws);
  background: var(--ws-surface); border: 1px solid var(--ws-border);
  border-radius: var(--radius-sm); padding: 0.5rem 0.75rem;
  width: 100%; transition: border-color var(--transition-fast);
}
.ov-input:focus { outline: none; border-color: var(--accent); }
.ov-input[readonly] { opacity: 0.6; pointer-events: none; }

.ov-textarea {
  font-family: var(--font-ui); font-size: 13px; color: var(--text-on-ws);
  background: var(--ws-surface); border: 1px solid var(--ws-border);
  border-radius: var(--radius-sm); padding: 0.625rem 0.75rem;
  width: 100%; min-height: 100px; resize: vertical;
  transition: border-color var(--transition-fast);
}
.ov-textarea:focus { outline: none; border-color: var(--accent); }

.ov-select {
  font-family: var(--font-ui); font-size: 13px; color: var(--text-on-ws);
  background: var(--ws-surface); border: 1px solid var(--ws-border);
  border-radius: var(--radius-sm); padding: 0.5rem 0.75rem;
  width: 100%;
}

/* Project title field — large */
.ov-title-input {
  font-family: var(--font-display); font-size: 24px; font-weight: 600;
  color: var(--text-on-ws); background: transparent;
  border: none; border-bottom: 2px solid var(--ws-border);
  border-radius: 0; padding: 0.25rem 0; width: 100%;
  transition: border-color var(--transition-fast);
  margin-bottom: 1.25rem;
}
.ov-title-input:focus { outline: none; border-bottom-color: var(--accent); }

/* Shoot dates */
.ov-dates-row {
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.ov-dates-derived {
  font-size: 12px; color: var(--accent-text); font-weight: 600;
  padding: 3px 10px; border-radius: 100px;
  background: rgba(240,95,0,0.1); border: 1px solid rgba(240,95,0,0.2);
}

/* Locations */
.ov-location-list { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 1rem; }
.ov-location-card {
  background: var(--ws-surface); border: 1px solid var(--ws-border);
  border-radius: var(--radius-md); padding: 0.875rem 1rem;
  display: flex; align-items: flex-start; gap: 0.75rem;
}
.ov-location-info { flex: 1; }
.ov-location-name { font-size: 13px; font-weight: 600; color: var(--text-on-ws); }
.ov-location-address { font-size: 12px; color: var(--text-on-ws-2); margin-top: 2px; }
.ov-location-notes { font-size: 11px; color: var(--text-on-ws-2); font-style: italic; margin-top: 4px; }
.ov-location-type {
  font-size: 9px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; padding: 2px 8px; border-radius: 100px;
  background: var(--ws-bg); border: 1px solid var(--ws-border);
  color: var(--text-on-ws-2); white-space: nowrap; flex-shrink: 0;
}
.ov-location-remove {
  background: none; border: none; cursor: pointer;
  font-size: 16px; color: var(--text-on-ws-2); padding: 0; line-height: 1;
  flex-shrink: 0;
}
.ov-location-remove:hover { color: var(--danger, #c0392b); }

/* Add location inline form */
.ov-add-location-form {
  background: var(--ws-surface); border: 1px solid var(--ws-border);
  border-radius: var(--radius-md); padding: 1rem;
  display: flex; flex-direction: column; gap: 0.625rem;
}

/* Team snapshot */
.ov-stat-row { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.ov-stat-card {
  background: var(--ws-surface); border: 1px solid var(--ws-border);
  border-radius: var(--radius-md); padding: 1rem 1.25rem;
  min-width: 120px; flex: 1;
}
.ov-stat-value {
  font-family: var(--font-display); font-size: 28px; font-weight: 600;
  color: var(--text-on-ws);
}
.ov-stat-label { font-size: 11px; color: var(--text-on-ws-2); margin-top: 2px; }

.ov-atl-row {
  display: flex; align-items: baseline; gap: 0.75rem;
  padding: 0.5rem 0; border-bottom: 1px solid var(--ws-border);
  font-size: 13px;
}
.ov-atl-name { font-weight: 600; color: var(--text-on-ws); flex: 1; }
.ov-atl-role { font-size: 12px; color: var(--text-on-ws-2); }

/* Quick links */
.ov-quicklinks { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.ov-quicklink {
  font-family: var(--font-ui); font-size: 12px; font-weight: 600;
  padding: 0.5rem 1.25rem; border-radius: var(--radius-sm);
  border: 1px solid var(--ws-border); background: var(--ws-surface);
  color: var(--text-on-ws); cursor: pointer;
  transition: all var(--transition-fast);
}
.ov-quicklink:hover { border-color: var(--accent); color: var(--accent-text); }
.ov-quicklink:disabled { opacity: 0.4; cursor: default; }
.ov-quicklink:disabled:hover { border-color: var(--ws-border); color: var(--text-on-ws); }

/* Floating save button */
.ov-save-btn {
  position: fixed; bottom: 1.5rem; right: 1.5rem;
  background: var(--accent); color: #fff;
  font-family: var(--font-ui); font-size: 13px; font-weight: 600;
  padding: 0.625rem 1.5rem; border: none; border-radius: var(--radius-sm);
  cursor: pointer; box-shadow: 0 4px 16px rgba(240,95,0,0.35);
  transition: background var(--transition-fast);
  display: none;
  z-index: 100;
}
.ov-save-btn:hover { background: #d45200; }
