/* Independent-account workspace. Reuses the Dashboard's fonts, color tokens and buttons. */
.mirror-top-controls { display:flex; align-items:center; gap:20px; font-size:12px; white-space:nowrap; }
.mirror-mode-indicator { color:var(--t2); padding:10px 13px; border:1px solid var(--glass-border); border-radius:10px; }
.mirror-mode-indicator b { margin-left:12px; color:var(--t1); font-weight:550; }
.mirror-top-controls .mirror-observer { padding:10px 12px; border-radius:9px; background:rgba(255,255,255,.025); gap:9px; }
.mirror-running-count { padding-left:18px; border-left:1px solid var(--glass-border); color:var(--t2); }
.mirror-running-count b { color:var(--t1); margin-left:5px; font:500 12px var(--mono); }
.mirror-running-count em { color:var(--red-l); font-style:normal; margin-left:8px; }
.btn.mirror-control-trigger { background:var(--accent-grad); color:var(--accent-ink); border:1px solid rgba(160,255,229,.28); border-radius:18px; height:40px; padding:0 19px; font-weight:700; box-shadow:0 3px 14px rgba(54,169,144,.1),inset 0 1px rgba(230,255,250,.26); }
.btn.mirror-control-trigger:hover { filter:brightness(1.1); }
.mirror-accounts { padding:0 26px 28px; }
.mirror-viewbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 12px; }
.mirror-viewbar .range-tabs { width:auto; padding-bottom:0; flex-shrink:0; }
.mirror-view-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.mirror-view-actions .btn { min-width:0; height:28px; padding:4px 10px; border-radius:9px; gap:5px; font-size:12px; font-weight:500; line-height:1.4; white-space:nowrap; box-shadow:none; }
.mirror-view-actions .btn svg { width:13px; height:13px; }
.mirror-page-intro { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid var(--glass-border); }
.mirror-page-intro h2 { margin:0 0 4px; font-size:14px; line-height:1.4; font-weight:600; }
.mirror-page-intro h2 span { font-weight:500; }
.mirror-page-intro p { margin:0; color:var(--t3); font-size:11px; line-height:1.5; }
.mirror-text-button { display:flex; align-items:center; gap:8px; color:var(--accent-l); background:transparent; border:0; padding:8px 0; white-space:nowrap; font:500 12px var(--sans); cursor:pointer; }
.mirror-text-button svg { width:16px; height:16px; }
.mirror-account-group { margin:14px 0 16px; }
.mirror-group-toggle { display:flex; align-items:center; gap:8px; background:transparent; border:0; padding:0 0 8px; color:var(--accent-l); font:600 13px var(--sans); cursor:pointer; }
.mirror-group-caret { display:grid; place-items:center; color:#0b2420; background:var(--accent); width:13px; height:13px; border-radius:50%; font-size:12px; line-height:1; }
.mirror-account-table-wrap,.mirror-control-table-wrap { border:1px solid rgba(255,255,255,.08); border-radius:10px; overflow:auto; background:rgba(255,255,255,.015); }
.mirror-account-table,.mirror-control-table { width:100%; border-collapse:collapse; font-size:13px; }
.mirror-account-table th,.mirror-control-table th { text-align:left; padding:12px 14px; font-size:11px; color:var(--t3); font-weight:500; border-bottom:1px solid var(--glass-border); background:rgba(255,255,255,.015); white-space:nowrap; }
.mirror-account-table-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.mirror-account-table-wrap:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.mirror-account-table { min-width:750px; font-size:12px; line-height:1.4; }
.mirror-account-table[data-mode="live"] { min-width:940px; }
.mirror-account-table th { padding:8px 12px; }
.mirror-account-table td { padding:8px 12px; border-bottom:1px solid var(--glass-border); vertical-align:middle; white-space:nowrap; }
.mirror-account-table tbody tr:last-child td,.mirror-control-table tbody tr:last-child td { border-bottom:0; }
.mirror-account-table tbody tr:hover { background:rgba(255,255,255,.02); }
.mirror-account-table small { display:block; margin-top:3px; color:var(--t3); font-size:10px; line-height:1.4; }
.mirror-account-name { display:flex; align-items:center; gap:8px; padding:0; color:var(--t1); background:transparent; border:0; font:500 12px var(--sans); cursor:pointer; text-align:left; }
.mirror-account-table .mirror-state,.mirror-account-table .mirror-snapshot { font-size:11px; }
.mirror-account-table .mirror-row-actions { gap:4px; }
.mirror-account-table .mirror-icon-button { min-width:28px; min-height:28px; padding:4px; }
.mirror-account-table .mirror-icon-button svg { width:16px; height:16px; }
.mirror-account-name:hover strong { color:var(--accent-l); }
.mirror-account-name strong { font-weight:550; }
.mirror-account-address { letter-spacing:0; }
.mirror-state { display:inline-flex; align-items:center; gap:7px; color:var(--t2); white-space:nowrap; font-size:12px; }
.mirror-state i { flex:none; width:6px; height:6px; border-radius:50%; background:#747b87; box-shadow:0 0 0 3px rgba(141,149,166,.10); }
.mirror-state.good i { background:var(--green); box-shadow:0 0 0 3px rgba(63,207,142,.09); }
.mirror-state.warning i { background:var(--amber); box-shadow:none; }
.mirror-state.bad i { background:var(--red); }
.mirror-state.good { color:#d4eee6; }
.mirror-snapshot { color:var(--t3); font:11px var(--mono); white-space:nowrap; }
.mirror-snapshot.warning,.mirror-warning-text { color:var(--amber) !important; }
.mirror-icon-button { display:inline-grid; place-items:center; min-width:32px; min-height:32px; padding:5px; border:0; border-radius:8px; background:transparent; color:var(--t2); cursor:pointer; font:16px var(--sans); }
.mirror-icon-button svg { width:20px; height:20px; }
.mirror-icon-button:hover { background:rgba(255,255,255,.06); color:var(--t1); }
.mirror-icon-button:focus-visible, .mirror-text-button:focus-visible,.mirror-group-toggle:focus-visible,.mirror-account-name:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.mirror-page-bottom { margin-top:12px; color:var(--t3); font-size:10px; line-height:1.6; }
.mirror-empty { padding:35px 15px !important; text-align:center !important; color:var(--t3); }
.mirror-empty-card { margin:25px 0; padding:55px 25px; text-align:center; border:1px dashed rgba(var(--accent-rgb),.2); border-radius:14px; }
.mirror-empty-card>svg { width:34px; height:34px; color:var(--accent); }
.mirror-empty-card h3 { font-size:17px; font-weight:550; margin:16px 0 10px; }
.mirror-empty-card p { color:var(--t3); font-size:12px; margin-bottom:24px; }
.mirror-legacy-notice { margin:10px 26px 0; color:var(--amber); font-size:11px; }
.mirror-modal { padding:0; width:630px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 48px); color:var(--t1); background:#101214; border:1px solid #303a3c; border-radius:14px; box-shadow:0 28px 100px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.035); font-family:var(--sans); overflow:auto; }
.mirror-modal::backdrop { background:rgba(0,0,0,.24); }
.mirror-modal-wide { width:730px; }
.mirror-modal-inner { padding:22px 20px 20px; }
.mirror-modal-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:23px; }
.mirror-modal-head h2 { font-size:22px; letter-spacing:.015em; margin:0 0 7px; font-weight:620; }
.mirror-modal-head p { font-size:14px; color:#aeb5c3; margin:0; }
.mirror-modal-head .mirror-icon-button { margin:-5px -5px 0 0; }
.mirror-control-tabs { margin-bottom:12px; width:auto; padding-bottom:0; }
.mirror-control-tabs button { white-space:nowrap; }
.mirror-control-tabs button:disabled { opacity:.55; cursor:default; }
.mirror-control-tabs button:focus-visible,.mirror-viewbar .range-tabs button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.mirror-control-help { color:#acb3c1; font-size:13px; line-height:1.8; margin:13px 0 12px; }
.mirror-list-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:12px 0 8px; }
.mirror-list-heading h3 { margin:0; font-size:16px; font-weight:550; }
.mirror-list-heading>span { color:#adb6c6; font-size:12px; }
.mirror-control-table-wrap { border-color:#303840; border-radius:8px; }
.mirror-control-table th { font-size:11px; padding:11px 9px; color:#acb4c4; }
.mirror-control-table td { border-bottom:1px solid #252c32; padding:14px 9px; font-size:12px; white-space:nowrap; }
.mirror-control-table td b { font-weight:550; margin-left:7px; }
.mirror-control-table tr.unavailable { color:#838c9d; }
.mirror-control-table tr.unavailable b { font-weight:400; }
.mirror-control-table .mirror-check { width:44px; padding-left:13px; padding-right:10px; }
.mirror-check input,.mirror-check-label input { accent-color:var(--accent); width:18px; height:18px; margin:0; vertical-align:middle; cursor:pointer; color-scheme:dark; }
.mirror-check input:disabled,.mirror-check-label input:disabled { opacity:.45; cursor:not-allowed; }
.mirror-control-footnote { color:#b2bac9; font-size:12px; line-height:1.8; margin:14px 0 24px; }
.mirror-modal-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:18px; margin-top:20px; border-top:1px solid #2b3238; }
.mirror-modal-footer small { color:#a3adbd; font-size:12px; line-height:1.7; max-width:53%; }
.mirror-modal-footer>div { display:flex; gap:12px; }
.mirror-modal-footer .btn { min-height:42px; padding:10px 19px; font-size:13px; border-radius:10px; white-space:nowrap; }
.mirror-modal-footer .btn:disabled { opacity:1; background:#343b45; border:1px solid #454d58; color:#8d96a6; box-shadow:inset 0 1px rgba(255,255,255,.04); cursor:not-allowed; }
.mirror-secondary { background:#1a2024; }
.btn.mirror-danger-button { background:#cf5055; color:#fff; border-color:#e56d73; }
.btn.mirror-danger-button:hover:not(:disabled) { background:#e25c61; }
.mirror-stop-summary { display:flex; justify-content:space-around; gap:16px; border:1px solid var(--glass-border); border-radius:9px; padding:16px 12px; margin:16px 0; color:var(--t2); font-size:12px; }
.mirror-stop-summary b { color:var(--t1); font:600 21px var(--mono); margin-right:5px; }
.mirror-message { border:1px solid rgba(var(--accent-rgb),.18); background:rgba(var(--accent-rgb),.04); border-radius:9px; padding:12px; margin:14px 0; color:var(--t2); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.mirror-message.bad { color:#ffb2b2; border-color:rgba(255,92,92,.2); background:rgba(255,92,92,.05); }
.mirror-message.warning { color:var(--amber); border-color:rgba(231,197,111,.2); background:rgba(231,197,111,.05); }
.mirror-message button { border:0; background:transparent; color:var(--accent-l); cursor:pointer; font:inherit; text-decoration:underline; margin-left:10px; }
.mirror-form { display:grid; gap:17px; }
.mirror-form label { display:grid; gap:8px; color:#b9c1cf; font-size:13px; }
.mirror-form input:not([type="checkbox"]) { width:100%; border:1px solid #333b42; background:#0c0f12; color:var(--t1); padding:12px; font:13px var(--mono); border-radius:9px; }
.mirror-form input:focus { outline:2px solid rgba(var(--accent-rgb),.6); outline-offset:1px; }
.mirror-form .mirror-form-note { color:var(--t3); line-height:1.8; font-size:12px; margin:0; }
.mirror-form .mirror-modal-footer { margin-top:2px; }
.mirror-check-label,.mirror-form label.mirror-check-label { display:flex; align-items:center; gap:10px; font-size:13px; }
.mirror-detail-money { display:flex; flex-wrap:wrap; gap:28px; border-bottom:1px solid var(--glass-border); padding-bottom:22px; margin-bottom:24px; }
.mirror-detail-money>div { display:grid; gap:9px; }
.mirror-detail-money small { color:var(--t3); font-size:12px; }
.mirror-detail-money strong { font:600 23px var(--mono); }
.mirror-detail-money span { font-size:12px; color:var(--t2); }
.mirror-detail-grid { display:grid; grid-template-columns:130px minmax(0,1fr); gap:19px 15px; font-size:13px; }
.mirror-detail-grid dt { color:var(--t3); }
.mirror-detail-grid dd { margin:0; overflow-wrap:anywhere; }
.mirror-detail-grid small { display:block; margin-top:7px; color:var(--t3); font-size:11px; }
.mirror-detail-actions { display:flex; gap:9px; flex-wrap:wrap; margin-top:28px; }
.mirror-delete-link { color:var(--red-l); }
@media(min-width:1100px) { .mirror-modal { transform:translateX(85px); } }
@media(max-width:1200px) { .mirror-top-controls { gap:12px; }.mirror-running-count { display:none; } }
@media(max-width:860px) {
  .mirror-top-controls { flex-wrap:wrap; justify-content:flex-end; gap:8px; }
  .mirror-mode-indicator { padding:5px 8px; font-size:10px; }.mirror-mode-indicator b { margin-left:5px; }
  .mirror-top-controls .mirror-observer { font-size:10px; padding:5px; gap:6px; }
  .btn.mirror-control-trigger { height:36px; padding:0 14px; font-size:12px; border-radius:15px; }
  .mirror-accounts { padding:0 16px 24px; }
  .mirror-page-intro { align-items:flex-start; flex-direction:column; gap:7px; }.mirror-page-intro h2 span { display:inline; }
  .mirror-modal { width:calc(100vw - 24px); max-width:calc(100vw - 24px); max-height:calc(100dvh - 28px); border-radius:13px; }
  .mirror-modal-inner { padding:19px 15px 16px; }.mirror-modal-head { margin-bottom:18px; }.mirror-modal-head h2 { font-size:20px; }.mirror-modal-head p { font-size:12px; }
  .mirror-control-table { min-width:540px; }.mirror-control-help { font-size:12px; }
  .mirror-modal-footer { flex-wrap:wrap; padding-top:14px; margin-top:18px; }.mirror-modal-footer small { max-width:100%; flex-basis:100%; }.mirror-modal-footer>div { justify-content:flex-end; width:100%; }.mirror-modal-footer .btn { padding:10px 16px; }
  .mirror-stop-summary { gap:7px; padding:12px 7px; }.mirror-stop-summary b { font-size:19px; }
  .mirror-detail-grid { grid-template-columns:95px minmax(0,1fr); gap:17px 12px; font-size:12px; }
  .mirror-detail-money { gap:22px; }.mirror-detail-money strong { font-size:20px; }
  .mirror-legacy-notice { margin:10px 16px; }
}
@media(prefers-reduced-motion:reduce) { .mirror-modal * { animation:none !important; transition:none !important; } }
/* QA pass: restore the approved dialog's readable density and control affordances. */
.main:has(.mirror-accounts) .title { color:var(--t1); }
.mirror-modal::backdrop { background:rgba(0,0,0,.08); }
.mirror-control-table td { font-size:13.5px; padding-top:13px; padding-bottom:13px; }
.mirror-control-table .mirror-state { font-size:13px; }
.mirror-control-table th { font-size:12px; }
.mirror-control-help,.mirror-control-footnote,.mirror-modal-footer small { font-size:13px; }
.mirror-modal-footer .btn-accent,.mirror-modal-footer .mirror-danger-button { min-width:154px; }
.mirror-modal-footer .mirror-secondary { min-width:90px; }
.mirror-check input { appearance:none; background:#0e1317; border:1px solid #697786; border-radius:4px; width:20px; height:20px; display:grid; place-items:center; box-shadow:inset 0 1px 5px rgba(255,255,255,.035); }
.mirror-check input:checked { background:var(--accent); border-color:var(--accent); }
.mirror-check input:checked::after { content:"✓"; color:#09231e; font-size:15px; font-weight:700; line-height:1; }
.mirror-check input:indeterminate { background:var(--accent); border-color:var(--accent); }
.mirror-check input:indeterminate::after { content:"−"; color:#09231e; }
.mirror-check input:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(min-width:1100px) { .mirror-modal { transform:translate(100px,24px); } }
@media(max-width:860px) { .mirror-control-table { min-width:590px; }.mirror-modal-footer small { font-size:12px; } }
@media(max-width:600px) {
  .mirror-control-table { min-width:0; display:block; }
  .mirror-control-table thead { display:none; }
  .mirror-control-table tbody { display:block; }
  .mirror-control-table tr { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:8px 9px; padding:14px 11px; border-bottom:1px solid #252c32; align-items:center; }
  .mirror-control-table tr:last-child { border-bottom:0; }
  .mirror-control-table td,.mirror-control-table .mirror-check { padding:0; border:0; width:auto; min-width:0; font-size:12px; }
  .mirror-control-table td b { margin-left:5px; }
  .mirror-control-table .mirror-check { grid-column:1; grid-row:1 / 3; }
  .mirror-control-table td:nth-child(2) { grid-column:2; grid-row:1; }
  .mirror-control-table td:nth-child(3) { grid-column:3; grid-row:1; text-align:right; }
  .mirror-control-table td:nth-child(4) { grid-column:2; grid-row:2; }
  .mirror-control-table td:nth-child(5) { grid-column:3; grid-row:2; text-align:right; }
  .mirror-control-table .mirror-state { font-size:11px; white-space:normal; text-align:left; }
  .mirror-control-table-wrap.is-stop tr { grid-template-columns:minmax(0,1fr) auto; }
  .mirror-control-table-wrap.is-stop td:nth-child(1) { grid-column:1; grid-row:1; }
  .mirror-control-table-wrap.is-stop td:nth-child(2) { grid-column:2; grid-row:1; text-align:right; }
  .mirror-control-table-wrap.is-stop td:nth-child(3) { grid-column:1; grid-row:2; text-align:left; }
  .mirror-control-table-wrap.is-stop td:nth-child(4) { grid-column:2; grid-row:2; text-align:right; }
  .mirror-control-footnote { margin-bottom:16px; }
  .mirror-stop-summary { margin:12px 0; }
}
@media(max-width:600px) {
  .mobile-nav { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .main { padding-bottom:calc(124px + env(safe-area-inset-bottom)); }
}
/* Approved compact actions: size to their content, without wide empty button ends. */
.topbar-right .btn.mirror-control-trigger { min-width:0 !important; width:auto; padding:0 12px; height:38px; gap:7px; border-radius:14px; }
.mirror-modal-footer .btn { min-width:0; min-height:40px; padding:9px 14px; }
.mirror-modal-footer .btn-accent,.mirror-modal-footer .mirror-danger-button,.mirror-modal-footer .mirror-secondary { min-width:0; }
@media(max-width:860px) { .topbar-right .btn.mirror-control-trigger { height:36px; padding:0 11px; } }

.mirror-row-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.mirror-action-feedback { margin:12px 0 0; color:var(--t2); font-size:12px; line-height:1.7; }
.mirror-action-feedback.bad,.mirror-action-failures { color:var(--red-l); }
.mirror-action-failures { margin:10px 0 0; padding-left:18px; font-size:12px; line-height:1.8; }

/* Control rows distinguish current execution from selectable additions. */
.mirror-control-table .mirror-state.good { color:var(--green); }
.mirror-control-table .mirror-state.warning { color:var(--amber); }
.mirror-control-table .mirror-state.unavailable { color:var(--t3); }
.mirror-check input.already-following:disabled { opacity:1; cursor:default; background:var(--green); border-color:var(--green); }
@media(max-width:600px) { .mirror-list-heading { flex-wrap:wrap; gap:7px 12px; } }

.mirror-mode-help { margin: 6px 0 12px; min-height: 18px; font-size: 12px; color: var(--t3); }
.mirror-target-copy{display:flex;align-items:center;gap:6px;margin-top:4px;padding:0;background:none;border:0;color:#91a4ae;font-size:11px;cursor:pointer}.mirror-target-copy:hover{color:var(--text)}.mirror-target-copy .pos-icon{width:12px;height:12px}.mirror-target-copy:focus-visible{outline:2px solid #48ddb0;outline-offset:2px}
