/* Admin (Verde): warm paper, left sidebar, amber accent, permanent identity strip.
   Must never look like the member view. */
body.admin { background: var(--admin-bg); }
.admin-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 100vh; }
.admin-sidebar { background: var(--admin-sidebar); padding: 20px 14px; display: flex; flex-direction: column; gap: 2px; font-size: 13px; border-right: 1px solid oklch(0.88 0.02 85); }
.admin-sidebar__brand { padding: 0 8px 18px; display: flex; flex-direction: column; }
.admin-sidebar__brand strong { font-weight: 700; font-size: 15px; }
.admin-sidebar__brand span, .admin-sidebar__foot { font-size: var(--text-sm); color: oklch(0.45 0.03 70); }
.admin-sidebar__link { padding: 7px 10px; border-radius: var(--radius-sm); color: var(--ink); }
.admin-sidebar__link:hover { background: oklch(0.9 0.04 80); text-decoration: none; }
.admin-sidebar__link.is-active { background: oklch(0.85 0.06 75); font-weight: 600; }
.admin-sidebar__foot { margin-top: auto; padding: 7px 10px; display: flex; flex-direction: column; gap: 4px; }
.admin-sidebar__foot button, .admin-sidebar__foot a { font: inherit; background: none; border: 0; padding: 0; color: inherit; cursor: pointer; text-align: left; }
.admin-strip { padding: 8px 28px; background: var(--admin-strip); font-size: var(--text-sm); font-weight: 600; color: oklch(0.3 0.06 60); }
.admin-main { display: flex; flex-direction: column; min-width: 0; }
.admin-page { padding: 24px 28px 36px; display: flex; flex-direction: column; gap: 12px; }
.admin-page--split { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 16px; align-items: start; }
.admin-page h1 { font-size: 24px; }

.admin-card { background: var(--panel); border: 1px solid oklch(0.9 0.015 85); border-radius: var(--radius-control); padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; font-size: 13px; }
.admin-card--flush { padding: 0; overflow: hidden; gap: 0; }
.admin-card__title { font-size: var(--text-lg); font-weight: 600; }
.admin-card__actions { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 10px; border-top: 1px solid oklch(0.94 0.01 85); }
.admin-definition { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 4px 12px; }
.admin-definition dt { color: oklch(0.45 0.03 70); }

.admin-table__head, .admin-table__row { display: grid; grid-template-columns: minmax(0, 1fr) 60px 170px 80px 100px; column-gap: 12px; padding: 10px 16px; font-size: 13px; align-items: center; }
.admin-table__head { padding-block: 8px; font-size: var(--text-xs); color: oklch(0.45 0.03 70); background: oklch(0.97 0.01 85); }
.admin-table__row { border-top: 1px solid oklch(0.94 0.01 85); color: var(--ink); }
.admin-table__row:hover { background: oklch(0.97 0.02 80); text-decoration: none; }
.admin-table__row.is-selected { background: oklch(0.96 0.03 80); font-weight: 600; }
.admin-table--history .admin-table__row { grid-template-columns: 130px minmax(0, 1fr) 140px minmax(0, 1.2fr); }

.admin-filters { display: flex; gap: 6px; flex-wrap: wrap; font-size: 13px; }
.admin-filters a { padding: 4px 10px; border-radius: var(--radius-tag); border: 1px solid oklch(0.88 0.02 85); background: var(--panel); color: var(--ink); }
.admin-filters a.is-active { background: oklch(0.85 0.06 75); border-color: transparent; font-weight: 600; }

