:root {
    --bg: #f4f6f8;
    --panel: #ffffff;
    --border: #dce2e8;
    --text: #16231f;
    --muted: #64726d;
    --navy: #10261f;
    --blue: #176b4d;
    --blue-soft: #e5f3ed;
    --green: #138a55;
    --green-soft: #e8f7ef;
    --amber: #a15c00;
    --amber-soft: #fff5df;
    --red: #b42318;
    --red-soft: #fff0ee;
    --purple: #6941c6;
    --purple-soft: #f2edff;
    --shadow: 0 1px 2px rgba(16,38,31,.04), 0 10px 30px rgba(16,38,31,.045);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--bg); color: var(--text); -webkit-font-smoothing:antialiased; }
body { overflow-x:hidden; }
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }

.app-shell { min-height: 100vh; display: flex; }
.sidebar { width: 264px; flex: 0 0 264px; background:linear-gradient(180deg,#10261f 0%,#0b1d18 100%); color: #fff; display: flex; flex-direction: column; padding: 24px 16px; box-shadow:8px 0 30px rgba(12,35,28,.08); }
.brand { display:flex; align-items:center; gap:12px; padding: 4px 10px 26px; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand-mark { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:linear-gradient(145deg,#d6f5e7,#fff); color:var(--navy); box-shadow:0 8px 20px rgba(0,0,0,.16); }
.brand-mark svg { width:22px; height:22px; fill:currentColor; }
.brand-title { font-weight:750; font-size:16px; }
.brand-subtitle { color:#aeb9c7; font-size:12px; margin-top:2px; }
.side-nav { display:flex; flex-direction:column; gap:4px; padding-top:14px; }
.nav-label { color:#708d82; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; padding:14px 12px 5px; }
.nav-icon { width:20px; text-align:center; font-size:15px; opacity:.85; }
.side-nav a { color:#c8d1dc; padding:11px 12px; border-radius:8px; font-size:14px; display:flex; gap:10px; align-items:center; }
.side-nav a:hover { background:rgba(255,255,255,.08); color:#fff; text-decoration:none; }
.side-nav a.active { background:#f1fbf6; color:#0f5138; font-weight:700; box-shadow:0 4px 16px rgba(0,0,0,.12); }
.sidebar-footer { margin-top:auto; padding:14px 10px; display:flex; gap:9px; align-items:center; color:#c8d1dc; border-top:1px solid rgba(255,255,255,.12); }
.sidebar-footer strong { display:block; font-size:12px; }
.sidebar-footer small { color:#91a0b0; font-size:11px; }
.status-dot { width:8px; height:8px; border-radius:50%; background:#44c98a; }
.mobile-menu-button, .mobile-nav-close, .mobile-nav-backdrop { display:none; }

.main-area { flex:1; min-width:0; }
.topbar { height:68px; background:rgba(255,255,255,.9); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); padding:0 36px; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:20; }
.eyebrow { color:#7a8696; font-size:11px; font-weight:750; letter-spacing:.11em; }
.topbar-title { margin-left:10px; font-weight:650; font-size:14px; }
.topbar-meta { color:var(--muted); font-size:12px; display:flex; align-items:center; gap:7px; }
.live-dot { width:7px; height:7px; border-radius:50%; background:#22a06b; box-shadow:0 0 0 4px #e4f5ed; }
.content { padding:38px 40px 56px; max-width:1560px; margin:0 auto; }

.page-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.page-header.compact { align-items:center; }
.page-header h1 { margin:6px 0 8px; font-size:34px; line-height:1.12; letter-spacing:-.035em; }
.page-header p { margin:0; color:var(--muted); font-size:14px; }
.header-actions { display:flex; gap:9px; align-items:center; }
.back-link { display:inline-block; margin-bottom:10px; color:var(--muted); font-size:13px; }

.button { border:1px solid transparent; border-radius:9px; padding:10px 15px; font-size:13px; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:7px; transition:transform .15s ease,box-shadow .15s ease,background .15s ease; }
.button:hover { transform:translateY(-1px); }
.button:hover { text-decoration:none; }
.button.primary { background:var(--blue); color:#fff; border-color:var(--blue); box-shadow:0 6px 16px rgba(23,107,77,.2); }
.button.primary:hover { background:#115c40; }
.button.secondary { background:#fff; color:var(--text); border-color:var(--border); }
.button.secondary:hover { background:#f8fafc; }
.button.small { padding:7px 11px; font-size:12px; }

.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px; }
.stat-card { background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:21px 22px; box-shadow:var(--shadow); position:relative; overflow:hidden; }
.stat-card::after { content:""; position:absolute; width:54px; height:54px; border-radius:50%; right:-18px; top:-18px; background:var(--blue-soft); }
.stat-label { display:block; color:var(--muted); font-size:12px; font-weight:650; }
.stat-card strong { display:block; font-size:30px; margin:5px 0 2px; letter-spacing:-.02em; }
.stat-note { color:#8a94a3; font-size:11px; }

.dashboard-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:18px; }
.panel { background:var(--panel); border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow); }
.panel-header { padding:18px 20px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.panel-header h2 { margin:0 0 4px; font-size:16px; }
.panel-header p { margin:0; color:var(--muted); font-size:12px; }
.recent-list { padding:6px 0; }
.recent-row { display:flex; align-items:center; gap:12px; padding:13px 20px; color:var(--text); }
.recent-row { border-bottom:1px solid #eef2f0; }
.recent-row:last-child { border-bottom:0; }
.recent-row:hover { background:#f5faf7; text-decoration:none; }
.fit-pill { width:38px; height:30px; border-radius:7px; background:var(--blue-soft); color:var(--blue); display:grid; place-items:center; font-size:12px; font-weight:750; }
.recent-main { min-width:0; flex:1; }
.recent-main strong, .recent-main span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.recent-main span { color:var(--muted); font-size:12px; margin-top:2px; }
.scope-list { margin:0; padding:18px 22px 20px 40px; color:#44505f; font-size:13px; line-height:1.9; }
.feature-list { list-style:none; padding:8px 20px 18px; }
.feature-list li { display:flex; align-items:flex-start; gap:13px; padding:13px 2px; border-bottom:1px solid #eef2f0; line-height:1.35; }
.feature-list li:last-child { border-bottom:0; }
.feature-list > li > span { flex:0 0 28px; height:28px; display:grid; place-items:center; border-radius:8px; background:var(--blue-soft); color:var(--blue); font-size:9px; font-weight:800; }
.feature-list strong,.feature-list small { display:block; }
.feature-list strong { color:var(--text); font-size:12px; margin-bottom:3px; }
.feature-list small { color:var(--muted); font-size:11px; }

.status-badge { display:inline-flex; border-radius:999px; padding:4px 8px; font-size:11px; font-weight:700; white-space:nowrap; }
.status-new { background:var(--blue-soft); color:var(--blue); }
.status-reviewing { background:var(--amber-soft); color:var(--amber); }
.status-prepared { background:var(--purple-soft); color:var(--purple); }
.status-applied { background:var(--green-soft); color:var(--green); }
.status-interviewing { background:#e7f4ff; color:#0569a6; }
.status-rejected, .status-closed, .status-withdrawn { background:var(--red-soft); color:var(--red); }
.status-offer { background:#eaf8ef; color:#087443; }
.status-default { background:#eef1f4; color:#55606d; }

.filter-panel { background:#fff; border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow); margin-bottom:18px; }
.filter-row { display:grid; grid-template-columns:2fr 1fr .8fr 1.2fr 1.2fr 1.2fr; gap:12px; padding:18px; }
.filter-field label { display:block; color:#55606d; font-size:11px; font-weight:700; margin-bottom:6px; }
.input { width:100%; border:1px solid #cfd5dd; background:#fff; color:var(--text); border-radius:7px; padding:9px 10px; font-size:13px; outline:none; }
.input:focus { border-color:#80aaf8; box-shadow:0 0 0 3px rgba(37,99,235,.1); }
.filter-footer { padding:10px 18px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
.filter-hint { color:#8a94a3; font-size:11px; }

.table-panel { overflow:hidden; }
.table-toolbar { min-height:56px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--border); font-size:12px; }
.muted { color:var(--muted); }
.legend { display:flex; gap:16px; color:var(--muted); font-size:11px; }
.legend-dot { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:4px; background:#98a2b3; }
.legend-dot.fit { background:var(--blue); }
.legend-dot.status { background:var(--green); }
.legend-dot.doc { background:var(--purple); }
.table-scroll { overflow-x:auto; }
.jobs-table { width:100%; border-collapse:collapse; min-width:1040px; }
.jobs-table th { background:#fafbfc; color:#667085; text-align:left; font-size:10px; letter-spacing:.06em; text-transform:uppercase; font-weight:750; padding:10px 12px; border-bottom:1px solid var(--border); white-space:nowrap; }
.jobs-table td { padding:13px 12px; border-bottom:1px solid #edf0f3; font-size:12px; vertical-align:middle; }
.jobs-table tbody tr:hover { background:#fbfcfe; }
.fit-col { width:70px; }
.sort-button { border:0; background:none; padding:0; color:inherit; font:inherit; cursor:pointer; }
.sort-button:hover { color:var(--text); }
.fit-score { display:inline-grid; place-items:center; min-width:34px; height:28px; padding:0 7px; border-radius:7px; font-size:12px; font-weight:800; }
.fit-score.large { min-width:52px; height:42px; font-size:16px; }
.fit-excellent { background:#e8f7ef; color:#087443; }
.fit-strong { background:#eaf1ff; color:#175cd3; }
.fit-good { background:#f1f5ff; color:#475467; }
.fit-moderate { background:#fff5df; color:#a15c00; }
.fit-low { background:#fff0ee; color:#b42318; }
.fit-unscored { background:#eef1f4; color:#667085; }
.job-title { display:block; font-weight:700; color:var(--text); }
.job-title:hover { color:var(--blue); }
.job-subtitle { display:block; color:#8a94a3; margin-top:3px; font-size:10px; }
.doc-state { font-size:11px; font-weight:650; }
.doc-state.ready { color:var(--green); }
.doc-state.missing { color:#98a2b3; }
.row-link { white-space:nowrap; font-weight:650; font-size:11px; }

.detail-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr); gap:18px; }
.detail-main, .detail-side { display:flex; flex-direction:column; gap:18px; }
.status-editor { padding:18px 20px; display:grid; grid-template-columns:180px 1fr auto; gap:9px; }
.inline-success { margin:0 20px 18px; padding:9px 11px; background:var(--green-soft); color:var(--green); border-radius:7px; font-size:12px; }
.inline-error { margin:0 20px 18px; padding:9px 11px; background:#fde8e8; color:#9b1c1c; border-radius:7px; font-size:12px; }
.fit-explanation { padding:18px 20px; margin:0; color:#44505f; line-height:1.6; font-size:13px; }
.gap-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0 20px 20px; }
.gap-card { border:1px solid var(--border); border-radius:8px; padding:12px; color:#55606d; font-size:12px; min-height:72px; }
.gap-label { display:block; color:var(--text); font-weight:750; font-size:11px; margin-bottom:7px; }
.description { padding:20px; white-space:pre-wrap; line-height:1.7; font-size:13px; color:#344054; }
.formatted-description { white-space:normal; overflow-wrap:anywhere; }
.formatted-description > :first-child { margin-top:0; }
.formatted-description > :last-child { margin-bottom:0; }
.formatted-description p { margin:0 0 15px; }
.formatted-description p:has(+ ul), .formatted-description p:has(+ ol) { margin-bottom:6px; }
.formatted-description ul, .formatted-description ol { margin:0 0 18px; padding-left:24px; }
.formatted-description li { margin:7px 0; padding-left:3px; }
.formatted-description strong { color:var(--text); font-weight:750; }
.formatted-description h1, .formatted-description h2, .formatted-description h3,
.formatted-description h4, .formatted-description h5, .formatted-description h6 { margin:22px 0 8px; line-height:1.3; }
.formatted-description table { width:100%; border-collapse:collapse; margin:12px 0; }
.formatted-description th, .formatted-description td { padding:8px; border:1px solid var(--border); text-align:left; vertical-align:top; }
.formatted-description pre { overflow:auto; padding:12px; border-radius:6px; background:#f6f8fa; white-space:pre-wrap; }
.document-row { display:flex; gap:10px; padding:13px 18px; border-bottom:1px solid #edf0f3; }
.document-row:last-child { border-bottom:0; }
.document-icon { width:38px; height:38px; border-radius:7px; background:var(--purple-soft); color:var(--purple); display:grid; place-items:center; font-size:9px; font-weight:800; }
.document-main { min-width:0; }
.document-main strong, .document-main span, .document-main small { display:block; }
.document-main span { color:var(--muted); font-size:11px; margin-top:2px; }
.document-main small { color:#8a94a3; font-size:10px; margin-top:5px; overflow-wrap:anywhere; }
.document-main .row-link { display:inline-block; margin-top:7px; }
.streamable-document { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; gap:11px; align-items:center; padding:14px 16px; border-bottom:1px solid #edf0f3; color:var(--text); cursor:grab; user-select:none; transition:background .15s ease,box-shadow .15s ease,transform .15s ease; }
.streamable-document:last-child { border-bottom:0; }
.streamable-document:hover { background:#f5faf7; text-decoration:none; box-shadow:inset 3px 0 0 var(--blue); }
.streamable-document:active { cursor:grabbing; }
.streamable-document:focus-visible { position:relative; z-index:1; outline:3px solid rgba(23,107,77,.22); outline-offset:-3px; }
.streamable-document.dragging { background:var(--blue-soft); box-shadow:inset 4px 0 0 var(--blue); transform:scale(.99); }
.streamable-document-icon { width:42px; height:46px; border-radius:8px; display:grid; place-items:center; background:var(--purple-soft); color:var(--purple); font-size:10px; font-weight:850; letter-spacing:.03em; }
.streamable-document-main { display:block; min-width:0; }
.streamable-document-main strong,.streamable-document-main span,.streamable-document-main small { display:block; }
.streamable-document-main strong { font-size:13px; }
.streamable-document-main > span { margin-top:2px; color:var(--muted); font-size:11px; }
.streamable-document-main small { margin-top:4px; overflow:hidden; color:#7a8696; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.streamable-document-main .streamable-document-status { margin-top:7px; color:var(--blue); font-size:10px; font-weight:750; white-space:normal; }
.streamable-document[data-stream-state="loading"] .streamable-document-status { color:var(--amber); }
.streamable-document[data-stream-state="error"] .streamable-document-status { color:var(--red); }
.streamable-document-handle { display:flex; flex-direction:column; align-items:center; justify-content:center; color:#8aa69b; }
.streamable-document-handle > span { font-size:22px; line-height:1; }
.streamable-document-handle small { margin-top:3px; font-size:8px; font-weight:800; letter-spacing:.08em; }
.streamable-document.compact { grid-template-columns:38px minmax(0,1fr) 34px; padding:13px 14px; }
.streamable-document.compact .streamable-document-icon { width:38px; height:42px; }
.helper-install-note { margin:10px 20px 16px; color:var(--muted); font-size:11px; line-height:1.55; }
.document-generation-callout { margin:18px 20px 0; padding:14px; border:1px solid #cfe4da; background:#f1faf6; border-radius:10px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.document-generation-callout strong,.document-generation-callout span { display:block; }
.document-generation-callout strong { font-size:12px; margin-bottom:3px; }
.document-generation-callout span { color:var(--muted); font-size:11px; }
.source-row { padding:12px 18px; border-bottom:1px solid #edf0f3; font-size:11px; }
.source-row:last-child { border-bottom:0; }
.source-row strong, .source-row span, .source-row a { display:block; }
.source-row span { color:var(--muted); margin-top:2px; }
.source-row a { overflow-wrap:anywhere; margin-top:5px; }
.source-row .source-title { display:flex; align-items:baseline; gap:8px; }
.source-row .source-title a { display:inline; margin-top:0; }
.detail-list { margin:0; padding:16px 18px; display:grid; grid-template-columns:1fr 1.2fr; row-gap:11px; font-size:12px; }
.detail-list dt { color:var(--muted); }
.detail-list dd { margin:0; color:#344054; font-weight:600; }
.timeline { padding:18px 20px; }
.timeline-item { display:flex; gap:12px; position:relative; padding-bottom:18px; }
.timeline-item:last-child { padding-bottom:0; }
.timeline-dot { width:9px; height:9px; border-radius:50%; background:var(--blue); margin-top:4px; flex:0 0 auto; box-shadow:0 0 0 3px var(--blue-soft); }
.timeline-item strong { font-size:12px; }
.timeline-date { color:var(--muted); font-size:10px; margin-left:8px; }
.timeline-item p { margin:5px 0 0; color:#667085; font-size:11px; }
.empty-state { padding:50px 24px; text-align:center; color:var(--muted); }
.empty-state.large { padding:80px 24px; }
.empty-state h2 { color:var(--text); margin:8px 0 4px; }
.empty-icon { font-size:30px; }
.empty-mini { padding:18px; color:var(--muted); font-size:12px; }
.settings-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:18px; margin-bottom:18px; }
.settings-form { padding:18px 20px; display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; }
.settings-form.wide { grid-template-columns:1fr; }
.settings-form label span { display:block; color:#55606d; font-size:11px; font-weight:700; margin-bottom:6px; }
.settings-form label:has(input[type="checkbox"]) { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.settings-form label:has(input[type="checkbox"]) span { margin:0; }
.settings-actions { padding:0 20px 18px; display:flex; justify-content:flex-end; }
.settings-profile { margin-bottom:18px; }
.settings-message { margin:0; }
.score-hero { display:flex; align-items:baseline; gap:12px; margin:4px 0 10px; }
.score-hero strong { font-size:34px; line-height:1; color:var(--green); }
.score-hero span { font-size:14px; font-weight:700; }
.score-rationale { margin-top:14px; border:1px solid var(--border); border-radius:8px; overflow:hidden; }
.score-factor { padding:12px 14px; border-bottom:1px solid var(--border); }
.score-factor:last-child { border-bottom:0; }
.score-factor > div { display:flex; justify-content:space-between; gap:16px; }
.score-factor span { color:var(--muted); font-size:12px; white-space:nowrap; }
.score-factor p { margin:5px 0 0; color:var(--muted); font-size:12px; }
.manual-source-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:12px; padding:18px; }
.manual-source-card { border:1px solid var(--border); border-radius:8px; padding:14px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.manual-source-card strong, .manual-source-card span { display:block; }
.manual-source-card span { color:var(--muted); font-size:12px; margin-top:3px; }
.manual-source-card .button { white-space:nowrap; }
.inbox-fit-preview { margin:12px 18px; padding:14px; border:1px solid var(--border); border-radius:8px; }
.inbox-fit-preview > p { color:var(--muted); font-size:12px; }
.dice-inbox-item { border-bottom:1px solid var(--border); }
.dice-inbox-item:last-child { border-bottom:0; }

.application-workspace { min-width:0; }
.application-workspace-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:18px; }
.application-workspace-header h1 { margin:6px 0 6px; font-size:28px; line-height:1.15; letter-spacing:-.025em; }
.application-workspace-header p { margin:0; color:var(--muted); font-size:13px; }
.application-workspace-grid { display:grid; grid-template-columns:300px minmax(0,1fr); gap:16px; align-items:start; }
.application-toolbox { display:flex; flex-direction:column; gap:16px; position:sticky; top:86px; }
.application-documents { overflow:hidden; }
.workspace-document-card { display:flex; align-items:flex-start; gap:11px; padding:14px 16px; border-bottom:1px solid #edf0f3; }
.workspace-document-card:last-child { border-bottom:0; }
.workspace-document-card > div:last-child { min-width:0; flex:1; }
.workspace-document-card strong,.workspace-document-card span { display:block; }
.workspace-document-card strong { font-size:13px; }
.workspace-document-card span { color:var(--muted); font-size:11px; margin:3px 0 10px; }
.workspace-action-link { display:block; margin:0 18px 18px; font-size:12px; font-weight:700; }
.workspace-guidance ol { margin:0; padding:16px 22px 4px 38px; color:#44505f; font-size:12px; line-height:1.55; }
.workspace-guidance li { margin-bottom:9px; }
.workspace-guidance > p { margin:6px 16px 16px; padding:10px; border-radius:7px; background:var(--amber-soft); color:var(--amber); font-size:11px; line-height:1.45; }
.posting-frame-panel { min-width:0; overflow:hidden; }
.posting-frame-toolbar { min-height:58px; padding:11px 16px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.posting-frame-toolbar strong,.posting-frame-toolbar span { display:block; }
.posting-frame-toolbar strong { font-size:13px; }
.posting-frame-toolbar span { max-width:720px; margin-top:3px; color:var(--muted); font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.posting-frame-toolbar a { flex:0 0 auto; font-size:11px; font-weight:700; }
.posting-frame-wrap { height:calc(100vh - 230px); min-height:620px; background:#fff; }
.posting-frame-wrap iframe { display:block; width:100%; height:100%; border:0; background:#fff; }
.frame-fallback { padding:9px 14px; border-top:1px solid var(--border); background:#fafbfc; color:var(--muted); font-size:11px; line-height:1.4; }
.frame-fallback a { font-weight:700; }
.frame-unavailable { min-height:620px; display:grid; place-content:center; text-align:center; padding:30px; }
.frame-unavailable h2 { margin:0 0 6px; font-size:18px; }
.frame-unavailable p { margin:0; color:var(--muted); font-size:12px; }
.frame-blocked > div { max-width:520px; }
.frame-blocked p { margin-bottom:18px; line-height:1.55; }
.monitor-permission-note { display:block; margin-top:12px; color:var(--muted); font-size:10px; }

@media (max-width: 1050px) {
    .sidebar { width:200px; flex-basis:200px; }
    .content { padding:24px; }
    .filter-row { grid-template-columns:repeat(3, 1fr); }
    .dashboard-grid, .detail-grid, .settings-grid { grid-template-columns:1fr; }
    .application-workspace-grid { grid-template-columns:250px minmax(0,1fr); }
}
@media (max-width: 820px) {
    .app-shell { display:block; min-height:100dvh; }
    .sidebar {
        position:fixed;
        inset:0 auto 0 0;
        z-index:60;
        width:min(86vw, 320px);
        height:100dvh;
        padding:18px 14px;
        overflow-y:auto;
        transform:translateX(-105%);
        transition:transform .22s ease;
        box-shadow:12px 0 35px rgba(6,24,18,.28);
    }
    .mobile-nav-open { overflow:hidden; }
    .mobile-nav-open .sidebar { transform:translateX(0); }
    .mobile-nav-backdrop {
        position:fixed;
        inset:0;
        z-index:50;
        width:100%;
        height:100%;
        padding:0;
        border:0;
        background:rgba(5,18,14,.48);
        cursor:pointer;
    }
    .mobile-nav-open .mobile-nav-backdrop { display:block; }
    .brand { padding:4px 6px 18px; }
    .mobile-nav-close {
        display:grid;
        place-items:center;
        width:40px;
        height:40px;
        margin-left:auto;
        border:0;
        border-radius:9px;
        background:rgba(255,255,255,.08);
        color:#fff;
        font-size:25px;
        cursor:pointer;
    }
    .side-nav { flex-direction:column; padding-top:10px; }
    .side-nav a { min-height:44px; }
    .sidebar-footer { margin-top:22px; }
    .main-area { width:100%; }
    .topbar { height:60px; padding:0 14px; gap:12px; }
    .mobile-menu-button {
        display:inline-flex;
        align-items:center;
        gap:7px;
        min-height:42px;
        padding:8px 10px;
        border:1px solid var(--border);
        border-radius:9px;
        background:#fff;
        color:var(--text);
        font:inherit;
        font-size:13px;
        font-weight:700;
        cursor:pointer;
    }
    .mobile-menu-button > span:first-child { font-size:18px; line-height:1; }
    .topbar-heading { min-width:0; flex:1; }
    .topbar-heading .eyebrow { display:none; }
    .topbar-title { display:block; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .topbar-meta { display:none; }
    .content { width:100%; padding:20px 14px 36px; overflow:hidden; }
    .page-header, .application-workspace-header { align-items:flex-start; flex-direction:column; gap:16px; margin-bottom:20px; }
    .page-header h1 { font-size:29px; }
    .header-actions { width:100%; flex-wrap:wrap; }
    .header-actions .button { flex:1 1 auto; min-height:44px; }
    .button { min-height:44px; }
    .button.small { min-height:40px; }
    .stat-grid { grid-template-columns:1fr 1fr; gap:10px; }
    .stat-card { padding:17px; }
    .stat-card strong { font-size:26px; }
    .dashboard-grid, .detail-grid, .settings-grid, .application-workspace-grid { grid-template-columns:1fr; }
    .panel-header { padding:16px; flex-wrap:wrap; }
    .filter-row, .settings-form { grid-template-columns:1fr; padding:16px; }
    .input, input, select, textarea { font-size:16px; }
    .filter-footer, .table-toolbar { gap:12px; align-items:flex-start; flex-direction:column; padding:14px 16px; }
    .filter-footer .button { width:100%; }
    .legend { width:100%; flex-wrap:wrap; gap:8px 14px; }
    .table-panel { overflow:visible; border:0; background:transparent; box-shadow:none; }
    .table-scroll { overflow:visible; }
    .jobs-table { display:block; min-width:0; }
    .jobs-table thead { display:none; }
    .jobs-table tbody { display:grid; gap:12px; }
    .jobs-table tr { display:block; overflow:hidden; border:1px solid var(--border); border-radius:12px; background:#fff; box-shadow:var(--shadow); }
    .jobs-table td { display:grid; grid-template-columns:92px minmax(0,1fr); gap:12px; align-items:center; min-height:44px; padding:10px 14px; overflow-wrap:anywhere; }
    .jobs-table td::before { content:attr(data-label); color:#667085; font-size:10px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
    .jobs-table td:last-child { border-bottom:0; }
    .jobs-table tbody tr:hover { background:#fff; }
    .jobs-table .row-link { display:inline-flex; align-items:center; min-height:36px; font-size:13px; }
    .job-subtitle { white-space:normal; }
    .status-editor, .gap-grid { grid-template-columns:1fr; }
    .status-editor { padding:16px; }
    .gap-grid { padding:0 16px 16px; }
    .description { padding:16px; }
    .formatted-description table { display:block; overflow-x:auto; }
    .document-generation-callout { align-items:flex-start; flex-direction:column; margin:16px 16px 0; }
    .document-generation-callout .button { width:100%; }
    .document-row, .workspace-document-card { align-items:flex-start; }
    .document-main { flex:1; overflow-wrap:anywhere; }
    .streamable-document { grid-template-columns:42px minmax(0,1fr) 38px; }
    .source-row { padding:13px 16px; overflow-wrap:anywhere; }
    .source-row .source-title { align-items:flex-start; flex-direction:column; gap:2px; }
    .source-row .header-actions { margin-top:10px; }
    .detail-list { grid-template-columns:minmax(90px,.75fr) minmax(0,1.25fr); padding:16px; }
    .settings-actions { padding:0 16px 16px; flex-wrap:wrap; gap:9px; }
    .settings-actions .button { flex:1 1 180px; }
    .manual-source-grid { grid-template-columns:1fr; padding:16px; }
    .manual-source-card { align-items:flex-start; flex-direction:column; }
    .manual-source-card .button { width:100%; }
    .recent-row { align-items:flex-start; padding:13px 16px; }
    .recent-row .status-badge { max-width:34%; white-space:normal; text-align:center; }
    .application-toolbox { position:static; }
    .posting-frame-toolbar { align-items:flex-start; flex-direction:column; }
    .posting-frame-toolbar > div { width:100%; min-width:0; }
    .posting-frame-toolbar a { min-height:40px; display:inline-flex; align-items:center; }
    .posting-frame-wrap { height:70dvh; min-height:480px; }
    .frame-unavailable { min-height:480px; padding:24px 18px; }
}

@media (max-width: 480px) {
    .content { padding:16px 10px 30px; }
    .page-header h1 { font-size:26px; }
    .page-header p { font-size:13px; }
    .header-actions { flex-direction:column; align-items:stretch; }
    .header-actions .button { width:100%; }
    .stat-grid { grid-template-columns:1fr; }
    .stat-card { padding:16px; }
    .panel { border-radius:11px; }
    .settings-actions { flex-direction:column; align-items:stretch; }
    .settings-actions .button { width:100%; flex-basis:auto; }
    .jobs-table td { grid-template-columns:82px minmax(0,1fr); padding:10px 12px; }
    .recent-row { flex-wrap:wrap; }
    .recent-main { min-width:calc(100% - 54px); }
    .recent-row .status-badge { margin-left:50px; max-width:calc(100% - 50px); }
    .detail-list { grid-template-columns:1fr; row-gap:4px; }
    .detail-list dd { margin-bottom:8px; }
    .posting-frame-wrap { min-height:420px; }
    .frame-unavailable { min-height:420px; }
}
