/* Applicant center and shared support cases. Account approval stays independent. */
.application-auth{max-width:540px;margin:30px auto}.application-auth h2{font-size:23px}.application-auth form{display:grid;gap:7px;margin:25px 0 18px}.application-auth form label{font-size:12px;margin-top:8px}.application-auth input,.support-create input,.support-create select,.support-create textarea,.support-reply textarea,.support-reply select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);padding:10px 12px;font-size:12px}.application-auth form .button{margin-top:17px;min-height:44px}.application-text-link{display:inline-block;font-size:12px;color:var(--accent);margin-top:20px;text-underline-offset:4px}.application-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;margin:0 0 22px;padding:0;background:#fff;border:1px solid var(--line);border-radius:5px}.application-progress li{display:flex;gap:12px;align-items:flex-start;padding:23px;position:relative;min-width:0}.application-progress li+li{border-left:1px solid var(--line)}.progress-mark{display:flex;align-items:center;justify-content:center;flex:0 0 29px;width:29px;height:29px;background:#f2f2f4;color:var(--muted);border-radius:50%;font:11px/1 var(--mono)}.application-progress li[data-state=complete] .progress-mark{color:#22674f;background:#eaf5ed}.application-progress li[data-state=current] .progress-mark{color:var(--accent);background:var(--soft)}.application-progress li[data-state=rejected] .progress-mark{color:#a32e25;background:#fff0ec}.progress-title{font-size:13px;font-weight:550}.progress-description{font-size:10px;color:var(--muted);line-height:1.9;margin-top:5px;overflow-wrap:anywhere}.application-overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.application-next{display:flex;align-items:flex-start;flex-direction:column}.application-next>.meta{margin-top:auto;padding-top:20px}.application-review-reason{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;border-left:2px solid var(--accent);padding:10px 12px;background:#fff6f2;margin:0 0 20px;width:100%}.application-shell .sidebar nav{gap:9px}.application-shell .sidebar nav .nav-link{font-size:13px}.application-shell .coverage-facts{display:block}.application-auth .section-notice{line-height:1.9}.application-page .sidebar .brand{cursor:default}

