/* Address Cleaner pages (/address-cleaner/*). Site tokens only, so the dark theme follows design-system.css. */

.ac-page {
    padding: var(--space-12) var(--space-4) var(--space-16);
}

.ac-wrap {
    max-width: 960px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

/* Pages with a row table (status, preview): up to 1,320 px so whole addresses fit on one line; below that the column
   takes the full screen width minus the page padding (owner 2026-10-06). The upload page keeps 960 px. */
.ac-wrap.ac-wide {
    max-width: 1320px;
}

.ac-hero h1 {
    font-size: var(--text-h1);
    font-weight: 700;
    color: var(--color-gray-900);
    margin: 0;
    text-wrap: balance;
}

.ac-hero p {
    margin: var(--space-2) 0 0;
    color: var(--color-gray-600);
    font-size: var(--text-body);
}

.ac-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3) var(--space-4);
}

.ac-download {
    overflow-wrap: anywhere;
}

.ac-muted {
    color: var(--color-gray-500);
    font-size: var(--text-sm);
    margin: 0;
}

.ac-flat {
    margin-bottom: var(--space-2);
}

.ac-callout {
    border: 1px solid var(--color-gray-200);
    background: var(--color-gray-50);
    color: var(--color-gray-700);
    border-radius: var(--radius-md);
    padding: var(--space-4);
    font-size: var(--text-body);
}

/* four result tiles: one row on desktop, two by two on phones */
.ac-counts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
}

@media (max-width: 640px) {
    .ac-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.ac-count {
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    background: var(--color-white);
    padding: var(--space-3) var(--space-4);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ac-count-t {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-800);
}

.ac-count-n {
    font-size: var(--text-h2);
    font-weight: 700;
    color: var(--color-gray-900);
    font-variant-numeric: tabular-nums;
}

.ac-count-d {
    font-size: var(--text-xs);
    color: var(--color-gray-500);
}

.ac-dot {
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
    display: inline-block;
}

.ac-ok .ac-dot   { background: var(--color-success); }
.ac-fix .ac-dot  { background: var(--color-brand-600); }
.ac-warn .ac-dot { background: var(--color-warning); }
.ac-none .ac-dot { background: var(--color-danger); }

.ac-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
}

@media (max-width: 720px) {
    .ac-panels { grid-template-columns: 1fr; }
}

.ac-panel {
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    background: var(--color-white);
    padding: var(--space-4) var(--space-5);
}

.ac-panel h2 {
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-gray-500);
    margin: 0 0 var(--space-3);
}

.ac-ledger {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: var(--space-1);
    margin: 0;
    font-size: var(--text-body);
    font-variant-numeric: tabular-nums;
}

/* no column gap, so the line above the total runs unbroken across both cells */
.ac-ledger dt { font-weight: 400; color: var(--color-gray-600); padding-right: var(--space-6); }
.ac-ledger dd { margin: 0; text-align: right; font-weight: 500; color: var(--color-gray-900); }

.ac-ledger .ac-total {
    font-weight: 700;
    color: var(--color-gray-900);
    border-top: 1px solid var(--color-gray-300);
    padding-top: var(--space-2);
    margin-top: var(--space-1);
}

.ac-legend {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--space-2) var(--space-4);
    margin: 0;
    font-size: var(--text-sm);
}

.ac-legend dt { font-family: var(--font-mono); font-weight: 500; color: var(--color-gray-900); }
.ac-legend dd { margin: 0; color: var(--color-gray-600); }

@media (max-width: 640px) {
    /* phones: each description under its column name */
    .ac-legend { grid-template-columns: 1fr; row-gap: 0; }
    .ac-legend dd { margin-bottom: var(--space-3); }
}

/* ---------- upload, preview, status (2026-10-04) ---------- */

.ac-facts {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-5);
    padding: 0;
    margin: 0;
    font-size: var(--text-sm);
    color: var(--color-gray-600);
}

.ac-facts b { color: var(--color-gray-900); font-weight: 600; }

.ac-alert {
    border: 1px solid var(--color-danger-border);
    background: var(--color-danger-light);
    color: var(--color-gray-900);
    border-radius: var(--radius-md);
    padding: var(--space-3) var(--space-4);
    font-size: var(--text-body);
}

.ac-form { display: flex; flex-direction: column; gap: var(--space-4); }
.ac-form h2 { margin-bottom: 0; }

