.workspace-page {
	width: min(calc(100% - 3rem), 88rem);
	margin: 0 auto;
	padding: 1.25rem 0 5rem;
}

.workspace-loading {
	align-items: center;
	display: flex;
	gap: .8rem;
	min-height: 55vh;
	justify-content: center;
	color: var(--muted-foreground);
}

.workspace-loading span {
	border: 2px solid var(--border);
	border-top-color: var(--foreground);
	border-radius: 50%;
	height: 1.4rem;
	width: 1.4rem;
	animation: hire-spin .8s linear infinite;
}

@keyframes hire-spin { to { transform: rotate(360deg); } }

.hire-shell { padding-top: 3rem; }
.hire-topbar { align-items: end; display: flex; gap: 2rem; justify-content: space-between; padding-bottom: 1.5rem; }
.hire-topbar h1 { color: var(--foreground); font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.05em; line-height: 1; margin: .5rem 0 0; }
.hire-eyebrow { color: var(--muted-foreground); font-family: var(--font-mono); font-size: .78rem; font-weight: 650; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.hire-account { align-items: center; display: flex; gap: .8rem; }
.hire-account img, .hire-avatar { border: 1px solid var(--border); border-radius: 50%; height: 2.5rem; object-fit: cover; width: 2.5rem; }
.hire-avatar { align-items: center; display: flex; font-weight: 800; justify-content: center; }
.hire-account-copy { display: grid; font-size: .82rem; line-height: 1.4; }
.hire-account-copy strong { color: var(--foreground); }
.hire-account-copy span { color: var(--muted-foreground); }
.hire-link-button { background: none; border: 0; color: var(--accent-link); cursor: pointer; font: inherit; font-weight: 750; padding: .2rem 0; text-decoration: underline; text-underline-offset: 3px; }

.hire-layout { border-top: 1px solid var(--border); display: grid; grid-template-columns: 14rem minmax(0, 1fr); min-height: 38rem; }
.hire-nav { border-right: 1px solid var(--border); display: grid; align-content: start; padding: 1.5rem 1.5rem 1.5rem 0; }
.hire-nav button { background: transparent; border: 0; border-radius: .45rem; color: var(--muted-foreground); cursor: pointer; font: inherit; font-size: .94rem; font-weight: 700; padding: .75rem; text-align: left; }
.hire-nav button:hover, .hire-nav button:focus-visible { background: var(--muted); color: var(--foreground); }
.hire-nav button[aria-current="page"] { background: var(--foreground); color: var(--background); }
.hire-content { min-width: 0; padding: 2rem 0 2rem 2.5rem; }

.hire-section-header { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1.5rem; }
.hire-section-header h2 { color: var(--foreground); font-size: clamp(1.7rem, 3vw, 2.5rem); letter-spacing: -.045em; line-height: 1.05; margin: .5rem 0 0; }
.hire-section-header p:last-child { color: var(--muted-foreground); margin: .5rem 0 0; max-width: 44rem; line-height: 1.6; }
.hire-button { align-items: center; background: var(--foreground); border: 1px solid var(--foreground); border-radius: 999px; color: var(--background); cursor: pointer; display: inline-flex; font: inherit; font-size: .92rem; font-weight: 800; justify-content: center; min-height: 44px; padding: .65rem 1rem; text-decoration: none; }
.hire-button:hover, .hire-button:focus-visible { transform: translateY(-1px); }
.hire-button-secondary { background: transparent; border-color: var(--control-border); color: var(--foreground); }
.hire-button-danger { background: transparent; border-color: var(--control-border); color: var(--foreground); }
.hire-button-small { min-height: 36px; padding: .45rem .8rem; font-size: .82rem; }
.hire-button[disabled] { cursor: not-allowed; opacity: .55; transform: none; }

.hire-metrics { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); background: var(--border); border: 1px solid var(--border); }
.hire-metric { background: var(--card); padding: 1.2rem; }
.hire-metric strong { color: var(--foreground); display: block; font-size: 1.8rem; letter-spacing: -.04em; }
.hire-metric span { color: var(--muted-foreground); font-size: .85rem; }
.hire-next { border-left: 3px solid var(--foreground); margin-top: 2rem; padding: .3rem 0 .3rem 1.3rem; }
.hire-next h3 { color: var(--foreground); margin: 0; }
.hire-next p { color: var(--muted-foreground); line-height: 1.65; max-width: 46rem; }

