:root {
  color-scheme: light;
  --ink: #182d3a;
  --muted: #596975;
  --navy: #152b39;
  --navy-hover: #25495c;
  --paper: #fbfaf7;
  --canvas: #f2f1eb;
  --line: #d8ddd8;
  --amber: #f0c675;
  --amber-soft: #fff7e5;
  --amber-ink: #725013;
  --red: #982f32;
  --green: #286144;
  --radius: 10px;
}

* { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: "Aptos", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif; font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-underline-offset: 4px; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .65; }
h1, h2, h3, p, dl, ol, ul { margin: 0; }
h1 { font-size: clamp(30px, 3vw, 43px); line-height: 1.15; font-weight: 650; letter-spacing: -.04em; }
h2 { font-size: 21px; line-height: 1.35; font-weight: 650; letter-spacing: -.02em; }
h3 { font-size: 20px; line-height: 1.3; font-weight: 650; letter-spacing: -.015em; }
small { font-size: 13px; }
strong { font-weight: 650; }
button, input, select, textarea { border-radius: 6px; }
:focus-visible { outline: 3px solid #08738b; outline-offset: 4px; }
::selection { color: var(--ink); background: #f6d795; }
.skip-link { position: absolute; top: -80px; left: 20px; padding: 12px 20px; z-index: 20; background: white; border: 2px solid var(--ink); border-radius: 4px; }
.skip-link:focus { top: 12px; }
.site-header { background: var(--navy); color: #fff; }
.header-inner { width: min(1392px, calc(100% - 80px)); min-height: 94px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: flex; align-items: center; gap: 15px; text-decoration: none; }
.brand > span:last-child { display: flex; flex-direction: column; }
.brand strong { font-size: 24px; letter-spacing: -.045em; line-height: 1.2; }
.brand strong > span { font-weight: 400; color: #e1e7e8; }
.brand small { font-size: 10px; letter-spacing: .17em; color: #b8c7cd; margin-top: 5px; }
.brand-mark { width: 38px; height: 38px; display: flex; align-items: center; gap: 4px; transform: skewY(-18deg); }
.brand-mark i { display: block; height: 25px; width: 7px; background: var(--amber); }
.brand-mark i:nth-child(2) { height: 37px; }
.brand-mark i:nth-child(3) { height: 29px; }
.header-caption { color: #bfced5; font-size: 14px; }
.session { display: flex; align-items: center; gap: 26px; }
.session-name { font-size: 15px; line-height: 1.3; text-align: right; }
.session-name small { display: block; margin-top: 4px; color: #b8c7cd; font-size: 12px; }
.main-nav { background: var(--paper); border-bottom: 1px solid var(--line); }
.nav-inner { width: min(1392px, calc(100% - 80px)); margin: auto; display: flex; align-items: stretch; flex-wrap: wrap; gap: 0 24px; }
.nav-inner > a { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 62px; text-decoration: none; font-size: 14px; font-weight: 550; color: var(--muted); }
.nav-inner > a:hover { color: var(--ink); }
.nav-inner > a[aria-current] { color: var(--ink); font-weight: 700; }
.nav-inner > a[aria-current]::after { content: ""; height: 3px; background: var(--ink); position: absolute; inset: auto 0 0; }
.nav-inner > .nav-create { margin-left: auto; color: var(--ink); }
.nav-create > span { font-size: 24px; line-height: 1; }
.main-content { width: min(1392px, calc(100% - 80px)); margin: 0 auto; padding: 40px 0 72px; min-height: calc(100vh - 225px); }
.main-content:focus { outline: none; }
.site-footer { width: min(1392px, calc(100% - 80px)); border-top: 1px solid var(--line); margin: auto; display: flex; justify-content: space-between; gap: 20px; padding: 20px 0 26px; font-size: 12px; letter-spacing: .025em; color: var(--muted); }
.page-heading { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin-bottom: 32px; }
.eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .16em; line-height: 1.5; margin-bottom: 12px; color: var(--muted); }
.lead { margin-top: 13px; font-size: 16px; line-height: 1.6; color: var(--muted); max-width: 770px; }
.muted { color: var(--muted); }
.heading-note { flex: 0 0 auto; font-size: 13px; line-height: 1.5; color: var(--muted); padding-left: 20px; position: relative; }
.legend-dot { width: 9px; height: 9px; position: absolute; top: 5px; left: 0; background: #c79031; border-radius: 50%; }
.title-count { display: inline-block; font-size: .65em; font-weight: 450; color: var(--muted); vertical-align: middle; letter-spacing: -.04em; padding-left: 9px; }
.button { min-height: 48px; padding: 11px 19px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 14px; text-decoration: none; font-weight: 600; font-size: 14px; line-height: 1.45; border-radius: 6px; transition: background-color .12s, border-color .12s; }
.button-primary { background: var(--navy); color: #fff; }
.button-primary:hover { background: var(--navy-hover); }
.button-secondary { border-color: #bdc8c9; background: var(--paper); color: var(--ink); }
.button-secondary:hover { background: #e9edea; border-color: var(--muted); }
.button-ghost { background: transparent; color: #fff; border-color: #637583; min-height: 44px; padding: 8px 17px; }
.button-ghost:hover { background: #2c4554; border-color: #becbd2; }
.button-danger { background: #fffaf9; border-color: #d7a8a3; color: var(--red); }
.button-danger:hover { background: #fcebea; border-color: var(--red); }
.button-amber { background: #f0d49d; color: #594011; border-color: #e2bd79; }
.button-amber:hover { background: #e9c481; }
.button-wide { width: 100%; }
.text-link { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; font-size: 14px; font-weight: 650; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.panel { padding: 28px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.section-heading { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-bottom: 24px; }
.section-heading > .muted { font-size: 12px; }
.section-heading > .text-link { min-height: 44px; }
.notice { padding: 15px 18px; border: 1px solid; border-left-width: 4px; border-radius: 6px; line-height: 1.6; margin-bottom: 22px; font-size: 14px; overflow-wrap: anywhere; }
.notice-success { background: #edf5ee; border-color: #75a789; color: #235437; }
.notice-error { background: #fcf0ed; border-color: #c8776e; color: #842a23; }
.notice-warning { background: var(--amber-soft); border-color: #dfbd79; color: var(--amber-ink); }
.invoice-mark { display: inline-block; padding: 2px 6px; border-radius: 4px; background: #edf5ee; color: #235437; font-size: 12px; font-weight: 500; }
.invoice-review { background: var(--amber-soft); color: var(--amber-ink); }
.notice a { font-weight: 650; }
.notice.compact { padding: 10px 14px; margin-top: 18px; margin-bottom: 0; font-size: 13px; }
.demo-notice { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; margin: -12px 0 22px; }
.demo-notice > span { width: 6px; height: 6px; border-radius: 50%; background: #738d7c; }
.missing-sum { color: var(--amber-ink); font-size: 11px; line-height: 1.5; margin-top: 2px; letter-spacing: 0; white-space: normal; }
.audit-context { font-size: 10px; font-weight: 600; color: var(--muted); margin-bottom: 8px; }
.form-panel > .notice.compact { margin: -3px 0 22px; }
.field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.field label { font-size: 14px; font-weight: 600; }
.field small { color: var(--muted); line-height: 1.45; }
.required { color: #9a452e; }
.optional { font-weight: 400; font-size: 11px; color: var(--muted); padding-left: 5px; }
input, select, textarea { color: var(--ink); background: #fff; border: 1px solid #b6c1c3; width: 100%; padding: 11px 13px; min-height: 48px; line-height: 1.5; font-size: 16px; }
input:hover, select:hover, textarea:hover { border-color: #768b95; }
input:focus, select:focus, textarea:focus { border-color: #08738b; }
input[type="date"] { min-width: 0; }
textarea { resize: vertical; display: block; }
input[type="file"] { padding: 8px; font-size: 13px; background: #f4f5f0; }
input[type="file"]::file-selector-button { padding: 10px 13px; border: 1px solid #a8b9be; border-radius: 4px; background: #fff; color: var(--ink); font: inherit; font-weight: 600; cursor: pointer; margin-right: 12px; min-height: 44px; }
.form-stack { display: flex; flex-direction: column; gap: 24px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px 24px; }
.field-full { grid-column: 1 / -1; }
.form-actions { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.form-layout { display: grid; grid-template-columns: minmax(0, 900px) minmax(230px, 1fr); gap: 44px; align-items: start; }
.file-field { margin-top: 4px; }
.context-note { padding-top: 15px; max-width: 320px; }
.compact-steps { padding: 8px 0 0; list-style: none; counter-reset: steps; }
.compact-steps > li { position: relative; padding: 0 0 28px 33px; counter-increment: steps; }
.compact-steps > li::before { content: "0" counter(steps); position: absolute; left: 0; top: 1px; font-size: 11px; color: var(--muted); font-weight: 700; }
.compact-steps strong { font-size: 14px; }
.compact-steps p { margin-top: 6px; font-size: 13px; color: var(--muted); line-height: 1.65; }
.login-layout { min-height: calc(100vh - 285px); padding: 30px 70px 50px; display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 100px; align-items: center; }
.login-intro h1 { font-size: clamp(36px, 4vw, 56px); letter-spacing: -.045em; line-height: 1.1; }
.login-intro > .lead { max-width: 430px; margin-top: 20px; }
.login-steps { display: flex; list-style: none; padding: 0; gap: 22px; margin-top: 44px; }
.login-steps li { flex: 1; border-top: 1px solid #b8c4c3; padding-top: 16px; }
.login-steps li > span { font-size: 12px; letter-spacing: .03em; color: var(--muted); }
.login-steps li > div { margin-top: 8px; font-size: 15px; font-weight: 650; }
.login-steps small { display: block; margin-top: 5px; max-width: 135px; color: var(--muted); font-size: 12px; font-weight: 400; line-height: 1.55; }
.login-panel { padding: 36px; box-shadow: 0 7px 30px #253c4210; }
.login-panel h2 { font-size: 29px; letter-spacing: -.04em; margin-bottom: 8px; }
.login-panel > .muted { font-size: 14px; margin-bottom: 28px; }
.login-panel > .eyebrow { margin-bottom: 9px; }
.pin-input { letter-spacing: .7em; font-size: 22px; height: 58px; }
.queue-summary { display: grid; grid-template-columns: 240px 1.1fr 1fr; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); overflow: hidden; margin-bottom: 12px; }
.queue-summary > div { padding: 24px 30px; min-width: 0; }
.queue-summary > div + div { border-left: 1px solid var(--line); }
.summary-label { text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 700; color: var(--muted); display: block; margin-bottom: 12px; }
.summary-count { display: flex; flex-direction: column; }
.summary-count > strong { font-size: 66px; line-height: 1; letter-spacing: -.06em; font-weight: 550; margin-bottom: 8px; font-variant-numeric: tabular-nums; }
.summary-count > .muted { font-size: 12px; }
.summary-total { font-variant-numeric: tabular-nums; font-size: 28px; line-height: 1.4; font-weight: 550; letter-spacing: -.045em; white-space: nowrap; }
.summary-total > span { font-size: 13px; letter-spacing: .03em; color: var(--muted); font-weight: 500; margin-left: 4px; }
.summary-money > small { display: block; margin-top: 8px; color: var(--muted); font-size: 11px; }
.summary-waits dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 28px; }
.summary-waits dl > div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid #e5e8e1; padding-bottom: 6px; font-size: 13px; }
.summary-waits dt { color: var(--muted); }
.summary-waits dd { font-weight: 650; margin: 0; font-variant-numeric: tabular-nums; }
.type-breakdown { margin-bottom: 29px; border: 1px solid var(--line); border-radius: 6px; background: #f8f8f3; }
.type-breakdown summary { min-height: 48px; padding: 13px 20px; cursor: pointer; font-size: 13px; font-weight: 600; }
.type-breakdown summary:hover { background: #edf0e9; }
.details-hint { margin-left: 8px; color: var(--muted); font-weight: 400; }
.type-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 28px; padding: 4px 20px 20px; }
.type-item { display: flex; flex-direction: column; justify-content: space-between; gap: 10px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; }
.type-item > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.type-item > div:first-child > span { font-size: 11px; color: var(--muted); }
.type-item p { font-variant-numeric: tabular-nums; }
.list-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 28px 0 15px; }
.list-heading h2 { font-size: 20px; display: flex; gap: 10px; align-items: center; }
.list-heading > .muted { font-size: 12px; }
.count-pill { display: inline-flex; min-width: 25px; height: 24px; align-items: center; justify-content: center; padding: 0 7px; background: #e7ebe6; border-radius: 5px; font-size: 12px; font-weight: 600; color: var(--muted); }
.request-list { display: flex; flex-direction: column; gap: 18px; }
.request-card { background: var(--paper); border: 1px solid #d2dbd6; border-radius: var(--radius); overflow: hidden; }
.queue-card { display: grid; grid-template-columns: 155px minmax(0, 1fr); }
.wait-block { padding: 29px 14px; background: #edf1ec; border-right: 1px solid #d2dbd6; display: flex; flex-direction: column; align-items: center; }
.wait-label { font-size: 9px; font-weight: 700; letter-spacing: .13em; color: var(--muted); }
.wait-block > strong { margin-top: 9px; font-size: 78px; line-height: 1.05; font-weight: 500; letter-spacing: -.07em; font-variant-numeric: tabular-nums; }
.wait-block > span:not(.wait-label) { font-size: 14px; color: var(--muted); margin-top: 0; }
.wait-block > small { font-size: 10px; font-weight: 600; margin-top: 17px; padding-top: 13px; border-top: 1px solid #dcba74; color: var(--amber-ink); width: 100%; text-align: center; }
.queue-card.is-aged { border-color: #d8b873; }
.is-aged > .wait-block { background: #f5dfae; border-right-color: #d8b873; }
.is-aged .wait-label, .is-aged .wait-block > span:not(.wait-label), .is-aged .wait-block > strong { color: #654717; }
.request-content { padding: 24px 28px; min-width: 0; }
.request-topline { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 12px; }
.category { text-transform: uppercase; font-size: 10px; font-weight: 700; letter-spacing: .12em; color: var(--muted); }
.request-id { display: inline-flex; align-items: center; gap: 8px; padding: 5px 0; min-height: 44px; color: var(--muted); text-decoration: none; font-size: 12px; white-space: nowrap; }
.request-id:hover { text-decoration: underline; color: var(--ink); }
.request-mainline { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; }
.request-mainline > div { min-width: 0; }
.request-mainline h2, .request-mainline h3 { font-size: 22px; }
.request-mainline h2 a, .request-mainline h3 a { text-decoration: none; }
.request-mainline h2 a:hover, .request-mainline h3 a:hover { text-decoration: underline; }
.purpose { color: var(--muted); margin-top: 6px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.amount { font-size: 24px; line-height: 1.35; font-weight: 600; letter-spacing: -.035em; font-variant-numeric: tabular-nums; white-space: normal; overflow-wrap: anywhere; }
.amount-unknown { font-size: 17px; color: var(--muted); letter-spacing: -.015em; }
.currency { color: var(--muted); font-size: 12px; font-weight: 500; letter-spacing: .04em; margin-left: 2px; }
.request-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; font-size: 12px; color: var(--muted); margin-top: 18px; }
.request-meta strong { color: #3c505b; }
.file-links { display: inline-flex; flex-wrap: wrap; gap: 8px 15px; max-width: 100%; }
.file-link { display: inline-flex; align-items: center; gap: 8px; color: #2d586c; font-size: 12px; font-weight: 550; min-height: 44px; max-width: 100%; text-decoration: none; }
.file-link:hover { text-decoration: underline; }
.file-link > span:last-child { overflow-wrap: anywhere; }
.file-icon { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #afc0c5; border-radius: 3px; background: #f4f6f2; width: 22px; height: 27px; font-size: 16px; font-weight: 400; }
.decision-form { display: grid; grid-template-columns: minmax(210px, 1.15fr) minmax(190px, 1fr) auto; gap: 16px; padding-top: 20px; margin-top: 18px; border-top: 1px solid var(--line); align-items: end; }
.decision-form .field { gap: 6px; }
.decision-form label { font-size: 12px; }
.decision-form .optional { font-size: 10px; padding-left: 3px; }
.decision-form select { font-size: 13px; }
.decision-form textarea { min-height: 48px; height: 48px; font-size: 14px; padding-top: 11px; }
.decision-form .button { font-size: 13px; white-space: nowrap; padding-left: 15px; padding-right: 15px; }
.decision-note { display: flex; align-items: baseline; gap: 16px; padding: 14px 17px; border-radius: 5px; background: #edf2ed; margin-top: 16px; font-size: 13px; }
.decision-note > span { color: var(--muted); flex-shrink: 0; font-size: 11px; }
.payment-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 25px; padding-top: 22px; border-top: 1px solid var(--line); }
.payment-actions form { display: flex; align-items: flex-end; gap: 14px; }
.payment-actions .field { flex: 1; }
.payment-actions label { font-size: 12px; }
.payment-actions .button { font-size: 12px; }
.payment-actions textarea { min-height: 48px; height: 48px; }
.payment-refuse { padding-left: 28px; border-left: 1px solid var(--line); }
.badge { display: inline-flex; align-items: center; border-radius: 4px; background: #e8ece8; color: #455962; min-height: 25px; font-size: 11px; line-height: 1.3; font-weight: 600; padding: 5px 9px; }
.badge-stage-44, .badge-pending { background: #e8eef0; color: #31586b; }
.badge-stage-46 { background: #eceafa; color: #5e4b85; }
.badge-stage-54 { background: #f1d8a7; color: #694515; }
.badge-stage-48, .badge-complete { background: #e5efe5; color: #2d6042; }
.badge-stage-50 { background: #f6e8e5; color: #913d36; }
.mine-card.is-correction { border-color: #d8b873; }
.correction-action { margin-top: 20px; padding: 15px 18px; background: var(--amber-soft); border: 1px solid #e4d0a5; border-radius: 5px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.correction-action strong { font-size: 13px; color: var(--amber-ink); }
.correction-action p { font-size: 12px; color: #77603a; margin-top: 3px; }
.correction-action .button { flex-shrink: 0; font-size: 12px; }
.mine-bottom { margin-top: 17px; padding-top: 10px; border-top: 1px solid #e4e7e0; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; }
.mine-bottom .text-link { font-size: 12px; }
.empty-state { padding: 60px 24px 66px; text-align: center; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.empty-symbol { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; width: 54px; height: 54px; background: #e5ebe5; color: #4c6755; font-size: 25px; margin-bottom: 19px; }
.empty-state h2 { font-size: 24px; }
.empty-state p:not(.eyebrow) { color: var(--muted); margin: 10px auto 0; max-width: 550px; font-size: 14px; }
.empty-state .button { margin-top: 26px; }
.error-state .empty-symbol { background: #f6e2dc; color: var(--red); }
.error-state h1 { font-size: 32px; }
.back-link { display: inline-flex; align-items: center; min-height: 44px; gap: 9px; text-decoration: none; font-size: 12px; color: var(--muted); margin-top: -16px; margin-bottom: 18px; }
.back-link:hover { text-decoration: underline; }
.detail-heading { align-items: flex-start; }
.heading-badges { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; margin-top: 16px; font-size: 12px; }
.detail-amount { padding-top: 24px; text-align: right; }
.detail-amount > .amount { display: block; font-size: 34px; }
.detail-amount > span:last-child { display: block; font-size: 12px; color: var(--muted); margin-top: 7px; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 24px; align-items: start; }
.detail-main, .detail-sidebar { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.detail-main > .notice { margin-bottom: 0; }
.detail-sidebar .panel { padding: 24px; }
.detail-sidebar h2 { font-size: 18px; }
.data-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 23px 30px; }
.data-grid > div { min-width: 0; }
.data-grid dt, .side-data dt { font-size: 11px; color: var(--muted); margin-bottom: 6px; }
.data-grid dd { margin: 0; font-size: 15px; overflow-wrap: anywhere; }
.data-grid .amount { font-size: 19px; }
.multiline { white-space: pre-wrap; overflow-wrap: anywhere; }
.inline-note { font-size: 12px; line-height: 1.65; color: var(--muted); padding: 14px 0 0; border-top: 1px solid var(--line); margin-top: 22px; }
.inline-form { display: flex; align-items: flex-end; gap: 15px; margin-top: 20px; }
.inline-form .field { flex: 1; }
.inline-form .button { flex-shrink: 0; }
.resubmit-panel { background: #f3f5ed; }
.resubmit-panel p { font-size: 13px; line-height: 1.7; margin-top: 10px; }
.resubmit-panel form { margin-top: 20px; }
.timeline { list-style: none; padding: 0; margin-top: 20px; }
.timeline > li { padding: 0 0 26px 23px; border-left: 1px solid #bac8c7; position: relative; margin-left: 4px; }
.timeline > li::before { position: absolute; content: ""; width: 9px; height: 9px; background: #fff; border: 2px solid #5b7783; border-radius: 50%; top: 5px; left: -5px; }
.timeline > li:last-child { padding-bottom: 0; border-left-color: transparent; }
.timeline-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 5px 12px; color: var(--muted); font-size: 11px; }
.timeline-meta > span { font-size: 10px; }
.stage-path { display: flex; flex-wrap: wrap; gap: 5px 10px; margin-top: 8px; font-size: 13px; }
.stage-path > span:first-child { color: var(--muted); }
.path-arrow { color: #728c92; }
.timeline li > p { font-size: 11px; color: var(--muted); margin-top: 5px; }
.timeline > .empty-history { padding: 0; margin: 0; border: 0; }
.timeline > .empty-history::before { content: none; }
.empty-history { font-size: 13px; line-height: 1.6; color: var(--muted); }
.task-list { display: flex; flex-direction: column; gap: 20px; }
.task-item + .task-item { border-top: 1px solid var(--line); padding-top: 20px; }
.task-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.task-top h3 { font-size: 14px; line-height: 1.5; letter-spacing: 0; }
.task-top .badge { flex-shrink: 0; font-size: 10px; }
.task-assignee { font-size: 13px; margin-top: 8px; color: #425c68; }
.task-dates { display: flex; flex-wrap: wrap; gap: 10px 25px; font-size: 11px; color: var(--muted); margin-top: 9px; }
.task-dates div { display: flex; gap: 7px; }
.task-dates dd { margin: 0; }
.task-item > p:not(.task-assignee) { font-size: 13px; margin-top: 12px; }
.task-comment { padding: 10px 14px; border-left: 2px solid #adbdbc; background: #f0f3ed; }
.audit-list { display: flex; flex-direction: column; gap: 20px; }
.audit-item + .audit-item { border-top: 1px solid var(--line); padding-top: 20px; }
.audit-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 15px; margin-bottom: 12px; }
.audit-heading h3 { font-size: 14px; letter-spacing: 0; }
.audit-heading > span { font-size: 10px; color: var(--muted); }
.audit-values { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: 5px; overflow: hidden; }
.audit-values > div { padding: 12px 14px; background: #f4f3ef; min-width: 0; }
.audit-values > div + div { background: #edf3eb; border-left: 1px solid var(--line); }
.audit-values dt { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin-bottom: 5px; }
.audit-values dd { margin: 0; font-size: 13px; }
.side-data { display: flex; flex-direction: column; gap: 19px; margin-top: 22px; }
.side-data dd { font-size: 13px; margin: 0; }
.side-data dd.age-number { font-size: 28px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.attachment-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.attachment-list > li { min-width: 0; }
.attachment-list small { display: block; font-size: 10px; color: var(--muted); margin-left: 30px; margin-top: 3px; }
.attach-form { display: flex; flex-direction: column; gap: 13px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.attach-form label { font-size: 12px; }
.attach-form input[type="file"] { font-size: 11px; }
.attach-form input[type="file"]::file-selector-button { font-size: 11px; padding: 8px; }
.attach-form .button { font-size: 12px; }

@media (min-width: 1500px) {
  .main-content { padding-top: 48px; }
  .request-content { padding: 26px 32px; }
}
@media (max-width: 1180px) {
  .header-inner, .nav-inner, .main-content, .site-footer { width: calc(100% - 48px); }
  .login-layout { padding: 30px 20px; gap: 55px; grid-template-columns: minmax(0, 1fr) 380px; }
  .queue-summary { grid-template-columns: 190px 1fr 1fr; }
  .queue-summary > div { padding: 23px; }
  .summary-total { font-size: 24px; }
  .summary-waits dl { gap: 12px; grid-template-columns: 1fr; }
  .decision-form { grid-template-columns: 1fr 1fr; }
  .decision-submit { grid-column: 2; justify-self: end; }
  .payment-actions form { flex-direction: column; align-items: stretch; }
  .payment-actions .button { align-self: flex-start; }
  .payment-actions .field { width: 100%; }
  .form-layout { gap: 28px; grid-template-columns: minmax(0, 1fr) 230px; }
  .detail-layout { grid-template-columns: minmax(0, 1fr) 275px; gap: 20px; }
  .detail-main .panel { padding: 23px; }
  .form-grid { gap: 22px 18px; }
  .field label .optional { display: block; padding-left: 0; margin-top: 2px; }
}
@media (max-width: 900px) {
  .page-heading { align-items: flex-start; }
  .heading-note { padding-top: 2px; }
  .login-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 35px; padding: 25px 0; }
  .login-panel { padding: 28px; }
  .login-steps { flex-direction: column; gap: 15px; margin-top: 28px; }
  .login-steps li { display: flex; align-items: baseline; gap: 16px; padding-top: 9px; }
  .login-steps li > div { margin-top: 0; }
  .login-steps small { max-width: none; margin-top: 2px; }
  .queue-summary { grid-template-columns: 170px 1fr; }
  .summary-waits { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .queue-summary > .summary-waits { border-left: 0; padding-top: 15px; padding-bottom: 15px; }
  .summary-waits dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .summary-waits .summary-label { margin-bottom: 10px; }
  .queue-card { grid-template-columns: 117px minmax(0, 1fr); }
  .wait-block { padding: 29px 10px; }
  .wait-block > strong { font-size: 66px; }
  .request-content { padding: 21px; }
  .request-mainline { flex-direction: column; gap: 12px; }
  .request-mainline .amount { font-size: 24px; }
  .request-mainline h2, .request-mainline h3 { font-size: 21px; }
  .type-grid { grid-template-columns: 1fr 1fr; }
  .form-layout { grid-template-columns: 1fr; }
  .context-note { max-width: none; padding: 0; }
  .compact-steps { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; }
  .detail-layout { grid-template-columns: minmax(0, 1fr); }
  .detail-sidebar { display: grid; grid-template-columns: 1fr 1fr; align-items: start; }
  .task-top h3 { font-size: 14px; }
}
@media (max-width: 640px) {
  .header-inner, .nav-inner, .main-content, .site-footer { width: calc(100% - 32px); }
  .header-inner { min-height: 82px; gap: 10px; }
  .brand { gap: 9px; }
  .brand strong { font-size: 19px; }
  .brand small { font-size: 8px; letter-spacing: .08em; }
  .brand-mark { width: 27px; height: 33px; gap: 3px; }
  .brand-mark i { width: 5px; height: 20px; }
  .brand-mark i:nth-child(2) { height: 29px; }
  .brand-mark i:nth-child(3) { height: 23px; }
  .session { gap: 12px; }
  .session-name { font-size: 11px; }
  .session-name small { font-size: 9px; }
  .session .button { padding: 8px 10px; font-size: 11px; }
  .header-caption { font-size: 11px; max-width: 80px; text-align: right; }
  .nav-inner { gap: 0; flex-wrap: wrap; }
  .nav-inner > a { min-height: 50px; padding: 0 13px; font-size: 12px; }
  .nav-inner > a:first-child { padding-left: 0; }
  .nav-inner > .nav-create { margin-left: 0; }
  .nav-inner > a[aria-current]::after { left: 10px; right: 10px; }
  .nav-inner > a:first-child[aria-current]::after { left: 0; }
  .main-content { padding-top: 27px; padding-bottom: 44px; }
  .page-heading { flex-direction: column; gap: 19px; margin-bottom: 24px; }
  h1 { font-size: 31px; }
  h2 { font-size: 20px; }
  .eyebrow { font-size: 9px; margin-bottom: 9px; }
  .lead { font-size: 14px; margin-top: 10px; line-height: 1.6; }
  .heading-note { font-size: 11px; }
  .heading-note br { display: none; }
  .panel { padding: 21px 18px; }
  .section-heading { margin-bottom: 20px; }
  .section-heading > .muted { font-size: 10px; text-align: right; }
  .button { min-height: 48px; font-size: 13px; }
  .form-grid { grid-template-columns: 1fr; gap: 20px; }
  .field label .optional { display: inline; padding-left: 3px; }
  .form-actions > .button-primary { width: 100%; }
  .compact-steps { grid-template-columns: 1fr; gap: 0; }
  .compact-steps > li { padding-bottom: 20px; }
  .login-layout { grid-template-columns: 1fr; padding: 4px 0; gap: 25px; }
  .login-intro { padding: 2px 2px 0; }
  .login-intro h1 { font-size: 35px; }
  .login-intro > .lead { margin-top: 13px; font-size: 14px; }
  .login-steps { display: none; }
  .login-panel { padding: 26px 23px; }
  .login-panel h2 { font-size: 26px; }
  .queue-summary { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); }
  .queue-summary > div { padding: 18px 16px; }
  .summary-label { font-size: 9px; margin-bottom: 10px; }
  .summary-count > strong { font-size: 56px; }
  .summary-count > .muted { font-size: 10px; max-width: 80px; }
  .summary-total { font-size: 21px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
  .summary-total > span { font-size: 10px; margin-left: 0; }
  .summary-money > small { font-size: 10px; }
  .summary-waits dl { grid-template-columns: 1fr 1fr; gap: 8px 22px; }
  .summary-waits dl > div { font-size: 12px; }
  .type-breakdown summary { font-size: 12px; padding-left: 16px; }
  .type-grid { grid-template-columns: 1fr; padding: 3px 16px 17px; gap: 13px; }
  .type-item { flex-direction: row; align-items: flex-start; gap: 15px; font-size: 12px; }
  .type-item > div:last-child { text-align: right; min-width: 0; overflow-wrap: anywhere; }
  .list-heading { align-items: flex-start; margin-top: 25px; }
  .list-heading h2 { font-size: 19px; }
  .list-heading > .muted { text-align: right; font-size: 10px; max-width: 140px; }
  .queue-card { display: block; }
  .wait-block { display: grid; grid-template-columns: auto auto 1fr; align-items: baseline; gap: 0 8px; padding: 13px 18px; border-right: 0; border-bottom: 1px solid #d2dbd6; }
  .is-aged > .wait-block { border-bottom-color: #d8b873; }
  .wait-label { grid-column: 1 / -1; font-size: 9px; margin-bottom: 1px; }
  .wait-block > strong { margin-top: 0; font-size: 54px; line-height: 1; letter-spacing: -.06em; }
  .wait-block > span:not(.wait-label) { font-size: 12px; }
  .wait-block > small { justify-self: end; align-self: center; width: auto; padding-top: 0; border: 0; margin-top: 0; font-size: 10px; }
  .request-content { padding: 18px; }
  .request-topline { gap: 9px; margin-bottom: 10px; }
  .category { font-size: 9px; letter-spacing: .08em; }
  .request-id { font-size: 10px; min-height: 44px; padding: 0; }
  .request-mainline h2, .request-mainline h3 { font-size: 21px; }
  .request-mainline { gap: 12px; }
  .purpose { font-size: 13px; margin-top: 5px; }
  .request-meta { margin-top: 13px; gap: 7px 16px; font-size: 11px; }
  .file-link { min-height: 44px; }
  .decision-form { grid-template-columns: 1fr; gap: 16px; padding-top: 18px; margin-top: 16px; }
  .decision-form label { font-size: 12px; }
  .decision-form .optional { font-size: 10px; }
  .decision-form select { font-size: 14px; }
  .decision-form textarea { height: 72px; }
  .decision-submit { grid-column: auto; justify-self: stretch; }
  .notice { font-size: 13px; padding: 12px 14px; }
  .notice.compact { font-size: 12px; }
  .payment-actions { grid-template-columns: 1fr; gap: 22px; }
  .payment-refuse { padding-left: 0; padding-top: 22px; border-left: 0; border-top: 1px solid var(--line); }
  .payment-actions .button { align-self: stretch; }
  .decision-note { flex-direction: column; gap: 5px; align-items: flex-start; font-size: 12px; }
  .badge { font-size: 10px; max-width: 230px; }
  .correction-action { flex-direction: column; align-items: stretch; gap: 13px; padding: 14px; }
  .mine-bottom > .muted { font-size: 10px; }
  .mine-bottom .text-link { font-size: 11px; }
  .detail-heading { gap: 12px; }
  .detail-amount { padding-top: 0; text-align: left; }
  .detail-amount > .amount { font-size: 29px; }
  .detail-amount > span:last-child { margin-top: 4px; }
  .heading-badges { gap: 8px; font-size: 11px; }
  .detail-main .panel, .detail-sidebar .panel { padding: 21px 18px; }
  .detail-sidebar { display: flex; }
  .data-grid { gap: 22px 18px; }
  .data-grid dd { font-size: 13px; }
  .data-grid dt { font-size: 10px; }
  .data-grid .amount { font-size: 16px; white-space: normal; }
  .data-grid .currency { font-size: 10px; }
  .inline-form { flex-direction: column; align-items: stretch; }
  .resubmit-panel .button { width: 100%; }
  .task-top { flex-direction: column; gap: 8px; }
  .task-dates { flex-direction: column; gap: 5px; }
  .audit-values { grid-template-columns: 1fr; }
  .audit-values > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .site-footer { font-size: 10px; padding-top: 16px; padding-bottom: 18px; gap: 12px; }
  .site-footer > span:last-child { text-align: right; }
  .empty-state { padding: 40px 18px; }
  .empty-state h2 { font-size: 22px; }
}
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.people-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.people-add .form-actions > .muted { font-size: 13px; }
.people-section { margin-top: 32px; }
.people-list { display: flex; flex-direction: column; gap: 12px; }
.person-card { padding: 20px 28px; }
.person-summary { display: flex; align-items: center; gap: 22px; }
.person-heading { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.person-heading h3 { font-size: 18px; }
.person-heading p { font-size: 13px; margin-top: 4px; }
.person-summary .badge { flex-shrink: 0; }
.person-summary .button { min-width: 100px; }
.person-edit { margin-top: 8px; }
.person-edit > summary { cursor: pointer; padding: 12px 0; min-height: 44px; font-size: 13px; font-weight: 600; }
.person-edit[open] > summary { margin-bottom: 12px; }
.person-edit .form-actions { margin-top: 20px; padding-top: 20px; }
.unread-count { display: inline-flex; align-items: center; justify-content: center; min-width: 25px; height: 25px; padding: 0 7px; border-radius: 20px; background: #e8ece8; color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.unread-count.has-unread { color: var(--amber-ink); background: #f1d8a7; }
.search-filters { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 18px; margin-bottom: 24px; }
.search-filters > .field { flex: 1 1 260px; }
.search-filters > .search-field { flex-grow: 2; }
.search-filters > .button, .search-filters > .text-link { flex-shrink: 0; }
.event-list { display: flex; flex-direction: column; gap: 14px; }
.event-card { border-left: 4px solid var(--line); }
.event-card.is-unread { border-left-color: #c79031; background: #fffaf0; }
.event-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.event-heading h2 { margin-top: 9px; }
.event-heading > form { flex-shrink: 0; }
.event-meta { display: flex; align-items: center; gap: 12px; font-size: 12px; color: var(--muted); }
.badge-new { background: #f1d8a7; color: var(--amber-ink); }
.event-request { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; margin-top: 10px; font-size: 13px; overflow-wrap: anywhere; }
.event-request > span { color: var(--muted); }
.event-card .task-comment { margin-top: 12px; font-size: 14px; }
.event-assignees { margin-top: 12px; font-size: 12px; color: var(--muted); }
@media (max-width: 700px) {
  .people-fields { grid-template-columns: 1fr; gap: 20px; }
  .person-card { padding: 18px; }
  .person-summary { flex-wrap: wrap; gap: 12px; }
  .person-heading { flex-basis: calc(100% - 100px); }
  .person-summary > form { width: 100%; }
  .person-summary .button { width: 100%; }
  .people-section { margin-top: 24px; }
  .search-filters > .field { flex-basis: 100%; }
  .event-heading { flex-direction: column; align-items: flex-start; gap: 12px; }
  .event-heading > form, .event-heading .button { width: 100%; }
  .event-card { padding: 20px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
