/* Owner Analytics Center. One gold hue (#d7b56d) with lighter/darker steps, neutral grays. */
.ac-shell{
  --ac-card:#30343b;--ac-field:#25282d;--ac-card-line:rgba(255,255,255,.08);--ac-ink:var(--text,#f7f7f5);--ac-muted:#9ea3aa;
  --ac-gold:#d7b56d;--ac-gold-ink:#e6c985;--ac-gold-soft:rgba(215,181,109,.14);--ac-gold-line:rgba(215,181,109,.45);
  --ac-s1:#d7b56d;--ac-s2:#f1e0b4;--ac-line:#c9ccd1;--ac-track:rgba(255,255,255,.07);--ac-grid:rgba(255,255,255,.07);
  --ac-age1:#f1e0b4;--ac-age2:#d7b56d;--ac-age3:#a8874a;--ac-age4:#6f5a31;
  --ac-bad-bg:rgba(214,118,118,.14);--ac-bad-ink:#e39a9a;--ac-bad-line:rgba(214,118,118,.38);
  --ac-warn-bg:rgba(201,164,90,.14);--ac-warn-ink:#dcc08a;--ac-warn-line:rgba(201,164,90,.4);
  --ac-hover:rgba(255,255,255,.045);
  display:grid;gap:14px;color:var(--ac-ink);font-variant-numeric:tabular-nums;min-width:0
}
body[data-theme="light"] .ac-shell{
  --ac-card:#fff;--ac-field:#f7f6f2;--ac-card-line:#e2ded5;--ac-muted:#6c7077;
  --ac-gold-ink:#8a6a2c;--ac-gold-soft:rgba(215,181,109,.16);--ac-gold-line:rgba(176,141,69,.5);
  --ac-s1:#c39f58;--ac-s2:#7d6435;--ac-line:#4b4f56;--ac-track:rgba(0,0,0,.06);--ac-grid:rgba(0,0,0,.07);
  --ac-age1:#ead7a6;--ac-age2:#d0ad64;--ac-age3:#a8874a;--ac-age4:#6f5a31;
  --ac-bad-bg:rgba(176,72,72,.09);--ac-bad-ink:#9b3f3f;--ac-bad-line:rgba(176,72,72,.3);
  --ac-warn-bg:rgba(160,120,40,.1);--ac-warn-ink:#80601f;--ac-warn-line:rgba(160,120,40,.32);
  --ac-hover:rgba(0,0,0,.035)
}
.modal-backdrop.ac-open .modal-body{background:linear-gradient(180deg,rgba(215,181,109,.05),transparent 240px)}

