/* Administrative roles: public survey typography and print retain their own rules. */
/* Shared, textual score classification; percentages retain their own semantics. */
:root{--score-critical:#943D46;--score-critical-bg:#FAF0F1;--score-improvement:#8B480B;--score-improvement-bg:#FFF3E6;--score-good:#655300;--score-good-bg:#FFF9DC;--score-excellent:#28623E;--score-excellent-bg:#EAF5EE}
.score-band{display:inline-flex;align-items:center;gap:6px;font-size:12px!important;font-weight:600;line-height:1.5;letter-spacing:0;border-radius:6px;padding:4px 8px;max-width:100%;overflow-wrap:anywhere;color:var(--muted);background:var(--bg)}
.score-band::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.score-critical{color:var(--score-critical)!important;background:var(--score-critical-bg)}
.score-improvement{color:var(--score-improvement)!important;background:var(--score-improvement-bg)}
.score-good{color:var(--score-good)!important;background:var(--score-good-bg)}
.score-excellent{color:var(--score-excellent)!important;background:var(--score-excellent-bg)}
.score-legend{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.dashboard-score-legend{margin-bottom:24px}
.metric>.score-band{margin-bottom:8px}
.client-card-stats .score-band{margin-top:6px}
.bar-value .score-band{font-size:12px!important;justify-content:center;margin-top:6px}
.admin-ui .bar-row:has(.score-band){grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 150px}
.service-results{margin:24px 0}
.service-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
/* Dashboard surfaces are independent of the badge palette used in reports. */
.dashboard-page{--dashboard-critical-bg:#f4a3ad;--dashboard-critical-text:#43111f;--dashboard-improvement-bg:#f9c782;--dashboard-improvement-text:#572f06;--dashboard-good-bg:#f5de74;--dashboard-good-text:#4f4106;--dashboard-excellent-bg:#7ecd96;--dashboard-excellent-text:#143b20}
.dashboard-page .score-surface-critical{background:var(--dashboard-critical-bg);color:var(--dashboard-critical-text)}
.dashboard-page .score-surface-improvement{background:var(--dashboard-improvement-bg);color:var(--dashboard-improvement-text)}
.dashboard-page .score-surface-good{background:var(--dashboard-good-bg);color:var(--dashboard-good-text)}
.dashboard-page .score-surface-excellent{background:var(--dashboard-excellent-bg);color:var(--dashboard-excellent-text)}
.dashboard-page .score-surface-unavailable{background:var(--surface);color:var(--ink)}
.dashboard-page #metrics{gap:12px;margin-bottom:16px}
.dashboard-page #metrics .metric{padding:16px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;border-color:transparent}
.dashboard-page #metrics .metric-label{font-size:14px;min-height:40px;margin:0;color:inherit}
.dashboard-page #metrics .metric strong{font-size:32px;margin:0;line-height:1.1;color:inherit}
.dashboard-page #metrics .metric strong.no-data{font-size:20px}
.dashboard-page #metrics .metric small,.dashboard-page #metrics .metric-open{font-size:12px;line-height:1.5;color:inherit;margin:0;opacity:1}
.dashboard-page #metrics .metric-open{margin-top:auto;padding-top:2px}
.dashboard-page #metrics .metric-classification{font-size:13px;font-weight:600}
.dashboard-page #metrics .metric:hover{filter:brightness(.97)}
.dashboard-page #metrics .metric:focus-visible,.dashboard-page .service-group>summary:focus-visible{outline:3px solid var(--action-hover);outline-offset:3px}
.dashboard-page .critical-clients,.dashboard-page .critical-clients.is-empty{padding:0;margin-bottom:20px}
.dashboard-page .critical-clients>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-size:14px;cursor:pointer;list-style:none}
.dashboard-page .critical-clients>summary::before{content:'▸';flex:0 0 auto}
.dashboard-page .critical-clients[open]>summary::before{content:'▾'}
.dashboard-page .critical-clients>summary::-webkit-details-marker{display:none}
.dashboard-page .critical-clients>summary #critical-title{flex:1}
.dashboard-page .critical-clients>summary #critical-count{font-size:12px;white-space:nowrap}
.dashboard-page .critical-clients>p,.dashboard-page #critical-clients-list{margin:0;padding:0 16px 14px}
.dashboard-page .service-results{margin:20px 0}
.dashboard-page .service-results .section-heading{margin-bottom:8px;gap:12px;flex-wrap:wrap;align-items:baseline}
.dashboard-page .service-results .section-heading h2{margin:0}
.dashboard-page .service-results>p{margin:0 0 12px}
.dashboard-band-legend{display:flex;gap:8px 18px;flex-wrap:wrap;margin-bottom:8px;font-size:12px;color:var(--muted)}
.dashboard-band-legend .band-label{display:flex;align-items:center;gap:6px}
.dashboard-band-legend .band-label::before{content:'';height:8px;width:8px;border-radius:50%;background:var(--score-critical)}
.dashboard-band-legend .band-label-improvement::before{background:var(--score-improvement)}
.dashboard-band-legend .band-label-good::before{background:var(--score-good)}
.dashboard-band-legend .band-label-excellent::before{background:var(--score-excellent)}
.service-accordion{display:grid;gap:8px}
.service-group{border-radius:10px;background:var(--surface);min-width:0}
.service-group-heading{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;list-style:none;cursor:pointer}
.service-group-heading::-webkit-details-marker{display:none}
.service-group[open]>.service-group-heading{border-radius:10px 10px 0 0}
.service-identity{display:flex;align-items:baseline;gap:5px 18px;flex-wrap:wrap;min-width:0}
.service-name{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.service-meta{font-size:12px}
.service-result{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600}
.service-average{font-size:24px;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}
.service-chevron{font-size:18px;font-weight:600;justify-self:end}
.service-group[open] .service-chevron{transform:rotate(180deg)}
.dashboard-page .service-criteria{padding:0 16px 10px}
.dashboard-page .service-criteria .bar-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 100px;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px}
.dashboard-page .service-criteria .bar-row:last-child{border:0}
.criterion-classification{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.dashboard-page .service-criteria .bar-value{font-size:14px}
.dashboard-page .service-criteria .bar-value small{font-size:12px;line-height:1.5;white-space:normal}
.dashboard-page .dashboard-distributions{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:18px;margin:20px 0}
.dashboard-page .dashboard-distributions .card{padding:20px;margin:0}
.dashboard-page .dashboard-distributions .card h2{font-size:20px;margin-bottom:8px}
.dashboard-page .dashboard-distributions .card>p.small{margin-bottom:14px}
.dashboard-page .dashboard-method{font-size:13px;margin:16px 0 22px;color:var(--muted)}
.dashboard-page .dashboard-method>summary{cursor:pointer;padding:8px 0}
.dashboard-page .dashboard-method>p{margin:12px 0;line-height:1.6}
.dashboard-page .workflow-metrics{padding:20px;margin:20px 0}
.dashboard-page .workflow-metric-grid{gap:16px;margin:16px 0}
.dashboard-page .workflow-metric-grid .metric{padding:0;border:0;box-shadow:none;background:transparent}
.dashboard-page .workflow-metric-grid .metric p{min-height:36px;margin-bottom:8px}
.dashboard-page .workflow-metric-grid .metric strong{font-size:28px;margin:0 0 8px}
.dashboard-page .workflow-metric-grid .metric strong.no-data{font-size:20px}
.dashboard-page .workflow-details{border-top:1px solid var(--border);margin-top:12px}
.dashboard-page .workflow-details>summary{padding:12px 0;cursor:pointer;font-size:13px}
.dashboard-page .workflow-detail-body h3{font-size:16px;margin:14px 0}
.dashboard-page .workflow-details table{min-width:660px}
.dashboard-page .workflow-details .workflow-chart-grid{margin:12px 0}
.demo-banner{background:#fff3d6;color:#573600;border-bottom:1px solid #e0c98a;padding:10px 20px;display:flex;gap:8px 20px;justify-content:center;align-items:center;flex-wrap:wrap;font-size:13px}
.demo-banner a{color:#573600;text-decoration:underline}
.demo-guide .demo-accounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.demo-guide .demo-accounts .card{padding:20px;margin:0}
.demo-guide code{overflow-wrap:anywhere}
.demo-guide li{margin-bottom:10px}
@media(max-width:780px){.service-identity{display:block}.service-meta{display:block;margin-top:4px}.service-classification{max-width:150px}.demo-guide .demo-accounts{grid-template-columns:1fr}}
@media(max-width:600px){.dashboard-page .dashboard-distributions{grid-template-columns:1fr}.service-group-heading{grid-template-columns:minmax(0,1fr) 112px 12px;gap:10px;padding:14px 12px}.service-result{display:block;text-align:right}.service-average{font-size:23px}.service-classification{display:block;font-size:12px;margin-top:4px}.dashboard-page .service-criteria{padding:0 12px 10px}.dashboard-page .service-criteria .bar-row{grid-template-columns:minmax(0,1fr) 90px;gap:6px 12px}.dashboard-page .service-criteria .bar-row meter{grid-column:1/-1;grid-row:2}.dashboard-page .service-criteria .bar-value{grid-column:2;grid-row:1}.dashboard-page .critical-clients>summary{align-items:flex-start}.dashboard-page .critical-clients>summary #critical-count{white-space:normal}.dashboard-page .workflow-metric-grid{grid-template-columns:1fr 1fr}.dashboard-page .workflow-metric-grid .metric{min-width:0}.dashboard-page #metrics .metric{padding:14px}}
@media print{.demo-banner{display:none}.dashboard-page details:not([open])>div{display:block}}
@media(max-width:600px){
  .dashboard-page .records-card #records-body tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;padding:16px 0}
  .dashboard-page .records-card #records-body td{min-width:0;padding:0;margin:0;overflow-wrap:anywhere}
  .dashboard-page .records-card #records-body td:nth-child(2){grid-column:1/-1;grid-row:1}
  .dashboard-page .records-card #records-body td:last-child{grid-column:1/-1}
  .dashboard-page .records-card #records-body td.empty-cell{grid-column:1/-1}
}
.service-score{min-width:0;border:1px solid var(--border);border-radius:12px;padding:20px;font-variant-numeric:tabular-nums}
.service-score h3{font-size:17px;margin-bottom:12px}
.service-score>strong{display:block;color:var(--heading);font-size:26px;margin-bottom:8px}
.service-score p{margin:12px 0 0}
.rating-options-na{grid-template-columns:repeat(6,minmax(0,1fr))}
.service-live-average{padding:16px;background:var(--soft);border-radius:8px;margin:24px 0 0;font-size:14px;font-weight:600}
.client-detail-metrics .score-band{display:inline-flex}
@media(max-width:1050px){.service-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.service-score-grid{grid-template-columns:1fr}.rating-options-na{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-ui .bar-row:has(.score-band){grid-template-columns:minmax(0,1fr) minmax(0,.7fr) 105px}.score-legend{flex-direction:column;align-items:start}}
@media print{.service-results{border:0;padding:0}.service-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.service-score{break-inside:avoid;padding:10px}.score-band{font-size:8pt!important}.score-legend{gap:6px}.service-score>strong{font-size:18pt}}
.admin-ui .topbar{flex-wrap:wrap;gap:12px 24px}
.admin-ui .topbar nav{flex-wrap:wrap;gap:8px 12px}
.admin-ui .topbar nav a{padding:10px 8px;border-radius:8px}
.admin-ui .topbar nav a[aria-current]{background:var(--selected-surface);color:var(--heading);border-bottom:3px solid var(--accent);padding-bottom:7px}
.admin-ui :is(.wide-page,.detail-page){font-size:14px}
.admin-ui :is(.wide-page,.detail-page) h1{font-size:clamp(28px,3vw,32px);letter-spacing:-.6px;color:var(--heading)}
.admin-ui :is(.wide-page,.detail-page) h2{font-size:21px;color:var(--heading)}
.admin-ui :is(.wide-page,.detail-page) h3{font-size:18px}
.admin-ui .eyebrow{font-size:12px;letter-spacing:1.2px;margin-bottom:8px}
.admin-ui .status,.admin-ui .pill{font-size:12px}
.admin-ui input::placeholder,.admin-ui textarea::placeholder{color:var(--placeholder);opacity:1}
.admin-ui :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:var(--control-border)}
.admin-ui .button.secondary{border-color:var(--control-border)}
.admin-ui .field small{font-size:12px}
.admin-ui :is(.wide-page,.detail-page) table{font-size:13px}
.admin-ui :is(.wide-page,.detail-page) th{font-size:12px;letter-spacing:.3px}
.admin-ui .update-strip,.admin-ui .chart-note,.admin-ui .bar-row,.admin-ui .bar-row small,.admin-ui .table-secondary{font-size:12px}
.admin-ui .bar-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 52px}
.admin-ui .metric{padding:20px;font-variant-numeric:tabular-nums}
.admin-ui .metric strong{color:var(--heading);margin-bottom:8px}
.admin-ui .metric strong.no-data{font-size:19px;letter-spacing:0}
.admin-ui .metric-label,.admin-ui .metric p{font-size:14px;min-height:42px;margin-bottom:12px}
.admin-ui .metric small,.admin-ui .metric-open{font-size:12px}
.admin-ui .metric-open{padding-top:12px}
.admin-ui .metric-button.satisfaction-metric{background:var(--surface);border-color:var(--border)}
.admin-ui .critical-clients{padding:24px}
.admin-ui .critical-clients.is-empty{padding:16px 20px;border-color:var(--border)}
.critical-clients.is-empty .section-heading,.critical-clients.is-empty>.small{display:none}
.critical-clients.is-empty #critical-clients-list p{margin:0;font-size:14px}
.workflow-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 24px}
.workflow-metric-grid .metric{min-width:0}
.workflow-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}
.workflow-chart-panel{min-width:0;background:var(--soft);border-radius:12px;padding:20px}
.workflow-chart-panel h3{margin-bottom:12px}
.workflow-chart-panel p:last-child{margin-bottom:0}
.workflow-metrics h3{margin-top:24px;margin-bottom:12px}
.workflow-chart-panel h3{margin-top:0}
.workflow-empty{margin:0;line-height:1.6}
.action-filters{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;margin-bottom:24px}
.action-filter-submit{align-self:end;display:flex}
.action-filters .button{min-height:46px}
.actions-page .action-card{padding:24px;margin-bottom:24px}
.actions-page .detail-grid{gap:16px 24px;margin:20px 0}
.action-card .section-heading{align-items:start}
.action-card .pill{white-space:normal;flex-shrink:0}
.accounts-table{table-layout:fixed}
.accounts-table th:first-child{width:25%}
.accounts-table th:last-child{width:21%}
.accounts-table .text-button{text-align:left;overflow-wrap:anywhere}
.account-create{max-width:780px;margin:24px 0}
@media(max-width:1050px){
  .workflow-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-ui .metric{padding:16px}
  .admin-ui .metric-label,.admin-ui .metric p{font-size:13px}
}
@media(max-width:780px){
  .action-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-chart-grid{grid-template-columns:1fr;gap:16px}
  .accounts-table,.accounts-table tbody,.accounts-table tr,.accounts-table td{display:block}
  .accounts-table thead{display:none}
  .accounts-table tr{padding:12px 0;border-bottom:1px solid var(--border)}
  .accounts-table td{border:0;padding:8px 0}
  .accounts-table td::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
}
@media(max-width:480px){
  .action-filters,.workflow-metric-grid{grid-template-columns:1fr}
  .admin-ui .filters{grid-template-columns:1fr}
  .admin-ui .filters :is(.search-field,.filter-actions){grid-column:auto}
  .admin-ui .metric-label,.admin-ui .metric p{min-height:0}
  .admin-ui .bar-row{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) 48px;gap:8px}
  .workflow-chart-panel{padding:16px}
  .actions-page .action-card{padding:20px}
  .action-card .section-heading{flex-direction:column}
  .action-filter-submit .button{width:100%}
}
@media print{
  .workflow-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .workflow-metric-grid .metric p{min-height:26px}
  .workflow-metric-grid .metric strong.no-data{font-size:12pt}
}
.signature-field canvas{display:block;width:100%;aspect-ratio:10/3;border:2px solid var(--border);border-radius:12px;background:#fff;touch-action:none;margin:12px 0}.signature-field p{font-size:14px}.review-confirmation{display:flex;gap:12px;align-items:flex-start;padding:16px;background:var(--soft);border-radius:12px}.review-confirmation input{width:20px;height:20px;flex-shrink:0}.action-edit{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.action-history{margin-top:24px}.action-history summary{cursor:pointer;padding:12px 0}.action-card dd{white-space:pre-wrap;overflow-wrap:anywhere}.signature-preview{max-width:600px;width:100%;border:1px solid var(--border);border-radius:12px}.extra-question{border-bottom:1px solid var(--border);padding:12px 0}.workflow-metrics{margin:24px 0}.workflow-metrics meter{width:100%}.workflow-donut{width:120px;height:120px}.workflow-chart{display:flex;align-items:center;gap:20px}.report-page td{overflow-wrap:anywhere}.workflow-report-table{table-layout:fixed;width:100%;font-size:11px}.action-card .action-edit button{margin:6px 0}.workflow-method{font-size:13px;line-height:1.6}.manual-link{overflow-wrap:anywhere}
@media(max-width:700px){.workflow-chart{flex-direction:column;align-items:flex-start}.workflow-report-table{table-layout:auto}.topbar nav{font-size:12px}.action-card{padding:20px}.action-card button{width:100%}.action-card h2{font-size:22px}}
.survey-workspace{min-width:0}.button{white-space:normal;text-align:center;max-width:100%}.form-actions{flex-wrap:wrap}.form-actions #send-survey{flex:1;min-width:0}.form-actions #previous-step{flex-shrink:0}.form-actions .action-spacer{flex-basis:0}.card,.report-section{min-width:0}.report-page table{max-width:100%}input[type=checkbox]:not([type=hidden]){width:20px;height:20px;min-height:20px;padding:0;vertical-align:middle;flex:0 0 20px}.review-confirmation input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;flex:0 0 20px}
@media print{.workflow-report-table{font-size:9px}.workflow-report-table th,.workflow-report-table td{padding:5px}.workflow-report-table tr{break-inside:avoid}.workflow-metrics{break-inside:avoid}.workflow-donut{width:90px;height:90px}}
