*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{margin:0;font-family:var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif);line-height:1.5;color:var(--text-primary,#1a1a1a);background:var(--surface-page,#ffffff)}.auth-page{min-height:calc(100vh - 0px);display:grid;place-items:center;padding:48px 24px;background:var(--surface-page)}.auth-card{width:100%;max-width:440px;background:var(--surface-raised);padding:40px 36px;border:1px solid var(--border-subtle,#e5e5e0);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-card,0 1px 2px rgba(0,0,0,.04))}.auth-card h1{margin:0 0 8px;font-family:var(--font-display,var(--font-body));font-size:28px;letter-spacing:-.02em;color:var(--text-primary)}.auth-lede{margin:0 0 24px;color:var(--text-secondary,#555);font-size:var(--type-body-md,15px);line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.auth-meta{margin:0;font-size:var(--type-body-sm,13px);color:var(--text-tertiary,#777)}.auth-meta a{color:var(--text-primary);font-weight:500}a{color:#1b3d31;text-decoration:underline}.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.app-nav{background:#1b3d31;color:#f5f5f0;padding:24px 16px}.app-nav a{display:block;color:#f5f5f0;text-decoration:none;padding:8px 12px;border-radius:6px;margin-bottom:4px}.app-nav a:hover{background:rgba(255,255,255,.08)}.app-nav .brand{font-weight:600;font-size:1.1rem;margin-bottom:24px;padding:0 12px}.app-nav .section{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin:16px 12px 4px}.app-main{padding:32px 40px;max-width:1200px}.app-main h1{margin-top:0}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04)}.data-table td,.data-table th{text-align:left;padding:12px 16px;border-bottom:1px solid #eee;font-size:.9rem}.data-table th{background:#f4f4f0;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:#555}.data-table tr:last-child td{border-bottom:none}.state-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#e8e8e2;color:#333}.state-badge.DRAFT,.state-badge.FACTS_PENDING{background:#f4f4f0;color:#666}.state-badge.ENGAGEMENT_SENT,.state-badge.ENGAGEMENT_SIGNED,.state-badge.ENGINE_RUNNING{background:#fef3c7;color:#92400e}.state-badge.CPA_ATTEST_REQUIRED,.state-badge.READY_FOR_ADMIN,.state-badge.READY_FOR_CPA{background:#dbeafe;color:#1e40af}.state-badge.DELIVERED,.state-badge.READY_FOR_DELIVERY{background:#d1fae5;color:#065f46}.state-badge.BLOCKED,.state-badge.REFUNDED,.state-badge.WITHDRAWN{background:#fee2e2;color:#991b1b}.state-badge.PAUSED{background:#ede9fe;color:#5b21b6}.state-badge.ARCHIVED{background:#f4f4f0;color:#999}.card{background:#fff;border-radius:8px;padding:20px 24px;box-shadow:0 1px 2px rgba(0,0,0,.04);margin-bottom:16px}.card h2{margin-top:0;margin-bottom:12px;font-size:1.1rem}.kv-row{display:grid;grid-template-columns:minmax(0,100px) minmax(0,1fr);grid-gap:12px;gap:12px;padding:6px 0;border-bottom:1px solid #f4f4f0;font-size:.9rem;align-items:baseline}.kv-row:last-child{border-bottom:none}.kv-row .k{color:#666}.kv-row>div{min-width:0;word-break:break-word}.verdict-PASS{color:#065f46;font-weight:600}.verdict-ESCALATE_ADMIN,.verdict-ESCALATE_CPA{color:#1e40af;font-weight:600}.verdict-FAIL{color:#991b1b;font-weight:600}.empty-state{background:#fff;border:1px dashed #ddd;border-radius:8px;padding:48px;text-align:center;color:#666}.err-stage{min-height:100vh;display:flex;flex-direction:column;background:var(--surface-page)}.err-top{border-bottom:1px solid var(--border-subtle);background:var(--surface-raised);padding:18px 0}.err-top-inner{max-width:1080px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center}.err-top-inner a{color:var(--text-tertiary);font-size:var(--type-body-sm)}.err-main{flex:1 1;display:grid;place-items:center;padding:64px 32px}.err-card{max-width:640px;width:100%;text-align:center}.err-code{display:inline-block;font-family:var(--font-display);font-weight:600;font-size:200px;line-height:.9;letter-spacing:-.05em;color:var(--ulv-forest-800);margin-bottom:32px}.err-code em{font-style:normal;font-weight:600;color:var(--ulv-terra-600)}.err-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:12px}.err-card h1{font-family:var(--font-body);font-weight:600;font-size:38px;line-height:1.1;letter-spacing:-.025em;margin:0 0 14px}.err-card h1 em{font-style:normal;font-weight:600;color:var(--ulv-terra-600)}.err-card p{color:var(--text-secondary);font-size:var(--type-body-lg);line-height:1.5;max-width:48ch;margin:0 auto 28px}.err-actions{display:flex;gap:10px}.err-actions,.err-meta{justify-content:center;flex-wrap:wrap}.err-meta{margin-top:36px;padding:14px 18px;background:var(--ulv-stone-25);border:1px solid var(--border-default);font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);display:inline-flex;gap:16px}.err-meta strong{color:var(--text-primary);font-weight:500}@media (max-width:640px){.err-code{font-size:128px}.err-card h1{font-size:28px}}.cpa-review-bar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:24px;gap:24px;background:var(--ulv-forest-800);color:var(--ulv-white);padding:12px 24px}.cpa-review-bar-back{color:rgba(255,255,255,.72);font-size:var(--type-body-sm);display:inline-flex;align-items:center;gap:6px;text-decoration:none;justify-self:start}.cpa-review-bar-back:hover{color:var(--ulv-white)}.cpa-review-bar-title{text-align:center;font-size:var(--type-body-md);font-weight:500}.cpa-review-bar-title .sub{font-size:11px;color:rgba(255,255,255,.6);font-family:var(--font-mono);letter-spacing:.06em;margin-top:2px;text-transform:uppercase}.cpa-review-bar-actions{display:flex;gap:8px;align-items:center;justify-self:end}.cpa-review-bar-actions .btn{height:36px;padding:0 16px;font-size:13.5px;border:1px solid rgba(255,255,255,.25);background:transparent;color:var(--ulv-white)}.cpa-review-bar-actions .btn:hover{background:rgba(255,255,255,.1);border-color:var(--ulv-white)}.cpa-review-bar-actions .btn--primary{background:var(--ulv-white);color:var(--ulv-forest-800);border-color:var(--ulv-white)}.cpa-qa-status{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-size:11px;font-weight:500;letter-spacing:.04em}@media print{.cpa-review-bar{display:none}}.next-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.next-steps li{display:flex;gap:10px;align-items:flex-start;padding:12px;background:var(--surface-raised,#fff);border:1px solid var(--border-subtle,#e5e5e0)}.next-steps .ns-n{font-family:var(--font-mono);font-size:11px;color:var(--ulv-terra-600);font-weight:600;flex:none}.next-steps .ns-h{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.next-steps .ns-s{font-size:12px;color:var(--text-secondary);line-height:1.4}@media (max-width:900px){.next-steps{grid-template-columns:1fr 1fr}}.modal-overlay{position:fixed;inset:0;z-index:50;background:var(--surface-overlay,rgba(15,59,46,.55));display:grid;place-items:center;padding:24px}.modal-card{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;margin:0;padding:0;color:inherit;background:var(--surface-raised,#fff);border:1px solid var(--border-default,#ddd7ca);box-shadow:var(--shadow-xl)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 12px}.modal-body{padding:4px 28px 28px;display:flex;flex-direction:column;gap:14px}.intake-link{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--ulv-stone-25);border:1px solid var(--border-default)}.intake-link code{font-family:var(--font-mono);font-size:12px;color:var(--text-primary);word-break:break-all;flex:1 1}@media (max-width:900px){.cpa-review-bar{grid-template-columns:1fr;text-align:center}.cpa-review-bar-actions,.cpa-review-bar-back{justify-self:center}.cpa-review-bar-actions{flex-wrap:wrap;justify-content:center}}