/* header */
.ac-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.ac-eyebrow{display:block;color:var(--ac-gold-ink);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ac-title h3{margin:4px 0 2px;font-size:24px;font-weight:750;letter-spacing:-.01em}
.ac-title p{margin:0;color:var(--ac-muted);font-size:12px}
.ac-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.ac-btn{height:34px;padding:0 14px;border:1px solid var(--ac-card-line);border-radius:9px;background:var(--ac-card);color:var(--ac-ink);font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.ac-btn:hover:not(:disabled){border-color:var(--ac-gold-line)}
.ac-btn:disabled{opacity:.55;cursor:default}
.ac-btn:focus-visible,.ac-periods button:focus-visible,.ac-link:focus-visible,.ac-shell select:focus-visible,.ac-shell input:focus-visible{outline:2px solid var(--ac-gold);outline-offset:2px}
.ac-primary{background:var(--ac-gold);border-color:var(--ac-gold);color:#1c1d20}
.ac-primary:hover:not(:disabled){background:#e3c682}
.ac-gear.on{background:var(--ac-gold-soft);border-color:var(--ac-gold-line);color:var(--ac-gold-ink)}

/* controls */
.ac-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px;border:1px solid var(--ac-card-line);border-radius:14px;background:var(--ac-card)}
.ac-periods{display:flex;flex-wrap:wrap;gap:3px;padding:3px;border-radius:10px;background:var(--ac-track)}
.ac-periods button{height:30px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ac-muted);font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.ac-periods button:hover{color:var(--ac-ink)}
.ac-periods button.on{background:var(--ac-gold);color:#1c1d20;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.ac-custom,.ac-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}
.ac-filters{margin-left:auto}
.ac-custom label,.ac-filters label{display:grid;gap:4px;min-width:0}
.ac-custom label>span,.ac-filters label>span{color:var(--ac-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ac-shell select,.ac-shell input[type=date]{height:34px;min-width:150px;max-width:240px;padding:0 10px;border:1px solid var(--ac-card-line);border-radius:9px;background:var(--ac-field);color:var(--ac-ink);font:inherit;font-size:12px}
.ac-shell input[type=date]{min-width:140px}
.ac-progress{height:2px;border-radius:2px;overflow:hidden;background:transparent;margin:-8px 0 -6px}
.ac-progress i{display:block;width:30%;height:100%;background:var(--ac-gold);animation:ac-slide 1s ease-in-out infinite}
@keyframes ac-slide{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}

/* customize panel */
.ac-customize{display:grid;gap:10px;padding:14px;border:1px solid var(--ac-gold-line);border-radius:14px;background:var(--ac-card)}
.ac-customize-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.ac-customize-head span{color:var(--ac-muted);font-size:12px}
.ac-customize ol{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;margin:0;padding:0;list-style:none}
.ac-customize li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 10px;border:1px solid var(--ac-card-line);border-radius:9px}
.ac-customize li.off{opacity:.55}
.ac-customize label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}
.ac-customize input{accent-color:#d7b56d}
.ac-customize li span{display:flex;gap:4px}
.ac-customize li button{width:28px;height:26px;border:1px solid var(--ac-card-line);border-radius:7px;background:transparent;color:var(--ac-ink);cursor:pointer}
.ac-customize li button:disabled{opacity:.3;cursor:default}
.ac-customize-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}

/* grid and cards */
.ac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;transition:opacity .15s}
.ac-grid.is-loading{opacity:.55;pointer-events:none}
.ac-card{min-width:0;padding:16px;border:1px solid var(--ac-card-line);border-radius:16px;background:var(--ac-card);box-shadow:0 1px 0 rgba(255,255,255,.03) inset}
.ac-wide{grid-column:1/-1}
.ac-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.ac-card-head h4{margin:0;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ac-muted)}
.ac-card h5{margin:16px 0 8px;font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--ac-muted)}
.ac-cur{padding:3px 8px;border-radius:99px;background:var(--ac-gold-soft);color:var(--ac-gold-ink);font-size:10px;font-weight:800;letter-spacing:.06em}
.ac-empty,.ac-allclear{margin:6px 0 0;color:var(--ac-muted);font-size:13px}
.ac-foot,.ac-note{margin:4px 2px 0;color:var(--ac-muted);font-size:11px}
.ac-state{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px}
.ac-error{border:1px solid var(--ac-bad-line);background:var(--ac-bad-bg);color:var(--ac-bad-ink)}
.ac-state p,.ac-customize .ac-error{margin:0;font-size:13px}
.ac-customize .ac-error{padding:8px 10px;border-radius:9px}
.ac-skeleton .ac-card{height:150px}
.ac-skeleton .ac-wide:nth-child(2){height:320px}
.ac-shimmer{height:100%;border-radius:10px;background:linear-gradient(90deg,var(--ac-track) 0%,var(--ac-gold-soft) 50%,var(--ac-track) 100%);background-size:200% 100%;animation:ac-shimmer 1.4s linear infinite}
@keyframes ac-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* KPI tiles */
.ac-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.ac-kpi{position:relative;display:grid;align-content:start;gap:4px;min-width:0;padding:12px 14px;border:1px solid var(--ac-card-line);border-radius:12px;background:var(--ac-track)}
.ac-kpi small{color:var(--ac-muted);font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.ac-kpi strong{font-size:22px;font-weight:750;line-height:1.15;letter-spacing:-.01em;overflow-wrap:anywhere}
.ac-kpi>span{color:var(--ac-muted);font-size:11px}
.ac-kpi.ac-hero{border-color:var(--ac-gold-line);background:linear-gradient(160deg,var(--ac-gold-soft),transparent 75%)}
.ac-kpi.ac-hero strong{color:var(--ac-gold-ink)}
/* SPEC114 Q.1: comparison lines stay stacked at every width; accent for up, neutral for down, glyph always */
.ac-kpi .ac-delta{display:block;color:var(--ac-muted);font-size:11px;line-height:1.3;overflow-wrap:anywhere}
.ac-kpi .ac-delta i{display:inline-block;width:1.1em;font-style:normal;font-size:9px;vertical-align:1px}
.ac-kpi .ac-delta.ac-up{color:var(--ac-gold-ink);font-weight:650}
.ac-kpi .ac-delta.ac-down{color:var(--ac-ink)}
.ac-kpi .ac-delta.ac-flat{opacity:.85}
.ac-meter{display:block;height:5px;margin:2px 0;border-radius:4px;background:var(--ac-track);overflow:hidden}
.ac-meter i{display:block;height:100%;border-radius:4px;background:var(--ac-gold)}

/* trend */
.ac-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:-4px 0 6px;color:var(--ac-muted);font-size:12px}
.ac-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--ac-ink)}
.ac-legend em{margin-left:auto;font-style:normal}
.ac-sw{display:inline-block;width:10px;height:10px;border-radius:3px}
.ac-sw.ac-s1{background:var(--ac-s1)}.ac-sw.ac-s2{background:var(--ac-s2)}
.ac-sw-line{width:16px;height:2px;border-radius:2px;background:var(--ac-line)}
.ac-trend{display:block;width:100%;height:auto;overflow:visible}
.ac-trend .ac-gridline{stroke:var(--ac-grid);stroke-width:1}
.ac-trend .ac-baseline{stroke:var(--ac-muted);stroke-opacity:.5;stroke-width:1}
.ac-trend .ac-axis{fill:var(--ac-muted);font-size:11px;font-family:inherit}
.ac-trend .ac-axis-name{font-weight:700;letter-spacing:.04em}
.ac-trend .ac-bar.ac-s1{fill:var(--ac-s1)}.ac-trend .ac-bar.ac-s2{fill:var(--ac-s2)}
.ac-trend .ac-line{fill:none;stroke:var(--ac-line);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ac-trend .ac-dot{fill:var(--ac-line);stroke:var(--ac-card);stroke-width:2}
.ac-trend .ac-hit{fill:transparent}
.ac-trend .ac-point:hover .ac-hit{fill:var(--ac-hover)}
.ac-trend .ac-point:hover .ac-dot{r:5}

/* ranked bar lists */
.ac-bars{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.ac-bar-top{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:baseline;gap:8px;font-size:13px}
.ac-rank{color:var(--ac-muted);font-size:11px;font-weight:700;text-align:right}
.ac-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ac-bar-top strong{font-weight:700}
.ac-bars .ac-track{margin:5px 0 3px 28px}
.ac-bars small{display:block;margin-left:28px;color:var(--ac-muted);font-size:11px}
.ac-track{height:8px;border-radius:4px;background:var(--ac-track);overflow:hidden}
.ac-track i{display:block;height:100%;min-width:2px;border-radius:4px;background:linear-gradient(90deg,#a8874a,#d7b56d)}
.ac-bars li:first-child .ac-track i{background:linear-gradient(90deg,#c39f58,#ecd08e)}

/* receivables */
.ac-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}
.ac-total small{color:var(--ac-muted);font-size:12px}
.ac-total strong{font-size:24px;font-weight:750;color:var(--ac-gold-ink)}
.ac-stack{display:flex;gap:2px;height:16px;border-radius:5px;background:var(--ac-track);overflow:hidden}
.ac-stack i{display:block;height:100%;min-width:3px}
.ac-age-current{background:var(--ac-age1)}.ac-age-days31To60{background:var(--ac-age2)}.ac-age-days61To90{background:var(--ac-age3)}.ac-age-over90{background:var(--ac-age4)}
.ac-aging{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.ac-aging>div{display:grid;gap:2px;min-width:0}
.ac-aging span{display:flex;align-items:center;gap:6px;color:var(--ac-muted);font-size:11px}
.ac-aging strong{font-size:14px}
.ac-aging small{color:var(--ac-muted);font-size:11px}

/* tables */
.ac-table-wrap{overflow-x:auto;border:1px solid var(--ac-card-line);border-radius:10px}
.ac-table{width:100%;border-collapse:collapse;font-size:12px}
.ac-table th{padding:8px 10px;border-bottom:1px solid var(--ac-card-line);color:var(--ac-muted);font-size:10px;font-weight:750;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}
.ac-table td{padding:8px 10px;border-bottom:1px solid var(--ac-card-line)}
.ac-table tr:last-child td{border-bottom:0}
.ac-table tbody tr:hover td{background:var(--ac-hover)}
.ac-table .num{text-align:right;white-space:nowrap}
.ac-ontime{display:grid;grid-template-columns:minmax(60px,120px) auto auto;align-items:center;gap:8px}
.ac-ontime small{color:var(--ac-muted)}
.ac-link{padding:0;border:0;background:none;color:var(--ac-gold-ink);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-decoration-color:var(--ac-gold-line);text-underline-offset:3px}
.ac-link:hover{text-decoration-color:currentColor}

/* production */
.ac-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ac-mini>div{padding:10px;border-radius:10px;background:var(--ac-track)}
.ac-mini strong{display:block;font-size:20px;font-weight:750}
.ac-mini small{color:var(--ac-muted);font-size:11px}
.ac-status-bars{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.ac-status-bars li{display:grid;grid-template-columns:minmax(90px,140px) minmax(0,1fr) 40px;align-items:center;gap:10px;font-size:12px}
.ac-status-bars strong{text-align:right}
.ac-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.ac-chips li{display:flex;gap:8px;padding:5px 10px;border:1px solid var(--ac-card-line);border-radius:99px;font-size:12px}
.ac-chips strong{color:var(--ac-gold-ink)}

/* problems */
.ac-badges{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.ac-badge{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--ac-card-line);border-radius:12px;background:var(--ac-track)}
.ac-badge strong{font-size:26px;font-weight:800;line-height:1.1}
.ac-badge span{font-size:12px;color:var(--ac-muted)}
.ac-badge.ac-ok strong{color:var(--ac-muted)}
.ac-badge.ac-bad{border-color:var(--ac-bad-line);background:var(--ac-bad-bg)}
.ac-badge.ac-bad strong,.ac-badge.ac-bad span{color:var(--ac-bad-ink)}
.ac-badge.ac-warn{border-color:var(--ac-warn-line);background:var(--ac-warn-bg)}
.ac-badge.ac-warn strong,.ac-badge.ac-warn span{color:var(--ac-warn-ink)}
.ac-plists{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.ac-plist ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.ac-plist li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:6px 8px;border-radius:8px;font-size:12px}
.ac-plist li:hover{background:var(--ac-hover)}
.ac-plist li span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--ac-muted)}
.ac-plist em{font-style:normal;color:var(--ac-muted);white-space:nowrap}
.ac-plist em.ac-late{color:var(--ac-bad-ink);font-weight:700}

/* SPEC114 Q.2: journal sections (delivery, stages, approvals, mail, clients, quality) */
.ac-q2-stats{margin-bottom:4px}
.ac-q2-stats.ac-q2-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ac-q2-stats .ac-meter{margin-top:6px}
.ac-q2-stats>div.ac-q2-bad{border:1px solid var(--ac-bad-line);background:var(--ac-bad-bg)}
.ac-q2-stats>div.ac-q2-bad strong{color:var(--ac-bad-ink)}
.ac-q2-stats>div.ac-q2-watch{border:1px solid var(--ac-warn-line);background:var(--ac-warn-bg)}
.ac-q2-stats>div.ac-q2-watch strong{color:var(--ac-warn-ink)}
.ac-q2-stats>div.ac-q2-good strong{color:var(--ac-gold-ink)}
.ac-tag{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:99px;background:var(--ac-gold-soft);color:var(--ac-gold-ink);font-size:10px;font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase;vertical-align:1px}
.ac-stages li{grid-template-columns:minmax(110px,180px) minmax(0,1fr) 56px;grid-template-rows:auto auto}
.ac-stages li small{grid-column:2/4;color:var(--ac-muted);font-size:11px}
.ac-stages li.ac-slowest .ac-track i{background:linear-gradient(90deg,#c39f58,#ecd08e)}
.ac-stages li.ac-slowest strong{color:var(--ac-gold-ink)}
.ac-table td small{color:var(--ac-muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.ac-q2-rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ac-q2-rate{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--ac-card-line);border-radius:12px;background:var(--ac-track)}
.ac-q2-rate small{color:var(--ac-muted);font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.ac-q2-rate strong{font-size:26px;font-weight:800;line-height:1.1}
.ac-q2-rate span{color:var(--ac-muted);font-size:11px}
.ac-q2-rate.ac-q2-watch{border-color:var(--ac-warn-line);background:var(--ac-warn-bg)}
.ac-q2-rate.ac-q2-watch strong{color:var(--ac-warn-ink)}
.ac-plist em[title]{max-width:40%;overflow:hidden;text-overflow:ellipsis}

/* SPEC114 Q.3: top tabs, the one-screen Overview (tiles, trend, needs attention, small blocks), focus after a tile click */
.ac-tabs{display:flex;gap:2px;margin:-2px 0 -4px;border-bottom:1px solid var(--ac-card-line);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ac-tabs::-webkit-scrollbar{display:none}
.ac-tabs button{flex:0 0 auto;height:38px;margin-bottom:-1px;padding:0 14px;border:0;border-bottom:2px solid transparent;background:none;color:var(--ac-muted);font:inherit;font-size:13px;font-weight:650;white-space:nowrap;cursor:pointer}
.ac-tabs button:hover{color:var(--ac-ink)}
.ac-tabs button.on{color:var(--ac-gold-ink);border-bottom-color:var(--ac-gold)}
.ac-tabs button:focus-visible{outline:2px solid var(--ac-gold);outline-offset:-2px;border-radius:6px}
.ac-ov{display:grid;gap:8px;transition:opacity .15s}
.ac-ov.is-loading{opacity:.55;pointer-events:none}
.ac-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.ac-tile{position:relative;display:grid;align-content:start;gap:4px;min-width:0;padding:10px 14px;border:1px solid var(--ac-card-line);border-radius:14px;background:var(--ac-card);color:var(--ac-ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}
.ac-tile:hover{border-color:var(--ac-gold-line);transform:translateY(-1px)}
.ac-tile:focus-visible{outline:2px solid var(--ac-gold);outline-offset:2px}
.ac-tile small{color:var(--ac-muted);font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.ac-tile strong{font-size:26px;font-weight:750;line-height:1.1;letter-spacing:-.015em;overflow-wrap:anywhere}
.ac-tile>span{color:var(--ac-muted);font-size:11px}
.ac-tile.ac-hero{border-color:var(--ac-gold-line);background:linear-gradient(160deg,var(--ac-gold-soft),var(--ac-card) 75%)}
.ac-tile.ac-hero strong{color:var(--ac-gold-ink)}
.ac-tile.ac-watch strong{color:var(--ac-warn-ink)}
.ac-tile .ac-delta{display:block;color:var(--ac-muted);font-size:11px;line-height:1.3;overflow-wrap:anywhere}
.ac-tile .ac-delta i{display:inline-block;width:1.1em;font-style:normal;font-size:9px;vertical-align:1px}
.ac-tile .ac-delta.ac-up{color:var(--ac-gold-ink);font-weight:650}
.ac-tile .ac-delta.ac-down{color:var(--ac-ink)}
.ac-tile .ac-delta.ac-flat{opacity:.85}
.ac-ov-mid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px;align-items:stretch}
.ac-ov-mid .ac-card{display:flex;flex-direction:column;min-height:0;padding:14px 16px}
.ac-ov-trend .ac-legend{margin-top:0}
.ac-more{font-size:11px;font-weight:700;text-decoration:none;color:var(--ac-gold-ink)}
.ac-more:hover{text-decoration:underline}
.ac-ov-attention .ac-more:last-child{margin-top:auto;padding-top:8px;align-self:flex-start}
.ac-chips-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.ac-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--ac-card-line);border-radius:99px;color:var(--ac-muted);font-size:11px}
.ac-chip strong{font-size:13px;color:var(--ac-ink)}
.ac-chip.ac-bad{border-color:var(--ac-bad-line);background:var(--ac-bad-bg);color:var(--ac-bad-ink)}
.ac-chip.ac-bad strong{color:var(--ac-bad-ink)}
.ac-chip.ac-warn{border-color:var(--ac-warn-line);background:var(--ac-warn-bg);color:var(--ac-warn-ink)}
.ac-chip.ac-warn strong{color:var(--ac-warn-ink)}
.ac-ov-list li{padding:5px 8px}
.ac-smalls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ac-small{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;min-width:0;padding:10px 36px 10px 14px;border:1px solid var(--ac-card-line);border-radius:14px;background:var(--ac-card);color:var(--ac-ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}
.ac-small:hover{border-color:var(--ac-gold-line);transform:translateY(-1px)}
.ac-small:focus-visible{outline:2px solid var(--ac-gold);outline-offset:2px}
.ac-small strong{grid-row:1/3;font-size:28px;font-weight:800;line-height:1;color:var(--ac-muted)}
.ac-small span{font-size:12px;font-weight:700}
.ac-small small{color:var(--ac-muted);font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ac-small i{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--ac-muted);font-style:normal;font-size:14px}
.ac-small.ac-bad{border-color:var(--ac-bad-line);background:var(--ac-bad-bg)}
.ac-small.ac-bad strong,.ac-small.ac-bad span{color:var(--ac-bad-ink)}
.ac-small.ac-warn{border-color:var(--ac-warn-line);background:var(--ac-warn-bg)}
.ac-small.ac-warn strong,.ac-small.ac-warn span{color:var(--ac-warn-ink)}
.ac-card.ac-focus{border-color:var(--ac-gold-line);box-shadow:0 0 0 3px var(--ac-gold-soft)}

/* AO.4: SVG activity rings. The active palette comes from the shared champagne tokens in both themes;
   labels and percentages carry the meaning independently of the colour. No animation or chart library. */
.ac-rings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0}
.ac-ring-card{display:flex;flex-direction:column;padding:14px;gap:8px;border-color:var(--champ-line-rest);background:linear-gradient(150deg,var(--champ-sel-bg),var(--ac-card) 58%)}
.ac-ring-card .ac-card-head{margin:0;min-height:32px;align-items:flex-start}
.ac-ring-card h4{color:var(--champ-text);font-size:13px;letter-spacing:0;text-transform:none}
.ac-ring-body{display:grid;gap:10px}
.ac-ring-picture{position:relative;width:min(100%,180px);margin:0 auto;aspect-ratio:1}
.ac-ring-svg{display:block;width:100%;height:auto;overflow:visible}
.ac-ring-track{stroke:var(--champ-sel-bg)}
.ac-ring-segment{stroke:var(--ac-ring-color);stroke-opacity:var(--ac-ring-opacity,1);stroke-linecap:butt}
.ac-ring-tone-0{--ac-ring-color:var(--champ);--ac-ring-opacity:1}
.ac-ring-tone-1{--ac-ring-color:var(--champ-deep);--ac-ring-opacity:1}
.ac-ring-tone-2{--ac-ring-color:var(--champ-ink);--ac-ring-opacity:1}
.ac-ring-tone-3{--ac-ring-color:var(--champ);--ac-ring-opacity:.6}
.ac-ring-tone-4{--ac-ring-color:var(--champ-deep);--ac-ring-opacity:.45}
.ac-ring-center{position:absolute;inset:25%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;pointer-events:none}
.ac-ring-center strong{color:var(--champ-text);font-size:clamp(20px,1.8vw,28px);font-weight:750;line-height:1.1;letter-spacing:-.025em;overflow-wrap:anywhere;max-width:120%}
.ac-ring-center small{color:var(--ac-muted);font-size:10px;line-height:1.25;overflow-wrap:anywhere}
.ac-ring-legend{display:grid;gap:7px;padding:0;margin:0;list-style:none;font-size:11px}
.ac-ring-legend li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:2px 7px;align-items:center}
.ac-ring-swatch{display:block;width:8px;height:8px;border-radius:50%;background:var(--ac-ring-color);opacity:var(--ac-ring-opacity,1)}
.ac-ring-label{overflow-wrap:anywhere;line-height:1.3}
.ac-ring-legend strong{font-weight:650;overflow-wrap:anywhere;text-align:right;max-width:120px}
.ac-ring-legend small{grid-column:3;font-size:10px;text-align:right;color:var(--ac-muted)}
.ac-ring-basis,.ac-ring-note,.ac-ring-empty{margin:0;color:var(--ac-muted);font-size:10px;line-height:1.45;overflow-wrap:anywhere}
.ac-ring-basis{margin-top:auto;padding-top:4px}
.ac-ring-note{color:var(--champ-text)}
.ac-ring-empty{text-align:center;padding:0 8px 6px;font-size:12px}
@media(max-width:1100px){.ac-rings{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-ring-body{grid-template-columns:minmax(120px,160px) minmax(0,1fr);align-items:center}}
@media(max-width:650px){.ac-rings{grid-template-columns:minmax(0,1fr)}.ac-ring-body{grid-template-columns:minmax(110px,140px) minmax(0,1fr)}.ac-ring-card{padding:12px}.ac-ring-center strong{font-size:22px}.ac-ring-legend strong{max-width:100px}}
@media(max-width:360px){.ac-ring-body{grid-template-columns:minmax(0,1fr)}.ac-ring-picture{max-width:150px}}

@media(max-width:1100px){.ac-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ac-badges{grid-template-columns:repeat(3,minmax(0,1fr))}.ac-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.ac-smalls{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-ov-mid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:820px){.ac-grid{grid-template-columns:minmax(0,1fr)}.ac-kpis,.ac-badges,.ac-mini,.ac-aging{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-tiles,.ac-smalls{grid-template-columns:minmax(0,1fr)}.ac-tabs{margin-left:-4px;margin-right:-4px;padding:0 4px}.ac-filters{margin-left:0}.ac-shell select,.ac-shell input[type=date]{min-width:0;max-width:none;width:100%}.ac-q2-rates{grid-template-columns:minmax(0,1fr)}.ac-stages li{grid-template-columns:minmax(80px,120px) minmax(0,1fr) 50px}}
@media(max-width:480px){.ac-q2-stats{grid-template-columns:minmax(0,1fr)}.ac-plist em[title]{max-width:100%}}
@media(prefers-reduced-motion:reduce){.ac-progress i,.ac-shimmer{animation:none}.ac-grid{transition:none}}

.ac-warn-text{color:var(--ac-warn-ink)}

/* SPEC114 Q.4: the month-end summary panel — readable text sections, saved files list; one column on a phone */
.ac-btn.on{background:var(--ac-gold-soft);border-color:var(--ac-gold-line);color:var(--ac-gold-ink)}
.ac-summary{display:grid;gap:12px}
.ac-summary-head{align-items:flex-start}
.ac-summary-head h4{margin:0}
.ac-summary-sub{margin:2px 0 0;color:var(--ac-muted);font-size:12px}
.ac-summary-actions{display:flex;gap:8px;flex-wrap:wrap}
.ac-summary-title{margin:0;font-size:13px;font-weight:750;letter-spacing:.01em}
.ac-summary-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}
.ac-summary-section{min-width:0;padding:10px 12px;border:1px solid var(--ac-card-line);border-radius:12px;background:var(--ac-field)}
.ac-summary-section h5{margin:0 0 6px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ac-gold-ink)}
.ac-summary-section p{margin:0 0 5px;font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}
.ac-summary-section p:last-child{margin-bottom:0}
.ac-summary-section[data-summary="headline"],.ac-summary-section[data-summary="actions"]{grid-column:1/-1}
.ac-summary-section[data-summary="actions"]{border-color:var(--ac-gold-line)}
.ac-summary-basis{color:var(--ac-muted);font-size:11px}
.ac-summary-basis summary{cursor:pointer;font-weight:700}
.ac-summary-shimmer{height:120px}
.ac-summary-empty{padding:18px 0}
.ac-summary-saved h5{margin:0 0 6px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ac-muted)}
.ac-summary-saved ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.ac-summary-saved li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:10px;padding:7px 8px;border-radius:8px;font-size:12px}
.ac-summary-saved li:hover{background:var(--ac-hover)}
.ac-summary-saved li.ac-summary-new{background:var(--ac-gold-soft)}
.ac-summary-saved li span{font-weight:700}
.ac-summary-saved li small{color:var(--ac-muted);white-space:nowrap}
.ac-summary-saved li em{display:flex;gap:10px;font-style:normal}
.ac-summary-saved li em a{color:var(--ac-gold-ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--ac-gold-line);text-underline-offset:3px}
@media(max-width:820px){.ac-summary-sections{grid-template-columns:minmax(0,1fr)}.ac-summary-saved li{grid-template-columns:minmax(0,1fr);gap:3px}.ac-summary-saved li small{white-space:normal}.ac-summary-head{flex-direction:column}}
/* SPEC114 Q.5: clinic versions inside the summary panel — a chooser, the clinic's own text, save / send with the mailbox hint */
.ac-summary-clinic{display:grid;gap:10px;padding:12px;border:1px solid var(--ac-gold-line);border-radius:12px;background:var(--ac-gold-soft)}
.ac-summary-clinic>h5{margin:0;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ac-gold-ink)}
.ac-summary-clinic>.ac-foot{margin:0}
.ac-summary-clinic-pick{display:grid;gap:4px;max-width:360px}
.ac-summary-clinic-pick span{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ac-muted)}
.ac-summary-clinic-pick select{min-height:34px;padding:4px 10px;border:1px solid var(--ac-card-line);border-radius:9px;background:var(--ac-field);font:inherit}
.ac-summary-clinic-sections{grid-template-columns:repeat(2,minmax(0,1fr))}
.ac-summary-clinic-sections .ac-summary-section{background:var(--ac-card)}
.ac-summary-clinic-sections .ac-summary-section[data-clinic-section="headline"],.ac-summary-clinic-sections .ac-summary-section[data-clinic-section="next"]{grid-column:1/-1}
.ac-summary-clinic-hint{margin:0}
.ac-summary-result{margin:0;font-size:12px;font-weight:700}
.ac-summary-result[data-result="sent"],.ac-summary-result[data-result="saved"]{color:var(--ac-gold-ink)}
@media(max-width:820px){.ac-summary-clinic-sections{grid-template-columns:minmax(0,1fr)}.ac-summary-clinic-pick{max-width:none}}

/* BB1: live AI allowance, with visible text alongside bounded progress meters. */
.ac-ai-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:12px 0}
.ac-ai-metrics>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.ac-ai-metrics h5{margin:0}.ac-ai-metrics .ac-meter{width:100%;height:8px}
.ac-ai-warning{background:#fff0b8;color:#604700;padding:8px 12px;border:1px solid #c6a141;border-radius:6px}
.ac-ai-daily{display:block;width:100%;max-height:160px}.ac-ai-daily rect{fill:var(--champ-deep,#c9a45a)}
.ac-ai-dates{display:flex;justify-content:space-between}
@media(max-width:560px){.ac-ai-metrics{grid-template-columns:1fr}}
