:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light;--bg:#f6f9fc;--surface:#fff;--surface-2:#f4f8fc;--line:#dbe5f0;--ink:#102b50;--muted:#526985;--blue:#006bc6;--blue-contrast:#f6f9fc;--blue-soft:#e7f2ff;--green:#006b3c;--green-soft:#e1f5eb;--amber:#8a4b00;--amber-soft:#fff0cf;--red:#b42333;--red-soft:#ffe4e6;--shadow:0 8px 24px #173b5a0b;--radius:14px}
:root[data-theme=dark]{color-scheme:dark;--bg:#071522;--surface:#0d1d2c;--surface-2:#132639;--line:#263c50;--ink:#e8f1fb;--muted:#b0c0d0;--blue:#58aaff;--blue-contrast:#071522;--blue-soft:#102f4c;--green:#72d8b8;--green-soft:#123c3a;--amber:#ffd27b;--amber-soft:#453719;--red:#ff9aa5;--red-soft:#4a202b;--shadow:0 8px 24px #0003}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);display:grid;grid-template-columns:210px minmax(570px,1fr) 350px;min-height:100vh;font-size:14px}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.skip{position:fixed;top:-80px;left:12px;background:var(--surface);padding:12px;z-index:20}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rail{border-right:1px solid var(--line);background:var(--surface);padding:22px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);padding:0 10px 24px}.brand strong{font-size:25px;letter-spacing:-.7px}.brand span{font-size:13px;color:var(--muted);line-height:1.4;margin-top:5px}.rail nav{display:grid;gap:5px}.nav{height:46px;border:0;background:transparent;display:flex;align-items:center;gap:13px;padding:0 12px;border-radius:9px;color:var(--ink);text-decoration:none;text-align:left}.nav svg,.refresh svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.nav.active{background:var(--blue-soft);color:var(--blue)}.rail-foot{margin-top:auto;display:flex;align-items:flex-start;gap:12px;padding:10px;color:var(--muted)}.rail-foot b,.rail-foot small{display:block}.rail-foot b{font-weight:550;color:var(--ink)}.rail-foot small{line-height:1.45;margin-top:4px}.lock{font-size:20px;color:var(--blue)}main{padding:18px 20px 32px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:flex-start}.page-head h1{font-size:28px;line-height:1.1;letter-spacing:-.6px;margin:0}.page-head p,.section-head p,.results-head p{margin:4px 0 0;color:var(--muted)}.theme{border:1px solid var(--line);background:var(--surface);border-radius:9px;width:38px;height:38px;font-size:20px}.spotlight{margin-top:17px}.section-head,.results-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:9px}.section-head h2,.results-head h2{font-size:17px;margin:0}.section-head p,.results-head p{font-size:12px}.subtle{font-size:12px;color:var(--muted)}.live-dot{display:inline-block;width:7px;height:7px;margin-left:5px;border-radius:50%;background:var(--green);vertical-align:middle}.hero{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.hero-card{position:relative;min-width:0;min-height:83px;padding:11px 10px;text-align:left;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow);transition:border-color .15s,transform .15s;cursor:pointer}.hero-card:hover,.hero-card:focus-within{border-color:var(--blue);transform:translateY(-1px)}.hero-main{display:block;width:100%;padding:0;border:0;background:none;text-align:left;color:inherit}.hero-actions{display:flex;gap:7px;margin-top:9px}.hero-actions button{min-height:30px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--blue);font-size:11px;font-weight:600}.hero-actions button:last-child{background:var(--blue);border-color:var(--blue);color:var(--blue-contrast)}.hero-title{font-size:12px;font-weight:650;line-height:1.28;display:block;min-height:32px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hero-meta{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:5px}.salary,.fit,.mode{font-size:10px;font-weight:650;white-space:nowrap}.salary{padding:2px 4px;border-radius:6px}.salary.green{background:var(--green-soft);color:var(--green)}.salary.amber{background:var(--amber-soft);color:var(--amber)}.salary.red{background:var(--red-soft);color:var(--red)}.salary.unknown{background:var(--surface-2);color:var(--muted)}.fit{color:var(--green);font-variant-numeric:tabular-nums}.mode{color:var(--muted);font-weight:500;overflow:hidden;text-overflow:ellipsis}.hero-tip{display:none;position:absolute;z-index:5;left:0;top:calc(100% + 6px);width:250px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 10px 35px #001a2e30;padding:12px;text-align:left;color:var(--ink);font-weight:400}.hero-card:hover .hero-tip,.hero-card:focus-within .hero-tip{display:block}.hero-card:nth-child(5n) .hero-tip{left:auto;right:0}.hero-tip strong{display:block;margin-bottom:5px}.hero-tip span{display:block;color:var(--muted);font-size:12px;line-height:1.5}.controls{margin-top:17px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.title-line{display:flex;align-items:end;justify-content:space-between;gap:14px}.title-line label,.levels legend,.location{font-size:12px;font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.chip{border:1px solid #c5dcf8;background:var(--blue-soft);color:var(--ink);border-radius:8px;padding:6px 8px;display:flex;align-items:center;gap:7px;font-size:12px}.chip button{border:0;background:none;padding:0;color:var(--muted);font-size:16px;line-height:1}.add-title{display:flex;gap:5px}.add-title input,.location input{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 10px;min-width:128px}.small-button{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:0 10px}.filter-line{display:flex;align-items:end;gap:13px;margin-top:12px}.levels{padding:0;border:0;margin:0;min-width:0}.levels legend{margin-bottom:6px}.level-group{display:flex;gap:4px}.level{background:var(--surface-2);border:1px solid var(--line);padding:7px 9px;border-radius:7px;font-size:11px}.level[aria-pressed=true]{background:var(--blue-soft);border-color:#a9cff8;color:var(--blue);font-weight:650}.location{display:grid;gap:6px;flex:1}.location input{width:100%}.refresh{height:36px;border:0;border-radius:8px;padding:0 14px;background:var(--blue);color:var(--blue-contrast);display:flex;align-items:center;gap:8px;white-space:nowrap;font-weight:600}.refresh:disabled{opacity:.65;cursor:wait}.hint{margin:9px 0 0;font-size:11px;color:var(--muted)}.results{margin-top:17px}.sort{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.sort select,.pagination select{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:7px 24px 7px 9px;color:var(--ink)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:var(--muted);font-size:11px;font-weight:550;background:var(--surface-2);height:32px;white-space:nowrap}td,th{padding:7px 8px;border-bottom:1px solid var(--line)}tbody tr{transition:background .12s}tbody tr:hover,tbody tr.selected{background:var(--blue-soft)}tbody tr:last-child td{border-bottom:0}.check-col{width:31px}input[type=checkbox]{accent-color:var(--blue);width:15px;height:15px}.linklike{border:0;background:none;padding:0;text-align:left;cursor:pointer}.job-title{font-weight:650;color:var(--ink);display:block;max-width:235px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company{color:var(--muted);display:block;font-size:11px;margin-top:3px}.score{display:inline-flex;min-width:35px;justify-content:center;padding:4px 6px;border-radius:5px;font-variant-numeric:tabular-nums;background:var(--green-soft);color:var(--green);font-weight:650}.score.mid{background:var(--amber-soft);color:var(--amber)}.source{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--muted)}.source-mark{width:20px;height:20px;display:inline-grid;place-items:center;border-radius:4px;background:#0a66c2;color:white;font-weight:750;font-size:12px;letter-spacing:-1px}.source-mark.indeed{background:#2164f3;font-family:Georgia,serif;font-size:15px}.source-mark.adzuna{background:#333;font-size:11px;letter-spacing:-.5px}.source-mark.reed{background:#d31934;font-size:11px}.source-mark.rezi{background:#7255d8;font-size:11px}.source-mark.generic{background:#566b83;font-size:11px}.mode-cell,.location-cell{color:var(--muted);white-space:nowrap}.row-actions{display:flex;gap:5px;white-space:nowrap}.row-actions button{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:5px 7px;color:var(--blue);font-size:11px}.empty{text-align:center;padding:36px;color:var(--muted)}.pagination{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:9px;font-size:11px;color:var(--muted)}.pages{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;margin-left:auto;min-width:0}.pages button{display:inline-flex;align-items:center;justify-content:center;min-width:29px;height:29px;padding:0 4px;border:1px solid var(--line);background:var(--surface);border-radius:7px}.pages button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pages button:disabled{cursor:not-allowed;opacity:.55}.page-ellipsis{min-width:14px;text-align:center;color:var(--muted)}.pages button[aria-current=page]{background:var(--blue);color:var(--blue-contrast);border-color:var(--blue)}.detail{border-left:1px solid var(--line);background:var(--surface);padding:22px 20px;position:sticky;top:0;height:100vh;overflow:auto}.close{float:right;border:0;background:none;color:var(--muted);font-size:24px;line-height:1}.detail-content{clear:both;padding-top:6px}.detail-empty{color:var(--muted);line-height:1.6;padding-top:24px}.detail h2{font-size:20px;line-height:1.25;margin:3px 25px 3px 0;letter-spacing:-.3px}.detail-company{font-size:14px;color:var(--muted)}.detail-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;padding-bottom:14px;border-bottom:1px solid var(--line)}.kpi{border-right:1px solid var(--line);padding-right:7px}.kpi:nth-child(2n){border-right:0}.kpi small{display:block;color:var(--muted);margin-bottom:6px}.kpi strong{font-size:14px}.detail-section{padding:13px 0;border-bottom:1px solid var(--line)}.detail-section h3{font-size:14px;margin:0 0 7px}.detail-section p,.detail-section li{font-size:13px;line-height:1.48;color:var(--muted)}.detail-section p{margin:0}.detail-section ul{padding-left:17px;margin:7px 0}.source-link{word-break:break-all;color:var(--blue)}.prepare{width:100%;margin-top:16px;min-height:48px;border:0;border-radius:8px;background:var(--blue);color:var(--blue-contrast);font-weight:650;font-size:14px}.prepare small{display:block;font-weight:400;opacity:.88;margin-top:3px}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,20px);opacity:0;background:#102b50;color:#fff;border-radius:9px;padding:10px 14px;z-index:10;transition:.18s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1250px){html{overflow-x:clip}body{grid-template-columns:190px minmax(530px,1fr)}.detail{position:fixed;z-index:6;right:0;top:0;width:min(380px,94vw);box-shadow:0 0 0 9999px #07152266;transform:translateX(105%);transition:transform .2s}.detail.open{transform:translateX(0)}.hero{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:850px){body{grid-template-columns:66px minmax(0,1fr)}.rail{padding:16px 8px}.brand{padding:0 7px 24px}.brand strong{font-size:0}.brand strong:after{content:"A";font-size:24px}.brand span,.nav:not(.active){font-size:0}.nav{justify-content:center;padding:0}.nav svg{min-width:20px}.rail-foot{padding:8px 3px}.rail-foot>span:last-child{display:none}main{padding:17px 14px}.hero{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-line{flex-wrap:wrap}.location{min-width:170px}}@media(max-width:560px){body{grid-template-columns:54px minmax(0,1fr)}.rail{padding-inline:5px}.brand strong:after{font-size:21px}.nav{height:43px}.page-head h1{font-size:25px}.hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.hero-card{min-height:76px}.title-line{display:block}.add-title{margin-top:8px}.add-title input{flex:1}.filter-line{align-items:stretch}.levels{width:100%}.level-group{flex-wrap:wrap}.location{flex:1}.refresh{align-self:end}.sort{flex-direction:column;align-items:flex-start}.results-head{align-items:center}table{min-width:680px}.pagination{flex-wrap:wrap}.pages{order:3;margin-left:0}.detail{width:94vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Compact, icon-led hover details for spotlight cards */
.hero-tip{left:50%;transform:translateX(-50%);width:min(340px,calc(100vw - 24px));padding:13px}
.hero-card:first-child .hero-tip{left:0;transform:none}
.hero-card:nth-child(5n) .hero-tip{left:auto;right:0;transform:none}
.hero-tip strong{font-size:12px;line-height:1.35;margin-bottom:9px}
.hero-tip .tip-company{display:inline;color:var(--muted);font-weight:500}
.tip-metrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 9px}
.hero-tip .tip-pill{display:flex;align-items:center;gap:6px;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);font-size:11px;line-height:1.2;font-variant-numeric:tabular-nums}
.hero-tip .tip-pill svg,.tip-context svg{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--muted)}
.hero-tip .tip-pill b{font-weight:700}
.hero-tip .tip-salary{color:var(--ink)}
.hero-tip .tip-salary b{font-size:14px;color:inherit}
.hero-tip .tip-salary.green{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 25%,var(--line));color:var(--green)}
.hero-tip .tip-salary.amber{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 25%,var(--line));color:var(--amber)}
.hero-tip .tip-salary.red{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 25%,var(--line));color:var(--red)}
.hero-tip .tip-salary.unknown{color:var(--muted)}
.hero-tip .tip-context{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:9px}
.hero-tip .tip-context>span{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:4px 6px;border-radius:6px;background:var(--surface-2);font-size:10px;line-height:1.25;overflow-wrap:anywhere}
.hero-tip .tip-context .source{padding:0;background:transparent;font-size:10px}
.hero-tip .tip-context .source-mark{width:17px;height:17px;font-size:10px}
.hero-tip .hero-actions{margin-top:2px}
@media(max-width:560px){.hero-tip{width:min(310px,calc(100vw - 70px))}.hero-card:nth-child(2n) .hero-tip{left:auto;right:0;transform:none}.hero-card:first-child .hero-tip{left:0;right:auto}}

