/* Application additions on top of site.css (the approved prototype's styles). */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;font-weight:650}
.skip-link:focus{top:12px}
.field>label{display:block;font-size:0.8125rem;font-weight:600;margin-bottom:8px}
.field>label .optional{font-style:normal;font-weight:400;color:var(--muted)}
.field>small{margin:-2px 0 8px}
.field>small.field-error{color:#a3341f;font-weight:600}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#c24d33;border-width:2px}
.field input[type=file]{min-height:0;padding:10px}
.check-row{display:flex;gap:10px;align-items:flex-start;font-size:0.8125rem;margin:0 0 16px;line-height:1.5}
.check-row input{accent-color:var(--green);width:18px;height:18px;margin:1px 0 0;flex-shrink:0}
.check-row small{display:block;color:var(--muted);font-size:0.75rem;margin-top:2px}
fieldset{border:0;padding:0;margin:0 0 6px;min-width:0}
legend{font-size:0.8125rem;font-weight:600;margin-bottom:10px;padding:0}
.alert{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:10px;font-size:0.8125rem;line-height:1.55;margin-bottom:20px;border:1px solid transparent}
.alert svg{margin-top:1px}
.alert p{margin:0;min-width:0;overflow-wrap:anywhere}.alert p a:not([class]){font-weight:650;text-decoration:underline}
.alert.success{background:#e9f3dc;border-color:#cfe2b5;color:#2f4a1f}
.alert.error{background:#fbe9e3;border-color:#f0c6b8;color:#7a2a17}
.alert.info{background:#eaf0fa;border-color:#d3def0;color:#33476b}
.alert.warn{background:#fff0df;border-color:#f3d6b0;color:#6d4614}
.alert .btn{margin-left:auto;flex-shrink:0}
.error-summary{border:2px solid #c24d33;border-radius:10px;padding:16px 18px;margin-bottom:22px;background:#fff8f5}
.error-summary h2{font-size:1rem;letter-spacing:0;margin:0 0 8px;color:#7a2a17}
.error-summary ul{margin:0;padding-left:18px;font-size:0.8125rem;line-height:1.6}
.announcement{background:var(--lime);color:var(--ink);font-size:0.8125rem;text-align:center;padding:9px 16px;font-weight:600}
.dev-pill{background:#fff0df;color:#6d4614;border:1px solid #f3d6b0;border-radius:6px;font-size:0.6875rem;font-weight:700;padding:3px 7px;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}
.company-icon.pj{background:#e7eedb;color:#4e6141}
.company-icon.small{width:34px;height:34px;font-size:1rem;border-radius:9px}
.avatar.av0{background:#eed6bb;color:#6b4c2f}.avatar.av1{background:#dde5cc;color:#425431}.avatar.av2{background:#e6def0;color:#5a4775}
.avatar.av3{background:#dce9e4;color:#335a4c}.avatar.av4{background:#f0dfc5;color:#6b5022}.avatar.av5{background:#e1e7f3;color:#3f5175}
.btn.danger{background:#a3341f;color:#fff}.btn.danger:hover{background:#86290f}
.btn.light.danger-text{color:#a3341f}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.inline{display:inline}
.prose{white-space:pre-line;overflow-wrap:anywhere}
.kv{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:10px 18px;font-size:0.8125rem;margin:0}
.kv dt{color:var(--muted)}
.kv dd{margin:0;overflow-wrap:anywhere}
.card-pad{padding:24px}
.card-pad>h2:first-child,.card-pad>h3:first-child{margin-top:0}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.section-title h2,.section-title h3{margin:0;font-size:1.0625rem;letter-spacing:-.3px}
.stack-sm{display:flex;flex-direction:column;gap:12px}
.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.pager{display:flex;justify-content:center;align-items:center;gap:8px;margin:28px 0 8px;font-size:0.8125rem;flex-wrap:wrap}
.pager a,.pager span{min-width:40px;min-height:40px;display:inline-grid;place-items:center;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff}
.pager .current{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:650}
.auth-wrap{display:grid;place-items:start center;padding:48px 16px 80px}
.auth-card{width:min(540px,100%);padding:34px}
.auth-card h1{font-size:2rem;letter-spacing:-1px;margin-bottom:8px}
.auth-card>p{color:var(--muted);font-size:0.875rem}
.auth-switch{display:flex;background:#eef1e9;padding:4px;border-radius:10px;margin:0 0 22px}
.auth-switch a{flex:1;text-align:center;padding:10px;border-radius:8px;font-size:0.8125rem;font-weight:650;color:var(--muted)}
.auth-switch a.active{background:#fff;color:var(--ink);box-shadow:0 1px 5px #23431a14}
.filter-tabs a{border-radius:6px;font-size:0.75rem;color:var(--muted);padding:8px 13px;white-space:nowrap}
.filter-tabs a.active{background:#fff;box-shadow:0 1px 5px #23431a0e;color:var(--ink);font-weight:650}
.notif{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.notif:last-child{border-bottom:0}
.notif .dot{margin-top:7px;background:transparent;flex-shrink:0}
.notif.unread .dot{background:#5d7c3e}
.notif strong{font-size:0.8125rem;display:block;margin-bottom:4px}
.notif p{margin:0;font-size:0.75rem;color:var(--muted);white-space:pre-line}
.notif small{font-size:0.6875rem;color:var(--muted)}
.notif>div{min-width:0;flex:1}
dialog.confirm{border:0;border-radius:18px;padding:28px;width:min(440px,calc(100% - 32px));box-shadow:0 30px 120px #061c2940;color:var(--ink)}
dialog.confirm::backdrop{background:#0c241e88;backdrop-filter:blur(4px)}
dialog.confirm h2{font-size:1.25rem;margin:0 0 10px;letter-spacing:-.4px}
dialog.confirm p{color:var(--muted);font-size:0.875rem}
.job-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.closed-banner{display:flex;gap:10px;align-items:center;background:#f3efe4;border:1px solid #e4dcc6;border-radius:10px;padding:14px 16px;font-size:0.8125rem;margin-bottom:22px}
.question-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:12px}
.question-row .field{margin:0}
.question-row .check-row{margin:0 0 12px}
.person-card h4 a:hover{text-decoration:underline}
.person-card .pill{white-space:normal}
.file-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fbfcf8;font-size:0.8125rem;flex-wrap:wrap}
.file-row svg{color:#78915c}
.file-row .btn-row{margin-left:auto}
.entry{padding:16px 0;border-bottom:1px solid var(--line)}
.entry:last-child{border-bottom:0}
.entry header{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:0.75rem;color:var(--muted);margin-bottom:6px}
.entry header strong{color:var(--ink)}
.entry p{margin:0;font-size:0.8125rem}
.entry.internal{background:#fff8e8;border:1px dashed #e4cf9a;border-radius:10px;padding:14px;margin:10px 0}
.entry.event{font-size:0.75rem;color:var(--muted);padding:10px 0}
.chart-bars i{min-height:2px}
.muted-note{font-size:0.75rem;color:var(--muted);line-height:1.6}
.side-nav .nav-text{font-style:normal}
.office-seeker .side-nav a span{background:#d5dfc3;color:var(--ink)}
.office-seeker .side-nav a.active span{background:#c1d980}
.side-link{display:flex;align-items:center;gap:8px;color:#b7cbb1;font-size:0.75rem;padding:6px 9px;border:0;background:none;width:100%;text-align:left}
.side-link:hover{color:#fff}
.office-seeker .side-link{color:#4e6141}.office-seeker .side-link:hover{color:var(--ink)}
.side-link svg{width:16px;height:16px}
.employer-cta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0 40px}
.employer-cta .card{padding:22px}
.employer-cta h3{font-size:1rem;margin:12px 0 8px}
.employer-cta p{font-size:0.8125rem;color:var(--muted);margin:0}
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:0 0 40px}
.category-grid a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;font-size:0.8125rem;font-weight:600}
.category-grid a:hover{border-color:#aec3a3}
.category-grid small{color:var(--muted);font-weight:400}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:40px 0 18px;flex-wrap:wrap}
.section-head h2{margin:0}
.filters .field{margin-bottom:14px}
.filters .field select,.filters .field input{min-height:40px;padding:9px 10px;font-size:0.8125rem}
.filters .btn{width:100%}
.hero .searchbar label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.stat-number.small{font-size:1.5rem}
.tracking-card .company-icon{flex-shrink:0}
.tracking-card>div{min-width:0}
.thread-item{color:inherit}
.thread-item .unread-dot{width:8px;height:8px;border-radius:50%;background:#5d7c3e;flex-shrink:0;margin-top:6px}
.chat-form textarea{flex:1;min-width:0;border:1px solid var(--line);padding:12px;border-radius:7px;font-size:0.8125rem;min-height:46px;resize:vertical}
.table-actions form{display:inline}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px}
.toolbar .field{margin:0;min-width:160px}
.toolbar .field input,.toolbar .field select{min-height:40px;padding:9px 11px;font-size:0.8125rem}
.toolbar .grow{flex:1;min-width:200px}
.page-actions{display:flex;gap:10px;flex-wrap:wrap}
.link-list{list-style:none;padding:0;margin:0}
.link-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:0.8125rem;display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.link-list li:last-child{border-bottom:0}
.salary-period{font-weight:400;color:var(--muted);font-size:0.75rem}
@media(max-width:850px){.employer-cta{grid-template-columns:minmax(0,1fr)}.grid-2{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:10px}.auth-card{padding:24px 20px}.question-row{grid-template-columns:1fr}.alert{flex-wrap:wrap}.alert .btn{margin-left:0}.toolbar .field{min-width:0;flex:1 1 100%}.card-pad{padding:20px}}
@media print{.sidebar,.header,.footer,.dash-topbar{display:none}.dashboard-content{margin:0;width:100%}}
.verified-mark{width:13px;height:13px;color:#5d7c3e;vertical-align:-2px;margin-left:2px}
.trending a{border:1px solid #537264;border-radius:20px;color:#e6eddf;padding:5px 11px;font-size:0.75rem}
.trending a:hover{background:#365a48}
.flash-wrap{padding-top:20px}
.form-divider{border:0;border-top:1px solid var(--line);margin:26px 0}
.form-step{font-size:1.25rem}

/* Layout fixes found by the 390px and 200%-text checks. */
.office-shell .side-nav{min-width:0}
.dash-topbar .row{flex-wrap:wrap;justify-content:flex-end}
.chart-bars{overflow-x:auto}
.chart-bars>div{min-width:2.5rem}
.search-tools form{flex-wrap:wrap;min-width:0}
.search-tools form input{min-width:0;flex:1 1 12rem}
.office-two-col>aside,.dash-columns>aside{min-width:0}
@media(max-width:1150px){.header-right .dev-pill{display:none}}
@media(max-width:850px){
  .header-inner{flex-wrap:wrap;height:auto;min-height:76px;padding:12px 0;row-gap:4px}
  .nav{order:3;width:100%;height:44px;border-top:1px solid #edf0e8;gap:22px;overflow-x:auto}
  .nav a{white-space:nowrap}
  .header-right{margin-left:auto}
}
@media(max-width:1000px){.office-two-col>aside{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:600px){
  .header-right{flex-wrap:wrap;justify-content:flex-end}
  .dash-topbar{height:auto;min-height:60px;flex-wrap:wrap;gap:8px;padding:10px 16px}
  .dash-topbar .pill,.dash-topbar .dev-pill{display:none}
  .profile-banner{flex-wrap:wrap}
  .profile-banner>.pill{margin-left:0!important}
  .office-two-col>aside,.dash-columns>aside{grid-template-columns:minmax(0,1fr)}
  .nav{gap:16px}
}
/* Keep visually hidden labels inside their scroll areas, so they cannot widen the page. */
.table-wrap,.side-nav,.nav,.filter-tabs,.chart-bars,.thread-list,.chat-messages{position:relative}
.entry,.entry *{overflow-wrap:anywhere}
.entry header>*{min-width:0}
@media(max-width:600px){.fields{grid-template-columns:minmax(0,1fr)}.field input,.field select,.field textarea{min-width:0;max-width:100%}}
.review-item strong{overflow-wrap:anywhere;display:block}
.breadcrumbs{flex-wrap:wrap;row-gap:4px}
.breadcrumbs>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.dash-topbar>span{display:none}.dash-topbar{justify-content:flex-end}}
.filters fieldset.filter-section legend{float:left;width:100%;font-size:0.75rem;font-weight:700;margin-bottom:14px}
.filters fieldset.filter-section legend+*{clear:both}