.ac-field { display: flex; flex-direction: column; gap: var(--space-1); }
.ac-field label { font-weight: 600; font-size: var(--text-body); color: var(--color-gray-900); }
.ac-field-error { color: var(--color-danger); font-size: var(--text-sm); font-weight: 600; }

.ac-steps {
    margin: 0;
    padding-left: var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    font-size: var(--text-body);
    color: var(--color-gray-700);
}

.ac-mode { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); font-size: var(--text-body); color: var(--color-gray-800); }
.ac-mode label { display: flex; align-items: center; gap: var(--space-2); cursor: pointer; }

.ac-colmap {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: var(--space-3);
}

.ac-colmap[hidden] { display: none; }

.ac-pick { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.ac-pick > span:first-child { font-size: var(--text-xs); font-weight: 600; color: var(--color-gray-600); }

.ac-sample {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--color-gray-500);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-height: 1.2em;
}

.ac-tablewrap {
    overflow-x: auto;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    background: var(--color-white);
    max-height: 560px;
}

.ac-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: var(--text-sm); }
.ac-table th {
    position: sticky;
    top: 0;
    background: var(--color-gray-50);
    text-align: left;
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-gray-500);
    font-weight: 600;
    padding: var(--space-2) var(--space-3);
    border-bottom: 1px solid var(--color-gray-200);
}
.ac-table td { padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--color-gray-100); vertical-align: top; color: var(--color-gray-900); }
.ac-table tr:last-child td { border-bottom: 0; }
.ac-num { color: var(--color-gray-500) !important; font-variant-numeric: tabular-nums; }
.ac-in { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-gray-600) !important; }
.ac-chg { color: var(--color-gray-600) !important; }

.ac-pill {
    display: inline-flex;
    align-items: center;
    font-size: var(--text-xs);
    font-weight: 600;
    border-radius: var(--radius-full);
    padding: 2px 9px;
    border: 1px solid;
    white-space: nowrap;
}
.ac-pill-ok   { color: var(--color-success-dark); background: var(--color-success-light); border-color: var(--color-success-border); }
.ac-pill-fix  { color: var(--color-brand-700); background: var(--color-brand-50); border-color: var(--color-brand-200); }
.ac-pill-warn { color: var(--color-warning-dark); background: var(--color-warning-light); border-color: var(--color-warning-border); }
.ac-pill-none { color: var(--color-danger-dark); background: var(--color-danger-light); border-color: var(--color-danger-border); }
.ac-pill-wait { color: var(--color-gray-600); background: var(--color-gray-50); border-color: var(--color-gray-200); }

.ac-wait .ac-dot { background: var(--color-gray-400); }

.ac-price {
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-lg);
    background: var(--color-gray-50);
    padding: var(--space-5);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-4) var(--space-6);
    align-items: center;
}
.ac-price h2 { font-size: var(--text-h3); font-weight: 700; color: var(--color-gray-900); margin: 0 0 var(--space-1); }
.ac-start { flex-direction: column; align-items: stretch; text-align: center; }
.ac-why { grid-column: 1 / -1; display: flex; flex-direction: column; gap: var(--space-1); font-size: var(--text-sm); color: var(--color-gray-700); }
.ac-why b { color: var(--color-gray-900); }

@media (max-width: 640px) {
    .ac-price { grid-template-columns: 1fr; }
}

.ac-progress { display: flex; flex-direction: column; gap: var(--space-2); }
.ac-progress-line { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); font-variant-numeric: tabular-nums; color: var(--color-gray-900); }
.ac-bar {
    height: 12px;
    border-radius: var(--radius-full);
    background: var(--color-gray-100);
    border: 1px solid var(--color-gray-200);
    overflow: hidden;
    display: flex;
}
.ac-progress-sub { font-size: var(--text-sm, 0.875rem); }
.ac-tick { margin-left: auto; }
.ac-bar span { display: block; height: 100%; transition: width 0.6s ease; }
.ac-b-ok { background: var(--color-success); }
.ac-b-fix { background: var(--color-brand-600); }
.ac-b-warn { background: var(--color-warning); }
.ac-b-none { background: var(--color-danger); }

@media (prefers-reduced-motion: reduce) {
    .ac-bar span { transition: none; }
}

