:root{--bg:#f6f8fb;--surface:rgba(255,255,255,0.96);--surface-strong:#ffffff;--surface-alt:#eef4f8;--text:#0d2233;--muted:#5b6f82;--line:rgba(13,34,51,0.12);--brand:#056ea8;--brand-strong:#034e7b;--navy:#072d47;--navy-strong:#031d30;--hero-glow:rgba(5,110,168,0.16);--success:#0e7a53;--danger:#b24134;--shadow:0 24px 60px rgba(7,45,71,0.12)}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(circle at top center,var(--hero-glow),transparent 30%),linear-gradient(180deg,#fbfdff 0,var(--bg) 58%,#edf3f8 100%)}body{margin:0;min-height:100vh;color:var(--text);font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif}button,input,textarea{font:inherit}.landing-page,.login-page,.review-page{min-height:100vh}.landing-shell,.review-shell{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:18px 0 72px}.brand-bar{display:flex;align-items:center;justify-content:space-between;padding:0 0 26px}.brand-mark{color:var(--navy);font-family:Iowan Old Style,Times New Roman,serif;font-size:clamp(2.25rem,3vw,3.2rem);font-weight:700;letter-spacing:-.05em}.landing-hero{max-width:760px;padding:0 0 28px}.landing-kicker,.review-kicker{margin:0 0 12px;color:var(--brand);font-size:.86rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.landing-hero h1,.review-header h1{margin:0;color:var(--navy);font-family:Iowan Old Style,Times New Roman,serif;font-size:clamp(2.5rem,4.8vw,5rem);line-height:.96;letter-spacing:-.05em}.chat-shell{max-width:940px;margin:0 auto}.card{border:1px solid rgba(5,110,168,.12);border-radius:30px;background:var(--surface);box-shadow:var(--shadow)}.chat-card{display:flex;flex-direction:column;min-height:clamp(760px,78vh,940px);overflow:hidden;background:linear-gradient(180deg,rgba(3,29,48,.98) 0,rgba(7,45,71,.95) 220px,rgba(238,244,248,.98) 220px),var(--surface)}.status{color:var(--muted);font-size:.9rem}.messages{display:flex;flex:1 1;flex-direction:column;gap:14px;min-height:clamp(430px,52vh,680px);padding:28px;overflow-y:auto;background:linear-gradient(180deg,transparent,transparent 180px,rgba(248,251,253,.92) 0,rgba(238,244,248,.96))}.message{max-width:min(82%,760px);padding:18px 20px;border-radius:24px;line-height:1.7;white-space:pre-wrap}.message.user{align-self:flex-end;border:1px solid rgba(6,110,168,.18);background:linear-gradient(180deg,#2f4a61,#173852);color:#ffffff;box-shadow:0 16px 28px rgba(7,45,71,.18)}.message.assistant{align-self:flex-start;background:var(--surface-strong);border:1px solid rgba(7,45,71,.08)}.message-role{display:block;margin-bottom:8px;color:inherit;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.message-feedback{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:.8rem;opacity:.82}.message-feedback-actions{display:inline-flex;gap:8px}.feedback-button{border:1px solid rgba(7,45,71,.12);border-radius:999px;background:rgba(255,255,255,.9);color:var(--text);padding:6px 10px;font-size:.78rem;font-weight:700;cursor:pointer}.message.user .feedback-button{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.14);color:#ffffff}.feedback-button.is-selected{border-color:rgba(5,110,168,.36);background:rgba(5,110,168,.14);color:var(--brand-strong)}.composer{padding:20px 24px 24px;border-top:1px solid rgba(7,45,71,.08);background:linear-gradient(180deg,rgba(255,255,255,.7),#ffffff)}.composer form{display:grid;grid-gap:12px;gap:12px}.provider-row{display:flex;align-items:center;justify-content:flex-end;gap:16px}.provider-control{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px}.provider-label{color:var(--brand-strong);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.provider-select{border:1px solid rgba(5,110,168,.26);border-radius:14px;background:#f5f9fc;color:var(--text);font-weight:700;font-size:.95rem;line-height:1.1;height:42px;padding:0 38px 0 14px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(7,45,71,.75) 0),linear-gradient(135deg,rgba(7,45,71,.75) 50%,transparent 0),linear-gradient(180deg,rgba(5,110,168,.08),rgba(5,110,168,.08));background-position:calc(100% - 17px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px),0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}.provider-select-provider{min-width:170px}.provider-select-model{border:1px solid rgba(5,110,168,.24);min-width:245px;max-width:320px}.provider-select:focus{outline:2px solid rgba(5,110,168,.2);outline-offset:1px;border-color:rgba(5,110,168,.44)}.composer textarea{width:100%;min-height:136px;resize:vertical;padding:18px 20px;border:1px solid rgba(5,110,168,.18);border-radius:22px;background:#f8fbfd;color:var(--text)}.composer textarea:focus{outline:2px solid rgba(5,110,168,.18);border-color:rgba(5,110,168,.42)}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.error{color:var(--danger);font-size:.92rem}.submit{border:0;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:white;padding:14px 22px;font-weight:700;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.submit:hover:not(:disabled){transform:translateY(-1px)}.submit:disabled{opacity:.65;cursor:wait}.review-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 0 30px}.review-link{display:inline-flex;align-items:center;padding:12px 18px;border:1px solid rgba(5,110,168,.18);border-radius:999px;background:var(--surface);color:var(--brand-strong);font-weight:700;text-decoration:none}.logout-button{font:inherit;cursor:pointer}.brand-links{display:inline-flex;align-items:center;gap:10px}.login-shell{width:min(460px,calc(100% - 28px));margin:0 auto;padding:48px 0}.login-card{margin-top:18px;padding:28px}.login-card h1{margin:0;color:var(--navy);font-size:2rem}.login-card p{margin:10px 0 0;color:var(--muted)}.login-form{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.login-form label{display:grid;grid-gap:7px;gap:7px;color:var(--brand-strong);font-size:.9rem;font-weight:700}.login-form input{height:44px;padding:0 12px;border:1px solid rgba(5,110,168,.22);border-radius:12px;background:#f5f9fc;color:var(--text);font-size:.98rem}.login-submit{margin-top:6px}.login-error{margin:0;min-height:22px}.occ-hero p:last-child{margin:12px 0 0;max-width:820px;color:var(--muted);font-size:1rem;line-height:1.65}.occ-naics-shell{margin-top:10px}.occ-naics-grid{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.occ-naics-form-card,.occ-naics-result-card{padding:24px}.occ-naics-form-card h2,.occ-naics-result-card h2{margin:0;color:var(--navy);font-size:1.24rem}.occ-naics-form{display:grid;grid-gap:14px;gap:14px;margin-top:16px}.occ-naics-form label{display:grid;grid-gap:7px;gap:7px;color:var(--brand-strong);font-size:.85rem;font-weight:700;letter-spacing:.03em}.occ-model-select,.occ-naics-form input{width:100%}.occ-naics-form input{height:44px;padding:0 12px;border:1px solid rgba(5,110,168,.22);border-radius:12px;background:#f5f9fc;color:var(--text);font-size:.98rem}.occ-submit{margin-top:2px}.occ-error{margin:0;min-height:22px}.occ-empty{margin:16px 0 0;color:var(--muted);line-height:1.65}.occ-result-content{display:grid;grid-gap:18px;gap:18px;margin-top:18px}.occ-primary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.occ-primary-grid>div{border:1px solid rgba(5,110,168,.16);border-radius:16px;background:#f8fbfd;padding:14px}.occ-label{color:var(--brand-strong);font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.occ-primary-title{margin:10px 0 4px;color:var(--navy);font-size:1.02rem;font-weight:700}.occ-code{margin:0;color:var(--muted);font-size:.92rem}.occ-confidence-grid{display:grid;grid-gap:10px;gap:10px}.occ-metric{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(7,45,71,.08);border-radius:12px;background:var(--surface-alt);font-size:.92rem}.occ-metric strong{color:var(--brand-strong)}.occ-alt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.occ-company-card{border:1px solid rgba(5,110,168,.16);border-radius:14px;background:#f8fbfd;padding:14px}.occ-company-card h3{margin:0 0 10px;color:var(--navy);font-size:1rem}.occ-company-card p{margin:6px 0;color:var(--text);line-height:1.5}.occ-alt-grid h3{margin:0 0 10px;color:var(--navy);font-size:1rem}.occ-alt-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid rgba(5,110,168,.16);border-radius:14px;background:#f9fcff}.occ-alt-item+.occ-alt-item{margin-top:10px}.occ-alt-item p{margin:0;color:var(--text);font-weight:600}.occ-alt-item span{color:var(--muted);font-size:.84rem}.occ-alt-item strong{color:var(--brand-strong);font-size:.95rem}.occ-feedback{margin-top:8px}.review-layout{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.review-panel{border:1px solid rgba(5,110,168,.12);border-radius:28px;background:var(--surface);box-shadow:var(--shadow);padding:24px}.review-panel h2{margin:0;color:var(--navy);font-size:1.2rem}.review-date-list,.review-entry-list{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.review-date-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:1px solid rgba(5,110,168,.12);border-radius:20px;background:#f8fbfd;color:var(--text);text-decoration:none}.review-date-item strong{min-width:36px;padding:6px 10px;border-radius:999px;background:rgba(5,110,168,.12);color:var(--brand-strong);font-size:.88rem;text-align:center}.review-date-item.is-active{border-color:rgba(5,110,168,.34);background:rgba(5,110,168,.09)}.review-results-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.review-results-header span{color:var(--muted);font-size:.95rem}.review-entry{border:1px solid rgba(7,45,71,.08);border-radius:24px;background:var(--surface-alt);padding:20px}.review-entry-meta{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:18px;color:var(--muted);font-size:.92rem}.review-provider{border-radius:999px;background:rgba(5,110,168,.09);color:var(--brand-strong);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.review-model,.review-provider{display:inline-flex;align-items:center;padding:5px 10px;font-weight:700}.review-model{border:1px solid rgba(5,110,168,.18);border-radius:999px;background:rgba(255,255,255,.65);color:var(--navy);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.72rem;line-height:1.2;white-space:nowrap}.review-status{display:inline-flex;align-items:center;margin-left:auto;padding:6px 10px;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.review-status.is-success{background:rgba(14,122,83,.12);color:var(--success)}.review-status.is-error{background:rgba(178,65,52,.12);color:var(--danger)}.review-entry-block+.review-entry-block{margin-top:18px}.review-label{margin:0 0 6px;color:var(--brand-strong);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.review-empty,.review-entry-block p:last-child{margin:0;color:var(--text);line-height:1.7}@media (max-width:920px){.landing-shell,.review-shell{width:min(100%,calc(100% - 28px));padding:16px 0 48px}.review-layout{grid-template-columns:1fr}.review-header{flex-direction:column;align-items:start}.brand-links{flex-wrap:wrap}.occ-alt-grid,.occ-naics-grid,.occ-primary-grid{grid-template-columns:1fr}.chat-card{min-height:560px}.provider-row{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px}.provider-control{justify-content:space-between}.provider-select-model,.provider-select-provider{min-width:0;width:min(100%,320px)}.message{max-width:100%}}