/* Tokens e medidas do BRISAGNC, adaptados para o diagnóstico de pessoas. */
:root {
  --background: 218 30% 95%;
  --foreground: 219 40% 16%;
  --card: 0 0% 100%;
  --card-foreground: 219 40% 16%;
  --sunken: 218 28% 97%;
  --surface-head: 222 58% 24%;
  --primary: 222 69% 39%;
  --primary-foreground: 0 0% 100%;
  --secondary: 219 72% 95%;
  --secondary-foreground: 222 62% 30%;
  --muted: 218 28% 96%;
  --muted-foreground: 219 15% 44%;
  --subtle-foreground: 219 12% 57%;
  --success: 158 68% 27%;
  --success-soft: 152 55% 94%;
  --success-line: 152 40% 80%;
  --warning: 32 82% 32%;
  --warning-soft: 42 92% 93%;
  --warning-line: 38 70% 78%;
  --danger: 0 64% 42%;
  --danger-soft: 0 78% 96%;
  --danger-line: 0 60% 86%;
  --border: 218 20% 88%;
  --border-strong: 218 22% 79%;
  --input: 218 22% 82%;
  --ring: 222 69% 45%;
  --radius: 10px;
  --blue: hsl(var(--primary));
  --navy: hsl(var(--surface-head));
  --line: hsl(var(--border));
  --text-muted: hsl(var(--muted-foreground));
  --red: hsl(var(--danger));
  --green: hsl(var(--success));
  --shadow-soft: 0 1px 2px rgb(24 51 112 / 5%);
}