/* ---- status page: steps, just fixed, live rows (2026-10-06, from the approved preview) ---------------------- */
.ac-steps-live { list-style: none; margin: var(--space-2) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-4); }
.ac-step { display: flex; gap: var(--space-3); align-items: flex-start; flex: 1 1 220px; min-width: 0; }
.ac-step-t { display: flex; flex-direction: column; min-width: 0; }
.ac-step-t b { color: var(--color-gray-900); font-size: var(--text-body); }
.ac-step-t .ac-muted { font-size: var(--text-sm); }
.ac-ring { width: 32px; height: 32px; flex: none; border-radius: var(--radius-full); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: var(--text-sm); border: 2px solid var(--color-gray-300); color: var(--color-gray-600); background: var(--color-white); }
.ac-step.active .ac-ring { border-color: var(--color-brand-600); color: var(--color-brand-600); box-shadow: 0 0 0 4px var(--color-brand-100); }
.ac-step.done .ac-ring { border-color: var(--color-success); background: var(--color-success); color: var(--color-white); }
.ac-count-s { font-size: var(--text-sm); }

.ac-panel-head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: var(--space-3); }
.ac-panel-head h2 { margin: 0; font-size: var(--text-h4); font-weight: 700; color: var(--color-gray-900); text-transform: none; letter-spacing: normal; }
.ac-panel-head .ac-muted { font-size: var(--text-sm); }
.ac-fixed { display: flex; flex-direction: column; gap: var(--space-3); }
.ac-fixed > p { margin: 0; font-size: var(--text-sm); }
.ac-fixed-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-3); }
.ac-fixed-list:empty { display: none; }
.ac-fixed-card { display: flex; flex-direction: column; gap: var(--space-2); padding: 14px 16px; border: 1px solid var(--color-gray-100); border-radius: var(--radius-md); background: var(--color-brand-50); animation: ac-rise .5s ease both; }
.ac-fixed-card b { color: var(--color-gray-900); }
.ac-fixed-row { font-size: var(--text-xs); }
.ac-change { font-size: var(--text-sm); color: var(--color-gray-700); }
.ac-was { color: var(--color-gray-400); text-decoration: line-through; }
.ac-now { color: var(--color-brand-800); font-weight: 600; background: var(--color-brand-100); border-radius: 4px; padding: 0 4px; }

.ac-live { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.ac-live-top { padding: var(--space-5) var(--space-6) var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); border-bottom: 1px solid var(--color-gray-100); }
.ac-pills { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ac-pill { font: inherit; font-size: var(--text-sm); font-weight: 600; min-height: 44px; padding: 8px 14px; border-radius: var(--radius-full); border: 1px solid var(--color-gray-300); background: var(--color-white); color: var(--color-gray-700); cursor: pointer; }
.ac-pill.on { background: var(--color-brand-800); border-color: var(--color-brand-800); color: var(--color-white); }
.ac-pill:focus-visible { outline: 3px solid var(--color-brand-300); outline-offset: 2px; }
.ac-live-scroll { max-height: 640px; overflow: auto; }
.ac-lrow { display: grid; grid-template-columns: 56px minmax(0, 1.1fr) minmax(0, 1.3fr) 184px; gap: var(--space-4); align-items: start; padding: 12px 16px; border-bottom: 1px solid var(--color-gray-100); transition: background-color .9s ease; }
.ac-lhead { position: sticky; top: 0; z-index: 1; background: var(--color-white); font-size: var(--text-xs); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--color-gray-600); padding-top: 10px; padding-bottom: 10px; }
.ac-lrow.flash { background: var(--color-brand-100); }
.ac-lnum, .ac-lin { font-family: var(--font-mono); font-size: var(--text-code); color: var(--color-gray-600); word-break: break-word; }
.ac-lin { color: var(--color-gray-700); }
.ac-lrow.idle .ac-lin, .ac-lrow.idle .ac-lnum { color: var(--color-gray-400); }
.ac-lout { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ac-lline { color: var(--color-gray-900); font-weight: 500; word-break: break-word; }
.ac-live-empty { margin: 0; padding: var(--space-6); }

.ac-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full); font-size: var(--text-sm); font-weight: 600; white-space: nowrap; border: 1px solid transparent; }
.ac-chip .ac-dot { width: 8px; height: 8px; flex: none; background: currentColor; }
.ac-chip.ok { background: var(--color-success-light); color: var(--color-success-dark); border-color: var(--color-success-border); }
.ac-chip.fix { background: var(--color-brand-100); color: var(--color-brand-700); border-color: var(--color-brand-200); }
.ac-chip.warn { background: var(--color-warning-light); color: var(--color-warning-dark); border-color: var(--color-warning-border); }
.ac-chip.none { background: var(--color-danger-light); color: var(--color-danger-dark); border-color: var(--color-danger-border); }
.ac-chip.line { background: var(--color-white); color: var(--color-gray-600); border-color: var(--color-gray-200); }
.ac-chip.postal { color: var(--color-brand-800); border-color: var(--color-brand-200); background: linear-gradient(90deg, var(--color-white) 0%, var(--color-brand-100) 50%, var(--color-white) 100%); background-size: 200% 100%; animation: ac-shimmer 1.6s linear infinite; }
.ac-chip.postal .ac-dot { animation: ac-pulse 1.1s ease-in-out infinite; }

