/* Claimant portal. Tokens only. Fixed navy sidebar + top bar + screens. */

.wg-portal { display: grid; grid-template-columns: 252px 1fr; min-height: calc(100vh - 123px); background: var(--paper-cool); }

/* Sign in */
.wg-signin { display: grid; grid-template-columns: 1.1fr 1fr; min-height: calc(100vh - 123px); }
.wg-signin__panel { position: relative; background: var(--navy-800); overflow: hidden; }
.wg-signin__panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wg-signin__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(29,44,76,0.58) 0%, rgba(20,32,56,0.92) 100%); }
.wg-signin__panel-inner { position: relative; height: 100%; padding: var(--space-16); display: flex; flex-direction: column; justify-content: space-between; }
.wg-signin__panel h1 { margin: var(--space-6) 0; font-family: var(--font-heading); font-size: var(--size-display-3); font-weight: var(--weight-regular); line-height: var(--leading-tight); letter-spacing: var(--tracking-display); color: #fff; max-width: 20ch; text-wrap: pretty; }
.wg-signin__panel p { margin: 0; max-width: 44ch; font-size: var(--size-body-sm); line-height: var(--leading-body); color: var(--text-inverse-muted); }
.wg-signin__secure { font-family: var(--font-mono); font-size: var(--size-micro); color: rgba(255,255,255,0.44); }
.wg-signin__form { background: var(--paper-cool); display: flex; align-items: center; justify-content: center; padding: var(--space-16) var(--space-10); }
.wg-signin__form-inner { width: 380px; max-width: 100%; }
.wg-signin__form h2 { margin: 0; font-size: var(--size-h1); font-weight: var(--weight-regular); }
.wg-signin__form p { margin: var(--space-4) 0 var(--space-8); font-size: var(--size-body-sm); color: var(--text-muted); line-height: var(--leading-body); }
.wg-signin__foot { margin: var(--space-8) 0 0; padding-top: var(--space-6); border-top: 1px solid var(--border-hairline); font-size: var(--size-caption); color: var(--text-muted); line-height: 1.7; }

/* Sidebar */
.wg-portal__sidebar { background: var(--navy-800); display: flex; flex-direction: column; padding: var(--space-6) var(--space-5); }
.wg-portal__brand-k { font-family: var(--font-label); font-size: var(--size-micro); font-weight: var(--weight-bold); letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--gold-400); }
.wg-portal__brand-n { margin-top: var(--space-3); font-family: var(--font-heading); font-size: var(--size-h4); color: #fff; }
.wg-portal__brand-r { margin-top: 2px; font-family: var(--font-mono); font-size: var(--size-micro); color: rgba(255,255,255,0.5); }
.wg-portal__nav { margin-top: var(--space-8); display: flex; flex-direction: column; gap: 2px; }
.wg-portal__navlink { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3); border-radius: var(--radius-sm); border-bottom: 0; border-left: 2px solid transparent; background: transparent; color: rgba(255,255,255,0.68); font-family: var(--font-label); font-size: var(--size-body-sm); }
.wg-portal__navlink:hover { color: #fff; background: rgba(255,255,255,0.05); }
.wg-portal__navlink.is-on { background: rgba(255,255,255,0.08); border-left-color: var(--gold-500); color: #fff; font-weight: var(--weight-bold); }
.wg-portal__count { margin-left: auto; font-family: var(--font-mono); font-size: var(--size-micro); background: var(--gold-500); color: var(--navy-900); border-radius: var(--radius-xs); padding: 1px 5px; }
.wg-portal__user { margin-top: auto; padding-top: var(--space-6); border-top: 1px solid var(--border-inverse); display: flex; align-items: center; gap: var(--space-3); }
.wg-portal__avatar { width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,0.12); display: flex; align-items: center; justify-content: center; font-family: var(--font-label); font-size: 11px; font-weight: var(--weight-bold); color: #fff; flex: 0 0 auto; }
.wg-portal__user-name { display: block; font-size: var(--size-caption); color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wg-portal__user-ref { display: block; font-family: var(--font-mono); font-size: var(--size-micro); color: rgba(255,255,255,0.5); }

/* Main + top bar */
.wg-portal__main { min-width: 0; }
.wg-topbar { background: var(--surface-card); border-bottom: 1px solid var(--border-hairline); padding: var(--space-6) var(--space-10); display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6); }
.wg-topbar__crumb { font-family: var(--font-label); font-size: var(--size-micro); font-weight: var(--weight-bold); letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--text-subtle); }
.wg-topbar h1 { margin: var(--space-2) 0 0; font-size: var(--size-h1); font-weight: var(--weight-regular); }
.wg-topbar__actions { margin-left: auto; display: flex; align-items: center; gap: var(--space-3); }
.wg-topbar__secure { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-mono); font-size: var(--size-micro); color: var(--status-upheld); }
.wg-pad { padding: var(--space-10); }

.wg-panelhead { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-5); }
.wg-panelhead h2 { margin: 0; font-size: var(--size-h3); font-weight: var(--weight-regular); }
.wg-panelhead p { margin: var(--space-2) 0 0; font-size: var(--size-caption); color: var(--text-muted); }