.btn.btn--amber { background: var(--admin-accent); color: #fff; font-weight: 600; border-radius: var(--radius-sm); padding: 8px 14px; }
.btn.btn--paper { background: var(--panel); color: var(--ink); border: 1px solid oklch(0.85 0.02 85); border-radius: var(--radius-sm); padding: 8px 12px; }
.btn.btn--paper-danger { background: var(--panel); color: var(--danger-text); border: 1px solid oklch(0.85 0.02 85); border-radius: var(--radius-sm); padding: 8px 12px; }

@media (max-width: 900px) {
  .admin-shell { grid-template-columns: minmax(0, 1fr); }
  .admin-sidebar { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .admin-sidebar__brand { padding-bottom: 0; margin-right: auto; }
  .admin-sidebar__foot { margin-top: 0; }
  .admin-page--split { grid-template-columns: minmax(0, 1fr); }
}
.admin-table__row--index { grid-template-columns: minmax(0, 1fr) 60px 100px 40px; row-gap: 2px; }
.admin-index__segment { overflow-wrap: anywhere; }
.admin-index__via { grid-column: 1 / -1; color: oklch(0.45 0.03 70); }
.admin-page--halves { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.admin-index__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.admin-index__figures { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid oklch(0.9 0.015 85); border-radius: var(--radius-control); }
.admin-index__figures > div { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; }
.admin-index__figures > div + div { border-left: 1px solid oklch(0.9 0.015 85); }
.admin-index__figures .mono { font-size: 18px; }
.admin-index__history { display: flex; flex-direction: column; gap: 8px; border: 1px solid oklch(0.9 0.015 85); border-radius: var(--radius-control); padding: 12px 14px; }
.index-history { width: 100%; height: 90px; }
.index-history rect { fill: oklch(0.88 0.06 75); }
.index-history rect.is-latest { fill: var(--admin-accent); }
.admin-index__assess { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.admin-index__assess input { font: inherit; padding: 8px 10px; border: 1px solid oklch(0.85 0.02 85); border-radius: var(--radius-sm); background: var(--panel); }
.admin-index__inputs summary { cursor: pointer; }
.form--inline { flex-direction: row; flex-wrap: wrap; align-items: center; }
.form--inline input { font: inherit; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 6px 8px; }
.admin-table__row--fees { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) 140px 160px; }

/* Fee rates: a list to choose from, the chosen one's buckets beside the defaults. */
.admin-page--list { grid-template-columns: 260px minmax(0, 1fr); }
.admin-table__row--plain { display: block; }
.fee-table { border: 1px solid oklch(0.9 0.015 85); border-radius: var(--radius-control); font-size: 13px; }
.fee-table__row { display: grid; grid-template-columns: minmax(0, 1fr) 90px 90px 80px; gap: 12px; padding: 10px 14px; border-top: 1px solid oklch(0.94 0.01 85); }
.fee-table__row > :nth-child(2), .fee-table__row > :nth-child(3) { text-align: right; }
.fee-table__head { border-top: 0; color: oklch(0.45 0.03 70); font-size: var(--text-xs); }
.admin-fee-form { grid-template-columns: minmax(0, 1.4fr) 100px minmax(0, 1fr) auto; }
.admin-fee-form select { font: inherit; padding: 8px 10px; border: 1px solid oklch(0.85 0.02 85); border-radius: var(--radius-sm); background: var(--panel); }
.admin-fee-history li { display: grid; grid-template-columns: minmax(0, 1.2fr) 70px minmax(0, 1.2fr) minmax(0, 1fr); gap: 10px; padding: 5px 0; border-top: 1px solid oklch(0.94 0.01 85); }
.admin-reports { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-reports > div { display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; }
.admin-reports > div + div { border-left: 1px solid oklch(0.9 0.015 85); }
.admin-reports strong { font-size: var(--text-md); }
.admin-sidebar__count { margin-left: auto; font-family: var(--font-mono); font-size: var(--text-xs); }
.admin-sidebar__link { display: flex; align-items: center; }
.admin-table__row--listings { grid-template-columns: 90px minmax(0, 1fr) 130px minmax(0, 1.3fr) 80px 110px 70px; }
.admin-table__row--negotiations { grid-template-columns: 100px minmax(0, 1.4fr) 140px minmax(0, 1fr) 110px; }
.admin-table__row--timeline { grid-template-columns: 110px minmax(0, 1fr) minmax(0, 1fr) 100px 100px; }
.admin-card__title--padded { padding: 16px 16px 8px; }
.admin-table__row--ledger { grid-template-columns: 90px minmax(0, 1.4fr) minmax(0, 1fr) 70px 60px 90px 90px 90px minmax(0, 1fr); }
.admin-table__row--ledger.is-overdue { background: var(--failed-tint); }
.admin-ledger__actions { display: flex; gap: 12px; align-items: center; padding: 0 16px 10px; justify-content: flex-end; }
.admin-ledger__form { display: inline-flex; gap: 6px; align-items: center; }
.admin-ledger__form input[type=text] { font: inherit; font-size: 13px; padding: 6px 8px; border: 1px solid oklch(0.85 0.02 85); border-radius: var(--radius-sm); background: var(--panel); }
.admin-definition .organisation-address { white-space: pre-line; }
.admin-filters select { font: inherit; font-size: 13px; padding: 5px 10px; border: 1px solid oklch(0.85 0.02 85); border-radius: var(--radius-tag); background: var(--panel); }

/* People in an organisation (admin organisation page): VerdIQ invites, changes roles, removes. */
.admin-people { display: flex; flex-direction: column; margin: 0 0 12px; padding: 0; list-style: none; }
.admin-people__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 8px 0; border-top: 1px solid var(--hairline); }
.admin-people__row > span { flex: 1; min-width: 200px; }
.admin-people__role { display: flex; gap: 4px; }
.admin-people__invite { display: grid; grid-template-columns: minmax(0, 1fr) 150px auto; gap: 8px; align-items: center; margin-bottom: 8px; }
.admin-people__invite input, .admin-people__invite select { font: inherit; padding: 8px 10px; border: 1px solid oklch(0.85 0.02 85); border-radius: var(--radius-sm); background: var(--panel); }
@media (max-width: 640px) { .admin-people__invite { grid-template-columns: 1fr; } }

/* Market data (design: Admin F): a table of series; a series VerdIQ enters opens to a form. */
.market-data__row { display: grid; grid-template-columns: minmax(0, 1.6fr) 100px 90px 130px minmax(0, 1fr) 130px; column-gap: 16px; align-items: center; padding: 12px 16px; border-top: 1px solid oklch(0.94 0.01 85); color: var(--ink); font-size: 13px; }
.market-data__head { padding-block: 8px; border-top: 0; font-size: var(--text-xs); color: oklch(0.45 0.03 70); background: oklch(0.97 0.01 85); }
.market-data__name { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.market-data__name .mono { font-size: var(--text-xs); }
.market-data__number { text-align: right; font-variant-numeric: tabular-nums; }
.market-data__number strong { font-size: var(--text-md); }
.market-data__up { color: var(--accent-ink); }
.market-data__down { color: var(--failed-ink); }
.market-data__stale { color: var(--attention-ink); font-weight: 600; }
.market-data__action { justify-self: end; }
.market-data__spark { display: block; width: 120px; height: 30px; overflow: visible; }
.market-data__spark polyline { fill: none; stroke: var(--admin-accent); stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }
.market-data__spark circle { fill: var(--admin-accent); }
.market-data__entry > summary { list-style: none; cursor: pointer; }
.market-data__entry > summary::-webkit-details-marker { display: none; }
.market-data__entry > summary:hover { background: oklch(0.97 0.02 80); }
.market-data__entry[open] > summary { background: oklch(0.96 0.03 80); }
.market-data__entry[open] .market-data__action .btn { visibility: hidden; }
.market-data__panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 24px; padding: 16px 16px 20px; background: oklch(0.985 0.01 85); border-top: 1px solid oklch(0.94 0.01 85); }
.market-data__form { display: grid; grid-template-columns: 160px minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.market-data__form input { font: inherit; padding: 8px 10px; border: 1px solid oklch(0.85 0.02 85); border-radius: var(--radius-sm); background: var(--panel); width: 100%; }
.market-data__recent h3 { margin: 0 0 6px; color: oklch(0.45 0.03 70); font-weight: 500; }
.market-data__recent ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; font-size: 13px; }
.market-data__recent li { display: grid; grid-template-columns: 60px 90px minmax(0, 1fr); gap: 12px; }
.market-data__recent .mono { text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 1100px) {
  .market-data__row { grid-template-columns: minmax(0, 1fr) 90px 80px 120px; row-gap: 6px; }
  .market-data__head span:nth-child(n+5) { display: none; }
  .market-data__row > :nth-child(5) { grid-column: 1 / 3; }
  .market-data__action { grid-column: 3 / 5; }
  .market-data__panel, .market-data__form { grid-template-columns: 1fr; }
}