/* Shared ticket queue and thread, used by applicant and administrator portals. */
.support-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 27px; }
.support-summary .stat-card { background: #fafafb; padding: 14px 15px; }
.support-summary .stat-value { font-size: 24px; }
.support-summary .stat-description { font-size: 12px; }
.support-columns { display: grid; grid-template-columns: minmax(260px,.9fr) minmax(0,1.45fr); align-items: start; gap: 24px; border-top: 1px solid var(--line); margin-top: 23px; padding-top: 22px; }
.support-queue, .support-thread { min-width: 0; }
.support-section-title { font-size: 15px; margin-bottom: 15px; }
.support-queue .filter-bar { gap: 9px; margin-bottom: 12px; }
.support-queue .filter-bar label { font-size: 12px; }
.support-queue .filter-bar .search-label { flex-basis: 100%; min-width: 0; max-width: none; }
.support-queue .filter-bar select { min-width: 140px; }
.support-queue .filter-bar input, .support-queue .filter-bar select { font-size: 13px; min-height: 40px; }
.support-queue .filter-bar .button { font-size: 12px; min-height: 38px; padding: 8px 12px; }
.support-queue #support-list-status { min-height: 24px; margin: 10px 0; font-size: 12px; line-height: 1.8; }
.support-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; max-height: min(62vh,720px); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; border: 1px solid var(--line); border-radius: 5px; }
.support-list:empty { border: 0; }
.support-list > li + li { border-top: 1px solid var(--line); }
.support-item { width: 100%; text-align: left; padding: 14px 13px; border: 0; border-left: 3px solid transparent; background: #fff; color: var(--ink); white-space: normal; }
.support-item:hover { background: #faf7f5; }
.support-item[aria-current=true] { border-left-color: var(--accent); background: #fff3ec; }
.support-item:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.support-item-top { display: flex; gap: 10px; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; }
.support-item-title { font-size: 14px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.support-item .badge { flex-shrink: 0; white-space: nowrap; font-size: 11px; padding: 4px 7px; }
.support-item-facts { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 12px; line-height: 1.7; color: var(--muted); margin-bottom: 3px; }
.support-item-id { font-family: var(--mono); color: var(--ink); }
.support-item-meta { font-size: 12px; color: var(--muted); overflow-wrap: anywhere; line-height: 1.7; }
.support-item-owner { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.support-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 9px; margin-top: 16px; }
.support-pagination > div { display: flex; gap: 6px; }
.support-pagination .meta { font-size: 12px; }
.support-pagination .button { font-size: 12px; padding: 7px 10px; min-height: 34px; }
.support-thread { border-left: 1px solid var(--line); padding-left: 24px; scroll-margin-top: 20px; }
.support-empty { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 300px; font-size: 14px; line-height: 2; color: var(--muted); background: #fafafb; border-radius: 5px; padding: 25px; }
.support-thread-header { padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.support-thread-header h3 { font-size: 21px; line-height: 1.5; overflow-wrap: anywhere; margin: 12px 0 10px; }
.support-thread-header h3:focus { outline: none; }
.support-thread-header .button { font-size: 12px; margin-top: 12px; padding: 7px 11px; min-height: 34px; }
#support-detail-meta { font-size: 12px; line-height: 1.9; overflow-wrap: anywhere; }
#support-detail-meta > span { display: block; }
.support-detail-reference { font-family: var(--mono); }
#support-detail-status { font-size: 12px; line-height: 1.8; margin: 14px 0; }
.support-messages { list-style: none; margin: 0; padding: 0; display: grid; gap: 13px; max-height: 560px; overflow-y: auto; overscroll-behavior: contain; }
.support-message { background: #f7f7f9; border: 1px solid #ededf0; border-radius: 5px; padding: 16px; }
.support-message[data-author=admin] { background: #fff6f1; border-color: #f1ded5; }
.support-message-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 5px 12px; font-size: 12px; line-height: 1.7; color: var(--muted); margin-bottom: 10px; }
.support-message-header strong { color: var(--ink); font-weight: 600; }
.support-message-body { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.9; }
.support-reply { margin-top: 23px; padding-top: 18px; border-top: 1px solid var(--line); }
.support-reply label, .support-create label { display: block; font-size: 13px; margin-bottom: 8px; }
.support-reply textarea, .support-create textarea { min-height: 110px; display: block; resize: vertical; font-size: 14px; line-height: 1.8; }
.support-create input, .support-create select, .support-reply select { font-size: 14px; }
.support-reply select { display: block; max-width: 230px; margin-top: 6px; }
.support-reply #support-reply-state-label { margin-top: 15px; }
.support-reply .meta, .support-create .meta { margin-top: 9px; font-size: 12px; line-height: 1.8; }
.support-actions { display: flex; gap: 9px; flex-wrap: wrap; justify-content: flex-end; margin-top: 16px; }
.support-create { background: #fafafb; margin: 22px 0; }
.support-create h3 { font-size: 16px; margin-bottom: 17px; }
.support-form-grid { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 14px; margin-bottom: 15px; }
.support-form-grid label { margin: 0; }
.support-form-grid input, .support-form-grid select { display: block; margin-top: 7px; }
.support-write-feedback { font-size: 13px; line-height: 1.8; padding: 10px 12px; margin-top: 12px; background: #fff4ef; border-left: 2px solid var(--accent); overflow-wrap: anywhere; }
.support-write-feedback[data-state=error] { color: #992d24; }
.support-receipt { margin-top: 18px; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.support-retry { margin-bottom: 24px; }
.support-retry p { font-size: 13px; line-height: 1.8; }
.support-retry .support-actions { justify-content: flex-start; }
.badge[data-state=open] { color: #8c5625; background: #fff2df; }
.badge[data-state=awaiting_applicant] { color: #9c3b26; background: #fff0e9; }
.badge[data-state=resolved] { color: #22674f; background: #eaf5ed; }
.support-stale { opacity: .7; }

@media (max-width: 1150px) {
  .support-columns { grid-template-columns: minmax(235px,.85fr) minmax(0,1.2fr); gap: 18px; }
  .support-thread { padding-left: 18px; }
  .application-progress li { padding: 18px 14px; gap: 9px; }
  .application-overview-grid { grid-template-columns: 1fr 1fr; }
  .application-shell .coverage-facts > div { grid-template-columns: 90px 1fr; }
}
@media (max-width: 950px) {
  .support-columns { grid-template-columns: minmax(0,1fr); }
  .support-thread { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; padding-top: 22px; }
  .support-list { max-height: 330px; }
  .support-summary { gap: 8px; }
  .application-overview-grid { grid-template-columns: 1fr; }
  .application-progress li { display: block; }
  .progress-mark { margin-bottom: 9px; }
}
@media (max-width: 520px) {
  .application-auth { margin-top: 22px; }
  .application-auth h2 { font-size: 21px; }
  .application-progress { grid-template-columns: 1fr; }
  .application-progress li { display: flex; padding: 17px; }
  .application-progress li + li { border-left: 0; border-top: 1px solid var(--line); }
  .progress-mark { margin: 0; }
  .application-overview-grid { gap: 12px; }
  .support-summary { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 22px; }
  .support-summary .stat-card { padding: 12px; }
  .support-columns { margin-top: 18px; padding-top: 18px; }
  .support-list { max-height: 280px; }
  .support-item { padding: 12px; }
  .support-form-grid { grid-template-columns: 1fr; }
  .support-create { padding: 17px 13px; }
  .support-actions .button { flex: 1; }
  .support-thread-header h3 { font-size: 19px; }
  .support-messages { max-height: 450px; }
  .support-message { padding: 14px 12px; }
  .application-shell .sidebar nav { gap: 20px; justify-content: flex-start; }
  .application-shell .sidebar .brand { font-size: 18px; }
  .application-shell .coverage-facts > div { grid-template-columns: 90px 1fr; }
}