/* Responsive detail drawer and market-intelligence signals */
.head-actions{display:flex;align-items:center;gap:8px}
.panel-toggle{min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:600}
.panel-toggle:hover{border-color:var(--blue);color:var(--blue)}
@media(min-width:1251px){body.details-hidden{grid-template-columns:210px minmax(0,1fr)}body.details-hidden .detail{display:none}body.details-hidden main{min-width:0}}
@media(max-width:1250px){.detail{box-shadow:none}.detail.open{box-shadow:0 0 0 9999px #07152270}}
.score.good{background:var(--green-soft);color:var(--green)}
.score.amber{background:var(--amber-soft);color:var(--amber)}
.kpi strong.good{color:var(--green)}.kpi strong.amber{color:var(--amber)}.kpi strong.bad{color:var(--red)}
.fit.good{padding:2px 4px;border-radius:6px;background:var(--green-soft);color:var(--green)}.fit.amber{padding:2px 4px;border-radius:6px;background:var(--amber-soft);color:var(--amber)}.fit.bad{padding:2px 4px;border-radius:6px;background:var(--red-soft);color:var(--red)}
.score.bad{background:var(--red-soft);color:var(--red)}
.fit.rag-good{color:var(--green)}
.fit.rag-amber{color:var(--amber)}
.fit.rag-bad{color:var(--red)}
.mode.rag-good,.mode-cell.rag-good{color:var(--green)}
.mode.rag-amber,.mode-cell.rag-amber{color:var(--amber)}
.mode.rag-bad,.mode-cell.rag-bad{color:var(--red)}
.mode.rag-unknown,.mode-cell.rag-unknown{color:var(--muted)}
.market-enrichment{display:flex!important;flex-wrap:wrap;gap:5px;margin-top:2px}
.rag-tag{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink);font-size:10px!important;line-height:1.25!important;white-space:normal}
.rag-icon{display:inline-grid;place-items:center;flex:none;width:15px;height:15px;border-radius:50%;font-size:10px;font-weight:800}
.rag-tag.good{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:var(--green-soft);color:var(--green)}
.rag-tag.amber{border-color:color-mix(in srgb,var(--amber) 35%,var(--line));background:var(--amber-soft);color:var(--amber)}
.rag-tag.bad{border-color:color-mix(in srgb,var(--red) 35%,var(--line));background:var(--red-soft);color:var(--red)}
.rag-tag.unknown{color:var(--muted)}
.rag-list{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}
.market-subline{margin-top:6px!important;font-size:11px!important}
.market-view-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.market-view-head h2{margin-top:4px}
.market-kicker{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.1em}
.market-updated{margin:12px 0;color:var(--muted);font-size:11px}
.market-refresh-notice{margin:7px 0 12px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--amber) 38%,var(--line));border-radius:8px;background:var(--amber-soft);color:var(--amber);font-size:11px;line-height:1.4;font-weight:650}
.market-note{padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:11px;line-height:1.5}
.market-error{padding:9px 11px;border:1px solid var(--red);border-radius:8px;background:var(--red-soft);color:var(--red)!important;font-size:12px}
.market-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:8px}
.market-table{min-width:620px;font-size:10px}
.market-table th,.market-table td{padding:7px 6px;white-space:nowrap;vertical-align:top}
.market-table th[scope=row]{white-space:normal;min-width:118px}
.market-table th[scope=row] a{color:var(--blue)}
.market-table small{display:block;margin-top:3px;color:var(--muted);font-size:9px;white-space:normal}
.rank-cell{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}
.rank-movement{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:39px;padding:2px 5px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:9px!important;line-height:1.2!important;font-variant-numeric:tabular-nums;white-space:nowrap;vertical-align:middle}
.rank-movement b{font-size:9px;font-weight:800}
.rank-arrow{font-size:12px;font-weight:900;line-height:1}
.rank-movement.good{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:var(--green-soft);color:var(--green)}
.rank-movement.amber{border-color:color-mix(in srgb,var(--amber) 35%,var(--line));background:var(--amber-soft);color:var(--amber)}
.rank-movement.bad{border-color:color-mix(in srgb,var(--red) 35%,var(--line));background:var(--red-soft);color:var(--red)}
.rank-movement.unknown,.rank-unavailable{color:var(--muted)}
.hero-rank-pill{position:absolute;right:8px;top:8px;z-index:1;min-width:42px;padding:2px 5px;font-size:9px!important}
.hero-rank-pill .rank-arrow{font-size:13px}
.hero-title{padding-right:43px}
.tip-rank-pill{min-height:25px}
.detail-rank-pill{max-width:100%;min-height:25px}
.table-rank-movement{margin-left:3px}
.rank-unavailable{font-size:10px}
.trend-label{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700}
.trend-label i{width:8px;height:8px;flex:none;border-radius:50%;background:currentColor}
.trend-label.good{color:var(--green)}
.trend-label.amber{color:var(--amber)}
.trend-label.bad{color:var(--red)}
.trend-label.unknown{color:var(--muted)}
.recommendations{display:grid;gap:7px;margin-top:9px}
.recommendation{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:7px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}
.recommendation-rank{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:800}
.recommendation-main{min-width:0}
.recommendation-main>strong,.recommendation-main>span,.recommendation-main>small{display:block;overflow-wrap:anywhere}
.recommendation-main>strong{font-size:11px}
.recommendation-main>span{margin-top:2px;color:var(--green);font-size:10px}
.recommendation-main>small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}
.recommendation-add{align-self:center;min-height:28px;padding:3px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--blue);font-size:10px;font-weight:650}
.recommendation-add:hover{background:var(--blue-soft)}
.market-source-lag{margin:7px 0 12px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--amber) 38%,var(--line));border-radius:8px;background:var(--amber-soft);color:var(--amber);font-size:11px;line-height:1.4;font-weight:650}
.recommendation-market-signals{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:5px;min-width:0}
.recommendation-market-signals .rag-tag{width:max-content;max-width:100%;margin:0}
.recommendation-market-signals .recommendation-rank-pill{min-height:22px}
.recommendation-support{display:block;overflow-wrap:anywhere}
.recommendation-context{color:var(--amber)!important}
.market-skill-signals{display:flex;flex-wrap:wrap;gap:6px}
.market-skill-chip{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 7px;max-width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:10px;line-height:1.3}
.market-skill-chip b{color:var(--ink);font-weight:750}
.market-skill-chip span{color:var(--muted)}
@media(max-width:560px){.panel-toggle{min-height:36px}.panel-toggle-label{font-size:11px}.market-table{min-width:600px}}
.detail-content{container-type:inline-size;container-name:detail-panel}
@container detail-panel (max-width:430px){
  .market-table-wrap{overflow:visible;border:0;border-radius:0}
  .market-table{display:block;width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;font-size:11px}
  .market-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .market-table tbody{display:block}
  .market-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 8px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface)}
  .market-table th[scope=row]{grid-column:1/-1;min-width:0;padding:9px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere}
  .market-table td{display:flex;flex-direction:column;min-width:0;padding:7px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere}
  .market-table td:nth-of-type(even){border-right:0}
  .market-table td:last-child{grid-column:1/-1;border-right:0;border-bottom:0}
  .market-table td::before{content:attr(data-label);margin-bottom:4px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
  .market-table td small{font-size:9px;line-height:1.35}
  .market-table .rank-cell{flex-wrap:wrap;gap:4px}
}

