@import url('/assets/fonts/inter/font.css');

.hp-el-jobs {
  --jobs-ink: #17231f;
  --jobs-muted: #61706a;
  --jobs-line: #d7e0db;
  --jobs-blue: #345f85;
  --jobs-blue-soft: #e2edf5;
  --jobs-gold: #e4ba58;
  --jobs-cream: #f7f3ea;
  margin: 0;
  color: var(--jobs-ink);
  background: #f4f2ec;
  font-family: 'Inter', system-ui, sans-serif;
}
.hp-el-jobs *, .hp-el-jobs *::before, .hp-el-jobs *::after { box-sizing: border-box; }
.hp-el-jobs [hidden] { display: none !important; }
.jobs-shell { width: min(1320px, calc(100% - 48px)); margin-inline: auto; }
.jobs-nav { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 24px; }
.jobs-nav nav { display: flex; align-items: center; gap: 20px; }
.jobs-nav a { color: inherit; font-weight: 700; text-decoration: none; }
.jobs-hero { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding-block: 54px 36px; }
.jobs-breadcrumb { margin: 0 0 30px; color: var(--jobs-muted); font-size: .94rem; }
.jobs-breadcrumb a { color: inherit; text-decoration: underline; }
.jobs-breadcrumb span { margin-inline: 8px; }
.jobs-eyebrow { margin: 0 0 10px; color: var(--jobs-blue); font-size: .76rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.jobs-hero h1 { margin: 0; max-width: 820px; font-size: clamp(2.6rem, 6vw, 5.4rem); line-height: .97; letter-spacing: -.06em; }
.jobs-subtitle { margin: 20px 0 0; color: #52615a; font-size: clamp(1.08rem, 2vw, 1.35rem); }
.jobs-start-actions { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 4px; }
.jobs-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; border: 1px solid #afbbb5; border-radius: 8px; padding: 10px 16px; color: var(--jobs-ink); background: #fff; font: inherit; font-weight: 760; cursor: pointer; }
.jobs-button:hover { border-color: #6b7b73; background: #fbfcfa; }
.jobs-button.primary { border-color: var(--jobs-ink); color: #fff; background: var(--jobs-ink); }
.jobs-button.small { min-height: 40px; padding: 8px 11px; font-size: .82rem; }
.jobs-button:disabled { opacity: .48; cursor: not-allowed; }
.jobs-button:focus-visible, .jobs-text-button:focus-visible, .hp-el-jobs input:focus-visible, .hp-el-jobs select:focus-visible, .jobs-assignment-card:focus-within { outline: 3px solid #94bad8; outline-offset: 2px; }
.jobs-text-button { border: 0; padding: 4px; color: #315f80; background: transparent; font: inherit; font-weight: 760; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.jobs-text-button.danger { color: #98453f; }
.jobs-privacy { border-block: 1px solid #c8d8e4; background: var(--jobs-blue-soft); }
.jobs-privacy .jobs-shell { padding-block: 13px; font-size: .92rem; }
.jobs-sample-banner { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-block: 24px; border: 1px solid #d2bb76; border-radius: 10px; padding: 14px 18px; background: #fff9e7; }
.jobs-sample-banner div { display: flex; flex-wrap: wrap; gap: 5px 8px; }
.jobs-sample-banner span { color: #625b48; }
.jobs-workspace { display: grid; grid-template-columns: minmax(340px, 430px) minmax(0, 1fr); align-items: start; gap: 24px; padding-bottom: 70px; }
.jobs-controls { border: 1px solid var(--jobs-line); border-radius: 12px; padding: 20px; background: #fff; box-shadow: 0 14px 34px rgba(32,42,37,.06); }
.jobs-control-head, .jobs-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.jobs-control-head > div, .jobs-section-heading > div { display: flex; align-items: center; gap: 10px; }
.jobs-control-head h2, .jobs-section-heading h2 { margin: 0; font-size: 1.05rem; }
.jobs-step { display: inline-grid; width: 27px; height: 27px; place-items: center; border-radius: 7px; background: var(--jobs-blue-soft); color: #244d70; font-size: .75rem; font-weight: 850; }
.jobs-count, .jobs-status-pill { border-radius: 999px; padding: 5px 9px; color: #4f6159; background: #edf1ee; font-size: .73rem; font-weight: 800; }
.jobs-status-pill[data-state='confirmed'] { color: #285f4a; background: #dcece4; }
.jobs-status-pill[data-state='draft'] { color: #74591d; background: #f7e9ba; }
.hp-el-jobs label { display: grid; gap: 6px; font-size: .78rem; font-weight: 760; }
.hp-el-jobs input[type='text'], .hp-el-jobs input[type='date'], .hp-el-jobs input[type='number'], .hp-el-jobs select { width: 100%; min-height: 43px; border: 1px solid #b7c4bd; border-radius: 7px; padding: 9px 10px; color: var(--jobs-ink); background: #fff; font: inherit; font-size: .88rem; }
.jobs-editor-panel, .jobs-exclusions { margin-top: 14px; border: 1px solid #d9e0dc; border-radius: 8px; background: #fbfcfb; }
.jobs-editor-panel > summary, .jobs-exclusions > summary { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; font-size: .85rem; font-weight: 800; cursor: pointer; list-style: none; }
.jobs-editor-panel > summary span:last-child, .jobs-exclusions > summary span:last-child { color: var(--jobs-muted); font-size: .72rem; }
.jobs-panel-body { border-top: 1px solid #dfe5e1; padding: 12px; }
.jobs-add-row { display: grid; grid-template-columns: minmax(0, 1.5fr) .65fr auto; gap: 6px; }
.jobs-add-job { display: grid; grid-template-columns: minmax(0, 1.3fr) .8fr 64px auto; gap: 6px; }
.jobs-helper { margin: 8px 0; color: var(--jobs-muted); font-size: .73rem; line-height: 1.45; }
.jobs-roster-list, .jobs-job-list { display: grid; gap: 6px; max-height: 268px; overflow: auto; padding-top: 4px; }
.jobs-roster-row { display: grid; grid-template-columns: minmax(0, 1fr) 88px auto; gap: 6px; align-items: center; }
.jobs-job-row { display: grid; grid-template-columns: minmax(0, 1fr) 76px 60px auto; gap: 6px; align-items: center; }
.jobs-row-button { width: 38px; height: 38px; border: 1px solid #d1d9d5; border-radius: 7px; color: #925049; background: #fff; cursor: pointer; }
.jobs-section-heading { margin-top: 24px; border-top: 1px solid var(--jobs-line); padding-top: 20px; }
.jobs-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.jobs-field-grid label:first-child { grid-column: 1 / -1; }
.jobs-warning { min-height: 18px; margin: 9px 0 0; color: #9a5147; font-size: .75rem; }
.jobs-exclusions > div { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; max-height: 210px; overflow: auto; border-top: 1px solid #dfe5e1; padding: 10px 12px; }
.jobs-exclusions label, .jobs-checkbox { display: flex; min-height: 38px; align-items: center; gap: 8px; border-radius: 6px; padding: 6px; background: #fff; }
.jobs-exclusions input, .jobs-checkbox input { width: 18px; height: 18px; accent-color: var(--jobs-blue); }
.jobs-draft-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.jobs-assignment-editor { display: grid; gap: 9px; }
.jobs-assignment-card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr) auto; align-items: end; gap: 9px; border: 1px solid #d6ded9; border-radius: 8px; padding: 10px; background: #f9fbfa; }
.jobs-assignment-card[data-locked='true'] { border-color: #7fa38f; background: #f0f7f3; }
.jobs-assignment-job { display: grid; gap: 3px; min-width: 0; }
.jobs-assignment-job strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jobs-assignment-job span { color: var(--jobs-muted); font-size: .68rem; }
.jobs-lock-button { min-width: 72px; height: 43px; border: 1px solid #b9c5bf; border-radius: 7px; color: #42554c; background: #fff; font: inherit; font-size: .73rem; font-weight: 780; cursor: pointer; }
.jobs-lock-button[aria-pressed='true'] { border-color: #47705d; color: #fff; background: #47705d; }
.jobs-confirm-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.jobs-confirm-actions .primary { grid-column: 1 / -1; }
.jobs-print-settings { margin-top: 22px; }
.jobs-print-settings > summary { min-height: 56px; }
.jobs-print-settings > summary > span:first-child { display: flex; align-items: center; gap: 10px; }
.jobs-settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.jobs-settings-grid .jobs-checkbox, .jobs-finish-grid, .jobs-save-status, .jobs-local-controls { grid-column: 1 / -1; }
.jobs-finish-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 4px; }
.jobs-finish-grid .primary { grid-column: 1 / -1; }
.jobs-save-status, .jobs-action-status { min-height: 18px; margin: 2px 0 0; color: var(--jobs-muted); font-size: .76rem; }
.jobs-save-status[data-kind='success'], .jobs-action-status[data-kind='success'] { color: #297050; }
.jobs-save-status[data-kind='error'], .jobs-action-status[data-kind='error'] { color: #9a443d; }
.jobs-local-controls { color: var(--jobs-muted); font-size: .76rem; }
.jobs-local-controls p { margin: 8px 0; }
.jobs-preview-column { position: sticky; top: 88px; min-width: 0; border: 1px solid #d3dbd7; border-radius: 12px; background: #e4e7e5; box-shadow: 0 16px 42px rgba(29,39,34,.09); overflow: hidden; }
.jobs-preview-toolbar { display: flex; min-height: 66px; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #cbd4cf; padding: 10px 14px; background: #fff; }
.jobs-preview-toolbar > div { display: grid; gap: 3px; }
.jobs-preview-toolbar span { color: var(--jobs-muted); font-size: .76rem; }
.jobs-preview-stage { display: grid; max-height: calc(100vh - 250px); gap: 24px; overflow: auto; padding: 28px; }
.jobs-document { display: grid; justify-items: center; gap: 24px; width: 100%; --jobs-heading: 'Figtree', sans-serif; --jobs-body: 'Open Sans', sans-serif; }
.jobs-document[data-font-pair='education-editorial'] { --jobs-heading: 'Fraunces', serif; --jobs-body: 'DM Sans', sans-serif; }
.jobs-page { position: relative; width: min(100%, 8.5in); min-height: 11in; overflow: hidden; padding: .5in; color: #202a25; background: #fffefb; box-shadow: 0 6px 24px rgba(25,33,29,.16); font-family: var(--jobs-body); }
.jobs-document[data-paper='a4'] .jobs-page { width: min(100%, 210mm); min-height: 297mm; }
.jobs-page h2, .jobs-page h3 { font-family: var(--jobs-heading); }
.jobs-chart-page::before { position: absolute; inset: 0 0 auto; height: 10px; background: linear-gradient(90deg,#4e83ad 0 35%,#e3b653 35% 67%,#6a9b76 67%); content: ''; }
.jobs-print-kicker { margin: 0 0 8px; color: #4a6b7f; font-size: .7rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.jobs-chart-page > h2 { margin: 0; font-size: 2.45rem; line-height: 1.05; }
.jobs-print-dates { margin: 7px 0 28px; color: #617069; }
.jobs-print-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.jobs-print-assignment { min-height: 1.36in; border: 1px solid #cad6d0; border-left: 7px solid #6c9c84; border-radius: 7px; padding: 15px; background: #f9fbfa; }
.jobs-print-assignment:nth-child(3n+2) { border-left-color: #d2a942; }
.jobs-print-assignment:nth-child(3n) { border-left-color: #5c86ab; }
.jobs-print-job { margin: 0 0 10px; color: #5e6e66; font-size: .74rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.jobs-print-assignment h3 { margin: 0; font-size: 1.45rem; }
.jobs-unassigned { margin: 22px 0 0; border-top: 1px solid #d5ddd9; padding-top: 13px; color: #5f6d66; font-size: .78rem; line-height: 1.5; }
.jobs-card-page { display: grid; grid-template-columns: repeat(2, 85mm); grid-template-rows: repeat(4, 50mm); align-content: center; justify-content: center; gap: 5mm; padding: 0; }
.jobs-document[data-paper='a4'] .jobs-card-page { grid-template-rows: repeat(5, 50mm); }
.jobs-helper-card { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 0; border: 1px solid #82958b; border-radius: 8px; padding: .18in; text-align: center; }
.jobs-card-class { margin: 0 0 8px; color: #65726c; font-size: .62rem; font-weight: 700; text-transform: uppercase; }
.jobs-helper-card h3 { margin: 0; font-size: 1.35rem; line-height: 1.05; overflow-wrap: anywhere; }
.jobs-card-job { margin: 8px 0 4px; color: #315d7d; font-size: .88rem; font-weight: 800; }
.jobs-card-dates { margin: 0; color: #68766f; font-size: .64rem; }
.jobs-document[data-ink='low-ink'] .jobs-page { background: #fff; }
.jobs-document[data-ink='low-ink'] .jobs-chart-page::before { display: none; }
.jobs-document[data-ink='low-ink'] .jobs-print-assignment { border-left-color: #777; background: #fff; }
.jobs-history { border-top: 1px solid #cbd4cf; padding: 22px; background: #fff; }
.jobs-history > div:first-child { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.jobs-history h2 { margin: 0; font-size: 1.35rem; }
.jobs-history-list, .jobs-history [data-history-list] { display: grid; gap: 7px; margin-top: 12px; }
.jobs-history-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #e0e5e2; padding-top: 8px; font-size: .78rem; }
.jobs-history-row button { border: 0; padding: 3px; color: #315f80; background: transparent; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.jobs-guide { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; padding-block: 70px; border-top: 1px solid #d7ddd9; }
.jobs-guide h2 { margin: 0; font-size: clamp(1.8rem,4vw,3rem); line-height: 1.08; letter-spacing: -.035em; }
.jobs-guide > div > p:last-child { color: var(--jobs-muted); line-height: 1.65; }
.jobs-guide ol { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.jobs-guide li { display: grid; gap: 4px; border-bottom: 1px solid #d9dedb; padding-bottom: 14px; }
.jobs-guide li span { color: var(--jobs-muted); }
.jobs-faq { grid-column: 1 / -1; }
.jobs-faq h2 { margin: 0 0 12px; font-size: 1.5rem; }
.jobs-faq details { border-top: 1px solid #d7ddd9; padding-block: 14px; }
.jobs-faq summary { font-weight: 780; cursor: pointer; }
.jobs-faq p { max-width: 800px; color: var(--jobs-muted); line-height: 1.65; }
.jobs-print-root { display: none; }

@media (max-width: 980px) {
  .jobs-workspace { grid-template-columns: 1fr; }
  .jobs-preview-column { position: static; grid-row: 1; }
  .jobs-preview-stage { max-height: none; }
  .jobs-controls { grid-row: 2; }
  .jobs-hero { align-items: start; flex-direction: column; }
}
@media (max-width: 600px) {
  .jobs-shell { width: min(100% - 24px, 1320px); }
  .jobs-nav { min-height: 66px; }
  .jobs-nav nav > a:not(.nav-pill) { display: none; }
  .jobs-hero { gap: 24px; padding-block: 30px 24px; }
  .jobs-breadcrumb { margin-bottom: 20px; }
  .jobs-hero h1 { font-size: clamp(2.35rem, 13vw, 3.6rem); }
  .jobs-start-actions { display: grid; width: 100%; grid-template-columns: 1fr 1fr; }
  .jobs-sample-banner { align-items: start; flex-direction: column; }
  .jobs-workspace { gap: 14px; }
  .jobs-preview-stage { padding: 12px; }
  .jobs-page { min-height: 0; aspect-ratio: 8.5 / 11; padding: 5.8%; font-size: clamp(.5rem, 2.4vw, .9rem); }
  .jobs-document[data-paper='a4'] .jobs-page { min-height: 0; aspect-ratio: 210 / 297; }
  .jobs-chart-page > h2 { font-size: 2em; }
  .jobs-print-grid { gap: 2.2%; }
  .jobs-print-assignment { min-height: 0; padding: 5%; border-left-width: 4px; }
  .jobs-print-assignment h3 { font-size: 1.15em; }
  .jobs-card-page { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(4, 1fr); gap: 2%; padding: 4%; }
  .jobs-document[data-paper='a4'] .jobs-card-page { grid-template-rows: repeat(5, 1fr); }
  .jobs-controls { padding: 15px; }
  .jobs-add-row { grid-template-columns: 1fr 86px; }
  .jobs-add-row button { grid-column: 1 / -1; }
  .jobs-add-job { grid-template-columns: 1fr 70px; }
  .jobs-add-job select, .jobs-add-job button { grid-column: auto; }
  .jobs-roster-row { grid-template-columns: 1fr 82px auto; }
  .jobs-job-row { grid-template-columns: 1fr 60px auto; }
  .jobs-job-row select { grid-column: 1 / 2; }
  .jobs-field-grid, .jobs-settings-grid { grid-template-columns: 1fr; }
  .jobs-field-grid label:first-child, .jobs-settings-grid .jobs-checkbox, .jobs-finish-grid, .jobs-save-status, .jobs-local-controls { grid-column: auto; }
  .jobs-assignment-card { grid-template-columns: 1fr auto; }
  .jobs-assignment-card label { grid-column: 1 / -1; }
  .jobs-confirm-actions, .jobs-finish-grid { grid-template-columns: 1fr; }
  .jobs-confirm-actions .primary, .jobs-finish-grid .primary { grid-column: auto; }
  .jobs-guide { grid-template-columns: 1fr; gap: 28px; padding-block: 46px; }
  .jobs-faq { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) { .hp-el-jobs * { scroll-behavior: auto !important; transition: none !important; } }

@page { size: Letter portrait; margin: 0; }
@media print {
  body.hp-el-jobs { background: #fff !important; }
  .hp-el-jobs > :not(.jobs-print-root) { display: none !important; }
  .jobs-print-root { display: block !important; }
  .jobs-print-root .jobs-document { display: block; }
  .jobs-print-root .jobs-page { width: 8.5in; min-height: 11in; height: 11in; margin: 0; box-shadow: none; break-after: page; page-break-after: always; }
  .jobs-print-root .jobs-document[data-paper='a4'] .jobs-page { width: 210mm; min-height: 297mm; height: 297mm; }
  .jobs-print-root .jobs-page:last-child { break-after: auto; page-break-after: auto; }
  .jobs-print-root[aria-hidden='true'] { visibility: visible; }
}
