:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #152033;
  background: #f5f7fb;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --navy: #0b1220;
  --navy-2: #111a2d;
  --text: #152033;
  --muted: #68758a;
  --line: #e4e9f1;
  --panel: #ffffff;
  --blue: #315efb;
  --blue-2: #2349d8;
  --cyan: #00b8d9;
  --green: #12845f;
  --green-bg: #e9f7f1;
  --amber: #a9690f;
  --amber-bg: #fff6e7;
  --red: #b93a43;
  --red-bg: #fff0f1;
  --radius: 18px;
  --shadow: 0 18px 40px rgba(17, 31, 58, .08);
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: #f5f7fb; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
strong { font-weight: 680; }

.loading-wrap { min-height: 100vh; display: grid; place-items: center; gap: 12px; color: var(--muted); align-content: center; }
.spinner { width: 28px; height: 28px; border: 3px solid #dce4f2; border-top-color: var(--blue); border-radius: 999px; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 258px minmax(0,1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; background: var(--navy); color: #d7deeb; padding: 22px 17px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.06); }
.brand { display: flex; align-items: center; gap: 10px; }
.brand-mark { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; color: white; background: linear-gradient(145deg, var(--blue), #6a43ff); box-shadow: 0 8px 24px rgba(49,94,251,.28); }
.brand > div:last-child { display: flex; flex-direction: column; }
.brand strong { font-size: 18px; color: white; letter-spacing: -.02em; }
.brand span { font-size: 10px; color: #8f9ab0; margin-top: 1px; }
.org-switcher { margin: 24px 0 16px; display: grid; grid-template-columns: 18px minmax(0,1fr) 14px; gap: 8px; align-items: center; border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.04); border-radius: 12px; padding: 9px 10px; }
.org-switcher select { min-width: 0; border: 0; outline: 0; color: white; background: transparent; appearance: none; font-size: 13px; font-weight: 620; }
.org-switcher option { color: #111; }
.side-nav { display: grid; gap: 5px; }
.side-nav a { padding: 10px 11px; display: flex; gap: 10px; align-items: center; border-radius: 10px; color: #9ea9bb; font-size: 14px; transition: .18s ease; }
.side-nav a:hover { background: rgba(255,255,255,.06); color: white; }
.side-nav a.active { color: white; background: linear-gradient(90deg, rgba(49,94,251,.28), rgba(49,94,251,.08)); box-shadow: inset 2px 0 var(--blue); }
.sidebar-card { margin-top: auto; padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.035); display: grid; gap: 6px; }
.sidebar-card svg { color: #7a97ff; }
.sidebar-card strong { color: #fff; font-size: 13px; }
.sidebar-card span { color: #8491a7; font-size: 11px; line-height: 1.45; }
.sidebar-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid rgba(255,255,255,.07); padding-top: 14px; margin-top: 14px; }
.user-mini { min-width: 0; display: flex; gap: 9px; align-items: center; }
.avatar { width: 32px; height: 32px; border-radius: 10px; background: #23304b; color: #bcd0ff; display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.user-mini > div:last-child { display: flex; flex-direction: column; min-width: 0; }
.user-mini strong { color: #fff; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 130px; }
.user-mini span { color: #78869e; font-size: 10px; }
.main-area { min-width: 0; }
.page { padding: 36px clamp(22px, 4vw, 54px) 70px; max-width: 1550px; margin: 0 auto; }
.page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-head h1 { margin: 4px 0 6px; font-size: clamp(28px, 3vw, 38px); letter-spacing: -.045em; line-height: 1.05; color: #101b2d; }
.page-head p, .panel p { margin: 0; color: var(--muted); font-size: 14px; }
.eyebrow { display: flex; align-items: center; gap: 6px; color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.head-actions { display: flex; gap: 9px; flex-wrap: wrap; justify-content: flex-end; }

.button { border: 1px solid transparent; border-radius: 10px; min-height: 38px; padding: 8px 13px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; font-size: 13px; font-weight: 680; transition: .18s ease; }
.button.primary { color: white; background: var(--blue); box-shadow: 0 6px 16px rgba(49,94,251,.22); }
.button.primary:hover { background: var(--blue-2); transform: translateY(-1px); }
.button.secondary { background: white; color: #25334a; border-color: #dce3ee; }
.button.secondary:hover { border-color: #c5d0e0; background: #fbfcff; }
.button.ghost { color: #536078; background: transparent; border-color: transparent; }
.button.ghost:hover { background: #f2f5f9; }
.button.danger { color: var(--red); }
.button.full { width: 100%; }
.button:disabled { opacity: .52; cursor: not-allowed; transform: none !important; }
.icon-button { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 9px; color: #728097; background: transparent; }
.icon-button:hover { color: #1c2a40; background: #eef2f7; }
.icon-button.danger-icon { color: #b4232f; }
.icon-button.danger-icon:hover { color: #941b25; background: #fff0f1; }
.icon-button.danger-icon:disabled { opacity: .45; cursor: wait; }
.sidebar .icon-button:hover { color: white; background: rgba(255,255,255,.07); }

.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.stat-card { min-height: 122px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; display: flex; gap: 14px; box-shadow: 0 6px 22px rgba(17,31,58,.035); }
.stat-icon { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: #eef3ff; color: var(--blue); flex: 0 0 auto; }
.stat-label { color: #758196; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.stat-value { margin-top: 4px; color: #111c2e; font-size: 28px; font-weight: 760; letter-spacing: -.04em; }
.stat-hint { margin-top: 4px; color: #8490a3; font-size: 11px; }
.dashboard-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; }
.panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 21px; box-shadow: 0 6px 22px rgba(17,31,58,.035); }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.panel h2 { margin: 0 0 5px; font-size: 16px; letter-spacing: -.02em; }
.score-pill { border-radius: 999px; padding: 7px 10px; font-size: 12px; font-weight: 800; }
.score-pill.good { color: var(--green); background: var(--green-bg); }.score-pill.warn { color: var(--amber); background: var(--amber-bg); }.score-pill.bad { color: var(--red); background: var(--red-bg); }
.progress { margin: 22px 0; height: 9px; background: #edf1f6; border-radius: 999px; overflow: hidden; }
.progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--cyan)); }
.readiness-list { display: grid; gap: 11px; }
.readiness-list > div { display: flex; gap: 9px; align-items: center; color: #546176; font-size: 13px; }
.readiness-list svg { color: var(--green); }.readiness-list .warning-row svg { color: var(--amber); }
.activity-list { margin-top: 12px; display: grid; }
.activity-list > div { display: flex; gap: 11px; padding: 10px 0; border-bottom: 1px solid #eef1f5; }
.activity-list > div:last-child { border-bottom: 0; }
.activity-dot { width: 8px; height: 8px; border-radius: 99px; background: var(--blue); margin-top: 5px; box-shadow: 0 0 0 4px #edf2ff; }
.activity-list > div > div:last-child { display: flex; flex-direction: column; }
.activity-list strong { font-size: 13px; }.activity-list span { font-size: 11px; color: #8a96a7; margin-top: 2px; }

.toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.search { width: min(430px, 100%); display: flex; align-items: center; gap: 8px; border: 1px solid #dce3ed; background: white; border-radius: 11px; padding: 0 11px; }
.search svg { color: #8a96a8; }.search input { width: 100%; min-height: 40px; border: 0; outline: 0; background: transparent; color: var(--text); }
.toolbar-stats { display: flex; gap: 14px; color: #718096; font-size: 12px; }.toolbar-stats span { display: flex; align-items: center; gap: 5px; }
.table-card { overflow: auto; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 6px 22px rgba(17,31,58,.035); }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th { text-align: left; color: #7d899b; background: #fafbfd; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; padding: 12px 15px; border-bottom: 1px solid var(--line); }
td { padding: 13px 15px; border-bottom: 1px solid #edf1f5; font-size: 13px; color: #445167; }
tbody tr:last-child td { border-bottom: 0; }
.file-cell { display: flex; gap: 10px; align-items: center; min-width: 230px; }.file-cell > div:last-child { display: flex; flex-direction: column; }.file-cell strong { color: #1a2638; }.file-cell span { color: #8a95a7; font-size: 11px; margin-top: 2px; }
.file-icon { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: #eff4ff; color: var(--blue); flex: 0 0 auto; }.file-icon.large { width: 40px; height: 40px; }
.tag { display: inline-block; background: #f0f3f8; color: #617087; padding: 5px 7px; border-radius: 7px; font-size: 11px; font-weight: 650; }
.status { width: fit-content; display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 5px 7px; font-size: 10px; font-weight: 760; text-transform: uppercase; letter-spacing: .03em; }.status.good { color: var(--green); background: var(--green-bg); }.status.warn { color: var(--amber); background: var(--amber-bg); }.status.bad { color: var(--red); background: var(--red-bg); }

.empty-state { min-height: 360px; background: white; border: 1px dashed #d5deea; border-radius: var(--radius); display: grid; place-items: center; align-content: center; text-align: center; padding: 30px; }
.empty-icon { width: 52px; height: 52px; border-radius: 16px; background: #eff4ff; color: var(--blue); display: grid; place-items: center; }.empty-state h3 { margin: 13px 0 5px; font-size: 17px; }.empty-state p { max-width: 480px; margin: 0 0 16px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.notice { margin: 12px 0 16px; border: 1px solid #dce5f5; background: #f4f7ff; color: #44536d; padding: 10px 12px; border-radius: 10px; font-size: 12px; line-height: 1.45; }.notice.error { border-color: #ffd5d8; background: var(--red-bg); color: var(--red); }.notice.subtle { margin: 0; background: #fafbfe; }

.fact-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }.fact-card { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 17px; min-height: 210px; display: flex; flex-direction: column; box-shadow: 0 6px 22px rgba(17,31,58,.035); }.fact-card-head { display: flex; justify-content: space-between; gap: 10px; }.fact-icon { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: #eff4ff; color: var(--blue); }.fact-label { margin-top: 14px; color: #748095; font-size: 11px; font-weight: 700; text-transform: uppercase; }.fact-value { margin-top: 5px; font-size: 18px; line-height: 1.35; color: #152033; font-weight: 720; word-break: break-word; }.fact-meta { margin-top: auto; padding-top: 15px; display: flex; flex-direction: column; gap: 3px; color: #929dae; font-size: 10px; }.fact-actions { margin-top: 9px; display: flex; gap: 6px; }

.questionnaire-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 15px; }.questionnaire-card { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; min-height: 210px; display: flex; flex-direction: column; box-shadow: 0 6px 22px rgba(17,31,58,.035); transition: .18s ease; }.questionnaire-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); border-color: #cfd8e6; }.questionnaire-top { display: flex; justify-content: space-between; align-items: flex-start; }.questionnaire-card h3 { margin: 15px 0 4px; color: #152033; font-size: 17px; }.questionnaire-card p { margin: 0; color: var(--muted); font-size: 12px; }.questionnaire-meta { margin-top: auto; padding-top: 18px; display: flex; gap: 10px; flex-wrap: wrap; color: #8793a6; font-size: 10px; }
.detail-back { margin-bottom: 18px; }.detail-back a { display: inline-flex; gap: 6px; align-items: center; font-size: 12px; color: #617088; }.detail-back a:hover { color: var(--blue); }
.question-list { display: grid; gap: 11px; }.question-card { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 13px; background: white; border: 1px solid var(--line); border-radius: 15px; padding: 15px; }.question-number { width: 34px; height: 34px; border-radius: 9px; background: #f1f4f9; color: #657287; display: grid; place-items: center; font-size: 11px; font-weight: 800; }.question-body h3 { margin: 3px 0 11px; font-size: 14px; line-height: 1.45; color: #1b2739; }.answer-empty { display: flex; gap: 6px; align-items: center; color: #8a96a6; font-size: 11px; }.answer-box { border: 1px solid #dce6f5; background: #f8faff; border-radius: 11px; padding: 12px; }.answer-box.missing { border-color: #f3d9ae; background: #fffaf1; }.answer-label { display: flex; justify-content: space-between; color: #728097; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }.answer-label span { color: var(--blue); }.answer-text { margin: 7px 0; color: #26344b; font-size: 13px; line-height: 1.5; white-space: pre-wrap; }.evidence-line { color: #8c97a8; font-size: 10px; }.answer-actions { margin-top: 10px; display: flex; gap: 7px; }

.answer-memory-list { display: grid; gap: 12px; }.memory-card { background: white; border: 1px solid var(--line); border-radius: 15px; padding: 17px; }.memory-card.outdated { opacity: .64; }.memory-head, .memory-foot { display: flex; justify-content: space-between; gap: 12px; align-items: center; }.memory-card h3 { margin: 12px 0 6px; font-size: 14px; color: #1b273a; }.memory-card p { margin: 0 0 12px; color: #536178; line-height: 1.5; font-size: 13px; }.memory-foot { border-top: 1px solid #edf1f5; padding-top: 9px; color: #8d98a9; font-size: 10px; }
.settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }.settings-card { display: grid; gap: 15px; }.settings-title { display: flex; gap: 10px; align-items: center; }.settings-title svg { color: var(--blue); }.settings-title h2 { margin: 0; }.settings-title p { font-size: 11px; }.security-row { display: flex; gap: 8px; flex-wrap: wrap; }

label { display: grid; gap: 6px; color: #536078; font-size: 11px; font-weight: 700; }
input, textarea, select { width: 100%; border: 1px solid #d8e0eb; border-radius: 10px; padding: 10px 11px; outline: 0; background: white; color: #1c293d; font-size: 13px; transition: .15s ease; }
input:focus, textarea:focus, select:focus { border-color: #9bb0ff; box-shadow: 0 0 0 3px #edf1ff; }
textarea { resize: vertical; min-height: 90px; }.optional { color: #9ba5b5; font-weight: 500; }
.stack { display: grid; gap: 13px; }.drop-zone { min-height: 130px; border: 1px dashed #cbd6e5; border-radius: 13px; background: #fafcff; display: grid; place-items: center; align-content: center; text-align: center; cursor: pointer; padding: 18px; }.drop-zone svg { color: var(--blue); }.drop-zone strong { color: #344258; margin-top: 7px; }.drop-zone span { color: #8a96a6; font-size: 10px; font-weight: 500; margin-top: 3px; }
.modal-backdrop { position: fixed; inset: 0; z-index: 100; background: rgba(8,15,27,.54); backdrop-filter: blur(4px); display: grid; place-items: center; padding: 20px; }.modal { width: min(510px,100%); max-height: 90vh; overflow: auto; background: white; border-radius: 18px; box-shadow: 0 28px 80px rgba(0,0,0,.22); padding: 20px; }.modal-wide { width: min(820px,100%); }.modal-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 17px; }.modal-head h2 { margin: 0; font-size: 17px; }

.auth-layout { min-height: 100vh; display: grid; grid-template-columns: 1.1fr .9fr; background: white; }.auth-story { padding: 34px clamp(30px,6vw,86px); background: radial-gradient(circle at 80% 15%, rgba(49,94,251,.23), transparent 34%), linear-gradient(145deg,#0b1220,#111d35 70%,#152548); color: white; display: flex; flex-direction: column; }.auth-brand { width: fit-content; }.auth-copy { max-width: 670px; margin: auto 0; }.auth-copy .eyebrow { color: #9ab0ff; }.auth-copy h1 { margin: 14px 0 16px; max-width: 620px; font-size: clamp(38px,5vw,67px); letter-spacing: -.055em; line-height: .98; }.auth-copy > p { max-width: 580px; color: #aeb9ca; line-height: 1.6; font-size: 15px; }.auth-benefits { margin-top: 34px; display: grid; gap: 13px; max-width: 520px; }.auth-benefits > div { display: flex; gap: 11px; align-items: flex-start; }.auth-benefits svg { color: #8fa9ff; margin-top: 2px; }.auth-benefits span { display: flex; flex-direction: column; }.auth-benefits strong { font-size: 13px; }.auth-benefits small { margin-top: 2px; color: #8795ab; font-size: 11px; }.auth-panel { display: grid; place-items: center; padding: 28px; background: #f7f9fc; }.auth-card { width: min(420px,100%); background: white; border: 1px solid var(--line); border-radius: 20px; padding: 26px; box-shadow: var(--shadow); display: grid; gap: 15px; }.auth-card h2 { margin: 0 0 4px; font-size: 22px; letter-spacing: -.03em; }.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; background: #f2f5f9; padding: 3px; border-radius: 10px; }.auth-tabs button { border: 0; border-radius: 8px; background: transparent; padding: 8px; color: #7b8799; font-size: 12px; font-weight: 700; }.auth-tabs button.active { background: white; color: #223048; box-shadow: 0 2px 8px rgba(17,31,58,.08); }
.onboarding-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 20% 10%, #edf2ff, transparent 32%), #f6f8fb; }.onboarding-card { width: min(480px,100%); background: white; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); padding: 28px; display: grid; gap: 15px; }.onboarding-card .brand { margin-bottom: 10px; }.step-chip { width: fit-content; color: var(--green); background: var(--green-bg); padding: 6px 8px; border-radius: 999px; font-size: 10px; font-weight: 750; display: flex; gap: 5px; align-items: center; }.onboarding-icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; color: var(--blue); background: #eef3ff; }.onboarding-card h1 { margin: 0; font-size: 28px; letter-spacing: -.04em; }.onboarding-card form { display: grid; gap: 13px; }
.muted { color: var(--muted); }.small { font-size: 11px !important; }.skeleton-lines { height: 160px; margin-top: 12px; border-radius: 10px; background: linear-gradient(100deg,#f2f4f8 20%,#fafbfc 40%,#f2f4f8 60%); background-size: 200% 100%; animation: shimmer 1.2s linear infinite; } @keyframes shimmer { to { background-position-x: -200%; } }

@media (max-width: 1100px) {
  .stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fact-grid, .questionnaire-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: sticky; z-index: 20; height: auto; padding: 12px 14px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; }
  .brand span, .sidebar-card, .sidebar-footer { display: none; }
  .org-switcher { margin: 0 0 0 auto; width: min(270px,100%); }
  .side-nav { grid-column: 1/-1; display: flex; overflow-x: auto; padding-top: 9px; }
  .side-nav a { white-space: nowrap; padding: 8px 9px; font-size: 12px; }
  .page { padding: 24px 16px 60px; }
  .dashboard-grid, .settings-grid { grid-template-columns: 1fr; }
  .auth-layout { grid-template-columns: 1fr; }.auth-story { min-height: 410px; padding: 26px; }.auth-copy h1 { font-size: 42px; }.auth-panel { padding: 20px; }
}
@media (max-width: 620px) {
  .page-head { flex-direction: column; }.head-actions { width: 100%; justify-content: flex-start; }.stats-grid, .fact-grid, .questionnaire-grid { grid-template-columns: 1fr; }.toolbar { align-items: stretch; flex-direction: column; }.toolbar-stats { justify-content: space-between; }.question-card { grid-template-columns: 1fr; }.question-number { width: fit-content; min-width: 34px; padding: 0 8px; }.auth-copy h1 { font-size: 36px; }.auth-benefits { display: none; }
}
.answer-editor { margin: 8px 0; background: white; min-height: 78px; line-height: 1.5; }

/* Certivo v0.2 */
.button.compact { min-height: 32px; padding: 6px 9px; font-size: 11px; }
.table-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.upload-intro { display: flex; gap: 11px; align-items: center; padding: 12px; border-radius: 12px; background: #f4f7ff; border: 1px solid #e4eaff; }
.upload-intro .mini-icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: white; color: var(--blue); box-shadow: 0 4px 12px rgba(49,94,251,.08); }
.upload-intro > div:last-child { display: grid; gap: 2px; }
.upload-intro strong { font-size: 12px; color: #243149; }
.upload-intro span { color: #718096; font-size: 10px; line-height: 1.45; }

.readiness-checklist { margin-top: 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.readiness-item { min-width: 0; display: grid; grid-template-columns: 18px minmax(0,1fr) auto; gap: 9px; align-items: start; padding: 10px; border: 1px solid #edf0f5; border-radius: 11px; background: #fbfcfe; }
.readiness-item > svg { margin-top: 1px; color: #9aa5b5; }
.readiness-item.complete { border-color: #d9eee7; background: #f7fcfa; }
.readiness-item.complete > svg { color: var(--green); }
.readiness-item.review { border-color: #f1dfbe; background: #fffaf1; }
.readiness-item.review > svg { color: var(--amber); }
.readiness-item > div { display: grid; gap: 2px; }
.readiness-item strong { font-size: 11px; color: #26344a; }
.readiness-item span { color: #8591a3; font-size: 9px; line-height: 1.4; }
.readiness-item b { color: #9aa5b5; font-size: 9px; font-weight: 750; }
.readiness-summary { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 14px; padding-top: 13px; border-top: 1px solid #edf0f5; color: #69768a; font-size: 10px; }
.readiness-summary span { display: inline-flex; align-items: center; gap: 5px; }
.readiness-summary svg { color: var(--green); }
.readiness-summary .warning-row svg { color: var(--amber); }

.analysis-head { margin-bottom: 18px; }
.analysis-notice { margin-bottom: 16px; }
.analysis-summary-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.analysis-source-card { display: flex; gap: 12px; align-items: center; min-width: 0; }
.analysis-source-icon { width: 44px; height: 44px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; color: var(--blue); background: #edf2ff; }
.analysis-source-card > div:last-child { min-width: 0; display: grid; gap: 2px; }
.analysis-source-card span, .analysis-metric span { color: #8692a5; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.analysis-source-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #1d2a3f; font-size: 13px; }
.analysis-source-card small, .analysis-metric small { color: #8995a6; font-size: 9px; }
.analysis-metric { display: grid; align-content: center; gap: 3px; }
.analysis-metric strong { font-size: 28px; letter-spacing: -.04em; color: #142137; }
.analysis-empty { min-height: 390px; text-align: center; display: grid; place-items: center; align-content: center; padding: 36px; }
.analysis-hero-icon { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 18px; background: linear-gradient(145deg,#eef3ff,#f4efff); color: var(--blue); margin-bottom: 8px; }
.analysis-empty h2 { margin: 8px 0 5px; font-size: 20px; }
.analysis-empty > p { max-width: 630px; line-height: 1.6; margin-bottom: 18px; }
.analysis-steps { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 20px; }
.analysis-steps span { display: inline-flex; gap: 6px; align-items: center; padding: 7px 9px; border: 1px solid #e4e9f1; border-radius: 999px; color: #617087; font-size: 10px; background: #fbfcfe; }
.analysis-steps b { width: 19px; height: 19px; border-radius: 999px; display: grid; place-items: center; background: #eaf0ff; color: var(--blue); font-size: 9px; }
.review-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 16px; align-items: start; }
.review-list { display: grid; gap: 10px; }
.section-title h2 { margin: 0 0 4px; font-size: 18px; }
.section-title p { margin: 0 0 4px; color: var(--muted); font-size: 12px; }
.review-card { border: 1px solid var(--line); background: white; border-radius: 15px; padding: 15px; display: grid; gap: 12px; }
.review-card-main { display: flex; gap: 11px; min-width: 0; }
.review-icon { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; background: #eef3ff; color: var(--blue); }
.review-content { min-width: 0; flex: 1; }
.review-kicker { color: #7b8799; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.review-value { margin: 5px 0; color: #172439; font-size: 17px; font-weight: 730; line-height: 1.35; word-break: break-word; }
.review-source { color: #8995a7; font-size: 9px; }
.review-content blockquote { margin: 10px 0 0; border-left: 2px solid #b8c8ff; padding: 8px 10px; color: #637187; background: #fafbfe; border-radius: 0 8px 8px 0; font-size: 10px; line-height: 1.55; }
.review-actions { border-top: 1px solid #edf0f5; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.review-principle { position: sticky; top: 24px; display: grid; gap: 9px; }
.review-principle > svg { color: var(--blue); }
.review-principle h3 { margin: 0; font-size: 15px; }
.review-principle p { line-height: 1.55; font-size: 11px; }
.principle-row { display: flex; align-items: center; gap: 7px; color: #5e6b80; font-size: 10px; }
.principle-row svg { color: var(--green); }
.spin-icon { animation: spin .8s linear infinite; vertical-align: middle; }

.onboarding-page.v2 { padding: 28px; }
.onboarding-shell { width: min(980px,100%); display: grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; box-shadow: 0 24px 70px rgba(17,31,58,.12); background: white; }
.onboarding-card.v2-card { width: auto; border: 0; border-radius: 0; box-shadow: none; padding: clamp(28px,4vw,46px); }
.onboarding-progress { display: grid; grid-template-columns: auto 1fr auto auto 1fr auto auto; align-items: center; gap: 7px; color: #9aa5b6; font-size: 9px; font-weight: 750; }
.onboarding-progress i { height: 1px; background: #e6eaf1; }
.onboarding-progress span { width: 23px; height: 23px; border: 1px solid #dfe5ef; border-radius: 999px; display: grid; place-items: center; font-style: normal; }
.onboarding-progress span.done { width: auto; padding: 0 8px; color: var(--green); border-color: #d5ece3; background: #f2fbf7; display: flex; gap: 4px; }
.onboarding-progress span.active { color: white; border-color: var(--blue); background: var(--blue); }
.onboarding-progress b { color: #66748a; font-size: 9px; }
.onboarding-lead { margin-top: 7px; line-height: 1.55; }
.onboarding-submit { margin-top: 3px; min-height: 43px; }
.onboarding-trust { display: flex; align-items: flex-start; gap: 7px; color: #7c899b; font-size: 9px; line-height: 1.45; padding-top: 4px; }
.onboarding-trust svg { flex: 0 0 auto; color: var(--green); }
.onboarding-side { padding: clamp(30px,4vw,48px); background: radial-gradient(circle at 80% 15%, rgba(49,94,251,.25), transparent 35%), linear-gradient(145deg,#0b1220,#13203a 72%,#182c4e); color: white; display: flex; flex-direction: column; justify-content: center; gap: 17px; }
.onboarding-side .eyebrow.light { color: #9db2ff; }
.onboarding-side h2 { margin: 8px 0 8px; max-width: 400px; font-size: 30px; letter-spacing: -.04em; line-height: 1.08; }
.onboarding-side > div:first-child > p { margin: 0; color: #a8b5c8; line-height: 1.6; font-size: 12px; }
.onboarding-benefit { display: flex; gap: 11px; align-items: flex-start; padding: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.035); }
.onboarding-benefit > div { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; background: rgba(87,119,255,.16); color: #92aaff; }
.onboarding-benefit span { display: grid; gap: 2px; }
.onboarding-benefit strong { color: white; font-size: 11px; }
.onboarding-benefit small { color: #8f9db1; font-size: 9px; line-height: 1.4; }

@media (max-width: 1050px) {
  .analysis-summary-grid { grid-template-columns: 1fr 1fr; }
  .analysis-source-card { grid-column: 1/-1; }
  .review-layout { grid-template-columns: 1fr; }
  .review-principle { position: static; }
  .onboarding-shell { grid-template-columns: 1fr; max-width: 610px; }
  .onboarding-side { display: none; }
}
@media (max-width: 820px) {
  .readiness-checklist { grid-template-columns: 1fr; }
  .table-card { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .table-card table { min-width: 760px; }
}
@media (max-width: 620px) {
  .analysis-summary-grid { grid-template-columns: 1fr; }
  .analysis-source-card { grid-column: auto; }
  .analysis-empty { min-height: 330px; padding: 24px 18px; }
  .analysis-steps { display: grid; width: 100%; }
  .analysis-steps span { justify-content: flex-start; border-radius: 10px; }
  .review-card-main { align-items: flex-start; }
  .review-actions { align-items: stretch; }
  .review-actions .button { width: 100%; }
  .onboarding-page.v2 { padding: 12px; }
  .onboarding-card.v2-card { padding: 24px 20px; }
  .onboarding-progress { grid-template-columns: auto 1fr auto auto; }
  .onboarding-progress i:nth-of-type(2), .onboarding-progress span:last-of-type, .onboarding-progress b:last-of-type { display: none; }
}


/* Professional destructive confirmation */
.button.danger { background: #b42318; color: #fff; border-color: #b42318; }
.button.danger:hover { background: #912018; border-color: #912018; transform: translateY(-1px); }
.button.danger:disabled { opacity: .58; cursor: wait; transform: none; }
.delete-confirmation { display: grid; grid-template-columns: 48px 1fr; gap: 14px; }
.delete-warning-icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: #fff1f0; color: #b42318; border: 1px solid #fecdca; }
.delete-copy strong { display: block; font-size: 16px; color: #101828; margin: 2px 0 6px; }
.delete-copy p { margin: 0; color: #667085; line-height: 1.55; }
.delete-file-name { color: #344054; font-weight: 700; word-break: break-word; }
.delete-warning-box { margin-top: 14px; border-radius: 12px; padding: 12px 13px; background: #fff8f7; border: 1px solid #fee4e2; color: #7a271a; font-size: 13px; line-height: 1.5; }
.delete-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; padding-top: 4px; }
@media (max-width: 560px) { .delete-confirmation { grid-template-columns: 42px 1fr; }.delete-warning-icon { width: 42px; height: 42px; }.delete-actions { display: grid; grid-template-columns: 1fr 1fr; }.delete-actions .button { justify-content: center; } }

/* Certivo v0.3 questionnaire workspace */
.questionnaire-preview { border: 1px solid #dfe6f1; background: #f8faff; border-radius: 13px; padding: 13px; }
.preview-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.preview-head strong { font-size:13px; color:#17243a; }
.preview-list { display:grid; gap:7px; }
.preview-list > div { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:8px; background:#fff; border:1px solid #e9eef5; border-radius:9px; padding:8px 9px; }
.preview-list b { width:24px; height:24px; border-radius:7px; background:#edf3ff; color:#3563ff; display:grid; place-items:center; font-size:10px; }
.preview-list span { color:#39485f; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.preview-list small { color:#98a3b3; font-size:9px; }
.preview-more { margin-top:8px; color:#78869a; font-size:10px; font-weight:700; }
.questionnaire-meta .warn { color:#b86b00; }.questionnaire-meta .bad { color:#c23a46; }
.questionnaire-meta span { display:inline-flex; align-items:center; gap:4px; }
.questionnaire-progress-panel { background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; margin-bottom:14px; box-shadow:0 6px 22px rgba(17,31,58,.025); }
.progress-copy { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:11px; }
.progress-copy > div:first-child { display:grid; gap:3px; }.progress-copy strong { font-size:14px; color:#17243a; }.progress-copy span { font-size:10px; color:#8190a5; }
.progress-mini-stats { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }.progress-mini-stats span { font-weight:700; }.progress-mini-stats .good{color:#11845b}.progress-mini-stats .warn{color:#b66a00}.progress-mini-stats .bad{color:#c7444f}
.question-filterbar { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin:0 0 12px; }
.filter-label { display:flex; align-items:center; gap:5px; color:#7d899c; font-size:10px; font-weight:800; text-transform:uppercase; margin-right:2px; }
.filter-chip { border:1px solid #dde5ef; background:#fff; color:#617086; border-radius:999px; padding:7px 11px; font:inherit; font-size:10px; font-weight:700; cursor:pointer; transition:.15s ease; }
.filter-chip:hover { border-color:#bfcce0; color:#29405e; }.filter-chip.active { background:#edf3ff; border-color:#cbd9ff; color:#2f5df4; }
.filter-count { margin-left:auto; font-size:10px; }
.filter-chips { display:flex; gap:7px; flex-wrap:wrap; }.compact-chips { justify-content:flex-end; }
.question-title-row { display:flex; gap:10px; align-items:flex-start; justify-content:space-between; }.question-title-row h3 { flex:1; }
.source-badge { white-space:nowrap; border-radius:999px; padding:5px 8px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.source-badge.reused { background:#f0ecff; color:#6a4ad7; }
.missing-action { margin:9px 0; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; background:#fff; border:1px solid #f0dcb7; border-radius:9px; padding:10px; color:#9d6714; }
.missing-action > div { display:grid; gap:2px; }.missing-action strong { font-size:11px; color:#84520b; }.missing-action span { font-size:10px; color:#9c7a48; }
.question-card.approved { border-color:#d9eee5; }.question-card.rejected { border-color:#efd7da; }
.memory-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.memory-summary > div { background:#fff; border:1px solid var(--line); border-radius:13px; padding:13px 15px; display:grid; gap:2px; }
.memory-summary strong { color:#17243a; font-size:20px; }.memory-summary span { color:#8793a6; font-size:10px; }
.memory-foot > div { display:grid; gap:2px; }.memory-foot strong { color:#59677b; font-size:10px; }.memory-foot span { color:#98a3b3; font-size:9px; }
@media(max-width:720px){
  .preview-list > div { grid-template-columns:28px minmax(0,1fr); }.preview-list small{display:none}
  .progress-copy { flex-direction:column; }.progress-mini-stats{justify-content:flex-start}
  .filter-count{width:100%; margin-left:0}.question-title-row{flex-direction:column}.missing-action{grid-template-columns:auto 1fr}.missing-action .button{grid-column:1/-1;width:100%}
  .memory-summary{grid-template-columns:1fr 1fr 1fr}.compact-chips{justify-content:flex-start}
}

/* Certivo v0.4 - Compliance Center */
.compliance-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.compliance-stat { min-height: 84px; display: flex; align-items: center; gap: 12px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: 0 5px 18px rgba(17,31,58,.03); }
.compliance-stat > svg { width: 36px; height: 36px; padding: 9px; border-radius: 10px; flex: 0 0 auto; }
.compliance-stat > div { display: grid; gap: 2px; }
.compliance-stat strong { color: #152033; font-size: 23px; line-height: 1; }
.compliance-stat span { color: #7c899d; font-size: 10px; font-weight: 700; }
.compliance-stat.good > svg { color: var(--green); background: var(--green-bg); }
.compliance-stat.warn > svg { color: var(--amber); background: var(--amber-bg); }
.compliance-stat.bad > svg { color: var(--red); background: var(--red-bg); }
.compliance-stat.neutral > svg { color: var(--blue); background: #eef3ff; }
.compliance-center { padding: 0; overflow: hidden; }
.compliance-toolbar { padding: 19px 20px; border-bottom: 1px solid #edf1f5; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.compliance-toolbar h2 { margin: 0 0 4px; font-size: 16px; }
.compliance-toolbar p { font-size: 11px; }
.filter-tabs { display: flex; gap: 5px; flex-wrap: wrap; padding: 3px; background: #f3f6fa; border-radius: 10px; }
.filter-tabs button { border: 0; background: transparent; color: #758297; padding: 7px 9px; border-radius: 8px; font-size: 10px; font-weight: 750; }
.filter-tabs button.active { background: white; color: #22314a; box-shadow: 0 2px 7px rgba(17,31,58,.07); }
.compliance-list { display: grid; }
.compliance-row { min-width: 0; display: grid; grid-template-columns: 38px minmax(210px,1fr) 120px 150px 135px; align-items: center; gap: 12px; padding: 13px 18px; border-bottom: 1px solid #edf1f5; }
.compliance-row:last-child { border-bottom: 0; }
.compliance-row:hover { background: #fbfcfe; }
.compliance-row-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: #f2f5fa; color: #657389; }
.compliance-row.warn .compliance-row-icon { color: var(--amber); background: var(--amber-bg); }
.compliance-row.bad .compliance-row-icon { color: var(--red); background: var(--red-bg); }
.compliance-row.good .compliance-row-icon { color: var(--green); background: var(--green-bg); }
.compliance-row-main { min-width: 0; display: grid; gap: 3px; }
.compliance-row-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #1b293e; font-size: 12px; }
.compliance-row-main span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #8a96a8; font-size: 10px; }
.compliance-date { display: grid; gap: 2px; }
.compliance-date span { color: #9aa4b3; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.compliance-date strong { color: #526078; font-size: 10px; }
.compliance-status { width: fit-content; display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 6px 8px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.compliance-status.good { color: var(--green); background: var(--green-bg); }
.compliance-status.warn { color: var(--amber); background: var(--amber-bg); }
.compliance-status.bad { color: var(--red); background: var(--red-bg); }
.compliance-status.neutral { color: #68758a; background: #f0f3f7; }
.compliance-actions { display: flex; justify-content: flex-end; }
.compliance-actions > div { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.compliance-empty { min-height: 270px; display: grid; place-items: center; align-content: center; text-align: center; color: #7d8a9d; padding: 30px; }
.compliance-empty svg { color: #8ea4ff; margin-bottom: 8px; }
.compliance-empty h3 { color: #26344a; margin: 3px 0 5px; font-size: 15px; }
.compliance-empty p { max-width: 450px; font-size: 11px; line-height: 1.55; }
.form-grid-2 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.checkbox-row { display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: start; gap: 9px; padding: 11px; border: 1px solid #dfe5ee; border-radius: 11px; background: #fafcff; }
.checkbox-row input { width: 16px; height: 16px; margin-top: 1px; }
.checkbox-row span { display: grid; gap: 2px; }
.checkbox-row strong { color: #29374d; font-size: 11px; }
.checkbox-row small { color: #8491a4; font-size: 9px; line-height: 1.4; }
@media (max-width: 1050px) {
  .compliance-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .compliance-row { grid-template-columns: 38px minmax(180px,1fr) 110px 140px; }
  .compliance-actions { grid-column: 2/-1; justify-content: flex-start; }
}
@media (max-width: 760px) {
  .compliance-toolbar { align-items: stretch; flex-direction: column; }
  .filter-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .compliance-row { grid-template-columns: 36px minmax(0,1fr); gap: 9px 11px; }
  .compliance-date, .compliance-row > .compliance-status, .compliance-actions { grid-column: 2; }
  .compliance-actions { justify-content: flex-start; }
  .form-grid-2 { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .compliance-stats { grid-template-columns: 1fr 1fr; }
  .compliance-stat { padding: 12px; min-height: 74px; }
  .compliance-stat strong { font-size: 20px; }
}


/* v0.5 Team & access */
.team-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.team-stat { min-height:82px; display:flex; gap:12px; align-items:center; padding:15px 17px; background:#fff; border:1px solid var(--line); border-radius:15px; box-shadow:0 5px 18px rgba(17,31,58,.03); }
.team-stat > svg { width:36px; height:36px; padding:9px; color:var(--blue); background:#eef3ff; border-radius:10px; }
.team-stat.good > svg { color:var(--green); background:var(--green-bg); }
.team-stat.warn > svg { color:var(--amber); background:var(--amber-bg); }
.team-stat > div { display:grid; gap:2px; }
.team-stat strong { font-size:22px; line-height:1; color:#152033; }
.team-stat span { color:#7c899d; font-size:10px; font-weight:700; }
.team-panel { padding:0; overflow:hidden; }
.team-panel-head { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:18px 20px; border-bottom:1px solid #edf1f5; }
.team-panel-head h2 { margin:0 0 4px; font-size:16px; }
.team-panel-head p { font-size:11px; }
.team-list { display:grid; }
.team-row { display:grid; grid-template-columns:42px minmax(200px,1fr) 92px minmax(250px,340px) 38px; gap:12px; align-items:center; padding:13px 18px; border-bottom:1px solid #edf1f5; }
.team-row:last-child { border-bottom:0; }
.team-row:hover { background:#fbfcfe; }
.team-avatar { width:38px; height:38px; border-radius:12px; background:#edf2ff; color:var(--blue); font-weight:800; display:grid; place-items:center; }
.team-person { min-width:0; display:grid; gap:2px; }
.team-person strong { display:flex; align-items:center; gap:7px; color:#18263a; font-size:12px; }
.team-person span, .team-person small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#7e8a9d; font-size:10px; }
.you-pill { font-size:8px; line-height:1; padding:4px 6px; border-radius:999px; background:#edf2ff; color:var(--blue); }
.team-invite-status { width:fit-content; padding:6px 8px; border-radius:999px; font-size:9px; font-weight:800; }
.team-invite-status.active { color:var(--green); background:var(--green-bg); }
.team-invite-status.invited { color:var(--amber); background:var(--amber-bg); }
.team-role-cell { display:grid; gap:4px; }
.team-role-cell select { min-height:38px; }
.team-role-cell small { color:#8b96a7; font-size:9px; line-height:1.35; }
.team-empty, .team-no-access { min-height:270px; display:grid; place-items:center; align-content:center; text-align:center; gap:7px; color:#7d8a9d; }
.team-empty h3, .team-no-access h2 { margin:2px 0; color:#26344a; }
.team-empty p, .team-no-access p { max-width:480px; font-size:11px; }
.invite-intro { display:flex; gap:11px; padding:12px; border:1px solid #e7ebf2; background:#f8faff; border-radius:12px; }
.invite-intro svg { color:var(--blue); flex:0 0 auto; margin-top:2px; }
.invite-intro > div { display:grid; gap:3px; }
.invite-intro span { color:#718096; font-size:10px; line-height:1.45; }
.role-explainer { color:#657389; font-size:10px; line-height:1.5; border-left:3px solid #dce5ff; padding:7px 10px; background:#f8faff; border-radius:0 8px 8px 0; }
@media (max-width: 980px) {
  .team-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-row { grid-template-columns:42px minmax(0,1fr) 86px 180px 38px; }
}
@media (max-width: 720px) {
  .team-stats { grid-template-columns:1fr 1fr; }
  .team-panel-head { align-items:flex-start; flex-direction:column; }
  .team-row { grid-template-columns:42px minmax(0,1fr) 38px; }
  .team-invite-status, .team-role-cell { grid-column:2/4; }
  .team-role-cell { max-width:none; }
}