.tip-pill.good{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:var(--green-soft);color:var(--green)}
.tip-pill.amber{border-color:color-mix(in srgb,var(--amber) 35%,var(--line));background:var(--amber-soft);color:var(--amber)}
.tip-pill.bad{border-color:color-mix(in srgb,var(--red) 35%,var(--line));background:var(--red-soft);color:var(--red)}

/* Compact, aligned market signals in the spotlight hover card */
.hero-tip .market-enrichment{
  display:grid!important;
  flex:1 0 100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center;
  gap:5px;
  min-width:0;
  margin:1px 0 7px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.hero-tip .market-enrichment .tip-signal{
  display:grid;
  grid-template-columns:14px auto minmax(0,1fr);
  align-items:center;
  gap:4px;
  min-width:0;
  min-height:28px;
  padding:4px 6px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
  color:var(--ink);
  font-size:10.5px;
  line-height:1.2;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.hero-tip .tip-signal.good{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:var(--green-soft);color:var(--green)}
.hero-tip .tip-signal.amber{border-color:color-mix(in srgb,var(--amber) 35%,var(--line));background:var(--amber-soft);color:var(--amber)}
.hero-tip .tip-signal.bad{border-color:color-mix(in srgb,var(--red) 35%,var(--line));background:var(--red-soft);color:var(--red)}
.hero-tip .tip-signal.unknown{color:var(--muted)}
.hero-tip .tip-signal-icon{display:grid!important;place-items:center;width:14px;height:14px;color:inherit}
.hero-tip .tip-signal-icon svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hero-tip .tip-signal-label{display:inline!important;color:inherit;font-size:10px;font-weight:650}
.hero-tip .tip-signal-value{display:inline!important;min-width:0;overflow:hidden;color:inherit;font-size:10.5px;font-weight:750;text-overflow:ellipsis}
.hero-tip .tip-market-line{
  display:flex!important;
  grid-column:1/-1;
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:30px;
  padding:4px 7px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
  color:var(--ink);
  font-size:10.5px;
  line-height:1.2;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.hero-tip .tip-market-line.good{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:var(--green-soft);color:var(--green)}
.hero-tip .tip-market-line.amber{border-color:color-mix(in srgb,var(--amber) 35%,var(--line));background:var(--amber-soft);color:var(--amber)}
.hero-tip .tip-market-line.bad{border-color:color-mix(in srgb,var(--red) 35%,var(--line));background:var(--red-soft);color:var(--red)}
.hero-tip .tip-market-line>span{display:inline-flex!important;align-items:center;gap:3px;color:inherit;font-size:10.5px;line-height:1.2}
.hero-tip .tip-market-direction{font-weight:750}
.hero-tip .tip-market-direction i{font-size:14px;font-style:normal;font-weight:900;line-height:1}
.hero-tip .tip-market-count{font-weight:650}
.hero-tip .tip-market-confidence{padding-left:7px;border-left:1px solid currentColor;font-weight:600}
.hero-tip .tip-market-line .tip-rank-pill{
  flex:0 0 auto;
  gap:4px;
  min-width:0;
  margin-left:auto;
  padding:2px 4px;
  border-color:transparent;
  background:color-mix(in srgb,currentColor 10%,transparent);
  color:inherit;
  font-size:10.5px!important;
  line-height:1.2!important;
}
.hero-tip .tip-market-line .tip-rank-pill b{font-size:10.5px;font-weight:800}
.hero-tip .tip-market-line .rank-current{font-weight:650;opacity:.86}
.hero-tip .tip-market-line .tip-rank-pill .rank-arrow{font-size:13px}


/* Screenshot review: spacing, icon rhythm and wrap safety */
.hero-tip strong{margin:0 0 14px}
.hero-tip .tip-metrics{gap:8px;margin-bottom:11px}
.hero-tip .tip-pill svg,.hero-tip .tip-context svg{width:16px;height:16px;flex-basis:16px}
.hero-tip .tip-context{gap:8px;margin:3px 0 11px}
.hero-tip .tip-context>span{gap:6px;min-height:28px;padding:5px 8px;line-height:1.2}
.hero-tip .tip-context .source-mark{width:16px;height:16px;flex-basis:16px;color:#fff}
.hero-tip .tip-context .tip-added{gap:6px;font-variant-numeric:tabular-nums;white-space:nowrap}
.hero-tip .market-enrichment{gap:8px;margin:8px 0 11px}
.hero-tip .market-enrichment .tip-signal{grid-template-columns:16px max-content minmax(0,1fr);gap:6px;min-height:33px;padding:6px 8px}
.hero-tip .tip-signal-icon{width:16px;height:16px}
.hero-tip .tip-signal-icon svg{width:16px;height:16px}
.hero-tip .tip-signal-label{font-size:10.5px;white-space:nowrap}
.hero-tip .tip-market-line{flex-wrap:wrap;justify-content:space-between;column-gap:12px;row-gap:8px;min-height:36px;padding:6px 9px;white-space:normal}
.hero-tip .tip-market-line>span{gap:6px}
.hero-tip .tip-market-line .tip-market-summary{flex:1 1 155px;flex-wrap:wrap;min-width:0;gap:8px 11px}
.hero-tip .tip-market-direction,.hero-tip .tip-market-count{white-space:nowrap}
.hero-tip .tip-market-confidence{padding:2px 0 2px 8px;white-space:nowrap}

.hero-tip .tip-market-link{display:inline-flex!important;align-items:center;gap:6px;min-height:24px;max-width:100%;border-radius:4px;color:inherit;font-size:10.5px;line-height:1.2;text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:2px}
.hero-tip .tip-market-link:visited{color:inherit}
.hero-tip .tip-market-link:hover{text-decoration-style:solid}
.hero-tip .tip-market-link:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.hero-tip .tip-market-static{display:inline-flex!important;align-items:center;gap:6px;min-height:24px;max-width:100%;color:inherit;font-size:10.5px;line-height:1.2}

/* Keep compact controls legible and contain long titles in the responsive drawer. */
.panel-toggle{display:inline-flex;align-items:center;gap:8px}
.panel-toggle>span[aria-hidden="true"]{display:inline-grid;place-items:center;flex:0 0 auto;line-height:1}
.pagination>label{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.detail,.detail-content{min-width:0}
.detail h2,.detail-company{max-width:100%;overflow-wrap:anywhere;word-break:normal}
.hero-tip .tip-market-period{font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}
.hero-tip .tip-market-external{display:block;flex:none;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rag-tag[href]{text-decoration:none;cursor:pointer}
.rag-tag[href]:hover{text-decoration:underline;text-underline-offset:2px}
.rag-tag .tip-market-external{display:block;flex:none;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Keep every source brand glyph high-contrast in both themes. */
.source-mark{color:#fff!important;-webkit-text-fill-color:#fff}

/* Keep compact navigation names available to pointer, keyboard and touch users. */
.nav-label-toggle{display:none}
@media(max-width:850px){
  html{overflow-x:clip}
  main{grid-column:2}
  .detail{z-index:25}
  .rail,.rail nav{min-width:0}
  .rail{z-index:10}
  .nav-label-toggle{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:0 0 8px;padding:0 5px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);font-size:10px;font-weight:650;touch-action:manipulation}
  .nav-label-toggle svg{display:none;width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
  .nav,.nav.active{position:relative;width:100%;min-width:0;min-height:44px;height:44px;gap:0;padding-inline:0;justify-content:center;overflow:visible;white-space:nowrap;font-size:0!important}
  .nav svg{flex:0 0 19px}
  .nav-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .nav::after{content:attr(data-label);position:absolute;z-index:30;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);color:var(--ink);font:600 12px/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none}
  .nav:hover::after,.nav:focus-visible::after{opacity:1;visibility:visible}
  .rail.nav-labels-open{position:fixed;inset:0 auto 0 0;width:min(240px,86vw);height:100vh;height:100dvh;max-height:100dvh;padding:16px 12px;z-index:20;overflow-y:auto;box-shadow:var(--shadow)}
  .rail.nav-labels-open .brand{padding:0 10px 18px}
  .rail.nav-labels-open .brand strong{font-size:24px}
  .rail.nav-labels-open .brand strong::after{content:none}
  .rail.nav-labels-open .brand span{font-size:13px}
  .rail.nav-labels-open .nav-label-toggle{justify-content:flex-start;gap:8px;padding:0 10px;font-size:12px}
  .rail.nav-labels-open .nav-label-toggle svg{display:block}
  .rail.nav-labels-open .nav,.rail.nav-labels-open .nav.active{justify-content:flex-start;gap:12px;padding:0 12px;white-space:normal;font-size:14px!important}
  .rail.nav-labels-open .nav-label{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  .rail.nav-labels-open .nav::after{content:none}
  .rail.nav-labels-open .rail-foot>span:last-child{display:block}
}

.pack-journey-complete,.pack-inline-complete{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 9px;border:1px solid color-mix(in srgb,var(--green) 36%,var(--line));border-radius:9px;background:var(--green-soft);color:var(--ink);font-size:11px;line-height:1.4}
.pack-journey-complete.is-incomplete,.pack-inline-complete.is-incomplete,.pack-ready-summary.is-incomplete{border-color:color-mix(in srgb,var(--red) 42%,var(--line));background:var(--red-soft)}
.pack-journey-complete.is-incomplete .pack-journey-check,.pack-inline-complete.is-incomplete .pack-journey-check{background:var(--red);color:var(--surface)}
.pack-journey-complete.is-incomplete .pack-journey-copy strong,.pack-inline-complete.is-incomplete strong,.pack-ready-summary.is-incomplete strong{color:var(--red)}
.pack-journey-complete{flex-wrap:wrap}
.hero-actions .pack-journey-complete{flex-basis:100%;width:100%}
.intake-card .pack-journey-complete{margin-top:9px}
.pack-journey-check,.pack-heading-check{display:inline-grid;place-items:center;flex:0 0 19px;width:19px;height:19px;border-radius:50%;background:var(--green);color:var(--surface);vertical-align:middle}
.pack-journey-check svg,.pack-heading-check svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.pack-journey-copy{display:grid;flex:1 1 145px;min-width:0;gap:2px}
.pack-journey-copy strong{font-size:11px;color:var(--green)}
.pack-journey-copy span,.pack-inline-complete>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.pack-open-action,.pack-back-action{min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--blue);font-size:11px;font-weight:650;white-space:nowrap}
.pack-open-action:hover,.pack-back-action:hover{background:var(--blue-soft)}
.pack-recovery-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.pack-recovery-actions>span{color:var(--muted);font-size:11px;line-height:1.4}
.pack-journey-progress{display:block;max-width:100%;margin-top:6px;padding:6px 8px;border-radius:7px;background:var(--surface-2);color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.pack-inline-complete{margin-top:5px}
.pack-inline-complete>span:nth-child(2){flex:1 1 160px}
.pack-inline-complete strong{color:var(--green)}
.pack-review h2{display:flex;align-items:center;gap:8px;margin-right:30px}
.pack-heading-check{flex-basis:22px;width:22px;height:22px}
.pack-ready-summary{display:grid;gap:3px;margin:16px 0 8px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));border-radius:9px;background:var(--green-soft);font-size:12px;line-height:1.45}
.pack-ready-summary strong{color:var(--green)}
.pack-next-steps{margin:0 0 5px;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}
.pack-next-steps ol{display:grid;gap:7px;margin:8px 0;padding-left:20px;color:var(--ink)}
.pack-next-steps li{padding-left:2px;font-size:12px;line-height:1.45}
.pack-next-steps p{font-size:11px}
.pack-file-list{display:grid;gap:5px;margin:8px 0;padding:0;list-style:none}
.pack-file-list li{min-width:0}
.pack-file-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:37px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--blue);font-size:12px;text-decoration:none;overflow-wrap:anywhere}
.pack-file-list a:hover{text-decoration:underline;text-underline-offset:2px}
.pack-file-list a span{flex:none;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}
.pack-application-link{display:inline-flex;align-items:center;min-height:40px;margin-top:10px;padding:0 12px;border-radius:8px;background:var(--blue);color:var(--surface);font-weight:650;text-decoration:none}
.pack-next-hint{padding:9px 10px;border-radius:8px;background:var(--surface-2);font-size:12px;line-height:1.45;color:var(--muted)}
.pack-index-item h3{margin-bottom:5px}
.pack-index-item p{margin:0 0 8px}
.pack-resume-import>label{display:block;margin:8px 0 5px;color:var(--ink);font-size:12px;font-weight:600}
.pack-resume-import input[type=file]{display:block;width:100%;min-height:44px;padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-size:12px}
.pack-resume-import input[type=file]::file-selector-button{min-height:30px;margin-right:8px;padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--ink);font:inherit}
.pack-resume-status{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.pack-resume-status:empty{display:none}
@media(max-width:560px){
  .pack-journey-complete,.pack-inline-complete{align-items:flex-start;gap:7px;padding:8px}
  .pack-open-action{min-height:38px}
  .pack-file-list a{align-items:flex-start}
}

.pack-opening{display:grid;gap:9px;padding:8px 0}
.pack-opening>p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.pack-opening-skeleton{display:grid;gap:8px}
.pack-opening-skeleton span{display:block;height:13px;border-radius:6px;background:var(--surface-2);animation:pack-loading-pulse 1.15s ease-in-out infinite alternate}
.pack-opening-skeleton span:nth-child(2){width:82%}
.pack-opening-skeleton span:nth-child(3){width:62%}
@keyframes pack-loading-pulse{to{opacity:.55}}
@media(prefers-reduced-motion:reduce){.pack-opening-skeleton span{animation:none}}
.pack-open-error p{overflow-wrap:anywhere}
.manual-role-collection{margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}
.manual-role-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.manual-role-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:3px 2px;border:0;background:transparent;color:var(--ink);font-weight:650;text-align:left}
.manual-role-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease-out}
.manual-role-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}
.manual-role-count{display:inline-grid;place-items:center;min-width:23px;height:22px;padding:0 6px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:11px;font-variant-numeric:tabular-nums}
.manual-role-hint{min-width:0;color:var(--muted);font-size:11px;text-align:right}
.manual-role-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:7px;margin-top:5px}
.manual-role-panel[hidden]{display:none}
.manual-role-item{min-width:0}
.manual-role-pill{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;min-width:0;min-height:48px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);text-align:left}
.manual-role-pill:hover,.manual-role-pill.is-selected{border-color:var(--blue);background:var(--blue-soft)}
.manual-role-pill.is-selected{box-shadow:inset 0 0 0 1px var(--blue)}
.manual-role-copy{display:grid;gap:2px;min-width:0}
.manual-role-copy strong,.manual-role-copy>span{overflow-wrap:anywhere}
.manual-role-copy strong{font-size:11px;line-height:1.3}
.manual-role-copy>span{color:var(--muted);font-size:11px;line-height:1.3}
.manual-role-origin{flex:none;padding:3px 6px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:11px;font-weight:650}
.manual-empty{grid-column:1/-1;padding:7px 2px;color:var(--muted);font-size:11px;line-height:1.5}
.manual-empty button{min-height:44px;margin:0 2px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:#07599f;font-weight:650}
:root[data-theme=dark] .manual-role-count,:root[data-theme=dark] .manual-role-origin{color:#85c6ff}
:root[data-theme=dark] .manual-empty button{color:#85c6ff}
@media(max-width:560px){
  .manual-role-heading{align-items:flex-start;flex-wrap:wrap}
  .manual-role-hint{text-align:left}
  .manual-role-panel{grid-template-columns:1fr}
}
/* Preserve the full posted/expiry dates in the narrowest role hover cards. */
@media(max-width:380px){
  .hero-tip .market-enrichment{grid-template-columns:minmax(0,1fr)}
}
/* Keep the active navigation label above WCAG AA in the light palette. */
:root:not([data-theme=dark]) .nav.active{color:#07599f}

.application-status-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8px}
.application-status-field{display:grid;gap:4px;margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:600}
.application-status-field select,.application-status-field input,.application-status-field textarea{width:100%;min-width:0;min-height:44px;padding:8px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-weight:400}
.application-status-field textarea{min-height:64px;resize:vertical;line-height:1.4}
.application-status-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.application-status-save{min-height:44px;padding:0 13px;border:0;border-radius:7px;background:var(--blue);color:var(--surface);font-weight:650}
.application-status-save:disabled{opacity:.65;cursor:wait}
.application-status-feedback{min-width:0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.application-status-hint{margin:0 0 9px;color:var(--muted);font-size:12px;line-height:1.45}
.application-status-badge{display:inline-flex;align-items:center;max-width:100%;margin-left:6px;padding:2px 6px;border-radius:5px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:650;vertical-align:middle;white-space:nowrap}
.application-status-badge.interviewing,.application-status-badge.interview_1,.application-status-badge.interview_2,.application-status-badge.final,.application-status-badge.offer,.application-status-badge.accepted{background:var(--green-soft);color:var(--green)}
.application-status-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:5px;flex:none}
.application-status-badge.rejected{background:var(--red-soft);color:var(--red)}
.application-status-badge.withdrawn,.application-status-badge.not_pursuing{background:var(--surface-2);color:var(--muted)}
@media(max-width:380px){.application-status-grid{grid-template-columns:minmax(0,1fr)}}

/* A narrow details drawer is modal: block background pointers and preserve focus context. */
#detailBackdrop[hidden]{display:none}
@media(max-width:1250px){
  #detailBackdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:24;background:rgb(7 21 34 / 68%)}
  #detail{z-index:25}
  #detail.open{box-shadow:none}
}

/* Keep all spotlight signals visible when a compact card cannot fit one row. */
.hero-meta{justify-content:flex-start;flex-wrap:wrap;gap:4px}
.hero-meta .mode{flex:0 0 auto;overflow:visible;text-overflow:clip}

.score.unknown,.fit.unknown,.kpi strong.unknown{background:var(--surface-2);color:var(--muted)}
.fit.unknown{padding:2px 4px;border-radius:6px}
.intake-fit-unscored{background:var(--surface-2);color:var(--muted);border-color:var(--line)}

/* Reusable demand links also appear outside spotlight tooltips. */
.tip-market-external{display:block;flex:0 0 12px;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.market-view .tip-market-link,.market-view .tip-market-static{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;max-width:100%;min-height:28px;padding:3px 5px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:10px;line-height:1.3;text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:2px}
.market-view .tip-market-link:visited{color:var(--ink)}
.market-view .tip-market-link:hover{text-decoration-style:solid}
.market-view .tip-market-link:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.market-view .tip-market-direction{display:inline-flex;align-items:center;gap:3px}
.market-view .tip-market-direction i{font-style:normal}
.market-view .tip-market-count,.market-view .tip-market-period{white-space:nowrap}
.market-view .tip-market-period{color:var(--muted);font-variant-numeric:tabular-nums}

/* Keep recommendation copy legible and give it the drawer width. */
.recommendation-main>strong{font-size:12px}
.recommendation-main>span{font-size:11px}
.recommendation-main>small{font-size:11px;line-height:1.45}
.recommendation-add{font-size:11px;min-height:32px}
.market-view .tip-market-link,.market-view .tip-market-static{font-size:11px}
@container detail-panel (max-width:430px){
  .recommendation{grid-template-columns:24px minmax(0,1fr)}
  .recommendation-add{grid-column:2;justify-self:start;align-self:start}
}

/* Application progress: named stages, icons and contrast-safe colours in both themes. */
:root{--stage-purple:#6835a2;--stage-purple-soft:#f0e8fa;--stage-final:#98215f;--stage-final-soft:#fbe8f2}
:root[data-theme=dark]{--stage-purple:#ddbcff;--stage-purple-soft:#352344;--stage-final:#ffc1df;--stage-final-soft:#45263a}
.application-status-badge{gap:5px;border:1px solid color-mix(in srgb,currentColor 32%,transparent);white-space:normal;line-height:1.4}
.application-status-badge::before{display:none}
.application-stage-icon{width:12px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.application-status-badge.applied{color:var(--blue);background:var(--blue-soft)}
.application-status-badge.screening{color:var(--amber);background:var(--amber-soft)}
.application-status-badge.interviewing,.application-status-badge.interview_1,.application-status-badge.interview_2{color:var(--stage-purple);background:var(--stage-purple-soft)}
.application-status-badge.final{color:var(--stage-final);background:var(--stage-final-soft)}
.application-status-badge.offer,.application-status-badge.accepted{color:var(--green);background:var(--green-soft)}
.application-status-badge.rejected{color:var(--red);background:var(--red-soft)}
.hero-application-stage{display:block;min-width:0;margin:4px 0}.hero-application-stage:empty{display:none}.hero-application-stage .application-status-badge{margin:0;font-size:9px;padding:1px 5px}

/* Shared corpus search and application pipeline. */
.corpus-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0}
.corpus-search{flex:1 1 250px;min-width:0}.corpus-search>label{display:block;font-weight:650;margin-bottom:6px}
.corpus-search-input{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:0 10px;min-height:44px}
.corpus-search-input:focus-within{outline:2px solid var(--blue);outline-offset:2px}
.corpus-search-input>svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--muted);stroke-width:1.7}
.corpus-search-input input{min-width:0;width:100%;border:0;background:transparent;color:var(--ink);padding:10px 0;outline:none}
.corpus-search-input input::placeholder{color:var(--muted)}
.corpus-search-input button{border:0;background:transparent;color:var(--muted);font-size:22px;min-width:32px;min-height:40px}
.corpus-views{display:flex;gap:4px;border:1px solid var(--line);border-radius:10px;padding:3px;background:var(--surface)}
.corpus-views button{min-height:36px;padding:6px 16px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-weight:650}
.corpus-views button[aria-pressed=true]{background:var(--blue-soft);color:var(--blue)}
.corpus-toolbar>.hint{flex-basis:100%;margin:0}
body.pipeline-view main>.spotlight,body.pipeline-view main>.controls,body.pipeline-view main>.results{display:none}
#pipelinePanel{container-type:inline-size;container-name:pipeline}
#pipelinePanel[hidden]{display:none}
.pipeline-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px;align-items:start}
.pipeline-column{min-width:0;background:var(--surface-2);border-radius:10px;padding:12px 10px;border-top:3px solid var(--blue)}
.pipeline-column.stage-interview{border-top-color:var(--amber)}
.pipeline-column.stage-offer,.pipeline-column.stage-accepted{border-top-color:var(--green)}
.pipeline-column.stage-rejected{border-top-color:var(--red)}
.pipeline-column h3{font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 14px}
.pipeline-count{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}
.pipeline-cards{display:grid;gap:10px}
.pipeline-card{width:100%;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);text-align:left;line-height:1.45;overflow-wrap:anywhere}
.pipeline-card:hover{border-color:var(--blue)}
.pipeline-card.is-selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--blue-soft)}
.pipeline-card strong{font-size:14px;font-weight:700}
.pipeline-company{font-size:13px;color:var(--muted)}
.pipeline-location,.pipeline-meta{font-size:12px;color:var(--muted)}
.pipeline-card .application-status-badge{white-space:normal;max-width:100%;text-align:left}
.pipeline-empty{margin:0;padding:8px 0 16px;color:var(--muted);font-size:13px;line-height:1.5}
@container pipeline (max-width:1000px){.pipeline-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container pipeline (max-width:600px){.pipeline-board{grid-template-columns:minmax(0,1fr)}}

.corpus-search-input input::-webkit-search-cancel-button{display:none}

/* A closed mobile drawer must not enlarge the document's horizontal scroll area. */
@media(max-width:1250px){#detail[aria-hidden="true"]{display:none}}

/* Contain positioned accessibility labels inside the horizontally scrollable table. */
.table-wrap{position:relative;max-width:100%}
