:root{color:#f1f3f4;font-synthesis:none;text-rendering:optimizelegibility;background:#202020;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#202020;min-height:100vh}button,input,textarea,select{font:inherit}a{color:inherit}.app-shell{min-height:100vh;padding:68px 56px}.app-container{width:min(100%,1180px);margin:0 auto}.app-header{border-bottom:1px solid #3c4043;justify-content:space-between;align-items:baseline;gap:32px;padding-bottom:28px;display:flex}.app-header-with-user{align-items:flex-end}.app-header-with-user .brand-block{flex-direction:column;gap:14px;display:flex}.app-header-with-user .consulticx-logo{margin-bottom:0}.app-header-with-user .header-navigation{align-items:flex-end}.app-header-with-user .user-controls{flex-direction:column;align-items:flex-end;display:flex}.header-navigation{align-items:baseline;gap:18px;display:flex}.header-user-navigation{text-align:right;min-width:0}.user-controls{justify-items:end;gap:8px;min-width:0;display:grid}.user-email{color:#bdc1c6;text-overflow:ellipsis;white-space:nowrap;max-width:min(38vw,360px);font-size:.86rem;line-height:1.2;overflow:hidden}.user-actions{align-items:center;gap:14px;display:flex}.text-button{color:#a8c7fa;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.header-button{color:#dadddf;cursor:pointer;font:inherit;background:0 0;border:1px solid #5f6368;border-radius:6px;padding:7px 12px;font-size:.86rem;line-height:1.1}.header-button:hover{color:#f1f3f4;border-color:#8ab4f8}.brand-block{min-width:0}.consulticx-logo{width:165px;height:auto;margin-bottom:14px;display:block}.app-header h1{color:#f8f9fa;letter-spacing:normal;margin:0;font-size:clamp(2rem,4vw,2.6rem);font-weight:700;line-height:1.1}.back-link{color:#bdc1c6;flex:none;margin-bottom:0;font-size:.95rem;text-decoration:none;transition:color .16s}.back-link:hover{color:#8ab4f8}.projects-section{padding-top:48px}.admin-layout{grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);align-items:start;gap:24px;margin-top:28px;display:grid}.admin-panel{background:#282828;border:1px solid #3c4043;border-radius:14px;min-width:0;padding:24px}.admin-create-panel{position:sticky;top:24px}.admin-panel-heading{margin-bottom:22px}.admin-panel-heading h3{color:#f8f9fa;margin:0 0 8px;font-size:1.15rem}.admin-panel-heading p{color:#bdc1c6;margin:0;line-height:1.55}.admin-create-panel .admin-form{flex-direction:column;align-items:stretch}.admin-create-panel .upload-submit-button{width:100%}.admin-existing-panel .project-grid{grid-template-columns:1fr}.admin-project-entry{gap:0;display:grid}.admin-project-entry-selected .project-card{border-bottom-right-radius:0;border-bottom-left-radius:0}.admin-project-entry-selected .admin-editor{border-top-left-radius:0;border-top-right-radius:0}.admin-existing-panel .admin-editor{margin-top:0}.section-heading{margin-bottom:28px}.section-heading h2,.workspace-heading h2{color:#f8f9fa;margin:0 0 8px;font-size:1.55rem;font-weight:700;line-height:1.2}.section-heading p,.workspace-heading>p:last-child{color:#bdc1c6;margin:0;font-size:1rem;line-height:1.6}.project-card{min-height:180px;color:inherit;background:#282828;border:1px solid #3c4043;border-radius:14px;justify-content:space-between;align-items:center;gap:32px;padding:28px 26px;text-decoration:none;transition:border-color .16s,background-color .16s,transform .16s;display:flex}.project-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.project-card{align-items:center;min-height:150px}.project-card-button{text-align:left;cursor:pointer;width:100%}.project-logo-slot{color:#bdc1c6;background:#242424;border:1px solid #4b4f53;border-radius:12px;flex:none;place-items:center;width:80px;height:80px;font-size:1.5rem;display:grid;overflow:hidden}.project-logo-slot img{object-fit:contain;width:100%;height:100%}.theme-blue{--theme-accent:#8ab4f8;--theme-hover:#a8c7fa;--theme-page:#20242b;--theme-surface:#282d36;--theme-elevated:#303641;--theme-border:#46505f;--theme-text:#f1f3f4;--theme-muted:#bdc1c6}.theme-cyan{--theme-accent:#75d4e5;--theme-hover:#a5e4ee;--theme-page:#1d272a;--theme-surface:#263235;--theme-elevated:#304044;--theme-border:#456064;--theme-text:#f1f3f4;--theme-muted:#c0c8ca}.theme-teal{--theme-accent:#65d6c5;--theme-hover:#98e7db;--theme-page:#1d2827;--theme-surface:#263332;--theme-elevated:#30413f;--theme-border:#45615e;--theme-text:#f1f3f4;--theme-muted:#c0c8c7}.theme-green{--theme-accent:#81c995;--theme-hover:#a7dcaf;--theme-page:#202821;--theme-surface:#2a332b;--theme-elevated:#354137;--theme-border:#506152;--theme-text:#f1f3f4;--theme-muted:#c1c8c1}.theme-amber{--theme-accent:#fdd663;--theme-hover:#fee49a;--theme-page:#29271e;--theme-surface:#353228;--theme-elevated:#443f30;--theme-border:#675e42;--theme-text:#f8f5eb;--theme-muted:#c9c4b5}.theme-orange{--theme-accent:#f6a66a;--theme-hover:#fac49b;--theme-page:#2b241f;--theme-surface:#372d27;--theme-elevated:#473930;--theme-border:#6a5547;--theme-text:#f8f3f0;--theme-muted:#cbc1ba}.theme-violet{--theme-accent:#c58af9;--theme-hover:#dab6fc;--theme-page:#26212c;--theme-surface:#302a38;--theme-elevated:#3d3548;--theme-border:#5c506b;--theme-text:#f5f1f7;--theme-muted:#c7c0ca}.theme-rose{--theme-accent:#f3a6bf;--theme-hover:#fac2d3;--theme-page:#2c2227;--theme-surface:#382a31;--theme-elevated:#47343d;--theme-border:#6a4e59;--theme-text:#f8f1f4;--theme-muted:#cbc0c4}.app-shell[class*=theme-]{background:var(--theme-page);color:var(--theme-text)}.app-shell[class*=theme-] .upload-card,.app-shell[class*=theme-] .analysis-card{background:var(--theme-surface);border-color:var(--theme-border)}.app-shell[class*=theme-] .workflow-steps,.app-shell[class*=theme-] .upload-area,.app-shell[class*=theme-] .analysis-table,.app-shell[class*=theme-] .analysis-table th{background:var(--theme-elevated);border-color:var(--theme-border)}.app-shell[class*=theme-] .eyebrow,.app-shell[class*=theme-] .workflow-step-active .step-number{color:var(--theme-accent)}.app-shell[class*=theme-] .upload-button,.app-shell[class*=theme-] .upload-submit-button,.app-shell[class*=theme-] .analysis-run-button{background:var(--theme-accent);border-color:var(--theme-accent);color:#202020}.project-card[class*=theme-]{border-color:color-mix(in srgb, var(--theme-accent) 55%, #3c4043)}.project-card[class*=theme-] .project-arrow{color:var(--theme-accent)}.auth-container{max-width:620px}.auth-card,.admin-editor{background:#282828;border:1px solid #3c4043;border-radius:14px;gap:18px;margin-top:28px;padding:28px;display:grid}.auth-card h2,.admin-editor h3,.admin-editor h4{margin:0}.auth-card p{color:#bdc1c6;margin:0;line-height:1.6}.auth-card form,.admin-form{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.auth-card label,.admin-form label,.logo-actions label{color:#bdc1c6;flex:1;gap:7px;min-width:220px;font-size:.85rem;font-weight:600;display:grid}.auth-card input,.admin-form input,.logo-actions input{color:#f1f3f4;background:#242424;border:1px solid #4b4f53;border-radius:8px;min-height:42px;padding:9px 12px}.theme-options,.logo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.theme-heading{gap:5px;display:grid}.theme-heading h4{color:#f1f3f4;margin:0}.theme-heading p{color:#bdc1c6;margin:0;font-size:.85rem}.logo-actions{gap:10px}.theme-choice{background:var(--theme-surface);min-width:0;color:var(--theme-text);cursor:pointer;text-transform:capitalize;text-align:left;border:1px solid #4b4f53;border-radius:8px;padding:7px 9px}.theme-choice:hover{background:var(--theme-elevated);border-color:var(--theme-accent)}.theme-choice:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}.theme-choice-selected{border-color:var(--theme-accent);box-shadow:0 0 0 2px var(--theme-accent)}.member-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.member-list li{color:#dadddf;border-bottom:1px solid #34383b;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.admin-editor-section{border-top:1px solid #3c4043;gap:14px;padding-top:18px;display:grid}.admin-editor-section h4{margin:0}.member-list-heading{color:#bdc1c6;font-size:.86rem;font-weight:600}.member-empty-state{color:#8b9095;margin:0;font-size:.86rem}.empty-state{color:#bdc1c6}.project-card:hover{background:#2b2b2b;border-color:#5f6368}.project-card:focus-visible,.back-link:focus-visible,.upload-button:focus-visible,.upload-submit-button:focus-visible{outline-offset:3px;outline:2px solid #8ab4f8}.project-content{align-self:flex-start}.project-content h3{color:#f8f9fa;margin:0;font-size:1.35rem;font-weight:700;line-height:1.2}.project-slug{color:#8b9095;margin:10px 0 0;font-size:.9rem}.project-arrow{color:#8ab4f8;align-self:flex-end;font-size:1.35rem;line-height:1}.workspace-heading{padding:46px 0 30px}.eyebrow{color:#8ab4f8;letter-spacing:.09em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}.workspace-layout{grid-template-columns:minmax(178px,.24fr) minmax(0,1fr);gap:24px;min-height:calc(100vh - 260px);display:grid}.workspace-layout-nav-collapsed{grid-template-columns:52px minmax(0,1fr)}.workspace-surface{min-width:0}.workflow-steps{background:#242424;border:1px solid #3c4043;border-radius:12px;align-content:start;align-self:stretch;margin:0;display:grid;overflow:hidden}.workflow-step{color:#8b9095;cursor:pointer;min-height:48px;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:13px 16px;font-size:.9rem;font-weight:600;display:flex}.workspace-nav-toggle{color:#bdc1c6;cursor:pointer;min-height:38px;font:inherit;background:0 0;border:0;border-bottom:1px solid #3c4043;font-size:1.25rem}.workspace-layout-nav-collapsed .workflow-step{justify-content:center;padding-left:0;padding-right:0}.workspace-layout-nav-collapsed .workflow-step span,.workspace-nav-abbrev{display:none}.workspace-layout-nav-collapsed .workflow-step .workspace-nav-abbrev{display:inline}.workflow-step:last-child{border-bottom:0}.workflow-step-active{color:#f1f3f4;background:#282828}.workspace-shell{background:#202020;grid-template-columns:minmax(216px,272px) minmax(0,1fr);min-height:100vh;display:grid}.workspace-shell-nav-collapsed{grid-template-columns:68px minmax(0,1fr)}.workspace-shell[class*=theme-]{background:var(--theme-page);color:var(--theme-text)}.workspace-shell[class*=theme-] .workflow-steps,.workspace-shell[class*=theme-] .analysis-table,.workspace-shell[class*=theme-] .analysis-table th{background:var(--theme-elevated);border-color:var(--theme-border)}.workspace-shell[class*=theme-] .upload-card,.workspace-shell[class*=theme-] .analysis-card{background:var(--theme-surface);border-color:var(--theme-border)}.workspace-shell[class*=theme-] .workflow-step-active{background:color-mix(in srgb, var(--theme-accent) 18%, var(--theme-elevated));color:var(--theme-text)}.workspace-shell[class*=theme-] .workflow-step-active:before{background:var(--theme-accent)}.workspace-shell[class*=theme-] .eyebrow{color:var(--theme-accent)}.workspace-shell[class*=theme-] .analysis-run-button{background:var(--theme-accent);border-color:var(--theme-accent);color:#202020}.workspace-shell .workflow-steps{background:#242424;border:0;border-right:1px solid #3c4043;border-radius:0;flex-direction:column;align-self:start;min-height:100vh;margin:0;display:flex;position:sticky;top:0;overflow:hidden}.workspace-brand{color:#f8f9fa;border-bottom:1px solid #3c4043;gap:14px;padding:30px 24px 28px;font-size:1.1rem;font-weight:700;display:grid}.workspace-brand .consulticx-logo{width:148px;margin:0}.workspace-shell .workflow-step{color:#bdc1c6;border:0;min-height:50px;padding:14px 24px;position:relative}.workspace-shell .workflow-step:before{content:"";width:3px;position:absolute;top:9px;bottom:9px;left:0}.workspace-shell .workflow-step{order:1}.workspace-shell .workflow-step:hover{color:#f1f3f4;background:#ffffff0d}.workspace-shell .workspace-nav-toggle{border-top:1px solid #3c4043;border-bottom:0;order:2;margin-top:auto}.workspace-main{min-width:0;padding:28px clamp(28px,4vw,64px) 42px}.workspace-main-header{border-bottom:1px solid #3c4043;justify-content:space-between;align-items:end;gap:28px;min-height:74px;padding-bottom:22px;display:flex}.workspace-project-identity h2{color:#f8f9fa;margin:0;font-size:1.45rem;line-height:1.2}.workspace-project-identity .eyebrow{margin-bottom:6px}.workspace-surface{width:min(100%,1440px);padding-top:28px}.workspace-shell .user-controls{align-items:flex-end}.workspace-shell-nav-collapsed .workspace-brand{place-items:center;padding-left:8px;padding-right:8px}.workspace-shell-nav-collapsed .workspace-brand .consulticx-logo{object-position:left;width:30px}.workspace-shell-nav-collapsed .workspace-brand span{display:none}.workspace-shell-nav-collapsed .workflow-step{justify-content:center;padding-left:0;padding-right:0}.workspace-shell-nav-collapsed .workflow-step>span:first-child{display:none}.workspace-shell-nav-collapsed .workflow-step .workspace-nav-abbrev{display:inline}.import-review-summary{color:#bdc1c6;flex-wrap:wrap;gap:8px 18px;margin:18px 0 4px;font-size:.86rem;display:flex}.import-review-summary strong{color:#f1f3f4}.review-primary-actions{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.analysis-control-band{background:#00000014;border:1px solid #3c4043;border-radius:10px;gap:24px;margin-top:22px;padding:18px;display:grid}.step-number{color:#bdc1c6;border:1px solid #4b4f53;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.78rem;display:grid}.workflow-step-active .step-number{color:#8ab4f8;border-color:#8ab4f8}.upload-card{background:#282828;border:1px solid #3c4043;border-radius:14px;padding:30px}.upload-copy{margin-bottom:24px}.upload-copy h3{color:#f8f9fa;margin:0 0 8px;font-size:1.25rem;line-height:1.25}.upload-copy p{color:#bdc1c6;max-width:720px;margin:0;line-height:1.6}.upload-area{background:#242424;border:1px dashed #5f6368;border-radius:12px;align-items:center;gap:18px;min-height:128px;padding:24px;display:flex}.upload-icon{color:#8ab4f8;background:#303134;border-radius:10px;flex:none;place-items:center;width:44px;height:44px;font-size:1.35rem;display:grid}.upload-area-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.upload-area-copy strong{color:#f1f3f4;font-size:.98rem}.upload-area-copy span{color:#8b9095;font-size:.88rem}.upload-button{color:#fff;cursor:pointer;background:#4285f4;border:1px solid #4f8ff7;border-radius:8px;flex:none;padding:11px 18px;font-size:.9rem;font-weight:600;transition:background-color .16s,border-color .16s}.upload-button:hover{background:#4c8df6;border-color:#5a98fa}.file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-picker{align-items:center;gap:10px;min-width:0;display:flex}.file-picker-button{color:#dadddf;background:#303134;border:1px solid #4b4f53;border-radius:7px;flex:none;padding:8px 11px;font-size:.86rem;line-height:1.1}.file-picker-name{color:#8b9095;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.logo-actions label:focus-within .file-picker-button{color:#f1f3f4;border-color:#8ab4f8;box-shadow:0 0 0 2px #8ab4f840}.selected-files{color:#8b9095;min-height:22px;margin-top:18px;font-size:.88rem}.selected-files-heading{color:#bdc1c6;margin-bottom:10px;font-weight:600}.selected-files-list{gap:12px;display:grid}.selected-file-item{background:#242424;border:1px solid #3c4043;border-radius:10px;padding:16px}.selected-file-summary{justify-content:space-between;align-items:center;gap:18px;display:flex}.selected-file-summary>div{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.selected-file-summary strong{color:#dadddf;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.selected-file-summary span{color:#8b9095;font-size:.8rem}.file-status{flex:none;font-size:.8rem;font-weight:600}.file-status-idle{color:#8b9095}.file-status-uploading{color:#8ab4f8}.file-status-success{color:#81c995}.file-status-error{color:#f2b8b5}.selected-file-item .upload-receipt{margin-top:16px}.upload-actions{align-items:center;gap:16px;margin-top:20px;display:flex}.upload-submit-button{color:#fff;cursor:pointer;background:#4285f4;border:1px solid #4f8ff7;border-radius:8px;padding:11px 18px;font-size:.9rem;font-weight:600;transition:background-color .16s,border-color .16s,opacity .16s}.upload-submit-button:hover:not(:disabled){background:#4c8df6;border-color:#5a98fa}.upload-submit-button:disabled{cursor:not-allowed;opacity:.5}.upload-status{color:#bdc1c6;font-size:.88rem}.upload-message{border-radius:8px;margin-top:18px;padding:14px 16px;font-size:.88rem;line-height:1.5}.upload-message-error{color:#f2b8b5;background:#352525;border:1px solid #8c4b4b}.upload-message-warning{color:#fdd663;background:#332e20;border:1px solid #7a6735}.upload-message-info{color:#b8ddf2;background:#202f39;border:1px solid #3f6680}.upload-receipt{background:#242424;border:1px solid #3c4043;border-radius:12px;margin-top:24px;padding:22px}.upload-receipt-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.upload-receipt-heading h4{color:#f8f9fa;margin:0;font-size:1rem}.upload-receipt-heading span{color:#81c995;font-size:.82rem;font-weight:600}.upload-receipt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:0;display:grid}.upload-receipt-grid div{min-width:0}.upload-receipt-grid dt{color:#8b9095;margin-bottom:5px;font-size:.78rem;font-weight:600}.upload-receipt-grid dd{overflow-wrap:anywhere;color:#dadddf;margin:0;font-size:.88rem;line-height:1.5}.upload-receipt-wide{grid-column:1/-1}.import-review{background:#202124;border:1px solid #3c4043;border-radius:10px;margin-top:22px;padding:20px}.import-review-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.import-review-heading h4{color:#f1f3f4;margin:2px 0 0}.import-review-heading>span,.import-review>p{color:#bdc1c6;font-size:.86rem}.import-review-issues{color:#fdd663;margin:14px 0}.review-table-controls{justify-content:space-between;align-items:end;gap:14px;margin:16px 0 10px;display:flex}.review-table-controls label{color:#bdc1c6;flex-direction:column;gap:5px;font-size:.82rem;display:flex}.review-table-controls input{color:#f1f3f4;background:#242424;border:1px solid #4b4f53;border-radius:6px;min-height:36px;padding:7px 9px}.review-table-scroll{border:1px solid #34383b;border-radius:8px;width:100%;overflow-x:auto}.review-table-legacy{display:none}.analyte-accordions{gap:12px;margin-top:14px;display:grid}.analyte-accordion{border:1px solid color-mix(in srgb, var(--theme-accent,#8ab4f8) 48%, #3c4043);box-shadow:inset 3px 0 0 color-mix(in srgb, var(--theme-accent,#8ab4f8) 72%, transparent);background:#242424;border-radius:10px;transition:border-color .16s,background-color .16s,box-shadow .16s;overflow:hidden}.analyte-accordion:hover{border-color:var(--theme-accent,#8ab4f8);background:var(--theme-elevated,#303134)}.analyte-accordion[open]{border-color:var(--theme-accent,#8ab4f8);box-shadow:inset 3px 0 0 var(--theme-accent,#8ab4f8), 0 8px 20px #00000029}.analyte-accordion>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;list-style:none;display:flex}.analyte-accordion>summary:focus-visible{outline:2px solid var(--theme-accent,#8ab4f8);outline-offset:-3px}.analyte-accordion>summary::-webkit-details-marker{display:none}.analyte-accordion>summary>span:first-child{gap:3px;display:grid}.analyte-accordion summary small{color:#8b9095}.analyte-accordion-rows{border-top:1px solid #3c4043;display:grid}.analyte-result-row{border-bottom:1px solid #34383b;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px 16px;display:grid}.analyte-result-row:last-child{border-bottom:0}.analyte-result-row dl{grid-template-columns:repeat(7,minmax(76px,1fr));gap:10px;margin:0;display:grid}.analyte-result-row dt{color:#8b9095;font-size:.72rem;font-weight:600}.analyte-result-row dd{color:#dadddf;margin:4px 0 0;font-size:.84rem}.analyte-result-actions{align-content:start;justify-items:end;gap:8px;display:grid}.analyte-result-actions details p{color:#bdc1c6;max-width:440px;margin:5px 0 0;font-size:.82rem;line-height:1.45}.review-table{border-collapse:collapse;background:#242424;width:100%;min-width:980px;font-size:.82rem}.review-table th,.review-table td{vertical-align:middle;border-bottom:1px solid #34383b;padding:8px 10px}.review-table th{z-index:1;color:#dadddf;text-align:center;white-space:nowrap;background:#303134;position:sticky;top:0}.review-table th button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;font-weight:700}.review-table td{color:#dadddf;text-align:center;white-space:nowrap}.review-table td:first-child,.review-table td:nth-child(7),.review-table td:last-child{text-align:left}.review-table tbody tr:nth-child(2n){background:#27282a}.review-table tbody tr:hover{background:#303134}.review-table details{white-space:normal;margin-top:5px}.review-table details p{color:#bdc1c6;max-width:420px;margin:6px 0 0;line-height:1.45}.review-status{border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:600}.review-status-ready{color:#81c995;background:#29383a}.review-status-reviewed{color:#a8c7fa;background:#303747}.review-editor-backdrop{z-index:20;background:#0000009e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.review-editor{background:#202124;border:1px solid #4b4f53;border-radius:12px;width:min(900px,100%);max-height:calc(100vh - 40px);padding:26px;overflow:auto;box-shadow:0 24px 60px #0000006b}.review-editor-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.review-editor-heading h3{margin:2px 0 0}.review-editor>p{color:#bdc1c6;line-height:1.5}.review-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.review-editor-fields label,.review-note{color:#dadddf;flex-direction:column;gap:6px;font-size:.84rem;display:flex}.review-editor-fields small{color:#8b9095}.review-editor input,.review-editor select,.review-editor textarea{color:#f1f3f4;font:inherit;background:#282828;border:1px solid #4b4f53;border-radius:7px;padding:9px 10px}.review-note{margin-top:16px}.review-note textarea{resize:vertical;min-height:74px}.analysis-card{background:#282828;border:1px solid #3c4043;border-radius:14px;margin-top:0;padding:30px}.analysis-copy{margin-bottom:24px}.analysis-copy h3{color:#f8f9fa;margin:0 0 8px;font-size:1.25rem;line-height:1.25}.analysis-copy p:last-child{color:#bdc1c6;max-width:820px;margin:0;line-height:1.6}.analysis-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.analysis-field{flex-direction:column;gap:8px;min-width:0;display:flex}.analysis-field>span{color:#bdc1c6;font-size:.82rem;font-weight:600}.analysis-field select{color:#f1f3f4;background:#242424;border:1px solid #4b4f53;border-radius:8px;width:100%;min-height:44px;padding:9px 12px}.analysis-field select:focus-visible,.analysis-run-button:focus-visible{outline-offset:3px;outline:2px solid #8ab4f8}.analysis-actions{align-items:center;gap:16px;margin-top:20px;display:flex}.analysis-run-button{color:#fff;cursor:pointer;background:#4285f4;border:1px solid #4f8ff7;border-radius:8px;padding:11px 18px;font-size:.9rem;font-weight:600}.analysis-run-button:hover:not(:disabled){background:#4c8df6;border-color:#5a98fa}.analysis-run-button:disabled{cursor:not-allowed;opacity:.5}.analysis-status{color:#bdc1c6;font-size:.88rem}.analysis-message{border-radius:8px;margin-top:18px;padding:14px 16px;font-size:.88rem;line-height:1.5}.analysis-message-error{color:#f2b8b5;background:#352525;border:1px solid #8c4b4b}.analysis-results{margin-top:28px}.analysis-message-warning{color:#fdd663;background:#332e20;border:1px solid #7a6735}.analysis-context-controls,.calculation-option-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.analysis-primary-controls{grid-template-columns:minmax(150px,.7fr) minmax(0,2fr);align-items:start;gap:18px;display:grid}.analysis-secondary-button{border-color:var(--theme-border,#4b4f53);background:var(--theme-elevated,#303134);color:var(--theme-text,#f1f3f4)}.analysis-secondary-button:hover:not(:disabled){border-color:var(--theme-accent,#8ab4f8);background:var(--theme-surface,#242424)}.document-list{gap:10px;display:grid}.document-batch-list{gap:14px;margin-top:18px;display:grid}.document-batch{background:#00000014;border:1px solid #3c4043;border-radius:10px;overflow:hidden}.document-batch-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;list-style:none;display:flex}.document-batch-summary::-webkit-details-marker{display:none}.document-batch-summary:after{content:"▾";color:#8b9095;transition:transform .16s}.document-batch:not([open]) .document-batch-summary:after{transform:rotate(-90deg)}.document-batch-summary:focus-visible{outline:2px solid var(--theme-accent,#8ab4f8);outline-offset:-3px}.document-batch-summary>div{gap:4px;min-width:0;display:grid}.document-batch-summary strong{color:#f1f3f4}.document-batch-summary span{color:#bdc1c6;font-size:.82rem}.document-batch>.document-list{border-top:1px solid #3c4043;padding:0 10px 10px}.document-item{background:#242424;border:1px solid #3c4043;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;padding:15px;display:flex}.document-item>div:first-child{gap:4px;min-width:0;display:grid}.document-item strong{color:#f1f3f4}.document-item span{color:#8b9095;font-size:.82rem}.document-status{font-weight:600}.document-status-unsupported,.document-status-parse-failed{color:#f2b8b5!important}.document-status-pending-review{color:#fdd663!important}.document-status-ready-for-analysis{color:#81c995!important}.document-badges{flex-wrap:wrap;gap:6px;display:flex}.document-badge{border:1px solid #4b4f53;border-radius:999px;width:fit-content;padding:2px 7px;font-weight:600;display:inline-flex;color:#a8c7fa!important;font-size:.72rem!important}.document-badge-warning{border-color:#7a6735;color:#fdd663!important}.document-actions{flex-wrap:wrap;gap:10px;display:flex}.document-actions .text-button{color:#dadddf;border:1px solid #4b4f53;border-radius:7px;min-height:34px;padding:7px 11px;text-decoration:none}.document-actions .text-button:hover{background:#303747;border-color:#8ab4f8}.document-actions .document-delete{color:#f2b8b5;border-color:#8c4b4b}.document-actions .document-delete:hover{background:#352525;border-color:#f2b8b5}.review-modal{flex-direction:column;width:min(1180px,100%);height:calc(100vh - 40px);max-height:calc(100vh - 40px);margin:0;display:flex;overflow:hidden;box-shadow:0 24px 60px #0000006b}.review-modal-fixed{flex:none}.review-modal-results{flex:auto;min-height:0;padding-right:4px;overflow:hidden auto}.review-batch-context{border:1px solid var(--theme-border,#3c4043);background:var(--theme-elevated,#303134);color:#dadddf;border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;margin:14px 0;padding:10px 12px;display:flex}.review-batch-context strong{color:var(--theme-accent,#8ab4f8)}.source-conflict-candidate{background:#242424;border:1px solid #3c4043;border-radius:8px;padding:14px}.source-conflict-candidate+.source-conflict-candidate{margin-top:10px}.source-conflict-candidate h4{color:#f1f3f4;margin:0 0 10px}.source-conflict-candidate dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0;display:grid}.source-conflict-candidate dt{color:#8b9095;font-size:.76rem;font-weight:600}.source-conflict-candidate dd{overflow-wrap:anywhere;color:#dadddf;margin:2px 0 0;font-size:.82rem}.source-active-label{color:#9bd8aa;margin-top:10px;font-size:.8rem;display:inline-block}.duplicate-conflict-modal{width:min(980px,100%)}.duplicate-conflict-candidates{gap:10px;margin-top:18px;display:grid}.duplicate-exact-label{color:#fdd663;margin-top:12px;font-size:.82rem;display:block}.persisted-analysis-runs{border-top:1px solid #3c4043;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin-top:18px;padding-top:18px;display:grid}.persisted-analysis-runs .analysis-secondary-button{justify-self:center}.analysis-export-action{justify-content:center;margin:24px 0 22px;display:flex}.analysis-secondary-actions{border-top:1px solid #3c4043;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;padding-top:18px;display:flex}.calculation-context-modal{width:min(1040px,100%)}.calculation-context-modal ul{color:#bdc1c6;margin:16px 0 0;padding-left:20px;line-height:1.55}.calculation-context-modal li+li{margin-top:8px}.analysis-run-details-modal{width:min(760px,100%)}.analysis-run-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 0;display:grid}.analysis-run-details-grid div{background:#242424;border:1px solid #3c4043;border-radius:8px;min-width:0;padding:12px 14px}.analysis-run-details-grid dt{color:#8b9095;margin-bottom:5px;font-size:.76rem;font-weight:600}.analysis-run-details-grid dd{overflow-wrap:anywhere;color:#dadddf;margin:0;font-size:.86rem;line-height:1.4}.analysis-table-scroll{border:1px solid #3c4043;border-radius:10px;width:100%;overflow-x:auto}.analysis-table{table-layout:auto;border-collapse:collapse;background:#242424;width:100%;font-size:.88rem}.analysis-table th,.analysis-table td{color:#dadddf;text-align:center;vertical-align:middle;white-space:normal;border-bottom:1px solid #34383b;padding:11px 12px}.analysis-table th{color:#bdc1c6;background:#303134;font-size:.82rem;font-weight:700}.analysis-table tbody tr:last-child td{border-bottom:0}.analysis-value-muted{font-style:normal;color:#8b9095!important}.analysis-value-warning{color:#fdd663!important}.methodology-notice{color:#8b9095;margin:18px 2px 0;font-size:.76rem;line-height:1.6}.methodology-notice a{color:#a8c7fa;text-decoration:none}.methodology-notice a:hover,.methodology-reference-list a:hover{text-decoration:underline}.methodology-notice a:focus-visible,.methodology-reference-list a:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #8ab4f8}.methodology-page{max-width:860px;padding:46px 0 20px}.methodology-heading{border-bottom:1px solid #3c4043;padding-bottom:30px}.methodology-heading h2{color:#f8f9fa;letter-spacing:-.025em;margin:0 0 12px;font-size:clamp(1.8rem,4vw,2.3rem);line-height:1.15}.methodology-heading>p:last-child{color:#bdc1c6;max-width:760px;margin:0;line-height:1.7}.methodology-section{border-bottom:1px solid #34383b;padding:30px 0}.methodology-section h3{color:#f1f3f4;margin:0 0 14px;font-size:1.15rem}.methodology-section p{color:#bdc1c6;margin:0 0 14px;line-height:1.75}.methodology-section p:last-child{margin-bottom:0}.methodology-section code{color:#d7e3fc;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.methodology-reference-list{gap:12px;display:grid}.methodology-reference-list a{color:#a8c7fa;width:fit-content;font-size:.9rem;line-height:1.5;text-decoration:none}@media (width<=720px){.app-shell{padding:36px 22px}.app-header{flex-wrap:wrap;align-items:flex-start}.app-header-with-user{align-items:flex-end}.header-navigation{max-width:100%;margin-left:auto}.user-email{max-width:min(80vw,360px)}.consulticx-logo{width:150px}.projects-section{padding-top:38px}.admin-layout{grid-template-columns:1fr}.admin-create-panel{position:static}.project-card{min-height:160px;padding:24px 22px}.workspace-heading{padding-top:38px}.workflow-steps{grid-template-columns:1fr}.workflow-step{border-bottom:1px solid #3c4043;border-right:0}.workflow-step:last-child{border-bottom:0}.workspace-layout{grid-template-columns:1fr}.document-item{flex-direction:column;align-items:flex-start}.upload-card{padding:22px}.upload-area{flex-direction:column;align-items:flex-start}.upload-button{text-align:center;width:100%}.upload-actions{flex-direction:column;align-items:stretch}.upload-submit-button{width:100%}.analysis-card{padding:22px}.analysis-controls,.analysis-primary-controls,.analysis-context-controls,.calculation-option-fields,.persisted-analysis-runs{grid-template-columns:1fr}.persisted-analysis-runs .analysis-secondary-button{justify-self:stretch}.analysis-run-details-grid{grid-template-columns:1fr}.analysis-actions{flex-direction:column;align-items:stretch}.analysis-run-button{width:100%}.upload-receipt-grid{grid-template-columns:1fr}.upload-receipt-wide{grid-column:auto}.analyte-result-row{grid-template-columns:1fr}.analyte-result-row dl{grid-template-columns:repeat(2,minmax(0,1fr))}.analyte-result-actions{justify-items:start}.workspace-shell,.workspace-shell-nav-collapsed{display:block}.workspace-shell .workflow-steps{border-bottom:1px solid #3c4043;border-right:0;grid-template-columns:auto repeat(3,minmax(0,1fr));min-height:auto;display:grid;position:static}.workspace-brand{border-bottom:0;grid-column:1/-1;align-items:center;padding:15px 18px;display:flex}.workspace-brand .consulticx-logo{width:104px}.workspace-shell .workspace-nav-toggle{order:initial;border-top:0;border-left:1px solid #3c4043;margin-top:0}.workspace-shell .workflow-step{text-align:center;justify-content:center;min-height:48px;padding:10px 8px;font-size:.78rem;order:initial!important}.workspace-shell .workflow-step:before{width:auto;height:3px;inset:auto 8px 0}.workspace-main{padding:22px}.workspace-main-header{flex-wrap:wrap;align-items:flex-start;min-height:0}.workspace-main-header .header-navigation{margin-left:0}.workspace-shell-nav-collapsed .workspace-brand{place-items:initial;padding:15px 18px}.workspace-shell-nav-collapsed .workspace-brand .consulticx-logo{width:104px}.workspace-shell-nav-collapsed .workspace-brand span{display:inline}.workspace-shell-nav-collapsed .workflow-step{padding:10px 8px}.workspace-shell-nav-collapsed .workflow-step>span:first-child{display:inline}.workspace-shell-nav-collapsed .workflow-step .workspace-nav-abbrev{display:none}}.analysis-table th button{width:100%;min-height:64px;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;text-align:center;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:0;line-height:1.3;display:inline-flex}.analysis-header-label{flex-direction:column;align-items:center;display:inline-flex}.analysis-header-line{white-space:nowrap;display:block}.analysis-sort-indicator{margin-left:4px;line-height:1;display:inline}.analysis-table th:first-child button,.analysis-table th:first-child{text-align:left}.analysis-table th:first-child .analysis-header-label{align-items:flex-start}.analysis-table td:first-child{text-align:left}.analysis-table td{overflow-wrap:normal}.analysis-table th button:hover{color:#f1f3f4}.analysis-table th button:focus-visible{outline:2px solid var(--theme-accent,#8ab4f8);outline-offset:3px}.analysis-abbreviations{color:#bdc1c6;border-top:1px solid #3c4043;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-top:14px;padding:10px 12px;font-size:.78rem;line-height:1.45;display:flex}.analysis-abbreviations-title{color:#f1f3f4;font-size:.8rem}.analysis-abbreviations-list{flex-wrap:wrap;gap:5px 16px;margin:0;display:flex}.analysis-abbreviations-list div{gap:5px;display:inline-flex}.analysis-abbreviations-list dt{color:var(--theme-accent,#8ab4f8);font-weight:700}.analysis-abbreviations-list dd{margin:0}.source-conflict-modal{width:min(1040px,100%)}.comparison-result{gap:10px;display:grid}.comparison-evidence{gap:12px;display:grid}.comparison-change-list{gap:8px;margin:0;padding-left:20px;display:grid}.comparison-change-list li{gap:3px;display:grid}.comparison-change-list li span{color:#bdc1c6}.comparison-source-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px;display:grid}.comparison-source-panel{background:#242424;border:1px solid #4b4f53;border-radius:8px;min-width:0;padding:12px}.comparison-source-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.comparison-source-heading h4{overflow-wrap:anywhere;color:#f1f3f4;margin:0}.comparison-approved-status{color:#81c995;text-transform:capitalize;flex:none;font-size:.78rem;font-weight:700}.comparison-source-metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:12px 0;display:grid}.comparison-source-metadata dt{color:#8b9095;font-size:.73rem;font-weight:700}.comparison-source-metadata dd{overflow-wrap:anywhere;color:#dadddf;margin:2px 0 0;font-size:.78rem}.comparison-source-table-scroll{border:1px solid #3c4043;border-radius:6px;width:100%;overflow-x:auto}.comparison-source-action{border-bottom:1px solid #3c4043;padding:8px}.comparison-source-action .analysis-run-button{width:100%}.comparison-source-table{border-collapse:collapse;width:100%;font-size:.76rem}.comparison-source-table th,.comparison-source-table td{text-align:left;vertical-align:top;border:1px solid #3c4043;padding:7px 8px}.comparison-source-table thead th{color:#f1f3f4;white-space:nowrap;background:#303134}.comparison-source-table tbody th{color:#a8c7fa;font-weight:700}.comparison-source-table td{color:#dadddf;min-width:90px}.comparison-source-empty{color:#bdc1c6;margin:0;font-size:.8rem}.comparison-ambiguity-note{color:#bdc1c6;font-size:.8rem}@media (width<=860px){.comparison-source-panels{grid-template-columns:1fr}}
