:root{--bg:#f7f8fb;--card:#ffffff;--ink:#182033;--muted:#697386;--line:#dfe5ef;--accent:#2457ff;--accent2:#11a37f;--shadow:0 18px 50px rgba(24,32,51,.09);--radius:20px;--previewW:minmax(320px,420px)}
*{box-sizing:border-box} body{margin:0;background:linear-gradient(180deg,#f8fbff,#f3f5f9 50%,#eef2f7);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans JP',sans-serif;color:var(--ink)}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{font-size:22px;font-weight:900;letter-spacing:-.03em}.brand span{font-size:12px;padding:3px 7px;border-radius:999px;background:#eef3ff;color:var(--accent)}.topbar p{margin:2px 0 0;color:var(--muted);font-size:12px}.topbar nav{display:flex;gap:10px}.topbar a{color:var(--accent);font-weight:700;text-decoration:none;font-size:13px}
.workspace{width:min(1560px,calc(100vw - 28px));margin:16px auto 60px;display:grid;gap:14px}.card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.card h2{margin:0;font-size:18px;letter-spacing:-.02em}.card p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.hero-card{padding:12px 14px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(24,32,51,.06)}
.scope-row,.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.crumb,.chip{border:1px solid var(--line);border-radius:999px;padding:7px 11px;background:#fff;font-size:12px;font-weight:800;color:#334155;cursor:pointer}.crumb.active,.chip.active{background:#1d2433;color:#fff;border-color:#1d2433}.chip button{margin-left:6px;border:0;background:transparent;color:inherit;font-weight:900;cursor:pointer}.summary-strip{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-top:10px}.metric{border:1px solid #edf1f7;background:#f9fbff;border-radius:14px;padding:10px}.metric b{display:block;font-size:18px}.metric span{display:block;color:var(--muted);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--previewW);gap:14px;align-items:start}.map-card{min-height:540px}.map-canvas{position:relative;height:520px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#ffffff 0,#eff6ff 68%,#e9eef8 100%);border:1px solid #e6ecf5}.map-bg{position:absolute;inset:0;opacity:.82}.land{position:absolute;border-radius:45% 55% 50% 50%;background:linear-gradient(135deg,#dbeafe,#ecfeff);border:1px solid rgba(37,99,235,.11)}.land.l1{width:38%;height:28%;left:7%;top:31%;transform:rotate(-11deg)}.land.l2{width:29%;height:42%;left:45%;top:20%;transform:rotate(10deg)}.land.l3{width:26%;height:24%;left:62%;top:61%;transform:rotate(8deg)}.marker{position:absolute;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;border:3px solid rgba(255,255,255,.95);box-shadow:0 8px 26px rgba(15,23,42,.22);cursor:pointer;transition:.16s transform,.16s box-shadow,.16s filter;outline:none}.marker::after{content:'';position:absolute;inset:-13px;border-radius:999px}.marker:hover,.marker:focus{transform:translate(-50%,-50%) scale(1.24);box-shadow:0 14px 36px rgba(15,23,42,.31);z-index:4}.marker-label{position:absolute;transform:translate(-50%,14px);font-size:11px;font-weight:900;white-space:nowrap;color:#1f2937;background:rgba(255,255,255,.78);border:1px solid rgba(223,229,239,.75);border-radius:999px;padding:2px 6px;pointer-events:none}.preview-card{position:sticky;top:78px;max-height:calc(100vh - 98px);overflow:auto}.empty-state{color:var(--muted);font-size:13px;line-height:1.7;border:1px dashed #cbd5e1;border-radius:16px;padding:18px;background:#f8fafc}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-title h3{margin:0;font-size:17px}.tag{font-size:11px;border-radius:999px;background:#eef2ff;color:#3730a3;padding:4px 8px;font-weight:900}.small-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.small-metric{background:#f8fafc;border:1px solid #e5e7eb;border-radius:13px;padding:8px}.small-metric b{font-size:15px}.small-metric span{display:block;font-size:10px;color:var(--muted)}
.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px}.chart-card{border:1px solid #e7edf6;background:#fff;border-radius:18px;padding:12px;min-width:0;display:grid;grid-template-columns:112px minmax(0,1fr);gap:11px;align-items:center}.chart-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px}.chart-title h3{margin:0;font-size:14px}.chart-title span{font-size:10px;color:var(--muted);font-weight:800}.pie{width:112px;height:112px}.pie path{cursor:pointer;transition:.13s transform,.13s filter;transform-origin:50% 50%}.pie path:hover{transform:scale(1.04);filter:drop-shadow(0 6px 6px rgba(15,23,42,.22))}.legend{min-width:0;display:grid;gap:5px}.legend-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:6px;align-items:center;font-size:11px;border-radius:10px;padding:4px 5px;cursor:pointer}.legend-item:hover{background:#f1f5f9}.swatch{width:10px;height:10px;border-radius:50%}.legend-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-value{font-weight:900;color:#334155}.slice-tip{margin-top:8px;border:1px solid #dfe7f3;background:#f8fbff;border-radius:14px;padding:9px;font-size:12px}.slice-tip b{display:block}.slice-tip span{color:var(--muted)}
.node-stack{display:grid;gap:12px}.node-card{border:1px solid #e7edf6;background:#fff;border-radius:18px;padding:12px}.node-card h4{margin:0 0 8px;font-size:14px}.mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.mini-link{border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:8px;cursor:pointer;font-size:12px}.mini-link:hover{border-color:#93c5fd;background:#eff6ff}.profiles{display:grid;gap:8px}.profile{border:1px solid #e5e7eb;border-radius:12px;padding:8px;background:#fbfdff;font-size:12px}.profile b{display:block}.profile span{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-row{display:grid;grid-template-columns:minmax(160px,220px) minmax(220px,1fr) auto;gap:10px}.search-row select,.search-row input{width:100%;border:1px solid #cbd5e1;border-radius:13px;padding:10px 12px;font-size:14px;background:#fff}.search-row button,.ghost{border:0;border-radius:13px;padding:10px 13px;background:var(--accent);color:#fff;font-weight:900;cursor:pointer}.ghost{background:#eef2ff;color:var(--accent)}.autocomplete-wrap{position:relative}.suggestions{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #dbe4f0;border-radius:14px;box-shadow:var(--shadow);max-height:280px;overflow:auto;display:none}.suggestion{padding:10px 12px;cursor:pointer;font-size:13px;display:flex;justify-content:space-between;gap:8px}.suggestion:hover{background:#f1f5f9}.suggestion span:last-child{color:var(--muted);font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.form-grid input{border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px}
@media(max-width:1080px){.stage-grid{grid-template-columns:1fr}.preview-card{position:relative;top:auto;max-height:none}.map-canvas{height:440px}.summary-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.workspace{width:calc(100vw - 16px);margin-top:8px}.topbar{padding:10px 12px;align-items:flex-start}.topbar nav{flex-direction:column}.chart-card{grid-template-columns:92px 1fr}.pie{width:92px;height:92px}.search-row{grid-template-columns:1fr}.summary-strip{grid-template-columns:1fr}.map-canvas{height:360px}.card{padding:12px}.small-metrics{grid-template-columns:1fr 1fr}}

/* v43: intuitive map hierarchy */
.scope-stepper{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin;overscroll-behavior-x:contain}
.scope-step{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-width:112px;border:1px solid var(--line);border-radius:14px;padding:7px 10px;background:#fff;color:#334155;cursor:pointer;text-align:left;transition:.16s ease;box-shadow:0 3px 12px rgba(15,23,42,.035)}
.scope-step:hover{border-color:#93b4ff;background:#f7faff;transform:translateY(-1px)}
.scope-step.active{background:#1d2433;border-color:#1d2433;color:#fff;box-shadow:0 8px 24px rgba(29,36,51,.18)}
.scope-step.completed{background:#f8faff;border-color:#cedbff}
.scope-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#eef3ff;color:#2457ff;font-size:13px;font-weight:900}
.scope-step.active .scope-icon{background:rgba(255,255,255,.16);color:#fff}
.scope-copy{min-width:0;display:grid;gap:1px}.scope-copy small{font-size:9px;line-height:1.1;color:#7b8799;font-weight:800}.scope-copy b{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.scope-step.active .scope-copy small{color:#cbd5e1}
.scope-connector{flex:0 0 auto;color:#94a3b8;font-weight:900;font-size:16px}

/* v43: chart titles are ranking entry points */
.chart-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;background:transparent;padding:3px 2px 7px;text-align:left;color:inherit;border-radius:10px}
.ranking-trigger{cursor:pointer}.ranking-trigger:hover,.ranking-trigger:focus-visible{background:#f3f6ff;outline:none}.ranking-trigger:hover h3{color:var(--accent)}
.chart-title-copy{min-width:0;display:grid;gap:1px}.chart-title-copy h3{margin:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-title-copy small{font-size:9px;color:#8a95a7;font-weight:700}
.chart-title-count{flex:0 0 auto;font-size:10px;color:var(--muted);font-weight:800;white-space:nowrap}.chart-title-count i{font-style:normal;color:var(--accent);font-size:12px}
.legend-copy{min-width:0;display:grid;gap:0}.legend-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#8a95a7;font-size:9px;line-height:1.2}.legend-item{align-items:start}.legend-value{padding-top:1px}

/* v43: ranking panel */
.ranking-head{position:sticky;top:-16px;z-index:3;margin:-16px -16px 10px;padding:14px 16px 10px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #edf1f6}
.panel-close{width:30px;height:30px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#536075;font-size:18px;line-height:1;cursor:pointer}.panel-close:hover{background:#f1f5f9;color:#111827}
.ranking-context{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px}.ranking-context b{font-size:14px}
.ranking-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.ranking-controls label{min-width:0;display:grid;gap:4px}.ranking-controls label span{font-size:10px;font-weight:800;color:#667085}.ranking-controls select{min-width:0;width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:8px 9px;background:#fff;color:#263247;font-size:12px}.ranking-controls .is-hidden{display:none}
.ranking-note{font-size:10px!important;line-height:1.45!important;margin:4px 0 10px!important;color:#8490a3!important}
.ranking-list{display:grid;gap:6px}.ranking-row{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(110px,auto);gap:8px;align-items:center;width:100%;border:1px solid #e7edf6;border-radius:13px;padding:9px;background:#fff;text-align:left;color:inherit;cursor:pointer;transition:.13s ease}.ranking-row:hover{border-color:#9db8ff;background:#f7f9ff;transform:translateX(2px)}
.ranking-position{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#eef3ff;color:#2853c7;font-size:11px;font-weight:900}.ranking-name{min-width:0;display:grid}.ranking-name b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.ranking-name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#8a95a7;font-size:9px}.ranking-stats{min-width:0;display:grid;text-align:right}.ranking-stats b{white-space:nowrap;font-size:12px;color:#152344}.ranking-stats small{white-space:nowrap;color:#8a95a7;font-size:9px}

@media(max-width:720px){
  .scope-step{min-width:96px;padding:6px 8px}.scope-copy b{max-width:100px}.scope-connector{font-size:13px}
  .ranking-controls{grid-template-columns:1fr}.ranking-row{grid-template-columns:28px minmax(0,1fr)}.ranking-stats{grid-column:2;text-align:left}
}

/* v44 shared product UI */
.topbar a.active{background:#eef3ff;color:#1e40af;border-radius:10px;padding:7px 10px}.primary-action,.secondary-action,.mini-button,.text-button{border:0;border-radius:12px;padding:10px 13px;font-weight:900;cursor:pointer}.primary-action{background:var(--accent);color:#fff}.primary-action:hover{filter:brightness(.96)}.secondary-action{background:#0f766e;color:#fff}.mini-button{padding:6px 9px;background:#eef3ff;color:#2457ff;font-size:11px}.text-button{background:transparent;color:#526078;padding:7px}.wide{width:100%}.inline-link{display:inline-flex;align-items:center;color:var(--accent);font-size:12px;font-weight:800;text-decoration:none}.panel-tools{display:flex;align-items:center;gap:6px}.preview-sticky-head{position:sticky;top:-16px;z-index:5;margin:-16px -16px 8px;padding:14px 16px 10px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid #edf1f6}.preview-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0 12px;background:#f1f5f9;border-radius:12px;padding:4px}.preview-tabs button{border:0;border-radius:9px;background:transparent;padding:7px;font-size:11px;font-weight:900;color:#64748b;cursor:pointer}.preview-tabs button.active{background:#fff;color:#1e3a8a;box-shadow:0 2px 10px rgba(15,23,42,.08)}.preview-section{margin:13px 0}.preview-section h4{margin:0 0 7px;font-size:12px;color:#334155}.preview-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.preview-highlight{min-width:0;border:1px solid #e7edf6;background:#f8fbff;border-radius:12px;padding:8px}.preview-highlight span{display:block;color:#7b8799;font-size:9px;font-weight:800}.preview-highlight b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;font-size:12px}.preview-highlight small{display:block;color:#7b8799;font-size:9px;margin-top:2px}.route-list{display:grid;gap:6px}.route-row{display:grid;gap:2px;padding:8px;border-left:3px solid #7295ff;background:#f8faff;border-radius:8px}.route-row span,.route-row small{font-size:9px;color:#7b8799}.route-row b{font-size:11px;line-height:1.4}.preview-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.preview-mini-grid{display:grid;gap:9px}.mini-chart{border:1px solid #e7edf6;border-radius:14px;padding:9px;display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:center}.mini-chart-head{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px}.mini-chart-head b{font-size:12px}.mini-chart-head span{font-size:9px;color:#8490a3}.mini-chart .pie{width:90px;height:90px}.mini-legend{display:grid;gap:4px;min-width:0}.mini-legend>div{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:5px;align-items:center;cursor:pointer}.mini-legend b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-legend small{font-size:9px;color:#64748b}.profile{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-main{min-width:0}.contact-button{flex:0 0 auto;border:0;border-radius:10px;padding:7px 9px;background:#eef3ff;color:#2457ff;font-weight:900;font-size:10px;cursor:pointer}.micro-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.micro-tags i{font-style:normal;font-size:9px;background:#eef6ff;color:#315a93;padding:3px 6px;border-radius:999px}.muted{color:var(--muted);font-size:11px}

/* Profile registration and editing */
.profile-workspace{max-width:1700px}.profile-toolbar,.contact-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px}.profile-toolbar label,.contact-toolbar label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#667085}.profile-toolbar select,.contact-toolbar select{min-width:280px;border:1px solid #cbd5e1;border-radius:12px;padding:9px 11px;background:#fff}.toolbar-actions{display:flex;gap:8px}.profile-layout{display:grid;grid-template-columns:210px minmax(0,1fr) 330px;gap:14px;align-items:start}.profile-nav,.profile-preview{position:sticky;top:78px}.profile-nav{display:grid;gap:6px}.completion-ring{width:112px;height:112px;margin:4px auto 12px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,#fff 58%,transparent 59%),conic-gradient(#2457ff 0 72%,#e7edf6 72%)}.completion-ring b{font-size:23px}.completion-ring span{font-size:10px;color:#64748b}.profile-tab{border:0;border-radius:11px;background:transparent;text-align:left;padding:9px 10px;font-weight:800;color:#526078;cursor:pointer}.profile-tab:hover{background:#f1f5f9}.profile-tab.active{background:#eef3ff;color:#1d4ed8}.profile-form{min-width:0}.form-panel{display:none}.form-panel.active{display:block}.panel-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.panel-heading h2{margin:0;font-size:18px}.panel-heading p{margin:3px 0 0}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label,.education-row label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#667085;min-width:0}.form-grid input,.form-grid select,.form-grid textarea,.education-row input{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px 11px;background:#fff;color:#1f2937;font:inherit}.form-grid textarea{resize:vertical}.span-2{grid-column:span 2}.education-table{display:grid;gap:8px}.education-row{display:grid;grid-template-columns:86px minmax(180px,1.5fr) minmax(130px,1fr) minmax(130px,1fr);gap:8px;align-items:end;border:1px solid #e7edf6;border-radius:14px;padding:10px;background:#fbfdff}.education-row>b{padding:0 0 10px;font-size:12px}.switch-row{display:flex;gap:18px;flex-wrap:wrap;margin:4px 0 14px;padding:10px;background:#f8fafc;border-radius:12px}.switch-row label{font-size:12px;font-weight:800}.public-profile-preview{text-align:center}.avatar{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 8px;border-radius:24px;background:linear-gradient(135deg,#2457ff,#11a37f);color:#fff;font-size:28px;font-weight:900}.public-profile-preview h3{margin:6px 0}.public-profile-preview p{font-size:11px}.preview-facts{display:grid;gap:5px;margin:10px 0}.preview-facts span{padding:6px 8px;background:#f3f6fb;border-radius:9px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-line{min-height:18px;margin-top:10px;font-size:11px}.status-line.success{color:#08785f}.status-line.error{color:#b42318}

/* Contact experience */
.contact-workspace{max-width:1700px}.contact-tabs{display:flex;gap:5px;flex-wrap:wrap}.contact-tabs button{border:0;border-radius:10px;padding:8px 11px;background:#f1f5f9;color:#64748b;font-weight:900;cursor:pointer}.contact-tabs button.active{background:#1d2433;color:#fff}.contact-panel{display:none}.contact-panel.active{display:block}.contact-search-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:14px;align-items:start}.contact-filter{position:sticky;top:78px;display:grid;gap:11px}.contact-filter>label,.criteria-builder{display:grid;gap:5px;font-size:11px;font-weight:800;color:#667085}.contact-filter select,.contact-filter input,.criteria-builder select,.criteria-builder input{width:100%;border:1px solid #cbd5e1;border-radius:11px;padding:9px 10px;background:#fff}.criteria-builder{border-top:1px solid #edf1f6;padding-top:11px}.criteria-builder h3,.contact-filter h4{margin:0;font-size:12px;color:#334155}.criteria-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.chips.compact .chip{font-size:10px;padding:5px 8px}.candidate-list,.request-list{display:grid;gap:9px}.candidate-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e5ebf4;border-radius:16px;padding:12px;background:#fff;transition:.15s ease}.candidate-card:hover{border-color:#9fb8ff;box-shadow:0 10px 28px rgba(36,87,255,.08)}.match-score{width:58px;height:58px;border-radius:18px;display:grid;place-content:center;text-align:center;background:#eef3ff;color:#2457ff}.match-score b{font-size:20px}.match-score span{font-size:8px;font-weight:900}.candidate-main{min-width:0}.candidate-main h3{margin:0;font-size:14px}.candidate-main p{margin:3px 0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reason-list{display:flex;gap:4px;flex-wrap:wrap}.reason-list span{font-size:9px;padding:3px 6px;border-radius:999px;background:#eef8f4;color:#06745c}.candidate-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;color:#7b8799;font-size:9px}.candidate-actions{display:grid;gap:6px}.request-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid #e6ecf4;border-radius:16px;padding:12px}.request-card h3{margin:5px 0;font-size:14px}.request-card p,.request-card blockquote{font-size:11px;color:#596579}.request-card blockquote{margin:8px 0;padding:9px;border-left:3px solid #8aa7ff;background:#f8faff}.request-card small{color:#8a95a7}.request-actions{display:flex;gap:6px;align-items:center}.status-badge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:900}.status-badge.pending{background:#fff4cc;color:#8a5a00}.status-badge.accepted{background:#dcfce7;color:#067647}.status-badge.declined,.status-badge.cancelled{background:#fee2e2;color:#b42318}.message-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:14px}.conversation-list{max-height:calc(100vh - 150px);overflow:auto}.conversation-row{width:100%;display:grid;gap:2px;border:0;border-bottom:1px solid #edf1f6;background:transparent;padding:10px;text-align:left;cursor:pointer}.conversation-row:hover,.conversation-row.active{background:#f3f6ff}.conversation-row span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-row small{font-size:8px;color:#8a95a7}.chat-card{display:grid;grid-template-rows:auto minmax(300px,1fr) auto;min-height:620px}.chat-header{border-bottom:1px solid #edf1f6;padding-bottom:9px}.chat-header h2{margin:0}.message-list{overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.message{align-self:flex-start;max-width:78%;padding:9px 11px;border-radius:14px 14px 14px 4px;background:#f1f5f9}.message.mine{align-self:flex-end;background:#e9efff;border-radius:14px 14px 4px 14px}.message b,.message small{font-size:8px;color:#667085}.message p{margin:3px 0;color:#253047;font-size:12px}.message-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;border-top:1px solid #edf1f6;padding-top:10px}.message-form textarea{border:1px solid #cbd5e1;border-radius:12px;padding:10px;resize:none}.request-dialog{width:min(760px,calc(100vw - 24px));border:0;border-radius:22px;padding:0;box-shadow:0 30px 90px rgba(15,23,42,.26)}.request-dialog::backdrop{background:rgba(15,23,42,.48);backdrop-filter:blur(3px)}.dialog-shell{padding:18px}.dialog-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.dialog-head h2{margin:0}.dialog-head p{margin:3px 0;color:#667085}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.shared-fields{display:flex;gap:12px;flex-wrap:wrap;border:1px solid #e3e9f2;border-radius:12px}.shared-fields label{display:flex;align-items:center;gap:4px}

@media(max-width:1180px){.profile-layout{grid-template-columns:180px minmax(0,1fr)}.profile-preview{grid-column:1/-1;position:relative;top:auto}.contact-search-layout{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:900px){.profile-layout,.contact-search-layout,.message-layout{grid-template-columns:1fr}.profile-nav,.contact-filter{position:relative;top:auto}.profile-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-ring{grid-column:1/-1}.profile-preview{grid-column:auto}.education-row{grid-template-columns:1fr 1fr}.education-row>b{grid-column:1/-1}.candidate-card{grid-template-columns:54px minmax(0,1fr)}.candidate-actions{grid-column:2;display:flex}.chat-card{min-height:520px}}
@media(max-width:640px){.topbar{flex-direction:column}.topbar nav{width:100%;flex-direction:row;overflow-x:auto}.profile-toolbar,.contact-toolbar{align-items:stretch;flex-direction:column}.profile-toolbar select,.contact-toolbar select{min-width:0;width:100%}.form-grid.two-col,.form-grid.three-col{grid-template-columns:1fr}.span-2{grid-column:auto}.education-row{grid-template-columns:1fr}.candidate-card{grid-template-columns:1fr}.match-score{width:auto;height:auto;display:flex;gap:5px;padding:6px 10px}.candidate-actions{grid-column:auto}.request-card{grid-template-columns:1fr}.request-actions{justify-content:flex-end}.message-form{grid-template-columns:1fr}.preview-highlight-grid{grid-template-columns:1fr}}
.contact-profile-summary{text-align:center}.contact-profile-summary h3{margin:7px 0}.contact-profile-summary>p{max-width:560px;margin:0 auto 10px}.profile-timeline{display:grid;gap:6px;margin:14px 0;text-align:left;max-height:310px;overflow:auto}.timeline-event{display:grid;grid-template-columns:74px minmax(0,1fr);gap:7px;border-left:3px solid #7d9cff;background:#f8faff;border-radius:8px;padding:8px}.timeline-event>span{grid-row:1/3;font-size:9px;color:#667085}.timeline-event b{font-size:11px}.timeline-event small{font-size:9px;color:#7b8799}

/* v45: stable facets, navigation continuity, and dedicated entity dashboard */
.topbar-leading{display:flex;align-items:center;gap:12px;min-width:0}.topbar-leading>div{min-width:0}.nav-back{flex:0 0 auto;border:1px solid var(--line);border-radius:12px;background:#fff;color:#334155;padding:8px 11px;font-weight:900;cursor:pointer;box-shadow:0 4px 14px rgba(15,23,42,.04)}.nav-back:hover{border-color:#9fb4ff;background:#f6f8ff;color:var(--accent)}
.chart-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.chart-card{grid-template-columns:minmax(92px,112px) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;align-content:start;min-height:250px;position:relative}.chart-card.has-selection{border-color:#7f9fff;box-shadow:0 10px 30px rgba(36,87,255,.09)}.chart-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.facet-clear{border:1px solid #cfd9f1;background:#f5f7ff;color:#3157b8;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900;cursor:pointer;white-space:nowrap}.facet-clear:hover{background:#e9efff}.facet-selection{grid-column:1/-1;display:flex;align-items:center;gap:6px;min-width:0;padding:6px 8px;border-radius:10px;background:#f3f6ff;color:#31466f}.facet-selection span{font-size:9px;font-weight:900;flex:0 0 auto}.facet-selection b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pie-wrap{position:relative;display:grid;place-items:center;align-self:center}.pie-clear{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:49px;height:49px;border-radius:50%;border:0;background:rgba(255,255,255,.97);color:#4d5e7d;display:grid;place-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(15,23,42,.1)}.pie-clear span{font-size:17px;line-height:1;font-weight:900}.pie-clear small{font-size:8px;font-weight:900}.pie-clear:hover{color:#c22626;background:#fff4f4}.pie path.muted-slice{opacity:.35}.pie path.selected{opacity:1;filter:drop-shadow(0 5px 7px rgba(36,87,255,.28));stroke:#1d4ed8;stroke-width:3}.legend-item.selected{background:#eef3ff;outline:1px solid #9db4ff}.slice-tip small{display:block;margin-top:3px;color:#526078;font-size:9px}.chart-guide{margin-top:12px;border:1px solid #e1e8f4;background:#f8faff;border-radius:14px;padding:10px 12px;display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;color:#5c6980;font-size:10px;line-height:1.55}.chart-guide b{color:#24324d}.chart-guide span{max-width:520px}.search-row{grid-template-columns:minmax(170px,230px) minmax(250px,1fr) minmax(250px,auto);align-items:start}.search-actions{display:flex;gap:8px;align-items:stretch}.search-actions button{white-space:nowrap}.primary-action{border:0;border-radius:13px;padding:10px 13px;background:var(--accent);color:#fff;font-weight:900;cursor:pointer}.primary-action:hover{filter:brightness(.96)}
.locked-chip{background:#1d2433!important;color:#fff!important}.locked-chip small{margin-left:6px;padding:2px 5px;border-radius:999px;background:rgba(255,255,255,.18);font-size:8px}.entity-workspace{max-width:1560px}.entity-topbar .brand span{background:#ecfdf5;color:#047857}.entity-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.entity-hero h1{margin:3px 0 6px;font-size:clamp(26px,3vw,42px);letter-spacing:-.04em}.entity-kicker{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef3ff;color:#3157b8;font-size:10px;font-weight:900}.entity-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.entity-summary{grid-column:1/-1;margin-top:2px}.entity-conditions{padding-block:12px}.entity-chart-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.entity-lower-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:14px;align-items:start}.route-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.route-columns h3{font-size:13px;margin:0 0 8px}.entity-people-card{position:sticky;top:78px;max-height:calc(100vh - 96px);overflow:auto}.entity-people-card .profile{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.entity-people-card .contact-button{border:0;border-radius:10px;background:#eef3ff;color:#2457ff;padding:7px 9px;font-size:10px;font-weight:900;cursor:pointer}
@media(max-width:1350px){.chart-grid,.entity-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.chart-grid,.entity-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entity-lower-grid{grid-template-columns:1fr}.entity-people-card{position:relative;top:auto;max-height:none}.search-row{grid-template-columns:1fr 1.5fr}.search-actions{grid-column:1/-1;justify-content:flex-end}.route-columns{grid-template-columns:1fr}}
@media(max-width:720px){.topbar-leading{width:100%}.nav-back{padding:7px 9px}.chart-grid,.entity-chart-grid{grid-template-columns:1fr}.chart-card{grid-template-columns:104px minmax(0,1fr);min-height:230px}.entity-hero{grid-template-columns:1fr}.entity-actions{justify-content:flex-start}.search-row{grid-template-columns:1fr}.search-actions{grid-column:auto;display:grid;grid-template-columns:1fr}.chart-guide{display:grid}.pie-clear{width:46px;height:46px}}
.search-actions .ghost{background:#eef2ff;color:var(--accent)}
.entity-chart-groups{display:grid;gap:18px}.entity-chart-section{display:grid;gap:10px}.entity-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}.entity-section-head h3{margin:0;font-size:15px;color:#26344e}.entity-section-head span{font-size:10px;color:#78859a;background:#f3f6fb;border-radius:999px;padding:4px 8px}

/* v45 visual QA fixes */
.chart-title-copy.ranking-trigger{border:0;background:transparent;padding:0;margin:0;min-width:0;text-align:left;color:inherit;cursor:pointer;font:inherit;display:grid;gap:1px}
.chart-title-copy.ranking-trigger:hover h3,.chart-title-copy.ranking-trigger:focus-visible h3{color:var(--accent)}
.chart-title-copy.ranking-trigger:focus-visible{outline:2px solid #9db4ff;outline-offset:3px;border-radius:6px}
.pie circle,.pie text{pointer-events:none}
#conditionStack{min-height:38px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:2px 1px 4px;scrollbar-width:thin}
#conditionStack .chip{flex:0 0 auto}
.metric{min-height:64px}
.metric b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:1081px){.preview-card{height:610px;min-height:610px}}

/* v48: time-event profile editor and career navigation */
.timeline-profile-layout{grid-template-columns:210px minmax(0,1fr) minmax(330px,410px)}
.event-panel-head{align-items:center}.event-panel-head .primary-action{flex:0 0 auto}.sub-heading{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.sub-heading h3{margin:0;font-size:16px}
.event-editor-list{display:grid;gap:10px}.event-editor-row{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:9px;align-items:start;padding:11px;border:1px solid #e3e9f3;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 4px 14px rgba(23,40,80,.035)}.event-sequence{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eef3ff;color:#3157b8;font-size:11px;font-weight:900}.event-remove{width:30px;height:30px;border:0;border-radius:10px;background:#fff1f2;color:#be123c;font-weight:900;cursor:pointer}.event-remove:hover{background:#ffe4e6}.event-fields{display:grid;gap:8px;min-width:0}.event-fields-education{grid-template-columns:120px minmax(190px,1.6fr) minmax(110px,1fr) 100px 120px 130px 92px 92px}.event-fields-career{grid-template-columns:130px minmax(180px,1.5fr) 130px 130px 125px 125px 105px 90px 120px 125px 92px 92px}.event-fields-skill{grid-template-columns:minmax(180px,1.3fr) 100px 110px minmax(180px,1.3fr)}.event-fields label{display:grid;gap:4px;min-width:0;color:#667085;font-size:9px;font-weight:900}.event-fields input,.event-fields select{min-width:0;width:100%;border:1px solid #ccd6e5;border-radius:10px;padding:8px 9px;background:#fff;color:#1f2937;font:inherit}.event-fields .span-all{grid-column:1/-1}.timeline-help{display:flex;gap:8px;align-items:flex-start;margin:0 0 11px;padding:9px 11px;border-radius:12px;background:#f3f7ff;border:1px solid #dce7ff;font-size:10px;color:#526078}.timeline-help b{color:#294a9f}.timeline-preview-card{position:sticky;top:78px;max-height:calc(100vh - 96px);overflow:auto}.timeline-public-preview{text-align:left}.timeline-public-preview .avatar{margin-inline:auto}.timeline-public-preview>h3,.timeline-public-preview>p{text-align:center}.current-snapshot{display:grid;gap:3px;margin:12px 0;padding:10px;border-radius:14px;background:linear-gradient(135deg,#eef3ff,#edfff9);border:1px solid #d9e4ff}.current-snapshot span{font-size:9px;color:#68758b;font-weight:900}.current-snapshot b{font-size:12px}.current-snapshot small{color:#64748b;font-size:9px}.timeline-warnings{display:grid;gap:5px;margin-top:8px}.timeline-warnings>div{padding:7px 9px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:10px}.compact-events .event-editor-row{padding-block:9px}

.career-workspace{max-width:1580px}.career-toolbar{position:sticky;top:70px;z-index:14;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px}.career-toolbar label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:900;color:#5d6a7e}.career-toolbar select{min-width:260px;border:1px solid #cbd5e1;border-radius:11px;padding:8px;background:#fff}.career-tabs{display:flex;gap:5px;padding:4px;border-radius:13px;background:#edf2fa}.career-tabs button{border:0;border-radius:9px;padding:8px 12px;background:transparent;color:#59677c;font-weight:900;cursor:pointer}.career-tabs button.active{background:#fff;color:#2457ff;box-shadow:0 4px 14px rgba(15,23,42,.08)}.inline-action{text-decoration:none}.career-panel{display:none;gap:14px}.career-panel.active{display:grid}.career-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.career-hero h1{margin:4px 0;font-size:clamp(24px,3vw,38px);letter-spacing:-.04em}.analysis-notice{padding:9px 11px;border:1px solid #dbe5f5;border-radius:12px;background:#f8fbff;color:#59677c;font-size:10px;line-height:1.5}.career-chart-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.career-chart-card{grid-template-columns:105px minmax(0,1fr);min-height:236px}.trajectory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.trajectory-card{display:grid;grid-template-columns:75px minmax(0,1fr);gap:12px;padding:14px;border:1px solid #dfe7f3;border-radius:17px;background:linear-gradient(145deg,#fff,#f6f9ff)}.trajectory-year{display:grid;place-items:center;align-content:center;width:70px;height:70px;border-radius:22px;background:#1e2b4a;color:#fff;font-size:28px;font-weight:950}.trajectory-year small{font-size:9px}.trajectory-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.trajectory-metrics>div{min-width:0;padding:7px;border-radius:10px;background:#fff;border:1px solid #e8edf5}.trajectory-metrics b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.trajectory-metrics span{display:block;color:#7a8799;font-size:8px}.trajectory-card>small{grid-column:1/-1;color:#7a8799}.career-dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.skill-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.skill-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px;border:1px solid #e3e9f3;border-radius:11px}.skill-row>span{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#eef3ff;color:#3157b8;font-weight:900}.skill-row.registered{background:#ecfdf5;border-color:#a7f3d0}.skill-row.registered>span{background:#10b981;color:#fff}.skill-row b{font-size:11px}.skill-row small{color:#6b778c;font-size:9px}.mentor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mentor-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid #e4eaf3;border-radius:14px}.small-avatar{width:44px;height:44px;border-radius:15px;margin:0;font-size:17px}.mentor-card h3{margin:0;font-size:13px}.mentor-card p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reason-list{display:flex;gap:4px;flex-wrap:wrap}.reason-list span{padding:3px 6px;border-radius:999px;background:#eef3ff;color:#3157b8;font-size:8px;font-weight:900}
.branch-controls{display:grid;grid-template-columns:1.2fr 1fr 1fr .7fr auto;gap:9px;align-items:end}.branch-controls label,.flow-controls label{display:grid;gap:4px;font-size:10px;font-weight:900;color:#667085}.branch-controls select,.flow-controls select,.flow-controls input{width:100%;border:1px solid #cbd5e1;border-radius:11px;padding:9px;background:#fff}.branch-comparison{display:grid;gap:10px}.branch-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-radius:13px;background:#1e2b4a;color:#fff}.branch-heading span{font-size:10px;color:#d7def0}.branch-sides{display:grid;grid-template-columns:1fr 1fr;gap:14px}.branch-side>h2{margin:4px 0 12px}.branch-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.branch-kpis>div{padding:8px;border-radius:11px;background:#f7f9fd;border:1px solid #e5eaf2}.branch-kpis b{display:block;font-size:13px}.branch-kpis span{font-size:8px;color:#778397}.branch-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.branch-chart-grid .chart-card{min-height:220px}
.flow-controls{display:grid;grid-template-columns:1.4fr .6fr .6fr auto;gap:9px;align-items:end}.flow-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.65fr);gap:14px}.flow-map{height:560px;border:1px solid #dfe6f1;border-radius:18px;overflow:hidden;background:#f5f8ff}.flow-svg{width:100%;height:100%}.flow-svg path[data-flow]{cursor:pointer;transition:opacity .15s,stroke-width .15s}.flow-svg path[data-flow]:hover{opacity:1;stroke-width:7}.flow-detail-card{position:sticky;top:132px;max-height:calc(100vh - 150px);overflow:auto}.flow-preview-main{display:flex;align-items:center;justify-content:center;gap:12px;padding:13px;border-radius:13px;background:#eef3ff;font-weight:900}.flow-list{display:grid;gap:5px;margin-top:10px}.flow-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:7px;align-items:center;border:0;border-radius:10px;background:#f8fafc;padding:7px;text-align:left;cursor:pointer}.flow-row:hover{background:#eef3ff}.flow-line{display:block;border-radius:999px}.flow-row b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-row small{font-size:8px;color:#68758b}.career-timeline-bars{display:flex;align-items:flex-end;gap:3px;min-height:190px;overflow-x:auto;padding:10px 2px}.timeline-bar-column{flex:0 0 22px;display:grid;justify-items:center;align-content:end;gap:3px}.timeline-bar-stack{width:15px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#315efb,#00a884)}.timeline-bar-column b{font-size:7px;writing-mode:vertical-rl}.timeline-bar-column small{font-size:7px;color:#7a8799}
.recommend-rank{display:grid;place-items:center;align-content:center;width:56px;height:56px;border-radius:16px;background:#eef3ff;color:#3157b8}.recommend-rank span{font-size:8px}.recommend-rank b{font-size:15px}.candidate-no-score{grid-template-columns:56px minmax(0,1fr) auto}
@media(max-width:1400px){.event-fields-education{grid-template-columns:110px minmax(180px,1.5fr) repeat(3,minmax(105px,1fr)) 90px 90px}.event-fields-career{grid-template-columns:repeat(4,minmax(115px,1fr))}.event-fields-career .wide-field{grid-column:span 2}.career-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.branch-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.timeline-profile-layout{grid-template-columns:190px minmax(0,1fr)}.timeline-preview-card{grid-column:1/-1;position:relative;top:auto;max-height:none}.event-fields-education,.event-fields-career{grid-template-columns:repeat(3,minmax(120px,1fr))}.flow-layout{grid-template-columns:1fr}.flow-detail-card{position:relative;top:auto;max-height:none}.branch-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-controls .primary-action{grid-column:1/-1}.branch-sides{grid-template-columns:1fr}}
@media(max-width:900px){.career-toolbar{position:relative;top:auto;flex-wrap:wrap}.career-tabs{order:3;width:100%;overflow-x:auto}.career-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trajectory-grid,.career-dual-grid{grid-template-columns:1fr}.mentor-grid{grid-template-columns:1fr}.branch-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-controls{grid-template-columns:1fr 1fr}.flow-controls .primary-action{grid-column:1/-1}.event-fields-education,.event-fields-career,.event-fields-skill{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.career-toolbar label{width:100%;display:grid}.career-toolbar select{min-width:0;width:100%}.career-chart-grid,.branch-chart-grid{grid-template-columns:1fr}.trajectory-card{grid-template-columns:60px minmax(0,1fr)}.trajectory-year{width:58px;height:58px;font-size:22px}.trajectory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-controls,.flow-controls{grid-template-columns:1fr}.branch-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.event-editor-row{grid-template-columns:28px minmax(0,1fr) 28px;padding:8px}.event-fields-education,.event-fields-career,.event-fields-skill{grid-template-columns:1fr}.event-fields-career .wide-field,.event-fields .span-all{grid-column:auto}.mentor-card{grid-template-columns:42px minmax(0,1fr)}.mentor-card .primary-action{grid-column:2}.candidate-no-score{grid-template-columns:1fr}.recommend-rank{width:auto;height:auto;display:flex;gap:5px;padding:6px 10px}.flow-map{height:420px}}

/* v48: clearer career-navigation purpose and robust reorderable event editor */
.career-toolbar{align-items:stretch}
.career-toolbar>label{align-self:center}
.career-tabs{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px;min-width:0;flex:1}
.career-tabs button{display:grid;gap:3px;min-width:0;border:1px solid #dce4f1;border-radius:14px;padding:10px 12px;background:#f8fafc;color:#344054;text-align:left;cursor:pointer;transition:.18s ease}
.career-tabs button b{font-size:12px;line-height:1.25;white-space:normal}
.career-tabs button small{font-size:9px;line-height:1.4;color:#667085;font-weight:600;white-space:normal}
.career-tabs button:hover{border-color:#aebfe8;background:#f3f7ff;transform:translateY(-1px)}
.career-tabs button.active{border-color:#315efb;background:linear-gradient(135deg,#edf3ff,#f3fffb);box-shadow:0 7px 20px rgba(49,94,251,.12);color:#173f9e}
.career-tabs button.active small{color:#385d9c}
.career-guide{display:grid;grid-template-columns:48px minmax(220px,.85fr) minmax(0,1.8fr);gap:15px;align-items:stretch;padding:14px 16px;background:linear-gradient(135deg,#f8fbff,#f4fffb)}
.career-guide-index{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#2457ff;color:#fff;font-size:18px;font-weight:900;box-shadow:0 8px 20px rgba(36,87,255,.22)}
.career-guide-main{min-width:0}.career-guide-main h2{margin:2px 0 4px;font-size:16px}.career-guide-main p{margin:0;font-size:10px;line-height:1.55;color:#526078}
.career-guide-facts{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;min-width:0}
.career-guide-facts>div{display:grid;gap:3px;min-width:0;padding:9px 10px;border:1px solid #e0e8f5;border-radius:12px;background:rgba(255,255,255,.86)}
.career-guide-facts span{font-size:8px;font-weight:900;letter-spacing:.06em;color:#6c7a91;text-transform:uppercase}
.career-guide-facts b{font-size:9px;line-height:1.45;color:#344054;font-weight:700;overflow-wrap:anywhere}
.career-guide-facts .career-guide-caution{grid-column:1/-1;background:#fffaf0;border-color:#f5dfb1}

.profile-workspace{max-width:1900px}
.timeline-profile-layout{grid-template-columns:176px minmax(0,1fr) minmax(310px,360px);gap:16px;align-items:start}
.profile-form{min-width:0;overflow:hidden}
.timeline-preview-card{min-width:0}
.timeline-preview-card .profile-timeline{max-height:calc(100vh - 390px);min-height:150px;overflow:auto;padding-right:4px;scrollbar-gutter:stable}
.event-panel-head{align-items:flex-end}
.event-add-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.event-add-controls label{display:grid;gap:4px;font-size:9px;font-weight:900;color:#667085}
.event-add-controls select{min-width:140px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 9px;background:#fff;color:#1f2937;font:inherit}
.event-add-bottom{width:100%;margin-top:10px;border:1px dashed #aebee0;border-radius:13px;padding:10px 12px;background:#f8fbff;color:#3157b8;font-size:11px;font-weight:900;cursor:pointer}
.event-add-bottom:hover{background:#eef4ff;border-color:#7895d8}
.event-editor-list{display:grid;gap:12px;min-width:0}
.event-editor-row{display:block;min-width:0;padding:0;border:1px solid #dfe7f3;border-radius:17px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 5px 17px rgba(23,40,80,.045);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.event-editor-row:hover{border-color:#c2d1ec;box-shadow:0 8px 22px rgba(23,40,80,.07)}
.event-editor-row.is-dragging{opacity:.5;transform:scale(.99)}
.event-editor-row.is-drop-target{border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.12)}
.event-row-head{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:8px 10px;border-bottom:1px solid #e7edf6;background:linear-gradient(90deg,#f5f8ff,#f9fffd)}
.event-row-identity{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.drag-handle{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d5deed;border-radius:9px;background:#fff;color:#71809a;font-size:14px;font-weight:900;cursor:grab;user-select:none}
.drag-handle:active{cursor:grabbing}.drag-handle:hover{background:#eef3ff;color:#3157b8;border-color:#aec0e8}
.event-sequence{flex:0 0 auto;width:28px;height:28px;border-radius:9px}
.event-row-summary{display:grid;gap:1px;min-width:0}.event-row-summary b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-row-summary small{font-size:8px;color:#7a879b}
.event-row-actions{display:flex;gap:4px;flex:0 0 auto}
.event-row-actions button{display:grid;place-items:center;width:30px;height:30px;border:1px solid #dce4ef;border-radius:9px;background:#fff;color:#536078;font-weight:900;cursor:pointer}
.event-row-actions button:hover:not(:disabled){background:#eef3ff;color:#244ba6;border-color:#b8c8ea}
.event-row-actions button:disabled{opacity:.3;cursor:not-allowed}
.event-row-actions .event-remove{background:#fff1f2;color:#be123c;border-color:#ffe0e4}
.event-fields{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:9px;min-width:0;padding:12px}
.event-fields-education,.event-fields-career,.event-fields-skill{grid-template-columns:repeat(4,minmax(135px,1fr))}
.event-fields label{min-width:0;font-size:9px}.event-fields input,.event-fields select{min-width:0;max-width:100%;box-sizing:border-box;padding:9px 10px}
.event-fields .wide-field{grid-column:span 2}.event-fields .span-all{grid-column:1/-1}
.custom-stage-field.is-hidden{display:none}
.timeline-help{line-height:1.5}
.profile-timeline{overflow-wrap:anywhere}.timeline-event{min-width:0}.timeline-event b,.timeline-event small{overflow-wrap:anywhere}

@media(max-width:1500px){
  .timeline-profile-layout{grid-template-columns:170px minmax(0,1fr)}
  .timeline-preview-card{grid-column:2;position:relative;top:auto;max-height:none}
  .timeline-preview-card .profile-timeline{max-height:420px}
  .event-fields,.event-fields-education,.event-fields-career,.event-fields-skill{grid-template-columns:repeat(3,minmax(130px,1fr))}
  .career-toolbar{display:grid;grid-template-columns:minmax(210px,.6fr) minmax(0,2fr) auto}
}
@media(max-width:1100px){
  .career-toolbar{grid-template-columns:1fr}.career-toolbar .inline-action{justify-self:start}
  .career-tabs{grid-template-columns:1fr}
  .career-guide{grid-template-columns:44px minmax(0,1fr)}
  .career-guide-facts{grid-column:1/-1}
  .event-fields,.event-fields-education,.event-fields-career,.event-fields-skill{grid-template-columns:repeat(2,minmax(135px,1fr))}
}
@media(max-width:900px){
  .timeline-profile-layout{grid-template-columns:1fr}
  .timeline-preview-card{grid-column:auto}
  .profile-nav{position:relative;top:auto;grid-template-columns:repeat(3,minmax(0,1fr))}
  .completion-ring{grid-column:1/-1}
  .event-panel-head{align-items:flex-start;flex-direction:column}
  .event-add-controls{width:100%;justify-content:space-between}.event-add-controls label{flex:1}.event-add-controls select{width:100%}
}
@media(max-width:620px){
  .profile-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-fields,.event-fields-education,.event-fields-career,.event-fields-skill{grid-template-columns:1fr}
  .event-fields .wide-field,.event-fields .span-all{grid-column:auto}
  .event-row-head{align-items:flex-start}.event-row-actions{display:grid;grid-template-columns:repeat(2,30px)}
  .career-guide{grid-template-columns:1fr}.career-guide-index{width:36px;height:36px}.career-guide-facts{grid-template-columns:1fr}
  .career-guide-facts .career-guide-caution{grid-column:auto}
}

/* v48: top-first profile preview, explicit save state, compact career controls */
.profile-preview-top{position:relative;top:auto;max-height:none;display:grid;gap:10px;overflow:hidden}
.profile-preview-heading{align-items:center}
.preview-save-state{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.save-state-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;font-size:9px;font-weight:900;border:1px solid transparent}
.save-state-badge.is-saved{background:#ecfdf5;color:#087a55;border-color:#b7ecd7}.save-state-badge.is-dirty{background:#fff7e8;color:#9a5b00;border-color:#f7d69e}
.profile-preview-top .timeline-public-preview{display:grid;grid-template-columns:72px minmax(180px,.65fr) minmax(250px,.9fr) minmax(0,2.2fr) auto;gap:13px;align-items:center;padding:0;background:transparent;border:0;box-shadow:none}
.profile-preview-top .timeline-public-preview>.avatar{grid-row:1/3;margin:0;width:64px;height:64px;border-radius:20px;font-size:22px}
.profile-preview-top .timeline-public-preview>h3{margin:0;align-self:end}.profile-preview-top .timeline-public-preview>p{margin:0;align-self:start;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.profile-preview-top .current-snapshot{margin:0;min-height:72px;align-content:center}.profile-preview-top .profile-timeline{display:flex;gap:8px;min-height:76px;max-height:112px;overflow:auto;padding:3px 2px;scrollbar-gutter:stable}
.profile-preview-top .timeline-event{flex:0 0 min(240px,72vw);padding:9px;border:1px solid #e0e7f1;border-radius:12px;background:#fbfdff}.profile-preview-top #previewCareerNav{width:auto;min-width:150px}
.timeline-profile-layout{grid-template-columns:176px minmax(0,1fr);gap:16px;align-items:start}
.profile-save-dock{position:sticky;z-index:45;bottom:12px;margin:18px auto 0;max-width:920px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border:1px solid #cbd8ee;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 14px 38px rgba(27,45,86,.16);backdrop-filter:blur(12px)}
.profile-save-dock>div{display:grid;gap:2px}.profile-save-dock b{font-size:11px}.profile-save-dock span{font-size:9px;color:#64748b}.primary-action.has-unsaved{box-shadow:0 0 0 4px rgba(49,94,251,.12)}
.event-add-controls input{min-width:190px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 9px;background:#fff;color:#1f2937;font:inherit}
.event-fields input[list]{background-image:linear-gradient(45deg,transparent 50%,#7b879b 50%),linear-gradient(135deg,#7b879b 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:24px}

.v48-career{max-width:1880px}
.career-commandbar{position:sticky;top:74px;z-index:35;display:grid;grid-template-columns:minmax(210px,.75fr) minmax(150px,.45fr) minmax(360px,1.5fr) auto;gap:12px;align-items:end;padding:11px 13px}
.career-commandbar label{display:grid;gap:4px;font-size:9px;font-weight:900;color:#667085}.career-commandbar select,.career-commandbar input{min-width:0;width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:8px 9px;background:#fff;color:#1f2937}
.career-context-select,.career-cohort-select,.career-filter-builder{display:grid;gap:5px;min-width:0}.career-context-select small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#778397;font-size:8px}
.career-filter-line{display:grid;grid-template-columns:145px minmax(140px,1fr) auto;gap:6px}.compact-filter-chips{min-height:22px;max-height:54px;overflow:auto}.compact-filter-chips button{padding:4px 7px;font-size:8px}
.career-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px}.career-mode-tabs button{display:flex;align-items:baseline;justify-content:center;gap:8px;border:1px solid #dfe6f1;border-radius:12px;padding:9px 12px;background:#f8fafc;color:#344054;cursor:pointer}.career-mode-tabs button b{font-size:11px}.career-mode-tabs button small{font-size:8px;color:#7a8799}.career-mode-tabs button.active{background:#1f3f91;color:#fff;border-color:#1f3f91}.career-mode-tabs button.active small{color:#dce6ff}
.analysis-intro{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr);gap:18px;align-items:center;padding:12px 15px;background:linear-gradient(135deg,#f8fbff,#f7fffb)}.analysis-intro h2{margin:2px 0 0;font-size:15px}.analysis-intro>p{margin:0;color:#64748b;font-size:10px;line-height:1.55}
.compact-career-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:15px;align-items:center;padding:14px}.compact-career-hero h1{font-size:21px;margin:0 0 5px}.compact-career-hero p{margin:0}
.trajectory-card-head{align-items:end}.trajectory-card-head>label{display:grid;gap:4px;font-size:9px;font-weight:900;color:#667085}.trajectory-card-head select{border:1px solid #cbd5e1;border-radius:10px;padding:8px;background:#fff}
.trajectory-controls-v48{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto auto;gap:9px;align-items:center;margin:4px 0 12px}.trajectory-controls-v48>span,.trajectory-controls-v48 output{font-size:9px;font-weight:900;color:#64748b}.trajectory-controls-v48 label{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:900;color:#667085}.trajectory-controls-v48 input[type=number]{width:62px;border:1px solid #cbd5e1;border-radius:9px;padding:6px}.trajectory-layout-v48{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(250px,.75fr);gap:14px}.trajectory-chart-v48{min-width:0;border:1px solid #e1e7f0;border-radius:16px;padding:10px;background:#fff}.trajectory-chart-v48 svg{width:100%;height:auto;display:block}.trajectory-chart-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.trajectory-chart-title b{font-size:13px}.trajectory-chart-title span{font-size:9px;color:#718096}.trajectory-point{cursor:pointer}.trajectory-snapshot-v48{display:grid;align-content:start;gap:8px;border:1px solid #e1e7f0;border-radius:16px;padding:13px;background:linear-gradient(145deg,#fff,#f7faff)}.trajectory-snapshot-v48 h3{margin:0;font-size:17px}.trajectory-snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.trajectory-snapshot-grid>div{min-width:0;padding:8px;border:1px solid #e4eaf3;border-radius:11px;background:#fff}.trajectory-snapshot-grid b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.trajectory-snapshot-grid span{font-size:8px;color:#778397}
.branch-controls-v48{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(150px,1fr) 42px minmax(150px,1fr) minmax(260px,1.4fr) auto;gap:9px;align-items:end}.branch-controls-v48 label{display:grid;gap:4px;font-size:9px;font-weight:900;color:#667085}.branch-controls-v48 select,.branch-controls-v48 input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:8px;background:#fff}.swap-route-button,.route-swap{display:grid;place-items:center;width:42px;height:38px;border:1px solid #cbd8ee;border-radius:12px;background:#f7f9ff;color:#3157b8;font-size:18px;font-weight:900;cursor:pointer}.branch-horizon-control{display:grid;grid-template-columns:auto minmax(120px,1fr) auto auto;gap:6px;align-items:center}.branch-horizon-control>span{font-size:8px;color:#64748b}.branch-horizon-control label{display:flex;align-items:center;gap:4px}.branch-horizon-control input[type=number]{width:58px}
.route-planner-card{display:grid;gap:11px}.route-planner-top{display:grid;grid-template-columns:minmax(240px,1.5fr) 100px 100px auto;gap:9px;align-items:end}.route-planner-top label,.route-field{display:grid;gap:4px;font-size:9px;font-weight:900;color:#667085}.route-planner-top select,.route-planner-top input,.route-field select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:9px;background:#fff}.inline-checkbox{display:flex!important;align-items:center!important;gap:6px!important;padding-bottom:9px}.inline-checkbox input{width:auto!important}.route-planner-main{display:grid;grid-template-columns:minmax(220px,1fr) 48px minmax(220px,1fr) auto;gap:10px;align-items:center;padding:12px;border-radius:16px;background:#f6f8fc;border:1px solid #e0e6f0}.route-field{padding:9px 11px;border-radius:13px;background:#fff;border:1px solid #dce4ef}.route-field>span{font-size:8px;text-transform:uppercase;letter-spacing:.07em}.route-swap{justify-self:center}
.timeline-controls-v48{display:grid;grid-template-columns:100px 100px minmax(0,1fr) auto;gap:10px;align-items:end}.timeline-controls-v48>label{display:grid;gap:4px;font-size:9px;font-weight:900;color:#667085}.timeline-controls-v48 input[type=number]{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:9px;padding:8px}.event-type-selector{display:flex;gap:5px;flex-wrap:wrap}.event-type-selector label{display:flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid #dfe6f1;border-radius:999px;background:#fafcff;font-size:8px;font-weight:800;color:#526078}.timeline-summary-v48{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.timeline-summary-v48 span{padding:6px 9px;border-radius:999px;background:#eef3ff;color:#3157b8;font-size:9px}.multi-stack{display:flex!important;flex-direction:column-reverse!important;justify-content:flex-start;height:160px!important;background:transparent!important}.multi-stack span{display:block;width:15px;min-height:2px;border-radius:2px}

@media(max-width:1450px){.career-commandbar{grid-template-columns:1fr .55fr 1.5fr}.career-commandbar>.inline-action{grid-column:1/-1;justify-self:end}.branch-controls-v48{grid-template-columns:repeat(3,minmax(0,1fr))}.branch-horizon-control{grid-column:1/3}.branch-controls-v48>.primary-action{grid-column:3}.profile-preview-top .timeline-public-preview{grid-template-columns:64px minmax(160px,.7fr) minmax(230px,1fr) minmax(0,2fr)}.profile-preview-top #previewCareerNav{grid-column:4;justify-self:end}}
@media(max-width:1100px){.career-commandbar{position:relative;top:auto;grid-template-columns:1fr 1fr}.career-filter-builder{grid-column:1/-1}.analysis-intro,.compact-career-hero,.trajectory-layout-v48{grid-template-columns:1fr}.route-planner-top{grid-template-columns:1fr 1fr}.route-planner-main{grid-template-columns:1fr 44px 1fr}.route-planner-main>.primary-action{grid-column:1/-1}.timeline-controls-v48{grid-template-columns:1fr 1fr}.event-type-selector{grid-column:1/-1}.timeline-controls-v48>.secondary-action{grid-column:1/-1}.profile-preview-top .timeline-public-preview{grid-template-columns:64px minmax(0,1fr) minmax(240px,1.2fr)}.profile-preview-top .profile-timeline{grid-column:1/-1}.profile-preview-top #previewCareerNav{grid-column:3;grid-row:1/3}}
@media(max-width:760px){.career-commandbar{grid-template-columns:1fr}.career-filter-line{grid-template-columns:1fr}.career-mode-tabs{grid-template-columns:1fr}.career-mode-tabs button{justify-content:space-between}.trajectory-controls-v48{grid-template-columns:auto 1fr auto}.trajectory-controls-v48 label,.trajectory-controls-v48 output{grid-column:1/-1}.branch-controls-v48{grid-template-columns:1fr}.branch-horizon-control,.branch-controls-v48>.primary-action{grid-column:auto}.route-planner-top,.route-planner-main{grid-template-columns:1fr}.route-swap{justify-self:center;transform:rotate(90deg)}.timeline-controls-v48{grid-template-columns:1fr}.profile-preview-top .timeline-public-preview{grid-template-columns:52px minmax(0,1fr)}.profile-preview-top .current-snapshot,.profile-preview-top .profile-timeline,.profile-preview-top #previewCareerNav{grid-column:1/-1;grid-row:auto}.profile-preview-top .timeline-public-preview>.avatar{width:48px;height:48px;border-radius:15px}.profile-save-dock{bottom:6px;flex-direction:column;align-items:stretch}.profile-save-dock .primary-action{width:100%}}

/* v50 — product UI, temporal playback, and MapLibre maps */
.maplibre-host{height:100%;min-height:520px;background:#eef3f8}
.maplibre-host .maplibregl-canvas{outline:none}
.maplibre-host .maplibregl-ctrl-group{border-radius:12px;overflow:hidden;box-shadow:0 5px 18px rgba(15,23,42,.14)}
.maplibre-host .maplibregl-ctrl-attrib{font-size:9px;background:rgba(255,255,255,.82)}
.map-load-warning::after{content:'地図タイルを読み込めません。インターネット接続または地図設定を確認してください。';position:absolute;left:16px;bottom:16px;z-index:8;padding:9px 12px;border:1px solid #f2c7c7;border-radius:12px;background:#fff5f5;color:#a11;font-size:11px;font-weight:800}
.flow-maplibre-host{height:520px;min-height:440px;border-radius:16px;overflow:hidden}
.flow-count-label{border:2px solid #315efb;border-radius:999px;background:rgba(255,255,255,.96);color:#203b86;padding:4px 8px;font-size:10px;font-weight:900;box-shadow:0 5px 15px rgba(22,35,72,.18);cursor:pointer;white-space:nowrap}
.flow-count-label:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(22,35,72,.25)}

/* Profile cockpit */
.profile-workspace{max-width:1720px;gap:16px}
.profile-preview-top{padding:18px 20px;background:linear-gradient(135deg,#ffffff 0%,#f5f8ff 62%,#f1fbf8 100%);border-color:#d7e1f2}
.profile-preview-heading{margin-bottom:12px;align-items:center}
.profile-preview-heading h2{font-size:22px;letter-spacing:-.035em}
.preview-save-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.save-state-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900}
.save-state-badge.is-saved{background:#ecfdf5;color:#047857}.save-state-badge.is-dirty{background:#fff7ed;color:#c2410c}
.profile-preview-top .timeline-public-preview{display:grid;grid-template-columns:70px minmax(180px,.7fr) minmax(260px,1.1fr) minmax(0,2.3fr) auto;gap:14px;align-items:center}
.profile-preview-top .timeline-public-preview>.avatar{grid-row:1/3;margin:0;width:66px;height:66px;border-radius:22px;box-shadow:0 10px 28px rgba(36,87,255,.2)}
.profile-preview-top .timeline-public-preview>h3{margin:0;font-size:20px;letter-spacing:-.02em;align-self:end}
.profile-preview-top .timeline-public-preview>p{margin:0;color:#667085;line-height:1.55;align-self:start;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.profile-preview-top .current-snapshot{margin:0;border:1px solid #dce5f4;border-radius:16px;background:rgba(255,255,255,.9);padding:11px 13px;min-height:76px;display:grid;align-content:center;gap:3px}
.profile-preview-top .current-snapshot>span{font-size:9px;font-weight:900;color:#6c7a91;letter-spacing:.08em}.profile-preview-top .current-snapshot>b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-preview-top .current-snapshot>small{font-size:9px;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-preview-top .profile-timeline{display:flex;gap:8px;min-height:82px;max-height:116px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 7px;scrollbar-width:thin;scroll-snap-type:x proximity}
.profile-preview-top .timeline-event{flex:0 0 min(230px,72vw);display:grid;grid-template-columns:64px minmax(0,1fr);gap:5px;padding:10px;border:1px solid #dfe7f3;border-left:4px solid #7295ff;border-radius:13px;background:#fff;scroll-snap-align:start}
.profile-preview-top .timeline-event>span{grid-row:1/3;font-size:9px}.profile-preview-top .timeline-event b{font-size:10px;line-height:1.45}.profile-preview-top .timeline-event small{font-size:9px}
.profile-preview-top #previewCareerNav{min-width:148px;white-space:nowrap}
.profile-controlbar{display:grid;grid-template-columns:minmax(260px,.8fr) 1fr;align-items:end;padding:12px 14px;box-shadow:0 8px 24px rgba(24,32,51,.05)}
.profile-controlbar .toolbar-actions{justify-content:flex-end;align-items:center;flex-wrap:wrap}
.timeline-profile-layout{grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}
.profile-nav{position:sticky;top:82px;display:grid;gap:7px;padding:12px;max-height:calc(100vh - 100px);overflow:auto}
.profile-nav-intro{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;padding:4px 4px 10px;border-bottom:1px solid #edf1f6;margin-bottom:2px}
.profile-nav-intro>div:last-child{display:grid;gap:2px}.profile-nav-intro>div:last-child>b{font-size:12px}.profile-nav-intro>div:last-child>small{font-size:9px;color:#7a8799;line-height:1.4}
.profile-nav .completion-ring{width:62px;height:62px;margin:0}.profile-nav .completion-ring b{font-size:15px}.profile-nav .completion-ring span{font-size:8px}
.profile-tab{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;padding:9px 10px;border:1px solid transparent}
.profile-tab>span{grid-row:1/3;display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#f1f5f9;color:#64748b;font-size:9px;font-weight:900}.profile-tab>b{font-size:11px}.profile-tab>small{font-size:8px;color:#8994a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-tab.active{border-color:#c9d7ff;background:#eef3ff}.profile-tab.active>span{background:#2457ff;color:#fff}.profile-tab.active>small{color:#5871a8}
.profile-form{padding:0;overflow:visible}.form-panel{padding:18px 20px}.form-panel .panel-heading{padding-bottom:12px;border-bottom:1px solid #edf1f6}.form-panel .panel-heading h2{font-size:20px}.form-panel .panel-heading p{max-width:760px}
.event-panel-head{align-items:end}.event-add-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.event-add-controls label{display:grid;gap:4px;font-size:9px;font-weight:900;color:#667085}.event-add-controls input{min-width:190px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 9px;background:#fff}
.event-editor-row.is-collapsed .event-fields{display:none}.event-editor-row.is-collapsed{background:#fff}.event-editor-row.is-collapsed .event-row-head{border-bottom:0}.event-toggle{background:#f1f5f9!important;color:#334155!important}
.event-row-head{padding:10px 12px;background:linear-gradient(180deg,#fff,#f9fbff);border-bottom:1px solid #e8edf5}
.event-row-summary b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-row-summary small{font-size:8px;color:#8793a5}
.event-fields{padding:13px;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.event-fields label{min-width:0}.event-fields input,.event-fields select{min-width:0;width:100%;box-sizing:border-box}
.event-add-bottom{margin-top:10px;width:100%;border:1px dashed #9bb3ea;background:#f8faff;color:#3157b8;border-radius:13px;padding:10px;font-weight:900;cursor:pointer}.event-add-bottom:hover{background:#eef3ff}
.profile-save-dock{max-width:760px}

/* Career trajectory playback */
.trajectory-overview-layout{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(230px,.7fr);gap:14px}
.trajectory-overview{border:1px solid #e1e7f0;border-radius:16px;padding:14px;background:linear-gradient(145deg,#fff,#f7faff);display:grid;align-content:start;gap:12px}.trajectory-overview-grid{display:grid;gap:8px}.trajectory-overview-grid>div{padding:10px;border:1px solid #e4eaf3;border-radius:12px;background:#fff}.trajectory-overview-grid b{display:block;font-size:14px}.trajectory-overview-grid span{font-size:9px;color:#778397}.trajectory-overview p{font-size:10px;line-height:1.55;margin:0}
.trajectory-playback-card{border-color:#d7e3fa;background:linear-gradient(150deg,#fff,#f7faff)}.playback-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.trajectory-playback-controls{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto auto auto;gap:9px;align-items:center;margin:2px 0 13px}.trajectory-playback-controls>span,.trajectory-playback-controls output{font-size:9px;font-weight:900;color:#64748b}.trajectory-playback-controls label{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:900;color:#667085}.trajectory-playback-controls input[type=number],.trajectory-playback-controls select{border:1px solid #cbd5e1;border-radius:9px;padding:6px;background:#fff}.trajectory-playback-controls input[type=number]{width:62px}
.trajectory-snapshot-layout{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.6fr);gap:14px}.snapshot-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.snapshot-chart-grid .chart-card{min-height:220px}
.flow-map-card{overflow:hidden}.flow-map{height:520px;min-height:440px;border-radius:16px;overflow:hidden;border:1px solid #e2e8f0;background:#f4f8ff}.flow-row{grid-template-columns:14px minmax(0,1fr) auto}.flow-line{width:12px!important;border-radius:999px}

@media(max-width:1320px){
  .profile-preview-top .timeline-public-preview{grid-template-columns:62px minmax(160px,.7fr) minmax(220px,1fr) minmax(0,1.8fr)}
  .profile-preview-top #previewCareerNav{grid-column:4;justify-self:end}.event-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1080px){
  .maplibre-host{min-height:440px}.profile-preview-top .timeline-public-preview{grid-template-columns:60px minmax(0,1fr) minmax(230px,1fr)}
  .profile-preview-top .profile-timeline{grid-column:1/-1}.profile-preview-top #previewCareerNav{grid-column:3;grid-row:1/3}
  .timeline-profile-layout{grid-template-columns:1fr}.profile-nav{position:sticky;top:72px;z-index:30;display:flex;overflow-x:auto;overflow-y:hidden;max-height:none;align-items:center;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
  .profile-nav-intro{flex:0 0 210px;border-bottom:0;border-right:1px solid #edf1f6;padding:2px 12px 2px 2px}.profile-tab{flex:0 0 150px}.profile-form{min-width:0}
  .trajectory-overview-layout,.trajectory-snapshot-layout{grid-template-columns:1fr}.snapshot-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .maplibre-host{min-height:380px}.profile-preview-top{padding:14px}.profile-preview-heading{align-items:flex-start}.preview-save-state{width:100%;justify-content:flex-start}
  .profile-preview-top .timeline-public-preview{grid-template-columns:52px minmax(0,1fr)}.profile-preview-top .current-snapshot,.profile-preview-top .profile-timeline,.profile-preview-top #previewCareerNav{grid-column:1/-1;grid-row:auto}
  .profile-controlbar{grid-template-columns:1fr}.profile-controlbar .toolbar-actions{justify-content:flex-start}.profile-nav{top:64px}.profile-nav-intro{display:none}.profile-tab{flex-basis:132px}
  .form-panel{padding:14px}.event-panel-head{align-items:flex-start;flex-direction:column}.event-add-controls{width:100%}.event-add-controls label{flex:1}.event-add-controls input{width:100%;min-width:0}.event-fields{grid-template-columns:1fr 1fr}.event-fields .wide-field,.event-fields .span-all{grid-column:1/-1}
  .trajectory-playback-controls{grid-template-columns:auto 1fr auto}.trajectory-playback-controls label,.trajectory-playback-controls output{grid-column:1/-1}.snapshot-chart-grid{grid-template-columns:1fr}.flow-map{height:390px;min-height:360px}
}
@media(max-width:520px){.event-fields{grid-template-columns:1fr}.event-fields .wide-field,.event-fields .span-all{grid-column:auto}.event-row-identity{min-width:0}.event-row-actions{gap:3px}.event-row-actions button{width:28px;height:28px;padding:0}.profile-preview-top .timeline-event{flex-basis:82vw}}

/* v50 profile page: all top-level sections occupy the full workspace row */
.profile-workspace>.profile-preview-top,
.profile-workspace>.profile-controlbar,
.profile-workspace>.timeline-profile-layout,
.profile-workspace>.profile-save-dock{grid-column:1/-1;width:100%;min-width:0}
.profile-workspace>.profile-save-dock{justify-self:center}
@media(max-width:1500px){.profile-workspace>.profile-preview-top{grid-column:1/-1}}

/* v50 finishing refinements */
.profile-save-dock{display:none}
.profile-save-dock.is-visible{display:flex}
.flow-svg path[data-flow]:hover{opacity:1;stroke-width:2.5}
.primary-action:disabled{opacity:.58;cursor:default;filter:none}
@media(max-width:760px){
  .preview-save-state .primary-action:disabled{display:none}
  .profile-save-dock.is-visible{display:flex}
  .topbar nav{flex-direction:row;overflow-x:auto;max-width:100%;padding-bottom:2px}
  .topbar nav a{white-space:nowrap}
}

/* =========================================================
   v50: product layout refinement
   ========================================================= */

/* Profile overview: no horizontal carousel, one-glance summary */
.profile-overview-dashboard{display:grid;gap:14px;min-width:0}
.profile-overview-identity{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center}
.profile-overview-identity .avatar{margin:0;width:60px;height:60px;border-radius:19px;font-size:22px}
.profile-overview-identity h3{margin:0;font-size:21px;letter-spacing:-.025em}
.profile-overview-identity p{margin:4px 0 0;color:#667085;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.profile-overview-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.profile-overview-facts>div{display:grid;gap:3px;min-width:0;padding:10px 11px;border:1px solid #dfe7f2;border-radius:13px;background:rgba(255,255,255,.9)}
.profile-overview-facts span{font-size:8px;font-weight:900;color:#7a8799;letter-spacing:.035em}
.profile-overview-facts b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-overview-milestones{display:grid;gap:8px}
.overview-section-title{display:flex;align-items:end;justify-content:space-between;gap:10px}
.overview-section-title>div{display:grid;gap:2px}.overview-section-title b{font-size:12px}.overview-section-title span{font-size:8px;color:#7a8799}
.milestone-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;align-items:stretch}
.milestone-flow>i{display:none}
.milestone-node{position:relative;display:grid;align-content:start;gap:2px;min-width:0;padding:10px 11px 10px 14px;border:1px solid #dde6f3;border-radius:13px;background:linear-gradient(155deg,#fff,#f7faff)}
.milestone-node::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:999px;background:linear-gradient(#315efb,#00a884)}
.milestone-node span{font-size:8px;color:#728096}.milestone-node b{font-size:9px;color:#3157b8}.milestone-node strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.milestone-node small{font-size:8px;color:#8793a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-all-history{border-top:1px solid #e6ecf4;padding-top:10px}
.overview-all-history summary{cursor:pointer;font-size:10px;font-weight:900;color:#3157b8;list-style:none}.overview-all-history summary::-webkit-details-marker{display:none}
.overview-full-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin-top:9px}
.overview-full-event{display:grid;grid-template-columns:56px minmax(0,1fr);gap:2px 8px;padding:9px;border:1px solid #e3e9f2;border-radius:11px;background:#fbfdff;min-width:0}
.overview-full-event>span{grid-row:1/4;font-size:8px;color:#718096}.overview-full-event b{font-size:8px;color:#3157b8}.overview-full-event strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-full-event small{font-size:8px;color:#8793a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Contact: each column owns its scroll */
.contact-toolbar{position:sticky;top:68px;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.contact-search-layout{height:calc(100dvh - 150px);min-height:620px;overflow:hidden;align-items:stretch}
.contact-search-layout>.contact-filter,.contact-search-layout>.contact-results{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;position:relative;top:auto}
.contact-filter{align-content:start}
.contact-results{display:grid;grid-template-rows:auto minmax(0,1fr)}
.contact-results .candidate-list{overflow-y:auto;min-height:0;padding-right:3px}
.message-layout{height:calc(100dvh - 150px);min-height:620px;overflow:hidden}
.message-layout>.conversation-list,.message-layout>.chat-card{height:100%;min-height:0;overflow:hidden}
.message-layout>.conversation-list{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:none}
.message-layout>.conversation-list>div:last-child{overflow-y:auto;min-height:0}
.chat-card{min-height:0}.message-list{min-height:0}

/* Sticky but collapsible career command bar */
.career-commandbar{display:block;padding:0;overflow:hidden}
.career-command-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #e8edf5;background:linear-gradient(135deg,#fbfdff,#f7fbff)}
.career-command-summary{display:flex;gap:8px;align-items:center;min-width:0;font-size:9px;color:#667085}.career-command-summary b{font-size:11px;color:#27364e;white-space:nowrap}.career-command-summary span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.career-command-body{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(170px,.45fr) minmax(380px,1.5fr) auto;gap:12px;align-items:end;padding:11px 13px;max-height:210px;opacity:1;transition:max-height .2s ease,opacity .16s ease,padding .2s ease}
.career-commandbar.is-collapsed .career-command-body{max-height:0;opacity:0;padding-top:0;padding-bottom:0;pointer-events:none}
.compact-toggle{padding:7px 10px;white-space:nowrap}

/* Comparison */
.comparison-controls-card{display:grid;gap:13px}
.comparison-mode-switch{display:flex;gap:6px;padding:4px;border-radius:13px;background:#eef2f8;width:max-content;max-width:100%}
.comparison-mode-switch button{border:0;border-radius:10px;padding:8px 13px;background:transparent;color:#667085;font-weight:900;cursor:pointer}
.comparison-mode-switch button.active{background:#fff;color:#2457ff;box-shadow:0 3px 12px rgba(27,45,86,.1)}
.comparison-mode-panel{display:none}.comparison-mode-panel.active{display:block}
.branch-controls-v50{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(170px,1fr) 42px minmax(170px,1fr);gap:9px;align-items:end}
.branch-controls-v50 label,.cohort-builder label{display:grid;gap:4px;font-size:9px;font-weight:900;color:#667085}
.branch-controls-v50 select,.cohort-builder select,.cohort-builder input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:8px;background:#fff}
.cohort-compare-grid{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:11px;align-items:stretch}
.cohort-builder{display:grid;align-content:start;gap:9px;padding:12px;border:1px solid #dfe6f1;border-radius:15px;background:#fbfdff;min-width:0}
.cohort-builder-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}
.cohort-count{display:inline-flex;padding:7px 9px;border-radius:999px;background:#eef3ff;color:#3157b8;font-size:9px;font-weight:900}
.cohort-filter-line{display:grid;grid-template-columns:145px minmax(120px,1fr) auto;gap:6px}
.swap-groups-button{align-self:center;display:grid;place-items:center;width:42px;height:42px;border:1px solid #cbd8ee;border-radius:13px;background:#fff;color:#3157b8;font-size:18px;font-weight:900;cursor:pointer}
.comparison-horizon{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto auto;gap:8px;align-items:center;padding-top:10px;border-top:1px solid #e8edf5}
.comparison-horizon span,.comparison-horizon output{font-size:9px;font-weight:900;color:#64748b}.comparison-horizon label{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:900;color:#667085}.comparison-horizon input[type=number]{width:60px;border:1px solid #cbd5e1;border-radius:9px;padding:6px}
.branch-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}

/* Multi-pair flow planner */
.route-pair-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-pair-toolbar>div{display:grid;gap:2px}.route-pair-toolbar b{font-size:11px}.route-pair-toolbar span{font-size:8px;color:#7a8799}
.flow-pair-list{display:grid;gap:8px}
.flow-pair-row{display:grid;grid-template-columns:28px minmax(150px,1fr) 28px minmax(150px,1fr) 88px auto 34px;gap:8px;align-items:end;padding:9px;border:1px solid #e0e7f1;border-radius:14px;background:#f8faff}
.flow-pair-index{display:grid;place-items:center;width:26px;height:36px;border-radius:9px;background:#315efb;color:#fff;font-size:10px;font-weight:900}
.flow-pair-row label{display:grid;gap:4px;font-size:8px;font-weight:900;color:#667085}.flow-pair-row select{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:8px;background:#fff}
.flow-pair-arrow{align-self:center;text-align:center;font-size:17px;font-weight:900;color:#3157b8}.flow-pair-count{align-self:center;text-align:center;padding:8px;border-radius:10px;background:#fff;color:#22346b;font-size:10px;font-weight:900;border:1px solid #dce4ef}
.route-run-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:9px;border-top:1px solid #e8edf5}.route-pair-summary{display:flex;gap:7px;flex-wrap:wrap;min-width:0}.route-pair-summary span{padding:6px 8px;border-radius:999px;background:#f1f5f9;color:#536078;font-size:8px}.route-pair-summary b{color:#253047}

/* Timeline controls */
.timeline-control-board{display:grid;grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);gap:14px;align-items:start;margin-bottom:13px;padding:12px;border:1px solid #e0e7f1;border-radius:15px;background:#f8faff}
.timeline-period{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.timeline-period label{display:grid;gap:4px;font-size:8px;font-weight:900;color:#667085}.timeline-period input{width:92px;border:1px solid #cbd5e1;border-radius:9px;padding:7px;background:#fff}.control-label{display:block;margin-bottom:5px;font-size:8px;font-weight:900;color:#3157b8;letter-spacing:.04em}
.event-type-selector{display:flex;gap:6px;flex-wrap:wrap}.event-type-selector label{cursor:pointer}.event-type-selector input{position:absolute;opacity:0;pointer-events:none}.event-type-selector span{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #dce4ef;border-radius:999px;background:#fff;font-size:8px;font-weight:900;color:#667085}.event-type-selector span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--event-color)}.event-type-selector input:checked+span{border-color:var(--event-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--event-color) 18%,transparent);color:#253047}
.timeline-summary{display:flex;gap:6px;flex-wrap:wrap}.timeline-summary span{padding:5px 8px;border-radius:999px;background:#eef3ff;font-size:8px;color:#526078}

/* Entity compare action */
.entity-actions{flex-wrap:wrap}

@media(max-width:1280px){
  .profile-overview-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .career-command-body{grid-template-columns:1fr 1fr}.career-filter-builder{grid-column:1/-1}.career-command-body>.inline-action{justify-self:end}
  .cohort-compare-grid{grid-template-columns:1fr}.swap-groups-button{justify-self:center;transform:rotate(90deg)}
  .flow-pair-row{grid-template-columns:28px minmax(130px,1fr) 26px minmax(130px,1fr) 76px 34px}.flow-pair-row>[data-reverse-pair]{grid-column:2/6}
}
@media(max-width:900px){
  .contact-search-layout,.message-layout{height:auto;min-height:0;overflow:visible}.contact-search-layout>.contact-filter,.contact-search-layout>.contact-results{height:auto;max-height:none;overflow:visible}.contact-results .candidate-list{overflow:visible}.message-layout>.conversation-list,.message-layout>.chat-card{height:auto;overflow:visible}
  .career-commandbar{top:62px}.career-command-body{grid-template-columns:1fr}.career-filter-builder{grid-column:auto}
  .branch-controls-v50{grid-template-columns:1fr}.swap-route-button{justify-self:center;transform:rotate(90deg)}
  .comparison-horizon{grid-template-columns:auto 1fr auto}.comparison-horizon label,.comparison-horizon output{grid-column:1/-1}
  .flow-pair-row{grid-template-columns:28px minmax(0,1fr)}.flow-pair-arrow{transform:rotate(90deg)}.flow-pair-row label,.flow-pair-count,.flow-pair-row>[data-reverse-pair]{grid-column:2}.flow-pair-row>[data-remove-pair]{grid-column:1;grid-row:1}
  .timeline-control-board{grid-template-columns:1fr}
}
@media(max-width:680px){
  .profile-overview-identity{grid-template-columns:52px minmax(0,1fr)}.profile-overview-identity .avatar{width:50px;height:50px}.profile-overview-identity .secondary-action{grid-column:1/-1;width:100%}
  .profile-overview-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.milestone-flow{grid-template-columns:1fr 1fr}.overview-full-grid{grid-template-columns:1fr}
  .career-command-summary span{display:none}.comparison-horizon{grid-template-columns:1fr}.comparison-horizon>span{display:none}.branch-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .route-run-row{align-items:stretch;flex-direction:column}.route-run-row .primary-action{width:100%}
}
/* v50 polish */
.preview-save-state [data-save-profile]:disabled{display:none}

/* v52: compact and universal clear controls */
.clearable-input,.clearable-autocomplete{position:relative;display:block;min-width:0}
.clearable-input input,.clearable-autocomplete input{width:100%;padding-right:34px!important;box-sizing:border-box}
.input-clear{border:0;background:#eef3fb;color:#596579;border-radius:999px;width:24px;height:24px;display:inline-grid;place-items:center;font-weight:900;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}
.input-clear:hover{background:#dce8fb;color:#1f3a8a;transform:scale(1.04)}
.clearable-input .input-clear,.floating-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%)}
.clearable-input .input-clear:hover,.floating-clear:hover{transform:translateY(-50%) scale(1.04)}
.career-filter-line,.cohort-filter-line{align-items:end}
.trajectory-playback-controls output,.comparison-horizon output{white-space:nowrap}
.trajectory-playback-controls input[type=number],.comparison-horizon input[type=number]{width:76px}
@media(max-width:760px){.career-filter-line .clearable-input,.cohort-filter-line .clearable-input,.clearable-autocomplete{width:100%}.trajectory-playback-controls input[type=number],.comparison-horizon input[type=number]{width:100%}}

/* v52: every editable field gets a consistent clear/reset affordance */
.universal-clear-field{position:relative;display:block;min-width:0;width:100%}
.universal-clear-field>input,.universal-clear-field>select,.universal-clear-field>textarea{width:100%;box-sizing:border-box;padding-right:34px!important}
.universal-clear-field.is-textarea>textarea{padding-right:38px!important}
.universal-clear-button{position:absolute;right:7px;top:50%;z-index:3;width:23px;height:23px;border:0;border-radius:999px;background:#edf2f8;color:#5e6a7d;display:grid;place-items:center;font-weight:900;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(-50%) scale(.94);transition:opacity .14s ease,transform .14s ease,background .14s ease,color .14s ease}
.universal-clear-field.is-textarea .universal-clear-button{top:10px;transform:scale(.94)}
.universal-clear-field:hover .universal-clear-button,.universal-clear-field:focus-within .universal-clear-button,.universal-clear-field.has-value .universal-clear-button{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)}
.universal-clear-field.is-textarea:hover .universal-clear-button,.universal-clear-field.is-textarea:focus-within .universal-clear-button,.universal-clear-field.is-textarea.has-value .universal-clear-button{transform:scale(1)}
.universal-clear-button:hover{background:#dbe7f8;color:#193d91}
.universal-clear-button:focus-visible{outline:3px solid rgba(49,94,251,.2);outline-offset:2px}
.event-fields .universal-clear-field,.form-grid .universal-clear-field{min-width:0}
@media(max-width:680px){.universal-clear-button{opacity:.78;pointer-events:auto}}

/* v53 SmartSelect */
.smart-select{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:5px;width:100%;min-width:0;min-height:42px;padding:4px 36px 4px 6px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-sizing:border-box}.smart-select:focus-within{border-color:#5277f3;box-shadow:0 0 0 3px rgba(36,87,255,.11)}.smart-select-input{flex:1 1 110px!important;min-width:75px!important;width:auto!important;border:0!important;box-shadow:none!important;background:transparent!important;padding:6px!important;outline:0}.smart-select-chips{display:flex;flex-wrap:wrap;gap:5px}.smart-chip{display:inline-flex;align-items:center;gap:5px;max-width:230px;padding:5px 7px 5px 9px;border:1px solid #d8e4ff;border-radius:999px;background:#eef3ff;color:#2446a1;font-size:10px}.smart-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-chip em{font-style:normal;font-size:8px;color:#8a5a00;background:#fff7d6;padding:2px 4px;border-radius:999px}.smart-chip button{border:0;background:transparent;cursor:pointer;color:#64748b}.smart-select-clear{position:absolute;right:6px;top:7px;width:27px;height:27px;border:0;border-radius:8px;background:#f1f5f9;color:#64748b;cursor:pointer;font-weight:900}.smart-select-menu{position:absolute;z-index:200;left:0;right:0;top:calc(100% + 7px);max-height:310px;overflow:auto;padding:6px;border:1px solid #d8e2f0;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(24,39,75,.18)}.smart-option,.smart-create{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;border-radius:10px;background:#fff;text-align:left;padding:9px 10px;cursor:pointer}.smart-option:hover,.smart-create:hover{background:#f2f6ff}.smart-option span{display:grid;gap:2px;min-width:0}.smart-option b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-option small,.smart-create small{font-size:9px;color:#758198}.smart-option em{font-style:normal;font-size:8px;padding:3px 5px;border-radius:999px}.smart-option em.verified{background:#e8fff6;color:#08785f}.smart-option em.pending{background:#fff7d6;color:#8a5a00}.smart-create{display:grid;color:#2457ff;border-top:1px solid #e7edf6;margin-top:4px}.smart-empty{padding:12px;color:#748197;font-size:10px}.smart-field-help{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:#748197;font-size:9px}.language-detail-list{display:grid;gap:8px;margin-top:9px}.language-detail-row{display:grid;grid-template-columns:minmax(110px,1fr) 150px minmax(220px,2fr);gap:8px;align-items:center;padding:9px;border:1px solid #e2e8f0;border-radius:12px;background:#fbfdff}.language-detail-row select{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:7px}.language-contexts{display:flex;flex-wrap:wrap;gap:4px}.language-contexts label{display:inline-flex!important;align-items:center;gap:3px!important;padding:4px 6px;border-radius:999px;background:#f1f5f9;font-size:8px!important}.language-contexts input{width:auto!important}@media(max-width:760px){.language-detail-row{grid-template-columns:1fr}.smart-select-menu{max-height:250px}}

/* v54: current-state vs cumulative-attainment career rates */
.trajectory-chart-title>div:first-child{display:grid;gap:2px;min-width:0}.trajectory-chart-title>div:first-child span{font-size:9px;color:#718096}.trajectory-series-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px}.trajectory-series-legend span{display:inline-flex;align-items:center;gap:6px;font-size:9px!important;font-weight:800;color:#475569!important;white-space:nowrap}.trajectory-series-legend i{display:inline-block;width:28px;height:0;border-top-width:3px;border-top-style:var(--series-dash);border-top-color:var(--series-color);border-radius:99px}.trajectory-definition-note{margin:7px 0 0;padding:7px 9px;border-radius:10px;background:#f6f8fc;color:#526078;font-size:9px;line-height:1.55}.trajectory-marker{cursor:pointer}.trajectory-overview-multi>div{display:grid;gap:5px}.trajectory-overview-multi strong{font-size:11px;color:#24324a}.trajectory-overview-multi span{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:6px}.trajectory-overview-multi span i{width:7px;height:7px;border-radius:50%}.trajectory-overview-multi span b{font-size:11px;white-space:nowrap}.paired-kpi,.branch-paired-kpi{display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important;align-content:start}.paired-kpi>span,.branch-paired-kpi>span{grid-column:1/-1;font-size:8px!important;font-weight:900;color:#56657c!important}.paired-kpi>div,.branch-paired-kpi>div{min-width:0;padding:6px;border-radius:9px;background:#f7f9fd}.paired-kpi>div b,.branch-paired-kpi>div b{display:block;font-size:12px!important;white-space:nowrap}.paired-kpi>div small,.branch-paired-kpi>div small{display:block;font-size:7px;color:#7b8798}.paired-kpi>em{grid-column:1/-1;font-style:normal;font-size:8px;color:#7c3aed;font-weight:800}.branch-paired-kpi{padding:8px!important;border:1px solid #e5eaf2;border-radius:11px;background:#fff!important}.branch-paired-kpi>div{background:#f7f9fd}.trajectory-analysis-card svg{overflow:visible}
@media(max-width:760px){.trajectory-chart-title{align-items:flex-start;flex-direction:column}.trajectory-series-legend{justify-content:flex-start}.trajectory-snapshot-grid{grid-template-columns:1fr 1fr}.paired-kpi{grid-column:1/-1}}

/* v54: paired current-state / cumulative-rate trajectories */
.trajectory-metric-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.trajectory-metric-controls>label{display:grid;gap:4px;font-size:9px;font-weight:900;color:#667085}
.series-mode-switch{display:inline-flex;align-items:center;padding:3px;border:1px solid #d8e0ed;border-radius:12px;background:#f5f7fb;gap:2px}
.series-mode-switch[hidden]{display:none!important}
.series-mode-switch button{border:0;background:transparent;color:#667085;font-size:9px;font-weight:900;padding:7px 10px;border-radius:9px;cursor:pointer}
.series-mode-switch button.active{background:#fff;color:#1d3f9b;box-shadow:0 1px 5px rgba(31,58,126,.14)}
.trajectory-chart-title>div:first-child{display:grid;gap:3px;min-width:0}
.trajectory-chart-title small{display:block;color:#718096;font-size:9px;line-height:1.45;font-weight:600}
.trajectory-chart-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.trajectory-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:900;color:#526078;white-space:nowrap}
.trajectory-legend-item i{display:inline-block;width:28px;height:3px;background:var(--legend-color);border-radius:999px;position:relative}
.trajectory-legend-item i[style*="8 6"]{background:repeating-linear-gradient(90deg,var(--legend-color) 0 8px,transparent 8px 14px)}
.paired-overview>div small{display:block;margin-top:3px;color:#e26a35;font-size:9px;font-weight:900}
.rate-definition-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;padding:10px;border-radius:12px;background:#f4f7fc;border:1px solid #e0e7f2;font-size:9px;line-height:1.45}
.rate-definition-note b{color:#243b72}.rate-definition-note span{color:#65728a}
.compact-notice{margin:2px 0 0;padding:8px 9px;font-size:9px}
.branch-kpis{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}
@media(max-width:760px){.trajectory-metric-controls{width:100%;justify-content:flex-start}.trajectory-metric-controls>label{width:100%}.trajectory-metric-controls select{width:100%}.series-mode-switch{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.series-mode-switch button{width:100%}.trajectory-chart-title{align-items:flex-start;flex-direction:column}.trajectory-chart-legend{justify-content:flex-start}.rate-definition-note{grid-template-columns:1fr}.branch-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.trajectory-legend-item i.current{background:repeating-linear-gradient(90deg,var(--legend-color) 0 8px,transparent 8px 14px)}

/* v54: current-state vs cumulative-experience trajectory display */
.trajectory-metric-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.trajectory-metric-controls>label{display:grid;gap:4px;font-size:9px;font-weight:900;color:#667085}
.trajectory-metric-controls select{min-width:230px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;background:#fff;color:#27364e}
.series-mode-switch{display:flex;gap:3px;padding:3px;border:1px solid #dbe4f0;border-radius:11px;background:#f1f5fb}
.series-mode-switch[hidden]{display:none}
.series-mode-switch button{border:0;border-radius:8px;padding:7px 10px;background:transparent;color:#667085;font-size:9px;font-weight:900;cursor:pointer;white-space:nowrap}
.series-mode-switch button:hover{background:#fff;color:#315efb}
.series-mode-switch button.active{background:#fff;color:#315efb;box-shadow:0 3px 10px rgba(34,62,121,.12)}
.trajectory-chart-title{align-items:flex-start}
.trajectory-chart-title>div:first-child{display:grid;gap:3px;min-width:0}
.trajectory-chart-title small{max-width:620px;color:#748096;font-size:9px;line-height:1.5}
.trajectory-chart-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.trajectory-legend-item{display:flex;align-items:center;gap:6px;color:#5e6b80;font-size:9px;font-weight:900;white-space:nowrap}
.trajectory-legend-item i{display:inline-block;width:25px;height:0;border-top:3px solid var(--legend-color);border-top-style:solid;border-radius:999px}
.trajectory-legend-item i[style*="8 6"]{border-top-style:dashed}
.rate-definition-note{display:grid;gap:7px;padding:10px;border:1px solid #dbe5f5;border-radius:12px;background:#f8fbff}
.rate-definition-note b{font-size:10px;color:#283b67}
.rate-definition-note span{font-size:9px;color:#65738a;line-height:1.45}
.trajectory-overview-multi>div,.paired-overview>div{display:grid;gap:5px}
.trajectory-overview-multi strong,.paired-overview strong{font-size:10px;color:#26364e}
.trajectory-overview-multi span,.paired-overview span{display:flex;align-items:center;justify-content:space-between;gap:6px}
.trajectory-overview-multi span i,.paired-overview span i{width:8px;height:8px;border-radius:999px;flex:0 0 auto}
.trajectory-overview-multi span b,.paired-overview span b{margin-left:auto}
.trajectory-marker{pointer-events:none}
.paired-kpi{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;gap:3px 8px!important;align-items:center}
.paired-kpi>span{grid-column:1/-1;color:#526078!important;font-size:9px!important;font-weight:900}
.paired-kpi>b{font-size:12px!important;text-align:right}
.paired-kpi>small{font-size:8px;color:#778397}
.paired-kpi>em{grid-column:1/-1;font-size:8px;font-style:normal;color:#7c3aed;font-weight:900}
.compact-notice{margin:3px 0 0}

@media(max-width:760px){
  .trajectory-metric-controls{width:100%;justify-content:stretch}
  .trajectory-metric-controls>label{width:100%}
  .trajectory-metric-controls select{width:100%;min-width:0}
  .series-mode-switch{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  .series-mode-switch button{padding:8px 5px}
  .trajectory-chart-title{display:grid;gap:8px}
  .trajectory-chart-legend{justify-content:flex-start}
}
.trajectory-legend-item i.current{border-top-style:dashed}
.trajectory-legend-item i.cumulative,.trajectory-legend-item i.single{border-top-style:solid}

/* v55: route definitions, skill prevalence, and timeline measurement modes */
.route-card-head{align-items:flex-start;gap:14px}.route-mode-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid #dbe4f0;border-radius:11px;background:#f3f6fb;flex:0 0 auto}.route-mode-switch button{border:0;border-radius:8px;background:transparent;color:#667085;font-size:9px;font-weight:900;padding:7px 9px;cursor:pointer;white-space:nowrap}.route-mode-switch button.active{background:#fff;color:#315efb;box-shadow:0 2px 8px rgba(34,62,121,.13)}
.skill-prevalence-matrix{display:grid;grid-template-columns:1fr;gap:9px}.skill-prevalence-row{display:grid;gap:6px;padding:9px 10px;border:1px solid #e2e8f2;border-radius:12px;background:#fbfdff}.skill-prevalence-row.registered{border-color:#a7e8d2;background:#f0fdf8}.skill-prevalence-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.skill-prevalence-head>span{font-size:8px;font-weight:900;color:#49617f;padding:3px 6px;border-radius:999px;background:#eef3ff;white-space:nowrap}.skill-prevalence-row.registered .skill-prevalence-head>span{background:#10b981;color:#fff}.skill-prevalence-head b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-prevalence-head small{font-size:9px;color:#667085;white-space:nowrap}.skill-prevalence-track,.prevalence-track{height:8px;border-radius:999px;background:#edf2f8;overflow:hidden}.skill-prevalence-track i,.prevalence-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#315efb,#00a884)}
.prevalence-chart-card{display:block!important;min-height:236px}.prevalence-list{display:grid;gap:9px;margin-top:8px}.prevalence-row{display:grid;gap:4px}.prevalence-label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.prevalence-label b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prevalence-label span{font-size:8px;color:#667085;white-space:nowrap}.chart-footnote{margin:10px 0 0;color:#7b8799;font-size:8px;line-height:1.5}
.timeline-control-board-v55{grid-template-columns:minmax(250px,.75fr) minmax(230px,.65fr) minmax(360px,1.4fr);align-items:start}.timeline-measure-control{display:grid;gap:5px}.timeline-measure-control select{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;background:#fff;color:#27364e}.timeline-measure-control small{color:#748197;font-size:8px;line-height:1.45}.timeline-bar-column.is-zero{opacity:.55}.timeline-zero-mark{display:block;width:15px;height:2px;border-radius:999px;background:#d9e1ec}.timeline-bar-stack.single-event span{width:15px}.timeline-empty-overlay{position:sticky;left:12px;align-self:center;min-width:260px;padding:10px 12px;border-radius:12px;background:#f8fbff;border:1px solid #dbe5f5;color:#5d6a7e;font-size:9px;line-height:1.5}.timeline-summary span{white-space:nowrap}
@media(max-width:1100px){.timeline-control-board-v55{grid-template-columns:1fr 1fr}.timeline-control-board-v55>div:last-child{grid-column:1/-1}.route-card-head{display:grid}.route-mode-switch{justify-self:start}}
@media(max-width:680px){.timeline-control-board-v55{grid-template-columns:1fr}.timeline-control-board-v55>div:last-child{grid-column:auto}.route-mode-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}.skill-prevalence-head{grid-template-columns:1fr auto}.skill-prevalence-head>span{grid-column:1/-1;justify-self:start}}


/* v55 final semantic polish */
.candidate-process{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 16px;padding:10px 12px;border:1px solid #dbe5f5;border-radius:14px;background:#f8fbff}.candidate-process span{display:inline-flex;align-items:center;gap:6px;color:#526078;font-size:9px;font-weight:850}.candidate-process span b{display:grid;place-items:center;width:20px;height:20px;border-radius:7px;background:#315efb;color:#fff;font-size:9px}.candidate-process i{font-style:normal;color:#9aa6b8}.snapshot-observation-note{margin:2px 0 8px;color:#718096;font-size:9px}.branch-kpis small{display:block;margin-top:2px;color:#8a94a6;font-size:7px}.timeline-bar-stack.single-event{align-items:center}.timeline-bar-stack.single-event span{width:15px;border-radius:5px 5px 2px 2px}.timeline-bar-column.is-zero b,.timeline-bar-column.is-zero small{color:#a4adbb}.timeline-control-board-v55 .control-label{display:block;margin-bottom:5px}.timeline-measure-control{min-width:0}
@media(max-width:680px){.candidate-process i{display:none}.candidate-process{display:grid;grid-template-columns:1fr 1fr}.candidate-process span{min-width:0}}


/* Public read-only demo */
.public-demo-banner{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px 20px;background:#fff7d6;border-bottom:1px solid #e5c75e;color:#5b4700;font-size:14px}.public-demo-banner b{font-weight:800}.public-demo-banner span{line-height:1.5}.demo-info-card{max-width:880px;margin:36px auto;padding:28px}.demo-info-card h1{margin-top:0}.demo-info-card li{margin:8px 0;line-height:1.6}