.ac-why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-4); padding: var(--space-5) var(--space-6); background: var(--color-white); border: 1px solid var(--color-gray-200); border-radius: var(--radius-lg); font-size: var(--text-sm); color: var(--color-gray-700); }
.ac-why-grid > div { display: flex; flex-direction: column; gap: 4px; }
.ac-why-grid b { color: var(--color-gray-900); font-size: var(--text-body); }

@keyframes ac-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.7); } }
@keyframes ac-shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
@keyframes ac-rise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

@media (max-width: 760px) {
    .ac-lrow { grid-template-columns: 40px minmax(0, 1fr); gap: 6px var(--space-3); }
    .ac-lout, .ac-lres { grid-column: 2; }
    .ac-lhead { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .ac-chip.postal, .ac-chip.postal .ac-dot, .ac-fixed-card { animation: none; }
    .ac-lrow { transition: none; }
}

/* ---- live status and live preview (2026-10-06, T9: the owner-approved previews, site colour tokens only) ---------- */
.ac-mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.ac-overall { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-5) var(--space-6); }
.ac-ot { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: baseline; justify-content: space-between; }
.ac-ot-h { font-size: var(--text-h3); font-weight: 700; color: var(--color-gray-900); }
.ac-ot-meta { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; font-size: var(--text-sm); color: var(--color-gray-700); }
.ac-livechip .ac-dot { animation: ac-pulse 1.1s ease-in-out infinite; }
.ac-doing { margin: 0; padding: 10px 14px; border-radius: var(--radius-md); background: var(--color-brand-50); border: 1px solid var(--color-brand-100); color: var(--color-gray-900); font-size: var(--text-body); }
.ac-overall .ac-counts { margin: 0; }

.ac-split { display: flex; flex-wrap: wrap; gap: var(--space-5); align-items: flex-start; }
/* "Working on now" and "Just finished" share the width equally; they stack on narrow screens (owner 2026-10-07). */
.ac-split .ac-main,
.ac-split .ac-side { flex: 1 1 420px; min-width: 0; }
.ac-idle, .ac-more { margin: var(--space-3) 0 0; font-size: var(--text-sm); }
.ac-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: var(--space-3); margin-top: var(--space-3); }
.ac-cards:empty { display: none; }
.ac-card { border: 1px solid var(--color-gray-200); border-radius: var(--radius-md); padding: 12px 14px; display: flex; flex-direction: column; gap: var(--space-2); background: var(--color-white); min-width: 0; animation: ac-rise .35s ease both; }
.ac-card-top { display: flex; justify-content: space-between; gap: var(--space-2); font-size: var(--text-xs); color: var(--color-gray-600); font-variant-numeric: tabular-nums; }
.ac-card-in { font-family: var(--font-mono); font-size: var(--text-code); color: var(--color-gray-700); word-break: break-word; }
.ac-stage { font-size: var(--text-xs); font-weight: 600; color: var(--color-brand-700); }
.ac-card.postal .ac-stage { color: var(--color-warning-dark); }
.ac-track { height: 8px; border-radius: var(--radius-full); background: var(--color-gray-100); overflow: hidden; }
.ac-fill { height: 100%; border-radius: var(--radius-full); background: linear-gradient(90deg, var(--color-brand-500), var(--color-brand-400), var(--color-brand-500)); background-size: 200% 100%; animation: ac-shimmer 1.2s linear infinite; transition: width .25s linear; }
.ac-card.postal .ac-fill { background: linear-gradient(90deg, var(--color-warning), var(--color-warning-accent), var(--color-warning)); background-size: 200% 100%; }
.ac-building { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-3); padding: var(--space-4); border: 1px dashed var(--color-gray-300); border-radius: var(--radius-md); font-weight: 600; color: var(--color-brand-700); }
.ac-building[hidden] { display: none; }
.ac-building .ac-track { flex: 1; }
.ac-building .ac-fill { width: 100%; }
.ac-feedlist { max-height: 560px; overflow: auto; margin-top: var(--space-2); }
.ac-feed { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: var(--space-3); align-items: start; padding: 10px 0; border-bottom: 1px solid var(--color-gray-100); }
.ac-feed.new { animation: ac-rise .4s ease both; }
.ac-pager { padding: var(--space-3) var(--space-6); display: flex; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; align-items: center; font-size: var(--text-sm); color: var(--color-gray-700); border-top: 1px solid var(--color-gray-100); }
.ac-pager > div { display: flex; gap: var(--space-2); }

