:root {
  --blue: #176bff;
  --blue-dark: #0f56d9;
  --ink: #101828;
  --muted: #667085;
  --faint: #98a2b3;
  --line: #e5eaf0;
  --canvas: #f5f7fa;
  --panel: #ffffff;
  --radius: 16px;
  font-family: Inter, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  color: var(--ink);
  background: var(--canvas);
}

.development-boundary{display:grid;grid-template-columns:auto minmax(220px,auto) 1fr;align-items:center;gap:12px;margin:0 0 18px;padding:14px 18px;border:1px solid #cfe2dc;border-radius:16px;background:#f3faf7;color:#18332d}.development-boundary>span{padding:5px 9px;border-radius:999px;background:#dcefe9;color:#0f7165;font-size:12px;font-weight:800}.development-boundary small{color:#667873}.development-team-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px!important;margin-bottom:18px}.development-team-tabs button{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:2px;padding:12px 14px!important}.development-team-tabs button small{font-size:11px;font-weight:500;color:#788b86}.development-team-tabs button.active small{color:#306d64}.culture-grid,.knowledge-catalog,.learning-map-catalog,.practice-grid,.management-grid{display:grid;gap:16px}.culture-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.culture-card,.knowledge-space-panel,.learning-map-summary,.practice-card,.management-path{border:1px solid #dce7e3;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(31,60,51,.06);overflow:hidden}.culture-card>div:first-child,.knowledge-space-panel>header,.learning-map-summary>header,.practice-card>header,.management-path>header{padding:20px}.culture-card h2,.knowledge-space-panel h2,.learning-map-summary h2,.practice-card h2,.management-path h2{margin:8px 0 4px;font-size:19px}.culture-card p,.knowledge-space-panel p,.learning-map-summary p,.practice-card p,.management-path p{margin:0;color:#73817d}.knowledge-node-list,.knowledge-tree{display:grid;border-top:1px solid #e8efec}.knowledge-node-list a,.knowledge-tree a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid #edf2f0;color:#1d3932;text-decoration:none}.knowledge-node-list a:hover,.knowledge-tree a:hover{background:#f3faf7}.knowledge-node-list a span,.knowledge-type{padding:3px 7px;border-radius:7px;background:#edf5f2;color:#327568;font-size:11px}.knowledge-node-list a b{font-size:12px;color:#128176}.knowledge-space-panel>header,.learning-map-summary>header,.practice-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.knowledge-space-panel>header>strong,.practice-card>header>strong{font-size:28px;color:#167d70}.knowledge-space-panel>header>strong small,.practice-card>header>strong small{display:block;font-size:11px;color:#81908c;text-align:right}.knowledge-tree{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.knowledge-tree a{grid-template-columns:auto 1fr;align-items:start;border:0;border-radius:12px}.knowledge-tree a small{grid-column:2;color:#7b8b87}.map-stage-strip{padding:0 20px 20px}.map-stage-strip>strong{display:block;margin-bottom:10px}.map-stage-strip>div{display:flex;gap:8px;overflow:auto}.map-stage-strip span{min-width:150px;padding:12px;border-radius:12px;background:#f4f8f6;font-size:12px}.map-stage-strip b,.practice-card>div>span b{display:block;margin-bottom:6px;color:#168174}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-card>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 20px 20px}.practice-card>div>span{padding:11px;border-radius:12px;background:#f4f8f6;font-size:13px}.practice-card footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid #edf2f0}.management-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.management-path>div{padding:0 20px 20px}.management-path section{display:flex;gap:12px;padding:12px 0;border-top:1px solid #edf2f0}.management-path section>b{color:#168174}.management-path section strong,.management-path section small{display:block}.management-path section small{margin-top:3px;color:#7b8b87}.reports-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}

@media (max-width:1100px){.culture-grid,.management-grid{grid-template-columns:1fr 1fr}.practice-grid{grid-template-columns:1fr}.knowledge-tree{grid-template-columns:1fr}}
@media (max-width:720px){.development-boundary{grid-template-columns:1fr}.development-team-tabs,.culture-grid,.management-grid{grid-template-columns:1fr}.knowledge-space-panel>header,.learning-map-summary>header,.practice-card>header{flex-direction:column}.practice-card>div{grid-template-columns:1fr}}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--canvas); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }

