/* v0.8 design tokens: shared by legacy and modern views. */
:root, html[data-theme="dark"] {
  color-scheme: dark;
  --bg:#0d1726;--surface:#17283b;--surface-soft:#1c3047;--surface-raised:#233b54;
  --line:#37536e;--text:#edf5ff;--muted:#aec2d6;--link:#a0d0ff;
  --accent:#2c83c9;--accent-hover:#3998e5;--on-accent:#fff;
  --field:#0d2032;--field-border:#5d7b98;--success:#a0e9c1;--warning:#ffcf91;
  --danger:#ffb2a8;--shadow:0 8px 32px rgba(0,0,0,.15);
  --focus:#8ac7ff;
}
html[data-theme="light"] {
  color-scheme:light;
  --bg:#f4f7f7;--surface:#fff;--surface-soft:#eef4f3;--surface-raised:#e5efed;
  --line:#d3dfe0;--text:#25343c;--muted:#5c6f78;--link:#137469;
  --accent:#237d73;--accent-hover:#17665e;--on-accent:#fff;
  --field:#fff;--field-border:#a7b9bd;--success:#16735a;--warning:#92571a;
  --danger:#b33f3f;--shadow:0 6px 24px rgba(32,52,62,.065);
  --focus:#287c87;
}
*, *::before, *::after {box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:15px/1.55 system-ui,-apple-system,Segoe UI,Arial,sans-serif}
h1,h2,h3{line-height:1.2;letter-spacing:-.026em}h1{font-size:clamp(26px,3vw,39px)}
a{color:var(--link)}a:hover{text-decoration-color:currentColor}
button,.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);padding:11px 16px;border:1px solid transparent;border-radius:9px;cursor:pointer;text-decoration:none;font:inherit;font-weight:650;line-height:1.25}
button:hover,.button:hover{background:var(--accent-hover);color:var(--on-accent);text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}
.button-secondary,.btn-subtle{color:var(--text);background:var(--surface-soft);border:1px solid var(--line)}
.button-secondary:hover,.btn-subtle:hover{color:var(--text);background:var(--surface-raised)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
input,select,textarea{min-height:38px;background:var(--field);color:var(--text);border:1px solid var(--field-border);padding:9px 11px;border-radius:8px;max-width:100%;font:inherit}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}
input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--accent)}
label{display:inline-flex;flex-direction:column;margin:6px 10px 6px 0;gap:5px}
small{color:var(--muted)}
main{max-width:1280px;margin:0 auto;padding:29px 24px 70px}
section{background:var(--surface);padding:20px;margin:14px 0;border:1px solid var(--line);border-radius:12px}
header.app-header{background:var(--surface);padding:0;border-bottom:1px solid var(--line);box-shadow:0 2px 12px rgba(0,0,0,.035)}
.app-header-inner{min-height:72px;display:flex;align-items:center;gap:17px;padding:12px max(22px,calc((100vw - 1440px)/2 + 28px))}
.app-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap;color:var(--text);font-size:16px;font-weight:800;letter-spacing:-.035em}
.app-brand:hover{color:var(--text)}.brand-mark{display:inline-grid;place-items:center;width:35px;height:35px;background:var(--accent);color:var(--on-accent);border-radius:11px;font-size:23px}
.brand-text span{color:var(--muted);font-weight:600}.header-divider{height:29px;width:1px;background:var(--line)}.header-organization{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.app-header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.theme-control{display:inline-flex;flex-direction:row;align-items:center;gap:8px;padding:5px 8px;margin:0;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);font-size:12px;color:var(--muted)}
.theme-control select{border:0;padding:5px 24px 5px 3px;background:transparent;min-height:28px;color:var(--text);font-size:13px;font-weight:650;max-width:115px;cursor:pointer}.theme-control-icon{font-size:17px;color:var(--accent)}.user-name{font-size:12px;color:var(--muted);max-width:145px;overflow:hidden;text-overflow:ellipsis}.logout-form{margin:0}.btn-subtle{font-size:13px;padding:8px 12px}
.org-navigation{display:flex;gap:5px;align-items:center;padding:0 max(22px,calc((100vw - 1440px)/2 + 28px));overflow-x:auto;white-space:nowrap;scrollbar-width:thin;border-top:1px solid var(--line)}
.org-navigation a{font-size:13px;display:block;flex-shrink:0;padding:14px 13px 12px;border-bottom:3px solid transparent;color:var(--muted);text-decoration:none;font-weight:650}
.org-navigation a:hover{color:var(--text);background:var(--surface-soft)}.org-navigation a[aria-current=page]{color:var(--link);border-bottom-color:var(--accent)}
.skip-link{position:absolute;left:12px;top:-100px;background:var(--surface);padding:10px;z-index:10}.skip-link:focus{top:10px}
.page-shell{max-width:1350px;margin:0 auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;flex-wrap:wrap;margin:12px 0 25px}
.eyebrow{margin:0 0 10px;text-transform:uppercase;font-size:11px;letter-spacing:.13em;font-weight:800;color:var(--muted)}.eyebrow a{color:var(--muted)}
.page-heading h1{margin:0 0 9px}.page-description{margin:0;color:var(--muted);font-size:14px;max-width:640px}.page-heading-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.page-heading-actions form{margin:0}
.metric-grid{display:grid;gap:14px;margin:20px 0 24px}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.metric-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 21px;box-shadow:var(--shadow)}
.metric-card small{display:block;font-size:12px;margin:7px 0 3px}.metric-card strong{font-size:clamp(25px,2.5vw,35px);letter-spacing:-.04em;display:block;font-variant-numeric:tabular-nums;font-weight:750;overflow-wrap:anywhere}
.metric-card>a{display:inline-block;margin-top:9px;font-size:12px;text-decoration:none;font-weight:650}.metric-icon{display:grid;place-items:center;width:35px;height:35px;background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;color:var(--accent)}.metric-foot{display:block;margin-top:8px;font-size:12px;color:var(--muted)}
.ui-panel{margin:18px 0;padding:23px 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.panel-heading h2{font-size:19px;margin:0 0 5px}.panel-heading p{font-size:12px;margin:0;color:var(--muted)}.text-action{font-size:13px;font-weight:650;text-decoration:none}
.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(0,1fr);gap:17px}.dashboard-columns .ui-panel{margin:0;min-width:0}
.task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.task-link{display:grid;grid-template-columns:36px minmax(0,1fr) 15px;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--text);background:var(--surface-soft)}
.task-link:hover{background:var(--surface-raised);color:var(--text);text-decoration:none}.task-link strong,.task-link small{display:block}.task-link strong{font-size:13px}.task-link small{font-size:11px;line-height:1.35;margin-top:4px}.task-symbol{display:grid;place-items:center;color:var(--accent);background:var(--surface);border-radius:8px;width:36px;height:36px;font-size:20px}
.activity-list{display:grid;gap:0}.activity-item{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line);padding:14px 3px;text-decoration:none;color:var(--text)}.activity-item:last-child{border-bottom:0}.activity-item:hover{color:var(--link)}.activity-item>span:nth-child(2){flex:1;min-width:0}.activity-item strong,.activity-item small{display:block}.activity-item strong{font-size:13px}.activity-item small{font-size:11px;margin-top:2px}.activity-dot{height:9px;width:9px;background:var(--accent);border-radius:50%;flex-shrink:0}.empty-state{padding:30px 10px;color:var(--muted);font-size:13px;text-align:center}
.status-tag{display:inline-flex;align-items:center;padding:4px 9px;border-radius:100px;font-size:11px;font-weight:700;white-space:nowrap}.status-neutral{color:var(--muted);background:var(--surface-soft);border:1px solid var(--line)}.status-ok{color:var(--success);background:var(--surface-soft);border:1px solid var(--line)}.status-warning{color:var(--warning);background:var(--surface-soft);border:1px solid var(--line)}
.data-scroll,.table-wrap{overflow-x:auto;max-width:100%}.modern-table{border-collapse:collapse;width:100%;min-width:680px;font-size:13px}.modern-table th,.modern-table td{padding:13px 11px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.modern-table th{font-size:11px;letter-spacing:.055em;text-transform:uppercase;font-weight:750;color:var(--muted);background:var(--surface-soft)}.modern-table tbody tr:hover{background:var(--surface-soft)}
.modern-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.table-primary-link{text-decoration:none;font-weight:700}.cell-secondary{font-size:11px;color:var(--muted)}.amount-due{color:var(--warning);font-weight:750}.amount-paid{color:var(--success)}.empty-table{text-align:center!important;color:var(--muted);padding:32px!important}
.search-toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:16px 0 18px}.search-toolbar input{width:310px;max-width:100%}.search-toolbar button{padding:10px 14px}
.inline-warning,.inline-error{border-radius:9px;padding:12px 14px;font-size:13px;border:1px solid var(--line);color:var(--warning);background:var(--surface-soft)}.inline-error{color:var(--danger)}.page-footnote{font-size:12px;color:var(--muted)}
.compact-form{display:flex;gap:15px;flex-wrap:wrap;align-items:flex-end}.compact-form label{margin:0;min-width:180px}.compact-form button{margin-bottom:0}.organization-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:15px}.organization-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-decoration:none;color:var(--text);border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:24px;box-shadow:var(--shadow)}.organization-card:hover{background:var(--surface-soft);color:var(--text)}.organization-glyph{display:grid;place-items:center;background:var(--surface-soft);color:var(--accent);border-radius:10px;width:42px;height:42px;font-size:27px}.organization-card-name{font-size:19px;font-weight:750}.organization-card-arrow{font-size:13px;color:var(--link);font-weight:650;margin-top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.error,.errorlist,.v04-error{color:var(--danger)}.warning,.v04-warning{color:var(--warning)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stats section{margin:0}.stats h2{margin:8px 0}#status{padding:16px;background:var(--surface-soft);margin:10px 0;border-radius:8px}
/* Older processing and donor pages also inherit the theme tokens. */
table{border-collapse:collapse;width:100%}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--surface-soft)}td form{margin:6px 0 14px}td label{margin:4px 8px 8px 0}td input{max-width:180px}
.compact-batch table{min-width:980px;table-layout:auto}.compact-batch th,.compact-batch td{padding:8px 10px;vertical-align:middle}.compact-batch input,.compact-batch select{box-sizing:border-box;margin:0;max-width:none;width:100%;min-width:0}.compact-batch td:nth-child(3){min-width:140px}.compact-batch td:nth-child(4){min-width:100px}.compact-batch td:nth-child(5),.compact-batch td:nth-child(6){min-width:115px}.compact-batch td:nth-child(7){min-width:150px}.compact-batch details form{margin:8px 0}.compact-batch details input{margin-bottom:5px}.compact-batch .warning{font-size:12px}.batch-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:16px 0}.batch-generator{margin:15px 0;padding:12px;border:1px solid var(--line);border-radius:8px}.batch-generator summary,.compact-batch summary{cursor:pointer}
.disposition-radios{display:flex;gap:7px;flex-wrap:wrap}.disposition-radios label{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-size:12px}.compact-batch .disposition-radios input{width:auto;margin:0}
.v04-stats{margin:16px 0}.v04-substats{font-size:14px;color:var(--muted)}.v04-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px}.v04-heading h2{margin:0}.v04-smallbtn{padding:7px 10px;font-size:13px;background:var(--surface-raised)}.v04-group{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:10px 0;overflow:hidden}.v04-group-title{cursor:pointer;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--surface-soft)}.v04-group-title strong{font-size:16px}.v04-group-title span{font-size:13px;color:var(--muted)}.v04-scroll{overflow-x:auto}.v04-table{width:100%;border-collapse:collapse;min-width:990px}.v04-table th{text-align:left;color:var(--muted);font-weight:600;font-size:13px}.v04-table th,.v04-table td{border-bottom:1px solid var(--line);padding:9px 10px;vertical-align:middle}.v04-table td:first-child{min-width:110px}.v04-table td:nth-child(5){min-width:330px}.v04-table td:nth-child(6){min-width:165px}.v04-table input.v04-phone{min-width:125px;width:150px}.v04-table input.v04-amount{width:96px;min-width:96px}.v04-table select{min-width:105px;width:auto}.v04-table .v04-radio{display:flex;align-items:center;flex-wrap:nowrap;gap:9px}.v04-radio label{display:inline-flex;flex-direction:row;align-items:center;margin:0;gap:4px;white-space:nowrap;font-size:12px}.v04-radio input{width:auto;min-width:0;margin:0}.v04-warning{color:var(--warning)!important;font-size:12px}.v04-error{color:var(--danger);font-size:12px;max-width:190px}.v04-invalid{outline:1px solid var(--danger);outline-offset:-1px}.v04-alert{border:1px solid var(--danger);background:var(--surface-soft);border-radius:9px;padding:13px;margin:15px 0}.v04-resolve summary{cursor:pointer;font-size:12px}.v04-resolve form{margin-top:8px;display:flex;gap:4px;flex-wrap:wrap}.v04-resolve form button{font-size:12px;padding:6px}.v04-resolve form input{max-width:185px;min-width:0}.v04-resolve small{display:block;margin:8px 0}.registration-field{display:flex;max-width:520px;margin:12px 0}.public-registration{max-width:620px;margin:16px auto}.public-registration input{width:100%}.v04-break{overflow-wrap:anywhere}textarea[readonly]{width:100%;min-width:240px;background:var(--field);border:1px solid var(--field-border);border-radius:6px;color:var(--text);padding:10px}
/* Light mode for legacy templates with hard-coded dark styles. Scoped overrides are intentional. */
html[data-theme=light] :is(.bill,.ops06,.sms,.smq,.smsmg){--line:#d3dfe0!important;--edge:#d3dfe0!important;--muted:#5c6f78!important;color:var(--text)!important}
html[data-theme=light] :is(.bill .bill-metric,.bill .bill-panel,.ops06 .ops06-metric,.ops06 .ops06-panel,.sms .tile,.sms .panel,.smq .metric,.smq .panel,.smsmg .tile,.smsmg .panel,.smsmg .permissions,.smsmg form label.check){background:var(--surface)!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme=light] :is(.bill th,.ops06 th,.sms th,.smq th,.smsmg th){color:var(--muted)!important}
html[data-theme=light] :is(.bill th,.bill td,.ops06 th,.ops06 td,.sms th,.sms td,.smq th,.smq td,.smsmg th,.smsmg td){border-bottom-color:var(--line)!important}
html[data-theme=light] :is(.bill .bill-nav a,.ops06 .ops06-nav a,.smsmg .nav a,.smsmg form label.check:hover){color:var(--text)!important;background:var(--surface-soft)!important;border-color:var(--line)!important}
html[data-theme=light] :is(.smsmg input[type=text],.smsmg select,.smsmg textarea){color:var(--text)!important;background:var(--field)!important;border-color:var(--field-border)!important}
html[data-theme=light] :is(.bill .paid,.ops06 .good,.smsmg .good){color:var(--success)!important}
html[data-theme=light] :is(.bill .due,.bill .warning,.ops06 .warn,.smq .warning,.smsmg .warning){color:var(--warning)!important}
html[data-theme=light] :is(.ops06 .bad,.smsmg .bad,.smsmg .errors){color:var(--danger)!important}
html[data-theme=light] :is(.ops06 a,.smsmg a,.sms a,.smq a,.bill a){color:var(--link)}
html[data-theme=light] :is(.bill a.button,.bill a.button:hover,.ops06 a.button,.smsmg a.button){color:var(--on-accent)!important}
html[data-theme=light] :is(.smsmg .permissions-help,.smsmg .sub){color:var(--muted)!important}
html[data-theme=light] .smsmg button{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--on-accent)!important}
html[data-theme=light] .smsmg form label.check input[type=checkbox]{accent-color:var(--accent)!important}
html[data-theme=light] .registration-sms-consent{border-color:var(--line)!important}
.public-registration input[type=checkbox]{width:auto;min-height:0}.registration-sms-consent label.registration-field{display:flex;flex-direction:row;align-items:flex-start;gap:10px}
@media(max-width:1100px){.dashboard-columns{grid-template-columns:1fr}.metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){main{padding:22px 16px 55px}.app-header-inner{padding:12px 17px;flex-wrap:wrap;row-gap:9px}.header-organization{order:3;flex-basis:100%;max-width:100%;padding-left:44px}.header-divider{display:none}.app-header-actions{gap:7px}.user-name,.theme-label{display:none}.org-navigation{padding:0 14px}.org-navigation a{padding:11px 11px 9px}.metric-grid.two{grid-template-columns:1fr}.page-heading{gap:14px}.ui-panel{padding:18px}.task-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}}
@media(max-width:460px){.metric-grid.four{grid-template-columns:1fr}.brand-text{font-size:14px}.theme-control{padding:2px 4px}.theme-control-icon{display:none}.theme-control select{font-size:12px}.logout-form button{padding:7px 9px}.search-toolbar input{width:100%}.search-toolbar button{flex:1}}
@media(prefers-reduced-motion:no-preference){button,.button,.task-link,.organization-card{transition:background-color .13s ease,border-color .13s ease}}
/* v0.8 light-mode billing secondary button contrast fix */
html[data-theme="light"] .bill a.button.button-secondary {
  color: var(--text) !important;
  background: var(--surface-soft) !important;
  border-color: var(--line) !important;
}
html[data-theme="light"] .bill a.button.button-secondary:hover {
  color: var(--text) !important;
  background: var(--surface-raised) !important;
}

