/* CANAL PASS — Agent dashboard styles (submit form, vessel counts,
   recent updates). Self-contained: does not depend on the theme or any
   other plugin CSS. The three pieces are independently placeable blocks
   that share one visual language via .cpau-agent-card. */

.cpau-submit-section {
  padding: clamp(24px, 5vw, 56px) 0;
}
.cpau-submit-container {
  width: 100%;
  box-sizing: border-box;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;
}
.cpau-submit-container * { box-sizing: border-box; }

/* ---- Shared card shell — every agent-facing block renders one of these ---- */
.cpau-agent-card {
  background: #ffffff;
  border: 1px solid #dde4ec;
  border-radius: 14px;
  padding: 28px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;
  box-sizing: border-box;
  height: 100%; /* cards placed side-by-side in a Columns block line up evenly */
}
.cpau-agent-card * { box-sizing: border-box; }

.cpau-agent-card--locked {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  background: #f9fafb;
  border-style: dashed;
}
.cpau-locked-note {
  color: #6b7c8f;
  font-size: .86rem;
  text-align: center;
  margin: 0;
}

.cpau-eyebrow {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #c9a86a;
  margin: 0 0 8px;
}
.cpau-heading {
  font-size: 1.3rem;
  font-weight: 600;
  color: #0b1b2b;
  margin: 0 0 8px;
  line-height: 1.25;
}
.cpau-sub {
  color: #3b4e62;
  font-size: .92rem;
  line-height: 1.5;
  margin: 0 0 22px;
}
.cpau-sub strong { color: #0a3d62; }
.cpau-sub a { color: #0a3d62; }

.cpau-notice {
  padding: 14px 16px;
  border-radius: 8px;
  font-size: .92rem;
  margin-bottom: 20px;
  line-height: 1.5;
}
.cpau-notice--success {
  background: #eaf6f1;
  color: #1f6e54;
  border: 1px solid #bfe4d5;
}
.cpau-notice--error {
  background: #fdecec;
  color: #9c3030;
  border: 1px solid #f3c8c8;
}

/* ---- Form fields (shared by all three blocks' forms) ---- */
.cpau-row { margin-bottom: 18px; }
.cpau-row:last-of-type { margin-bottom: 0; }
.cpau-row label {
  display: block;
  font-size: .8rem;
  font-weight: 600;
  color: #0b1b2b;
  margin-bottom: 6px;
}
.cpau-row input[type="text"],
.cpau-row input[type="number"],
.cpau-row select,
.cpau-row textarea {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #dde4ec;
  border-radius: 8px;
  font-size: .95rem;
  font-family: inherit;
  color: #0b1b2b;
  background: #ffffff;
  transition: border-color .15s ease;
}
.cpau-row input:focus,
.cpau-row select:focus,
.cpau-row textarea:focus {
  outline: none;
  border-color: #0a3d62;
}
.cpau-row textarea {
  min-height: 120px;
  resize: vertical;
}

/* Two fields side by side (Type + Urgency, Northbound + Southbound) —
   a consistent compact pattern instead of stacking every field full-width. */
.cpau-row-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 18px;
}
.cpau-row-group .cpau-row { margin-bottom: 0; }

@media (max-width: 420px) {
  .cpau-row-group { grid-template-columns: 1fr; }
}

/* Honeypot field — visually hidden */
.cpau-hp-wrap {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px;
  overflow: hidden;
}

.cpau-submit-btn {
  width: 100%;
  padding: 13px 22px;
  border-radius: 8px;
  border: 1px solid #0a3d62;
  background: #0a3d62;
  color: #ffffff;
  font-weight: 600;
  font-size: .95rem;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
  margin-top: 4px;
}
.cpau-submit-btn:hover {
  background: #134e7a;
  transform: translateY(-1px);
}

/* ---- Vessel counts form — reuses .cpau-row-group for the two numbers ---- */
.cpau-stats-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 18px;
}
.cpau-stats-fields .cpau-row { margin-bottom: 0; }

@media (max-width: 420px) {
  .cpau-stats-fields { grid-template-columns: 1fr; }
}

/* ---- Recent updates list ---- */
.cpau-recent-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #dde4ec;
  border-radius: 10px;
  overflow: hidden;
}
.cpau-recent-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
}
.cpau-recent-item + .cpau-recent-item {
  border-top: 1px solid #dde4ec;
}
.cpau-recent-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.cpau-recent-title {
  font-size: .9rem;
  font-weight: 600;
  color: #0b1b2b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cpau-recent-date {
  font-size: .74rem;
  color: #6b7c8f;
}
.cpau-recent-side {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.cpau-status-badge {
  font-size: .7rem;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 999px;
  white-space: nowrap;
}
.cpau-status-badge--publish {
  background: #eaf6f1;
  color: #1f6e54;
}
.cpau-status-badge--pending {
  background: #fdf3e3;
  color: #92650f;
}
.cpau-edit-link {
  font-size: .8rem;
  font-weight: 600;
  color: #0a3d62;
  text-decoration: none;
}
.cpau-edit-link:hover { text-decoration: underline; }
.cpau-edit-closed {
  font-size: .76rem;
  color: #6b7c8f;
  font-style: italic;
}

@media (max-width: 480px) {
  .cpau-recent-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