.ac-sum { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-5) var(--space-6); }
.ac-sum-lead { margin: 0; color: var(--color-gray-700); max-width: 70ch; }
.ac-fixgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-3); }
.ac-fixkind { border: 1px solid var(--color-gray-100); border-radius: var(--radius-md); padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; background: var(--color-brand-50); }
.ac-fixkind-k { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-2); color: var(--color-gray-900); }
.ac-fixkind-k span { font-family: var(--font-mono); font-size: var(--text-h4); font-weight: 500; color: var(--color-brand-700); font-variant-numeric: tabular-nums; }
.ac-fixkind-ex { font-size: var(--text-sm); color: var(--color-gray-700); word-break: break-word; }
.ac-fixkind-ex small { color: var(--color-gray-600); font-family: var(--font-mono); }

.ac-pv { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-5) var(--space-6); }
.ac-pv-top { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: baseline; justify-content: space-between; }
.ac-pv-top strong { display: block; font-size: var(--text-h4); color: var(--color-gray-900); }
.ac-pv-top .ac-muted { font-size: var(--text-sm); }
.ac-pv-big { font-size: var(--text-h3); font-weight: 500; color: var(--color-brand-700); }
.ac-pv-legend { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.ac-b-wait { background: var(--color-gray-400); }
.ac-ticker { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; background: var(--color-brand-50); border: 1px solid var(--color-brand-100); border-radius: var(--radius-md); padding: 10px 14px; font-size: var(--text-sm); animation: ac-rise .4s ease both; }
.ac-ticker[hidden] { display: none; }
.ac-ticker b { color: var(--color-brand-700); }
.ac-pvrow { grid-template-columns: 48px minmax(0, 1fr) minmax(0, 1.15fr) 230px; align-items: center; }
.ac-queued { font-size: var(--text-sm); }
.ac-work { display: flex; flex-direction: column; gap: 6px; }
.ac-pop { animation: ac-pop .35s ease both; }
@keyframes ac-pop { 0% { opacity: 0; transform: scale(.85); } 100% { opacity: 1; transform: none; } }

@media (max-width: 760px) {
    .ac-feed { grid-template-columns: 40px minmax(0, 1fr); }
    .ac-feed .ac-lres { grid-column: 2; }
    .ac-pvrow { grid-template-columns: 40px minmax(0, 1fr); }
    .ac-overall, .ac-sum, .ac-pv { padding: var(--space-4); }
}
@media (prefers-reduced-motion: reduce) {
    .ac-card, .ac-feed.new, .ac-fill, .ac-livechip .ac-dot, .ac-ticker, .ac-pop { animation: none; }
    .ac-fill { transition: none; }
}

/* Confirm the columns before the free preview (BUG-168, approved preview 2026-10-07) */
.ac-colsum { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
.ac-colsum-text { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; flex: 1 1 420px; }
.ac-colsum-text h2 { margin: 0; }
.ac-colsum-act { display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-1); }
.ac-readas { display: flex; flex-direction: column; gap: var(--space-1); padding: var(--space-3) var(--space-4); border: 1px solid var(--color-gray-200); border-radius: var(--radius-md); background: var(--color-gray-50); }
.ac-readas-k { font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-gray-500); }
.ac-pv-wait { display: flex; flex-direction: column; gap: var(--space-2); border-style: dashed; }