html { scrollbar-gutter: stable; }
body.menu-open { overflow: hidden; }
body { background: hsl(var(--background)); color: hsl(var(--foreground)); font: 13px/1.5 'Segoe UI',system-ui,sans-serif; }
[hidden] { display: none !important; }
button, input, select, textarea { border-radius: 6px; }
button { min-height: 36px; padding: 7px 14px; font-size: 13px; font-weight: 500; color: hsl(var(--foreground)); border-color: hsl(var(--input)); box-shadow: var(--shadow-soft); transition: background-color 150ms, color 150ms, border-color 150ms; }
button:disabled { opacity: .45; }
button:hover:not(:disabled) { background: hsl(var(--sunken)); border-color: hsl(var(--border-strong)); }
button.primary { background: hsl(var(--primary)); color: white; border-color: transparent; }
button.primary:hover:not(:disabled) { background: hsl(var(--primary) / .9); }
button.danger { color: hsl(var(--danger)); }
input,select { height: 36px; padding: 7px 10px; font-size: 13px; border-color: hsl(var(--input)); box-shadow: var(--shadow-soft); }
input[type=checkbox] { height: 16px; width: 16px; accent-color: hsl(var(--primary)); flex: none; margin: 2px 0; }
input:hover,select:hover,textarea:hover { border-color: hsl(var(--border-strong)); }
textarea { font-size: 13px; border-color: hsl(var(--input)); box-shadow: var(--shadow-soft); }
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
button.person-name { color: hsl(var(--primary)); box-shadow: none; min-height: 0; }
button.person-name:hover { text-decoration: underline; background: none; }
h1 { font-size: 23px; line-height: 30px; font-weight: 600; letter-spacing: -.016em; margin-bottom: 5px; }
h2 { font-weight: 600; }
.ui-icon { display: inline-block; width: 16px; height: 16px; flex: none; vertical-align: middle; }
.icon-button { display: inline-grid; place-items: center; padding: 0; width: 32px; min-height: 32px; background: transparent; border: 0; box-shadow: none; }
.app-shell { display: grid; grid-template-columns: 220px minmax(0,1fr); min-height: 100dvh; }
.app-sidebar { position: sticky; top: 0; height: 100dvh; padding: 16px 12px; display: flex; flex-direction: column; gap: 22px; background: hsl(var(--surface-head)); color: white; z-index: 10; }
.sidebar-brand { padding: 0 8px; position: relative; }
.brand-home { display: flex; flex-direction: column; gap: 8px; align-items: start; padding: 0; border: 0; border-radius: 6px; background: transparent; color: white; box-shadow: none; width: 100%; text-align: left; }
.brand-home:hover:not(:disabled) { background: transparent; }
.brand-home img { width: 138px; height: 52px; object-fit: contain; object-position: left; filter: brightness(0) invert(1); }
.sidebar-brand-title { font-size: 12px; color: rgb(255 255 255 / .8); font-weight: 400; }
.brand-home small { font: 10px/14px ui-monospace,Consolas,monospace; letter-spacing: .14em; color: rgb(255 255 255 / .5); }
.sidebar-navigation { display: flex; flex-direction: column; gap: 2px; }
.sidebar-section-label { font: 10px/14px ui-monospace,Consolas,monospace; color: rgb(255 255 255 / .4); text-transform: uppercase; letter-spacing: .1em; padding: 0 10px 6px; }
.sidebar-admin-label { margin-top: 20px; }
.sidebar-link { display: flex; align-items: center; gap: 10px; padding: 10px; border: 0; box-shadow: none; background: transparent; color: rgb(255 255 255 / .7); text-align: left; line-height: 20px; }
.sidebar-link .ui-icon { color: rgb(255 255 255 / .55); }
.sidebar-link:hover:not(:disabled) { background: rgb(255 255 255 / .1); color: white; }
.sidebar-link.active { background: rgb(255 255 255 / .12); font-weight: 500; color: white; }
.sidebar-link.active .ui-icon { color: white; }
.sidebar-account { margin-top: auto; border-top: 1px solid rgb(255 255 255 / .12); padding-top: 12px; display: grid; gap: 10px; }
.sidebar-user { display: flex; align-items: center; gap: 10px; min-width: 0; }
.account-avatar { display: grid; place-items: center; height: 32px; width: 32px; flex: none; border-radius: 50%; background: rgb(255 255 255 / .15); font-size: 11px; font-weight: 600; }
.account-details { display: grid; gap: 1px; flex: 1; min-width: 0; }
.account-details strong { font-size: 12px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-details small { font-size: 10px; color: rgb(255 255 255 / .55); }
.sidebar-user .icon-button { color: rgb(255 255 255 / .6); }
.app-sidebar button:focus-visible { outline-color: white; }
.app-sidebar .icon-button:hover { background: rgb(255 255 255 / .1); color: white; }
.sidebar-password,.sidebar-collapse { display: flex; align-items: center; justify-content: start; gap: 7px; border: 0; min-height: 26px; padding: 3px 0; color: rgb(255 255 255 / .55); background: transparent; box-shadow: none; font-size: 10px; }
.sidebar-password { padding-left: 42px; }
.sidebar-password .ui-icon { width: 12px; height: 12px; }
.sidebar-collapse { margin-bottom: 4px; padding-left: 8px; font-size: 11px; }
.sidebar-password:hover:not(:disabled),.sidebar-collapse:hover:not(:disabled) { background: transparent; color: white; }
.sidebar-close,.sidebar-backdrop,.mobile-menu { display: none; }
.app-content { min-width: 0; }
.workspace-header { min-height: 60px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid hsl(var(--border)); padding: 0 24px; background: white; }
.breadcrumb { display: flex; align-items: center; gap: 10px; font-size: 12px; color: hsl(var(--subtle-foreground)); min-width: 0; }
.breadcrumb strong { color: hsl(var(--foreground)); font-weight: 500; white-space: nowrap; }
.breadcrumb-person { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.workspace-access { margin-left: auto; font-size: 11px; color: hsl(var(--subtle-foreground)); white-space: nowrap; }
main.workspace { width: 100%; max-width: 1680px; margin: 0 auto; padding: 24px; outline: 0; }
.page-head { margin-bottom: 20px; }
.page-head p { font-size: 13px; }
.page-eyebrow { font: 10px/14px ui-monospace,Consolas,monospace; text-transform: uppercase; letter-spacing: .1em; color: hsl(var(--subtle-foreground)); margin-bottom: 6px; }
.panel { background: white; border-radius: 10px; border-color: hsl(var(--border)); box-shadow: var(--shadow-soft); margin-bottom: 18px; }
.panel-title { min-height: 45px; padding: 12px 16px; }
.panel-title h2 { font-size: 13px; font-weight: 600; }
.panel-body { padding: 18px; }
.panel:has(.select-popup:not([hidden])) { overflow: visible; }
.stats { gap: 12px; margin-bottom: 20px; }
.stat { min-width: 0; text-align: left; padding: 15px 16px; border-radius: 10px; box-shadow: var(--shadow-soft); border: 1px solid hsl(var(--border)); background: white; }
.stat:hover:not(:disabled) { border-color: hsl(var(--border-strong)); background: white; }
.stat.selected { border-color: hsl(var(--primary) / .55); box-shadow: inset 0 0 0 1px hsl(var(--primary) / .15); background: white; }
.stat-label { display: flex; align-items: start; justify-content: space-between; gap: 8px; font-size: 11px; font-weight: 400; color: hsl(var(--muted-foreground)); }
.stat-label .ui-icon { color: hsl(var(--subtle-foreground)); width: 15px; height: 15px; }
.stat strong { font-size: 28px; font-weight: 600; color: hsl(var(--foreground)); margin: 7px 0 3px; font-variant-numeric: tabular-nums; }
.stat small { font-size: 10px; font-weight: 400; }
.team-toolbar { display: grid; grid-template-columns: minmax(180px,1fr) minmax(170px,230px) minmax(170px,230px); align-items: end; gap: 16px; padding: 16px; border-bottom: 1px solid hsl(var(--border)); }
.toolbar-field { display: grid; gap: 6px; }
.field-label,label.field { font-size: 11px; font-weight: 600; }
.toolbar-field>.field-label,.search-select>.field-label,label.field { color: hsl(var(--muted-foreground)); }
.field-label { display: block; }
.toolbar-field>input,.toolbar-field>select { width: 100%; }
.search-field { position: relative; }
.search-field input { width: 100%; padding-left: 33px; padding-right: 34px; }
.search-field>.ui-icon { position: absolute; left: 10px; top: 10px; color: hsl(var(--subtle-foreground)); pointer-events: none; }
.search-clear { position: absolute; top: 2px; right: 2px; width: 30px; min-height: 30px; color: hsl(var(--subtle-foreground)); }
.filter-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 9px 16px; background: hsl(var(--sunken)); border-bottom: 1px solid hsl(var(--border)); font-size: 11px; }
.filter-chip { display: inline-flex; align-items: center; gap: 7px; padding: 2px 6px 2px 8px; border: 1px solid hsl(var(--border)); border-radius: 5px; background: white; color: hsl(var(--muted-foreground)); }
.filter-chip button { box-shadow: none; border: 0; background: transparent; padding: 0; min-height: 20px; height: 20px; width: 20px; }
.filter-chip .ui-icon { width: 12px; height: 12px; }
.clear-filters { min-height: 24px; padding: 0 4px; border: 0; background: transparent; box-shadow: none; color: hsl(var(--primary)); font-size: 11px; }
.search-select { position: relative; display: grid; gap: 6px; min-width: 0; }
.select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; height: 36px; text-align: left; padding: 7px 10px; background: white; }
.select-trigger>span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.select-trigger>.ui-icon { width: 14px; height: 14px; color: hsl(var(--subtle-foreground)); }
.select-popup { position: absolute; top: 100%; margin-top: 5px; left: 0; right: 0; min-width: 230px; border: 1px solid hsl(var(--border)); border-radius: 8px; background: white; box-shadow: 0 10px 30px -10px rgb(16 36 82 / .3); z-index: 30; overflow: hidden; }
.select-search { position: relative; padding: 8px; border-bottom: 1px solid hsl(var(--border)); }
.select-search>.ui-icon { position: absolute; top: 17px; left: 17px; width: 14px; height: 14px; color: hsl(var(--subtle-foreground)); }
.select-search input { width: 100%; padding-left: 29px; height: 32px; font-size: 12px; }
.select-options { max-height: 250px; overflow-y: auto; padding: 4px; }
.select-options button { display: flex; justify-content: space-between; gap: 10px; width: 100%; padding: 7px 8px; min-height: 32px; text-align: left; border: 0; border-radius: 4px; background: white; box-shadow: none; font-size: 12px; font-weight: 400; }
.select-options button[aria-selected=true] { background: hsl(var(--secondary)); color: hsl(var(--primary)); }
.select-options button:hover:not(:disabled) { background: hsl(var(--sunken)); }
.select-no-results { padding: 16px; margin: 0; font-size: 12px; color: hsl(var(--muted-foreground)); }
.team-matrix { min-width: 1080px; }
th { font-size: 11px; background: hsl(var(--sunken)); color: hsl(var(--muted-foreground)); padding: 11px 9px; }
td { font-size: 12px; padding: 12px 9px; border-color: hsl(var(--border) / .6); }
.team-matrix th:first-child,.team-matrix td:first-child { position: sticky; left: 0; z-index: 2; padding-left: 16px; box-shadow: 1px 0 0 hsl(var(--border)); }
.team-matrix th:first-child { background: hsl(var(--sunken)); }
.team-matrix td:first-child { background: white; }
.team-matrix tbody tr:hover>td { background: hsl(var(--sunken)); }
.team-matrix .person-cell { min-width: 205px; gap: 3px; }
.team-matrix .person-name { max-width: 245px; line-height: 19px; font-size: 12px; }
.person-cell small { font-size: 10px; line-height: 15px; }
.header-score { width: 57px; min-width: 57px; font-size: 10px; }
.matrix-score { padding: 0; min-height: 30px; background: transparent; border: 0; box-shadow: none; }
.matrix-score:hover:not(:disabled) { background: transparent; }
.score { height: 27px; width: 27px; border-radius: 6px; font-size: 11px; }
.s1 { color: hsl(var(--danger)); background: hsl(var(--danger-soft)); border-color: hsl(var(--danger-line)); }
.s2 { color: hsl(var(--warning)); background: hsl(var(--warning-soft)); border-color: hsl(var(--warning-line)); }
.s3 { color: hsl(var(--primary)); background: hsl(var(--secondary)); border-color: hsl(var(--primary) / .12); }
.s4 { color: hsl(var(--success)); background: hsl(var(--success-soft)); border-color: hsl(var(--success-line)); }
.s5 { color: hsl(var(--success)); background: hsl(var(--success) / .13); border-color: hsl(var(--success) / .3); }
.score.empty { color: hsl(var(--subtle-foreground)); background: hsl(var(--sunken)); }
.row-action { font-size: 11px; min-height: 28px; padding: 4px 8px; }
.matrix-action-cell { position: sticky; right: 0; z-index: 2; background: white; box-shadow: -1px 0 0 hsl(var(--border)); text-align: right; }
th.matrix-action-cell { background: hsl(var(--sunken)); }
.badge { font-size: 10px; font-weight: 500; padding: 3px 7px; border-radius: 5px; }
.badge.green { background: hsl(var(--success-soft)); color: hsl(var(--success)); }
.badge.red { background: hsl(var(--danger-soft)); color: hsl(var(--danger)); }
.badge.amber { background: hsl(var(--warning-soft)); color: hsl(var(--warning)); }
.legend { gap: 12px; padding: 12px 16px; font-size: 10px; }
.legend .score { height: 20px; width: 20px; font-size: 10px; }
.pagination { padding: 11px 16px; font-size: 11px; }
.pagination button { font-size: 11px; min-height: 28px; }
.empty-state { padding: 36px 20px; }
.empty-state strong { display: block; color: hsl(var(--foreground)); font-size: 14px; margin-bottom: 5px; font-weight: 500; }
.empty-state p { font-size: 12px; margin-bottom: 12px; }
.notice { border-radius: 6px; padding: 11px 13px; font-size: 12px; border-color: hsl(var(--primary) / .17); background: hsl(var(--secondary)); color: hsl(var(--secondary-foreground)); }
.notice.warning { background: hsl(var(--warning-soft)); border-color: hsl(var(--warning-line)); color: hsl(var(--warning)); }
.two-col { gap: 18px; }
.tabs { margin-bottom: 20px; }
.tabs button { min-height: 38px; padding: 9px 0; font-size: 12px; box-shadow: none; }
.tabs button.active { border-bottom-width: 2px; }
.back { display: inline-flex; align-items: center; gap: 6px; min-height: 24px; margin-bottom: 15px; box-shadow: none; font-size: 12px; }
.avatar { width: 42px; height: 42px; font-size: 15px; background: hsl(var(--secondary)); color: hsl(var(--primary)); }
.evaluation-card { min-height: 68px; padding: 12px; box-shadow: none; border-color: hsl(var(--border)); }
.evaluation-card.active { background: hsl(var(--secondary)); border-color: hsl(var(--primary) / .35); }
.evaluation-card strong { font-size: 12px; font-weight: 500; }
.evaluation-list { max-height: 330px; overflow-y: auto; }
.comparison-disclosure { border-top: 1px solid hsl(var(--border)); padding: 12px 16px; }
.comparison-disclosure summary { font-size: 12px; cursor: pointer; color: hsl(var(--primary)); padding: 2px 0; }
.comparison-select { display: grid; gap: 10px; max-height: 210px; overflow: auto; margin-top: 12px; }
.comparison-select label { font-size: 11px; gap: 8px; }
.radar { max-height: 350px; }
.radar-key { font-size: 10px; padding-bottom: 14px; }
.radar text { font-family: 'Segoe UI',sans-serif; }
.summary { line-height: 1.7; font-size: 13px; }
.summary-panel { top: 18px; }
.evaluation-intro { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.evaluation-intro .notice { margin: 0; flex: 1; }
.evaluation-steps { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.evaluation-steps li { display: flex; align-items: center; gap: 8px; color: hsl(var(--subtle-foreground)); font-size: 12px; }
.evaluation-steps li+li:before { content: ''; height: 1px; width: 26px; background: hsl(var(--border-strong)); margin-right: 2px; }
.step-number { display: grid; place-items: center; height: 24px; width: 24px; border: 1px solid hsl(var(--border)); border-radius: 50%; font-size: 11px; background: white; }
.evaluation-steps [aria-current=step] { color: hsl(var(--foreground)); font-weight: 600; }
.evaluation-steps [aria-current=step] .step-number { background: hsl(var(--primary)); border-color: hsl(var(--primary)); color: white; }
.evaluation-workspace { grid-template-columns: minmax(0,1.25fr) minmax(310px,.85fr); }
.criteria-list .criterion { padding: 16px 0; }
.criteria-list .criterion:first-child { padding-top: 0; }
.criterion h3 { font-size: 13px; font-weight: 600; }
.criterion p { font-size: 12px; margin-bottom: 10px; }
.criterion .person-name { font-size: 11px; font-weight: 400; }
.rating { gap: 6px; margin-bottom: 9px; }
.rating label { position: relative; }
.rating input { inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.rating span { min-height: 36px; font-size: 13px; border-color: hsl(var(--input)); color: hsl(var(--muted-foreground)); pointer-events: none; }
.rating input:checked+span { background: hsl(var(--primary)); border-color: hsl(var(--primary)); box-shadow: 0 0 0 2px hsl(var(--secondary)); }
.criterion-evidence summary { cursor: pointer; font-size: 11px; color: hsl(var(--muted-foreground)); padding: 1px 0; }
.criterion-evidence textarea { margin-top: 9px; min-height: 70px; }
.selected-grade { display: inline-flex; gap: 5px; align-items: center; color: hsl(var(--primary)); font-size: 11px; margin-bottom: 9px; }
.form-scale { border: 0; padding: 0 0 14px; gap: 8px; }
.form-scale>span { font-size: 10px; }
.review-note { margin-bottom: 16px; font-size: 12px; color: hsl(var(--muted-foreground)); }
.sticky-save { bottom: 0; border: 1px solid hsl(var(--border)); border-radius: 8px; background: white; padding: 12px 16px; box-shadow: 0 -4px 20px -15px rgb(16 36 82 / .3); backdrop-filter: none; }
.sticky-save small { display: flex; align-items: center; gap: 7px; font-size: 11px; }
.sticky-save .ui-icon { width: 14px; height: 14px; }
.scale-list,.review-scores { display: grid; gap: 10px; }
.scale-list>div { display: flex; align-items: center; gap: 10px; font-size: 12px; }
.review-scores { padding: 16px; }
.review-scores>div { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid hsl(var(--border) / .6); padding-bottom: 8px; font-size: 12px; }
.review-scores>div:last-child { border-bottom: 0; padding-bottom: 0; }
.deadline-overdue { color: hsl(var(--danger)); font-size: 10px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; }
.history-table td:first-child { min-width: 130px; }
.mobile-scroll-hint { display: none; }
.login-screen { grid-template-columns: minmax(0,1fr) minmax(0,520px); }
.login-brand { justify-content: space-between; padding: 40px; background: hsl(var(--surface-head)); }
.login-brand:after { display: none; }
.login-brand img { width: 196px; margin: 0; }
.login-brand h1 { max-width: 500px; font-size: 28px; line-height: 1.25; margin-bottom: 15px; }
.login-brand p { color: rgb(255 255 255 / .65); font-size: 13px; max-width: 400px; margin: 0; }
.login-brand-footer { font: 10px/16px ui-monospace,Consolas,monospace; letter-spacing: .12em; text-transform: uppercase; color: rgb(255 255 255 / .45); }
.login-main { padding: 40px 24px; background: white; }
.login-card { max-width: 360px; }
.login-card h2 { font-size: 19px; margin-bottom: 5px; }
.login-card>p { margin-bottom: 24px; }
.login-card button[type=submit] { height: 40px; }
.login-mobile-brand { display: none; }
.password-screen { min-height: 100dvh; background: hsl(var(--background)); display: grid; place-items: center; padding: 24px; }
.password-screen .login-card { background: white; padding: 28px; border: 1px solid hsl(var(--border)); border-radius: 10px; max-width: 430px; }
.upload-area { background: hsl(var(--sunken)); border: 1px dashed hsl(var(--border-strong)); border-radius: 8px; padding: 24px; }
.change-stats { gap: 12px; }
.change-stats div { border-radius: 8px; font-size: 11px; }
.change-stats strong { font-size: 24px; font-weight: 600; }
.checkline { font-size: 12px; gap: 8px; }
dialog { max-height: min(92dvh,850px); border-radius: 12px; border-color: hsl(var(--border)); box-shadow: 0 24px 60px -28px rgb(16 36 82 / .5),0 2px 8px rgb(16 36 82 / .08); }
dialog::backdrop { background: hsl(219 40% 12% / .5); backdrop-filter: blur(2px); }
dialog>form { display: flex; flex-direction: column; min-height: 0; }
dialog:has(>form) { overflow: hidden; }
.dialog-head { padding: 14px 20px; align-items: center; }
.dialog-head h2 { font-size: 16px; line-height: 24px; }
.dialog-head button { min-height: 28px; width: 28px; padding: 0; color: hsl(var(--subtle-foreground)); box-shadow: none; }
.dialog-body { padding: 20px; background: hsl(var(--background)); overflow: auto; max-height: calc(92dvh - 155px); }
.dialog-foot { padding: 12px 20px; background: white; }
#toast { border-color: hsl(var(--border)); background: hsl(var(--surface-head)); padding: 11px 16px; font-size: 12px; border-radius: 7px; }
.sidebar-collapsed { grid-template-columns: 68px minmax(0,1fr); }
.sidebar-collapsed .app-sidebar { padding: 16px 10px; align-items: stretch; }
.sidebar-collapsed .sidebar-brand { padding: 0; }
.sidebar-collapsed .brand-home { min-height: 52px; justify-content: center; }
.sidebar-collapsed .brand-home img { width: 47px; height: 33px; }
.sidebar-collapsed .sidebar-brand-title,.sidebar-collapsed .brand-home small,.sidebar-collapsed .sidebar-section-label,.sidebar-collapsed .sidebar-link>span,.sidebar-collapsed .sidebar-collapse>span,.sidebar-collapsed .account-details,.sidebar-collapsed .sidebar-password>span { display: none; }
.sidebar-collapsed .sidebar-navigation { gap: 6px; }
.sidebar-collapsed .sidebar-link { justify-content: center; padding: 10px 0; }
.sidebar-collapsed .sidebar-user { flex-direction: column; gap: 8px; }
.sidebar-collapsed .sidebar-password { padding: 4px 0; justify-content: center; }
.sidebar-collapsed .sidebar-collapse { padding: 6px 0; justify-content: center; }
@media (min-width:1450px) { main.workspace { padding: 28px; } }
@media (max-width:1150px) {
  .evaluation-workspace { grid-template-columns: 1fr; }
  .evaluation-workspace .summary-panel { position: static; }
  .team-toolbar { grid-template-columns: minmax(150px,1fr) minmax(145px,200px); }
  .team-toolbar .toolbar-field:first-child { grid-column: 1 / -1; }
}
@media (max-width:900px) {
  .app-shell,.sidebar-collapsed { grid-template-columns: minmax(0,1fr); }
  .app-sidebar { position: fixed; top: 0; left: 0; width: 250px; height: 100dvh; transform: translateX(-100%); visibility: hidden; z-index: 51; }
  .sidebar-open .app-sidebar { transform: translateX(0); visibility: visible; }
  .sidebar-open .sidebar-backdrop { display: block; position: fixed; inset: 0; border: 0; border-radius: 0; z-index: 50; background: hsl(219 40% 12% / .5); }
  .sidebar-close { display: grid; position: absolute; right: -2px; top: -4px; color: white; }
  .sidebar-collapse { display: none; }
  .mobile-menu { display: grid; flex: none; }
  .workspace-header { padding: 0 16px; min-height: 54px; }
  .breadcrumb>span:first-child,.breadcrumb>span:nth-child(2),.breadcrumb-person { display: none; }
  .sidebar-collapsed .app-sidebar { padding: 16px 12px; align-items: stretch; }
  .sidebar-collapsed .sidebar-brand { padding: 0 8px; }
  .sidebar-collapsed .brand-home img { width: 138px; height: 52px; }
  .sidebar-collapsed .brand-home { justify-content: start; }
  .sidebar-collapsed .sidebar-brand-title,.sidebar-collapsed .brand-home small,.sidebar-collapsed .sidebar-section-label,.sidebar-collapsed .sidebar-link>span,.sidebar-collapsed .account-details,.sidebar-collapsed .sidebar-password>span { display: block; }
  .sidebar-collapsed .sidebar-link { justify-content: start; padding: 10px; }
  .sidebar-collapsed .sidebar-user { flex-direction: row; gap: 10px; }
  .sidebar-collapsed .sidebar-password { padding-left: 42px; justify-content: start; }
  .login-screen { grid-template-columns: minmax(0,1fr); }
  .login-brand { display: none; }
  .login-mobile-brand { display: block; margin-bottom: 32px; }
  .login-mobile-brand img { width: 150px; }
  .login-mobile-brand p { font: 10px/14px ui-monospace,monospace; text-transform: uppercase; letter-spacing: .12em; color: hsl(var(--subtle-foreground)); margin: 8px 0 0; }
  .login-main { min-height: 100dvh; }
}
@media (max-width:650px) {
  main.workspace { padding: 20px 14px; }
  h1 { font-size: 21px; line-height: 28px; }
  .page-head>.actions { margin-top: 12px; }
  .page-head>.actions button { flex: 1; }
  .stats { gap: 10px; }
  .stat { padding: 13px; }
  .stat strong { font-size: 25px; }
  .stat small { font-size: 10px; }
  .stat-label { min-height: 32px; font-size: 11px; }
  .stat-label .ui-icon { display: none; }
  .team-toolbar { padding: 14px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
  .select-popup { min-width: 200px; }
  .team-matrix .person-cell { min-width: 155px; }
  .team-matrix .person-name { max-width: 165px; }
  .team-matrix th:first-child,.team-matrix td:first-child { padding-left: 14px; }
  .matrix-action-cell { position: static; box-shadow: none; }
  .mobile-scroll-hint { display: block; font-size: 10px; color: hsl(var(--subtle-foreground)); padding: 8px 14px 0; margin: 0; }
  .panel-body { padding: 16px; }
  .evaluation-steps { gap: 7px; }
  .evaluation-steps li { font-size: 11px; gap: 6px; }
  .evaluation-steps li+li:before { width: 12px; margin: 0; }
  .evaluation-workspace { grid-template-columns: 1fr; }
  .sticky-save { gap: 10px; padding: 12px; }
  .sticky-save .actions { width: 100%; }
  .sticky-save button { padding: 9px; }
  .radar { max-height: 350px; }
  .radar-key { justify-content: start; padding-left: 16px; }
  .workspace-access { font-size: 10px; }
  .summary { font-size: 12px; }
  dialog { max-width: calc(100vw - 24px); }
  .dialog-body { padding: 16px; }
}
@media print {
  .app-shell,.sidebar-collapsed { display: block; }
  .app-sidebar,.workspace-header,.filter-summary,.team-toolbar,.sidebar-backdrop,.row-action,.comparison-disclosure,.no-print { display: none !important; }
  main.workspace { max-width: none; padding: 0; }
  .team-matrix th:first-child,.team-matrix td:first-child,.matrix-action-cell { position: static; box-shadow: none; }
  .panel { box-shadow: none; }
}