.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 12% 8%, #dceaff, transparent 34%), radial-gradient(circle at 86% 90%, #e9f2ff, transparent 32%), #f5f7fa; }
.auth-card { width: min(440px, 100%); padding: 34px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.96); box-shadow: 0 24px 80px rgba(15,23,42,.12); }
.auth-brand { display: flex; align-items: center; gap: 12px; }
.auth-brand strong, .auth-brand small { display: block; }
.auth-brand strong { font-size: 15px; }
.auth-brand small { margin-top: 4px; color: var(--faint); font-size: 10px; }
.auth-copy { margin: 34px 0 24px; }
.auth-copy > span { color: var(--blue); font-size: 11px; font-weight: 700; }
.auth-copy h1 { margin: 9px 0 8px; font-size: 28px; letter-spacing: -.03em; }
.auth-copy p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.sso-login-panel { display: grid; gap: 12px; }
.sso-login-panel > small { color: var(--faint); text-align: center; font-size: 10px; line-height: 1.6; }
.sso-login-button { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; margin-top: 2px; text-decoration: none; }
.sso-login-button:disabled { cursor: progress; opacity: .86; }
.sso-login-button:disabled::after { content: ''; width: 13px; height: 13px; border: 2px solid rgba(255,255,255,.45); border-top-color: white; border-radius: 50%; animation: sso-wait .8s linear infinite; }
.sso-login-button:focus-visible { outline: 3px solid #58b6a5; outline-offset: 3px; }
@keyframes sso-wait { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .sso-login-button:disabled::after { animation: none; } }
.sso-login-icon { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; color: var(--blue); background: white; font-size: 12px; font-weight: 800; }
.login-error { min-height: 17px; margin: -4px 0 0; color: #b42318; font-size: 10px; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; display: flex; flex-direction: column; width: 252px; border-right: 1px solid var(--line); background: white; }
.brand { height: 72px; display: flex; align-items: center; gap: 11px; padding: 0 18px; border-bottom: 1px solid #f0f2f5; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; overflow: hidden; border: 1px solid #e7eaf0; border-radius: 12px; background: white; box-shadow: 0 8px 20px rgba(23,107,255,.12); }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 3px; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 14px; }
.brand small { margin-top: 3px; color: var(--faint); font-size: 10px; }

#main-nav { flex: 1; overflow-y: auto; padding: 10px 12px 14px; }
.nav-section { margin: 0 0 7px; overflow: hidden; border: 1px solid #edf0f4; border-radius: 12px; background: #fbfcfe; }
.nav-section-label { display: flex; align-items: center; justify-content: space-between; min-height: 35px; padding: 0 11px; color: #667085; cursor: pointer; list-style: none; font-size: 10px; font-weight: 700; letter-spacing: .035em; user-select: none; }
.nav-section-label::-webkit-details-marker { display: none; }
.nav-section-label:hover { color: #344054; background: #f5f7fa; }
.nav-chevron { color: #98a2b3; font-size: 15px; line-height: 1; transition: transform .16s ease; }
.nav-section[open] .nav-chevron { transform: rotate(180deg); }
.nav-section-items { padding: 0 5px 6px; border-top: 1px solid #f0f2f5; }
.nav-btn { width: 100%; display: flex; align-items: center; gap: 11px; min-height: 42px; margin: 2px 0; padding: 0 12px; border: 0; border-radius: 11px; color: #475467; background: transparent; text-align: left; text-decoration: none; font-size: 13px; transition: .16s ease; }
.nav-btn:hover { background: #f8fafc; color: var(--ink); }
.nav-btn.active { color: var(--blue); background: #eef4ff; font-weight: 650; }
.nav-icon { width: 24px; text-align: center; font-size: 15px; }
.nav-count { margin-left: auto; padding: 2px 7px; border-radius: 999px; color: #667085; background: #f2f4f7; font-size: 10px; }
.ai-note { flex: 0 0 auto; margin: 8px 12px 16px; padding: 15px; border: 0; border-radius: 15px; color: white; background: #101828; text-align:left; }
.ai-note span, .ai-note strong, .ai-note small { display: block; }
.ai-note span { color: #b9d3ff; font-size: 11px; }
.ai-note strong { margin-top: 8px; font-size: 13px; }
.ai-note small { margin-top: 5px; color: #98a2b3; font-size: 10px; line-height: 1.6; }
.ai-note .support-assistant-brand { display:flex; align-items:center; gap:8px; color:#d9e7ff; }
.support-assistant-brand img { width:34px; height:34px; border:2px solid rgba(255,255,255,.72); border-radius:11px; object-fit:cover; background:#fff; }
.support-assistant-brand b { font-size:12px; }
.support-assistant-entry { width:calc(100% - 24px); transition:transform .16s,box-shadow .16s,background .16s; }
.support-assistant-entry:hover { transform:translateY(-1px); background:#17233a; box-shadow:0 10px 24px rgba(16,24,40,.2); }
.support-assistant-entry:focus-visible { outline:3px solid #9fc0ff; outline-offset:2px; }
.support-assistant-shell { grid-column:1 / -1; display:grid; gap:16px; min-width:0; }
.support-assistant-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(270px,.8fr); gap:16px; align-items:start; }
.support-assistant-main { display:grid; gap:16px; min-width:0; }
.support-assistant-intro { display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:13px; background:linear-gradient(135deg,#fff2f6,#f7f9ff); }
.support-assistant-intro img { width:54px; height:54px; border:3px solid #fff; border-radius:16px; object-fit:cover; box-shadow:0 8px 20px rgba(234,130,166,.2); }
.support-assistant-intro strong,.support-assistant-intro small { display:block; }
.support-assistant-intro small { margin-top:4px; color:#667085; font-size:9px; line-height:1.5; }
.support-assistant-rules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#f8fafc; }
.support-rule { padding:12px; border:0; border-right:1px solid var(--line); border-radius:0; background:transparent; cursor:default; }
.support-rule:last-child { border-right:0; }
.support-rule strong,.support-rule small { display:block; }
.support-rule strong { font-size:11px; }
.support-rule small { margin-top:5px; color:var(--muted); font-size:9px; line-height:1.5; }
.support-rule.change { background:transparent; }
.support-updates-panel { min-width:0; padding:13px; border:1px solid #dce8ff; border-radius:14px; background:linear-gradient(180deg,#f8fbff,#fff); box-shadow:0 8px 24px rgba(35,92,180,.06); }
.support-updates-panel .source-fields-head { margin-bottom:10px; }
.support-updates { display:grid; gap:8px; max-height:min(58vh,560px); padding-right:5px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scroll-behavior:smooth; }
.support-updates:focus-visible { outline:3px solid #c7dbff; outline-offset:4px; border-radius:8px; }
.support-updates::-webkit-scrollbar { width:7px; }
.support-updates::-webkit-scrollbar-thumb { border-radius:99px; background:#c7d7ee; }
.support-updates::-webkit-scrollbar-track { background:transparent; }
.support-update { display:grid; grid-template-columns:auto minmax(0,1fr); gap:9px; padding:10px 12px; border:1px solid #dce8ff; border-radius:11px; background:#f7faff; }
.support-update>span { align-self:start; padding:3px 7px; border-radius:99px; color:#175cd3; background:#e9f1ff; font-size:8px; font-weight:700; }
.support-update strong,.support-update small { display:block; }
.support-update strong { font-size:10px; }
.support-update small { margin-top:3px; color:#667085; font-size:9px; line-height:1.5; }
.support-response { display:grid; grid-template-columns:32px minmax(0,1fr); gap:10px; padding:12px 14px; border:1px solid #a6e3c4; border-radius:12px; color:#05603a; background:#ecfdf3; white-space:pre-line; line-height:1.6; }
.support-response img { width:32px; height:32px; border-radius:10px; object-fit:cover; }
.support-history { display:grid; gap:7px; max-height:min(48vh,420px); overflow:auto; overscroll-behavior:contain; }
.support-history article { padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.support-history header { display:flex; justify-content:space-between; gap:10px; }
.support-history p { margin:6px 0 0; color:#475467; font-size:10px; line-height:1.5; }
.support-history small { color:#98a2b3; font-size:8px; }
.support-history .link-btn { margin-top:7px; margin-right:10px; }
@media(max-width:820px){.support-assistant-layout{grid-template-columns:1fr}.support-updates{max-height:300px}.support-assistant-rules{grid-template-columns:1fr}.support-rule{border-right:0;border-bottom:1px solid var(--line)}.support-rule:last-child{border-bottom:0}}

.main-area { padding-left: 252px; }
.topbar { position: sticky; top: 0; z-index: 10; height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 28px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); backdrop-filter: blur(14px); }
.todo-entry { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 12px; border:1px solid #cfe0ff; border-radius:10px; background:#f4f8ff; color:#164ea6; font:inherit; font-weight:700; cursor:pointer; }
.todo-entry:hover { border-color:#8fb6ff; background:#eaf2ff; }
.todo-entry b { display:grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:#246bfd; color:#fff; font-size:12px; }
.global-search { width: min(420px, 42vw); position: relative; }
.global-search span { position: absolute; left: 12px; top: 8px; color: var(--faint); font-size: 20px; }
.global-search input { width: 100%; height: 40px; padding: 0 14px 0 38px; border: 1px solid var(--line); border-radius: 11px; outline: 0; background: #f8fafc; font-size: 13px; }
.global-search input:focus { border-color: #a9c8ff; background: white; box-shadow: 0 0 0 4px #edf4ff; }
.top-actions { display: flex; align-items: center; gap: 9px; }
.session-user { display: grid; text-align: right; }
.session-user small { color: var(--faint); font-size: 8px; }
.session-user strong { margin-top: 2px; color: #344054; font-size: 11px; }
.btn.compact { min-height: 32px; padding: 0 10px; font-size: 10px; }
.role-switch { display: flex; align-items: center; gap: 7px; color: var(--faint); font-size: 10px; }
.role-switch select { height: 34px; padding: 0 8px; border: 1px solid var(--line); border-radius: 9px; color: #475467; background: white; font-size: 11px; }
.icon-btn { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 10px; color: var(--faint); background: transparent; }
.icon-btn:hover { background: #f2f4f7; }
.avatar { display: grid; place-items: center; width: 34px; height: 34px; overflow: hidden; border: 1px solid #e7eaf0; border-radius: 50%; background: white; }
.avatar img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 3px; }
.mobile-menu { display: none; border: 0; background: transparent; font-size: 20px; }

#workspace { width: min(1480px, 100%); margin: 0 auto; padding: 28px; outline: 0; }
.page-toolbar { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.toolbar-panel { padding: 12px; }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.eyebrow { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; color: var(--blue); font-size: 11px; font-weight: 650; }
.page-head h1 { margin: 0; font-size: clamp(23px, 2vw, 30px); letter-spacing: -.035em; }
.page-head p { margin: 7px 0 0; color: var(--muted); font-size: 13px; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.btn { min-height: 36px; padding: 0 13px; border: 1px solid transparent; border-radius: 10px; font-size: 12px; font-weight: 620; }
.btn.primary { color: white; background: var(--blue); }
.btn.primary:hover { background: var(--blue-dark); }
.btn.secondary { color: #344054; border-color: var(--line); background: white; }
.btn.ghost { color: var(--blue); background: #eef4ff; }
.btn.danger { color: #b42318; background: #fef3f2; }
.btn:disabled { cursor: not-allowed; opacity: .46; }
.request-picker { display: grid; gap: 8px; }
.request-picker > input[type="search"] { width: 100%; min-height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: white; }
.request-picker > input[type="search"]:focus { border-color: #8cb7ff; box-shadow: 0 0 0 4px #edf4ff; }
.request-picker-selected { display: flex; flex-wrap: wrap; gap: 7px; min-height: 30px; align-items: center; }
.request-picker-chip { display: inline-flex; align-items: center; gap: 8px; padding: 5px 8px 5px 10px; border: 1px solid #cfe0ff; border-radius: 999px; color: #175cd3; background: #f4f8ff; font-size: 11px; }
.request-picker-chip .danger-link { padding: 0; border: 0; font-size: 10px; }
.request-picker-results { display: grid; gap: 6px; max-height: 250px; overflow: auto; padding: 2px; }
.request-picker-result { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; text-align: left; }
.request-picker-result:hover, .request-picker-result.selected { border-color: #9fc0ff; background: #f4f8ff; }
.request-picker-result span { display: grid; gap: 3px; min-width: 0; }
.request-picker-result strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.request-picker-result small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.request-picker-result b { flex: 0 0 auto; color: var(--blue); font-size: 10px; }

.grid { display: grid; gap: 14px; }
.application-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.application-qr-card { grid-column:1/-1; display:flex; align-items:center; gap:22px; padding:20px; }
.application-qr-card img { width:176px; height:176px; padding:8px; border:1px solid var(--line); border-radius:16px; background:#fff; object-fit:contain; }
.application-qr-card h2 { margin:10px 0 6px; }
.application-qr-card p { margin:0 0 14px; color:var(--muted); }
.dashboard-filters { display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 10px; margin-bottom: 14px; padding: 14px; }
.dashboard-filters > label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 650; }
.dashboard-filters select { min-height: 40px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; color: #344054; background: white; font-size: 12px; }
.dashboard-filter-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
.dashboard-overview { margin-bottom: 14px; padding: 18px; overflow: hidden; background: linear-gradient(135deg, #fff 0%, #f8fbff 72%, #eef5ff 100%); }
.dashboard-overview > .panel-head { margin-bottom: 18px; }
.dashboard-detail-link { font-weight: 700; }
.dashboard-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid #e1e8f0; border-radius: 14px; overflow: hidden; background: rgba(255,255,255,.82); }
.dashboard-kpi { position: relative; display: grid; min-height: 134px; gap: 9px; padding: 18px; border: 0; border-right: 1px solid #e8edf3; color: var(--ink); background: transparent; text-align: left; }
.dashboard-kpi:last-child { border-right: 0; }
.dashboard-kpi::before { position: absolute; top: 0; right: 18px; left: 18px; height: 3px; border-radius: 0 0 4px 4px; background: var(--kpi-tone, var(--blue)); content: ''; opacity: .86; }
.dashboard-kpi:hover { background: rgba(244,248,255,.9); }
.dashboard-kpi > span { display: flex; align-items: center; gap: 6px; color: #475467; font-size: 11px; font-weight: 680; }
.dashboard-kpi > span small { display: grid; place-items: center; width: 16px; height: 16px; border: 1px solid #c8d0db; border-radius: 50%; color: #98a2b3; font-size: 9px; font-style: normal; }
.dashboard-kpi strong { font-size: 32px; line-height: 1; letter-spacing: -.045em; }
.dashboard-kpi em { color: var(--faint); font-size: 9px; font-style: normal; line-height: 1.45; }
.kpi-blue { --kpi-tone: #176bff; }
.kpi-indigo { --kpi-tone: #4f46e5; }
.kpi-cyan { --kpi-tone: #0891b2; }
.kpi-amber { --kpi-tone: #f59e0b; }
.kpi-violet { --kpi-tone: #8b5cf6; }
.kpi-green { --kpi-tone: #12b76a; }
.dashboard-visual-grid, .dashboard-focus-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.dashboard-visual-card, .dashboard-focus-card, .dashboard-rank-card { padding: 18px; }
.progress-chart { display: grid; gap: 14px; padding-top: 4px; }
.progress-row { display: grid; grid-template-columns: 76px minmax(100px, 1fr) 42px; align-items: center; gap: 10px; }
.progress-row > span { color: #475467; font-size: 10px; font-weight: 650; }
.progress-row > div { height: 12px; overflow: hidden; border-radius: 999px; background: #f2f4f7; }
.progress-row i { display: block; height: 100%; border-radius: inherit; transition: width .25s ease; }
.progress-row strong { font-size: 11px; text-align: right; }
.progress-blue { background: #2e90fa; }
.progress-indigo { background: #6172f3; }
.progress-violet { background: #875bf7; }
.progress-cyan { background: #06aed4; }
.progress-green { background: #12b76a; }
.progress-gray { background: #98a2b3; }
.funnel-chart { display: grid; justify-items: center; gap: 4px; padding: 2px 0 0; }
.funnel-row { position: relative; width: 100%; min-height: 39px; display: grid; place-items: center; }
.funnel-row > small { position: absolute; right: 8px; color: var(--faint); font-size: 8px; }
.funnel-bar { width: var(--funnel-width); min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; clip-path: polygon(4% 0,96% 0,90% 100%,10% 100%); color: white; background: #176bff; transition: width .25s ease; }
.funnel-bar strong { font-size: 14px; }
.funnel-bar span { font-size: 9px; opacity: .9; }
.funnel-1 { background: #2e90fa; }
.funnel-2 { background: #53b1fd; }
.funnel-3 { color: #175cd3; background: #b2ddff; }
.funnel-4 { color: #175cd3; background: #d1e9ff; }
.attention-list { display: grid; gap: 7px; }
.attention-list button { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; width: 100%; padding: 10px 11px; border: 0; border-radius: 10px; color: var(--ink); background: #f8fafc; text-align: left; }
.attention-list button:hover { background: #f0f5ff; }
.attention-list button div { min-width: 0; }
.attention-list strong, .attention-list small { display: block; }
.attention-list strong { font-size: 10px; }
.attention-list small { margin-top: 3px; color: var(--faint); font-size: 8px; }
.attention-list b { color: #98a2b3; font-size: 12px; }
.attention-dot { width: 9px; height: 9px; border-radius: 50%; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 14%, transparent); }
.attention-dot.amber { color: #f79009; background: #f79009; }
.attention-dot.red { color: #f04438; background: #f04438; }
.attention-dot.blue { color: #2e90fa; background: #2e90fa; }
.attention-dot.violet { color: #875bf7; background: #875bf7; }
.role-heat-list { display: grid; gap: 8px; }
.role-heat-list > div { display: grid; grid-template-columns: 22px 1fr 42px; align-items: center; gap: 9px; min-height: 40px; }
.role-heat-list > div > span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 7px; color: #175cd3; background: #eef4ff; font-size: 9px; font-weight: 750; }
.role-heat-list > div > div { position: relative; min-width: 0; padding-bottom: 7px; }
.role-heat-list strong, .role-heat-list small { display: block; }
.role-heat-list strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.role-heat-list small { margin-top: 3px; color: var(--faint); font-size: 8px; }
.role-heat-list i { position: absolute; bottom: 0; left: 0; height: 3px; border-radius: 999px; background: linear-gradient(90deg,#176bff,#53b1fd); }
.role-heat-list b { font-size: 11px; text-align: right; }
.dashboard-rank-card { margin-bottom: 14px; }
.hr-rank-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.hr-rank-grid article { display: grid; grid-template-columns: auto 1fr; gap: 9px 10px; padding: 12px; border: 1px solid #edf0f4; border-radius: 12px; background: #fbfcfe; }
.hr-rank-grid article > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; color: #175cd3; background: #eaf2ff; font-size: 10px; font-weight: 750; }
.hr-rank-grid article > div { min-width: 0; }
.hr-rank-grid article > div strong, .hr-rank-grid article > div small { display: block; }
.hr-rank-grid article > div strong { font-size: 10px; }
.hr-rank-grid article > div small { margin-top: 3px; overflow: hidden; color: var(--faint); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.hr-rank-grid dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin: 0; }
.hr-rank-grid dl > div { padding: 7px; border-radius: 8px; background: white; text-align: center; }
.hr-rank-grid dt { color: var(--faint); font-size: 8px; }
.hr-rank-grid dd { margin: 3px 0 0; font-size: 11px; font-weight: 750; }
.dashboard-detail-panel { margin-bottom: 12px; overflow: hidden; }
.dashboard-detail-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 18px; cursor: pointer; list-style: none; }
.dashboard-detail-panel > summary::-webkit-details-marker { display: none; }
.dashboard-detail-panel > summary span strong, .dashboard-detail-panel > summary span small { display: block; }
.dashboard-detail-panel > summary span strong { font-size: 12px; }
.dashboard-detail-panel > summary span small { margin-top: 4px; color: var(--faint); font-size: 9px; }
.dashboard-detail-panel > summary b { color: var(--blue); font-size: 10px; }
.dashboard-detail-panel[open] > summary { border-bottom: 1px solid var(--line); }
.dashboard-board { margin-bottom: 14px; overflow: hidden; }
.dashboard-board > .panel-head { padding: 16px 18px 0; }
.dashboard-rule { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 18px; }
.dashboard-rule span { padding: 5px 9px; border-radius: 999px; color: #475467; background: #f2f4f7; font-size: 10px; }
.dashboard-table { max-height: 430px; margin-top: 12px; }
.dashboard-table thead th { position: sticky; top: 0; z-index: 2; }
.dashboard-table th, .dashboard-table td { min-height: 44px; padding-top: 12px; padding-bottom: 12px; font-size: 12px; }
.dashboard-table th:not(:first-child), .dashboard-table td:not(:first-child) { text-align: center; }
.dashboard-table tfoot th { position: sticky; bottom: 0; z-index: 1; border-top: 1px solid var(--line); color: var(--ink); background: #f2f4f7; font-weight: 750; }
.experience-summary { display: block; min-width: 190px; max-width: 270px; color: #475467; font-size: 11px; line-height: 1.55; }
.resume-file-links { display: grid; min-width: 145px; gap: 6px; }
.resume-file-link { max-width: 190px; padding: 0; overflow: hidden; border: 0; color: var(--blue); background: transparent; font: inherit; font-size: 10px; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.resume-file-link:hover { text-decoration: underline; }
.resume-file-links small { color: var(--faint); font-size: 9px; }
.mini-confirm-link { margin-top: 6px; padding: 3px 7px; border: 1px solid #b9d2ff; border-radius: 6px; color: #175cd3; background: #eff6ff; font-size: 9px; cursor: pointer; }
.mini-confirm-link:hover { border-color: #84adff; background: #dbeafe; }
.match-suggestion { grid-column: 1 / -1; display: grid; gap: 4px; margin-top: -4px; padding: 10px 12px; border: 1px solid #b9d2ff; border-radius: 9px; color: #175cd3; background: #eff6ff; }
.match-suggestion strong { font-size: 11px; }
.match-suggestion small { color: #475467; font-size: 9px; line-height: 1.5; }
.match-suggestion.muted { border-color: var(--line); color: #475467; background: #f8fafc; }
.error-text { color: #b42318 !important; }
.stats-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.two-col { grid-template-columns: minmax(0, 1.5fr) minmax(300px, .8fr); margin-top: 16px; }
.three-col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 9px 30px rgba(15,23,42,.035); }
.panel-pad { padding: 18px; }
.stat { padding: 16px; }
.stat-top, .panel-head, .row-between { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.stat-top { color: var(--muted); font-size: 12px; }
.stat-value { margin-top: 16px; font-size: 28px; font-weight: 700; letter-spacing: -.04em; }
.stat-note { float: right; margin-top: 8px; padding: 4px 7px; border-radius: 99px; color: #175cd3; background: #eff4ff; font-size: 9px; font-weight: 650; }
.panel-head { margin-bottom: 15px; }
.panel-head h2 { margin: 0; font-size: 15px; }
.panel-head p { margin: 4px 0 0; color: var(--faint); font-size: 10px; }
.integration-card { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; padding: 17px 18px; border-color: #cfe0ff; background: linear-gradient(135deg, #f8fbff, #ffffff 62%); }
.approval-progress-copy { display:grid; gap:2px; }
.approval-progress-copy b { color:#1769ff; }
.approval-progress-copy small { color:#64748b; }
.approval-return-reason{grid-column:1/-1;display:grid;gap:9px;background:#fff7ed;border:1px solid #f4c897;border-left:4px solid #c77721;border-radius:12px;padding:18px 20px;margin:6px 0 16px;overflow-wrap:anywhere}
.approval-return-reason strong{color:#884611;font-size:17px}.approval-return-reason small,.approval-decision-history small{color:#64748b;font-size:12px;line-height:1.6}.approval-return-reason p,.approval-decision-history p{white-space:pre-wrap;line-height:1.8;margin:0;font-size:14px}.approval-decision-history{grid-column:1/-1;border:1px solid #dfe8e4;border-radius:10px;padding:14px 18px;margin-bottom:20px}.approval-decision-history summary{cursor:pointer;font-weight:650;line-height:1.7}.approval-decision-history article{padding:14px 0;border-top:1px solid #e7ede9;margin-top:12px;display:grid;gap:8px}.approval-decision-history header{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap}.approval-decision-history a,.approval-return-reason a{width:fit-content;padding:8px 0;color:#0b776b;text-decoration:underline}.approval-decision-history summary:focus-visible{outline:2px solid #10796f;outline-offset:4px}
.internal-approval-timeline { grid-column:1/-1; display:grid; gap:0; margin:6px 0 20px; padding:4px 0; }
.internal-approval-timeline article { position:relative; display:grid; grid-template-columns:22px 1fr auto; gap:12px; padding:0 0 22px; }
.internal-approval-timeline article:not(:last-child)::before { content:""; position:absolute; left:7px; top:16px; bottom:0; width:2px; background:#dbe4f0; }
.internal-approval-timeline i { z-index:1; width:16px; height:16px; margin-top:2px; border:3px solid #cbd5e1; border-radius:50%; background:#fff; }
.internal-approval-timeline article.approved i { border-color:#16a36a; background:#16a36a; }
.internal-approval-timeline article.pending i { border-color:#1769ff; box-shadow:0 0 0 4px #e8f0ff; }
.internal-approval-timeline article.rejected i { border-color:#dc3b4b; background:#dc3b4b; }
.internal-approval-timeline article div { display:grid; gap:3px; }
.internal-approval-timeline article small,.internal-approval-timeline article p { margin:0; color:#64748b; font-size:12px; }
.internal-approval-timeline article>span { color:#64748b; font-size:12px; }
.internal-approval-timeline article.returned i { border-color:#dc7a21; background:#fff5e8; }
.approval-todo-list { display:grid; gap:10px; }
.approval-todo-list article { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.approval-todo-list article div { display:grid; gap:5px; }
.approval-todo-list article small { color:var(--muted); }
.approval-todo-list .approval-todo-overview { display:grid; gap:12px; min-width:0; }
.approval-todo-overview header,.approval-todo-overview footer { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.approval-todo-overview header span { color:var(--muted); font-size:12px; }
.approval-todo-overview dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 20px; margin:0; }
.approval-todo-overview dt { color:var(--muted); font-size:12px; }
.approval-todo-overview dd { margin:4px 0 0; overflow-wrap:anywhere; font-size:14px; }
.approval-todo-overview a:focus-visible { outline:2px solid var(--primary,#13766e); outline-offset:3px; }
@media(max-width:600px) { .approval-todo-overview dl { grid-template-columns:1fr; } .approval-todo-overview footer .btn { width:100%; } }
.workflow-config-list { display:grid; gap:10px; margin-bottom:18px; }
.workflow-config-step { display:grid; grid-template-columns:minmax(220px,1fr) minmax(260px,.9fr); gap:18px; align-items:center; padding:16px; border:1px solid #dbe5f5; border-radius:12px; background:#f8fbff; }
.workflow-config-step > div { display:grid; gap:5px; }
.workflow-config-step small { color:var(--muted); }
.workflow-config-step label { display:grid; gap:6px; font-size:13px; color:var(--muted); }
.workflow-config-step select { min-height:40px; border:1px solid var(--line); border-radius:9px; padding:0 10px; background:#fff; color:var(--text); }
.training-discovery-banner { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:12px; padding:24px 28px; border-color:#cbdcfb; background:#f8fbff; }
.training-discovery-banner h2 { margin:10px 0 6px; font-size:21px; }
.training-discovery-banner p { margin:0; max-width:760px; color:#64748b; line-height:1.7; }
.integration-icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 13px; color: white; background: #176bff; font-size: 15px; font-weight: 800; box-shadow: 0 8px 18px rgba(23,107,255,.18); }
.integration-copy { min-width: 0; flex: 1; }
.integration-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.integration-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.integration-title h2 { margin: 0; font-size: 14px; }
.integration-copy p { margin: 6px 0 9px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.integration-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.integration-meta span { padding: 4px 7px; border-radius: 7px; color: #344054; background: #eef4ff; font-size: 9px; }
.privacy-note { display: flex; align-items: flex-start; gap: 8px; margin: 0 2px 14px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.privacy-note strong { flex: 0 0 auto; color: #175cd3; }
.interviewer-module { margin-bottom: 14px; padding: 16px 18px; }
.interviewer-module .panel-head { margin-bottom: 12px; }
.interviewer-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.interview-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; padding: 13px 14px; }
.interview-tabs { display: flex; gap: 22px; margin-bottom: 10px; padding: 0 16px; border-radius: 12px; }
.interview-tabs button { position: relative; min-height: 48px; padding: 0 2px; border: 0; color: var(--muted); background: transparent; font-size: 12px; font-weight: 650; }
.interview-tabs button.active { color: var(--blue); }
.interview-tabs button.active::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--blue); content: ''; }
.registration-summary-grid { margin-bottom: 16px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.registration-summary-grid article { padding: 19px 21px; display: grid; gap: 8px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.registration-summary-grid span { color: var(--muted); font-size: 11px; }
.registration-summary-grid strong { color: var(--ink); font-size: 27px; letter-spacing: -.04em; }
.candidate-feedback-intro { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 12px; padding: 18px 20px; border: 1px solid #dce7fb; border-radius: 14px; background: linear-gradient(135deg,#eef5ff,#fff 72%); }
.candidate-feedback-intro > div:first-child { display: flex; align-items: center; gap: 13px; }
.candidate-feedback-intro > div:first-child > span { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 11px; color: white; background: var(--blue); font-weight: 800; box-shadow: 0 8px 18px rgba(36,107,254,.2); }
.candidate-feedback-intro h2 { margin: 0 0 4px; font-size: 15px; }
.candidate-feedback-intro p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.candidate-feedback-qr { display: grid; justify-items: center; grid-column: 1 / -1; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.candidate-feedback-qr img { width: min(300px,100%); height: auto; display: block; }
.candidate-feedback-qr p { margin: 8px 0 0; color: var(--muted); font-size: 10px; }
.candidate-feedback-fixed-entry { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 24px; align-items: center; margin-bottom: 12px; padding: 22px; }
.candidate-feedback-fixed-entry > img { display: block; width: 220px; height: 220px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.candidate-feedback-fixed-entry h2 { margin: 10px 0 6px; font-size: 18px; }
.candidate-feedback-fixed-entry p { margin: 0 0 14px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.fixed-entry-url { display: grid; gap: 6px; margin-bottom: 12px; color: var(--muted); font-size: 10px; }
.fixed-entry-url input { width: 100%; min-height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: #f8fafc; color: var(--ink); }
.candidate-feedback-kpis { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.candidate-feedback-kpis span { display:grid; gap:2px; min-width:86px; min-height:52px; padding:8px 11px; border:1px solid #dbe7fb; border-radius:10px; color:var(--muted); background:#fff; font-size:9px; }
.candidate-feedback-kpis b { color:#1d5fd1; font-size:15px; }
.candidate-feedback-results { margin-top:12px; padding:16px; }
.candidate-experience-list { display:grid; gap:8px; }
.candidate-experience-result { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:13px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fbfcfe; }
.candidate-experience-score { display:flex; align-items:baseline; justify-content:center; padding:10px 6px; border-radius:10px; color:#175cd3; background:#edf4ff; }
.candidate-experience-score strong { font-size:20px; }.candidate-experience-score small { font-size:8px; }
.candidate-experience-result>div:nth-child(2) { display:grid; gap:3px; min-width:0; }
.candidate-experience-result>div:nth-child(2)>strong { font-size:11px; }.candidate-experience-result>div:nth-child(2)>span { color:var(--muted); font-size:8px; }
.candidate-experience-result p { margin:2px 0 0; overflow:hidden; color:#475467; font-size:9px; line-height:1.5; text-overflow:ellipsis; white-space:nowrap; }
.candidate-experience-actions { display:flex; align-items:center; gap:8px; }
.registration-controls { justify-content: space-between; }
.registration-controls > label { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 11px; }
.registration-controls select { min-width: 140px; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.registration-controls input[type="search"] { min-width: 160px; min-height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); font: inherit; }
.registration-controls + .table-wrap table { min-width: 960px; }
.registration-controls + .table-wrap th { white-space: nowrap; }
@media (max-width:620px) {
  .registration-controls > label { display: grid; grid-template-columns: 74px minmax(0,1fr); width: 100%; }
  .registration-controls select, .registration-controls input[type="search"] { width: 100%; min-width: 0; }
  .registration-controls + .table-wrap { overscroll-behavior-x: contain; }
}
.compact-cell { width: 58px; }
.searchable-choice, .searchable-filter { display: grid; gap: 8px; }
.searchable-choice-row, .searchable-filter .searchable-choice-row { display: flex; align-items: center; gap: 8px; }
.searchable-choice-row input, .searchable-filter .searchable-choice-row input { min-width: 0; flex: 1; }
.searchable-choice-row .btn { flex: 0 0 auto; min-height: 34px; padding: 0 12px; }
.searchable-choice-selected, .searchable-filter-selected { min-height: 28px; display: flex; align-items: center; color: var(--muted); font-size: 10px; }
.searchable-choice-results { display: grid; gap: 6px; max-height: 230px; overflow: auto; }
.searchable-choice-field { grid-column: span 1; }
.searchable-filter { min-width: 0; }
.searchable-filter .searchable-choice-results { display: none; }
.searchable-filter .searchable-choice-results.has-results { display: grid; }
.filter-grid { align-items: start; }
.filter-field { min-width: 0; min-height: 62px; align-content: start; }
.searchable-filter .searchable-choice-row { min-height: 34px; }
.searchable-filter .searchable-choice-row input { width: 1px; min-height: 34px; }
.searchable-filter-selected { min-height: 18px; line-height: 18px; }
.searchable-filter-selected { display: none; }
.dashboard-filters > .searchable-filter { min-width: 0; width: 100%; }
.profile-filter > .searchable-filter { flex: 0 1 250px; min-width: 220px; }
.profile-filter > .searchable-filter .searchable-choice-row { width: 100%; }
.profile-filter > .searchable-filter .searchable-choice-row input { min-width: 0; }
.interview-controls > .searchable-filter { flex: 0 1 260px; min-width: 220px; }
[data-registration-select] { width: 16px; height: 16px; accent-color: var(--blue); }
.interview-controls > div:first-child { display: flex; align-items: center; gap: 7px; }
.interview-controls input[type="month"] { min-height: 36px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; color: #344054; background: white; font-size: 10px; }
.interview-controls .filter-field { min-width: 190px; }
.interview-calendar { margin-bottom: 14px; overflow: hidden; }
.calendar-week, .calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(110px, 1fr)); }
.calendar-week { color: var(--muted); background: #f8fafc; font-size: 9px; font-weight: 650; text-align: center; }
.calendar-week span { padding: 9px; border-right: 1px solid var(--line); }
.calendar-week span:last-child { border-right: 0; }
.calendar-day { min-height: 112px; padding: 8px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); background: white; }
.calendar-day:nth-child(7n) { border-right: 0; }
.calendar-day.outside { background: #fafbfc; }
.calendar-date { margin-bottom: 6px; color: var(--muted); font-size: 9px; font-weight: 700; }
.calendar-day > button { display: grid; width: 100%; gap: 3px; margin-top: 5px; padding: 7px; border: 0; border-radius: 8px; color: #175cd3; background: #eef4ff; text-align: left; }
.calendar-day > button strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.calendar-day > button small { overflow: hidden; color: #475467; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.interviewer-list article { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 10px; border-radius: 11px; background: #f8fafc; }
.interviewer-list article > div { min-width: 0; flex: 1; }
.interviewer-list strong, .interviewer-list small { display: block; }
.interviewer-list strong { font-size: 10px; }
.interviewer-list small { margin-top: 3px; overflow: hidden; color: var(--faint); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.source-banner { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; padding: 11px 13px; border: 1px solid #d8e5fb; border-radius: 12px; color: #344054; background: #f8fbff; }
.source-banner > div { min-width: 0; flex: 1; }
.source-banner strong, .source-banner small { display: block; }
.source-banner strong { font-size: 11px; }
.source-banner small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.source-dot { width: 8px; height: 8px; border-radius: 50%; background: #12b76a; box-shadow: 0 0 0 4px #e7f8ef; }
.source-label { color: var(--faint); font-size: 8px; }
.mailbox-panel { margin-bottom: 14px; padding: 16px 18px 0; overflow: hidden; }
.mailbox-panel .table-wrap { margin: 0 -18px; }
.access-role-panel { padding-bottom: 0; }
.access-role-workspace { display: grid; grid-template-columns: minmax(250px,.82fr) minmax(0,1.7fr); min-height: 560px; margin: 14px -18px 0; border-top: 1px solid var(--line); }
.access-role-browser { min-width: 0; border-right: 1px solid var(--line); background: #fbfcfe; }
.access-role-browser-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px 11px; }
.access-role-browser-head strong, .access-role-browser-head small { display: block; }
.access-role-browser-head strong { color: var(--ink); font-size: 12px; }
.access-role-browser-head small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.access-role-filters { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(105px,.72fr) minmax(105px,.72fr); gap: 8px; padding: 0 12px 12px; }
.access-role-filters label { display: grid; gap: 5px; min-width: 0; color: var(--muted); font-size: 8px; font-weight: 650; }
.access-role-filters input, .access-role-filters select { width: 100%; min-width: 0; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; outline: 0; color: var(--ink); background: #fff; font: inherit; font-size: 10px; transition: border-color .2s ease, box-shadow .2s ease; }
.access-role-filters input:focus, .access-role-filters select:focus { border-color: #8cb7ff; box-shadow: 0 0 0 3px #edf4ff; }
.access-role-search-field { grid-column: 1 / -1; }
.access-role-search-field > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; }
.access-role-search-field .btn { min-width: 62px; height: 38px; }
.access-role-list { max-height: 465px; overflow: auto; border-top: 1px solid var(--line); }
.access-role-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; width: 100%; min-height: 58px; gap: 10px; padding: 10px 15px; border: 0; border-bottom: 1px solid #edf0f4; border-left: 3px solid transparent; color: var(--ink); background: transparent; text-align: left; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.access-role-row:hover { background: #f2f6fc; }
.access-role-row:active { transform: translateY(1px); }
.access-role-row.is-selected { border-left-color: var(--blue); background: #eaf2ff; }
.access-role-row-main { min-width: 0; }
.access-role-row-main strong, .access-role-row-main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.access-role-row-main strong { font-size: 10px; }
.access-role-row-main small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.access-role-row-state { flex: 0 0 auto; padding: 4px 7px; border-radius: 99px; color: #667085; background: #eef1f5; font-size: 8px; font-weight: 700; }
.access-role-row-state.is-active { color: #067647; background: #e8f7ef; }
.access-role-list-empty { padding: 28px 16px; color: var(--muted); font-size: 10px; text-align: center; }
.access-role-detail { min-width: 0; background: #fff; }
.access-role-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 22px 16px; }
.access-role-detail-head .eyebrow { color: var(--blue); font-size: 8px; font-weight: 750; letter-spacing: .04em; }
.access-role-detail-head h3 { margin: 5px 0 4px; color: var(--ink); font-size: 17px; letter-spacing: -.02em; }
.access-role-detail-head p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.access-role-detail-head .actions { justify-content: flex-end; }
.access-role-members { border-top: 1px solid var(--line); background: #fbfcfe; }
.access-role-section-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 22px; border-bottom: 1px solid var(--line); }
.access-role-section-title strong, .access-role-section-title small { display: block; }
.access-role-section-title strong { font-size: 11px; }
.access-role-section-title small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.access-role-member-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); max-height: 180px; overflow: auto; padding: 10px 16px; }
.access-role-member-list article { display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: center; gap: 9px; min-width: 0; padding: 8px 7px; border-bottom: 1px solid #edf0f4; }
.access-role-member-avatar { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #155eef; background: #eaf2ff; font-size: 10px; font-weight: 750; }
.access-role-member-list strong, .access-role-member-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.access-role-member-list strong { font-size: 10px; }
.access-role-member-list small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.access-role-members-state { display: grid; gap: 5px; justify-items: start; min-height: 72px; align-content: center; padding: 14px 22px; color: var(--muted); font-size: 9px; }
.access-role-members-state strong { color: var(--ink); font-size: 10px; }
.access-role-members-state.is-error strong { color: #b42318; }
.access-role-permission-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 22px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f8fafc; }
.access-role-permission-title strong, .access-role-permission-title small { display: block; }
.access-role-permission-title strong { font-size: 11px; }
.access-role-permission-title small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.access-role-panel .access-role-permission-table { max-height: 410px; margin: 0; overflow: auto; }
.access-role-permission-table table { min-width: 570px; }
.access-role-permission-table th:not(:first-child), .access-role-permission-table td:not(:first-child) { width: 78px; text-align: center; }
.access-role-permission-table tbody th { color: #344054; font-size: 9px; }
.permission-result { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; min-height: 23px; border-radius: 7px; color: #98a2b3; font-size: 8px; font-weight: 700; }
.permission-result.is-allowed { color: #175cd3; background: #eaf2ff; }
.access-role-detail-empty { display: grid; justify-items: start; align-content: center; min-height: 380px; padding: 34px; border-top: 1px solid var(--line); background: #fbfcfe; }
.access-role-detail-empty strong { font-size: 14px; }
.access-role-detail-empty p { max-width: 48ch; margin: 7px 0 17px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.secure-strip { display: flex; align-items: flex-start; gap: 8px; margin: 0 -18px; padding: 10px 18px; color: var(--muted); background: #fffcf5; font-size: 9px; line-height: 1.55; }
.secure-strip strong { flex: 0 0 auto; color: #b54708; }
.link-btn { border: 0; color: var(--blue); background: none; font-size: 11px; }
.row-actions { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.candidate-actions { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 5px; min-width: 150px; }
.candidate-actions .row-actions { display: contents; }
.flow-link { min-height: 26px; padding: 0 8px; border-radius: 8px; color: white; background: var(--blue); }
.flow-link:hover { background: var(--blue-dark); }
.danger-link { color: #b42318; }
.compact-empty { padding: 18px; font-size: 10px; }
.mini-card { padding: 14px; border-radius: 13px; background: #f8fafc; }
.mini-card h3 { margin: 0; font-size: 12px; }
.mini-card p { margin: 5px 0 0; color: var(--faint); font-size: 10px; }
.progress-meta { display: flex; justify-content: space-between; margin: 17px 0 7px; color: var(--muted); font-size: 10px; }
.progress { height: 6px; overflow: hidden; border-radius: 99px; background: #e9edf3; }
.progress span { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.agenda-item { display: flex; align-items: center; gap: 11px; padding: 11px 0; border-top: 1px solid #f0f2f5; }
.agenda-item:first-of-type { border-top: 0; }
.time-pill { width: 50px; padding: 8px 2px; border-radius: 9px; color: #175cd3; background: #eff4ff; text-align: center; font-size: 10px; font-weight: 700; }
.agenda-item strong, .agenda-item small { display: block; }
.agenda-item strong { font-size: 11px; }
.agenda-item small { margin-top: 3px; color: var(--faint); font-size: 9px; }

.toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 13px; }
.toolbar input, .toolbar select, .form-field input, .form-field select, .form-field textarea { min-height: 36px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: white; padding: 0 10px; font-size: 11px; }
.toolbar input { min-width: 230px; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; font-size: 11px; }
th { padding: 11px 12px; color: var(--muted); background: #f8fafc; text-align: left; font-weight: 600; white-space: nowrap; }
td { padding: 12px; border-top: 1px solid #f0f2f5; vertical-align: middle; }
tr:hover td { background: #fcfdff; }
.person { display: flex; align-items: center; gap: 8px; }
.person-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #344054; background: #edf1f7; font-weight: 700; }
.person strong, .person small { display: block; }
.person small { margin-top: 2px; color: var(--faint); font-size: 9px; }
.tag, .status { display: inline-flex; align-items: center; min-height: 22px; padding: 2px 8px; border-radius: 999px; white-space: nowrap; font-size: 9px; font-weight: 650; }
.tag { margin: 2px; color: #475467; background: #f2f4f7; }
.status-blue { color: #175cd3; background: #eff4ff; }
.status-green { color: #027a48; background: #ecfdf3; }
.status-amber { color: #b54708; background: #fffaeb; }
.status-red { color: #b42318; background: #fef3f2; }
.status-violet { color: #6941c6; background: #f4f3ff; }
.empty { padding: 56px 20px; color: var(--muted); text-align: center; }
.empty strong { display: block; margin-bottom: 6px; color: var(--ink); }
.profile-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; padding: 12px; }
.profile-filter input, .profile-filter select { min-height: 36px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; background: white; font-size: 10px; }
.profile-filter input { min-width: 260px; flex: 1; }
.citizen-broker-toolbar { display:grid; grid-template-columns:minmax(360px,1.6fr) minmax(210px,.8fr) auto; align-items:end; gap:14px; margin-bottom:14px; padding:16px; }
.citizen-broker-search { display:grid; gap:7px; min-width:0; color:var(--muted); font-size:10px; }
.citizen-broker-search>span { color:#475467; font-weight:700; }
.citizen-broker-search>div { display:grid; grid-template-columns:28px minmax(0,1fr) 32px; align-items:center; min-height:44px; overflow:hidden; border:1px solid #d8e2f0; border-radius:12px; background:#fff; transition:border-color .18s,box-shadow .18s; }
.citizen-broker-search>div:focus-within { border-color:#8fb3ff; box-shadow:0 0 0 4px #edf4ff; }
.citizen-broker-search b { color:#7d8ba1; font-size:18px; text-align:right; }
.citizen-broker-search input { width:100%; min-width:0; height:42px; padding:0 10px; border:0; outline:0; background:transparent; font:inherit; font-size:12px; }
.citizen-broker-search button { width:26px; height:26px; border:0; border-radius:50%; color:#667085; background:#f1f5f9; cursor:pointer; }
.citizen-broker-search small { color:#98a2b3; font-size:9px; }
.citizen-broker-filter .filter-control { min-width:0; }
.citizen-broker-filter select { width:100%; min-height:44px; border-radius:12px; }
.citizen-broker-toolbar-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; min-height:44px; white-space:nowrap; }
.citizen-broker-table table { min-width:1180px; }
.citizen-broker-table th:nth-child(2), .citizen-broker-table td:nth-child(2) { min-width:270px; }
.broker-career-list { display:grid; gap:7px; min-width:240px; }
.broker-career-item { position:relative; display:grid; grid-template-columns:10px minmax(0,1fr); gap:8px; }
.broker-career-item>span { position:relative; width:7px; height:7px; margin-top:5px; border:2px solid #8fb3ff; border-radius:50%; background:#fff; }
.broker-career-item:not(:last-child)>span::after { content:""; position:absolute; top:8px; left:2px; width:1px; height:calc(100% + 10px); background:#d9e6ff; }
.broker-career-item p { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 10px; margin:0; line-height:1.35; }
.broker-career-item strong { overflow:hidden; color:#25324b; text-overflow:ellipsis; white-space:nowrap; }
.broker-career-item b { color:#175cd3; font-size:10px; font-weight:650; white-space:nowrap; }
.broker-career-item small { grid-column:1/-1; color:#7d8ba1; font-size:9px; }
.broker-career-empty { display:grid; gap:4px; min-width:220px; color:#667085; }
.broker-career-empty span { font-weight:650; }
.broker-career-empty small { max-width:280px; color:#98a2b3; line-height:1.45; }
.broker-promotion-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr); gap:16px; align-items:start; }
.broker-promotion-editor .panel-head { margin-bottom:18px; }
.broker-promotion-editor textarea { min-height:108px; }
.broker-promotion-switch select { min-height:44px; }
.broker-promotion-entry-card { position:sticky; top:86px; text-align:center; }
.broker-promotion-entry-card>img { display:block; width:min(100%,260px); margin:18px auto; padding:10px; border:1px solid #e5e7eb; border-radius:18px; background:#fff; }
.broker-promotion-entry-card h2 { margin:0 0 8px; }
.broker-promotion-entry-card>p { color:var(--muted); line-height:1.7; }

.broker-public-shell { min-height:100vh; padding:24px 12px 56px; background:linear-gradient(155deg,#7267f0 0,#ff65ad 30%,#ffd4e5 68%,#fff1f5 100%); }
.broker-public-card { width:min(760px,100%); margin:0 auto; overflow:hidden; border-radius:28px; background:#fff9fc; box-shadow:0 24px 70px rgba(83,45,118,.2); }
.broker-public-hero { position:relative; padding:34px clamp(22px,6vw,58px) 54px; color:#fff; text-align:center; background:radial-gradient(circle at 14% 14%,rgba(255,255,255,.28),transparent 20%),linear-gradient(145deg,#7069ec,#ff4f9d 72%); }
.broker-public-hero .auth-brand { justify-content:center; margin-bottom:22px; color:#fff; text-align:left; }
.broker-public-hero .auth-brand small { color:#fff; opacity:.8; }
.broker-public-badge { display:inline-flex; padding:7px 14px; border:1px solid rgba(255,255,255,.55); border-radius:999px; background:rgba(255,255,255,.16); font-weight:700; }
.broker-public-hero h1 { margin:18px 0 6px; font-size:clamp(34px,7vw,62px); line-height:1.05; letter-spacing:-2px; }
.broker-public-hero h2 { margin:0; color:#fff6a7; font-size:clamp(18px,3.5vw,28px); }
.broker-public-hero p { max-width:620px; margin:20px auto 28px; color:rgba(255,255,255,.92); font-size:15px; line-height:1.8; }
.broker-public-cta { display:inline-flex; min-width:190px; min-height:48px; align-items:center; justify-content:center; border-radius:999px; color:#e72772; background:#fff; box-shadow:0 12px 28px rgba(105,32,87,.25); font-size:17px; font-weight:800; text-decoration:none; }
.broker-public-section { padding:36px clamp(20px,6vw,58px); border-bottom:1px solid #f4dce7; }
.broker-public-section>span { color:#ea3d80; font-size:12px; font-weight:800; letter-spacing:1px; }
.broker-public-section>h2 { margin:7px 0 22px; color:#1f2a44; font-size:24px; }
.broker-public-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.broker-public-steps article { display:grid; justify-items:center; gap:9px; text-align:center; color:#5b6476; font-size:12px; line-height:1.45; }
.broker-public-steps b { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,#ff4e91,#ffaf67); font-size:17px; }
.broker-public-list { display:grid; gap:12px; }
.broker-public-list article { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; align-items:start; padding:14px; border:1px solid #f2d4e2; border-radius:14px; color:#4a5568; background:#fff; line-height:1.6; }
.broker-public-list b { display:grid; width:26px; height:26px; place-items:center; border-radius:9px; color:#e83277; background:#fff0f6; }
.broker-public-benefits { background:linear-gradient(180deg,#fff7fb,#fff); }
.broker-public-form-section { background:#fff; }
.broker-privacy-consent { display:flex; gap:10px; align-items:flex-start; padding:12px; border-radius:12px; color:#667085; background:#f8fafc; font-size:12px; line-height:1.6; }
.broker-privacy-consent input { margin-top:3px; }
.broker-public-section details { margin-top:10px; padding:15px 16px; border:1px solid #eed9e4; border-radius:12px; background:#fff; }
.broker-public-section summary { cursor:pointer; color:#344054; font-weight:700; }
.broker-public-section details p,.broker-public-contact { color:#667085; line-height:1.7; }
.broker-public-contact { margin:20px 0 0; text-align:center; }
.profile-grid { margin-top: 0; }
.profile-card { padding: 16px; }
.profile-card h2 { margin: 14px 0; font-size: 14px; }
.profile-card dl { display: grid; gap: 9px; margin: 0 0 14px; }
.profile-card dl > div { display: grid; grid-template-columns: 64px 1fr; gap: 8px; font-size: 9px; }
.profile-card dt { color: var(--faint); }
.profile-card dd { margin: 0; color: #344054; line-height: 1.5; }
.talent-profile-filters { display: grid; grid-template-columns: minmax(260px, 1.35fr) minmax(190px, .85fr) minmax(210px, .95fr) auto; align-items: end; gap: 12px; margin-bottom: 14px; padding: 16px; }
.talent-profile-search, .talent-profile-filter-item { display: grid; gap: 7px; min-width: 0; color: var(--muted); font-size: 10px; }
.talent-profile-search input, .talent-profile-filter-item input { width: 100%; min-width: 0; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: white; font-size: 12px; box-sizing: border-box; }
.talent-profile-search input:focus, .talent-profile-filter-item input:focus { border-color: #9dbcf4; box-shadow: 0 0 0 3px #edf4ff; }
.talent-profile-filter-actions { display: flex; align-items: center; gap: 7px; }
.talent-profile-filter-actions .btn { min-height: 42px; }
.talent-profile-count { grid-column: 1 / -1; justify-self: end; align-self: center; margin: 0; white-space: nowrap; }
.talent-profile-list { overflow: hidden; }
.talent-profile-list-head, .talent-profile-row { display: grid; grid-template-columns: minmax(220px, 1.05fr) minmax(250px, 1fr) minmax(360px, 1.8fr) 126px; gap: 18px; align-items: center; }
.talent-profile-list-head { min-height: 44px; padding: 0 18px; color: var(--muted); background: #f8fafc; border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 700; }
.talent-profile-row { min-height: 116px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.talent-profile-row:last-child { border-bottom: 0; }
.talent-profile-row:hover { background: #fbfdff; }
.talent-profile-primary { display: grid; justify-items: start; gap: 7px; min-width: 0; }
.talent-profile-primary strong { font-size: 13px; line-height: 1.5; }
.talent-profile-primary small { color: var(--faint); font-size: 9px; }
.talent-profile-basics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 12px; }
.talent-profile-basics span { display: grid; gap: 3px; color: #344054; font-size: 11px; }
.talent-profile-basics b, .talent-profile-detail b { color: var(--faint); font-size: 9px; font-weight: 600; }
.talent-profile-detail { display: grid; gap: 9px; min-width: 0; }
.talent-profile-detail p { display: grid; gap: 4px; margin: 0; color: #344054; font-size: 11px; line-height: 1.55; }
.talent-profile-actions { justify-self: end; }
.smart-filter { margin-bottom: 13px; padding: 16px; }
.smart-search { position: relative; display: block; margin-bottom: 12px; }
.smart-search > span { position: absolute; left: 12px; top: 6px; color: var(--faint); font-size: 20px; }
.smart-search input { width: 100%; min-height: 42px; padding: 0 14px 0 39px; border: 1px solid var(--line); border-radius: 11px; outline: 0; background: #fbfcfe; font-size: 11px; }
.smart-search input:focus { border-color: #a9c8ff; box-shadow: 0 0 0 4px #edf4ff; }
.filter-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.filter-chip { display: flex; align-items: center; justify-content: space-between; min-height: 34px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; color: #475467; background: white; font-size: 9px; }
.filter-chip:hover { border-color: #b7cdf5; background: #f8fbff; }
.filter-field { display: grid; gap: 4px; color: var(--muted); font-size: 8px; }
.filter-field select { width: 100%; min-height: 34px; padding: 0 8px; border: 1px solid var(--line); border-radius: 9px; color: #344054; background: white; font-size: 9px; }
.filter-field select:focus { border-color: #a9c8ff; outline: 0; box-shadow: 0 0 0 3px #edf4ff; }
.source-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 13px; padding: 11px 14px; }
.source-summary small { color: var(--muted); font-size: 9px; }
.pool-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pool-filters label { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; }
.pool-filters select { min-width: 150px; min-height: 32px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; color: #344054; background: white; font-size: 10px; }
.filter-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 11px; color: var(--faint); font-size: 9px; }
.pipeline-stats { display: grid; grid-template-columns: repeat(8, minmax(76px, 1fr)); margin-bottom: 13px; overflow-x: auto; padding: 8px; }
.pipeline-item { min-width: 76px; padding: 10px 8px; border: 0; border-right: 1px solid #eef1f5; border-radius: 9px; color: var(--muted); background: transparent; text-align: left; }
.pipeline-item:last-child { border-right: 0; }
.pipeline-item span, .pipeline-item strong { display: block; }
.pipeline-item span { font-size: 9px; }
.pipeline-item strong { margin-top: 5px; color: var(--ink); font-size: 17px; }
.pipeline-item.active { color: var(--blue); background: #eef4ff; }
.pipeline-item.active strong { color: var(--blue); }
.candidate-pool { overflow: hidden; }
.pool-tabs { display: flex; align-items: center; gap: 4px; min-height: 50px; padding: 0 14px; border-bottom: 1px solid var(--line); }
.pool-tabs > button { align-self: stretch; padding: 0 10px; border: 0; border-bottom: 2px solid transparent; color: var(--muted); background: transparent; font-size: 11px; }
.pool-tabs > button.active { border-bottom-color: var(--blue); color: var(--blue); font-weight: 700; }
.pool-tabs > button span { margin-left: 4px; color: var(--faint); }
.pool-tabs > .status { margin-left: auto; }
.pool-tabs .pool-action { align-self: center; min-height: 32px; margin-left: 4px; }
.candidate-pagination { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 58px; padding: 10px 16px; border-top: 1px solid var(--line); background: #fbfcfe; }
.candidate-page-summary { color: var(--muted); font-size: 9px; white-space: nowrap; }
.candidate-page-controls { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.candidate-page-controls button { min-width: 30px; min-height: 30px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; color: #475467; background: white; font-size: 9px; }
.candidate-page-controls button:hover:not(:disabled) { border-color: #9dbcf4; color: var(--blue); background: #f4f8ff; }
.candidate-page-controls button.active { border-color: var(--blue); color: white; background: var(--blue); font-weight: 700; }
.candidate-page-controls button:disabled { cursor: not-allowed; opacity: .42; }
.candidate-page-gap { min-width: 18px; color: var(--faint); text-align: center; font-size: 10px; }
.smart-empty { display: grid; justify-items: center; gap: 8px; }
.smart-empty span { font-size: 10px; }
.smart-empty .btn { margin-top: 8px; }

.kanban { display: grid; grid-template-columns: repeat(7, minmax(190px, 1fr)); gap: 10px; overflow-x: auto; padding-bottom: 8px; }
.kanban-col { min-height: 460px; padding: 10px; border-radius: 14px; background: #edf1f6; }
.kanban-head { display: flex; justify-content: space-between; padding: 4px 4px 10px; font-size: 11px; font-weight: 700; }
.candidate-card { margin-bottom: 8px; padding: 12px; border: 1px solid #e6eaf0; border-radius: 12px; background: white; box-shadow: 0 3px 12px rgba(15,23,42,.03); }
.candidate-card strong { font-size: 11px; }
.candidate-card p { margin: 5px 0 9px; color: var(--muted); font-size: 9px; }
.candidate-card footer { display: flex; align-items: center; justify-content: space-between; color: var(--faint); font-size: 8px; }
.candidate-card button { border: 0; color: var(--blue); background: transparent; font-size: 9px; }

.funnel { display: flex; height: 160px; align-items: flex-end; gap: 10px; padding-top: 15px; }
.funnel-bar { flex: 1; min-width: 56px; border-radius: 8px 8px 3px 3px; background: linear-gradient(180deg, #176bff, #7aaaff); position: relative; }
.funnel-bar span { position: absolute; inset: -18px 0 auto; text-align: center; font-size: 10px; font-weight: 700; }
.funnel-bar small { position: absolute; inset: auto 0 -20px; color: var(--muted); text-align: center; font-size: 8px; }
.check-row { display: flex; align-items: center; gap: 9px; padding: 10px 0; border-top: 1px solid #f0f2f5; font-size: 11px; }
.check-row input { accent-color: var(--blue); }
.point-summary { margin-bottom: 14px; }
.point-summary h2 { margin: 0; font-size: 14px; }
.point-summary p { margin: 10px 0 0; color: var(--muted); font-size: 10px; }
.metric-note { padding: 4px 7px; border-radius: 999px; font-size: 9px; font-weight: 650; }
.metric-note--blue { color: #175cd3; background: #eff4ff; }
.metric-note--violet { color: #6941c6; background: #f4f3ff; }
.metric-note--emerald { color: #027a48; background: #ecfdf3; }
.point-gate { display: flex; align-items: center; gap: 13px; margin-bottom: 14px; padding: 16px 18px; border-color: #f7d58a; background: #fffcf5; }
.point-gate-icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 50%; color: #b54708; background: #fff1cc; font-size: 16px; font-weight: 800; }
.point-gate h2 { margin: 0; font-size: 14px; }
.point-gate p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.point-integration { margin-top: 14px; margin-bottom: 0; }
.table-note { min-width: 190px; max-width: 260px; color: var(--muted); line-height: 1.55; }
.migration-policy { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 18px; margin-bottom: 14px; padding: 17px; }
.migration-policy > div { display: grid; grid-template-columns: 34px auto; column-gap: 9px; align-items: center; }
.migration-policy > div strong, .migration-policy > div small { grid-column: 2; }
.migration-policy > div strong { font-size: 11px; }
.migration-policy > div small { margin-top: 3px; color: var(--faint); font-size: 9px; }
.migration-arrow { grid-row: 1 / 3; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #475467; background: #eef1f5; font-size: 10px; font-weight: 700; }
.migration-arrow.primary { color: white; background: var(--blue); }
.source-grid { margin-bottom: 14px; }
.source-card { padding: 15px; }
.source-card h2 { margin: 14px 0 4px; font-size: 14px; }
.source-card > p { margin: 0; color: var(--muted); font-size: 10px; }
.source-target { display: grid; gap: 4px; margin: 14px 0; padding: 10px; border-radius: 10px; background: #f8fafc; }
.source-target span { color: var(--faint); font-size: 8px; }
.source-target strong { color: #344054; font-size: 10px; }
.source-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--faint); font-size: 8px; }
.migration-bottom { margin-top: 0; }
.migration-step { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 9px; padding: 9px 0; border-top: 1px solid #f0f2f5; }
.migration-step:first-of-type { border-top: 0; }
.migration-step > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; color: #175cd3; background: #eef4ff; font-size: 9px; font-weight: 700; }
.migration-step strong { font-size: 10px; }
.migration-step em { color: var(--faint); font-size: 8px; font-style: normal; }
.migration-hero { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding: 20px; background: linear-gradient(135deg, #f7faff, #ffffff 62%); }
.migration-hero h2 { margin: 5px 0 7px; font-size: 19px; }
.migration-hero p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.migration-stack { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.migration-grid { margin-bottom: 14px; }
.migration-card { padding: 15px; }
.migration-card dl { display: grid; gap: 8px; margin: 14px 0; }
.migration-card dl > div { display: flex; justify-content: space-between; gap: 12px; font-size: 9px; }
.migration-card dt { color: var(--faint); }
.migration-card dd { margin: 0; color: #344054; text-align: right; }
.migration-card > small { color: var(--faint); font-size: 8px; }
.mapping-panel { margin-bottom: 14px; overflow: hidden; }
.mapping-panel .panel-head { padding: 16px 18px 0; }
.mapping-fields { min-width: 330px; max-width: 560px; color: #475467; line-height: 1.55; }
.mapping-relations { min-width: 180px; color: #175cd3; line-height: 1.55; }
.mapping-panel code { padding: 3px 6px; border-radius: 6px; color: #175cd3; background: #eef4ff; font-size: 9px; }
.migration-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 15px; }
.migration-steps > div { display: grid; grid-template-columns: 24px 1fr; column-gap: 8px; padding: 0 12px; border-right: 1px solid var(--line); }
.migration-steps > div:last-child { border-right: 0; }
.migration-steps span { grid-row: 1 / 3; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; color: #175cd3; background: #eef4ff; font-size: 9px; font-weight: 700; }
.migration-steps strong { font-size: 10px; }
.migration-steps small { margin-top: 4px; color: var(--faint); font-size: 8px; line-height: 1.45; }

dialog { width: min(520px, calc(100% - 28px)); padding: 0; border: 0; border-radius: 18px; color: var(--ink); box-shadow: 0 24px 80px rgba(15,23,42,.22); }
dialog.wide { width: min(1040px, calc(100% - 28px)); }
dialog::backdrop { background: rgba(15,23,42,.34); backdrop-filter: blur(4px); }
.dialog-head, .dialog-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; }
.dialog-head { border-bottom: 1px solid var(--line); }
.dialog-head small { color: var(--blue); font-size: 9px; font-weight: 700; }
.dialog-head h2 { margin: 3px 0 0; font-size: 17px; }
.dialog-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 18px; }
dialog.wide .dialog-body { max-height: min(72vh, 820px); overflow-y: auto; }
.approval-dialog { width: min(980px, calc(100% - 28px)); max-height: calc(100dvh - 28px); overflow: hidden; border-radius: 22px; }
.approval-dialog #dialog-form { display: flex; flex-direction: column; max-height: calc(100dvh - 28px); }
.approval-dialog .dialog-head { flex: 0 0 auto; padding: 20px 24px; background: linear-gradient(135deg,#f7faff,#fff 70%); }
.approval-dialog .dialog-head h2 { font-size: 21px; }
.approval-dialog .dialog-body { display: flex; flex-direction: column; gap: 12px; padding: 16px 20px 20px; overflow-y: auto; background: #f4f7fb; }
.approval-dialog .dialog-actions { flex: 0 0 auto; padding: 14px 20px; background: white; box-shadow: 0 -5px 18px rgba(21,41,72,.06); }
.approval-dialog .dialog-actions .btn.primary { min-width: 150px; }
.approval-intro { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid #dce7fb; border-radius: 13px; background: #eef5ff; }
.approval-intro > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: white; background: var(--blue); font-weight: 800; }
.approval-intro > div { display: grid; gap: 3px; }
.approval-intro strong { font-size: 14px; }
.approval-intro small { color: var(--muted); font-size: 13px; line-height: 1.5; }
.approval-section { padding: 18px; border: 1px solid #e3e9f2; border-radius: 15px; background: white; }
.approval-section-title { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 15px; }
.approval-section-title > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: #2465d6; background: #edf3ff; font-size: 10px; font-weight: 800; }
.approval-section-title > div { display: grid; gap: 3px; }
.approval-section-title strong { font-size: 16px; }
.approval-section-title small { color: var(--faint); font-size: 13px; line-height: 1.45; }
.approval-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.approval-dialog .source-fields { margin: 0; padding: 0; border: 0; }
.approval-dialog .source-fields-head { display: none; }
.approval-dialog .review-grid { gap: 12px; }
.approval-dialog .form-field { gap: 7px; color: #5d6b82; font-size: 14px; }
.approval-dialog .form-field input:not([type=file]), .approval-dialog .form-field select { min-height: 44px; border-color: #dbe3ef; border-radius: 10px; font-size: 14px; }
.approval-dialog .form-field textarea { min-height: 96px; border-color: #dbe3ef; border-radius: 10px; font-size: 14px; line-height: 1.55; }
.approval-material-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:4px 0 11px; }
.approval-material-heading > div { display:grid; gap:2px; }
.approval-material-heading strong { font-size:15px; }
.approval-material-heading small, .approval-material-heading > span { color:var(--muted); font-size:12px; }
.approval-material-heading > span { padding:5px 8px; border-radius:999px; background:#edf4ff; color:#2465d6; font-weight:700; }
.approval-material-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.approval-upload-card { position:relative; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:84px; padding:14px; border:1px dashed #b8c9e6; border-radius:12px; background:#f8fbff; cursor:pointer; transition:.16s ease; }
.approval-upload-card:hover, .approval-upload-card.has-selection, .approval-upload-card.is-dragging { border-color:#4b82ee; background:#f1f6ff; box-shadow:0 0 0 3px rgba(75,130,238,.09); }
.approval-upload-card.is-uploaded { border-style:solid; border-color:#a8dcc1; background:#f3fbf7; }
.approval-upload-card.is-missing { border-style:solid; border-color:#e76464; background:#fff5f5; box-shadow:0 0 0 3px rgba(215,69,69,.10); }
.approval-upload-card.is-missing .approval-upload-copy em { color:#c73535; font-weight:700; }
.approval-upload-input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.approval-upload-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:#e6efff; color:#2465d6; font-size:11px; font-weight:800; }
.approval-upload-card.is-uploaded .approval-upload-icon { background:#dcf4e8; color:#178451; }
.approval-upload-preview { display:grid; place-items:center; width:42px; height:42px; overflow:hidden; border-radius:10px; background:#e6efff; color:#2465d6; font-size:13px; font-weight:800; }
.approval-upload-preview img { width:100%; height:100%; object-fit:cover; }
.approval-upload-card.is-uploaded .approval-upload-preview { background:#dcf4e8; color:#178451; }
.approval-upload-copy { display:grid; gap:3px; min-width:0; }
.approval-upload-copy strong { color:#27364f; font-size:14px; }
.approval-upload-copy small { overflow:hidden; color:#718096; font-size:12px; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.approval-upload-copy em { color:#2465d6; font-size:12px; line-height:1.4; font-style:normal; overflow-wrap:anywhere; }
.approval-upload-cta { padding:8px 10px; border-radius:8px; background:white; color:#2465d6; font-size:13px; font-weight:700; box-shadow:0 1px 4px rgba(30,60,100,.08); }
.approval-detail-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:18px 0 10px; padding-top:15px; border-top:1px solid #e7edf5; }
.approval-detail-heading strong { font-size:15px; }
.approval-detail-heading small { color:var(--muted); font-size:12px; }
.approval-missing-note, .approval-final-note { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border-radius:10px; }
.approval-missing-note { margin-top:12px; background:#fff7e7; color:#9a610d; }
.approval-final-note { border:1px solid #dce7fb; background:#eef5ff; color:#304766; }
.approval-missing-note strong, .approval-final-note strong { font-size:14px; }
.approval-missing-note small, .approval-final-note small { font-size:12px; line-height:1.45; }
.approval-linked-material { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; margin-top:16px; padding:14px 16px; border:1px solid #b9d8cf; border-radius:12px; background:#f3faf7; }
.approval-linked-material > span { color:#176f63; font-size:12px; font-weight:700; }
.approval-linked-material div { display:grid; gap:3px; }
.approval-linked-material strong { color:#17332f; }
.approval-linked-material small { color:#60736f; }
.approval-linked-material.is-empty { grid-template-columns:auto minmax(0,1fr); border-color:var(--line); background:#f8fafc; }
@media (max-width:720px) {
  .approval-material-grid { grid-template-columns:1fr; }
  .approval-detail-heading { align-items:flex-start; flex-direction:column; gap:3px; }
}
.dialog-actions { justify-content: flex-end; border-top: 1px solid var(--line); background: #fbfcfe; }
.form-field { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.form-field.full { grid-column: 1 / -1; }
.form-field textarea { min-height: 74px; padding: 9px 10px; resize: vertical; }
.readonly-form-field { min-height: 62px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: #f8fafc; }
.readonly-form-field strong { color: #344054; font-size: 11px; }
.readonly-form-field small { color: var(--faint); font-size: 8px; line-height: 1.45; }
.directory-picker { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 58px; padding: 10px 11px; border: 1px dashed #b7cdf5; border-radius: 10px; color: #344054; background: #f8fbff; text-align: left; }
.directory-picker:disabled { cursor: not-allowed; opacity: 1; }
.directory-picker strong, .directory-picker small { display: block; }
.directory-picker strong { font-size: 11px; }
.directory-picker small { margin-top: 4px; color: var(--faint); font-size: 9px; }
.member-search-row { display: flex; gap: 8px; }
.member-search-row input { flex: 1; min-width: 0; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; font: inherit; }
.member-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.member-choice, .member-bind-card { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: #fbfcfe; text-align: left; }
.member-choice:has(input:checked), .member-choice.selected { border-color: #84adff; background: #f2f7ff; }
.member-choice span, .member-bind-card span { flex: 1; min-width: 0; }
.member-choice strong, .member-choice small, .member-bind-card strong, .member-bind-card small { display: block; }
.member-choice strong, .member-bind-card strong { font-size: 10px; }
.member-choice small, .member-bind-card small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.member-bind-card { width: 100%; cursor: pointer; }
.member-bind-card:hover { border-color: #84adff; background: #f2f7ff; }
.member-bind-card b { color: var(--blue); font-size: 9px; }
.setup-list { grid-column: 1 / -1; display: grid; gap: 10px; }
.setup-list > div { display: flex; align-items: flex-start; gap: 10px; padding: 11px; border-radius: 11px; background: #f8fafc; }
.setup-list > div > span { display: grid; place-items: center; flex: 0 0 24px; height: 24px; border-radius: 8px; color: #175cd3; background: #eaf2ff; font-size: 9px; font-weight: 700; }
.setup-list p { margin: 0; }
.setup-list strong, .setup-list small { display: block; }
.setup-list strong { font-size: 11px; }
.setup-list small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.secure-notice { grid-column: 1 / -1; padding: 12px; border: 1px solid #f7d58a; border-radius: 11px; color: #7a2e0e; background: #fffcf5; }
.secure-notice strong, .secure-notice small { display: block; }
.secure-notice strong { font-size: 10px; }
.secure-notice small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.source-fields { grid-column: 1 / -1; margin-top: 5px; padding-top: 16px; border-top: 1px solid var(--line); }
.source-fields-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.source-fields-head strong { font-size: 13px; }
.source-fields-head small { max-width: 560px; color: var(--muted); font-size: 9px; line-height: 1.55; text-align: right; }
.source-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.source-field { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfe; }
.source-field > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
.source-field strong { overflow-wrap: anywhere; color: #344054; font-size: 9px; }
.source-field input, .source-field textarea { width: 100%; min-height: 34px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: white; font-size: 10px; }
.source-field textarea { min-height: 72px; resize: vertical; }
.source-field pre { max-height: 180px; margin: 0; overflow: auto; color: #475467; font: 9px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.source-field > small { display: block; margin-top: 7px; color: var(--faint); font-size: 8px; }
.source-field.readonly { background: #f7f8fa; }
.field-override { flex: 0 0 auto; padding: 2px 5px; border-radius: 999px; color: #175cd3; background: #eff4ff; font-size: 8px; }
.screening-status { margin: -4px 0 10px; }
.review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.review-grid .form-field:last-child { grid-column: 1 / -1; }
.screening-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.screening-groups h3 { margin: 0 0 7px; font-size: 11px; }
.screening-groups article, .communication-list article { padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfe; }
.screening-groups article + article, .communication-list article + article { margin-top: 7px; }
.screening-groups article > div, .communication-list article > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.screening-groups article strong, .communication-list article strong { font-size: 10px; }
.screening-groups article p, .communication-list article p { margin: 6px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; white-space: pre-wrap; }
.communication-list article > div span, .communication-list article > small { color: var(--faint); font-size: 8px; }
.communication-list article > small { display: block; margin-top: 6px; }
.interview-feedback-section { padding-bottom: 4px; }
.feedback-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.feedback-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.feedback-grid h3 { margin: 0 0 8px; color: #344054; font-size: 11px; }
.feedback-grid .communication-list article { min-height: 88px; }
.public-feedback-shell { min-height: 100vh; display: grid; place-items: center; padding: 28px; background: radial-gradient(circle at 8% 10%, #e8f1ff 0, transparent 30%), #f5f7fb; }
.public-feedback-card { width: min(760px, 100%); padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 24px 70px rgba(15,23,42,.1); }
.public-feedback-head { margin: 28px 0 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.public-feedback-head > span { color: var(--blue); font-size: 10px; font-weight: 700; }
.public-feedback-head h1 { margin: 7px 0 5px; font-size: 22px; }
.public-feedback-head p, .feedback-form-help { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.public-resume-preview { margin: 0 0 20px; padding: 16px; border: 1px solid #cfe0ff; border-radius: 14px; background: #f7faff; }
.public-resume-preview > strong { display: block; margin-bottom: 10px; font-size: 13px; }
.public-resume-preview > div { display: grid; gap: 8px; }
.public-resume-preview a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; border: 1px solid #d6e3f8; border-radius: 10px; color: #175cd3; background: #fff; text-decoration: none; }
.public-resume-preview a small { color: #667085; white-space: nowrap; }
.feedback-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.feedback-form-help { margin: 14px 0 6px; }
.public-feedback-submit { width: 100%; margin-top: 8px; }
.candidate-feedback-image-field input[type="file"] { height:auto; min-height:42px; padding:8px; border:1px dashed #b9c8df; border-radius:10px; background:#f8faff; }
.candidate-feedback-image-field small { color:var(--muted); font-size:8px; line-height:1.5; }
.candidate-feedback-image-preview img { display:block; width:min(520px,100%); max-height:420px; object-fit:contain; border:1px solid var(--line); border-radius:12px; background:#f8fafc; }
.candidate-feedback-image-preview small { margin-top:6px; color:var(--muted); font-size:8px; }
.public-feedback-loading { padding: 72px 20px; color: var(--muted); text-align: center; }
.public-feedback-complete { display: grid; justify-items: center; padding: 72px 20px; text-align: center; }
.public-feedback-complete > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: #027a48; background: #ecfdf3; font-size: 20px; font-weight: 800; }
.public-feedback-complete.error > span { color: #b42318; background: #fef3f2; }
.public-feedback-complete h1 { margin: 17px 0 7px; font-size: 21px; }
.public-feedback-complete p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 80; max-width: 360px; padding: 12px 16px; border-radius: 11px; color: white; background: #101828; box-shadow: 0 14px 40px rgba(15,23,42,.22); font-size: 11px; opacity: 0; transform: translateY(12px); pointer-events: none; transition: .2s ease; }
.toast.show { opacity: 1; transform: translateY(0); }

.people-source-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:12px; }
.people-source-grid article { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:10px; padding:15px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.people-source-grid article>span { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:#246bfe; background:#edf4ff; font-weight:800; }
.people-source-grid article div { display:grid; gap:3px; min-width:0; }
.people-source-grid article strong { font-size:12px; }
.people-source-grid article small { color:var(--muted); font-size:9px; }
.people-source-grid article b { color:#246bfe; font-size:20px; }
.learning-space-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.learning-space-card { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; padding:17px; border:1px solid var(--line); border-radius:16px; color:var(--ink); background:#fff; text-align:left; cursor:pointer; box-shadow:0 5px 18px rgba(36,63,99,.04); transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.learning-space-card:hover,.learning-space-card:focus-visible { border-color:#77a79b; outline:0; box-shadow:0 12px 26px rgba(20,105,91,.11); transform:translateY(-1px); }
.learning-space-card>span { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:#147d70; background:#e8f5f1; font-size:16px; font-weight:850; }
.learning-space-card>div { display:grid; gap:4px; min-width:0; }
.learning-space-card>div strong { font-size:14px; }
.learning-space-card>div small { color:var(--muted); font-size:10px; }
.learning-space-card>b { display:grid; gap:3px; color:#246bfe; font-size:20px; text-align:right; }
.learning-space-card>b small { color:#7a879b; font-size:9px; font-weight:650; }
.department-learning-workspace { margin:16px 0; overflow:hidden; scroll-margin-top:18px; }
.department-learning-workspace>header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 24px; border-bottom:1px solid var(--line); background:linear-gradient(135deg,#f0f8f5,#fff 68%); }
.department-learning-workspace>header>div:first-child { display:grid; justify-items:start; gap:7px; }
.department-learning-workspace>header h2 { margin:0; font-size:24px; }
.department-learning-workspace>header p { margin:0; color:var(--muted); font-size:11px; }
.learning-space-counts { display:flex; gap:8px; }
.learning-space-counts strong { display:grid; min-width:76px; padding:11px; border:1px solid #cce0db; border-radius:12px; color:#126b60; background:#fff; font-size:21px; text-align:center; }
.learning-space-counts small { margin-top:3px; color:var(--muted); font-size:9px; }
.department-learning-workspace>.people-tabs { margin:0; padding:10px 18px; border:0; border-bottom:1px solid var(--line); border-radius:0; }
.department-learning-content { padding:18px; background:#f8faf9; }
.learning-map-card { overflow:hidden; border:1px solid #dfe8e5; border-radius:15px; background:#fff; }
.learning-map-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid #e7eeec; }
.learning-map-head>div { display:grid; gap:5px; }
.learning-map-head h3 { margin:0; font-size:17px; }
.learning-map-head small { color:var(--muted); font-size:10px; }
.learning-map-head>strong { color:#147d70; font-size:13px; }
.learning-map-stages { display:grid; }
.learning-map-stage { display:grid; grid-template-columns:42px 1fr; gap:15px; padding:18px 20px; border-bottom:1px solid #edf1f0; }
.learning-map-stage:last-child { border-bottom:0; }
.learning-map-stage>span { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:#147d70; background:#e8f5f1; font-size:11px; font-weight:850; }
.learning-map-stage>div { display:grid; gap:10px; }
.learning-map-stage h4 { margin:2px 0 0; font-size:14px; }
.learning-map-stage>div>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.learning-map-stage button { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:50px; padding:10px 12px; border:1px solid #dce6e3; border-radius:10px; color:var(--ink); background:#fbfdfc; text-align:left; cursor:pointer; }
.learning-map-stage button:hover { border-color:#7cab9f; background:#f2f9f7; }
.learning-map-stage button strong { font-size:11px; }
.learning-map-stage button small,.missing-course { color:var(--muted); font-size:9px; }
.learning-detail-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:18px; border:1px solid #d6e6e1; border-radius:14px; background:#f4faf8; }
.learning-detail-hero>div { display:grid; gap:7px; }
.learning-detail-hero h3 { margin:0; font-size:20px; }
.learning-detail-hero p { margin:0; max-width:70ch; color:var(--muted); font-size:12px; line-height:1.65; }
.learning-detail-hero>strong { color:#667085; font-size:10px; }
.course-entry-card { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px; border:1px solid #dbe6e2; border-radius:13px; background:#fff; }
.course-entry-card.is-ready { border-color:#acd3c9; background:#f2faf7; }
.course-entry-card.is-missing { border-color:#ead9b1; background:#fffbf2; }
.course-entry-card>div { display:grid; gap:5px; }
.course-entry-card strong { font-size:14px; }
.course-entry-card small { color:var(--muted); font-size:11px; line-height:1.5; }
.assessment-preview { padding:17px; border:1px solid #e0e6e4; border-radius:13px; background:#fff; }
.assessment-preview ol { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.assessment-preview li { display:grid; grid-template-columns:30px 1fr; align-items:start; gap:9px; padding:9px 10px; border-radius:9px; background:#f7f9f9; }
.assessment-preview li span { color:#147d70; font-size:10px; font-weight:800; }
.assessment-preview li p { margin:0; color:#344054; font-size:11px; line-height:1.55; }
.people-tabs { display:flex; align-items:center; gap:4px; padding:5px; margin-bottom:12px; overflow-x:auto; }
.people-tabs button { flex:0 0 auto; padding:8px 13px; border:0; border-radius:9px; color:#667085; background:transparent; font-size:10px; font-weight:700; cursor:pointer; }
.people-tabs button.active { color:#155eef; background:#edf4ff; }
.lifecycle-toolbar { display:flex; justify-content:flex-end; margin-bottom:12px; }
.lifecycle-toolbar .btn { min-height:44px; }
.lifecycle-overview { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); margin-bottom:12px; overflow:hidden; }
.lifecycle-overview button { display:grid; gap:5px; padding:14px 12px; border:0; border-right:1px solid var(--line); background:#fff; text-align:left; cursor:pointer; }
.lifecycle-overview button:last-child { border-right:0; }
.lifecycle-overview span { color:var(--muted); font-size:9px; }
.lifecycle-overview strong { color:#17243a; font-size:20px; }
.lifecycle-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:18px; margin-bottom:16px; }
.lifecycle-filters label { display:grid; gap:6px; min-width:0; color:var(--muted); font-size:12px; }
.lifecycle-filters input,.lifecycle-filters select { width:100%; min-width:0; min-height:42px; padding:8px 10px; background:white; border:1px solid var(--line); border-radius:8px; color:var(--text); }
.lifecycle-filter-actions { display:flex; gap:8px; grid-column:1/-1; justify-content:flex-end; }
.lifecycle-register { overflow:hidden; }
.lifecycle-register-heading { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:18px; border-bottom:1px solid var(--line); }
.lifecycle-register-heading small,.lifecycle-register td small { display:block; color:var(--muted); font-size:12px; line-height:1.6; margin-top:4px; }
.lifecycle-table-scroll { overflow-x:auto; }
.lifecycle-register table { width:100%; min-width:1000px; border-collapse:collapse; font-size:13px; }
.lifecycle-register th,.lifecycle-register td { text-align:left; vertical-align:top; padding:14px 16px; border-bottom:1px solid var(--line); }
.lifecycle-register th { background:#f5f8f7; color:var(--muted); font-size:12px; font-weight:600; }
.lifecycle-register td { max-width:240px; overflow-wrap:anywhere; }
.lifecycle-register td:nth-child(4),.lifecycle-register td:nth-child(5) { white-space:nowrap; }
.lifecycle-summary { min-width:180px; white-space:pre-wrap; }
.lifecycle-pagination { display:flex; align-items:center; justify-content:flex-end; gap:16px; padding:14px 18px; }
.lifecycle-skeleton { padding:48px 20px; color:var(--muted); background:linear-gradient(90deg,#f4f7f6,#fff,#f4f7f6); }
.lifecycle-detail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.lifecycle-detail div { border-bottom:1px solid var(--line); padding:10px 0; overflow-wrap:anywhere; }
.lifecycle-detail p { margin:8px 0; white-space:pre-wrap; }
@media(max-width:900px){.lifecycle-filters{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.lifecycle-filters,.lifecycle-detail{grid-template-columns:1fr;} .lifecycle-register-heading{display:grid;} .lifecycle-pagination{justify-content:space-between;gap:6px;} .lifecycle-filters{padding:14px;}}
.lifecycle-list { overflow:hidden; }
.lifecycle-list article { display:grid; grid-template-columns:34px minmax(150px,.75fr) minmax(260px,1.5fr) minmax(160px,.8fr) auto; align-items:center; gap:14px; padding:14px 16px; border-bottom:1px solid var(--line); }
.lifecycle-list article:last-child { border-bottom:0; }
.lifecycle-actions { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.lifecycle-stage-dot { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:#246bfe; background:#edf4ff; font-size:11px; font-weight:800; }
.lifecycle-person,.lifecycle-event,.lifecycle-next { display:grid; gap:4px; min-width:0; }
.lifecycle-person strong,.lifecycle-event strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.lifecycle-person small,.lifecycle-event small,.lifecycle-next small { color:var(--muted); font-size:9px; }
.lifecycle-event .status { width:max-content; }
.lifecycle-next span { font-size:10px; }

.permission-matrix { grid-column: 1 / -1; border: 1px solid var(--line); border-radius: 16px; padding: 16px; background: #f8faff; }
.permission-bulk-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 12px 0; padding: 10px; border: 1px solid #dbe7fb; border-radius: 12px; background: #fff; }
.permission-bulk-actions > strong { margin-right: 4px; color: var(--ink); font-size: 11px; }
.permission-bulk-check { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; color: #344054; background: #f8fafc; cursor: pointer; transition: border-color .2s ease, background-color .2s ease, transform .2s ease; }
.permission-bulk-check:hover { border-color: #8cb7ff; background: #edf4ff; }
.permission-bulk-check:active { transform: translateY(1px); }
.permission-bulk-check input { width: 16px; height: 16px; margin: 0; accent-color: var(--primary); }
.permission-bulk-check span { font-size: 10px; font-weight: 700; }
.permission-bulk-scope { display:inline-flex; align-items:center; gap:8px; margin-left:auto; color:#475467; font-size:10px; font-weight:700; }
.permission-bulk-scope select,.permission-scope-select { height:32px; padding:0 28px 0 10px; border:1px solid var(--line); border-radius:9px; color:#24324a; background:#fff; font:inherit; font-size:10px; }
.permission-scope-note { display:flex; gap:8px; margin:-3px 0 12px; color:var(--muted); font-size:9px; }
.permission-scope-note strong { color:#344054; }
.permission-scope-result { display:inline-flex; align-items:center; justify-content:center; min-width:58px; padding:5px 8px; border-radius:99px; color:#344054; background:#eef2f6; font-size:9px; font-weight:750; }
.permission-scope-result.scope-department { color:#175cd3; background:#eaf2ff; }
.permission-scope-result.scope-all { color:#067647; background:#e8f7ef; }
.permission-matrix table { min-width: 760px; }
.permission-matrix th:not(:first-child), .permission-matrix td:not(:first-child) { text-align: center; }
.permission-check { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.permission-check input { width: 17px; height: 17px; accent-color: var(--primary); }
.permission-check span { font-size: 12px; color: var(--muted); }

@media (max-width: 1180px) {
  .citizen-broker-toolbar { grid-template-columns:minmax(300px,1fr) minmax(200px,.7fr); }
  .citizen-broker-toolbar-actions { grid-column:1/-1; justify-content:flex-start; }
  .stats-grid { grid-template-columns: repeat(3, 1fr); }
  .two-col { grid-template-columns: 1fr; }
  .interviewer-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .dashboard-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-kpi:nth-child(3) { border-right: 0; }
  .dashboard-kpi:nth-child(n+4) { border-top: 1px solid #e8edf3; }
  .hr-rank-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .migration-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 0; }
  .migration-steps > div:nth-child(3) { border-right: 0; }
  .interview-calendar { overflow-x: auto; }
  .calendar-week, .calendar-grid { min-width: 840px; }
  .talent-profile-list { overflow-x: auto; }
  .talent-profile-list-head, .talent-profile-row { min-width: 970px; }
}

@media (max-width: 720px) {
  .candidate-feedback-intro { align-items:flex-start; flex-wrap:wrap; }
  .candidate-feedback-fixed-entry { grid-template-columns: 1fr; justify-items: center; }
  .candidate-feedback-fixed-entry > div { width: 100%; }
  .candidate-feedback-kpis { width:100%; }
  .candidate-feedback-kpis span { flex:1; }
  .candidate-experience-result { grid-template-columns:50px minmax(0,1fr); }
  .candidate-experience-actions { grid-column:1/-1; justify-content:flex-end; }
}

@media (max-width: 820px) {
  .access-role-workspace { grid-template-columns: 1fr; }
  .access-role-browser { border-right: 0; border-bottom: 1px solid var(--line); }
  .access-role-list { max-height: 300px; }
  .access-role-detail-head { align-items: flex-start; flex-direction: column; }
  .access-role-detail-head .actions { width: 100%; justify-content: flex-start; }
  .access-role-member-list { grid-template-columns: 1fr; }
  .training-discovery-banner { align-items: flex-start; flex-direction: column; }
  .citizen-broker-toolbar { grid-template-columns:1fr; align-items:stretch; }
  .citizen-broker-toolbar-actions { grid-column:auto; justify-content:space-between; flex-wrap:wrap; }
  .application-entry-grid { grid-template-columns:1fr; }
  .broker-promotion-layout { grid-template-columns:1fr; }
  .broker-promotion-entry-card { position:static; }
  .broker-public-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 10px; }
  .application-qr-card { grid-column:auto; align-items:flex-start; }
  .sidebar { transform: translateX(-100%); transition: transform .2s ease; }
  .sidebar.open { transform: translateX(0); box-shadow: 20px 0 50px rgba(15,23,42,.15); }
  .main-area { padding-left: 0; }
  .mobile-menu { display: block; }
  .global-search { width: 44vw; }
  .role-switch { display: none; }
  .page-head { align-items: flex-start; flex-direction: column; }
  .stats-grid, .three-col { grid-template-columns: repeat(2, 1fr); }
  .filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-filters { grid-template-columns: 1fr; }
  .dashboard-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-kpi:nth-child(3) { border-right: 1px solid #e8edf3; }
  .dashboard-kpi:nth-child(even) { border-right: 0; }
  .dashboard-kpi:nth-child(n+3) { border-top: 1px solid #e8edf3; }
  .dashboard-visual-grid, .dashboard-focus-grid { grid-template-columns: 1fr; }
  .migration-hero { align-items: flex-start; flex-direction: column; }
  .migration-stack { justify-content: flex-start; }
  .migration-steps { grid-template-columns: 1fr; }
  .migration-steps > div { padding: 9px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .migration-steps > div:last-child { border-bottom: 0; }
  .registration-summary-grid { grid-template-columns: 1fr; }
  .registration-controls { align-items: stretch; flex-direction: column; }
  .talent-profile-filters { grid-template-columns: 1fr 1fr; }
  .talent-profile-search { grid-column: 1 / -1; }
  .people-source-grid { grid-template-columns:1fr; }
  .department-learning-workspace>header { align-items:flex-start; flex-direction:column; }
  .learning-space-counts { width:100%; }
  .learning-space-counts strong { flex:1; min-width:0; }
  .learning-map-stage>div>div { grid-template-columns:1fr; }
  .course-entry-card { align-items:flex-start; flex-direction:column; }
  .lifecycle-overview { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .lifecycle-list article { grid-template-columns:32px minmax(130px,1fr) minmax(220px,1.6fr) minmax(140px,.8fr) auto; min-width:820px; }
  .lifecycle-next { display:none; }
}

@media (max-width: 560px) {
  .todo-entry span { display:none; }
  .workflow-config-step { grid-template-columns:1fr; }
  .access-role-filters { grid-template-columns: 1fr; }
  .access-role-search-field { grid-column: auto; }
  .access-role-detail-head, .access-role-permission-title { padding-left: 15px; padding-right: 15px; }
  .access-role-permission-title { align-items: flex-start; flex-direction: column; }
  .access-role-detail-empty { min-height: 280px; padding: 24px 15px; }
  .application-qr-card { flex-direction:column; }
  .topbar, #workspace { padding-left: 15px; padding-right: 15px; }
  .global-search { display: none; }
  .stats-grid, .three-col { grid-template-columns: 1fr; }
  .dashboard-kpis, .hr-rank-grid { grid-template-columns: 1fr; }
  .dashboard-kpi { min-height: 112px; border-right: 0; border-top: 1px solid #e8edf3; }
  .dashboard-kpi:first-child { border-top: 0; }
  .dashboard-kpi strong { font-size: 28px; }
  .progress-row { grid-template-columns: 68px minmax(70px,1fr) 34px; }
  .dialog-body { grid-template-columns: 1fr; }
  .form-field.full { grid-column: auto; }
  .source-fields, .source-fields-grid, .review-grid { grid-column: auto; grid-template-columns: 1fr; }
  .member-search-row { align-items: stretch; flex-direction: column; }
  .member-results { grid-template-columns: 1fr; }
  .review-grid .form-field:last-child { grid-column: auto; }
  .screening-groups { grid-template-columns: 1fr; }
  .feedback-grid, .feedback-form-grid { grid-template-columns: 1fr; }
  .source-fields-head { flex-direction: column; }
  .source-fields-head small { text-align: left; }
  .integration-card { align-items: flex-start; flex-wrap: wrap; }
  .integration-copy { flex-basis: calc(100% - 58px); }
  .integration-card > .btn { margin-left: 56px; }
  .integration-actions { width: 100%; padding-left: 56px; justify-content: flex-start; }
  .interviewer-list { grid-template-columns: 1fr; }
  .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-filter input { min-width: 100%; }
  .talent-profile-filters { grid-template-columns: 1fr; }
  .talent-profile-search { grid-column: auto; }
  .candidate-pagination { align-items: flex-start; flex-direction: column; }
  .candidate-page-controls { justify-content: flex-start; }
}

/* 2026-09-22 unified form workspace */
dialog { width:min(680px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:hidden; border-radius:20px; background:#fff; box-shadow:0 28px 90px rgba(34,48,73,.2); }
dialog.wide { width:min(1160px,calc(100% - 32px)); }
dialog.compact-dialog { width:min(560px,calc(100% - 32px)); }
dialog::backdrop { background:rgba(35,45,62,.42); backdrop-filter:blur(3px); }
dialog #dialog-form { display:flex; flex-direction:column; max-height:calc(100dvh - 32px); }
.dialog-head { flex:0 0 auto; min-height:76px; padding:17px 24px; border-bottom:1px solid #e7ebf1; background:#fff; }
.dialog-head small { color:#356ac3; font-size:11px; letter-spacing:.02em; }
.dialog-head h2 { margin-top:5px; color:#202b3d; font-size:21px; line-height:1.25; letter-spacing:-.02em; }
.dialog-head .icon-btn { width:34px; height:34px; border-radius:10px; color:#718096; background:#f4f6f8; font-size:18px; }
.dialog-head .icon-btn:hover { color:#344054; background:#e9edf2; }
.dialog-body { flex:1 1 auto; min-height:0; max-height:none!important; overflow:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 18px; padding:24px; background:#fbfcfd; overscroll-behavior:contain; scroll-padding-top:18px; }
.compact-dialog .dialog-body { grid-template-columns:1fr; }
.dialog-actions { position:relative; z-index:2; flex:0 0 auto; min-height:72px; padding:14px 24px; border-top:1px solid #e4e9f0; background:#fff; box-shadow:0 -12px 30px rgba(31,45,68,.05); }
.dialog-actions .btn { min-height:42px; padding:0 19px; border-radius:10px; font-size:13px; font-weight:700; }
.dialog-actions .btn.primary { min-width:132px; }
.dialog-actions #dialog-reject { min-width:92px; margin-left:auto; }
.dialog-actions .btn:active { transform:translateY(1px); }
.form-field { align-content:start; min-width:0; gap:8px; color:#344054; font-size:13px; font-weight:650; line-height:1.35; }
.form-field > span { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:18px; }
.form-field > small { color:#7b8799; font-size:11px; font-weight:450; line-height:1.55; }
.field-requirement { padding:2px 6px; border-radius:999px; color:#b42318; background:#fff0ee; font-size:10px; font-style:normal; font-weight:700; }
.toolbar input,.toolbar select,.form-field input:not([type="checkbox"]):not([type="radio"]),.form-field select,.form-field textarea,.member-search-row input { width:100%; min-width:0; min-height:44px; box-sizing:border-box; padding:10px 12px; border:1px solid #cfd7e3; border-radius:10px; outline:0; color:#243047; background:#fff; font-size:13px; font-weight:500; line-height:1.45; transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease; }
.form-field textarea { min-height:112px; resize:vertical; }
.form-field select { padding-right:36px; cursor:pointer; }
.form-field select[multiple] { min-height:132px; padding:8px; }
.form-field input::placeholder,.form-field textarea::placeholder,.member-search-row input::placeholder { color:#98a2b3; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.member-search-row input:focus { border-color:#4f7fcf; box-shadow:0 0 0 3px rgba(61,111,194,.12); }
.form-field.is-invalid input,.form-field.is-invalid select,.form-field.is-invalid textarea,.form-field.is-invalid .searchable-choice { border-color:#d92d20; box-shadow:0 0 0 3px rgba(217,45,32,.08); }
.form-field input[type="file"] { padding:6px; color:#667085; background:#f8fafc; }
.form-field input[type="file"]::file-selector-button { min-height:30px; margin-right:10px; padding:0 12px; border:1px solid #d5dce7; border-radius:8px; color:#344054; background:#fff; font-weight:700; cursor:pointer; }
.dialog-error-summary { grid-column:1/-1; display:grid; gap:4px; padding:13px 15px; border-left:4px solid #d92d20; border-radius:8px; color:#912018; background:#fff2f0; }
.dialog-error-summary strong { font-size:13px; }
.dialog-error-summary small { color:#a13a32; font-size:11px; line-height:1.5; }
.dialog-body > p.full { margin:0; padding:12px 14px; border-radius:9px; color:#536176; background:#f0f4f8; font-size:12px; line-height:1.6; }
.dialog-body > label:not(.form-field) { display:grid; gap:8px; color:#344054; font-size:13px; font-weight:650; }
.readonly-form-field { min-height:72px; padding:13px 14px; border-color:#e0e5ec; border-radius:10px; background:#f4f6f8; }
.readonly-form-field strong { color:#27364f; font-size:13px; font-weight:700; }
.readonly-form-field small { color:#7b8799; font-size:11px; }
.source-fields { margin:4px 0 0; padding:20px; border:1px solid #e0e6ee; border-radius:14px; background:#fff; }
.source-fields-head { margin-bottom:16px; }
.source-fields-head strong { color:#26334a; font-size:15px; }
.source-fields-head small { max-width:62ch; color:#7b8799; font-size:11px; line-height:1.55; }
.source-fields-grid,.review-grid { gap:18px; }
.searchable-choice { gap:9px; padding:0; border:0; box-shadow:none; }
.searchable-choice-row,.member-search-row { align-items:stretch; gap:8px; }
.searchable-choice-row .btn,.member-search-row .btn { min-height:44px; padding:0 16px; border-radius:10px; font-size:12px; }
.searchable-choice-control,.request-picker-control { display:flex; align-items:center; gap:10px; width:100%; min-height:44px; box-sizing:border-box; padding:6px 11px; border:1px solid #cfd7e3; border-radius:10px; color:#243047; background:#fff; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease; }
.searchable-choice-control:hover,.request-picker-control:hover { border-color:#98b3aa; background:#fbfdfc; }
.searchable-choice-control:focus,.request-picker-control:focus,.searchable-choice-control[aria-expanded="true"],.request-picker-control[aria-expanded="true"] { border-color:#4f8c7d; outline:0; box-shadow:0 0 0 3px rgba(15,118,110,.10); }
.searchable-choice-selected,.request-picker-selected { display:flex; flex:1; min-width:0; min-height:30px; align-items:center; flex-wrap:wrap; gap:6px; padding:0; font-size:11px; }
.searchable-choice-selected > .muted,.request-picker-selected > .muted { display:block; padding:6px 1px; color:#98a2b3; font-size:13px; font-weight:500; }
.choice-chevron { flex:0 0 auto; width:7px; height:7px; margin:0 3px 3px 5px; border-right:1.5px solid #7d8983; border-bottom:1.5px solid #7d8983; transform:rotate(45deg); transition:transform .16s ease; }
[aria-expanded="true"] > .choice-chevron { margin-bottom:-3px; transform:rotate(225deg); }
.searchable-choice-popover,.request-picker-popover { display:none; gap:8px; margin-top:8px; padding:10px; border:1px solid #dde4ed; border-radius:11px; background:#fff; box-shadow:0 12px 28px rgba(31,45,68,.10); }
.searchable-choice-popover.is-open,.request-picker-popover.is-open { display:grid; }
.searchable-choice-results { display:none; max-height:248px; padding:6px; border:1px solid #dde4ed; border-radius:10px; background:#fff; }
.searchable-choice-results.has-results { display:grid; }
.request-picker-result { min-height:50px; border-radius:8px; }
.request-picker-chip { display:inline-flex; max-width:100%; min-height:30px; align-items:center; padding:4px 7px 4px 10px; border:1px solid #c7d8f3; border-radius:8px; color:#285da9; background:#eef5ff; }
.request-picker-chip strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.request-picker-chip .danger-link { margin-left:6px; color:#8b5e59; font-size:10px; }
.member-results { gap:8px; }
.member-choice,.member-bind-card { min-height:58px; padding:11px 12px; border-radius:10px; background:#fff; }
.secure-notice { padding:14px 15px; border-color:#ead59f; border-radius:10px; }
.secure-notice strong { font-size:12px; }
.secure-notice small { font-size:11px; }

/* Approval is a guided workspace, not one undifferentiated long sheet. */
.approval-dialog { width:min(1160px,calc(100% - 24px)); max-height:calc(100dvh - 20px); border-radius:16px; }
.approval-dialog #dialog-form { max-height:calc(100dvh - 20px); }
.approval-dialog .dialog-head { min-height:60px; padding:11px 18px; background:#fff; }
.approval-dialog .dialog-head h2 { margin-top:2px; font-size:19px; }
.approval-dialog .dialog-head .icon-btn { width:36px; height:36px; }
.approval-dialog .dialog-body { display:block; padding:0; background:#f5f7fa; }
.approval-dialog .dialog-actions { min-height:58px; padding:9px 18px; }
.approval-dialog .dialog-actions .btn { min-height:38px; padding:8px 14px; }
.approval-workspace { display:grid; grid-template-columns:196px minmax(0,1fr); min-height:0; }
.approval-guide { position:sticky; top:0; align-self:start; display:grid; gap:10px; min-height:100%; padding:14px 12px; border-right:1px solid #e1e6ed; background:#fff; }
.approval-intro { align-items:flex-start; gap:9px; padding:0 0 11px; border:0; border-bottom:1px solid #e7ebf1; border-radius:0; background:transparent; }
.approval-intro > span { flex:0 0 30px; width:30px; height:30px; border-radius:8px; background:#356fcb; }
.approval-intro strong { font-size:12px; }
.approval-intro small { color:#6f7d90; font-size:9px; line-height:1.4; }
.approval-guide nav { display:grid; gap:2px; }
.approval-guide nav a { display:grid; grid-template-columns:26px minmax(0,1fr); gap:7px; align-items:start; padding:7px; border-radius:8px; color:#344054; text-decoration:none; transition:background-color .16s ease,transform .16s ease; }
.approval-guide nav a:hover { background:#f1f5fa; transform:translateX(2px); }
.approval-guide nav b { display:grid; place-items:center; width:24px; height:24px; border:1px solid #cddaf0; border-radius:7px; color:#356fcb; font-size:9px; }
.approval-guide nav span,.approval-guide nav strong,.approval-guide nav small { display:block; }
.approval-guide nav strong { font-size:11px; }
.approval-guide nav small { margin-top:1px; color:#8994a5; font-size:9px; line-height:1.3; }
.approval-flow-preview { display:grid; gap:3px; align-self:end; padding:8px; border-radius:8px; background:#f2f6fb; }
.approval-flow-preview strong { color:#344054; font-size:10px; }
.approval-flow-preview small { color:#667085; font-size:9px; line-height:1.45; }
.approval-form-content { display:grid; gap:10px; min-width:0; padding:14px 16px; }
.approval-section { scroll-margin-top:12px; padding:0 0 13px; border:0; border-bottom:1px solid #dfe5ed; border-radius:0; background:transparent; }
.approval-section:last-of-type { border-bottom:0; }
.approval-section-title { gap:8px; margin-bottom:10px; }
.approval-section-title > span { width:25px; height:25px; border-radius:7px; }
.approval-section-title strong { font-size:15px; }
.approval-section-title small { color:#7b8799; font-size:10px; line-height:1.35; }
.approval-grid,.approval-dialog .review-grid { column-gap:12px; row-gap:9px; }
.approval-dialog .source-fields { padding:0; border:0; border-radius:0; background:transparent; }
.approval-dialog .form-field { gap:5px; color:#344054; font-size:12px; }
.approval-dialog .form-field input:not([type="file"]),.approval-dialog .form-field select { min-height:38px; padding:7px 10px; border-color:#cfd7e3; border-radius:8px; font-size:12px; }
.approval-dialog .form-field textarea { min-height:78px; padding:8px 10px; border-color:#cfd7e3; border-radius:8px; font-size:12px; }
.approval-dialog .searchable-choice-control { min-height:38px; padding:5px 9px; border-radius:8px; }
.approval-dialog .request-picker-chip { min-height:26px; padding:3px 7px; }
.approval-dialog .member-search-row { gap:8px; }
.approval-dialog .member-choice,.approval-dialog .member-bind-card { min-height:44px; padding:7px 9px; border-radius:8px; }
.approval-dialog .member-choice strong,.approval-dialog .member-bind-card strong { font-size:12px; }
.approval-dialog .member-choice small,.approval-dialog .member-bind-card small { font-size:9px; }
.approval-dialog .secure-notice { padding:9px 11px; border-radius:8px; }
.approval-material-heading { margin:0 0 8px; }
.approval-material-heading strong,.approval-detail-heading strong { font-size:13px; }
.approval-material-heading small,.approval-material-heading > span,.approval-detail-heading small { font-size:10px; }
.approval-upload-card { min-height:70px; padding:9px; border-color:#b9c8de; border-radius:9px; background:#fff; }
.approval-upload-preview { width:34px; height:34px; border-radius:8px; }
.approval-upload-copy strong { font-size:12px; }
.approval-upload-copy small,.approval-upload-copy em,.approval-upload-cta { font-size:10px; }
.approval-detail-heading { margin:12px 0 8px; padding-top:10px; }
.approval-linked-material { gap:10px; margin-top:10px; padding:9px 11px; border-radius:9px; }
.approval-linked-material strong { font-size:12px; }
.approval-linked-material small { font-size:10px; }
.approval-final-note { align-items:flex-start; padding:9px 11px; border-color:#ccdaf0; border-radius:8px; background:#eef4fb; }
.approval-final-note strong { font-size:12px; }
.approval-final-note small { max-width:68ch; color:#5f6f84; font-size:10px; }

/* Current-node approval review: dense two-column facts with inline material previews. */
.approval-dialog .approval-review-context { padding:12px 14px; background:#fff; }
.approval-dialog .approval-review-context .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 10px; }
.approval-dialog .approval-review-context .readonly-form-field { min-height:0; padding:8px 10px; border:1px solid #e1e7ec; border-radius:8px; background:#f8faf9; }
.approval-dialog .approval-review-context .readonly-form-field > span { min-height:14px; color:#667085; font-size:10px; }
.approval-dialog .approval-review-context .readonly-form-field strong { color:#24352f; font-size:12px; line-height:1.35; }
.approval-dialog .approval-review-context .readonly-form-field small { margin-top:2px; font-size:9px; }
.approval-review-materials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid #e3e9e6; }
.approval-review-materials > strong { grid-column:1/-1; color:#34443e; font-size:11px; }
.approval-review-material { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:9px; min-width:0; padding:7px 9px; border:1px solid #dfe7e3; border-radius:8px; color:#245f52; background:#fbfdfc; text-decoration:none; transition:border-color .16s ease,background-color .16s ease,transform .16s ease; }
.approval-review-material:hover { border-color:#8eb7aa; background:#f2f8f5; transform:translateY(-1px); }
.approval-review-material:active { transform:translateY(1px); }
.approval-review-material-thumb,.approval-review-material-icon { display:grid; place-items:center; width:42px; height:42px; overflow:hidden; border-radius:7px; background:#eaf3ef; color:#356f62; font-size:9px; font-weight:750; }
.approval-review-material-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.approval-review-material-copy { display:grid; min-width:0; gap:2px; }
.approval-review-material-copy strong { overflow:hidden; color:#283b35; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.approval-review-material-copy small { color:#72827c; font-size:9px; }

@media (max-width:860px) {
  dialog,dialog.wide,dialog.compact-dialog,.approval-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:15px; }
  dialog #dialog-form,.approval-dialog #dialog-form { max-height:calc(100dvh - 16px); }
  .dialog-head { min-height:68px; padding:14px 16px; }
  .dialog-head h2 { font-size:18px; }
  .dialog-body { grid-template-columns:1fr; gap:16px; padding:18px 16px; }
  .dialog-actions { min-height:66px; padding:11px 16px; }
  .dialog-actions .btn { flex:1; min-width:0; }
  .source-fields { padding:16px; }
  .source-fields-head { align-items:flex-start; flex-direction:column; }
  .source-fields-head small { text-align:left; }
  .source-fields-grid,.review-grid,.approval-grid,.approval-material-grid { grid-template-columns:1fr; }
  .approval-workspace { grid-template-columns:1fr; }
  .approval-guide { position:static; min-height:0; padding:16px; border-right:0; border-bottom:1px solid #e1e6ed; }
  .approval-guide nav { grid-template-columns:repeat(3,minmax(0,1fr)); overflow:auto; }
  .approval-guide nav a { min-width:165px; }
  .approval-flow-preview { display:none; }
  .approval-form-content { padding:18px 16px; }
  .member-search-row,.searchable-choice-row { flex-direction:column; }
  .approval-dialog .approval-review-context .form-grid,.approval-review-materials { grid-template-columns:1fr; }
}

/* Performance workspace: restrained scorecard, readable evidence first. */
.performance-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px;padding:10px 2px 0;color:#18312d}
.performance-heading h1{margin:7px 0 5px;font-size:clamp(25px,2.4vw,36px);letter-spacing:-.045em;line-height:1.2}
.performance-heading p{margin:0;color:#657a74;font-size:13px;line-height:1.7}
.performance-eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:#13756a}
.performance-source{flex:none;padding:8px 12px;border:1px solid #cce6dd;border-radius:99px;background:#eff8f4;color:#276b5f;font-size:11px;font-weight:700}
.performance-tabs{display:flex;gap:7px;margin:0 0 14px;padding:5px;border:1px solid #dce8e3;border-radius:15px;background:#fff;width:max-content;max-width:100%}
.performance-tabs button{min-height:38px;padding:0 18px;border:0;border-radius:10px;background:transparent;color:#667b73;font-size:12px;font-weight:700;cursor:pointer}
.performance-tabs button:hover{background:#f3f8f6;color:#135b53}
.performance-tabs button.active{background:#176f65;color:white;box-shadow:0 5px 12px rgba(16,103,91,.18)}
.performance-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px;padding:14px 16px;border:1px solid #dce8e3;border-radius:16px;background:#fff}
.performance-filters label{display:grid;gap:5px;min-width:150px;color:#526a62;font-size:11px;font-weight:700}
.performance-filters select,.performance-filters input{height:38px;min-width:150px;padding:0 10px;border:1px solid #d7e4dd;border-radius:10px;background:#fbfdfc;color:#1c3731;font:inherit;font-size:12px}
.performance-range-label{display:flex;align-items:center;min-height:38px;padding:0 10px;border:1px solid #d7e4dd;border-radius:10px;background:#fbfdfc;color:#1c3731;font-size:12px}
.performance-filters .btn{height:38px;margin-left:auto}
.performance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}
.performance-metrics article{display:grid;gap:5px;min-height:116px;padding:17px 19px;border:1px solid #dbe6e1;border-radius:16px;background:linear-gradient(160deg,#fff,#f8fcfa);box-shadow:0 8px 25px rgba(31,63,54,.035)}
.performance-metrics article span{color:#567169;font-size:11px;font-weight:700}
.performance-metrics article strong{color:#143c36;font-size:clamp(24px,2.4vw,34px);line-height:1.1;font-variant-numeric:tabular-nums}
.performance-metrics article small{color:#8b9e97;font-size:10px}
.performance-panels{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(245px,.75fr);gap:15px;margin-bottom:15px}
.performance-panel{min-width:0;margin-bottom:15px;padding:20px;border:1px solid #dbe6e1;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(24,55,47,.035)}
.performance-panels .performance-panel{margin-bottom:0}
.performance-panel header{margin-bottom:18px}
.performance-panel header span{color:#178075;font-size:9px;font-weight:800;letter-spacing:.12em}
.performance-panel h2{display:flex;align-items:center;gap:10px;margin:6px 0 0;color:#1a342e;font-size:18px;letter-spacing:-.025em}
.performance-panel h2 em{font-size:12px;font-style:normal;color:#58746b;background:#ebf5f0;padding:3px 8px;border-radius:99px}
.performance-panel header p{margin:6px 0 0;color:#8a9d95;font-size:10px;line-height:1.5}
.performance-grade-list{display:grid;gap:12px}
.performance-grade-row{display:grid;grid-template-columns:48px minmax(0,1fr) 40px;align-items:center;gap:12px;font-size:12px}
.performance-grade-row>strong{text-align:right;font-variant-numeric:tabular-nums;color:#35534a}
.performance-grade{display:inline-grid;place-items:center;min-width:30px;height:25px;padding:0 7px;border-radius:7px;background:#e7eef2;color:#4e6573;font-size:11px;font-weight:800}
.performance-grade--S,.performance-grade--A{background:#def1e9;color:#176754}.performance-grade--B{background:#e4eeff;color:#2a5eaa}.performance-grade--C{background:#fff1d9;color:#a06914}.performance-grade--D{background:#ffe5e0;color:#a34035}
.performance-bar-track{height:10px;border-radius:99px;background:#eff4f1;overflow:hidden}
.performance-bar-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#197b70,#65b5a0)}
.performance-initiators{display:grid;gap:0}.performance-initiators>div{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid #e9efeb;color:#546a62;font-size:11px}.performance-initiators>div:last-child{border-bottom:0}.performance-initiators strong{color:#1c4f44;font-variant-numeric:tabular-nums}
.performance-table-panel{padding:0;overflow:hidden}.performance-table-panel header{margin:0;padding:20px 20px 14px}.performance-table-panel .table-wrap{max-width:100%;overflow-x:auto}.performance-table-panel table{width:100%;min-width:650px;border-collapse:collapse}.performance-table-panel th{padding:12px 16px;background:#f3f8f5;color:#587169;text-align:left;font-size:10px;font-weight:800;white-space:nowrap}.performance-table-panel td{padding:12px 16px;border-top:1px solid #ecf1ed;color:#355047;font-size:11px;vertical-align:top}.performance-table-panel td strong{color:#1e3b33}.performance-table-panel td small{display:block;margin-top:3px;color:#8ea29a}.performance-table-panel tbody tr:hover{background:#fafdfb}
.performance-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid #e8efea;color:#698077;font-size:11px}.performance-pagination>div{display:flex;gap:8px}
.performance-rule{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px;padding:13px 16px;border:1px solid #d8e8dd;border-radius:13px;background:#f4faf5;color:#426c57;font-size:10px}.performance-rule strong{margin-right:7px;color:#205740}.performance-rule span{padding-left:9px;border-left:1px solid #cadfd0}
.performance-reasons{display:grid;gap:4px;min-width:175px}.performance-reasons span{padding:3px 7px;border-radius:6px;background:#fff0e9;color:#9c4b31;font-size:10px;line-height:1.4}
.performance-footnote{margin:2px 0 24px;padding:8px 2px;color:#82968e;font-size:10px;line-height:1.6}
.performance-loading,.performance-state{min-height:180px;display:grid;align-content:center;justify-items:start;gap:8px;padding:24px;border:1px solid #dce9e2;border-radius:18px;background:#fff;color:#456258;font-size:13px}.performance-state strong{font-size:17px;color:#1d4339}.performance-state p{max-width:680px;margin:0;color:#6b847b;line-height:1.7}
.performance-tabs button:focus-visible,.performance-filters :focus-visible,[data-performance-page]:focus-visible,[data-performance-refresh]:focus-visible{outline:3px solid #58b6a5;outline-offset:2px}
@media(max-width:1000px){.performance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-panels{grid-template-columns:1fr}}
@media(max-width:620px){.performance-heading{align-items:start;flex-direction:column;gap:10px}.performance-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.performance-tabs button{padding:0 6px}.performance-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.performance-filters label,.performance-filters select,.performance-filters input{min-width:0;width:100%}.performance-filters .btn{grid-column:1/-1;width:100%;margin:0}.performance-metrics{gap:8px}.performance-metrics article{min-height:104px;padding:13px}.performance-panel{padding:16px}.performance-table-panel{padding:0}.performance-table-panel header{padding:16px}.performance-table-panel .table-wrap::before{content:'左右滑动查看全部列 →';display:block;padding:7px 16px;color:#718a7e;background:#f8fbf9;font-size:10px}.performance-rule{display:grid;grid-template-columns:1fr 1fr}.performance-rule strong{grid-column:1/-1}.performance-rule span{padding-left:0;border-left:0}.performance-pagination{align-items:start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.performance-tabs button,.performance-bar-track i{transition:none!important}}
.approval-dossier-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:12px 14px;border:1px solid #dfe8e3;border-radius:10px;background:#f3f8f6;color:#18352f}.approval-dossier-links>strong{font-size:13px;white-space:nowrap}.approval-dossier-links nav{display:flex;flex-wrap:wrap;gap:6px 10px}.approval-dossier-links a{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 10px;border:1px solid #d3e4dd;border-radius:7px;background:white;color:#14786f;font-size:12px;font-weight:650;text-decoration:none}.approval-dossier-links a:hover{background:#e6f2ec}.approval-dossier-links a:focus-visible{outline:3px solid #309b80;outline-offset:2px}.approval-dossier-links>small{font-size:11px;color:#647b73}@media(max-width:600px){.approval-dossier-links{gap:8px;padding:10px}.approval-dossier-links nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.approval-dossier-links a{min-height:44px;justify-content:space-between}.approval-dossier-links>small{width:100%}}@media(prefers-reduced-motion:reduce){.approval-dossier-links *{transition:none!important}}
:root { --requirement-review-accent: #996417; }
.performance-filters .searchable-filter { flex: 1 1 280px; min-width: 0; }
.performance-filters .searchable-filter .searchable-choice-row { display: flex; width: 100%; min-width: 0; }
.performance-filters .searchable-filter [data-searchable-filter-query] { width: 100% !important; min-width: 0; flex: 1 1 auto; }
.performance-filters .searchable-filter [data-action="search-searchable-filter"] { display: none; }
.performance-filters .searchable-filter-selected { display: flex; }
.performance-filters .searchable-choice-row .btn { width: auto; flex: 0 0 auto; margin: 0; }
@media (max-width: 620px) { .performance-filters .searchable-filter { grid-column: 1 / -1; } .performance-filters .searchable-choice-row .btn { grid-column: auto; } }
.candidate-feedback-help { margin-bottom: 14px; padding: 14px 18px; }
.candidate-feedback-help > summary { cursor: pointer; line-height: 1.6; font-size: 14px; font-weight: 600; }
.candidate-feedback-help > summary:focus-visible { outline: 2px solid #19786c; outline-offset: 3px; }
.requirement-duplicate-review { padding: 16px 20px; margin-bottom: 16px; border-left: 3px solid var(--requirement-review-accent); }
.requirement-duplicate-review > header { display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.requirement-duplicate-review p { margin: 6px 0; color: #64716d; font-size: 13px; line-height: 1.6; }
.requirement-duplicate-review label { display: flex; gap: 8px; align-items: center; font-size: 13px; flex-shrink: 0; }
.requirement-duplicate-review summary { padding: 12px 0; cursor: pointer; font-size: 13px; }
.requirement-duplicate-review :is(summary,input):focus-visible { outline: 2px solid #19786c; outline-offset: 3px; }
@media (max-width: 700px) { .requirement-duplicate-review { padding: 14px; } .requirement-duplicate-review > header { flex-direction: column; align-items: flex-start; } }
.knowledge-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:16px 20px;margin-bottom:18px}
.knowledge-search label{grid-column:1/-1;font-size:12px;color:#5c716b;font-weight:700}
.knowledge-search input{width:100%;min-width:0;min-height:42px;border:1px solid #d5e2dc;border-radius:10px;padding:0 12px;background:#fff;color:#1c3b33;font:inherit}
.knowledge-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.knowledge-library{display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:16px;min-width:0;min-height:130px;padding:22px;text-align:left;border:1px solid #dce6e0;border-radius:16px;background:#fff;color:#1c3b33;cursor:pointer;font:inherit;transition:transform .16s ease,border-color .16s ease}
.knowledge-library:hover{border-color:#168174}.knowledge-library:active{transform:translateY(1px)}
.knowledge-library-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#e6f1eb;color:#176e62;font-weight:800;font-size:20px}
.knowledge-library strong{display:block;font-size:17px;line-height:1.5;overflow-wrap:anywhere}.knowledge-library small{display:block;margin-top:5px;color:#71847b;font-size:12px;line-height:1.5}
.knowledge-boundary-note{margin:16px 4px;color:#71847b;font-size:12px;line-height:1.8}
.knowledge-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px;color:#91a199}
.knowledge-breadcrumb button{padding:7px 9px;border:0;background:transparent;color:#27766a;font:inherit;font-size:13px;cursor:pointer;border-radius:8px;text-align:left;overflow-wrap:anywhere}
.knowledge-directory{padding:0;overflow:hidden}.knowledge-directory>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid #e5ece8}.knowledge-directory h2{font-size:17px;margin:0;overflow-wrap:anywhere}.knowledge-directory>header>span{color:#71847b;font-size:12px;white-space:nowrap}
.knowledge-directory-row{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 22px;border-bottom:1px solid #edf2ee}.knowledge-directory-row:last-child{border-bottom:0}
.knowledge-directory-row .knowledge-type{font-size:12px;color:#61766e}.knowledge-directory-row small{display:block;margin-top:5px;font-size:12px;color:#84938c;line-height:1.5}
.knowledge-name{display:flex;align-items:center;gap:9px;padding:4px 0;border:0;background:transparent;text-align:left;font:inherit;font-size:14px;font-weight:650;color:#226b5f;text-decoration:none;cursor:pointer;overflow-wrap:anywhere;word-break:break-word}
.knowledge-incomplete{padding:12px 22px;background:#fff8e8;color:#8b662b;font-size:12px;margin:0}
:is(.knowledge-library,.knowledge-breadcrumb button,.knowledge-name,.knowledge-search input,.knowledge-directory-row button):focus-visible{outline:2px solid #168174;outline-offset:3px}
@media(max-width:700px){.knowledge-library-grid{grid-template-columns:1fr}.knowledge-library{padding:18px;min-height:120px}.knowledge-search{padding:14px;grid-template-columns:minmax(0,1fr)}.knowledge-search .btn{width:100%}.knowledge-directory>header{padding:16px;align-items:flex-start;flex-direction:column;gap:5px}.knowledge-directory-row{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:14px 16px}.knowledge-directory-row>.btn{grid-column:2;justify-self:start}.knowledge-directory-row .knowledge-type{font-size:11px}}
@media(prefers-reduced-motion:reduce){.knowledge-library{transition:none}.knowledge-library:active{transform:none}}
.requirement-filters{display:grid;grid-template-columns:minmax(170px,1.3fr) repeat(4,minmax(140px,1fr));gap:12px;padding:16px 20px;margin-bottom:16px;align-items:start}
.requirement-filters>.filter-field{min-width:0;display:grid;gap:7px;font-size:12px;color:#5c716b;font-weight:700}.requirement-filters>small{grid-column:1/-1;font-size:11px;font-weight:400;color:#7a8c83;line-height:1.7}
.requirement-filters :is(input,select){min-width:0;width:100%;min-height:40px;padding:0 10px;border:1px solid #d5e2dc;border-radius:9px;background:#fff;color:#1c3b33;font:inherit}
:is(.requirement-filters,.dashboard-filters) .searchable-choice-row{display:flex;width:100%;min-width:0}
:is(.requirement-filters,.dashboard-filters) .searchable-filter [data-searchable-filter-query]{width:100%!important;min-width:0;flex:1 1 auto}
:is(.requirement-filters,.dashboard-filters) [data-action="search-searchable-filter"]{display:none}
:is(.requirement-filters,.dashboard-filters) .searchable-choice-results:not(.has-results){display:none}
:is(.requirement-filters,.dashboard-filters) .searchable-filter-selected{display:flex;font-size:11px;color:#71847b}
.requirement-filters+.table-wrap table{min-width:1150px}
:is(.requirement-filters,.dashboard-filters) :is(input,select,button):focus-visible{outline:2px solid #168174;outline-offset:3px}
@media(max-width:1050px){.requirement-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.requirement-filters{padding:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.requirement-filters>.filter-field:first-child{grid-column:1/-1}}
.referral-followup-table table{min-width:1080px}
.application-entry-tools{margin-bottom:14px}
.application-entry-tools>summary{padding:12px 18px;cursor:pointer;border:1px solid #dbe6e0;border-radius:12px;font-size:13px;color:#224a40;background:#fff;font-weight:700}
.application-entry-tools>summary small{font-weight:400;color:#7a8d85;margin-left:10px}
.application-entry-tools>summary:focus-visible{outline:2px solid #168174;outline-offset:3px}
.application-entry-tools[open] .application-entry-grid{margin-top:14px}
.referral-followup-table td small{display:block;max-width:200px;line-height:1.6;color:#6a7f78;margin-top:5px}
.candidate-stage-history{padding:16px 20px;line-height:1.65}
.candidate-stage-history summary{cursor:pointer;font-size:13px;font-weight:700;color:#224a40;padding:4px 0}
.candidate-stage-history article{padding:12px 0;border-bottom:1px solid #e3ebe7}
.candidate-stage-history article small{display:block;color:#70847c;font-size:12px}
.candidate-stage-history :is(article,p){overflow-wrap:anywhere}
.candidate-stage-history summary:focus-visible{outline:2px solid #168174;outline-offset:4px}
@media(max-width:700px){.candidate-stage-history{padding:12px 14px}.referral-followup-table .btn{min-height:40px}}
.recruitment-source-details{padding:16px 20px}
.recruitment-source-details>summary{cursor:pointer;color:#224a40;font-size:13px;font-weight:700;padding:4px 0}
.recruitment-source-details>p{font-size:12px;color:#7a8d85;line-height:1.7}
.recruitment-readable-value{font-size:13px;line-height:1.7;color:#23483f;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}
.recruitment-source-details summary:focus-visible{outline:2px solid #168174;outline-offset:3px}
@media(max-width:700px){.recruitment-source-details{padding:12px 14px}}

/* Current-node approval transfer, scoped to the existing review dialog. */
.approval-transfer-panel{display:grid;gap:12px;padding:16px;border:1px solid #c8ded8;border-radius:12px;background:#f3faf7;min-width:0}
.approval-transfer-panel[hidden]{display:none!important}
.approval-transfer-panel header{display:grid;gap:5px}.approval-transfer-panel header strong{font-size:15px;color:#214d42}.approval-transfer-panel header small{font-size:12px;line-height:1.6;color:#61776f}
.approval-transfer-selected{padding:10px 12px;border-radius:8px;background:white;color:#285e4f;font-size:13px;overflow-wrap:anywhere}
.approval-transfer-panel .member-bind-card{width:100%;min-height:44px}.approval-transfer-message{margin:0;font-size:12px;line-height:1.6;color:#785026;overflow-wrap:anywhere}
.approval-transfer-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.approval-transfer-route{font-weight:650;color:#226350}
@media(max-width:620px){.approval-transfer-panel{padding:12px}.approval-transfer-actions .btn{flex:1;min-height:44px}}

.approval-transfer-panel .btn{min-height:44px}
@media(max-width:620px){.approval-dialog.has-approval-transfer .dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.approval-dialog.has-approval-transfer .dialog-actions .btn,.approval-dialog.has-approval-transfer .dialog-actions .btn.primary,.approval-dialog.has-approval-transfer .dialog-actions #dialog-reject{min-width:0;width:100%;margin:0;min-height:44px}}

/* Date and month controls share the existing appointment filter styling. */
.interview-controls input[type="date"] { width: 100%; min-width: 0; min-height: 36px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; color: #344054; background: white; font: inherit; }
.interview-controls .interview-day-filter { flex: 0 1 180px; min-width: 160px; display: grid; gap: 6px; }
