.hiring__app {max-width:1180px;}
.hiring__app .hiring__masthead {gap:10px 24px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:12px;}
.hiring__app-nav {display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:14px;margin:0 0 20px;}
.hiring__app-account {display:flex;align-items:center;gap:12px;margin-left:auto;font-size:13px;min-width:0;}
.hiring__app-account>span {overflow-wrap:anywhere;}
.hiring__app-position {border-bottom:1px solid var(--border-light);padding-bottom:14px;}
.hiring__app-layout {display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;align-items:start;margin-top:24px;}
.hiring__app-progress {position:sticky;top:calc(var(--shell-header-height,79px) + 20px);border-right:1px solid var(--border-light);padding-right:22px;}
.hiring__app-progress p {font-size:14px;}
.hiring__app-progress ol {list-style:none;padding:0;margin:0;}
.hiring__app-progress li {padding:3px 0 10px;display:flex;align-items:baseline;gap:8px;}
.hiring__app-progress button {font-size:15px;text-decoration:none;display:block;flex:1 1 auto;text-align:left;}
.hiring__app-progress button[aria-current=step] {font-weight:bold;border-left:3px solid var(--text-primary);padding-left:12px;}
/* A tick in the running text colour, held to the right of its section name. */
.hiring__app-step-state {font-size:15px;line-height:1;color:inherit;flex:0 0 auto;}
.hiring__app-save-state {margin:18px 0 0;padding-top:12px;border-top:1px solid var(--border-light);font-size:13px;opacity:.5;min-height:20px;}
.hiring__app-body {min-width:0;max-width:740px;}
.hiring__app-body>h2 {margin-top:0;}
.hiring__app-field {margin:18px 0;}
.hiring__app-field>label {font-size:16px;}
.hiring__app-field>.hiring__help {margin:7px 0 0;}
.hiring__app input[readonly] {background:var(--background-secondary);border-color:var(--border-light);}
.hiring__app-check {display:flex!important;align-items:flex-start;gap:12px;min-height:44px;margin:12px 0;}
.hiring__app-check input {width:20px;height:20px;flex:0 0 auto;margin-top:3px;accent-color:var(--background-button);}
.hiring__app-check span {overflow-wrap:anywhere;}
.hiring__app-schedule {margin:18px 0 12px;border-top:1px solid var(--border-light);}
.hiring__app-day {display:grid;grid-template-columns:minmax(245px,.9fr) minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px solid var(--border-light);align-items:start;}
.hiring__app-day>.hiring__app-field {display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:0 10px;margin:0;}
.hiring__app-day>.hiring__app-field>label {font-size:15px;}
.hiring__app-day>.hiring__app-field>.hiring__app-error {grid-column:2;}
.hiring__app .hiring__app-day select,.hiring__app .hiring__app-times input {margin-top:0;min-height:44px;}
.hiring__app-day-times {min-width:0;}
.hiring__app-times {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 44px;gap:6px;align-items:start;margin-bottom:6px;}
.hiring__app-times .hiring__app-field {margin:0;min-width:0;}
.hiring__app-times .hiring__app-field>label {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.hiring__app-times button {font-size:24px;line-height:1;min-height:44px;text-align:center;text-decoration:none;padding:0;}
.hiring__app-day-times>button {font-size:13px;min-height:44px;padding:5px 0;}
.hiring__app-window {padding:10px 12px;background:var(--background-secondary);font-size:14px;border-radius:3px;}
.hiring__app-window>.hiring__help {font-size:12px;margin-top:3px;}
.hiring__app-step-actions {display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid var(--border-light);padding-top:18px;margin-top:24px;}
.hiring__app-utility {border-top:1px solid var(--border-light);margin-top:28px;padding-top:16px;display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;}
.hiring__app-utility>p {flex-basis:100%;margin:0;min-height:24px;font-size:14px;}
.hiring__app-utility>a {font-size:14px;}
.hiring__app-contact {margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--text-primary);}
.hiring__app-contact svg {display:block;}
.hiring__app-errors {border:2px solid var(--text-error);padding:18px 20px;margin:20px 0;}
.hiring__app-errors>p:first-child,.hiring__app-error {color:var(--text-error);}
.hiring__app-errors ul {padding-left:18px;}
.hiring__app-errors button {white-space:normal;}
.hiring__app-error {margin:7px 0;}
.hiring__app-review-section {border-bottom:1px solid var(--border-light);padding:12px 0 18px;}
.hiring__app-review-section>h2 {font-size:21px;display:inline-block;margin:12px 18px 12px 0;}
.hiring__app-review-row {display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.6fr);gap:8px 24px;margin:10px 0;overflow-wrap:anywhere;}
.hiring__app-review-row strong {font-size:14px;font-weight:normal;}
.hiring__app-review-row p {margin:0;white-space:pre-wrap;}
.hiring__app-list {display:grid;gap:12px;margin:24px 0;}
.hiring__app-card {display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border-light);padding:18px 22px;border-radius:4px;background:var(--background-primary);}
.hiring__app-card-info {min-width:0;}
.hiring__app-card-title {display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;}
.hiring__app-card-title>h2 {font-size:22px;margin:0;overflow-wrap:anywhere;}
/* Paired ink/wash colors keep badges legible against either Portal theme.
   Status text is always retained, so color is never the only indication. */
