:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b2c42;background:#f3f6f8;font-synthesis:none;--navy:#101f2d;--teal:#107e73;--muted:#667c8e;--line:#dce5eb;--red:#ae3038}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-.055em;line-height:1.13;margin-bottom:.8rem}h2{font-size:1.25rem;letter-spacing:-.025em;margin-bottom:.55rem}h3{font-size:1.1rem;margin-bottom:.5rem}p{line-height:1.6}small,.small{font-size:.82rem;line-height:1.5}.muted{color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:3px solid #33ad9c;outline-offset:4px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:100;background:white;padding:1rem}.skip-link:focus{top:1rem}.eyebrow{display:block;color:var(--teal);font-size:.68rem;font-weight:800;letter-spacing:.15em;margin-bottom:.65rem}.eyebrow.light{color:#6dd4c4}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--navy);color:#edf6fa;padding:2rem 1.4rem;display:flex;flex-direction:column;z-index:5;overflow-y:auto}.brand{display:flex;gap:.8rem;align-items:center;text-decoration:none;font-size:1.3rem;font-weight:800;letter-spacing:-.04em}.brand-icon{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;border-radius:13px;background:#e7fffa;color:#117c70;font-size:1.4rem}.brand small{display:block;font-weight:500;color:#9cafbc;font-size:.7rem;letter-spacing:0;margin-top:.25rem}.nav-label{font-size:.65rem;color:#7d99aa;letter-spacing:.14em;font-weight:800;margin:3rem .5rem 1rem}.nav-item{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-size:.85rem;font-weight:700;padding:.95rem .75rem;border:1px solid #2b555b;border-radius:10px;background:#193e44;color:#eefffb}.nav-item span{font-size:1.5rem;color:#70dbc9}.sidebar-note{margin-top:auto;padding:1.1rem;background:#1a303f;border:1px solid #294553;border-radius:12px;font-size:.74rem}.sidebar-note strong{display:block;margin:.6rem 0 .3rem}.sidebar-note p{color:#a8bdc9;margin:0}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#59c7b5;box-shadow:0 0 0 4px #59c7b51c;flex-shrink:0}.sidebar-footer{color:#7895a7;margin-top:1.4rem;font-size:.63rem}.page-shell{margin-left:244px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.4rem,3.5vw,3.8rem);background:white;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--muted)}.topbar i{font-style:normal;margin:0 1rem;color:#aab7c1}.topbar strong{color:#304659}.account{display:flex;align-items:center;gap:.65rem;font-weight:650}.avatar{width:29px;height:29px;display:grid;place-items:center;background:#def3ed;border-radius:50%;font-size:.7rem;color:#117d6f}.text-button{border:0;background:transparent;color:#58788a;font-weight:700;font-size:.8rem;padding:.45rem 0}.text-button:hover{color:#0c7669;text-decoration:underline}.account .text-button{margin-left:.75rem}.content{width:100%;max-width:1520px;margin:auto;padding:2.8rem clamp(1.4rem,3.5vw,3.8rem);flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.9rem}.page-heading p{margin-bottom:0;font-size:.92rem}.format-pill{display:flex;gap:.7rem;align-items:center;white-space:nowrap;color:#516e81;background:white;border:1px solid var(--line);padding:.6rem .8rem;border-radius:8px;font-size:.68rem;font-weight:800}.format-pill span{border-left:1px solid var(--line);padding-left:.7rem;font-weight:500}.stepper{display:flex;gap:2.4rem;list-style:none;padding:0 0 1.2rem;margin:0 0 1.7rem;border-bottom:1px solid var(--line);font-size:.77rem;font-weight:650;color:#81929e}.stepper li{display:flex;align-items:center;gap:.55rem}.stepper li span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e6ecef;font-size:.65rem}.stepper .current{color:#157e71}.stepper .current span{background:#d6eee7}.setup-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:1.6rem;align-items:start}.setup-main{min-width:0;display:grid;gap:1.5rem}.card{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 20px #20384a03;padding:1.65rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.section-heading .eyebrow{font-size:.6rem;margin-bottom:.45rem}.section-heading h2{margin-bottom:0}.subtle-badge{background:#eff4f7;color:#6b8090;border-radius:5px;padding:.35rem .55rem;font-size:.6rem;font-weight:800;letter-spacing:.05em}.drop-zone{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;border:1.5px dashed #b6cbd5;background:#f9fbfc;border-radius:11px;padding:2.2rem 1rem;text-align:center;cursor:pointer;transition:background .18s,border-color .18s}.drop-zone:hover,.drop-zone.dragging,.drop-zone:focus-within{background:#f0faf7;border-color:var(--teal)}.drop-zone strong{font-size:.98rem}.drop-zone>span:not(.upload-icon){font-size:.8rem;color:#7b8d9c}.drop-zone small{color:#899eac;font-size:.66rem}.link-text{color:var(--teal);font-weight:700}.upload-icon{display:grid;place-items:center;width:44px;height:44px;background:white;border:1px solid #d5e4e9;border-radius:12px;color:var(--teal);font-size:1.7rem;margin-bottom:.2rem}.file-preview{display:flex;align-items:center;gap:.8rem;margin-top:1rem;border-top:1px solid var(--line);padding-top:1rem}.file-icon{display:grid;place-items:center;width:37px;height:43px;flex-shrink:0;border-radius:7px;background:#e1f4ef;color:#178372;font-size:.63rem;font-weight:900}.file-preview>div{min-width:0;flex:1}.file-preview strong{font-size:.85rem;overflow-wrap:anywhere}.file-preview p{margin:0;font-size:.7rem}.file-preview button{font-size:.7rem;white-space:nowrap}.run-summary{position:sticky;top:1.5rem;padding:1.4rem}.run-summary h2{font-size:1.25rem}.summary-list{margin:1.5rem 0}.summary-list>div{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.8rem 0;border-bottom:1px solid #edf1f4;font-size:.75rem}.summary-list dt{color:var(--muted);flex-shrink:0}.summary-list dd{margin:0;font-weight:700;max-width:65%;text-align:right;overflow-wrap:anywhere}.scope-note{font-size:.72rem;line-height:1.5;background:#f4f8fa;color:#526e80;padding:.8rem;border-radius:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.8rem 1.15rem;min-height:43px;border:1px solid transparent;border-radius:8px;text-decoration:none;font-size:.8rem;font-weight:750}.button.primary{background:var(--teal);color:white;box-shadow:0 5px 12px #137f7320}.button.primary:hover{background:#0b685f}.button.secondary{background:white;border-color:#d1e0e8;color:#486477}.button.secondary:hover{background:#f5fafb}.run-summary .button{width:100%}.retention-note{font-size:.66rem;text-align:center;margin:.8rem 0 1.2rem}.database-note{border-top:1px solid var(--line);padding-top:1rem;display:flex;align-items:center;gap:.65rem;color:#8a9dab;font-size:.63rem;line-height:1.6;overflow-wrap:anywhere}.database-note strong{color:#5e7889;font-weight:600}.notice{padding:.9rem 1rem;border-radius:9px;font-size:.85rem;margin-bottom:1rem;border:1px solid}.notice.error{background:#fff3f2;color:#9b3e3c;border-color:#efc6c4}.config-card>p{margin-top:-.4rem}.config-card fieldset{border:0;padding:0;margin:1.6rem 0}.config-card legend{font-size:.85rem;font-weight:750;margin-bottom:.45rem}.field-help{font-size:.75rem;color:var(--muted);margin-bottom:.8rem}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.check-option{display:flex;align-items:flex-start;gap:.65rem;border:1px solid var(--line);border-radius:8px;padding:.8rem;cursor:pointer;font-size:.76rem}.check-option:has(input:checked){border-color:#9fcbbf;background:#f3faf7}.check-option input,.inline-check input,.field-option input{accent-color:var(--teal);width:16px;height:16px;flex-shrink:0;margin:.1rem 0 0}.check-option strong{display:block;font-size:.76rem}.check-option small{display:block;color:var(--muted);margin-top:.2rem;font-size:.67rem;font-weight:400}.config-section{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1.2rem}.config-section>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:750;font-size:.85rem}.config-section>summary::-webkit-details-marker{display:none}.config-section summary small{display:block;color:#8a9daa;font-size:.65rem;font-weight:400;margin-top:.25rem}.config-section[open]>summary>span:last-child{transform:rotate(180deg)}.section-body{padding-top:1rem}.field-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.field-toolbar p{margin:0;font-size:.66rem}.inline-check{display:flex;align-items:center;gap:.4rem;font-size:.69rem;color:#5b7587;cursor:pointer}.inline-check input{width:14px;height:14px}.field-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.field-row{border-bottom:1px solid #e8eef2}.field-row:last-child{border:0}.field-option{display:flex;gap:.65rem;align-items:flex-start;padding:.8rem;cursor:pointer}.field-option>span{flex:1;min-width:0}.field-option strong{display:block;font-size:.76rem}.field-option small{font-family:ui-monospace,SFMono-Regular,monospace;color:#7d929f;display:block;font-size:.58rem;margin-top:.25rem;overflow-wrap:anywhere}.occurrence{font-size:.6rem;white-space:nowrap;color:#248773;background:#e7f5ef;padding:.2rem .4rem;border-radius:4px}.absent .occurrence{color:#83949f;background:#f0f3f5}.rule-mapping{margin:0 .85rem .7rem 2.4rem;font-size:.65rem;color:#657e8d}.rule-mapping summary{cursor:pointer}.rule-mapping ul{list-style:none;padding:0;line-height:1.8}.rule-mapping code{font-size:.6rem;overflow-wrap:anywhere}.criteria-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.overlay-option{margin-top:1rem}.code-options{display:flex;gap:.5rem;flex-wrap:wrap}.code-options label{padding:.55rem .8rem;align-items:center}.section-body fieldset{margin:1rem 0}.progress-card{text-align:center;max-width:740px;margin:2rem auto;padding:3rem}.progress-card h1{font-size:2.1rem}.progress-orbit{display:grid;place-items:center;width:80px;height:80px;background:#e3f2ed;color:#118774;border-radius:50%;font-size:3rem;margin:2rem auto;animation:breathe 2s ease-in-out infinite}.progress-card progress{width:100%;height:10px;accent-color:var(--teal);margin:1rem 0}.progress-card #progress-label{font-weight:700;font-size:.9rem}.progress-card .button{margin-top:1rem}.result-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.result-toolbar>div{display:flex;gap:.65rem}.result-hero{background:white;border:1px solid #ccdce4;border-left:5px solid #168b77;border-radius:14px;padding:1.7rem;margin-bottom:1.4rem}.result-hero.alert{background:#fff8f7;border-color:#efc8c8;border-left-color:#be343b}.result-hero.alert .eyebrow{color:var(--red)}.result-hero.incomplete,.result-hero.not_screened{background:#fff9ed;border-color:#ead5aa;border-left-color:#b28426}.result-hero h1{font-size:2rem}.result-hero p{margin-bottom:0;font-size:.9rem;color:#6b7d8c}.result-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem;border-top:1px solid #d7e0e6;padding-top:1.2rem}.result-metrics strong{font-size:1.65rem;display:block}.result-metrics small{color:#718595;font-size:.69rem}.scope-details{padding:1.1rem 1.4rem;margin-bottom:1.5rem}.scope-details>summary{cursor:pointer;font-size:.8rem;font-weight:700}.scope-details>div{padding-top:1rem;font-size:.75rem;line-height:1.7;overflow-wrap:anywhere}.scope-details p{margin:.35rem 0}.findings-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.7rem 0 1rem}.findings-toolbar h2{margin:0}.evidence-section{margin-bottom:1.3rem;padding:1.4rem;background:#fff;border:1px solid var(--line);border-radius:13px}.evidence-section.flagged{border-color:#e5bfc1;border-top:3px solid #b53840}.evidence-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.evidence-heading h3{margin-bottom:.35rem}.evidence-heading code{font-size:.62rem;color:#8a9ca8;overflow-wrap:anywhere}.evidence-section>p{font-size:.75rem;color:#69808e;margin:1rem 0}.finding-badge{color:#ab313a;background:#fae9e9;border-radius:6px;white-space:nowrap;font-size:.65rem;font-weight:800;padding:.35rem .6rem}.match-card{border:1px solid #ebc4c6;background:#fffafa;border-radius:9px;padding:1.05rem;margin:.8rem 0}.match-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.63rem;color:#a33a42;font-weight:800;margin-bottom:.65rem;letter-spacing:.04em}.match-card h4{font-size:.95rem;margin:0 0 .45rem;line-height:1.4}.match-card p{font-size:.75rem;margin:.35rem 0;color:#617786}.match-card details{margin-top:.7rem;font-size:.7rem;color:#8b4348}.match-card summary{cursor:pointer;font-weight:700}.match-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.67rem;line-height:1.7;color:#526a7a;margin:.75rem 0 0}.matcher-output{background:#142434;color:#d6e5ee;border-radius:9px;margin-top:1.1rem;padding:1.1rem}.matcher-output h4{font-size:.68rem;margin:0 0 .8rem;color:#80cfc1;text-transform:uppercase;letter-spacing:.07em}.matcher-output pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.65rem;margin:0}.empty-state{text-align:center;padding:2rem;color:#657f90}.page-footer{padding:1.3rem clamp(1.4rem,3.5vw,3.8rem);border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:.64rem;color:#7d929f}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:space-between;gap:5rem;background:radial-gradient(ellipse at top right,#275d66,var(--navy) 75%);color:white}.login-story h1{font-size:clamp(2.5rem,5.5vw,5rem);margin:1.2rem 0 1.4rem}.login-story p{color:#abc6ce;max-width:440px;font-size:1rem}.login-story>small{color:#89a8b5;font-size:.73rem}.story-flow{display:flex;gap:.8rem;align-items:center;font-size:.7rem;color:#c4e8e2;margin-top:2.2rem}.story-flow span{border:1px solid #466671;border-radius:7px;padding:.55rem .75rem}.story-flow i{font-style:normal}.login-form-wrap{display:grid;place-items:center;padding:3rem;background:#f6f8fa}.login-form-inner{width:100%;max-width:380px}.login-form-inner h2{font-size:2rem;letter-spacing:-.05em;margin:1rem 0}.login-form-inner>p{font-size:.9rem;margin-bottom:2rem}.login-form-inner form{display:flex;flex-direction:column;gap:.65rem}.login-form-inner label{font-size:.8rem;font-weight:750}.login-form-inner input{padding:1rem;border:1px solid #d0dfe8;border-radius:9px;background:white;color:#1e3346;min-width:0;margin-bottom:.7rem}.login-form-inner .button{margin:.8rem 0 1.5rem;width:100%}.login-form-inner>.small{font-size:.73rem}.login-form-inner .notice{margin-bottom:0}@keyframes breathe{50%{box-shadow:0 0 0 14px #e3f2ed55}}
@media(min-width:1600px){.setup-grid{grid-template-columns:minmax(0,1fr) 340px}.content{padding-top:3.5rem}}@media(max-width:1150px){.sidebar{width:210px;padding:1.7rem 1rem}.page-shell{margin-left:210px}.setup-grid{grid-template-columns:minmax(0,1fr) 250px;gap:1rem}.card{padding:1.2rem}.format-pill{display:none}.option-grid,.criteria-grid{grid-template-columns:1fr}.stepper{gap:1rem}}@media(max-width:850px){.sidebar{position:static;width:100%;flex-direction:row;align-items:center;padding:.9rem 1.2rem;gap:1rem}.sidebar .brand{font-size:1rem}.brand-icon{width:33px;height:33px;border-radius:10px;font-size:1.1rem}.sidebar .brand small,.nav-label,.sidebar-note,.sidebar-footer{display:none}.nav-item{margin-left:auto;padding:.4rem .7rem;font-size:.7rem}.page-shell{margin-left:0}.topbar{height:60px;padding:0 1.2rem}.content{padding:1.8rem 1.2rem}.setup-grid{grid-template-columns:1fr}.run-summary{position:static}.option-grid,.criteria-grid{grid-template-columns:1fr 1fr}.login-layout{grid-template-columns:1fr}.login-story{padding:1.5rem;gap:2rem}.login-story>div,.login-story>small{display:none}.login-form-wrap{padding:2.5rem 1.5rem}.page-footer{padding:1rem 1.2rem}.page-footer span{display:none}}@media(max-width:520px){.topbar>span{font-size:.65rem}.topbar i{margin:0 .45rem}.account{font-size:.7rem}.account .avatar{display:none}.stepper{justify-content:space-between;gap:.25rem;font-size:.58rem}.stepper li{gap:.3rem}.stepper li span{width:22px;height:22px}.option-grid,.criteria-grid{grid-template-columns:1fr}.field-toolbar{align-items:flex-start;flex-direction:column}.section-heading{align-items:flex-start}.result-toolbar{align-items:flex-start;flex-direction:column}.result-metrics{grid-template-columns:1fr 1fr}.findings-toolbar{align-items:flex-start;flex-direction:column}.evidence-heading{flex-direction:column}.progress-card{padding:1.5rem}.drop-zone{padding:1.6rem .7rem}.nav-item{display:none}.login-form-inner h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;font-size:10pt}.sidebar,.topbar,.page-footer,.result-toolbar,.findings-toolbar label,.skip-link,#setup-view,#progress-view{display:none!important}.page-shell{margin:0}.content{max-width:none;padding:0}.card,.evidence-section,.result-hero{box-shadow:none}.evidence-section{break-before:auto}.match-card{break-inside:avoid}.match-card details{display:block}.matcher-output{background:white;color:#183149;border:1px solid #ccd7e0}.matcher-output h4{color:#183149}.matcher-output pre{font-size:8pt;overflow:visible;max-height:none}.result-hero,.scope-details{break-inside:avoid}.result-hero.alert,.match-card{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* File preview stays local to the selected browser file. */
.file-actions{display:flex;align-items:center;gap:.85rem;flex-shrink:0}.file-preview>div:not(.file-actions){min-width:0;overflow-wrap:anywhere}.xml-dialog{width:min(1040px,calc(100vw - 2rem));max-height:90dvh;padding:1.5rem;border:1px solid #cbdbe4;border-radius:16px;color:var(--ink);box-shadow:0 24px 90px #06152655}.xml-dialog::backdrop{background:#0c1c30b3;backdrop-filter:blur(3px)}body:has(.xml-dialog[open]){overflow:hidden}.xml-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.xml-dialog-heading h2{margin:.4rem 0}.xml-dialog-heading p{margin:.5rem 0;overflow-wrap:anywhere}.xml-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0}.xml-preview-toolbar p{font-size:.75rem;color:var(--muted);margin:0}.xml-code{margin:0;padding:1.2rem;background:#132536;color:#d6e8f2;border:1px solid #294456;border-radius:10px;max-height:60dvh;overflow:auto;tab-size:2;font: .78rem/1.8 ui-monospace,SFMono-Regular,monospace}.xml-code.wrap{white-space:pre-wrap;overflow-wrap:anywhere}.xml-dialog>p:last-child{margin-bottom:0}@media(max-width:650px){.file-preview{flex-wrap:wrap}.file-actions{width:100%;justify-content:flex-end}.xml-dialog{padding:1rem}.xml-preview-toolbar{align-items:flex-start;flex-direction:column}.xml-code{font-size:.7rem}}@media print{.xml-dialog{display:none!important}}

.workspace-nav { display:flex; flex-direction:column; gap:.55rem; margin-bottom:1.5rem; }
.workspace-nav .nav-item:not(.active) { background:transparent; border-color:transparent; color:#a7bfca; }
.workspace-nav .nav-item:not(.active):hover { background:#19323e; color:#ecf9fa; }
@media(max-width:850px) { .workspace-nav{flex-direction:row;margin:0 0 0 auto;gap:.35rem} .workspace-nav .nav-item{margin:0;display:flex;font-size:.65rem;gap:.3rem;padding:.45rem .6rem} .workspace-nav .nav-item span{font-size:1rem} }
@media(max-width:520px) { .sidebar{flex-wrap:wrap} .workspace-nav{width:100%;margin:0} .workspace-nav .nav-item{flex:1;justify-content:center;font-size:.7rem} }
.brand-icon{background:white;overflow:hidden}.brand-icon img{display:block;width:84%;height:84%;object-fit:contain}.workspace-nav [hidden]{display:none!important}