.wg-portal-2col { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--space-8); align-items: start; }
.wg-portal-2col--even { grid-template-columns: 1fr 1fr; }
.wg-portal-2col--msg { grid-template-columns: 1fr 320px; }
.wg-portal-3col { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
.wg-portal-4col { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
.wg-col { display: flex; flex-direction: column; gap: var(--space-8); }

/* Task list rows */
.wg-task-row { display: flex; flex-wrap: wrap; gap: var(--space-6); align-items: flex-start; }
.wg-task-row__end { display: flex; flex-direction: column; gap: var(--space-2); align-items: flex-end; }
.wg-portal-timeline-row { display: grid; grid-template-columns: 120px 1fr; gap: var(--space-8); padding: var(--space-5) 0; border-top: 1px solid var(--border-hairline); border-left: 3px solid transparent; padding-left: var(--space-5); }
.wg-portal-timeline-row.is-mine { border-left-color: var(--gold-500); }
.wg-portal-timeline-row:first-child { border-top: 0; }

/* Messages */
.wg-msg { display: flex; gap: var(--space-4); }
.wg-msg.is-me { flex-direction: row-reverse; }
.wg-msg__avatar { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: var(--navy-50); border: 1px solid var(--border-hairline); display: flex; align-items: center; justify-content: center; font-family: var(--font-label); font-size: 11px; font-weight: var(--weight-bold); color: var(--navy-600); }
.wg-msg.is-me .wg-msg__avatar { background: var(--navy-800); color: #fff; }
.wg-msg__bubble { max-width: 72%; }
.wg-msg__meta { display: flex; gap: var(--space-3); align-items: baseline; }
.wg-msg.is-me .wg-msg__meta { justify-content: flex-end; }
.wg-msg__body { margin-top: var(--space-2); padding: var(--space-5); background: var(--surface-card); border: 1px solid var(--border-hairline); border-radius: var(--radius-md); font-size: var(--size-body-sm); line-height: var(--leading-body); color: var(--text-body); }
.wg-msg.is-me .wg-msg__body { background: var(--navy-50); }
.wg-msg-thread { display: flex; flex-direction: column; gap: var(--space-6); }

/* Documents table */
.wg-doctable__head, .wg-doctable__row { display: grid; grid-template-columns: 1fr 80px 90px 120px 150px; gap: var(--space-4); align-items: center; }
.wg-doctable__head { padding-bottom: var(--space-3); border-bottom: 2px solid var(--navy-200); }
.wg-doctable__head span { font-family: var(--font-label); font-size: var(--size-micro); font-weight: var(--weight-bold); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-subtle); }
.wg-doctable__row { padding: var(--space-4) 0; border-top: 1px solid var(--border-hairline); }

/* Settlement readiness rail */
.wg-ready { padding-top: var(--space-4); border-top: 3px solid var(--navy-100); }
.wg-ready.is-ok { border-top-color: var(--status-upheld); }
.wg-ready__h { display: flex; align-items: center; gap: var(--space-2); font-family: var(--font-label); font-size: var(--size-caption); font-weight: var(--weight-bold); }
.wg-ready__n { margin-top: var(--space-2); font-family: var(--font-mono); font-size: var(--size-micro); color: var(--text-subtle); }

.wg-portal-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6); }
.wg-signature-box { padding: var(--space-6); background: var(--navy-50); border-radius: var(--radius-md); }
.wg-signature-box__label { font-family: var(--font-label); font-size: var(--size-micro); font-weight: var(--weight-bold); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--text-subtle); }
.wg-signature-box__name { margin-top: var(--space-3); font-family: var(--font-heading); font-style: italic; font-size: var(--size-h1); color: var(--navy-800); min-height: 44px; }
.wg-signature-box__stamp { margin-top: var(--space-2); font-family: var(--font-mono); font-size: var(--size-micro); color: var(--text-subtle); }
.wg-agreement { margin-top: var(--space-5); max-height: 300px; overflow-y: auto; padding-right: var(--space-4); display: flex; flex-direction: column; gap: var(--space-4); }
.wg-agreement p { margin: 0; font-size: var(--size-body-sm); line-height: var(--leading-body); color: var(--text-body); }

/* Portal footer strip already styled in site.css */

@media (max-width: 1180px) {
	.wg-portal { grid-template-columns: 1fr; }
	.wg-portal__sidebar { flex-direction: row; flex-wrap: wrap; align-items: center; gap: var(--space-5); }
	.wg-portal__nav { flex-direction: row; flex-wrap: wrap; margin-top: 0; gap: var(--space-2); order: 3; width: 100%; }
	.wg-portal__navlink { border-left: 0; border-bottom: 2px solid transparent; }
	.wg-portal__navlink.is-on { border-left: 0; border-bottom-color: var(--gold-500); }
	.wg-portal__user { margin-top: 0; margin-left: auto; padding-top: 0; border-top: 0; }
	.wg-signin { grid-template-columns: 1fr; }
	.wg-signin__panel { min-height: 240px; }
	.wg-portal-2col, .wg-portal-2col--even, .wg-portal-2col--msg { grid-template-columns: 1fr; }
	.wg-portal-3col { grid-template-columns: 1fr; }
	.wg-portal-4col { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
	.wg-portal-form-grid { grid-template-columns: 1fr; }
	.wg-doctable__head, .wg-doctable__row { grid-template-columns: 1fr auto; }
	.wg-doctable__head span:not(:first-child):not(:last-child), .wg-doctable__row > :not(:first-child):not(:last-child) { display: none; }
}