.hiring__app-status--draft {--hiring-status-ink:#49515c;--hiring-status-wash:#edf0f3;}
.hiring__app-status--submitted {--hiring-status-ink:#304e91;--hiring-status-wash:#e2ebff;}
.hiring__app-status--interview {--hiring-status-ink:#68438c;--hiring-status-wash:#eee5f7;}
.hiring__app-status--hired {--hiring-status-ink:#286242;--hiring-status-wash:#e0f0e6;}
.hiring__app-status--closed {--hiring-status-ink:#854637;--hiring-status-wash:#f8d5cf;}
.hiring .hiring__app-status {display:inline-block;font-size:13px;line-height:1.5;padding:3px 9px;border-radius:3px;color:var(--hiring-status-ink,var(--text-primary));background:var(--hiring-status-wash,var(--background-secondary));}
.hiring__app-card-info>.hiring__help {margin:6px 0 0;}
.hiring__app-card-actions {flex-shrink:0;}
.hiring__app-card>h2 {margin-top:0;}
/* Closed applications read as a compact list, not another full application block. */
.hiring__app-past-heading {font-size:15px;text-transform:uppercase;letter-spacing:.11em;margin:36px 0 0;}
.hiring__app-past-list {border-top:1px solid var(--border-light);margin:12px 0 24px;}
.hiring__app-past-row {display:flex;align-items:baseline;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--border-light);}
.hiring__app-past-text {display:flex;flex-direction:column;gap:2px;min-width:0;}
.hiring__app-past-title {overflow-wrap:anywhere;}
/* Past applications keep a quiet text label rather than another filled badge. */
.hiring__app-past-status {font-size:14px;color:var(--text-primary);}
.hiring__app-past-status.hiring__app-status--closed {color:color-mix(in srgb,var(--text-primary) 45%,#b25843);}
.hiring__app-past-status.hiring__app-status--hired {color:color-mix(in srgb,var(--text-primary) 35%,#388050);}
.hiring__app-dialog {position:fixed;inset:0;margin:auto;color:var(--text-primary);background:var(--background-primary);border:1px solid var(--border);border-radius:4px;max-width:720px;width:calc(100% - 40px);max-height:85dvh;padding:24px 30px;overflow:auto;}
.hiring__app-dialog::backdrop {background:rgba(0,0,0,.6);}
.hiring__app-dialog>h2 {margin-top:0;}
/* The description can run long, so its dialog scrolls inside a centred viewport inset. */
.hiring__app-dialog--description {max-height:86dvh;padding-top:0;}
.hiring__app-dialog--description:focus {outline:none;}
.hiring__app-dialog--description>.hiring__rich {overflow-wrap:break-word;hyphens:manual;}
.hiring__app-dialog-head {position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:var(--background-primary);padding:24px 0 10px;border-bottom:1px solid var(--border-light);margin-bottom:6px;}
.hiring__app-dialog-head>h2 {margin:0;}
.hiring__app-dialog>.hiring__actions {margin-top:24px;justify-content:flex-end;}
@media(max-width:760px){
  .hiring__app-layout {display:block;}
  .hiring__app-progress {position:static;border-right:0;border-bottom:1px solid var(--border-light);padding:0 0 8px;margin-bottom:20px;}
  .hiring__app-progress ol {display:flex;gap:8px 18px;flex-wrap:nowrap;overflow-x:auto;padding:3px 3px 8px;}
  .hiring__app-progress li {flex:0 0 auto;}
  .hiring__app-progress li {padding-bottom:0;}
  .hiring__app-progress button {padding:5px 2px;min-height:40px;}
  .hiring__app-progress button[aria-current=step] {border-left:0;border-bottom:3px solid var(--text-primary);padding-left:2px;}
  .hiring__app-save-state {margin:6px 0 0;padding-top:8px;border-top:0;}

  .hiring__app-dialog {width:100%;max-height:100dvh;height:100dvh;border:0;border-radius:0;padding:24px 20px;}
  .hiring__app-dialog--description {padding-top:0;}
}
@media(prefers-reduced-motion:reduce){.hiring__app * {scroll-behavior:auto;}}

.hiring__app-file-status { color: var(--text-secondary, inherit); }
/* One box holds the picker, then the chosen name, then the stored file. */
.hiring__app-file-box {display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:48px;margin-top:7px;padding:8px 11px;border:1px solid var(--border);border-radius:3px;background:var(--background-primary);}
.hiring .hiring__app-file-box input[type=file] {display:block;width:auto;min-height:0;margin:0;padding:0;border:0;background:none;color:transparent;}
.hiring .hiring__app-file-box input[type=file]::file-selector-button {font:inherit;font-size:14px;color:var(--text-button);background:var(--background-button);border:1px solid var(--border);border-radius:3px;padding:7px 14px;min-height:36px;margin:0;cursor:pointer;}
.hiring .hiring__app-file-box input[type=file]:focus-visible {outline:3px solid var(--text-primary);outline-offset:3px;}
.hiring__app-file-name {overflow-wrap:anywhere;}
.hiring__app-file-ok {display:inline-flex;align-items:center;gap:6px;}
.hiring__app-file-actions {display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin-top:14px;}
.hiring .hiring__app-file-actions .hiring__button {min-height:38px;padding:8px 15px;font-size:14px;}
.hiring .hiring__app-material-heading {font-size:17px;margin:24px 0 4px;}
.hiring .hiring__app-material-heading:first-child {margin-top:6px;}
.hiring__bot-check { max-width: 100%; overflow: hidden; }
.hiring input[type="file"] { max-width: 100%; min-width: 0; }

@media(max-width:560px){
  .hiring__app-account {width:100%;margin:0;justify-content:space-between;}
  .hiring__app-day {grid-template-columns:minmax(0,1fr);gap:6px;}
  .hiring__app-day-times {padding-left:100px;}
  .hiring__app-times {grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 44px;}
  .hiring__app .hiring__app-times input {padding-inline:7px;}
  .hiring__app-review-row {grid-template-columns:minmax(0,1fr);gap:3px;margin:14px 0;}
  .hiring__app-card {align-items:flex-start;flex-direction:column;padding:16px;}
}
@media(max-width:380px){.hiring__app-day-times {padding-left:0;}}

.hiring__app-time-separator {font-size:13px;line-height:44px;}
.hiring__app>h1 {font-size:clamp(28px,4vw,36px);margin-bottom:14px;}
.hiring__app[data-view=access]>form {max-width:520px;}
.hiring__app[data-view=access]>p,.hiring__app[data-view=before_begin]>p {max-width:760px;}
.hiring__app .hiring__masthead>a:first-child {font-size:22px;font-weight:bold;text-decoration:none;}
.hiring__app-titlebar {display:flex;align-items:baseline;gap:10px 24px;flex-wrap:wrap;border-bottom:1px solid var(--border-light);padding-bottom:14px;}
.hiring__app-titlebar h1 {font-size:clamp(28px,4vw,36px);margin:0;}
.hiring__app-titlebar .hiring__app-position {margin:0;padding:0;border:0;font-size:14px;}
.hiring__app-titlebar .hiring__text-button {margin-left:auto;padding:0;font-size:14px;min-height:0;}
.hiring__app input[type=date] {max-width:260px;}
.hiring__app-contact-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;}
@media(max-width:620px){.hiring__app-contact-grid{grid-template-columns:1fr;}.hiring__app-titlebar{gap:4px;}.hiring__app-titlebar .hiring__app-position{flex-basis:100%;}.hiring__app-titlebar .hiring__text-button{flex-basis:100%;margin-left:0;min-height:40px;}}

.hiring__app-minimum {padding:14px 18px;border-left:3px solid var(--text-primary);background:var(--background-secondary);margin:16px 0 22px;}
.hiring__app-minimum>h3 {font-family:ApercuRegular,Arial,sans-serif;font-size:14px;letter-spacing:.06em;margin:0 0 10px;}
.hiring__app-minimum>p {margin:5px 0;}
.hiring__app-windows {display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;}
.hiring__app-windows .hiring__app-window {display:grid;gap:3px;margin:0;min-width:180px;}
.hiring__app-windows .hiring__app-window>strong {font-weight:normal;}