/* v0.8.1 operation screens — scoped to avoid touching finance/SMS logic. */
.operations-page{max-width:1260px}
.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.operations-page .ui-panel{min-width:0}
.operations-page .form-grid{display:grid;gap:15px 20px;max-width:800px}
.operations-page .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.operations-page .form-field{min-width:0;display:flex;flex-direction:column;gap:6px}
.operations-page .form-field.span-two,.operations-page .detail-grid>.span-two{grid-column:1/-1}
.operations-page .form-field>label{display:block;margin:0;color:var(--text);font-size:13px;font-weight:700}
.operations-page .form-field input,.operations-page .form-field select,.operations-page .form-field textarea{display:block;width:100%;max-width:100%;margin:0}
.operations-page .form-field textarea{min-height:80px;resize:vertical}
.operations-page .form-field small,.operations-page .form-field .helptext{font-size:12px;color:var(--muted)}
.operations-page .form-field .errorlist{font-size:12px;padding-left:20px;margin:1px 0 5px}
.operations-page .record-form{max-width:900px}.operations-page .record-form .form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}
.operations-page .form-divider{font-size:15px;margin:24px 0 14px;padding-top:18px;border-top:1px solid var(--line)}
.operations-page .form-subsection{margin:23px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.operations-page .form-subsection h3{font-size:16px;margin:0 0 8px}.operations-page .form-subsection .form-grid{margin:15px 0}
.operations-page .detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 24px;margin:0}
.operations-page .detail-grid>div{min-width:0}.operations-page .detail-grid dt{font-size:12px;color:var(--muted);margin-bottom:4px}
.operations-page .detail-grid dd{font-size:14px;margin:0;overflow-wrap:anywhere;font-weight:600}
.operations-page .mono-wrap{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px!important;overflow-wrap:anywhere}
.operations-page .form-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(255px,.8fr);gap:18px;align-items:start}
.operations-page .form-layout .ui-panel{margin:0}
.operations-page .sidebar-panel{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;padding:23px;position:sticky;top:20px}
.operations-page .sidebar-panel h2{font-size:18px;margin:0 0 12px}.operations-page .sidebar-panel p{color:var(--muted);font-size:13px;line-height:1.6}
.operations-page .button-danger{color:#fff;background:#a93434;border-color:#d15555}
.operations-page .button-danger:hover{background:#872929;color:#fff}
.operations-page .statement-identity{margin-bottom:18px}.operations-page .statement-identity h2{margin:0 0 8px;font-size:19px}.operations-page .statement-identity p{margin:4px 0;color:var(--muted)}
@media(max-width:900px){.operations-page .form-layout{grid-template-columns:1fr}.operations-page .sidebar-panel{position:static}.metric-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.operations-page .form-grid.two,.operations-page .detail-grid,.metric-grid.three{grid-template-columns:1fr}.operations-page .form-field.span-two{grid-column:auto}.operations-page .form-actions>*{flex:1}.operations-page .page-heading-actions{width:100%}}
/* The review page is deliberately self-contained; these more specific rules make
   its existing dark-only inline CSS adapt to the shared light design tokens. */
html[data-theme=light] .v05-page{--v05-bg:var(--surface);--v05-line:var(--line);--v05-mute:var(--muted);--v05-blue:var(--link);--v05-red:var(--danger);--v05-gold:var(--warning);color:var(--text)}
html[data-theme=light] .v05-page :is(.v05-metric,.v05-group,.v05-finalize,.v05-savebar,.v05-group-bulk){background:var(--surface)!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme=light] .v05-page :is(.v05-group-summary,.v05-tools button,.v05-tag,.v05-chip,.v05-checklist,.v05-samples){background:var(--surface-soft)!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme=light] .v05-page :is(.v05-tools input,.v05-field input,.v05-field select,.v05-action input,.v05-options){background:var(--field)!important;border-color:var(--field-border)!important;color:var(--text)!important}
html[data-theme=light] .v05-page :is(.v05-crumbs a,.v05-action summary,.v05-checklist a){color:var(--link)!important}
html[data-theme=light] .v05-page :is(.v05-kicker,.v05-field-label){color:var(--link)!important}
html[data-theme=light] .v05-page :is(.v05-group-name,.v05-group-total,.v05-donor-name,.v05-cardno,.v05-savebar strong,.v05-checklist.is-clear li,.v05-summary-line strong){color:var(--text)!important}
html[data-theme=light] .v05-page :is(.v05-metric-label,.v05-hero p,.v05-card-help,.v05-action small,.v05-savebar small,.v05-section-title p,.v05-finalize p,.v05-footer-note,.v05-empty,.v05-tools .v05-small){color:var(--muted)!important}
html[data-theme=light] .v05-page :is(.v05-grid-head,.v05-field-label){color:var(--muted)!important}
html[data-theme=light] .v05-page :is(.v05-card,.v05-group-bulk,.v05-checklist li){border-color:var(--line)!important}
html[data-theme=light] .v05-page .v05-option span{color:var(--text)!important}
html[data-theme=light] .v05-page .v05-option input:checked+span{background:var(--accent)!important;color:#fff!important;box-shadow:none}
html[data-theme=light] .v05-page .v05-option input:disabled+span{opacity:.55}
html[data-theme=light] .v05-page .v05-savebar{box-shadow:0 7px 28px #162d3a25!important}
html[data-theme=light] .v05-page .v05-group.is-attention{border-left-color:var(--warning)!important}
html[data-theme=light] .v05-page .v05-chip.is-warn{background:#fff1df!important;color:#8a4c12!important}
html[data-theme=light] .v05-page .v05-chip.is-attention{background:#fff1ef!important;color:#a03532!important}
html[data-theme=light] .v05-page .v05-card.is-invalid{background:#fdf2f1!important;border-left-color:var(--danger)!important}
html[data-theme=light] .v05-page .v05-card.is-review:not(.is-invalid){background:#fffaf0!important}
html[data-theme=light] .v05-page :is(.v05-card-help.is-alert,.v05-notice){color:var(--danger)!important}
html[data-theme=light] .v05-page :is(.v05-card-help.is-review,.v05-dupe){color:var(--warning)!important}
html[data-theme=light] .v05-page .v05-notice{background:#fff3f0!important;border-color:#d77d75!important}
html[data-theme=light] .v05-page .v05-notice.is-success{background:#effaf4!important;border-color:#53a27e!important;color:var(--success)!important}
html[data-theme=light] .v05-page .v05-summary-line span{background:var(--surface-soft)!important;border-color:var(--line)!important;color:var(--muted)!important}
html[data-theme=light] .v05-page .v05-primary:disabled{background:var(--surface-raised)!important;border-color:var(--line)!important;color:var(--muted)!important}
@media print{
  body:has(.donor-statement){background:white!important;color:black!important;font-size:12px}
  body:has(.donor-statement) :is(.app-header,.org-navigation,.no-print){display:none!important}
  body:has(.donor-statement) main{padding:0!important;margin:0!important;max-width:none!important}
  body:has(.donor-statement) :is(.ui-panel,.metric-card){background:#fff!important;color:#000!important;border:1px solid #c5c5c5!important;box-shadow:none!important;break-inside:avoid}
  body:has(.donor-statement) :is(.page-heading,.metric-grid,.page-description,.page-footnote){color:#111!important}
  body:has(.donor-statement) :is(th,td){color:#111!important;background:#fff!important;border-bottom:1px solid #ccc!important}
  body:has(.donor-statement) a{color:#111!important;text-decoration:none!important}
}
html[data-theme=light] .v05-page .v05-group-bulk-actions{background:var(--surface-soft)!important;border-color:var(--line)!important}
html[data-theme=light] .v05-page .v05-bulk-button{color:var(--text)!important}
html[data-theme=light] .v05-page .v05-bulk-button:hover:not(:disabled){background:var(--surface-raised)!important;color:var(--text)!important}
html[data-theme=light] .v05-page .v05-bulk-button[aria-pressed=true]{background:var(--accent)!important;color:#fff!important}
html[data-theme=light] .v05-page .v05-bulk-button[data-group-set=excluded][aria-pressed=true]{background:#954346!important;color:#fff!important}
html[data-theme=light] .v05-page :is(.v05-group-bulk-title strong,.v05-group-bulk-status){color:var(--text)!important}
html[data-theme=light] .v05-page .v05-group-bulk-title small{color:var(--muted)!important}
html[data-theme=light] .v05-page .v05-finalize .v05-checklist:not(.is-clear) li{color:var(--warning)!important}
html[data-theme=light] .v05-page .v05-checklist li::before{color:var(--warning)!important}
html[data-theme=light] .v05-page .v05-checklist.is-clear li::before{color:var(--success)!important}

/* v0.8.1: readable sandbox simulation disclosure in light mode */
html[data-theme="light"] .v05-page .v05-samples summary {
    color: var(--link) !important;
}

/* v0.8.2 administrative screens — use global light/dark tokens. */
.admin82{max-width:1340px}
.admin82 .metric-card{min-width:0}
.admin82 .metric-grid.admin82-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin82 .metric-grid.admin82-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin82 .metric-grid.admin82-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin82 .ui-panel{min-width:0}
.admin82 .modern-table{font-size:13px;min-width:690px}
.admin82 .modern-table td{overflow-wrap:anywhere}
.admin82 .modern-table td.num{overflow-wrap:normal}
.admin82-break{overflow-wrap:anywhere;max-width:370px}
.admin82-inline-muted{color:var(--muted);font-size:12px;margin-left:9px}
.admin82-meta{color:var(--muted);font-size:12px;line-height:1.65}
.admin82-info{padding:14px 17px;margin:0 0 20px;background:var(--surface-soft);border:1px solid var(--line);border-radius:11px;font-size:13px;line-height:1.6;color:var(--muted)}
.admin82-info strong{color:var(--text)}
.admin82-info-warn{border-left:3px solid var(--warning)}
.admin82-compact-note{margin:6px 0 22px}
.admin82 .metric-grid .metric-card strong{font-size:clamp(25px,2.4vw,34px)}
.admin82-value-text{display:block;margin:18px 0 8px;min-height:30px}
.admin82-value-text .status-tag{font-size:12px}
.admin82-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin82-check-grid>div{padding:15px;border:1px solid var(--line);background:var(--surface-soft);border-radius:10px}
.admin82-check-grid small,.admin82-check-grid strong{display:block}
.admin82-check-grid small{font-size:12px;margin-bottom:7px}
.admin82-check-grid strong{font-size:15px}
.admin82-draft summary{color:var(--link);cursor:pointer;font-weight:700;white-space:nowrap}
.admin82-draft[open]{min-width:260px}
.admin82-draft-content{padding:13px 0 5px;min-width:min(390px,65vw)}
.admin82-draft-content p{margin:4px 0 12px}
.admin82-draft-content label{display:block;font-size:12px;font-weight:700;margin:5px 0}
.admin82-draft-content textarea{display:block;min-width:240px;max-width:100%;width:100%;min-height:105px;resize:vertical;overflow-wrap:anywhere}
.admin82-draft-content small{display:block;margin-top:8px}
.admin82-messaging .admin82-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;max-width:850px}
.admin82-messaging .admin82-form-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.admin82-messaging .admin82-form-field>label{margin:0;font-size:13px;font-weight:700}
.admin82-messaging .admin82-form-field input,.admin82-messaging .admin82-form-field select,.admin82-messaging .admin82-form-field textarea{width:100%;max-width:100%;display:block;margin:0}
.admin82-messaging .admin82-form-field textarea{min-height:88px;resize:vertical}
.admin82-messaging .admin82-span-all{grid-column:1/-1}
.admin82-messaging .admin82-form-field small{font-size:12px;line-height:1.55}
.admin82-messaging .admin82-errors{color:var(--danger);font-size:12px}
.admin82-messaging .admin82-errors .errorlist{margin:4px 0 7px;padding-left:19px}
.admin82-messaging .admin82-consent-confirmations{display:grid;gap:10px;max-width:850px;margin:20px 0 14px}
.admin82-messaging .admin82-consent-confirmations[hidden]{display:none!important}
.admin82-messaging .admin82-consent-check{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);width:100%;cursor:pointer;margin:0;line-height:1.5;font-weight:600;font-size:13px}
.admin82-messaging .admin82-consent-check:hover{background:var(--surface-raised)}
.admin82-messaging .admin82-consent-check:focus-within{outline:2px solid var(--focus);outline-offset:2px}
.admin82-messaging .admin82-consent-check input[type=checkbox]{appearance:auto;width:19px;height:19px;min-height:0;display:block;margin:2px 0 0;accent-color:var(--accent);cursor:pointer}
.admin82-messaging .admin82-consent-check>span{min-width:0;overflow-wrap:anywhere}
.admin82-messaging .admin82-form-actions{margin-top:17px}
.admin82-messaging .admin82-filter{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.admin82-messaging .admin82-filter label{display:block;margin:0;color:var(--muted);font-size:12px;font-weight:650}
.admin82-messaging .admin82-filter input{width:195px;min-width:0}
.admin82-messaging .admin82-filter button,.admin82-messaging .admin82-filter .button{padding:10px 13px}
.admin82-success{color:var(--success);background:var(--surface-soft);border:1px solid var(--line);padding:12px;border-radius:9px;margin:14px 0;font-size:13px}
@media(max-width:1050px){.admin82 .metric-grid.admin82-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.admin82 .metric-grid.admin82-metric-grid,.admin82 .metric-grid.admin82-three{grid-template-columns:repeat(2,minmax(0,1fr))}.admin82-check-grid{grid-template-columns:1fr}}
@media(max-width:600px){.admin82 .metric-grid.admin82-metric-grid,.admin82 .metric-grid.admin82-three,.admin82 .metric-grid.admin82-four,.admin82-messaging .admin82-form-grid{grid-template-columns:1fr}.admin82-messaging .admin82-span-all{grid-column:auto}.admin82 .page-heading-actions{width:100%}.admin82 .page-heading-actions .button{flex:1 1 auto}.admin82-draft-content{min-width:260px}}