.hire-list { border-top: 1px solid var(--border); }
.hire-list-item { align-items: start; background: transparent; border: 0; border-bottom: 1px solid var(--border); color: inherit; cursor: pointer; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; padding: 1.2rem 0; text-align: left; width: 100%; }
.hire-list-item:hover h3, .hire-list-item:focus-visible h3 { color: var(--accent-link); }
.hire-list-item h3 { color: var(--foreground); font-size: 1.05rem; margin: 0; }
.hire-list-item p { color: var(--muted-foreground); line-height: 1.55; margin: .35rem 0 0; }
.hire-list-meta { color: var(--muted-foreground); font-size: .78rem; text-align: right; }
.hire-status { border: 1px solid var(--border); border-radius: 999px; color: var(--foreground); display: inline-flex; font-family: var(--font-mono); font-size: .67rem; font-weight: 700; letter-spacing: .05em; padding: .3rem .55rem; text-transform: uppercase; }
.hire-status[data-status="ACTIVE"], .hire-status[data-status="ON_TRACK"], .hire-status[data-status="PAID"] { background: var(--selection); color: #171717; border-color: transparent; }
.hire-status[data-status="BLOCKED"], .hire-status[data-status="URGENT"], .hire-status[data-status="FAILED"] { border-color: #c75f4f; color: #a13f31; }

.hire-empty { border: 1px dashed var(--border); padding: 3rem 1.5rem; text-align: center; }
.hire-empty h3 { color: var(--foreground); margin: 0; }
.hire-empty p { color: var(--muted-foreground); line-height: 1.65; margin: .7rem auto 1.2rem; max-width: 34rem; }

.hire-form { display: grid; gap: 1rem; }
.hire-form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hire-field { display: grid; gap: .4rem; }
.hire-field-full { grid-column: 1 / -1; }
.hire-field label, .hire-label { color: var(--foreground); font-size: .86rem; font-weight: 750; }
.hire-field input, .hire-field select, .hire-field textarea {
	background: var(--card);
	border: 1px solid var(--control-border);
	border-radius: .45rem;
	color: var(--foreground);
	font: inherit;
	font-size: .95rem;
	padding: .75rem;
	width: 100%;
}
.hire-field textarea { line-height: 1.55; min-height: 8rem; resize: vertical; }
.hire-field input:focus, .hire-field select:focus, .hire-field textarea:focus { border-color: var(--border-strong); outline: 2px solid transparent; box-shadow: 0 0 0 2px var(--ring); }
.hire-help { color: var(--muted-foreground); font-size: .75rem; line-height: 1.5; margin: 0; }
.hire-form-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; }
.hire-form-error { color: #a13f31; font-size: .86rem; margin: 0; }

.hire-detail-back { margin-bottom: 1.2rem; }
.hire-detail-hero { border-bottom: 1px solid var(--border); padding-bottom: 1.5rem; }
.hire-detail-hero h2 { color: var(--foreground); font-size: clamp(1.8rem, 3vw, 3rem); letter-spacing: -.05em; line-height: 1.05; margin: .7rem 0; }
.hire-detail-hero p { color: var(--muted-foreground); line-height: 1.7; }
.hire-detail-meta { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; color: var(--muted-foreground); font-size: .8rem; }
.hire-detail-grid { display: grid; gap: 2.5rem; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .7fr); padding-top: 2rem; }
.hire-block + .hire-block { border-top: 1px solid var(--border); margin-top: 2rem; padding-top: 2rem; }
.hire-block h3 { color: var(--foreground); font-size: 1.2rem; margin: 0 0 1rem; }
.hire-copy { color: var(--muted-foreground); line-height: 1.75; white-space: pre-wrap; }
.hire-side-card { border: 1px solid var(--border); padding: 1rem; }
.hire-side-card + .hire-side-card { margin-top: 1rem; }
.hire-side-card h3 { margin-bottom: .7rem; }
.hire-definition { display: grid; gap: .75rem; margin: 0; }
.hire-definition div { display: grid; gap: .15rem; }
.hire-definition dt { color: var(--muted-foreground); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
.hire-definition dd { color: var(--foreground); font-weight: 700; margin: 0; }

.hire-chat { border: 1px solid var(--border); }
.hire-messages { display: grid; gap: 1rem; max-height: 28rem; min-height: 12rem; overflow-y: auto; padding: 1rem; }
.hire-message { max-width: 82%; }
.hire-message[data-mine="true"] { justify-self: end; }
.hire-message-meta { color: var(--muted-foreground); display: flex; gap: .5rem; font-size: .7rem; margin-bottom: .3rem; }
.hire-message-body { background: var(--muted); border-radius: .65rem; color: var(--foreground); line-height: 1.55; padding: .7rem .85rem; white-space: pre-wrap; }
.hire-message[data-mine="true"] .hire-message-body { background: var(--foreground); color: var(--background); }
.hire-chat-form { border-top: 1px solid var(--border); display: grid; gap: .7rem; grid-template-columns: 1fr auto; padding: .8rem; }
.hire-chat-form textarea { background: var(--card); border: 1px solid var(--control-border); border-radius: .45rem; color: var(--foreground); font: inherit; min-height: 3rem; padding: .65rem; resize: vertical; }

.hire-proposal { border: 1px solid var(--border); padding: 1.1rem; }
.hire-proposal + .hire-proposal { margin-top: 1rem; }
.hire-proposal-head { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.hire-proposal h4 { color: var(--foreground); margin: 0; }
.hire-proposal p { color: var(--muted-foreground); line-height: 1.65; white-space: pre-wrap; }
.hire-contract-terms { background: var(--muted); border-left: 3px solid var(--foreground); font-size: .88rem; padding: 1rem; }
.hire-check { align-items: start; display: flex; gap: .55rem; color: var(--foreground); font-size: .86rem; line-height: 1.5; }

.hire-timeline { border-left: 1px solid var(--border); display: grid; gap: 1.5rem; margin-left: .4rem; padding-left: 1.2rem; }
.hire-timeline article { position: relative; }
.hire-timeline article::before { background: var(--foreground); border-radius: 50%; content: ''; height: .55rem; left: -1.51rem; position: absolute; top: .3rem; width: .55rem; }
.hire-timeline h4 { color: var(--foreground); margin: 0; }
.hire-timeline p { color: var(--muted-foreground); line-height: 1.65; margin: .4rem 0; white-space: pre-wrap; }
.hire-timeline small { color: var(--muted-foreground); }
.hire-table { border-collapse: collapse; width: 100%; }
.hire-table th, .hire-table td { border-bottom: 1px solid var(--border); font-size: .86rem; padding: .8rem .5rem; text-align: left; vertical-align: top; }
.hire-table th { color: var(--muted-foreground); font-size: .7rem; letter-spacing: .05em; text-transform: uppercase; }
.hire-table td { color: var(--foreground); }
.hire-notice { border: 1px solid var(--border); color: var(--muted-foreground); font-size: .86rem; line-height: 1.6; margin-bottom: 1.5rem; padding: .8rem 1rem; }
.hire-notice[data-kind="success"] { background: var(--selection); border-color: transparent; color: #171717; }
.hire-notice[data-kind="error"] { border-color: #c75f4f; color: #a13f31; }

.hire-signed-out { display: grid; gap: 1rem; margin: 6rem auto; max-width: 42rem; text-align: center; }
.hire-signed-out h1 { color: var(--foreground); font-size: clamp(2.3rem, 5vw, 4rem); letter-spacing: -.05em; line-height: 1; margin: 0; }
.hire-signed-out p { color: var(--muted-foreground); line-height: 1.7; }
.hire-signed-out .hire-button { margin: 0 auto; width: fit-content; }

@media (max-width: 900px) {
	.hire-layout { grid-template-columns: 1fr; }
	.hire-nav { border-bottom: 1px solid var(--border); border-right: 0; display: flex; gap: .4rem; overflow-x: auto; padding: .8rem 0; }
	.hire-nav button { flex: 0 0 auto; }
	.hire-content { padding: 2rem 0; }
	.hire-detail-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
	.workspace-page { width: min(calc(100% - 1.5rem), 88rem); padding-top: 1rem; }
	.hire-shell { padding-top: 2rem; }
	.hire-topbar { align-items: start; flex-direction: column; gap: 1rem; }
	.hire-account { width: 100%; }
	.hire-account .hire-link-button { margin-left: auto; }
	.hire-section-header { align-items: start; flex-direction: column; }
	.hire-metrics, .hire-form-grid { grid-template-columns: 1fr; }
	.hire-field-full { grid-column: auto; }
	.hire-list-item { grid-template-columns: 1fr; }
	.hire-list-meta { text-align: left; }
	.hire-message { max-width: 92%; }
	.hire-chat-form { grid-template-columns: 1fr; }
}

