/* Arrange the task canvas and account workspace around shared Bloom controls. */
.detail-back{display:none}
#guided-exit{display:none}
@media(max-width:767px){
  .topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 18px 8px;align-items:center}
  .topbar .top-actions{display:contents}
  .topbar>.brand{grid-column:1;grid-row:1}
  .topbar #profile-wrap,.topbar #account-button{grid-column:4;grid-row:1;justify-self:end}
  #mobile-workspace-nav{display:none}
  .topbar #search-open{grid-column:3;grid-row:1;min-height:44px;padding:8px 12px;font-size:13px}
  .workspace{padding:0}
  .results{--result-inset:20px}
  .results-heading{padding:14px 20px 10px;gap:12px}
  .results-heading h1{font-size:25px;line-height:1.2}
  .results-heading p{font-size:13px;line-height:1.45;margin-top:4px}
  .result-actions{gap:8px;flex-wrap:wrap;margin-top:0}.results-heading{display:flex;align-items:flex-start}.result-actions .button{min-height:44px;padding:8px 10px;font-size:12px}.results-heading p{max-width:240px}
  .result-tabs{padding:8px 20px;min-height:48px}
  .job-row{padding:16px 20px;min-height:88px}
  .job-row strong{line-height:1.35;margin-block:0}
  .job-row-meta{line-height:1.6}
  .company-card{padding:24px 22px}
  .company-card h3{gap:12px;line-height:1.45}
  .company-card p{line-height:1.6}
  .workspace-panel,.job-detail{padding:24px 20px}
  .workspace-search-form{padding:24px 22px;gap:26px}
  .search-fields-grid{gap:22px}
  .setup-companies{margin-top:28px}
  .pagination{padding:22px;gap:12px;flex-wrap:wrap}
}
/* The shell stays fixed; setup and each active results pane own their scrolling. */
html,body{height:100%;overflow:hidden;overscroll-behavior:none}
body{height:100dvh;display:flex;flex-direction:column}
.topbar{flex:none;position:relative}
.workspace{flex:1;min-height:0;max-height:none;overflow:hidden;width:calc(100% - 240px);max-width:none;margin-block:0;display:flex;flex-direction:column}
body.sidebar-collapsed .workspace{width:calc(100% - 64px)}
.results{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;overflow:hidden;background:#fff;border:0;border-radius:0;box-shadow:none}
.results-heading{flex:none;margin:0;padding:18px 28px 12px;border-bottom:1px solid var(--line)}.results-heading>div:first-child{flex:1;min-width:0}.result-actions{flex:none;white-space:nowrap}
#result-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.result-tabs{display:flex;align-items:center;gap:12px;flex:none;margin:0;padding:8px 28px;min-height:48px}
.jobs-workspace{flex:1;min-height:0;overflow:hidden;margin:0;grid-template-columns:minmax(290px,36%) minmax(0,1fr)}
.job-list,.job-detail{min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.job-list{height:100%}.job-detail{height:100%;padding:30px 32px}
.job-row{padding:22px 28px}.job-detail .detail-empty{display:grid;place-content:center;min-height:100%}
.company-list,.source-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 28px}
.workspace-panel{flex:1;min-height:0;overflow-y:auto;margin-top:0;background:#fff;border:0;border-radius:0}
.pagination{flex:none;margin:0;padding:12px 24px;border-top:1px solid var(--line)}
#empty{flex:1;min-height:0;max-width:none;overflow:hidden;margin:0;background:#fff}
#stats{flex:none;padding:16px 28px}.progress-panel{flex:none;margin:12px 0 0}
.progress-panel{padding:8px 28px 2px;border:0;border-radius:0;background:transparent}.progress-track{height:3px;margin:8px 0}.progress-footer{gap:12px}.progress-footer p{line-height:1.4}
@media(max-width:767px){
  .topbar{height:auto;min-height:0}
  .workspace,body.sidebar-collapsed .workspace{width:100%;margin-left:0;padding:0 0 calc(68px + env(safe-area-inset-bottom))}
  .results-heading{padding:14px 20px 10px;border-radius:0}
  #result-body,.workspace-panel,#empty{border-radius:0}
  .jobs-workspace{display:block;margin:0;min-height:0}
  .job-list,.job-detail{height:100%;padding-inline:0}
  .job-row{padding:16px 20px}
  .job-detail{padding:24px 20px}
  .company-list,.source-list{padding:0 22px}
  .company-card{padding:24px 0}
  .result-tabs{padding:8px 20px}
  .pagination{padding:14px 18px}
  .detail-open .results-heading p,.detail-open .result-actions{display:none}
  .detail-open .results-heading{padding-block:16px}
  .detail-open .results-heading h1{font-size:26px}
  .progress-panel{padding:8px 22px 2px}.progress-panel>div:first-child{align-items:baseline}.progress-footer{align-items:flex-start}.progress-footer button{min-height:32px;white-space:nowrap}
}
.company-mark{color-scheme:light}
#result-body[data-view="sources"]{overflow-y:auto;overscroll-behavior:contain}
#result-body[data-view="sources"] .source-list{flex:none;overflow:visible}
.preferences-form{max-width:640px;margin:0 auto;display:grid;gap:20px}
.preferences-form h2,.preferences-form p{margin:0}.preferences-form p,.preferences-form label>span{color:var(--muted);font-size:14px}
.preferences-form>button{justify-self:start;min-height:44px;margin-top:8px}
.company-logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:44px;flex:0 0 56px;vertical-align:middle;color:var(--muted)}
.company-logo .company-mark{width:32px;height:32px;max-width:100%;max-height:100%;object-fit:contain;object-position:center;filter:none}
.company-logo .company-mark-wide{width:52px;max-width:52px;height:auto;max-height:40px}
.company-logo svg{width:24px;height:24px;stroke:currentColor;opacity:.55}
.company-preview .company-logo{width:32px;height:32px;flex-basis:32px}.company-preview .company-mark{width:22px;height:22px}.company-preview .company-mark-wide{width:30px}
.explore-controls{display:flex;gap:16px;align-items:center;margin-bottom:24px}.explore-controls>label:first-child{flex:1}#explore-query{height:var(--field-height);margin:0;padding:0 16px;border:1px solid var(--field-border);border-radius:var(--field-radius);background:#fff}
.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.explore-company{display:flex;align-items:center;border:1px solid var(--line);border-radius:16px;min-width:0;padding:12px}
.explore-company-main{display:flex;align-items:center;gap:14px;flex:1;min-width:0;background:none;border:0;text-align:left;padding:8px;font:inherit}
.explore-company-main strong,.explore-company-main small{display:block;overflow-wrap:anywhere;font-weight:400}.explore-company-main small{color:var(--muted);font-size:12px;margin-top:4px}
.favorite-company{display:grid;place-items:center;flex:none;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--ink)}.favorite-company svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}.favorite-company[aria-pressed=true] svg{fill:currentColor}
.application-record{display:flex;align-items:center;gap:16px;width:100%;padding:24px 0;border:0;border-bottom:1px solid var(--line);background:none;font:inherit;text-align:left}.application-record>span:not(.company-logo):not(.application-record-status){flex:1}.application-record small,.application-record strong{display:block;font-weight:400}.application-record small{color:var(--muted);font-size:13px}.application-record strong{margin:6px 0}.application-record-status{font-size:14px;color:var(--muted)}
@media(max-width:1024px){.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.explore-grid{grid-template-columns:1fr}.explore-controls{flex-direction:column;align-items:stretch}.application-record{flex-wrap:wrap}.application-record-status{margin-left:72px;width:100%}}
.workspace-search-form{max-width:680px;min-height:0;grid-template-rows:minmax(0,1fr) auto auto;padding:32px 28px 0;gap:20px}
.guided-question{align-content:start}
.industry-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.industry-card{display:flex;flex-direction:column;justify-content:space-between;gap:26px;min-height:148px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);font:inherit;font-size:18px;text-align:left}
.industry-card[aria-checked=true]{background:#f2f2f2;border-color:#6f6f6f}.industry-card:focus-visible{outline:2px solid #444;outline-offset:3px}
.industry-logos{display:flex;gap:12px;align-items:center}
@media(max-width:767px){.workspace-search-form{padding:24px 22px 0;gap:16px}.industry-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.industry-card{min-height:142px;padding:18px 14px;font-size:16px}.industry-logos{gap:4px}}
.role-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.role-choice{padding:24px 20px;min-height:74px;border:1px solid var(--line);border-radius:16px;background:white;text-align:left;font:inherit;color:var(--ink)}.role-choice[aria-pressed=true]{background:#f2f2f2;border-color:#6f6f6f}
@media(max-width:767px){.role-choices{gap:12px}.role-choice{padding:18px 14px;min-height:80px;font-size:14px}}
.result-tabs>label{margin-right:auto;min-width:0}.result-tabs #count{flex:none;white-space:nowrap}
@media(max-width:767px){.result-tabs{gap:8px}.result-tabs>label{flex:1}#job-feed{width:100%;max-width:180px;padding-left:10px;padding-right:28px;background-position:right 10px center;font-size:14px!important}#coverage-details{max-width:112px}}
#explore-context{margin-bottom:24px}#explore-context h2{margin:18px 0}#explore-context .button{margin-bottom:6px}
/* One company identity slot works for icons, wordmarks, and missing artwork. */
.industry-logos .company-logo{width:32px;flex-basis:32px}.industry-logos .company-mark-wide{width:30px}
.job-row-layout{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:14px;align-items:center;min-width:0}
.job-row-copy{display:grid;min-width:0;gap:5px;text-align:left}
.job-row .company-logo{grid-column:1;grid-row:1;justify-content:center}
.job-row strong{grid-row:1;margin:0;font-size:16px;line-height:1.35;font-weight:400}
.job-row .company-name{grid-row:2;min-width:0;margin:0;color:var(--ink);font-size:14px;line-height:1.35;overflow-wrap:break-word}
.job-row-meta{grid-row:3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;color:var(--muted);font-size:13px;line-height:1.4;overflow-wrap:break-word}
.guided-card>span:not(.company-logo):not(.guided-check){min-width:0;flex:1}

/* Shared content insets keep exploration aligned with the dashboard heading. */
#explore-workspace,#applications-workspace,#preferences-workspace,#similar-workspace{padding:28px 36px}
@media(max-width:767px){#explore-workspace,#applications-workspace,#preferences-workspace,#similar-workspace{padding:26px 22px}}

#saved-workspace{padding:28px 36px}
.account-empty{max-width:460px;margin:clamp(56px,10vh,110px) auto;padding:0 16px;text-align:center}
.account-empty h2{margin:0;font-size:24px;font-weight:400;line-height:1.25}
.account-empty p{margin:12px 0 24px;color:var(--muted);font-size:14px;line-height:1.55}
.account-empty .button{width:auto;min-height:44px}
#saved-workspace #notifications-card{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
@media(max-width:767px){#saved-workspace{padding:26px 22px}}

/* Setup keeps one content scroller and a fixed action row. */
.workspace-search-form .guided-question{overflow:visible}
.workspace-search-form .setup-actions button{white-space:nowrap}
@media(max-width:767px){
  body:has(#empty:not([hidden])) .topbar #search-open,body:has(#empty:not([hidden])) #mobile-workspace-nav,body:has(#empty:not([hidden])) .topbar #profile-wrap,body:has(#empty:not([hidden])) .topbar #account-button{display:none}
  body:has(#empty:not([hidden])) #guided-exit{display:inline-flex;align-items:center;justify-content:center;grid-row:1;grid-column:2;min-height:44px;justify-self:end;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit}
  body:has(#empty:not([hidden])) .topbar{padding-block:14px}
}

/* One field style for workspace forms: same height, border, radius, and focus ring on every input. */
:root{--field-height:48px;--field-radius:12px;--field-border:#e5e5e5;--field-border-hover:#d4d4d4;--field-border-focus:#6f6f6f;--field-placeholder:#a3a3a3;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23171715' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
:is(#workspace-search-form,#preferences-form) :is(input:not([type=checkbox],[type=radio],[type=range],[type=file]),textarea){display:block;width:100%;min-width:0;min-height:var(--field-height);margin:0;padding:0 16px;border:1px solid var(--field-border);border-radius:var(--field-radius);background-color:#fff!important;color:var(--ink);font:inherit;font-size:15px;line-height:1.4;box-shadow:none;outline:0;transition:border-color .15s,box-shadow .15s}
:is(#workspace-search-form,#preferences-form) textarea:not([type]){min-height:120px;padding:12px 16px;resize:vertical}
:is(#job-feed,#explore-filter,#application-filter,#preferences-form select,#workspace-search-form select,#mobile-workspace-nav,#schedule-hour,#schedule-application-policy,.schedule-settings select,.discovery-fields select){appearance:none;-webkit-appearance:none;width:auto;height:var(--field-height);min-height:var(--field-height);margin:0;padding:0 44px 0 16px;border:1px solid var(--field-border);border-radius:var(--field-radius);background:#fff var(--select-chevron) no-repeat right 16px center;color:var(--ink);font:inherit;font-size:15px;font-weight:400;line-height:1.4;cursor:pointer}
@media (hover:hover) and (pointer:fine){:is(#job-feed,#explore-filter,#application-filter,#preferences-form select,#workspace-search-form select,#mobile-workspace-nav,#schedule-hour,#schedule-application-policy,.schedule-settings select,.discovery-fields select):hover{border-color:var(--field-border-hover)}}
:is(#job-feed,#explore-filter,#application-filter,#preferences-form select,#workspace-search-form select,#mobile-workspace-nav,#schedule-hour,#schedule-application-policy,.schedule-settings select,.discovery-fields select):focus{outline:0;border-color:var(--field-border-focus);box-shadow:0 0 0 3px var(--focus)}
:is(#preferences-form,#workspace-search-form) select{width:100%}
#mobile-workspace-nav:is(select){max-width:180px;border-radius:999px;background-color:transparent}
@media (hover:hover) and (pointer:fine){:is(#workspace-search-form,#preferences-form) :is(input,select,textarea):hover{border-color:var(--field-border-hover)}}
:is(#workspace-search-form,#preferences-form) :is(input,select,textarea):focus-visible,:is(#workspace-search-form,#preferences-form) :is(input,select,textarea):focus{border-color:var(--field-border-focus);box-shadow:0 0 0 3px var(--focus);outline:0}
:is(#workspace-search-form,#preferences-form) :is(input,textarea)::placeholder{color:var(--field-placeholder);opacity:1}
:is(#workspace-search-form,#preferences-form) :is(input,select,textarea)[aria-invalid=true]{border-color:#dc2626}
#workspace-search-form .guided-question label,#preferences-form label{gap:8px}
#preferences-form label{display:block;color:var(--ink);font-size:14px;font-weight:400}
#preferences-form label :is(input,select)[id]{margin-top:8px}
#workspace-search-form .guided-question small{margin-top:-2px}
/* Workplace options show as toggle cards, not a dropdown. */
#workspace-search-form .guided-question .workplace-picker>summary{display:none}
#workspace-search-form .guided-question .setup-workplaces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;border:0;background:none}
#workspace-search-form .guided-question .setup-workplaces label{display:flex;align-items:center;gap:12px;min-height:64px;margin:0;padding:0 18px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer}
#workspace-search-form .guided-question .setup-workplaces label:has(input:checked){background:#f2f2f2;border-color:#6f6f6f}
#workspace-search-form .guided-question .setup-workplaces label:has(input:focus-visible){outline:2px solid #444;outline-offset:2px}
/* The résumé picker is one drop area with a styled file button. */
#workspace-search-form .guided-upload{display:grid;gap:14px;padding:28px;border:1px dashed #c8c8c8;border-radius:16px;background:#fafafa;cursor:pointer}
:is(#workspace-search-form,#preferences-form) input[type=file]{width:100%;min-height:44px;padding:0;border:0;background:none;color:var(--muted);font-size:14px}
:is(#workspace-search-form,#preferences-form) input[type=file]::file-selector-button{margin-right:14px;padding:10px 18px;border:1px solid var(--field-border);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
:is(#workspace-search-form,#preferences-form) input[type=file]:hover::file-selector-button{border-color:var(--field-border-hover);background:#f4f4f4}
/* Single-field steps start under the question instead of floating mid-card. */
.workspace-search-form[data-step] .guided-question{align-content:start;padding-block:4px}
@media(max-width:767px){
  :is(#workspace-search-form,#preferences-form) :is(input,select,textarea){font-size:16px}
  #workspace-search-form .guided-question .setup-workplaces{grid-template-columns:1fr}
  #workspace-search-form .guided-upload{padding:22px 18px}
}

/* Company cards stack the logo over the name when narrow, so names wrap only between words. */
.guided-cards{container:guided-cards/inline-size}
.guided-card>span:not(.company-logo):not(.guided-check){overflow-wrap:break-word;text-wrap:balance;line-height:1.35}
@container guided-cards (max-width:640px){
  .guided-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;align-items:start;gap:12px;min-height:112px;padding:16px}
  .guided-card>.company-logo{justify-content:flex-start}
  .guided-card>.guided-check{display:block;grid-column:2;grid-row:1}
  .guided-card>span:not(.company-logo):not(.guided-check){grid-column:1/-1;align-self:end;font-size:14px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
}

/* Narrow layouts and coarse pointers keep active form controls legible and touchable. */
@media(max-width:767px),(pointer:coarse){
  .dialog input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.dialog select,.schedule-settings input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.schedule-settings select,:is(#job-feed,#explore-filter,#application-filter,#mobile-workspace-nav):is(select){font-size:16px}
  :is(#schedule-hour,#schedule-application-policy,.schedule-settings select):is(select){font-size:16px}
  .dialog input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.dialog select,.schedule-settings input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.schedule-settings select{min-height:44px}
  .schedule-settings summary,.schedule-companies summary,.schedule-settings>button,.schedule-companies>button,.rail-actions button,.rail-actions a{display:flex;align-items:center;min-height:44px}
}

@media(max-width:767px){
  .results{border-radius:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
  .results-heading{padding:14px 20px 10px}
  #result-body{display:block;flex:none;overflow:visible;min-height:0}
  #result-body[data-view="sources"]{overflow:visible}
  .jobs-workspace{height:auto;overflow:visible}
  .job-list,.job-detail,.company-list,.source-list{height:auto;overflow:visible;scrollbar-gutter:auto}
  .detail-open .results-heading{position:sticky;top:0;z-index:2;background:#fff}
  .detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .detail-actions .button{width:100%;min-width:0;min-height:44px;height:auto;padding:10px 12px;white-space:normal;line-height:1.3;text-align:center}
}
/* Compact source disclosure and mobile navigation belong to the workspace shell. */
#coverage-details{margin-left:auto;min-width:0;color:var(--muted);font-size:12px}
#coverage-details>summary{display:flex;align-items:center;gap:7px;min-height:32px;cursor:pointer;list-style:none;white-space:nowrap}
#coverage-details>summary::-webkit-details-marker{display:none}
#coverage-details>summary::after{content:'⌄';font-size:15px;color:var(--ink)}
#coverage-details[open]>summary::after{transform:rotate(180deg)}
#coverage-details>summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
#coverage-details .coverage-note,#coverage-details #snapshot{max-width:400px;white-space:normal;line-height:1.5}
.application-status{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.45}
.application-status:empty{display:none}
.detail-actions{align-items:center;gap:14px;margin:24px 0 8px}
.detail-secondary{border:0;background:none;color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.detail-bookmark{display:grid;place-items:center;width:44px;height:44px;margin-left:auto;border:0;background:none;color:var(--ink)}
.detail-bookmark svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.detail-bookmark[aria-pressed=true] svg{fill:currentColor}
@media(max-width:767px){
  .mobile-tabs{position:fixed;inset:auto 0 0;z-index:21;display:grid;grid-template-columns:repeat(4,1fr);min-height:calc(62px + env(safe-area-inset-bottom));padding:4px 10px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fff}
  .mobile-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;border:0;background:none;color:var(--muted);font:400 11px/1.2 var(--font-body,Inter,sans-serif);touch-action:manipulation}
  .mobile-tabs button[aria-current=page]{color:var(--ink)}
  .mobile-tabs svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mobile-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
  .detail-actions{display:flex;flex-wrap:wrap;gap:8px}
  .detail-actions .button-primary{flex:1 0 100%}
  .detail-bookmark{margin-left:0}
  #coverage-details{font-size:11px}
  #coverage-details>summary{white-space:normal}
}
@media(min-width:768px){.mobile-tabs{display:none}body:not(:has(#empty:not([hidden]))) .topbar{height:0;min-height:0;border:0}body:not(:has(#empty:not([hidden]))) .topbar .top-actions{position:absolute;right:28px;top:18px}.results-heading .result-actions{margin-right:60px}}
