/* Atlas styling for the partner admin (Admin > Partners and Admin > Outreach), layout atlas_admin.
   Uses the tokens in atlas.css. Scoped to body.aa because stylesheet_link_tag :app loads every sheet. */
body.aa { background: var(--paper); }
.aa .at-nav a.aa-current { color: var(--ink); border-bottom-color: var(--marker); }
.aa-main { max-width: var(--container); margin: 0 auto; padding: 40px var(--gutter) 80px; }

.aa-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 28px; padding-bottom: 18px; border-bottom: 2px solid var(--ink); }
.aa-head h1 { margin: 0; font: 700 clamp(1.9rem, 3vw, 2.5rem)/1.1 var(--f-serif); letter-spacing: -.01em; }
.aa-head h1 em { font-style: italic; font-weight: 400; color: var(--green); }
.aa-head .at-kicker { margin-bottom: 12px; }
.aa-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.aa-actions form { display: inline; margin: 0; }

.aa h2 { margin: 36px 0 12px; font: 700 .76rem/1 var(--f-cond); letter-spacing: .18em; text-transform: uppercase; color: var(--ink); }

/* Stat strip */
.aa-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0; margin-bottom: 28px; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); }
.aa-stat { padding: 16px 18px 14px 0; }
.aa-stat + .aa-stat { padding-left: 18px; border-left: 1px solid var(--line); }
.aa-stat strong { display: block; font: 600 2rem/1 var(--f-serif); }
.aa-stat span { display: block; margin-top: 6px; font: 600 .68rem/1.2 var(--f-cond); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); }
.aa-stat small { font: 400 .8rem/1 var(--f-mono); color: var(--muted); }

/* Panels and rows */
.aa-panel { background: var(--card); box-shadow: var(--shadow-card); border-radius: var(--r); padding: 6px 22px; margin-bottom: 24px; }
.aa-row { display: grid; grid-template-columns: 170px 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px dashed var(--line-2); align-items: start; }
.aa-row:last-child { border-bottom: 0; }
.aa-label { font: 600 .68rem/1.5 var(--f-cond); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); padding-top: 3px; }
.aa-value { min-width: 0; overflow-wrap: anywhere; }
.aa-value a { color: var(--green); }
.aa-note { margin: 8px 0 0; font: 400 .78rem/1.5 var(--f-mono); color: var(--ink-soft); }

/* Controls */
.aa-inline { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 14px; font: 500 .9rem/1.3 var(--f-cond); }
.aa input[type=text], .aa input[type=number], .aa input[type=email], .aa select, .aa textarea {
  padding: 9px 11px; border: 1px solid var(--line-3); border-radius: var(--r); background: var(--cream); color: var(--ink); font: 400 .95rem/1.3 var(--f-serif); max-width: 100%;
}
.aa textarea { width: 100%; font: 400 .95rem/1.5 var(--f-serif); }
.aa input:focus, .aa select:focus, .aa textarea:focus { outline: 2px solid var(--green); outline-offset: 1px; border-color: transparent; }
.aa input[type=file] { font: 500 .85rem/1 var(--f-cond); }
.aa-field { display: grid; gap: 6px; margin-bottom: 16px; }
.aa-field label { font: 600 .68rem/1 var(--f-cond); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); }
.aa .at-btn { white-space: nowrap; }
.aa-btn-ghost { display: inline-block; border: 1px solid var(--line-3); border-radius: var(--r); background: transparent; color: var(--ink); font: 600 .72rem/1 var(--f-cond); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; padding: 9px 13px; cursor: pointer; }
.aa-btn-ghost:hover { border-color: var(--ink); background: var(--cream); }
.aa-btn-ghost.is-on { background: var(--ink); border-color: var(--ink); color: var(--card); }
.aa-btn-danger { color: var(--marker); border-color: rgba(200,85,61,.4); }

/* Tabs */
.aa-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 14px; }

/* Table */
.aa-table-wrap { overflow-x: auto; background: var(--card); box-shadow: var(--shadow-card); border-radius: var(--r); }
.aa-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.aa-table th { text-align: left; padding: 12px 14px; font: 600 .66rem/1.2 var(--f-cond); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); border-bottom: 1px solid var(--line-2); background: var(--cream); }
.aa-table td { padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.aa-table tr:last-child td { border-bottom: 0; }
.aa-table tbody tr:hover td { background: rgba(217,195,154,.12); }
.aa-table small { font: 400 .78rem/1.4 var(--f-mono); color: var(--ink-soft); }
.aa-table small a { color: var(--green); }
.aa-table .aa-when { font: 600 .8rem/1.3 var(--f-cond); letter-spacing: .04em; white-space: nowrap; }
.aa-empty { padding: 36px 14px !important; text-align: center; color: var(--ink-soft); font-style: italic; }

/* Status badges */
.aa-badge { display: inline-block; padding: 4px 7px; border-radius: 2px; font: 700 .62rem/1 var(--f-cond); letter-spacing: .14em; text-transform: uppercase; background: var(--paper-dk); color: var(--ink-2); }
.aa-badge-draft { background: var(--paper-dk); }
.aa-badge-approved, .aa-badge-contacted, .aa-badge-proposal { background: rgba(217,164,65,.22); color: #7a5512; }
.aa-badge-sent, .aa-badge-won, .aa-badge-on, .aa-badge-interested { background: rgba(47,93,58,.16); color: var(--green); }
.aa-badge-failed, .aa-badge-off, .aa-badge-lost, .aa-badge-bounced, .aa-badge-unsubscribed, .aa-badge-not_interested { background: rgba(200,85,61,.14); color: var(--marker); }
.aa-badge-new, .aa-badge-replied { background: var(--ink); color: var(--card); }

/* Email preview */
.aa-preview { max-width: 720px; padding: 26px 30px; background: #fff; border: 1px solid var(--line-2); border-radius: var(--r); box-shadow: var(--shadow-card); }
.aa-subject { margin: 0 0 12px; font: 600 1.05rem/1.4 var(--f-serif); }
.aa-subject span { font: 600 .68rem/1 var(--f-cond); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); margin-right: 8px; }

/* Pagination */
.aa-pager { display: flex; gap: 6px; align-items: center; justify-content: center; margin: 22px 0 0; font: 500 .85rem/1 var(--f-cond); color: var(--ink-soft); }

@media (max-width: 760px) {
  .aa-row { grid-template-columns: 1fr; gap: 4px; }
  .aa-stat + .aa-stat { padding-left: 0; border-left: 0; }
}
.aa .admin-pagination { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: center; margin: 22px 0 0; font: 600 .78rem/1 var(--f-cond); }
.aa .admin-pagination a, .aa .admin-pagination span { padding: 7px 10px; border-radius: var(--r); text-decoration: none; color: var(--ink-soft); }
.aa .admin-pagination a:hover { background: var(--cream); color: var(--ink); }
.aa .admin-pagination .current { background: var(--ink); color: var(--card); }
