@import url("website-fonts.css");
:root{--navy:#001126;--deep:#000a18;--blue:#00447d;--gold:#c49a2e;--yellow:#f4d03f;--ground:#f1f5f9;--paper:#fff;--ink:#1c2837;--muted:#697582;--line:#e3e5e8;--red:#a92b22;--green:#27624b;--control-radius:8px;--panel-radius:14px;--control-border:#cad3dd;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--ground);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:var(--blue);text-underline-offset:3px}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible{outline:3px solid #ac892f;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #c49a2e66;border-color:var(--gold)}.loading{min-height:100vh;min-height:100dvh;display:grid;place-items:center}.loading-content{display:flex;flex-direction:column;align-items:center;gap:22px}.loading-mark{display:block;width:110px;height:72px;object-fit:contain;animation:rrl-loading-pulse 2.4s ease-in-out infinite}.loading-label{font-family:Inter,"Segoe UI",sans-serif;font-size:14px;font-weight:400;letter-spacing:.035em;color:var(--muted)}.loading-dots{display:inline-flex;width:1em;margin-left:2px}.loading-dots span{animation:rrl-loading-dot 1.5s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes rrl-loading-pulse{0%,100%{opacity:.65;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes rrl-loading-dot{0%,70%,100%{opacity:.2}35%{opacity:1}}@media(prefers-reduced-motion:reduce){.loading-mark,.loading-dots span{animation:none}}
.gate{min-height:100vh;display:grid;place-items:center;padding:44px 20px;background:var(--ground);position:relative}
.gate:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(#00193308 1px,transparent 1px),linear-gradient(90deg,#00193308 1px,transparent 1px);background-size:36px 36px}
.signin-card{position:relative;width:min(448px,100%);background:var(--paper);border-radius:16px;overflow:hidden;box-shadow:0 24px 65px #00193321;border:1px solid #d6dce2}
.signin-brand{min-height:140px;background:var(--navy);display:flex;align-items:center;justify-content:center;gap:22px;padding:30px 24px}.signin-brand img{width:60px;height:84px;object-fit:contain;flex:0 0 auto}.signin-name{color:#fff;font-family:'Inter',sans-serif;font-size:clamp(25px,6.5vw,32px);font-weight:500;letter-spacing:-.02em}.signin-body h1+form{margin-top:25px}@media(max-width:400px){.signin-brand{gap:15px;padding:26px 20px}.signin-brand img{width:54px;height:76px}}
.signin-body{padding:30px 34px 32px}.signin-body .eyebrow{text-align:center;color:var(--gold);margin-bottom:9px}.signin-body h1{text-align:center;font-size:27px;font-weight:600;letter-spacing:-.6px}.signin-body .intro{text-align:center;margin:10px 0 25px;font-size:13px;line-height:1.6;color:var(--muted)}
.signin-foot{padding:18px 28px;text-align:center;background:#f8f9fa;border-top:1px solid var(--line);font-size:11px;line-height:1.6;color:var(--muted)}
.field{display:flex;flex-direction:column;gap:7px;margin:0 0 18px;min-width:0}.field label,.field legend{font-size:12px;font-weight:650;color:#263a50}.field input,.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid #cbd3dc;border-radius:6px;background:#fff;color:var(--ink);min-height:43px}.field textarea{resize:vertical;min-height:96px;line-height:1.55}.field small{font-size:11px;line-height:1.55;color:var(--muted)}.field input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--blue)}
.checkline{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.5}.checkline input{flex-shrink:0}.checks{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:6px;max-height:200px;overflow:auto}.checks label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:400}.checks input{margin:0}
.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid transparent;border-radius:var(--control-radius);padding:11px 17px;font-size:13px;font-weight:600;text-decoration:none;line-height:1.2;min-height:40px}.primary{background:var(--yellow);color:#17273b;box-shadow:0 2px 4px #00000008}.primary:hover{background:#ebc72e}.secondary{background:var(--paper);border-color:var(--control-border);color:#24405c}.secondary:hover{background:#f5f7f9}.small{padding:7px 11px;font-size:11px;min-height:32px}.full{width:100%;margin-top:4px}.link-button{border:0;background:none;padding:0;color:var(--blue);font-size:12px;text-decoration:underline;text-underline-offset:3px}.error{color:var(--red);font-size:12px;line-height:1.6;margin:10px 0}.error:empty{display:none}
.topbar{background:linear-gradient(120deg,#0d304f,var(--navy) 55%,var(--deep));color:#fff;min-height:112px;padding:22px max(28px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:22px;box-shadow:0 4px 10px #00193316}.brand{display:flex;align-items:center;gap:24px}.brand img{width:208px;height:66px;object-fit:contain}.brand-name{border-left:1px solid #ffffff30;padding-left:24px}.brand-name strong{display:block;font-size:26px;font-weight:350;letter-spacing:-.5px}.brand-name span{display:block;font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:#aebed0;margin-top:4px}.account{display:flex;align-items:center;gap:12px}.avatar{height:36px;width:36px;border-radius:50%;display:grid;place-items:center;background:#ffffff12;border:1px solid #ffffff2a;color:#f2d878;font-size:12px}.account strong{font-size:12px;font-weight:500}.account small{display:block;font-size:10px;color:#a6b7c9;margin-top:4px;text-transform:capitalize}.account button{color:#fff;background:none;border:0;padding:7px;font-size:12px}.account button:hover{color:#f3d678}
.main-nav{background:#fff;border-bottom:1px solid var(--line);padding:0 max(28px,calc((100vw - 1180px)/2));display:flex;gap:28px;overflow-x:auto}.main-nav button{white-space:nowrap;padding:18px 0 16px;border:0;border-bottom:3px solid transparent;background:none;color:#647385;font-size:12px;font-weight:600}.main-nav button.active{border-color:var(--gold);color:var(--blue)}
.workspace{max-width:1240px;margin:0 auto;padding:34px 30px 70px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}.page-heading h1{font-size:30px;font-weight:550;letter-spacing:-.7px;margin-top:8px}.page-heading p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6;margin-top:8px;max-width:680px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.welcome-band{position:relative;overflow:hidden;border-radius:13px;background:linear-gradient(115deg,#123b5d,var(--navy));color:#fff;padding:30px 34px;border-left:5px solid var(--gold);box-shadow:0 5px 12px #00193313;margin-bottom:26px}.welcome-band:after{content:"";position:absolute;inset:0 0 0 55%;background:repeating-linear-gradient(90deg,transparent,transparent 31px,#ffffff05 32px),repeating-linear-gradient(0deg,transparent,transparent 31px,#ffffff05 32px);pointer-events:none}.welcome-band h2{font-size:23px;font-weight:500;letter-spacing:-.3px}.welcome-band>p{font-size:12px;color:#bdcddd;line-height:1.7;margin-top:7px}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:29px;position:relative;z-index:1}.stat{padding:0 22px;border-left:1px solid #ffffff25}.stat:first-child{padding-left:0;border:0}.stat strong{font-size:28px;font-weight:450}.stat span{display:block;font-size:11px;color:#c3d3e2;margin-top:5px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.panel{background:#fff;border:1px solid #e1e5e9;border-radius:11px;box-shadow:0 3px 8px #00193304;overflow:hidden}.panel-head{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}.panel-head h2{font-size:15px;font-weight:650}.panel-head p{font-size:11px;color:var(--muted);margin-top:5px}.panel-body{padding:24px}.empty{text-align:center;padding:48px 24px}.empty .empty-symbol{width:48px;height:48px;border-radius:12px;background:#f5f0e2;color:#a78a43;display:grid;place-items:center;margin:0 auto 17px;font-size:23px}.empty h3{font-size:16px;font-weight:600}.empty p{font-size:12px;color:var(--muted);line-height:1.7;margin:8px auto 18px;max-width:420px}.subtle{color:var(--muted);font-size:12px;line-height:1.65}.note{padding:13px 16px;background:#f7f3e8;border:1px solid #eadfc5;border-radius:7px;color:#6c5a34;font-size:12px;line-height:1.65;margin:16px 0}.note.blue{background:#f1f6fa;border-color:#d7e4ef;color:#3e5c76}
.subtabs{display:flex;gap:8px;flex-wrap:wrap}.subtabs button{background:none;border:0;border-radius:6px;color:#657284;padding:9px 13px;font-size:12px}.subtabs button.active{background:#eaf0f5;color:var(--blue);font-weight:600}.search{padding:0 24px 16px}.search input{width:100%;padding:10px 12px;border:1px solid #d0d8e0;border-radius:6px;font:12px "Segoe UI",sans-serif}
.last-sign-in{margin-top:4px;font-size:12px;color:var(--muted)}.last-sign-in time{color:var(--ink)}
.record-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 24px;border-bottom:1px solid #edf0f2;border-left:4px solid #c49a2e55}.record-row:nth-child(even){background:#fbfbfa}.record-row:last-child{border-bottom:0}.record-main{min-width:0}.record-main h3{font-size:14px;font-weight:600;color:#203c55}.record-main p{font-size:11px;color:#72808c;line-height:1.8;margin-top:5px;overflow-wrap:anywhere}.record-right{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex-shrink:0}.badge{display:inline-block;font-size:10px;padding:5px 8px;border-radius:5px;background:#eef2f5;color:#536879;white-space:nowrap}.badge.alert{color:#9b4c16;background:#fff2de}.badge.good{color:#2b624b;background:#edf6f0}.record-text{white-space:pre-wrap;overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.detail-grid strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#74818b;margin-bottom:6px}.detail-grid span{font-size:13px;line-height:1.6}.spaced{margin-top:24px}.back{border:0;background:none;color:var(--blue);font-size:12px;padding:0;margin-bottom:15px}
dialog{padding:0;width:min(780px,calc(100vw - 32px));max-height:90vh;border:1px solid #d3dce3;border-radius:13px;color:var(--ink);box-shadow:0 25px 90px #00193340}dialog::backdrop{background:#00102088;backdrop-filter:blur(3px)}.dialog-head{padding:24px 28px;background:#f9fafb;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:2}.dialog-head h2{font-size:22px;font-weight:550;margin-top:5px}.icon-button{width:34px;height:34px;background:none;border:0;font-size:25px;color:#657484}.dialog-actions{position:sticky;bottom:0;border-top:1px solid var(--line);background:#fff;padding:17px 28px;display:flex;justify-content:flex-end;gap:10px}#editor-fields{padding:25px 28px 5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.wide{grid-column:1/-1}.form-heading{grid-column:1/-1;margin:7px 0 19px;padding:10px 12px;background:#203b5e;color:white;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.form-heading:first-child{margin-top:0}#editor-error{padding:0 28px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:13px 22px;border-radius:8px;font-size:13px;box-shadow:0 5px 22px #0003;z-index:20;max-width:90vw}
.audit{font-size:12px}.audit .record-row{border-left:0}.trend{width:100%;height:200px;display:block}.trend text{font:10px "Segoe UI",sans-serif;fill:#6c7a88}.trend line{stroke:#e4e9ee}.trend .limit{stroke:#bc8a28;stroke-dasharray:5 5}.trend polyline{fill:none;stroke:#00447d;stroke-width:2}.trend circle{fill:#00447d}.trend circle.alert{fill:#b84b20}.local-note{text-align:center;margin-top:30px;color:#81909c;font-size:10px}.pill-count{font-size:10px;color:#a77d19;margin-left:5px}.print-only{display:none}
@media(max-width:850px){.brand img{width:145px;height:54px}.brand-name{padding-left:15px}.brand-name strong{font-size:21px}.brand{gap:15px}.topbar{padding:17px 20px;min-height:95px}.main-nav{padding:0 20px;gap:23px}.workspace{padding:26px 18px 50px}.page-heading{align-items:flex-start}.grid{grid-template-columns:1fr}.stats{gap:14px}.stat{padding:0 10px}.stat strong{font-size:24px}.account .user-label{display:none}.welcome-band{padding:25px}.detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.brand img{width:115px;height:45px}.brand-name{padding-left:12px}.brand-name strong{font-size:19px}.brand-name span{font-size:7px}.account{gap:3px}.account .avatar{display:none}.topbar{gap:10px;padding:15px}.workspace{padding:23px 14px}.page-heading{display:block}.page-heading .actions{margin-top:17px}.page-heading h1{font-size:26px}.stats{grid-template-columns:1fr 1fr;gap:22px}.stat:nth-child(3){border:0;padding-left:0}.record-row{padding:17px 14px;gap:10px}.record-right{max-width:135px}.form-grid{grid-template-columns:1fr}.dialog-head,#editor-fields{padding-left:20px;padding-right:20px}.signin-body{padding:27px}.panel-head{padding:17px}.panel-body{padding:18px}.main-nav{gap:21px}.detail-grid{grid-template-columns:1fr}}
@media print{body{background:white}.topbar,.main-nav,.actions,.back,.local-note,#toast{display:none!important}.workspace{max-width:none;padding:10px}.panel{box-shadow:none;break-inside:avoid}.print-only{display:block}.record-row{break-inside:avoid}.welcome-band{color:#001933;background:white;border:1px solid #ddd}.welcome-band p,.stat span{color:#333}}
[hidden]{display:none!important}
.pages-workspace{max-width:1000px;padding-top:64px}.pages h1{font-size:30px;font-weight:500;letter-spacing:-.6px;color:var(--navy);margin-bottom:28px}.page-list{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.page-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 28px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:var(--navy);font-size:17px;font-weight:500;min-height:76px;transition:background .15s}.page-link:last-child{border-bottom:0}.page-link svg{color:#96a3af;flex-shrink:0}.page-link:hover{background:#fbf9f3}.page-link:hover svg{color:var(--gold)}.page-link:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
@media(max-width:850px){.pages-workspace{padding-top:42px}}
@media(max-width:520px){.pages-workspace{padding-top:34px}.pages h1{font-size:26px;margin-bottom:22px}.page-link{padding:22px 20px;font-size:16px;min-height:70px}}
.coming-soon{max-width:940px;margin:30px auto}.coming-soon h1{font-size:30px;font-weight:500;letter-spacing:-.6px;color:var(--navy)}.coming-soon p{color:var(--muted);font-size:15px;margin-top:16px}.main-nav .crumb{display:flex;align-items:center;gap:14px;min-height:55px;font-size:12px;color:var(--muted)}.main-nav .crumb:before{content:'/';color:#bac1c7}


/* RRL website palette and typography. */
:root{--ink:#1c1c1c;--muted:#627384;font-family:'Inter',sans-serif}
h1,h2,h3,.brand-name,.button,.page-link{font-family:'Inter',sans-serif}
.topbar,.signin-brand{background:var(--navy)}
.brand-name strong{font-size:24px;font-weight:500;letter-spacing:-.02em}
.eyebrow{font-family:'Inter',sans-serif}
.pages-workspace{max-width:1180px;padding-top:38px}
.pages h2{font-size:22px;font-weight:500;letter-spacing:-.02em;margin-bottom:20px;color:var(--ink)}
.page-link{font-weight:500;color:var(--ink);min-height:68px;padding:21px 26px}
.page-list,.panel{box-shadow:none;border-color:#00000012}
.page-heading h1,.coming-soon h1{font-weight:500;letter-spacing:-.02em;color:var(--ink)}

@media(max-width:520px){.page-link{padding:20px;min-height:64px}}

.page-name{min-width:0}.page-link-meta{display:flex;align-items:center;gap:18px;flex-shrink:0}.page-soon{font-family:Inter,sans-serif;font-size:11px;line-height:1.4;font-weight:500;color:#7d6118;background:#f7f3e8;padding:5px 9px;border-radius:5px;white-space:nowrap}
.library-group{margin:0 0 32px}.library-group h2{font-size:17px;font-weight:500;margin:0 0 14px;color:var(--muted)}.library-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.library-card{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding:27px 28px;color:var(--ink);background:white;border:1px solid #00000012;border-radius:10px;text-decoration:none;transition:border-color .15s,background .15s}.library-card:hover{border-color:var(--gold);background:#fffdf8}.library-card h3{font-size:19px;font-weight:500;margin-bottom:10px}.library-card p{font-size:13px;line-height:1.7;color:var(--muted);max-width:52ch}.library-arrow{color:var(--gold);font-size:22px}.source-list .page-link{padding-top:23px;padding-bottom:23px}.source-name{display:block}.source-list small{display:block;font-family:Inter,sans-serif;font-size:12px;font-weight:400;color:var(--muted);margin-top:6px}.source-footnote{color:var(--muted);font-size:11px;line-height:1.7;margin-top:20px}.source-tools{display:grid;grid-template-columns:minmax(200px,1fr) minmax(280px,2fr);gap:24px;margin-bottom:14px}.source-tools .field{margin:0}.source-search label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.source-search>div{display:flex;gap:10px}.source-search input{flex:1;min-width:0;padding:9px 12px;border:1px solid #cbd7e2;border-radius:6px;background:#fff;color:var(--ink)}.source-status{font-size:12px;color:var(--muted);margin-bottom:14px}.source-grid{max-height:62vh;overflow:auto;background:white;border:1px solid var(--line);border-radius:9px;overscroll-behavior:contain}.source-grid table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px;table-layout:auto}.source-grid th,.source-grid td{padding:7px 10px;border-right:1px solid #e9eef3;border-bottom:1px solid #e5ebf1;text-align:left;vertical-align:top;min-width:0;max-width:280px;overflow-wrap:break-word;white-space:normal;line-height:1.4}.source-grid thead th{position:sticky;top:0;background:#e8eef5;color:#35516b;z-index:2;font-weight:600}.source-grid thead button{font:inherit;text-align:left;border:0;background:none;padding:0;color:inherit;cursor:pointer}.source-grid .row-number{position:sticky;left:0;min-width:44px;width:44px;max-width:44px;white-space:nowrap;background:#f1f5f9;color:var(--muted);font-family:'Inter',sans-serif;font-size:10px;font-weight:400;z-index:1}.source-grid thead .row-number{z-index:3}.source-grid tbody tr:nth-child(even) td{background:#fafbfd}.source-grid tbody tr:hover td{background:#f2f6fa}.source-grid td:empty:after{content:'\00a0'}.source-grid .source-no-match{padding:28px;white-space:normal}.source-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;font-size:12px;color:var(--muted)}.source-pagination>div{display:flex;gap:10px}.view-switch{display:flex;padding:3px;background:#eee9de;border-radius:7px}.view-switch button{border:0;background:transparent;font-family:inherit;padding:8px 14px;color:var(--muted);border-radius:5px;font-size:12px}.view-switch button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0000000a}.roadmap-frame{display:block;border:1px solid var(--line);border-radius:10px;width:100%;height:calc(100dvh - 270px);min-height:530px;background:#faf7f0}.button:disabled{opacity:.45;cursor:default}.library-card:focus-visible,.source-grid:focus-visible,.view-switch button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:650px){.library-cards{grid-template-columns:1fr}.library-card{padding:23px}.source-tools{grid-template-columns:1fr;gap:16px}.source-grid th,.source-grid td{padding:7px 9px}.roadmap-frame{height:70dvh;min-height:470px}.source-pagination{font-size:11px}.source-pagination .button{padding:9px 12px}.page-heading:has(+.roadmap-frame){gap:16px}.page-heading:has(+.roadmap-frame) .actions{flex-wrap:wrap}}
@media(max-width:520px){.page-link{gap:12px}.page-link-meta{gap:10px}.page-soon{font-size:10px;padding:4px 7px}}
/* Full-width brand header and a simple personal greeting. */
.topbar{position:relative;isolation:isolate;overflow:hidden;max-width:none;margin:0;min-height:92px;padding:14px max(30px,calc((100vw - 1120px)/2));background:var(--navy);color:#fff;box-shadow:none;border-bottom:2px solid var(--gold)}
.topbar .brand{display:flex;align-items:center;gap:18px;min-width:0;padding:0;border:0;background:transparent;color:#fff;text-align:left}
.topbar .brand img{width:44px;height:62px;object-fit:contain;flex:0 0 auto}
.topbar .signin-name{font-size:30px}
.topbar .account{gap:8px}
.topbar .account button{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid transparent;border-radius:50%;color:#fff;background:transparent}
.topbar .account button:hover{color:#f3d678;background:#ffffff0d;border-color:#ffffff18}
.account svg{width:22px;height:22px}
.pages-workspace{padding-top:28px;padding-bottom:24px}
.greeting-date{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#5f7488}
.account-contact{margin-top:4px;font-size:12px}.account-contact .button{margin-left:6px}
.embedded-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 16px}.embedded-head h2{font-size:20px;font-weight:600;margin:0}
.greeting{font-size:clamp(28px,2.8vw,36px);line-height:1.15;letter-spacing:-.04em;font-weight:500;color:var(--navy);margin:0 0 28px;overflow-wrap:anywhere}
.pages h2{font-size:18px;margin-bottom:12px}
.pages+.pages{margin-top:24px}
@media(max-width:850px){.topbar{padding:14px 18px}.pages-workspace{padding-top:26px}}
@media(max-width:520px){.topbar{min-height:78px;padding:12px 14px;gap:12px}.topbar .brand{gap:11px}.topbar .brand img{width:35px;height:50px}.topbar .signin-name{font-size:24px}.topbar .account{gap:2px}.topbar .account button{width:40px;height:40px;padding:9px}.pages-workspace{padding-top:24px}.greeting{margin-bottom:24px}.pages+.pages{margin-top:22px}}

/* Home page launcher: each page keeps its account-filtered navigation action. */
.app-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 18px}
.app-tile{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:8px 6px 10px;border:0;border-radius:14px;background:transparent;color:var(--ink);text-align:center;text-decoration:none}
.app-icon{display:grid;place-items:center;width:64px;height:64px;flex-shrink:0;border-radius:18px;background:#e5ecf4;color:#28496e;box-shadow:inset 0 0 0 1px #00193308,0 3px 7px #00193306;transition:transform .18s,box-shadow .18s}
.app-icon svg{width:34px;height:34px}
.app-icon-sales,.app-icon-presentations{background:#f2e7c9;color:#80601b}
.app-icon-quality{background:#dfece5;color:#386452}
.app-icon-purchasing,.app-icon-roadmap{background:#e9e5dc;color:#6a6151}
.app-icon-admin{background:#e9e4ed;color:#625172}
.app-name{font-family:'Inter',sans-serif;font-size:14px;line-height:1.35;font-weight:500;max-width:160px}
.app-tile .page-soon{margin-top:-2px;font-size:10px;padding:3px 7px}
.app-tile:hover .app-icon{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #0019330a,0 8px 18px #00193310}
.app-tile:active .app-icon{transform:translateY(0) scale(.97)}
.app-tile:focus-visible{outline:2px solid var(--gold);outline-offset:2px;background:#ffffff80}
@media(max-width:680px){.app-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}}
@media(max-width:440px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.app-tile{padding:8px 4px 12px}.app-name{font-size:14px}}
@media(prefers-reduced-motion:reduce){.app-icon{transition:none}.app-tile:hover .app-icon,.app-tile:active .app-icon{transform:none}}
.delete-link{margin-right:auto;color:var(--red);background:transparent}.delete-link:hover{background:#a92b2209}.danger{background:var(--red);color:white}.danger:hover{background:#8b221b}#delete-user{width:min(480px,calc(100vw - 32px))}#delete-user-description{padding:24px 28px 0;font-size:14px;line-height:1.65}.delete-backup-note{margin:12px 28px 24px;font-size:12px;line-height:1.6;color:var(--muted)}#delete-user .field{margin:0 28px 24px}#delete-user-error{margin:0 28px 20px}#delete-user-title{overflow-wrap:anywhere}#delete-user-submit:disabled{opacity:.45;cursor:default}@media(max-width:520px){#editor .dialog-actions{padding:16px 20px;gap:8px}#editor .dialog-actions .button{padding:10px 12px}#delete-user-description{padding:20px 20px 0}.delete-backup-note{margin:12px 20px 20px}#delete-user .field,#delete-user-error{margin-left:20px;margin-right:20px}#delete-user .dialog-actions{padding:16px 20px}}

/* Centered brand and a quiet, reusable resolved chromatogram. */
.topbar,.signin-brand{position:relative;isolation:isolate;overflow:hidden}
.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px}
.topbar .brand{grid-column:2;justify-content:center;position:relative;z-index:1}
.topbar .account{grid-column:3;justify-self:end;position:relative;z-index:1}
.topbar .brand img{width:64px;height:64px}
.signin-brand{min-height:160px;padding:28px 24px}
.signin-brand img{width:84px;height:84px;position:relative;z-index:1}
.topbar::before,.topbar::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("chromatogram.svg") center/100% 100% no-repeat}
.topbar::before{opacity:.15}
.topbar::after{opacity:.30;filter:brightness(1.6);mask-image:linear-gradient(90deg,transparent,#000 45%,#000 55%,transparent);mask-size:7px 100%;mask-repeat:no-repeat;animation:chromatogram-travel 14s linear infinite}
@keyframes chromatogram-travel{from{mask-position:-32px 0}to{mask-position:calc(100% + 32px) 0}}
@media(max-width:520px){.topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}.topbar .brand img{width:54px;height:54px}.signin-brand img{width:76px;height:76px}}
@media(prefers-reduced-motion:reduce){.topbar::after{animation:none;opacity:0}}

/* A calm opening banner, followed by the normal, freely scrolling app launcher. */
.topbar.home-hero{min-height:clamp(190px,27svh,260px);padding:28px 24px 58px;box-shadow:none}
.home-hero .brand{flex-direction:column;gap:16px;align-self:center;animation:home-brand-arrive .65s cubic-bezier(.2,.7,.2,1) both}
.home-hero .brand img{width:78px;height:78px}
.home-hero .account{position:absolute;top:16px;right:max(24px,calc((100vw - 1240px)/2))}
.topbar::before,.topbar::after{top:auto;bottom:-8px;height:100px}.home-hero::before,.home-hero::after{top:auto;bottom:0;height:110px}
.hero-scroll{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:88px;min-height:46px;padding:8px;background:none;border:0;color:#acbfd0;font-size:12px;letter-spacing:.07em;transition:color .25s}
.hero-scroll:hover{color:#f3e1a1}
.scroll-chevron{width:10px;height:10px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .3s}
.hero-scroll:hover .scroll-chevron{transform:translateY(3px) rotate(45deg)}
.hero-scroll:focus-visible{outline:2px solid #c49a2e;outline-offset:3px;border-radius:6px}
.pages-workspace{min-height:100svh;scroll-margin-top:20px;padding-top:60px;animation:home-apps-arrive .7s .1s cubic-bezier(.2,.7,.2,1) both}
@keyframes home-brand-arrive{from{opacity:.4;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}
@keyframes home-apps-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
#workspace:focus{outline:none}
@media(max-width:520px){.topbar.home-hero{min-height:clamp(180px,28svh,240px);padding:44px 18px 56px}.home-hero .brand img{width:66px;height:66px}.home-hero .account{top:10px;right:16px}.hero-scroll{bottom:4px}.pages-workspace{padding-top:38px}}
@media(prefers-reduced-motion:reduce){.hero-scroll,.scroll-chevron{transition:none}.home-hero .brand,.pages-workspace{animation:none}}

/* Section cards: one pale cool surface per group, with the apps floating flat inside it. */
body:has(.pages-workspace){background:#dbe2e9}
.pages-workspace .greeting{margin-bottom:22px}
.pages-workspace .pages{position:relative;isolation:isolate;overflow:hidden;padding:18px 30px 16px;border-radius:22px;background:linear-gradient(168deg,#f4f6f9 0%,#eef2f6 58%,#e9eef3 100%);border:1px solid #ffffffb0;box-shadow:0 1px 2px #0019330f,0 14px 34px -22px #00193340}
.pages-workspace .pages::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 60% 55% at 12% 0%,#ffffffcc,transparent 70%)}
.pages-workspace .pages>*{position:relative;z-index:1}
.pages-workspace .pages+.pages{margin-top:16px}
.pages-workspace .pages h2{display:flex;align-items:center;gap:14px;margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#56697f}
.pages-workspace .pages h2::before{content:"";width:22px;height:1px;background:linear-gradient(90deg,var(--gold),#c49a2e55);flex:0 0 auto}
.pages-workspace .app-grid{gap:10px 22px}
.pages-workspace .app-tile{gap:0;padding:8px 8px 10px;min-height:0;border:0;border-radius:18px;background:transparent;color:var(--ink);box-shadow:none;transition:background .2s}
.pages-workspace .app-icon{margin-bottom:10px;width:58px;height:58px;border-radius:50%;background:#ffffffa8;color:#2f4d6f;box-shadow:inset 0 0 0 1px #00193314;transition:transform .22s cubic-bezier(.2,.7,.2,1),background .22s,box-shadow .22s}
.pages-workspace .app-icon svg{width:29px;height:29px;stroke-width:1.45}
.pages-workspace .app-icon-sales,.pages-workspace .app-icon-presentations{color:#8a6a1c}
.pages-workspace .app-icon-quality{color:#3b6a56}
.pages-workspace .app-icon-purchasing,.pages-workspace .app-icon-roadmap{color:#655f53}
.pages-workspace .app-icon-admin{color:#5f4f73}
.pages-workspace .app-icon-documents{color:#3a6b82}
.pages-workspace .app-name{font-size:14px;line-height:1.3;font-weight:600;letter-spacing:-.005em;color:var(--navy);max-width:176px;transition:color .2s}
.pages-workspace .app-blurb{display:block;margin-top:5px;max-width:176px;font-size:12px;line-height:1.4;font-weight:400;color:#5d6d80;text-wrap:balance}
.pages-workspace .app-tile .page-soon{margin-top:auto;padding:6px 0 0;font-size:9.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#8a6d1f;background:transparent;border-radius:0}
.pages-workspace .app-tile:hover{background:#ffffff66}
.pages-workspace .app-tile:hover .app-icon{transform:translateY(-3px);background:#fff;box-shadow:inset 0 0 0 1px #0019331c,0 10px 22px -10px #00193344}
.pages-workspace .app-tile:hover .app-name{color:var(--blue)}
.pages-workspace .app-tile:active .app-icon{transform:translateY(-1px) scale(.97)}
.pages-workspace .app-tile:focus-visible{background:#ffffff80;outline:2px solid var(--gold);outline-offset:2px}
.pages-workspace .source-footnote{margin-top:26px}
@media(max-width:850px){.pages-workspace .pages{padding:16px 24px 14px;border-radius:20px}.pages-workspace .app-grid{gap:10px 16px}}
@media(max-width:680px){.pages-workspace .pages{padding:16px 18px 12px}.pages-workspace .pages h2{margin-bottom:8px}.pages-workspace .app-grid{gap:8px 12px}.pages-workspace .app-icon{width:54px;height:54px}.pages-workspace .app-icon svg{width:27px;height:27px}}
@media(max-width:440px){.pages-workspace .pages{padding:14px 14px 10px;border-radius:18px}.pages-workspace .pages+.pages{margin-top:14px}.pages-workspace .app-tile{padding:10px 4px 12px}.pages-workspace .app-blurb{font-size:11.5px}}
@media(prefers-reduced-motion:reduce){.pages-workspace .app-tile,.pages-workspace .app-icon,.pages-workspace .app-name{transition:none}.pages-workspace .app-tile:hover .app-icon,.pages-workspace .app-tile:active .app-icon{transform:none}}
.document-tools{display:grid;grid-template-columns:minmax(220px,2fr) 1fr 1fr auto;gap:16px;align-items:end;margin:24px 0 12px}.document-tools .field{margin:0}.document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px}.document-card{background:#fff;border:1px solid #dce3eb;border-radius:14px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.document-card h2{font-size:18px;line-height:1.4;margin:10px 0;overflow-wrap:anywhere}.document-meta{font-size:12px;color:#526780;font-weight:600}.document-card p{margin:6px 0;font-size:13px}.document-note{color:#526078;line-height:1.5}.document-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:18px}.app-icon-documents{color:#a7c8db}@media(max-width:700px){.document-tools{grid-template-columns:1fr 1fr}.document-tools .field:first-child{grid-column:1/-1}.document-tools>button{grid-column:1/-1}}

/* Sites and roadmap share one compact directory. */
.sites-directory,.roadmap-list{max-width:1060px;margin:auto}.compact-list{border:1px solid #dce3ea;border-radius:14px;overflow:hidden;background:#ffffffa8}.site-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;color:var(--navy);text-decoration:none}.site-row+.site-row,.roadmap-row+.roadmap-row{border-top:1px solid #dce3ea}.site-row:hover,.roadmap-row summary:hover{background:#eef3f8}.site-row strong,.roadmap-name{font-size:14px;font-weight:600}.site-row small,.roadmap-name small{display:block;color:#5d6d80;font-size:12px;font-weight:400;line-height:1.5;margin-top:3px}.roadmap-row summary{display:flex;align-items:center;gap:16px;padding:13px 20px;cursor:pointer;list-style:none}.roadmap-row summary::-webkit-details-marker{display:none}.roadmap-name{flex:1;min-width:0}.roadmap-status{font-size:11px;white-space:nowrap;padding:4px 9px;border-radius:20px;background:#e9eef5;color:#3f5872}.stage-complete{background:#e4f0e8;color:#2d6247}.stage-restricted{background:#f8e9e4;color:#8a4732}.stage-early-stages,.stage-ongoing{background:#e3eef8;color:#295978}.stage-mvp-complete,.stage-designed{background:#f5edd9;color:#785d1e}.row-chevron{transition:transform .15s}.roadmap-row[open] .row-chevron{transform:rotate(180deg)}.roadmap-detail{padding:0 20px 18px;font-size:13px;color:#4d6073;line-height:1.6}.roadmap-detail p{max-width:800px}.roadmap-tasks{padding:0;list-style:none;display:grid;gap:6px}.roadmap-tasks li{display:flex;gap:10px}.roadmap-tasks li span{color:#387155}.roadmap-updates{border-left:2px solid #c49a2e;padding-left:12px}.roadmap-updates time{font-size:11px;font-weight:600}.roadmap-intro{max-width:1060px;margin:0 auto 24px;color:#5d6d80;font-size:13px}.roadmap-intro span{float:right}.sites-directory .library-group,.roadmap-list .library-group{margin-top:24px}.sites-directory h2,.roadmap-list h2{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#56697f;margin-bottom:10px}.roadmap-row summary:focus-visible,.site-row:focus-visible{outline:2px solid #356ba1;outline-offset:-3px}@media(max-width:600px){.roadmap-intro span{float:none;display:block;margin-top:5px}.roadmap-row summary{padding:12px;gap:8px}.site-row{padding:14px}.roadmap-name small{display:none}.roadmap-status{font-size:10px}.roadmap-detail{padding:0 12px 16px}}@media(prefers-reduced-motion:reduce){.row-chevron{transition:none}}

/* Private document thumbnails and the embedded test menu. */
.document-preview{display:block;width:100%;padding:12px;margin:0 0 18px;background:#edf1f6;border:1px solid #dce3eb;border-radius:8px;cursor:zoom-in;color:#526780;text-align:center}
.document-preview img{display:block;width:100%;height:230px;object-fit:contain;object-position:top;margin:auto;filter:drop-shadow(0 2px 3px #00193315)}
.document-preview span{display:block;font-size:11px;margin-top:10px;line-height:1.4}.document-preview:hover{background:#e3eaf3}.document-preview:focus-visible{outline:3px solid #356ba1;outline-offset:3px}
.document-preview-dialog{width:min(1000px,calc(100vw - 32px));max-width:1000px;max-height:92dvh;padding:22px;border:1px solid #dce3eb;border-radius:14px;overflow:auto}.document-preview-dialog::backdrop{background:#001933a6}.document-preview-dialog h2{font-size:20px}.document-preview-sheet{background:#edf1f6;padding:16px}.document-preview-sheet img{display:block;width:100%;height:auto;margin:auto}.menu-frame{display:block;width:100%;height:calc(100dvh - 270px);min-height:580px;border:1px solid #dce3eb;border-radius:14px;background:white}.app-icon-menu{color:#527b8c}.app-icon-entry{color:#3f6b3f}
@media(max-width:600px){.menu-frame{height:calc(100dvh - 220px);min-height:540px}.document-preview-dialog{padding:14px}.document-preview-sheet{padding:4px}}

.dashboard-tabs{margin:0 0 24px;display:inline-flex}.dashboard-board{border:1px solid #dce3eb;border-radius:16px;background:white;overflow:hidden}.dashboard-board>header{padding:24px 28px;border-bottom:1px solid #e3e8ee}.dashboard-board h2{font-size:20px;margin:0 0 7px}.dashboard-board>header p{font-size:14px;color:#526780;margin:0}.dashboard-pending{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 24px;background:linear-gradient(#f8fafc,#fff)}.dashboard-pending h3{font-size:20px;margin:16px 0 10px}.dashboard-pending p{max-width:440px;font-size:14px;line-height:1.6;color:#526780;margin:0}.dashboard-pending .app-icon{color:#527b8c;background:#eaf0f6;border-radius:16px}.dashboard-tabs button:focus-visible{outline:3px solid #356ba1;outline-offset:3px}@media(max-width:600px){.dashboard-board>header{padding:20px}.dashboard-pending{min-height:300px}}

.dashboard-access{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:12px 24px;font-size:13px;color:#526780}.dashboard-frame{display:block;width:100%;height:78dvh;min-height:520px;border:0;background:white}@media(max-width:600px){.dashboard-access{align-items:flex-start;flex-direction:column;padding:16px}.dashboard-frame{min-height:500px}}

/* People & access: group grants above individual pages (September 12, 2026) */
fieldset.access-field{border:0;padding:0;margin:0 0 18px;min-width:0}
.access-field legend{padding:0;margin-bottom:7px}
.access-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.access-group{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #cbd3dc;border-radius:8px;background:#fff;cursor:pointer}
.access-group:has(input:checked){border-color:var(--gold);background:#fbf7ec}
.access-group input{margin:3px 0 0}
.access-group span{display:flex;flex-direction:column;gap:3px;min-width:0}
.access-group strong{font-size:13px;font-weight:650;color:#263a50}
.access-group small{font-size:11.5px;color:var(--muted);line-height:1.35}
.access-subhead{margin:14px 0 7px;font-size:12px;font-weight:650;color:#263a50}
.access-pages{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}
.access-pages label{flex-wrap:wrap}
.access-pages input:disabled{opacity:.7}
.access-included{flex-basis:100%;margin-left:22px;font-size:11px;color:#7d6118}
.access-included:empty{display:none}
@media(max-width:520px){.access-groups,.access-pages{grid-template-columns:1fr}}
/* Commodity Blitz 2026 and Notifications */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.badge.warn{color:#7a5a12;background:#fbf1d8}
.account .bell{position:relative}.bell-count{position:absolute;top:1px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--gold);color:var(--navy);font-size:10px;font-weight:700;line-height:17px;text-align:center}
.blitz-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;margin-bottom:22px;padding:28px 32px;border-radius:13px;background:linear-gradient(115deg,#123b5d,var(--navy));color:#fff;border-left:5px solid var(--gold);box-shadow:0 5px 12px #00193313}
.blitz-hero .eyebrow{text-align:left}.blitz-hero h2{font-size:22px;line-height:1.25;margin:0 0 10px}.blitz-purpose p{color:#dbe4ee;font-size:14px;line-height:1.65;margin:0}.blitz-purpose .blitz-source{margin-top:12px;font-size:11px;color:#9fb1c4}
.blitz-facts dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px}.blitz-facts dt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#f3d678}.blitz-facts dd{margin:4px 0 0;font-size:15px;font-weight:600}.blitz-facts dd small{display:block;font-size:11px;font-weight:400;color:#9fb1c4}
.blitz-rules{list-style:none;margin:0;padding:0;display:grid;gap:7px}.blitz-rules li{position:relative;padding-left:18px;font-size:13px;color:#e8eef4}.blitz-rules li:before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:2px;background:var(--gold)}
.blitz-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.blitz-stat{background:#fff;border:1px solid #e1e5e9;border-radius:11px;padding:16px 18px;box-shadow:0 3px 8px #00193304}.blitz-stat strong{display:block;font-size:28px;line-height:1.1;color:var(--navy);font-variant-numeric:tabular-nums}.blitz-stat span{display:block;margin-top:6px;font-size:12px;font-weight:600;color:var(--ink)}.blitz-stat small{display:block;margin-top:2px;font-size:11px;color:var(--muted)}
.blitz-stat{border-top:3px solid var(--gold)}
.pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:20px 24px}.pipeline-stage{display:grid;gap:4px}.pipeline-count{font-size:24px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}.pipeline-name{font-size:12px;color:var(--muted)}.bar{display:block;width:100%;border-radius:4px;background:#edf0f3}.bar rect{fill:#8aa3bb}.pipeline .bar{height:6px}.pipe-enrolled .bar rect{fill:var(--blue)}.pipe-sampling .bar rect{fill:var(--gold)}.pipe-complete .bar rect{fill:var(--green)}
.milestones{list-style:none;margin:0;padding:8px 24px 16px}.milestones li{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f2}.milestones li:last-child{border-bottom:0}.milestone-date{font-size:12px;font-weight:600;color:var(--navy)}.milestone-main strong{display:block;font-size:13px}.milestone-main small{display:block;font-size:11px;color:var(--muted)}.milestone-when{font-size:11px;padding:3px 8px;border-radius:10px;background:#eef2f6;color:#4b5a69;white-space:nowrap}.milestones .soon .milestone-when{background:#fbf1d8;color:#7a5a12}.milestones .past .milestone-when{background:#f3f4f5;color:#8a939c}
.panel+.panel,.grid+.panel{margin-top:22px}.grid>.panel{margin-top:0}.panel-empty{padding:20px 24px}
.matrix-bars{list-style:none;margin:0;padding:14px 24px 18px;display:grid;gap:10px}.matrix-bars li{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr) 90px;gap:14px;align-items:center}.matrix-name{font-size:13px}.matrix-name small,.blitz-table small{color:var(--muted);font-size:11px}.matrix-bars .bar{height:10px}.matrix-bars .bar rect{fill:var(--blue)}.matrix-value{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.matrix-value small{display:block;font-weight:400;font-size:11px;color:var(--muted)}
.list-search{width:min(340px,100%);padding:8px 12px;border:1px solid #d5dbe1;border-radius:8px;font:inherit;font-size:13px}
.blitz-org{padding:20px 24px;border-bottom:1px solid #edf0f2}.blitz-org:last-child{border-bottom:0}.blitz-org-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.blitz-org-head h3{font-size:17px;margin:0 0 3px}.blitz-org-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.blitz-org-total{font-size:12px;color:var(--muted)}.blitz-org-total strong{font-size:15px;color:var(--navy)}
.status-select{font:inherit;font-size:12px;font-weight:600;padding:6px 10px;border-radius:14px;border:1px solid #d5dbe1;background:#f3f5f7;color:#445362}.status-select.status-enrolled{background:#e8f0f8;border-color:#bcd0e4;color:var(--blue)}.status-select.status-sampling{background:#fbf1d8;border-color:#ecd9a4;color:#7a5a12}.status-select.status-complete{background:#edf6f0;border-color:#c3dccb;color:var(--green)}
.blitz-notes{margin:10px 0 0;font-size:13px;color:#4b5866;white-space:pre-wrap}
.blitz-org-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:26px;margin-top:16px}.blitz-sub{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.blitz-sub h4{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.blitz-contacts{list-style:none;margin:0;padding:0}.blitz-contacts li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:8px 0;border-bottom:1px solid #f0f2f4;font-size:13px}.blitz-contacts li:last-child{border-bottom:0}.blitz-contacts small{color:var(--muted)}.contact-ways{grid-column:1;display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.contact-ways a{color:var(--blue)}.blitz-contacts .row-actions{grid-column:2;grid-row:1/span 2;align-self:center}
.row-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}
.table-wrap{overflow-x:auto}.blitz-table{width:100%;border-collapse:collapse;font-size:13px}.blitz-table th,.blitz-table td{padding:8px 10px;border-bottom:1px solid #f0f2f4;text-align:left;vertical-align:middle}.blitz-table thead th{font-size:11px;font-weight:600;color:var(--muted)}.blitz-table .num{text-align:right;font-variant-numeric:tabular-nums}.blitz-table tfoot th,.blitz-table tfoot td{border-bottom:0;font-weight:700}
.blitz-org-foot{margin-top:12px;display:flex}.blitz-org-foot .delete-link{margin-right:0;margin-left:auto}
.message-row.unread{border-left-color:var(--gold);background:#fffdf6}.message-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 6px;font-size:12px;color:var(--muted)}.message-body{white-space:pre-wrap;font-size:13px;line-height:1.6;margin:6px 0}
@media(max-width:1100px){.blitz-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.blitz-org-body{grid-template-columns:1fr}}
@media(max-width:850px){.blitz-hero{grid-template-columns:1fr;padding:22px}.blitz-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.matrix-bars li{grid-template-columns:1fr 70px}.matrix-bars .bar{grid-column:1/-1;grid-row:2}.blitz-org-head{flex-direction:column}.blitz-org-side{justify-content:flex-start}}
.blitz-decisions{margin-bottom:22px}.decision{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:16px 24px;border-bottom:1px solid #edf0f2;border-left:4px solid var(--gold)}.decision:last-child{border-bottom:0}.decision.decided{border-left-color:var(--green);background:#fbfdfc}
.decision-main h3{margin:0 0 3px;font-size:14px}.decision-main p{margin:0;font-size:13px;line-height:1.55;color:#4b5866}.decision-main .subtle{margin-top:4px;font-size:11px}.decision-outcome{margin-top:6px!important;color:var(--ink)!important}
.decision-side{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}.decision-owner{display:grid;text-align:right;font-size:12px;font-weight:600;color:var(--navy);max-width:240px}.decision-owner small{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.decision-owner.unassigned{color:#9a6b12}
@media(max-width:850px){.decision{grid-template-columns:1fr}.decision-side{justify-content:flex-start}.decision-owner{text-align:left}}

/* Presentation cards with an opening-slide preview */
.library-card.has-preview{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}
.library-thumb{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:top;background:#edf1f6;border-bottom:1px solid #00000010}
.library-card.has-preview .library-card-body{flex:1;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 22px 20px}
.library-card.has-preview h3{font-size:17px;margin-bottom:6px}.library-card.has-preview p{font-size:12.5px;line-height:1.6}
.library-card.has-preview:hover .library-thumb{filter:brightness(1.02)}
@media(min-width:1100px){.library-cards:has(.has-preview){grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Customer side vs. lab side (Austin, September 12, 2026): customers get a plain header;
   the lab side keeps the chromatogram and carries the Headwaters mark at the bottom right. */
.topbar.client-side::before,.topbar.client-side::after{content:none}
.hw-watermark{position:fixed;right:18px;bottom:14px;z-index:5;width:52px;height:auto;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer}
@media(max-width:520px){.hw-watermark{width:38px;right:10px;bottom:10px}}

/* Commodity Blitz 2026 customer project */
.portal-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:22px;align-items:start}
.portal-layout>.panel{margin-top:0}
@media(max-width:1000px){.portal-layout{grid-template-columns:1fr}}
.portal-form{grid-template-columns:1fr 1fr}
.saved-view,.saved-edit{display:flex;align-items:center;gap:8px;min-height:42px}.saved-edit[hidden],.saved-view[hidden]{display:none}.saved-value{flex:1;font-size:15px;color:var(--ink);overflow-wrap:anywhere;padding:10px 0}.saved-value.empty{color:var(--muted);font-style:italic}.saved-edit input{flex:1;min-width:0}.saved-status{min-height:1.2em}
.commodity-picker{border:0;padding:0;margin:0}.commodity-picker legend{font-size:12px;font-weight:600;margin-bottom:8px}
.commodity-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.commodity-choices select{width:100%}
.commodity-choice{position:relative;display:block;cursor:pointer}
.commodity-choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.commodity-choice span{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;transition:border-color .15s,background .15s}
.commodity-choice strong{display:block;font-size:13px;font-weight:600;color:var(--navy)}.commodity-choice small{display:block;margin-top:2px;font-size:11px;color:var(--muted)}
.commodity-choice input:checked+span{border-color:var(--blue);background:#eef4fa;box-shadow:inset 0 0 0 1px var(--blue)}
.commodity-choice input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.portal-form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.account-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;padding:14px 16px;border-radius:10px;background:#fbf1d8;border:1px solid #ecd9a6}
.account-form .account-prompt{flex:1 1 100%;margin:0;font-size:13px;line-height:1.5;color:#5b4611}
.account-form input{flex:1 1 180px;min-width:0}
.account-set{margin:0 0 12px;display:flex;align-items:center;gap:10px}
.portal-created{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:0 0 20px;padding:18px 24px;border-radius:12px;background:linear-gradient(115deg,#123b5d,var(--navy));color:#fff;border-left:5px solid var(--gold)}
.portal-created .eyebrow{color:#f3d678;text-align:left;margin:0}.portal-created p{margin:0;color:#dbe4ee}
.sample-number{font-family:'Inter',sans-serif;font-size:26px;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:inherit;margin:2px 0 4px}
.portal-created .sample-number{color:#fff}
.sample-no{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.portal-samples td small,.blitz-org-samples td small{display:block;color:var(--muted);font-size:11px}
.sample-status{display:inline-block;padding:3px 8px;border-radius:5px;font-size:11px;font-weight:600;white-space:nowrap}
.status-waiting{background:#eef1f5;color:#44566b}.status-received{background:#e3f1e8;color:#23633b}.status-withdrawn{background:#f4eeee;color:#8a4b4b}
tr.sample-withdrawn td{opacity:.62}
tr.is-scanned td{background:#fff7dc}
.label-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.label-actions label{font-size:12px;color:var(--muted)}.label-actions select{width:auto;padding:6px 8px}
.label-hint{margin:12px 0 0;font-size:12px}

/* Lab side: receiving, invitations, and samples */
.receive-panel{margin-top:22px}
.receive-form{display:flex;gap:10px;max-width:560px}.receive-form input{flex:1;min-width:0;font-size:16px;font-variant-numeric:tabular-nums}
.receive-found{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,auto);gap:22px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:800px){.receive-found{grid-template-columns:1fr}}
.receive-sample dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 18px;margin:12px 0 0}
.receive-sample dt{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.receive-sample dd{margin:2px 0 0;font-size:13px}
.receive-lab{display:flex;flex-direction:column;gap:8px;align-self:start}.receive-lab label{font-size:12px;font-weight:600}.receive-lab input{font-size:16px}
.invite-form{display:flex;gap:8px;margin-top:10px}.invite-form select{flex:1;min-width:0}
.blitz-org-samples{grid-column:1/-1}

/* Notifications composer */
.notice-form{grid-template-columns:1fr}
.audience{border:0;padding:0;margin:0}.audience legend{font-size:12px;font-weight:600;margin-bottom:4px}
.audience-head{margin:12px 0 6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.audience-options{display:flex;flex-wrap:wrap;gap:8px}
.audience-option,.audience-person{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px;cursor:pointer}
.audience-option small,.audience-person small{display:block;font-size:11px;color:var(--muted)}
.audience-option:has(input:checked),.audience-person:has(input:checked){border-color:var(--blue);background:#eef4fa}
.audience-search{width:100%;max-width:360px;margin-bottom:8px}
.audience-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;max-height:260px;overflow:auto;padding:2px}

/* Avery 5163 labels: 4 x 2 in, two columns of five, 0.5 in top margin, 0.15625 in side
   margins, 0.1875 in between columns. Only the label sheets print. */
#label-print{display:none}
@page labels{size:letter;margin:0}
@media print{
  body.printing-labels>*:not(#label-print){display:none!important}
  body.printing-labels{background:#fff}
  body.printing-labels #label-print{display:block}
  .hw-watermark{display:none!important}
  .label-sheet{page:labels;box-sizing:border-box;width:8.5in;height:11in;padding:.5in .15625in 0;display:grid;grid-template-columns:4in 4in;column-gap:.1875in;grid-auto-rows:2in;align-content:start;overflow:hidden;break-after:page}
  .label-sheet:last-child{break-after:auto}
  .label{box-sizing:border-box;display:flex;align-items:center;gap:.12in;padding:.13in .16in;overflow:hidden;color:#000;font-family:Inter,Arial,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .label-qr{flex:0 0 auto;width:1.45in;height:1.45in}
  .label-text{min-width:0;flex:1;display:flex;flex-direction:column;height:1.74in;overflow:hidden}
  .label-number{margin:0;font-size:14pt;font-weight:700;letter-spacing:.01em;line-height:1.1;font-variant-numeric:tabular-nums}
  .label-project{margin:1pt 0 3pt;font-size:6.5pt;color:#333}
  .label dl{margin:0;display:grid;gap:.5pt}
  .label dl div{display:flex;gap:4pt;min-width:0}
  .label dt{flex:0 0 .5in;font-size:5.8pt;text-transform:uppercase;letter-spacing:.04em;color:#555;line-height:9pt}
  .label dd{margin:0;min-width:0;font-size:7.2pt;line-height:9pt;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .label-foot{margin:auto 0 0;font-size:5.5pt;color:#555}
}
/* Spacing for the project, receiving, and notification panels */
.account-form input,.receive-form input,.receive-lab input,.invite-form select,.audience-search,.commodity-choices select{padding:10px 12px;border:1px solid #cbd3dc;border-radius:6px;background:#fff;color:var(--ink);min-height:42px;font:inherit}
.label-actions select{padding:6px 8px;border:1px solid #cbd3dc;border-radius:6px;background:#fff;font:inherit;font-size:13px}
.portal-submit .panel-head,.portal-layout .panel-head{flex-wrap:wrap}.portal-layout .panel-head h2{white-space:nowrap}
.portal-form,.notice-form{padding:18px 24px 22px}
.portal-submit .account-form{margin:18px 24px 0}
.portal-submit .account-set{margin:0;padding:16px 24px 0}
.portal-layout .label-hint{padding:0 24px 18px}
.portal-samples th:first-child,.portal-samples td:first-child{width:34px}
.receive-form{padding:18px 24px 0}.receive-panel>.error{padding:10px 24px 0;margin:0}
.receive-found{margin:18px 24px 22px}
.receive-panel{padding-bottom:18px}
.commodity-picker{margin-bottom:12px}
.invite-form select{font-size:13px;min-height:36px;padding:6px 10px}
.portal-form-actions{justify-content:flex-start;text-align:left}

/* Users on Blitz organizations and their profiles */
.blitz-users li{align-items:center}
.user-link{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:4px 6px;margin:-4px -6px;border:0;border-radius:6px;background:none;text-align:left;color:var(--ink);font:inherit;cursor:pointer}
.user-link strong{font-size:13px;color:var(--navy)}.user-link small{font-size:11px;color:var(--muted)}
button.user-link:hover{background:#eef4fa}button.user-link:hover strong{color:var(--blue);text-decoration:underline}
.user-link.static{cursor:default}.user-link .badge{margin-left:6px;font-size:10px;font-weight:600}
.user-profile{width:min(520px,calc(100vw - 32px));padding:22px;border:1px solid #dce3eb;border-radius:14px}.user-profile::backdrop{background:#001933a6}
.profile-list{display:grid;gap:12px;margin:18px 0}.profile-list dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.profile-list dd{margin:3px 0 0;font-size:14px}.profile-list ul{margin:0;padding-left:18px}
.profile-note{font-size:12px}
/* Sample receiving */
.receive-list{margin-top:22px}
.receive-batch .batch-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 24px;border-bottom:1px solid var(--line)}
.receive-batch .batch-tools label{font-size:12px;font-weight:600}
.batch-tools input,.batch-lab{padding:7px 10px;border:1px solid #cbd3dc;border-radius:6px;font:inherit;font-size:14px;width:130px;font-variant-numeric:tabular-nums}
.receive-lab small{font-size:11px}
.receive-export-note{padding:12px 24px 18px;margin:0;font-size:12px}
.receive-list td small{display:block;color:var(--muted);font-size:11px}

.people-list+.people-list{margin-top:22px}.people-list .panel-head p{margin:2px 0 0;font-size:12px}
.users-subhead{margin:10px 0 4px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

details.blitz-decisions>summary{cursor:pointer;list-style:none}details.blitz-decisions>summary::-webkit-details-marker{display:none}
details.blitz-decisions>summary .row-chevron{display:inline-block;margin-left:10px;transition:transform .2s}details.blitz-decisions[open]>summary .row-chevron{transform:rotate(180deg)}
details.blitz-decisions:not([open])>summary{border-bottom:0}

/* One compact record browser for the LIMS group. */
.purchase-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px}.purchase-filters label,.purchase-draft label,.purchase-add label,.purchase-cart-line label{display:grid;gap:6px;font-size:12px;font-weight:600}.purchase-filters input,.purchase-filters select,.purchase-draft input,.purchase-draft textarea,.purchase-add input{font:inherit;padding:10px;border:1px solid #cdd8e0;border-radius:7px;min-width:0;width:100%;box-sizing:border-box}.purchase-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.purchase-items{display:grid;gap:9px}.purchase-item{background:#fff;border:1px solid #dce4eb;border-radius:10px;padding:16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.purchase-item h3{font-size:15px;margin:5px 0}.purchase-item p,.purchase-item small,.purchase-cart-line small{font-size:12px;color:#637485;margin:5px 0}.purchase-pack{font-weight:600}.purchase-add{display:flex;gap:8px;align-items:end;flex-shrink:0}.purchase-add input{width:85px}.purchase-catalog-scroll{min-width:0;overflow-x:auto;border:1px solid #d5dfe8;border-radius:10px;background:white}.purchase-catalog-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.4}.purchase-catalog-table th,.purchase-catalog-table td{padding:9px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid #e0e6ec}.purchase-catalog-table thead th{background:#e5edf3;color:#324f66;font-weight:600;white-space:nowrap}.purchase-catalog-table tbody th{font-weight:400;min-width:180px}.purchase-catalog-table strong,.purchase-catalog-table small{display:block}.purchase-catalog-table strong{font-size:13px;font-weight:600}.purchase-catalog-table small{font-size:11px;color:#637485;margin-top:3px}.purchase-catalog-table tbody tr:nth-child(even){background:#f0f3f6}.purchase-catalog-table tbody tr:hover{background:#f8fafb}.purchase-catalog-table tbody tr:nth-child(even):hover{background:#edf1f4}.purchase-catalog-table tr:last-child>*{border-bottom:0}.purchase-catalog-table .purchase-add{flex-direction:row;align-items:center}.purchase-catalog-table .purchase-add input{width:65px;padding:7px 8px}.purchase-catalog-table td:last-child{width:1%;white-space:nowrap}.purchase-draft{background:#fff;border:1px solid #dce4eb;border-radius:12px;padding:20px;position:sticky;top:16px}.purchase-draft h2{font-size:19px;margin:0 0 16px}.purchase-draft h2 small{font-size:12px;font-weight:400;color:#687887}.purchase-cart-line{border-bottom:1px solid #e0e7ed;padding:12px 0;margin-bottom:12px}.purchase-cart-line strong,.purchase-cart-line small{display:block}.purchase-cart-line label{max-width:130px;margin:10px 0}.purchase-draft form{display:grid;gap:12px}.purchase-audience{font-size:12px;line-height:1.5;color:#67788a}.purchase-list-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.purchase-table{min-width:1250px}.purchase-table td:first-child{width:auto;min-width:100px}.purchase-table th{padding:8px}.purchase-table th button{padding:5px;white-space:nowrap}.purchase-table td{font-size:12px;min-width:90px}.purchase-table td:nth-child(6){min-width:200px}.purchase-table td:nth-child(11){max-width:240px;overflow-wrap:anywhere}@media(max-width:900px){.purchase-layout{grid-template-columns:1fr}.purchase-draft{position:static;grid-row:1}.purchase-item{align-items:start}.purchase-add{flex-direction:column;align-items:stretch}}@media(max-width:500px){.purchase-item{padding:12px;gap:10px}.purchase-filters label{width:100%}.purchase-list-top{align-items:start;flex-direction:column}}
.identity-search-line button{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}
.app-icon-lims{color:#35666d}.identity-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #d7e0e7;margin-bottom:22px;padding-bottom:8px}.identity-tabs button{border:0;background:transparent;color:#526678;padding:10px 14px;border-radius:8px;font:inherit;font-size:13px;cursor:pointer}.identity-tabs button[aria-pressed=true]{background:#e1edf0;color:#174956;font-weight:600}.identity-tools{display:grid;grid-template-columns:minmax(240px,1fr) 230px auto;align-items:end;gap:12px;max-width:980px}.identity-tools .field{margin:0}.identity-freshness{font-size:12px;color:#627384;margin:18px 0}.identity-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:22px}.identity-layout.has-detail{grid-template-columns:minmax(0,1fr) minmax(330px,400px)}.identity-main{min-width:0}.identity-table-scroll{overflow:auto;border:1px solid #d8e1e8;border-radius:12px;background:#fff}.identity-table{width:100%;border-collapse:collapse;min-width:670px;font-size:13px}.identity-table th{text-align:left;background:#edf2f6;color:#526678;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:12px 15px}.identity-table td{padding:12px 15px;border-top:1px solid #e4eaf0;vertical-align:middle}.identity-table td:first-child{width:48%;min-width:230px}.identity-table tr.selected{background:#f0f7f8}.identity-table td>small{display:block;font-size:11px;line-height:1.5;color:#667688;margin-top:4px;overflow-wrap:anywhere}.identity-name{background:none;border:0;padding:0;color:var(--navy);font:inherit;font-weight:600;text-align:left;cursor:pointer}.identity-name:hover{text-decoration:underline}.identity-status{display:inline-block;border-radius:20px;padding:4px 8px;font-size:10px;white-space:nowrap;background:#eef1f5;color:#627181}.identity-linked,.identity-source{background:#e5f0e9;color:#296545}.identity-possible,.identity-changed{background:#fbefda;color:#7a5919}.identity-na{background:transparent}.identity-detail{background:#fff;border:1px solid #d8e1e8;border-radius:14px;padding:20px;min-width:0;overflow-wrap:anywhere}.identity-detail-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.identity-detail h2{font-size:20px;margin:4px 0}.identity-detail h3{font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:8px}.identity-detail p{font-size:12px;line-height:1.6}.identity-fields{font-size:12px;margin:18px 0}.identity-fields>div{padding:7px 0;border-bottom:1px solid #edf1f4}.identity-fields dt{text-transform:capitalize;color:#6b7b8a;font-size:11px}.identity-fields dd{margin:3px 0 0}.identity-note{color:#5b7080;background:#eef5f6;padding:10px 12px;border-radius:7px}.identity-search-line{display:flex;gap:6px;margin-top:6px}.identity-search-line input{min-width:0;width:100%}#identity-target-search label{font-size:12px}.identity-system{border-top:1px solid #e3eaf0;margin-top:20px;padding-top:18px}.identity-options article{padding:12px;border:1px solid #e0e6eb;border-radius:8px;margin-top:10px}.identity-options article>strong{display:block;font-size:13px}.identity-options article>small{display:block;font-size:11px;color:#6a7c8c;margin:4px 0 10px}.identity-differences{font-size:12px;border-left:2px solid #c59b43;padding-left:10px}.identity-differences dt{font-weight:600}.identity-differences dd{margin:3px 0 10px}.identity-differences span{display:block}.identity-warning{color:#805d21}.identity-tabs button:focus-visible,.identity-name:focus-visible{outline:2px solid #317289;outline-offset:3px}@media(max-width:1050px){.identity-layout.has-detail{grid-template-columns:1fr}.identity-detail{grid-row:1}}@media(max-width:650px){.identity-tools{grid-template-columns:1fr auto}.identity-tools .field:first-child{grid-column:1/-1}.identity-tabs button{padding:9px 10px}.identity-tools .field{min-width:0}.identity-freshness{line-height:1.7}.identity-detail{padding:16px}}

/* Project workspace uses the shared compact table and panel spacing. */
.project-panel{padding:24px;margin-top:20px}.project-panel h2{margin:0 0 16px}.project-panel .table-wrap{margin-top:16px}.project-panel .subtle{margin-top:16px}.project-panel th,.project-panel td{white-space:nowrap}.project-panel small{display:block}

/* Quality: one focused report with a compact board rail. */
.quality-studio{display:grid;grid-template-columns:230px minmax(0,1fr);border:1px solid #d7e3e8;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 16px 48px #183c5010;margin:24px 0}
.quality-rail{padding:28px 16px;background:linear-gradient(160deg,#123e48,#082b39);color:#f5faf9;display:flex;flex-direction:column}
.quality-rail-title{font-size:11px;font-weight:700;letter-spacing:.16em;padding:0 10px 24px;display:flex;align-items:center;gap:10px}.quality-signal{width:7px;height:7px;border-radius:50%;background:#85cdbb}
.quality-rail nav{display:grid;gap:8px}.quality-rail nav button{display:flex;align-items:center;text-align:left;gap:12px;width:100%;background:transparent;color:#dbe8e9;border:1px solid transparent;border-radius:12px;padding:16px 10px;cursor:pointer}.quality-rail nav button[aria-pressed=true]{background:#ffffff13;border-color:#a6cbb54d;color:#fff}.quality-rail nav button:hover{background:#ffffff1c}.quality-rail nav button>span:nth-child(2){flex:1}.quality-rail strong{display:block;font-size:15px;line-height:1.3}.quality-rail small{display:block;font-size:11px;margin-top:5px;color:#bbd1d4}.quality-board-number{font-size:11px;color:#92bcb7}.quality-access{margin:auto 10px 0;padding-top:32px;font-size:11px;line-height:1.7;color:#a9c5ca}
.quality-stage{min-width:0;display:flex;flex-direction:column}.quality-stage>header{display:flex;justify-content:space-between;gap:20px;padding:24px 28px;border-bottom:1px solid #e4ecef}.quality-stage h2{font-size:24px;margin:4px 0 6px}.quality-stage header p{margin:0;font-size:13px;color:#627686}.quality-stage header .eyebrow{color:#54776c;font-size:10px;letter-spacing:.15em}.quality-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.quality-frame{display:block;width:100%;height:max(580px,67vh);border:0;background:#fff;min-height:580px;flex:1 0 auto}.quality-stage footer{font-size:11px;color:#667c86;padding:14px 24px;border-top:1px solid #e4ecef;display:flex;justify-content:space-between;gap:16px}.quality-stage footer span{color:#7c8890}.quality-unavailable{padding:40px}
.quality-studio.is-expanded{position:fixed;inset:12px;z-index:1000;margin:0;box-shadow:0 0 0 20px #082b39dd;border-radius:16px;grid-template-columns:210px minmax(0,1fr)}.quality-studio.is-expanded .quality-frame{height:0;min-height:0;flex:1 1 0}.quality-studio.is-expanded .quality-stage{min-height:0}
.quality-resources{margin:30px 0}.quality-resources>summary{cursor:pointer;font-weight:600;font-size:17px;padding:14px 0}.quality-resources>summary span{font-size:12px;color:#6d8190;font-weight:400;margin-left:12px}.quality-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:14px}.quality-resource-grid a{border:1px solid #dbe5e9;border-radius:14px;padding:20px;text-decoration:none;background:#ffffff80;color:#183b50}.quality-resource-grid small,.quality-resource-grid strong,.quality-resource-grid span{display:block}.quality-resource-grid small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#6d837c}.quality-resource-grid strong{margin:9px 0;font-size:15px}.quality-resource-grid span{font-size:12px;line-height:1.5;color:#6c7d8b}
@media(max-width:1000px){.quality-studio{grid-template-columns:190px minmax(0,1fr)}.quality-stage>header{flex-direction:column;padding:20px}.quality-controls{flex-wrap:wrap}.quality-stage footer{display:block}.quality-stage footer span{display:block;margin-top:5px}}
@media(max-width:700px){.quality-studio,.quality-studio.is-expanded{display:flex;flex-direction:column}.quality-rail{padding:15px}.quality-rail-title{padding:0 0 10px}.quality-rail nav{display:flex;overflow-x:auto}.quality-rail nav button{min-width:160px;padding:12px}.quality-board-number,.quality-access{display:none}.quality-stage{flex:1}.quality-frame{height:65vh}.quality-studio.is-expanded{inset:4px}.quality-studio.is-expanded .quality-stage{flex:1}}

.test-options{max-height:220px;overflow:auto;margin-top:10px;display:grid;grid-template-columns:1fr}.test-options label[hidden]{display:none}
.commodity-choices{display:block}.commodity-browser{border:1px solid #dce5e8;border-radius:16px;padding:16px;background:#f7fafb}.commodity-toolbar{display:flex;gap:14px;align-items:center}.commodity-search{flex:1}.commodity-search input{width:100%;padding:12px 14px;border:1px solid #cbd8df;border-radius:10px;background:#fff;font:inherit}.commodity-order{font-size:12px;font-weight:700;letter-spacing:.08em;color:#607988}.commodity-filters{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.commodity-filters button{border:1px solid #d1dfe3;border-radius:20px;background:#fff;color:#456171;padding:7px 13px;cursor:pointer;font:inherit;font-size:12px}.commodity-filters button[aria-pressed=true]{background:#153e4a;border-color:#153e4a;color:#fff}.commodity-selection{font-size:12px;color:#456171;margin:12px 0}.commodity-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;max-height:280px;overflow:auto;padding:2px}.commodity-results .commodity-choice{margin:0;border-radius:10px;background:#fff;padding:12px;align-items:center}.commodity-results .commodity-choice:has(input:checked){border-color:#236774;background:#eaf5f3;box-shadow:0 0 0 1px #236774}.commodity-results .commodity-choice:focus-within{outline:2px solid #bba258;outline-offset:1px}.commodity-results .commodity-choice[hidden]{display:none}.commodity-results small{font-size:11px}.commodity-empty{font-size:13px;color:#617583;padding:10px 0}@media(max-width:550px){.commodity-results{grid-template-columns:1fr;max-height:240px}.commodity-browser{padding:12px}}

/* Bell preview stays above the header without replacing an in-progress form. */
.notification-dropdown{position:fixed;z-index:1000;width:min(380px,calc(100vw - 24px));max-height:65dvh;overflow:auto;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 48px #00193330;padding:20px;font-size:14px;line-height:1.5}
.notification-dropdown h2{font-size:19px;margin:0 0 14px;color:var(--navy)}
.notification-dropdown p{margin:5px 0;color:var(--muted)}
.notification-preview{padding:12px 10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.notification-preview.is-unread{background:#eef5f8;border-left:3px solid var(--gold)}
.notification-preview strong{display:block;font-size:14px}
.notification-preview p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.notification-preview small{font-size:11px;color:var(--muted)}
.notification-all,.notification-inbox{display:block;width:100%;padding:13px 0 0;color:var(--navy);font-weight:600;text-align:left;text-decoration:none;background:none;border:0;font-size:14px}
.notification-all:hover,.notification-inbox:hover{text-decoration:underline}
.notification-all:focus-visible,.notification-inbox:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

.blitz-launch{display:flex;align-items:center;gap:18px;margin-top:20px;padding:20px 24px;background:#ffffff99;color:var(--ink);border:1px solid var(--line);border-radius:12px}
.blitz-launch-mark{flex-shrink:0;display:grid;place-items:center;width:36px}
.blitz-launch-mark img{width:30px;height:42px;object-fit:contain}
.blitz-launch-copy{flex:1;min-width:0}.blitz-launch-copy h2{font-size:17px;color:var(--navy);margin:0 0 4px}.blitz-launch-copy p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
.blitz-launch-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.blitz-launch .blitz-launch-primary{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid #c9d5de;color:var(--navy);padding:10px 14px;border-radius:8px;font-size:13px}.blitz-launch .blitz-launch-primary:hover{background:#edf3f6}.blitz-launch-manage{border:0;background:none;color:var(--muted);font-size:12px;padding:4px}.blitz-launch-manage:hover{text-decoration:underline}.blitz-launch button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:760px){.blitz-launch{flex-wrap:wrap;padding:18px;gap:12px}.blitz-launch-actions{width:100%;padding-left:48px;flex-wrap:wrap}}
.policy-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:12px}.policy-toolbar>input{flex:1;min-width:0}.policy-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.policy-toolbar label input{width:auto}
.policy-table{max-height:350px;overflow:auto;border:1px solid var(--line);border-radius:9px}.policy-table table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.policy-table th{position:sticky;top:0;background:#eff4f7;z-index:1;text-align:left;padding:10px}.policy-table td{padding:9px 10px;border-top:1px solid var(--line)}.policy-table td:first-child{min-width:180px}.policy-table select{min-width:125px}.policy-table input{min-width:95px;max-width:130px}.policy-table [hidden]{display:none}.policy-table input:disabled{opacity:.4}
.policy-pricing-fields{display:grid;grid-template-columns:100px 1fr;gap:16px;margin:16px 0}.policy-pricing-fields label{font-size:12px;font-weight:600}.policy-pricing-fields textarea{min-height:70px;margin-top:6px}.policy-editor .subtle{font-size:12px;line-height:1.5;margin-top:10px}.project-pricing{font-size:13px;margin:14px 0;color:var(--muted)}.project-pricing p{margin:4px 0}.project-pricing strong{color:var(--navy)}.project-pricing small{font-size:11px}
@media(max-width:600px){.policy-toolbar{align-items:stretch;flex-direction:column}.policy-pricing-fields{grid-template-columns:1fr}}
.org-card>div{flex:1;min-width:0}.org-member-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.org-member-row small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.org-member-row .button{font-size:12px;padding:8px 12px}.org-card{align-items:flex-start}
/* One intake workspace; mode changes keep the manual frame mounted. */
.intake-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 24px}.intake-modes button{padding:18px 22px;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--navy);cursor:pointer}.intake-modes strong{display:block;font-size:17px;margin-bottom:6px}.intake-modes span{font-size:13px;line-height:1.5;color:var(--muted)}.intake-modes button[aria-pressed=true]{border-color:#00447d;background:#eef5fa;box-shadow:inset 0 3px #00447d}.intake-modes button:focus-visible{outline:3px solid #fbe217;outline-offset:3px}.intake-grid-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.intake-grid-head h2{margin:0}.intake-grid-head p{margin:6px 0}.intake-manual-frame{display:block;width:100%;height:calc(100vh - 240px);min-height:650px;border:1px solid var(--line);border-radius:16px;background:#e8e8e8}.intake-paste{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:20px}.intake-paste summary{font-weight:600;cursor:pointer;color:var(--navy)}.intake-paste form{margin-top:16px}.intake-paste label{display:block;font-size:13px;margin-bottom:8px}.intake-paste textarea{width:100%;font:14px/1.6 ui-monospace,monospace;border:1px solid var(--line);border-radius:8px;padding:12px;box-sizing:border-box}.intake-paste .error{white-space:pre-line}#intake-shell [hidden]{display:none}.batch-lab,.sample-no{font-variant-numeric:tabular-nums}@media(max-width:650px){.intake-modes{grid-template-columns:1fr}.intake-grid-head{align-items:flex-start;flex-direction:column}.intake-manual-frame{min-height:720px}}
.intake-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:16px}.intake-toolbar>span{display:none}.intake-expanded{position:fixed;inset:0;z-index:1000;background:var(--bg,#f1f5f8);display:flex;flex-direction:column;padding:12px 18px;box-sizing:border-box}.intake-expanded .intake-toolbar{justify-content:space-between;flex-shrink:0}.intake-expanded .intake-toolbar>span{display:block;font-weight:600;color:var(--navy)}.intake-expanded .intake-modes{display:flex;flex-shrink:0;gap:8px;margin:10px 0}.intake-expanded .intake-modes button{padding:9px 16px;border-radius:8px}.intake-expanded .intake-modes strong{font-size:14px;margin:0}.intake-expanded .intake-modes span{display:none}.intake-expanded #intake-manual-panel{flex:1;min-height:0;display:flex;flex-direction:column}.intake-expanded #intake-manual-panel>p{display:none}.intake-expanded .intake-manual-frame{flex:1;height:100%;min-height:0;border-radius:8px}.intake-expanded #intake-number-panel{flex:1;min-height:0;overflow:auto;padding:12px 0}body:has(.intake-expanded){overflow:hidden}
.lab-user-search{max-width:560px;margin:0 0 18px}.lab-user-search label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--navy)}.lab-user-search input{box-sizing:border-box;width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}.lab-user-search input:focus{outline:2px solid #00447d;outline-offset:2px}
/* Native Headwaters intake, shared typography and controls. */
#manual-intake-native{width:100%}.native-entry-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.native-entry-head h2{margin:0}.native-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.native-steps button{padding:16px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--navy);font:inherit;text-align:left;cursor:pointer}.native-steps button[aria-current=step]{background:var(--navy);color:white}.native-steps button:disabled{opacity:.5;cursor:default}.native-steps span{display:inline-block;margin-right:9px;font-weight:700}.native-entry-body{display:grid;grid-template-columns:minmax(0,3fr) minmax(210px,1fr);gap:24px}.native-entry-work,.native-summary{background:white;padding:28px;border:1px solid var(--line);border-radius:18px}.native-summary{align-self:start}.native-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.native-choices button{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#f5f8fb;color:var(--navy);font:inherit;text-align:left;cursor:pointer;min-height:70px}.native-choices button[aria-pressed=true]{border-color:var(--navy);background:#fff7cc}.native-choices kbd{border:1px solid var(--line);padding:5px 8px;border-radius:5px;background:white}.native-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0}.native-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.native-fields label,.native-search{display:flex;flex-direction:column;gap:8px;font-weight:600}.native-fields input,.native-fields select,.native-fields textarea,.native-search input{padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;min-width:0;width:100%;box-sizing:border-box}.native-fields small{font-weight:400;color:var(--muted)}.native-wide{grid-column:1/-1}.native-summary li{margin:10px 0}.native-search{max-width:520px}.intake-expanded #intake-manual-panel{overflow:auto;display:block}.intake-expanded .intake-modes button{padding:14px 24px}.intake-expanded .intake-modes strong{font-size:17px}.intake-expanded .intake-modes span{display:block}.intake-expanded #manual-intake-native{padding:12px 0}@media(max-width:800px){.native-entry-body{grid-template-columns:1fr}.native-steps{grid-template-columns:1fr 1fr}.native-fields,.native-choices{grid-template-columns:1fr}.native-summary{order:-1}}
.intake-columns{display:grid;grid-template-columns:1fr 1fr 1fr minmax(300px,1.4fr);align-items:stretch;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;margin-top:20px}.intake-column{min-width:0;border-right:1px solid var(--line)}.intake-column:last-child{border:0}.intake-column-head{width:100%;border:0;border-bottom:1px solid var(--line);padding:16px 10px;font:600 13px inherit;text-transform:uppercase;letter-spacing:.08em;background:#f2f5f8;color:var(--navy);cursor:pointer}.is-active>.intake-column-head{background:var(--navy);color:white}.intake-column>p{padding:14px}.intake-column-tools{padding:10px;display:grid;gap:8px}.intake-column-tools input{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:8px;font:inherit;font-size:12px}.intake-column-options h4{margin:0;padding:8px 12px;font-size:11px;text-transform:uppercase;background:#eef3f7;color:var(--navy)}.intake-column-options button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:10px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--navy);text-align:left;font:inherit;font-size:13px;cursor:pointer}.intake-column-options button[aria-pressed=true]{background:#fff5c4;box-shadow:inset 3px 0 #e8bc25}.intake-column-options kbd{background:#f4f6f8;border:1px solid var(--line);border-radius:4px;padding:2px 5px;font-size:11px}.intake-column-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 8px;font-size:11px;gap:4px}.intake-column-footer button{background:white;border:1px solid var(--line);padding:6px;border-radius:5px;color:var(--navy);cursor:pointer}.intake-final form{padding:20px}.intake-final .native-fields{grid-template-columns:1fr;gap:16px}.intake-final .native-fields label{font-size:13px}.intake-final .subtle{font-size:12px}.intake-selection{font-weight:600}.intake-test-summary{padding-left:18px;font-size:12px}.intake-test-summary:empty{display:none}.intake-column button:focus-visible{outline:2px solid #e6bf2a;outline-offset:-3px}.intake-column button:disabled{opacity:.5;cursor:default}@media(max-width:1000px){.intake-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.intake-final{grid-column:1/-1;border-top:1px solid var(--line)}.intake-final .native-fields{grid-template-columns:1fr 1fr}}@media(max-width:560px){.intake-columns{grid-template-columns:1fr}.intake-column{border-right:0;border-bottom:1px solid var(--line)}.intake-final .native-fields{grid-template-columns:1fr}}
.intake-expanded .intake-modes button{flex:1}.intake-expanded #intake-manual-panel{scrollbar-width:none}.intake-expanded #intake-manual-panel::-webkit-scrollbar{display:none}

.home-submit{margin:0 0 28px}.official-org-name{display:flex;align-items:center;gap:14px}.official-org-name img{width:48px;height:60px;object-fit:contain}
.submission-fields{padding:24px 28px}.submission-fields fieldset{border:0;border-bottom:1px solid var(--line);padding:0 0 20px;margin:0 0 22px}.submission-fields legend{font-size:17px;font-weight:650;margin-bottom:12px}.submission-fields fieldset>label{display:inline-flex;gap:8px;align-items:center;margin:0 20px 12px 0}.submission-fields fieldset>.field{display:flex;margin:14px 0 0}.submission-fields input[type=radio],.submission-fields input[type=checkbox]{accent-color:var(--navy)}.submission-fields .checks{margin-top:12px}

#editor-fields:has(select[name=kind] option[value=customer]:checked) .field:has([name=labKey]),#editor-fields:has(select[name=kind] option[value=lab]:checked) .field:has([name=org_key]){display:none}

.password-prompt{margin:6px 0 20px}#editor-fields .field[hidden]{display:none}

.sample-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 18px}.sample-filters>span{font-size:12px;font-weight:600;color:var(--muted)}.sample-filters>div{display:flex;flex-wrap:wrap;gap:8px}.sample-filters button{border:1px solid #d3dde5;border-radius:24px;padding:10px 17px;background:#fff;color:var(--navy);font:inherit;font-size:13px;cursor:pointer}.sample-filters button:hover{background:#e8eef4}.sample-filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.sample-filters button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

.organization-card{background:#fff;border:1px solid #d8e2ea;border-radius:16px;overflow:hidden;margin-bottom:16px}.organization-card>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px}.organization-card h2{font-size:24px;margin:0}.org-card-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin-top:9px}.org-card-body{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);border-top:1px solid var(--line)}.org-people{padding:24px 28px}.org-people h3{font-size:15px;margin:0 0 16px}.org-people h3 span{font-size:12px;font-weight:400;color:var(--muted);margin-left:8px}.org-person{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf1f4}.org-person-avatar{width:38px;height:38px;border-radius:50%;background:#e8eff5;color:var(--navy);display:grid;place-items:center;flex-shrink:0;font-size:14px;font-weight:600}.org-person-avatar.pending{background:#f1f3f5;color:var(--muted)}.org-person-name{flex:1;min-width:0}.org-person-name strong{display:block;font-size:14px}.org-person-name span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.organization-card .org-delivery{border:0;border-left:1px solid var(--line);padding:24px;background:#f7f9fb;margin:0;min-width:0}.organization-card .org-delivery h3{font-size:15px;margin:0 0 14px}.organization-card .org-delivery>p{margin-bottom:16px}.org-card-body:not(:has(.org-people)){grid-template-columns:1fr}.org-card-body:not(:has(.org-delivery)){grid-template-columns:1fr}@media(max-width:760px){.organization-card>header{padding:20px;align-items:flex-start;flex-wrap:wrap}.org-card-body{grid-template-columns:1fr}.org-people{padding:20px}.organization-card .org-delivery{border-left:0;border-top:1px solid var(--line);padding:20px}.organization-card h2{font-size:21px}}
/* Customer submission: one native page, shared Headwaters palette. */
.submission-page{max-width:1200px;margin:auto}.submission-heading,.submission-panel-title,.submission-footer,.customer-samples>header{display:flex;align-items:center;justify-content:space-between;gap:24px}.submission-heading h1{margin:0 0 12px}.submission-heading>span{color:var(--muted);font-size:14px}.submission-heading .eyebrow{color:var(--muted)}.submission-steps{display:flex;justify-content:center;gap:clamp(12px,5vw,72px);padding:28px 0 36px;border-bottom:1px solid var(--line);margin-bottom:32px}.submission-steps button{display:grid;justify-items:center;gap:12px;color:var(--muted);background:none;border:0;font-size:17px;cursor:pointer}.submission-steps button span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e0e7ed;font-size:24px;font-weight:700;color:#52677a}.submission-steps button[aria-current] span{background:var(--yellow);color:var(--navy)}.submission-steps button[aria-current]{color:var(--navy);font-weight:700}.submission-steps button:disabled{opacity:.65;cursor:default}.submission-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.submission-panel{padding:28px;border:1px solid #d7e1e9;border-radius:18px;background:white;margin:24px 0}.submission-columns>.submission-panel{margin:12px 0}.submission-panel h3{margin:0 0 20px}.submission-panel fieldset{border:0;padding:12px 0;margin:0}.submission-panel legend{font-weight:700}.submission-panel .field{display:flex;flex-direction:column;gap:10px;margin:12px 0}.submission-panel input:not([type=checkbox]):not([type=radio]),.submission-panel select,.submission-panel textarea{padding:13px 16px;border:1px solid #bdcbd8;border-radius:10px;width:100%;background:#f9fbfc;font:inherit;color:var(--navy);box-sizing:border-box}.choice-pair{display:flex;gap:24px}.submission-tests{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.submission-tests label{padding:12px;border:1px solid #e0e7ed;border-radius:8px}.submission-tests input,.submission-check input{margin-right:8px;accent-color:#284d73}.submission-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.submission-row{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid #e1e8ee}.submission-row>div:first-of-type{flex:1}.submission-row p{margin:6px 0;font-size:15px;color:var(--muted)}.sample-index{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#eef3f7;color:var(--navy);font-weight:700;flex-shrink:0}.submission-footer{position:sticky;bottom:0;padding:20px 24px;border:1px solid #d7e1e9;background:#f4f7fa;box-shadow:0 -4px 18px #001b3310;border-radius:14px;margin:28px 0 0;z-index:2}.label-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sample-label{border:2px solid #243f5b;padding:24px;background:#fff;border-radius:12px;break-inside:avoid}.sample-label>span{display:block;font-size:13px;font-weight:bold;letter-spacing:2px}.sample-label>strong{font-size:30px;font-family:monospace;display:block;margin:12px 0}.sample-label h3{margin:12px 0}.submission-check{display:block;padding:20px;background:#eef3f7;border-radius:10px;margin-top:20px}.submission-panel li{line-height:1.7;margin:8px 0}.customer-samples{margin-top:40px;border:1px solid #d7e1e9;border-radius:22px;background:white;overflow:hidden}.customer-samples>header{padding:28px}.customer-samples h2,.customer-samples h3{margin:0}.customer-samples header p{margin-bottom:0;color:var(--muted)}.customer-sample{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 30px;border-top:1px solid #e0e7ed}.customer-sample:nth-child(even){background:#f7f9fb}.customer-sample p{font-size:15px;margin:8px 0}.customer-sample small{color:var(--muted)}.customer-samples>.subtle{padding:20px 28px}.project-card-actions{display:grid;gap:14px;justify-items:start;max-width:280px}.project-card-actions small{color:var(--muted)}
@media(max-width:720px){.submission-columns,.submission-fields,.label-grid{grid-template-columns:1fr}.submission-tests{grid-template-columns:1fr}.submission-heading,.submission-panel-title,.customer-samples>header{align-items:flex-start;flex-direction:column}.submission-steps{gap:14px}.submission-steps button span{width:48px;height:48px}.submission-panel{padding:20px}.submission-row,.customer-sample{flex-wrap:wrap}.submission-footer{flex-wrap:wrap}.submission-footer .button{flex:1}.sample-label>strong{font-size:26px}}
@media print{body:has(#submission-page){background:white}body:has(#submission-page) .topbar,body:has(#submission-page) .main-nav,body:has(#submission-page) .no-print,body:has(#submission-page) .hw-watermark{display:none!important}body:has(#submission-page) .workspace{padding:0}body:has(#submission-page) .submission-heading>span{display:none}.sample-label{border-radius:0}.label-grid{grid-template-columns:1fr 1fr}}

.submission-test-group{border-top:1px solid #dce5ed;margin-top:18px;padding-top:14px}.submission-test-group summary{cursor:pointer;font-weight:700;color:#193b5c;padding:4px 0}.submission-test-group summary small{font-weight:400;color:#687b8c;margin-left:10px}.submission-steps svg{width:28px;height:28px}
.access-page-categories{display:grid;grid-template-columns:1fr 1fr;gap:18px}.access-page-categories section{border:1px solid #d7e1e9;border-radius:12px;overflow:hidden}.access-page-categories h3{background:#eef3f7;color:#244463;margin:0;padding:14px 18px;font-size:15px}.access-page-categories .access-pages{display:grid;grid-template-columns:1fr;border:0;padding:16px!important;gap:14px}@media(max-width:720px){.access-page-categories{grid-template-columns:1fr}}
/* A transformed main creates a containing block for fixed descendants. */
.topbar.client-side~main{transform:none!important;animation:none!important}

/* Keep notifications inside the viewport, with readable content and touch controls. */
.notification-dropdown{box-sizing:border-box;overscroll-behavior:contain;overflow-wrap:anywhere;padding:16px}
.notification-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.notification-heading h2{margin:0}
.notification-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:var(--wash,#eff4f7);color:var(--navy);font-size:28px;line-height:1}
.notification-preview{min-width:0}.notification-preview strong{display:block;line-height:1.4}
.notification-preview small{display:block;margin-top:8px}
.notification-all,.notification-inbox{min-height:44px;display:flex;align-items:center;gap:8px}
@media(max-width:600px){.notification-dropdown{width:calc(100% - 24px);right:12px!important;border-radius:16px;font-size:15px}.notification-preview{padding:14px 0}.notification-all{padding-top:12px;padding-bottom:4px}.notification-inbox{width:100%;justify-content:flex-start;text-align:left}}

@media(max-width:600px){.topbar:not(.home-hero){grid-template-columns:44px minmax(0,1fr);gap:8px;padding:12px 14px}.topbar:not(.home-hero) .brand{grid-column:1;justify-self:start}.topbar:not(.home-hero) .brand img{width:44px;height:50px}.topbar:not(.home-hero) .account{grid-column:2}.topbar .account{gap:0}.topbar .account button{width:44px;height:44px;padding:10px}}

@media(max-width:600px){.notice-list .panel-head{align-items:flex-start;flex-wrap:wrap;gap:12px}.notice-list .panel-head>.actions{flex-wrap:wrap;gap:10px}.notice-list .message-row{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:18px 16px}.notice-list .record-main{min-width:0;width:100%}.notice-list .message-meta{flex-wrap:wrap;gap:6px}.notice-list .message-body{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.notice-list .record-right{max-width:none;width:100%;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;text-align:left}.notice-list button{min-height:44px}.notice-list .record-right .delete-link{margin-left:auto;padding:10px}}

.sample-status-submitted{background:#edf3fa;color:#28527a}.sample-status-received{background:#fff4c4;color:#775c08}.sample-status-reported{background:#e3f2e9;color:#246447}.sample-status-withdrawn{background:#f0f0f0;color:#666}

.matrix-filter-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.matrix-filter-row input,.matrix-filter-row select{width:100%;min-width:0;padding:8px;font-size:13px;border:1px solid var(--line);border-radius:10px;background:white}.matrix-selection-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0;font-size:13px}.matrix-selection-bar button{padding:6px 9px;font-size:12px;border:1px solid var(--line);border-radius:8px;background:#f0f5f8;color:var(--navy)}.matrix-selection-bar label{display:flex;gap:7px;align-items:center}.matrix-selection-bar input{width:auto}.matrix-groups{max-height:48vh;overflow:auto;overscroll-behavior:contain}.matrix-groups h3{font-size:13px;margin:12px 0 6px;color:var(--navy)}.matrix-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:4px}.matrix-cards label{display:flex;gap:8px;align-items:center;padding:7px 9px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:white;cursor:pointer}.matrix-cards label:has(input:checked){border-color:#8da9c1;background:#edf4f9}.matrix-cards input{width:16px;height:16px;flex-shrink:0}.matrix-cards strong{font-size:12px;line-height:1.3}.matrix-cards small{display:block;font-size:11px;color:var(--muted);margin-top:1px;line-height:1.2}.matrix-picker [hidden]{display:none!important}
.project-navigation{margin:6px 0 14px}.project-context-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--panel-radius);padding:22px;background:var(--paper);margin-bottom:22px}.project-context-identity{display:flex;gap:16px;align-items:center;min-width:0}.project-context-identity label,.project-context-identity>div{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}.project-context-identity strong{font-size:16px;color:var(--navy)}.project-context-identity select{padding:11px 36px 11px 12px;border:1px solid #cad6e1;border-radius:9px;background:#f6f9fc;color:var(--navy);max-width:100%;font-size:15px}.project-role{background:#edf3f8;color:#365775;border-radius:20px;padding:6px 12px;font-size:12px}.project-config-actions{display:flex;gap:10px;flex-wrap:wrap}.project-config-actions .button{font-size:13px;padding:11px 14px}.project-context-bar+p{padding:0 4px 18px;line-height:1.7}
@media(max-width:700px){.matrix-filter-row{grid-template-columns:1fr}.project-context-bar{padding:16px;gap:18px}.project-context-identity{width:100%}.project-context-identity label{min-width:0;flex:1}.project-config-actions{width:100%}.project-config-actions .button{flex:1}.matrix-groups{max-height:45vh}}

/* Organization discovery is separate from personal membership. */
.org-browser{padding:24px;background:#fff;border:1px solid #d5dfe8;border-radius:18px;margin-bottom:30px}
.org-browser-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.org-browser h2{font-size:1.2rem;margin:0 0 6px}.org-browser p{color:#60768b;margin:0}.org-browse-search{display:grid;gap:8px;margin-top:22px;font-weight:600}.org-browse-search input{width:100%;padding:12px 16px;border:1px solid #c7d3df;border-radius:10px;font:inherit;background:#f5f8fa}.org-browse-list{margin-top:16px;max-height:460px;overflow:auto}.org-browse-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 4px;border-top:1px solid #e1e7ed}.org-browse-row[hidden]{display:none}.org-browse-row strong{overflow-wrap:anywhere}.org-join-requests{padding:20px 24px;border-top:1px solid #d5dfe8}.org-join-requests h3{margin:0 0 12px}.org-join-requests small{display:block;color:#60768b;margin-top:5px}
@media(max-width:600px){.org-browser-heading,.org-browse-row,.org-join-requests .org-member-row{align-items:stretch;flex-direction:column}.org-browser{padding:18px}.org-browse-row .actions{flex-wrap:wrap}.org-join-requests{padding:18px}.org-browse-row button,.org-join-requests button{min-height:44px}}

.project-list-filters{display:grid;grid-template-columns:minmax(220px,1fr) 200px;gap:20px;margin:20px 0}.project-list-filters label{display:grid;gap:8px;font-weight:600}.project-list-filters input,.project-list-filters select{font:inherit;border:1px solid #c7d3df;border-radius:10px;background:white;padding:12px 16px;width:100%}.project-list{border:1px solid #d5dfe8;border-radius:16px;overflow:hidden;background:white}.project-list-row{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #e1e7ed}.project-list-row:last-child{border-bottom:0}.project-list-row[hidden]{display:none}.project-list-row h2{margin:0 0 8px;font-size:1.2rem}.project-list-row p{margin:0 0 5px;color:#60768b}.project-list-row small{color:#60768b}.project-list-actions{display:flex;gap:12px;flex-wrap:wrap}.project-management-summary{background:#fff;border:1px solid #d5dfe8;border-radius:16px;padding:24px;margin:20px 0}.project-management-summary h2{font-size:1.2rem;margin-top:0}
@media(max-width:680px){.project-list-filters{grid-template-columns:1fr}.project-list-row{flex-direction:column;align-items:stretch;padding:18px}.project-list-actions{display:grid;grid-template-columns:1fr}.project-list-actions button{min-height:44px}}

.hw-watermark img{display:block;width:100%;height:auto;opacity:.16;filter:saturate(.7);transition:opacity .2s}
.hw-watermark.is-visible img{opacity:1;filter:none}
.hw-watermark:hover,.hw-watermark:active{background:transparent;transform:none;box-shadow:none}
.hw-watermark:focus-visible{outline:2px solid var(--navy,#203e60);outline-offset:4px}
.lead-filters{display:flex;align-items:end;gap:16px;margin:24px 0}.lead-filters label:first-child{flex:1}.lead-filters label{display:grid;gap:8px}.lead-meta{display:flex;justify-content:space-between;gap:16px;margin:16px 0;color:#627b91}.lead-audience{color:#627b91;max-width:850px}.leads-table td{vertical-align:top}.leads-table small{display:block;margin-top:8px;white-space:normal}.leads-table strong{display:block}.leads-table .badge{margin-top:8px}@media(max-width:650px){.lead-filters,.lead-meta{flex-direction:column;align-items:stretch}.leads-table{min-width:840px}.hw-watermark{min-width:44px}}

.pages-workspace #group-admin-title::before{background:linear-gradient(90deg,#bd7979,#bd797955)}
.pages-workspace #group-lims-title::before{background:linear-gradient(90deg,#78a18b,#78a18b55)}
.pages-workspace #group-tools-title::before{background:linear-gradient(90deg,#769bc0,#769bc055)}
.pages-workspace #group-resources-title::before{background:linear-gradient(90deg,#a08bb7,#a08bb755)}
.conversation-list{padding:0 24px 24px}.conversation-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid #dce5ed}.conversation-card p{max-width:700px;white-space:pre-wrap;overflow-wrap:anywhere}.conversation-card small{color:#627b91}.conversation-history{margin-bottom:24px}.conversation-history article,.conversation-original{padding:18px 20px;background:#eff4f8;border-radius:12px;margin-bottom:12px}.conversation-history article{margin-left:24px;background:#f8fafc}.conversation-history p{white-space:pre-wrap;overflow-wrap:anywhere}.conversation-history small{display:block;color:#627b91;margin-top:6px}@media(max-width:650px){.conversation-card{align-items:stretch;flex-direction:column}.conversation-history article{margin-left:8px}.view-switch{flex-wrap:wrap}}

#submission-page select[name="matrix"],#submission-page select[name="org_key"]{width:min(100%,480px);max-width:100%;display:block}
#submission-page [data-sub="create-project"]{margin:0 0 12px}

.submission-test-columns{columns:3 280px;column-gap:28px;padding:18px 0}.submission-test-section{break-inside:avoid;margin:0 0 24px;border:1px solid #dce5ed;border-radius:10px;overflow:hidden;background:#fff}.submission-test-section h4{margin:0;padding:12px 16px;background:#eaf0f5;color:#244666;font-size:15px}.submission-test-section>p{padding:0 16px;font-size:12px}.submission-test-items{display:flex;flex-direction:column}.submission-test-items label{display:flex;align-items:flex-start;gap:12px;margin:0;padding:12px 16px;border-top:1px solid #e4ebf1;cursor:pointer;break-inside:avoid}.submission-test-items input{flex:0 0 auto;margin-top:3px}.submission-test-items label.selected{background:#fff9dd;box-shadow:inset 3px 0 #e3c348}.submission-test-items small{display:block;color:#657a8b;font-size:12px;line-height:1.5;margin-top:6px}.submission-test-items label:hover{background:#f3f7fa}@media(max-width:650px){.submission-test-columns{columns:1}}

.submission-name-first .field{max-width:600px}.custom-tags{margin:22px 0;border:0;padding:0}.custom-tag-row{display:flex;align-items:end;gap:12px;margin:12px 0}.custom-tag-row label{display:grid;gap:6px;flex:1}.sample-tags{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.sample-tags div{display:flex;gap:6px;background:#edf2f6;padding:4px 8px;border-radius:5px}.sample-tags dt{font-weight:600}.sample-tags dd{margin:0}@media(max-width:600px){.custom-tag-row{flex-wrap:wrap}.custom-tag-row label{min-width:40%}}

.delivery-heading{margin:24px 0}.delivery-heading h2{margin:6px 0}.delivery-routing{display:flex;gap:18px;background:#eaf1f6;border:1px solid #cbdbe7;border-radius:16px;padding:26px;margin:24px 0}.delivery-routing h3{margin-top:0}.delivery-routing p{max-width:780px}.delivery-routing .button{margin-right:18px}.delivery-step-number{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#244666;color:white;font-size:14px;margin-right:8px;flex-shrink:0}.delivery-methods{margin:32px 0}.delivery-method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:start}.delivery-method{background:white;border:1px solid #cedce7;border-radius:14px;overflow:hidden}.delivery-method summary{cursor:pointer;padding:22px;list-style-position:inside;color:#244666}.delivery-method summary strong{font-size:19px}.delivery-method summary span{display:block;font-size:13px;color:#617487;margin-top:8px}.delivery-method[open]{border-color:#648aa6;box-shadow:0 4px 16px #1937520a}.delivery-method ol{padding:0 22px 0 40px;font-size:14px;line-height:1.6}.delivery-method li{margin-bottom:14px}.delivery-method>p{padding:0 22px 12px;font-size:14px}.delivery-caption{font-size:13px;color:#617487;margin-top:16px}.delivery-checklist{padding-left:22px;line-height:1.65}.delivery-checklist li{margin-bottom:12px}.delivery-manifest{margin-top:24px}@media(max-width:600px){.delivery-routing{padding:18px;gap:8px}.delivery-method-grid{grid-template-columns:1fr}.delivery-routing .button{margin-bottom:12px}}

.delivery-route-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:20px 0}.delivery-route-options section{background:#ffffffb3;border-radius:10px;padding:16px}.delivery-route-options h4{margin:0 0 8px}.delivery-route-options p{margin:0;font-size:14px}

@media(max-width:650px){}@media print{.lab-map,.lab-choice-list{display:none}}

.customer-workspace{background:#fff;border:1px solid #d4dfe8;border-left:6px solid var(--navy);border-radius:24px;overflow:hidden;margin-top:30px}.customer-workspace-tabs{display:flex;flex-wrap:wrap;gap:12px;padding:24px 28px 12px}.customer-workspace-tabs button{border:0;background:transparent;padding:14px 22px;border-radius:14px;font-size:18px;font-weight:600;color:#607487;cursor:pointer}.customer-workspace-tabs button[aria-pressed="true"]{background:var(--navy);color:#fff}.customer-workspace-content{padding:12px 28px 28px}.customer-sample-search{display:block;margin:12px 0 24px}.customer-sample-search input{width:100%;padding:16px;border:1px solid #cad6df;border-radius:12px;background:#fff}.customer-sample-list .customer-sample{padding:24px;margin:0 -28px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid #e3e9ee}.customer-sample-list .customer-sample:nth-child(odd){background:#f3f5f6}.customer-sample-list .customer-sample[hidden]{display:none}.customer-sample h3{margin:0 0 10px}.customer-sample-actions{display:flex;flex-direction:column;align-items:end;justify-content:center;gap:16px}.customer-sample-actions .actions{justify-content:flex-end;flex-wrap:wrap}.customer-sample small{display:block}.customer-workspace .embedded-head{display:flex;justify-content:space-between;align-items:center;gap:16px}@media(max-width:650px){.customer-workspace-tabs{padding:16px 12px;gap:4px}.customer-workspace-tabs button{padding:10px 8px;font-size:14px}.customer-workspace-content{padding:8px 16px 20px}.customer-sample-list .customer-sample{margin:0 -16px;padding:20px 16px;flex-direction:column}.customer-sample-actions{align-items:start}.customer-sample-actions .actions{justify-content:flex-start}}

.sample-label .label-qr{width:110px;height:110px;float:right;margin:0 0 12px 16px}.submission-label-name{font-size:11pt;font-weight:700;margin:6pt 0;max-height:30pt;overflow:hidden}@media print{body:not(.printing-labels) .label-grid{display:none}}

.topbar .account button{width:50px;height:50px;padding:9px}.topbar .account svg{width:30px;height:30px}.topbar.client-side .brand img{width:88px;height:100px;transition:transform .2s ease;transform-origin:center}.topbar.home-hero.client-side .brand img{width:126px;height:142px}.topbar.client-side.is-scrolled .brand img{transform:scale(.62)}@media(max-width:600px){.topbar .account button{width:44px;height:44px;padding:8px}.topbar .account svg{width:28px;height:28px}.topbar.client-side:not(.home-hero) .brand img{width:48px;height:58px}.topbar.home-hero.client-side{min-height:280px;padding-top:62px}.topbar.home-hero.client-side .brand img{width:102px;height:118px}}@media(prefers-reduced-motion:reduce){.topbar.client-side .brand img{transition:none}}
/* Submission step words: soil, water, growth, and grain (Austin, September 13, 2026). */
.submission-steps .step-word{font-style:normal;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.submission-steps .step-soil{text-decoration-color:#8a5a33}.submission-steps .step-water{text-decoration-color:#3a86c8}.submission-steps .step-growth{text-decoration-color:#4a9a55}.submission-steps .step-grain{text-decoration-color:#d9a21b}
/* Sample Intake: entry-mode slider, lighter pre-filled selections, and a full-screen layout that fits one screen (Austin, September 13, 2026). */
#intake-shell .intake-modes{position:relative;display:flex;gap:0;margin:12px 0 20px;padding:4px;border-radius:999px;background:#e3eaf0;box-shadow:inset 0 1px 2px rgba(0,25,51,.08)}
#intake-shell .intake-modes::before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:#fff;box-shadow:0 1px 4px rgba(0,25,51,.16);transition:transform .22s ease}
#intake-shell[data-mode="entry"] .intake-modes::before{transform:translateX(100%);animation:intake-slide-entry .22s ease}
#intake-shell[data-mode="receiving"] .intake-modes::before{animation:intake-slide-receiving .22s ease}
#intake-shell .intake-modes:not(:has(button+button))::before{width:calc(100% - 8px);animation:none}
@keyframes intake-slide-entry{from{transform:translateX(0)}to{transform:translateX(100%)}}
@keyframes intake-slide-receiving{from{transform:translateX(100%)}to{transform:translateX(0)}}
#intake-shell .intake-modes button{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:12px 16px;border:0;border-radius:999px;background:transparent;box-shadow:none;color:var(--muted);text-align:center}
#intake-shell .intake-modes button[aria-pressed=true]{color:var(--navy);background:transparent;box-shadow:none}
#intake-shell .intake-modes strong{display:block;margin:0;font-size:16px}
#intake-shell .intake-modes span{display:none}
@media(prefers-reduced-motion:reduce){#intake-shell .intake-modes::before{transition:none;animation:none}}
#intake-shell .native-fields select{font-weight:400;font-style:italic}
#intake-shell.intake-expanded .intake-modes{margin:6px 0 8px;padding:3px}
#intake-shell.intake-expanded .intake-modes::before{top:3px;bottom:3px;left:3px;width:calc(50% - 3px)}
#intake-shell.intake-expanded .intake-modes button{padding:7px 14px}
#intake-shell.intake-expanded .intake-modes strong{font-size:14px}
#intake-shell.intake-expanded #intake-manual-panel{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
#intake-shell.intake-expanded #manual-intake-native{flex:1;min-height:0;display:flex;flex-direction:column;padding:0}
#intake-shell.intake-expanded .native-entry-head h2{font-size:20px}
#intake-shell.intake-expanded .native-entry-head .subtle{margin:2px 0 0;font-size:12px}
#intake-shell.intake-expanded #manual-intake-native>.note,#intake-shell.intake-expanded #manual-intake-native>.error{margin:6px 0 0;padding:6px 10px;font-size:13px}
#intake-shell.intake-expanded .intake-columns{flex:1;min-height:0;margin-top:8px;grid-template-rows:minmax(0,1fr)}
#intake-shell.intake-expanded .intake-column{min-height:0;overflow:auto}
#intake-shell.intake-expanded .intake-column-head{padding:9px 8px;font-size:12px}
#intake-shell.intake-expanded .intake-column-tools{padding:6px 8px}
#intake-shell.intake-expanded .intake-column-tools input{padding:6px 8px}
#intake-shell.intake-expanded .intake-column-options h4{padding:5px 10px}
#intake-shell.intake-expanded .intake-column-options button{min-height:34px;padding:6px 10px}
#intake-shell.intake-expanded .intake-column-footer{padding:6px 8px}
#intake-shell.intake-expanded .intake-final form{padding:10px 14px}
#intake-shell.intake-expanded .intake-selection{margin:0;font-size:15px}
#intake-shell.intake-expanded .intake-test-summary{margin:4px 0}
#intake-shell.intake-expanded .intake-final .native-fields{grid-template-columns:1fr 1fr;gap:8px 12px}
#intake-shell.intake-expanded .native-fields label{gap:3px;font-size:12px}
#intake-shell.intake-expanded .native-fields input,#intake-shell.intake-expanded .native-fields select,#intake-shell.intake-expanded .native-fields textarea{padding:6px 9px;font-size:13px}
#intake-shell.intake-expanded .native-fields select[multiple]{height:64px}
#intake-shell.intake-expanded .native-fields textarea{height:38px;resize:vertical}
#intake-shell.intake-expanded .native-fields small{font-size:11px;line-height:1.3}
#intake-shell.intake-expanded .intake-final .subtle{margin:6px 0}
@media(max-width:1000px){#intake-shell.intake-expanded #intake-manual-panel{overflow:auto;display:block}#intake-shell.intake-expanded .intake-columns{grid-template-rows:none}#intake-shell.intake-expanded .intake-column{overflow:visible}#intake-shell.intake-expanded .intake-final .native-fields{grid-template-columns:1fr}}
/* Subtler submission steps: smaller, quieter markers (Austin, September 13, 2026). */
#submission-page .submission-steps{gap:clamp(12px,4vw,48px);padding:14px 0 18px;margin-bottom:24px}
#submission-page .submission-steps button{gap:6px;font-size:14px}
#submission-page .submission-steps button span{width:34px;height:34px;background:#e9eef2;color:#7d8e9c}
#submission-page .submission-steps button[aria-current] span{background:#fbefb8;color:var(--navy)}
#submission-page .submission-steps button[aria-current]{font-weight:600}
#submission-page .submission-steps svg{width:18px;height:18px}
#submission-page .submission-steps .step-word{text-underline-offset:5px;text-decoration-thickness:1.5px}
/* Submission Select step reads top to bottom; ownership is a switch; receiving shows scan OR paste (Austin, September 13, 2026). */
#submission-page .submission-stack{grid-template-columns:1fr}
.owner-switch{border:0;padding:0;margin:4px 0 14px}
.owner-switch legend{padding:0;margin-bottom:8px;font-weight:600;color:var(--navy)}
.owner-switch-track{position:relative;display:flex;max-width:420px;padding:4px;border-radius:999px;background:#e3eaf0;box-shadow:inset 0 1px 2px rgba(0,25,51,.08)}
.owner-switch-track::before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:#fff;box-shadow:0 1px 4px rgba(0,25,51,.16);animation:owner-to-personal .2s ease}
.owner-switch-track[data-value="organization"]::before{transform:translateX(100%);animation:owner-to-organization .2s ease}
@keyframes owner-to-organization{from{transform:translateX(0)}to{transform:translateX(100%)}}
@keyframes owner-to-personal{from{transform:translateX(100%)}to{transform:translateX(0)}}
.owner-switch-track label{position:relative;z-index:1;flex:1;display:flex;justify-content:center;padding:9px 14px;border-radius:999px;cursor:pointer;color:var(--muted);font-weight:600}
.owner-switch-track label:has(input:checked){color:var(--navy)}
.owner-switch-track label:has(input:focus-visible){outline:3px solid #fbe217;outline-offset:2px}
.owner-switch-track input{position:absolute;opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.owner-switch-track::before{animation:none}}
.submission-panel .checks label.is-unavailable{opacity:.55;cursor:not-allowed}
.intake-or{display:flex;align-items:center;gap:14px;margin:14px 0;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.12em}
.intake-or::before,.intake-or::after{content:"";flex:1;height:1px;background:var(--line)}
/* Tighter submission page: less vertical space throughout (Austin, September 13, 2026). */
#submission-page .submission-heading h1{margin:0 0 4px}
#submission-page .submission-intro h2{margin:0 0 8px;font-size:22px}
#submission-page .submission-intro p{margin:0 0 8px}
#submission-page .submission-panel{padding:20px;margin:16px 0;border-radius:var(--panel-radius)}
#submission-page .submission-columns{gap:12px}
#submission-page .submission-columns>.submission-panel{margin:8px 0}
#submission-page .submission-panel h3{margin:0 0 10px;font-size:17px}
#submission-page .submission-panel-title{gap:12px}
#submission-page .submission-panel-title h3{margin:0}
#submission-page .submission-panel fieldset{padding:6px 0}
#submission-page .submission-panel .field{gap:4px;margin:6px 0}
#submission-page .submission-panel input:not([type=checkbox]):not([type=radio]),#submission-page .submission-panel select,#submission-page .submission-panel textarea{padding:8px 12px;border-radius:8px}
#submission-page .submission-panel p{margin:6px 0}
#submission-page .submission-fields{padding:8px 0 0;gap:6px 16px}
#submission-page .submission-tests{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;margin-top:8px}
#submission-page .submission-tests label{font-size:14px}
#submission-page .submission-tests label{padding:7px 10px}
#submission-page .submission-test-group{margin-top:8px;padding-top:6px}
#submission-page .submission-row{padding:10px 0;gap:14px}
#submission-page .submission-row p{margin:2px 0}
#submission-page .submission-check{padding:12px;margin-top:10px}
#submission-page .submission-footer{padding:10px 16px;margin:14px 0 0}
#submission-page .submission-panel li{line-height:1.5;margin:4px 0}
#submission-page .owner-switch{margin:0 0 8px}
#submission-page .owner-switch legend{margin-bottom:6px}
#submission-page .owner-switch-track label{padding:7px 12px}
#submission-page .button{padding-block:8px}
.embedded-head:has(+.embedded-lede){margin-bottom:4px}
.embedded-lede{margin:0 0 16px;color:var(--muted)}

/* Customer banner keeps its original space while the compact header follows scrolling. */
.topbar.client-side.is-scrolled{position:fixed;inset:0 0 auto;z-index:100;display:flex;min-height:88px;height:88px;padding:8px max(20px,calc((100vw - 1240px)/2));box-shadow:0 4px 18px #00193320;overflow:visible}
.topbar.client-side.is-scrolled .brand{animation:none;flex-direction:row}.topbar.client-side.is-scrolled .brand img{width:56px;height:70px;transform:none}.topbar.client-side.is-scrolled .account{position:static;margin-left:auto}.topbar.client-side.is-scrolled .hero-scroll{display:none}.customer-header-spacer{overflow-anchor:none}
.project-order-toolbar{display:flex;align-items:center;gap:16px;margin:16px 0;color:var(--muted);font-size:13px}.project-list-summary{flex:1;min-width:0}.project-order-controls{display:flex;flex-direction:column;gap:3px}.project-order-controls button{border:0;background:transparent;color:#57738b;border-radius:8px;min-width:36px;min-height:32px}.project-order-controls button:hover{background:#e6eef4}.project-order-controls [draggable]{cursor:grab;font-size:26px}.project-list-row.is-dragging{opacity:.45}.project-list-row.project-drop-target{outline:2px solid #7494ad;outline-offset:-2px;background:#f0f6fa}.project-list.is-saving .project-order-controls{pointer-events:none;opacity:.5}
.notice-list .record-right{align-items:flex-end;text-align:right}.trash-button{display:inline-grid;place-items:center;width:40px;height:40px;min-height:40px;padding:10px;border:0;border-radius:8px;background:transparent;color:#7a8791;cursor:pointer}.trash-button svg{width:18px;height:18px}.trash-button:hover{background:#eef1f4;color:#445667}.message-row .record-right .trash-button{align-self:flex-end;margin-left:auto}.identity-table .sample-delete-cell{width:60px;text-align:right;padding-left:8px;padding-right:16px}
@media(max-width:600px){.topbar.client-side.is-scrolled{height:76px;min-height:76px;padding:6px 14px}.topbar.client-side.is-scrolled .brand img{width:44px;height:60px}.project-order-toolbar{flex-wrap:wrap}.project-order-controls{flex-direction:row}.notice-list .record-right{justify-content:flex-end;text-align:right}.trash-button{width:44px;height:44px}}
@media print{.customer-header-spacer{display:none!important}}

.pages-workspace .pages{padding-top:14px;padding-bottom:10px}.pages-workspace .pages h2{margin-bottom:6px}.pages-workspace .app-tile{padding-top:5px;padding-bottom:6px}.pages-workspace .app-icon{width:50px;height:50px;margin-bottom:7px}.pages-workspace .app-icon svg{width:27px;height:27px}.pages-workspace .pages+.pages{margin-top:14px}
/* Manual entry column colors: soil, water, growth, grain, matching the submission steps (Austin, September 13, 2026). */
.intake-columns>.intake-column:nth-child(1){--col-text:#74482a;--col:#8a5a33;--col-ink:#fff;--col-tint:#f6eee7;--col-soft:#fbf7f3}
.intake-columns>.intake-column:nth-child(2){--col-text:#25649b;--col:#2f78b8;--col-ink:#fff;--col-tint:#e6f0f9;--col-soft:#f4f9fd}
.intake-columns>.intake-column:nth-child(3){--col-text:#2f6e3a;--col:#3f8a4b;--col-ink:#000;--col-tint:#e7f3e9;--col-soft:#f5faf6}
.intake-columns>.intake-column:nth-child(4){--col-text:#7a5800;--col:#d9a21b;--col-ink:#001933;--col-tint:#fbf1d6;--col-soft:#fefaf0}
.intake-columns>.intake-column{background:var(--col-soft)}
.intake-columns>.intake-column>.intake-column-head{background:var(--col-tint);color:var(--col-text);font-weight:700;box-shadow:inset 0 3px var(--col)}
.intake-columns>.intake-column.is-active>.intake-column-head{background:#17482f;color:#fff;box-shadow:none}
.intake-columns>.intake-column .intake-column-options h4{background:var(--col-tint);color:var(--col-text)}
.intake-columns>.intake-column .intake-column-options button{background:transparent}
.intake-columns>.intake-column .intake-column-options button:hover{background:var(--col-tint)}
.intake-columns>.intake-column .intake-column-options button[aria-pressed=true]{background:var(--col-tint);box-shadow:inset 4px 0 var(--col);font-weight:600}
.intake-columns>.intake-column .intake-column-options kbd{border-color:var(--col-tint);color:var(--col-text);background:#fff}
.intake-columns>.intake-column .intake-column-tools input:focus{outline:2px solid var(--col);outline-offset:0;border-color:var(--col)}

.project-title{display:flex;align-items:center;gap:14px}.project-owner-logo{width:38px;height:48px;object-fit:contain;flex-shrink:0}
/* Shared working surfaces: navy hierarchy and quiet slate row rhythm. */
@media screen {
 .panel{border-color:#d4dfe7;box-shadow:0 4px 16px #001b3010}
 .panel-head{background:linear-gradient(110deg,#e8eef3,#f4f7f9);border-bottom-color:#cfdce5;box-shadow:inset 3px 0 var(--navy)}
 .panel-head h2{color:var(--navy)}
 .blitz-table thead th,.identity-table thead th{background:#e5edf3;color:#324f66;border-bottom:1px solid #cbd9e3}
 .blitz-table tbody tr:nth-child(even),.identity-table tbody tr:nth-child(even),.customer-sample:nth-child(even){background:#f0f3f6}
 .blitz-table tbody tr:hover,.identity-table tbody tr:hover,.customer-sample:hover{background:#f8fafb}
 .blitz-table tbody tr:nth-child(even):hover,.identity-table tbody tr:nth-child(even):hover,.customer-sample:nth-child(even):hover{background:#edf1f4}
 .blitz-table tbody tr:has(input[type=checkbox]:checked),.identity-table tbody tr.selected{background:#dce8f1;box-shadow:inset 3px 0 var(--navy)}
 .receive-batch .batch-tools{background:#f3f6f8}
 .view-switch{background:#dfe7ed}
 .view-switch button[aria-pressed=true]{background:var(--navy);color:white}
 .project-list-row:nth-child(even){background:#f3f6f8}
}
.manual-section-title{font-size:14px;color:var(--navy);border-top:1px solid #d3dce4;margin:18px 0 12px;padding-top:14px}
.manual-section-title span{font-weight:400;color:var(--muted)}
.manual-wide{grid-column:1/-1;min-width:0}
.manual-projects{border:0;margin:0;padding:0;min-width:0}
.manual-projects legend{font-size:13px;font-weight:600;margin-bottom:7px}
.manual-project-options{border:1px solid #cbd7e1;border-radius:8px;overflow:hidden;background:#fff}
.intake-final .manual-project-options label{display:flex;align-items:flex-start;gap:10px;padding:10px;cursor:pointer;border-bottom:1px solid #e0e7ed}
.intake-final .manual-project-options label:last-child{border-bottom:0}
.intake-final .manual-project-options label:has(:checked){background:#e7eef4}
.intake-final .manual-project-options input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:2px 0 0;padding:0;accent-color:var(--navy)}
.manual-project-options span{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.45}
.manual-project-options small{display:block;margin-top:3px;color:var(--muted);font-weight:400}


.intake-final .manual-project-options label{flex-direction:row}
.intake-final .native-fields>label:has(select){grid-column:1/-1;min-width:0}
/* LIMS is the primary lab workspace, ahead of supporting apps. */
.pages-workspace .pages:has(#group-lims-title){position:relative;margin-bottom:0;border-top:3px solid var(--navy)}
.pages-workspace .lims-divider{border:0;border-top:1px solid #9aafbf;margin:22px 0}
.pages-workspace .pages:has(#group-lims-title) .app-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
@media(max-width:680px){.pages-workspace .pages:has(#group-lims-title) .app-grid{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.pages-workspace .pages:has(#group-lims-title) .app-tile.app-tile:nth-child(odd){border-left:0}}
.pages-workspace .pages:has(#group-lims-title) .app-tile+.app-tile{border-left:1px solid #d8e1e8}
.pages-workspace #group-lims-title::before{background:var(--navy)}
@media(max-width:440px){.pages-workspace .pages:has(#group-lims-title) .app-grid{grid-auto-flow:row;grid-template-columns:1fr}.pages-workspace .pages:has(#group-lims-title) .app-tile+.app-tile{border-left:0;border-top:1px solid #d8e1e8}}
.admin-dropdown{position:fixed;z-index:1200;width:250px;max-width:calc(100vw - 24px);padding:8px;background:#f8fafc;border:1px solid #cbd8e3;border-radius:14px;box-shadow:0 14px 42px #001a3340}
.admin-dropdown h2{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#647b8e;padding:10px 12px;margin:0;border-bottom:1px solid #dde5ec}
.admin-dropdown button,.admin-dropdown a{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:transparent;color:var(--navy);padding:13px 12px;border-radius:7px;font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer}
.admin-dropdown button:hover,.admin-dropdown a:hover,.admin-dropdown button:focus-visible,.admin-dropdown a:focus-visible{background:#e5edf4;outline:2px solid transparent}
.source-correction-toolbar{display:flex;justify-content:flex-end;margin:0 0 12px}.source-correction-toolbar .button{color:#526d83;border:1px solid #cbd9e3;border-radius:8px;background:#f6f9fb;padding:8px 12px}
.correction-context{grid-column:1/-1;border-bottom:1px solid #d6e1e9;padding-bottom:18px;margin-bottom:18px}.correction-context h3{font-size:13px;color:var(--navy);margin:15px 0 6px}.correction-context p,.correction-context pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;line-height:1.6}.correction-context article{background:#edf2f6;padding:12px;border-radius:8px;margin-top:12px}.correction-queue .record-main p{white-space:pre-wrap;overflow-wrap:anywhere}.correction-queue .record-row:nth-child(even){background:#f0f4f7}
.pages-workspace .pages:has(#group-lims-title){border-top:1px solid #ffffffb3;border-left:3px solid #8fa99a}
.pages-workspace .pages:has(#group-tools-title){border-left:3px solid #93adc8}
.pages-workspace .pages:has(#group-resources-title){border-left:3px solid #a596b7}
.pages-workspace #group-lims-title::before{background:linear-gradient(90deg,#8fa99a,#8fa99a55)}
.source-grid .row-number button{border:0;background:transparent;font:inherit;color:#47647c;cursor:pointer;padding:4px;border-radius:4px}.source-grid .row-number button:hover,.source-grid .row-number button:focus-visible{background:#dde8f1;outline:1px solid #7e9bb1}

.company-pricing-guides{margin-top:2rem;border-top:1px solid #cbd6df;padding-top:1rem}.company-pricing-guides>summary{color:var(--navy,#001b30);cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:.5rem 0}.company-pricing-guides[open]>summary{margin-bottom:1rem}


/* The dialog owns vertical scrolling; pickers expand with the form. */
#editor .matrix-groups,#editor .policy-table,#editor .test-options,#editor .checks{max-height:none;overflow:visible;overscroll-behavior:auto}

/* Quote text is maintained in website-quotes.js. One quiet footer, no overlay. */
.quote-footer{display:flex;justify-content:center;padding:0 20px 12px}.quote-egg{display:flex;align-items:center;justify-content:center;min-height:36px;width:min(560px,100%);text-align:center;color:#718293;font-size:12px;font-style:italic;font-weight:400;line-height:1.5}.quote-egg em{font-family:Georgia,serif;font-style:italic}.quote-author{font-style:normal;white-space:nowrap}.quote-egg>span{opacity:0;transition:opacity .3s ease}.quote-egg:hover>span,.quote-egg:focus>span{opacity:1}.quote-egg:focus-visible{outline:1px solid #9eafbf;outline-offset:3px;border-radius:4px}@media(prefers-reduced-motion:reduce){.quote-egg>span{transition:none}}

.report-panel{padding:22px;margin:18px 0;background:#fff;border:1px solid #d4dfe8;border-left:3px solid #8faec6;border-radius:14px}.report-panel h2{font-size:18px}.report-controls{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.report-controls label{flex:1 1 180px}.report-controls input,.report-controls select{width:100%}.report-column-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0}.report-column-options label{display:flex;align-items:center;gap:8px;font-weight:400}.report-column-order{padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.report-column-order li{padding:12px;background:#f3f6f8;border-radius:8px}.report-column-order label{font-size:12px}.report-column-order input{width:100%;margin:5px 0 8px}.report-column-order button{margin-right:6px}#report-preview td{white-space:pre-wrap;min-width:100px;max-width:360px;overflow-wrap:anywhere}

.label-foot{display:flex;align-items:center;justify-content:space-between;gap:6pt}.label-hw-mark{width:20pt;height:14pt;object-fit:contain;flex:none}
.submission-content{border:0;padding:0;margin:0;min-width:0}
.policy-table .policy-group-heading th{position:static;background:#e9f0f3;color:#35566c;font-size:13px;font-weight:600;border-top:1px solid #cedce4;padding:12px 10px}.policy-table tbody+tbody .policy-group-heading th{border-top:3px solid #fff}.policy-sendouts{padding:12px 0}

.development-frame{display:block;width:100%;height:calc(100dvh - 170px);min-height:560px;border:1px solid #d5dfe8;border-radius:16px;background:#f4f6fa;}


/* Customer sample list: readable identity, quiet metadata, and compact actions. */
.customer-workspace:has(.customer-sample-list){border-left:1px solid #d4dfe8;border-radius:16px;background:#fff}
.customer-sample-toolbar{display:flex;align-items:center;gap:20px;margin:6px 0 18px}
.customer-sample-toolbar .customer-sample-search{position:relative;flex:1;max-width:620px;margin:0}
.customer-sample-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#6b7d8e;pointer-events:none}
.customer-sample-toolbar input{padding:12px 14px 12px 40px;font-size:13px;border-radius:8px;background:#f8fafb}
.customer-sample-count{margin-left:auto;color:#687889;font-size:12px;white-space:nowrap}
.customer-sample-list{display:grid;gap:12px}
.customer-sample-list .sample-card{display:block;margin:0;padding:20px 22px;border:1px solid #dce4eb;border-radius:12px;background:#fff}
.customer-sample-list .sample-card:nth-child(n){background:#fff}
.customer-sample-list .sample-card:hover{border-color:#b7c8d5;background:#fff}
.sample-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.sample-card-heading>div{min-width:0}
.sample-card-heading h3{font-size:17px;font-weight:650;line-height:1.4;letter-spacing:-.02em;margin:0 0 6px;overflow-wrap:anywhere}
.sample-card-identifiers{display:flex;flex-wrap:wrap;gap:5px 18px;font-size:11px;color:#70808f;line-height:1.6}
.sample-card-identifiers span{display:inline-flex;align-items:baseline;gap:6px}
.sample-card-identifiers strong{font:500 12px/1.6 'Consolas',monospace;letter-spacing:.02em;color:#42576a;overflow-wrap:anywhere}
.sample-status{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:5px;font-size:11px;font-weight:550;line-height:1.5;white-space:nowrap;background:#f0f3f6;color:#526574}
.sample-status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}
.sample-status-awaiting{color:#80631d;background:#faf4e4}
.sample-status-received{color:#32664f;background:#edf5ef}
.sample-status-reported{color:#4e5b85;background:#eff1f8}
.sample-status-withdrawn{color:#6c7279;background:#f0f2f4}
.sample-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:14px}
.sample-card-details{min-width:0;flex:1}
.sample-card p{margin:0;line-height:1.6;overflow-wrap:anywhere}
.sample-card .sample-card-testing{display:flex;flex-wrap:wrap;gap:0 9px;font-size:13px;color:#354b5e}
.sample-card-testing>span+span::before,.sample-card-context>span+span::before{content:'·';margin-right:9px;color:#9babb7}
.sample-card .sample-card-context{display:flex;flex-wrap:wrap;gap:0 9px;margin-top:4px;font-size:12px;color:#71808e}
.sample-card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.sample-card-tags span{padding:3px 7px;border-radius:4px;background:#f2f5f7;font-size:11px;color:#5d6f80;overflow-wrap:anywhere}
.sample-card-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px;max-width:50%}
.sample-card-actions .button{min-height:40px}
@media(max-width:950px){.sample-card-bottom{align-items:stretch;flex-direction:column;gap:12px}.sample-card-actions{max-width:none;justify-content:flex-start;border-top:1px solid #edf1f4;padding-top:10px}}
@media(max-width:540px){.customer-sample-toolbar{gap:10px}.customer-sample-count{font-size:11px}.customer-sample-toolbar input{font-size:12px}.customer-sample-list .sample-card{padding:16px}.sample-card-heading{flex-wrap:wrap;gap:10px}.sample-card-heading h3{font-size:16px}.sample-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sample-card-actions .button{min-height:40px}.sample-card .sample-card-testing{font-size:12px}}

/* Visual sample type selection: the Menu's symbols and catalog hierarchy. */
.sample-type-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 22px}
.sample-type-groups button{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;padding:16px;border:1px solid #d3dfe7;border-radius:14px;background:#fff;color:#172d40;cursor:pointer;min-width:0}
.sample-type-groups button:hover{border-color:var(--type-tint);background:#f7fafb}
.sample-type-groups button[aria-pressed="true"]{border-color:var(--type-tint);box-shadow:inset 0 0 0 1px var(--type-tint);background:#f4f8f6}
.sample-type-symbol{display:inline-flex;width:36px;height:36px;color:var(--type-tint);flex-shrink:0}
.sample-type-symbol svg{width:100%;height:100%}
.sample-type-groups small{font-size:12px;color:#647786;line-height:1.4}
.sample-type-options{border-top:1px solid #d8e2e9;padding-top:18px}
.sample-type-options>h4{font-size:20px;margin:0 0 18px}
.sample-type-band{margin:0 0 20px}
.sample-type-band h5{font-size:13px;letter-spacing:.04em;color:#536c80;margin:0 0 8px}
.sample-type-band>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sample-type-band button{display:flex;align-items:center;gap:10px;min-height:48px;text-align:left;border:1px solid #d6e1e9;background:#fff;border-radius:9px;padding:12px;color:#172d40;cursor:pointer}
.sample-type-band button>span:first-child{flex:1;font-weight:600}
.sample-type-band button small{color:#687e90;font-size:11px}
.sample-type-band button:hover,.sample-type-band button[aria-pressed="true"]{background:#edf5f1;border-color:#7c9b8a}
.sample-type-groups button:focus-visible,.sample-type-band button:focus-visible{outline:3px solid #e5ba36;outline-offset:3px}
.sample-type-answer{display:flex;align-items:center;gap:16px;border:1px solid #9eb9ab;border-radius:14px;background:#f2f8f4;padding:18px;margin:14px 0 22px}
.sample-type-answer>div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.sample-type-answer strong{font-size:20px}.sample-type-answer small,.sample-type-answer>div>span{color:#536c66;font-size:13px}
@media(max-width:700px){.sample-type-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-type-band>div{grid-template-columns:1fr}.sample-type-answer{flex-wrap:wrap}.sample-type-answer button{width:100%}}

[data-family="bale"]{--type-tint:#a8791f}
[data-family="bunker"]{--type-tint:#1d6b3f}
[data-family="leaf"]{--type-tint:#5b9130}
[data-family="mixer"]{--type-tint:#1f7278}
[data-family="seed"]{--type-tint:#b05a34}
[data-family="sack"]{--type-tint:#7c5330}
[data-family="flask"]{--type-tint:#3f6ea3}

/* Order menu: one category at a time, selections retained across tabs. */
.test-menu{margin:24px 0 0;border:1px solid #b9cbd8;border-radius:16px;overflow:hidden;background:#fff}
.test-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#17334d;color:#fff;padding:20px 24px;border-bottom:4px solid #f2cd3c}
.test-menu-heading p{margin:0 0 5px;color:#c8d9e5;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.test-menu-heading h3{margin:0;color:#fff;font-size:25px}.test-menu-total{font-size:13px;white-space:nowrap;color:#fff}
.test-menu-body{padding:22px}.test-menu-kinds{display:flex;gap:5px;padding:5px;background:#edf2f6;border-radius:10px}.test-menu-kinds button{flex:1;border:0;border-radius:7px;background:transparent;color:#536a7c;padding:13px 16px;font-weight:700;cursor:pointer}.test-menu-kinds button[aria-selected="true"]{background:#fff;color:#143650;box-shadow:0 2px 5px #19384a1a}
.test-menu-hint{font-size:13px;color:#657c8d;margin:18px 0 12px}.test-menu-categories{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:18px;border-bottom:1px solid #dae4ec}.test-menu-categories button{border:1px solid #ccdbe5;border-radius:8px;padding:10px 13px;background:#fff;color:#28455c;font-size:13px;font-weight:600;cursor:pointer;text-align:left}.test-menu-categories button:hover{background:#f0f5f8}.test-menu-categories button[aria-selected="true"]{background:#17334d;color:#fff;border-color:#17334d}
.test-menu-count{display:inline-block;border-radius:20px;background:#e9c640;color:#183144;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:700}.test-menu [role="tab"]:focus-visible{outline:3px solid #d8ae27;outline-offset:3px}
.test-menu-panel{padding-top:20px}.test-menu-panel h4{font-size:19px;margin:0 0 14px}.test-menu-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.test-menu-choices label{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #d5e0e8;border-radius:10px;cursor:pointer;background:#fff;min-width:0}.test-menu-choices label:hover{background:#f7fafb}.test-menu-choices label.selected{background:#f0f7f2;border-color:#80a18d}.test-menu-choices input{flex-shrink:0;width:18px;height:18px;margin:3px 0 0;accent-color:#1e513d}.test-menu-choices strong{font-size:15px;line-height:1.4}.test-menu-choices small{display:block;color:#65798a;font-size:12px;line-height:1.5;margin-top:6px}.test-menu-selection{border-top:1px solid #d7e3dc;margin-top:20px;padding-top:15px;color:#31553f;font-size:13px}.test-menu-selection p{margin:5px 0 0;line-height:1.6}
@media(max-width:700px){.test-menu-heading{padding:18px}.test-menu-body{padding:14px}.test-menu-choices{grid-template-columns:1fr}.test-menu-kinds button{padding:12px 7px}.test-menu-categories button{font-size:12px;padding:9px 11px}}

@media(max-width:700px){.test-menu-categories{flex-wrap:nowrap;overflow-x:auto;padding:4px 3px 14px;scroll-padding:3px}.test-menu-categories button{flex:0 0 auto;max-width:235px}.test-menu-hint{line-height:1.5}}

.submission-content,.submission-panel,.test-menu,.test-menu-body{min-width:0}.test-menu{max-width:100%}.test-menu-categories{min-width:0;max-width:100%}

/* Each submission step is one card with a navy title band. */
.submission-step-card{min-width:0;border:1px solid #c6d6e2;border-radius:20px;overflow:hidden;background:#f6f9fb;box-shadow:0 8px 24px #18334d09;margin:18px 0 24px}
.submission-step-header{padding:28px 32px;background:#142e47;border-bottom:3px solid #e8c749;color:#fff}
.submission-page .submission-step-header h2{margin:0 0 10px;color:#fff;font-size:28px;line-height:1.2}
.submission-page .submission-step-header p{margin:0;color:#d8e5ef;max-width:960px;font-size:15px;line-height:1.6}
.submission-step-body{padding:24px;min-width:0}.submission-step-body>.submission-panel:first-child{margin-top:0}.submission-step-body>:last-child{margin-bottom:0}
@media(max-width:700px){.submission-step-card{border-radius:16px}.submission-step-header{padding:22px 20px}.submission-page .submission-step-header h2{font-size:23px}.submission-step-body{padding:14px}}
@media print{.submission-step-card{border:0;box-shadow:none;overflow:visible;background:#fff;margin:0}.submission-step-header{background:#fff;color:#000;border:0;padding:0 0 12px}.submission-page .submission-step-header h2,.submission-page .submission-step-header p{color:#000}.submission-step-body{padding:0}}

/* Tactile controls, with movement kept brief and optional. */
.sample-type-band>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.sample-type-band button{min-height:44px;gap:8px;font-size:14px;border:1px solid #9eb3c4;border-bottom:2px solid #829caf;border-radius:11px;background:#f3f7fa;padding:8px 10px 8px 12px;box-shadow:0 3px 6px #19384a12;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.sample-type-band button>span:last-child{display:grid;place-items:center;flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#17334d;color:white;font-size:15px;line-height:1}
.sample-type-band button:hover{background:#dce9f2;border-color:#416783;box-shadow:0 5px 10px #19384a20;transform:translateY(-2px)}
.sample-type-band button:active{transform:translateY(1px);box-shadow:none;border-bottom-width:1px;padding-bottom:9px}
.sample-type-band button[aria-pressed="true"]{background:#e1efe6;border-color:#4e7d60}
.sample-type-groups button{border-bottom-width:3px;background:#f3f7fa;box-shadow:0 2px 5px #19384a10}
.sample-type-groups button,.submission-page .button,.test-menu button,.test-menu-choices label{transition:background .15s,box-shadow .15s,transform .15s}
.sample-type-groups button:active,.submission-page .button:active,.test-menu button:active{transform:translateY(1px)}
.test-menu-choices label:focus-within{outline:3px solid #d8ae27;outline-offset:2px}
.submission-step-header{scroll-margin-top:100px}.submission-step-header:focus{outline:none}
.submission-feedback{color:#285a3e;font-weight:600}.submission-panel>p+.button{margin-top:16px}
.submission-footer .error{margin:0;flex-basis:100%;padding:10px 14px;border-radius:8px;background:#fff0ed}
.submission-footer{flex-wrap:wrap}.submission-footer:empty{display:none}
@media(max-width:1100px){.sample-type-band>div{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.sample-type-band>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.sample-type-band>div{grid-template-columns:1fr}.sample-type-band button{min-height:44px}.submission-footer{padding:14px;gap:12px}}
@media(prefers-reduced-motion:reduce){.sample-type-band button,.sample-type-groups button,.submission-page .button,.test-menu button,.test-menu-choices label{transition:none}.sample-type-band button:hover,.sample-type-band button:active,.sample-type-groups button:active,.submission-page .button:active,.test-menu button:active{transform:none}}

.submission-page{overflow-anchor:none}

.usage-page{max-width:1200px;margin:auto}.usage-header{background:#142e47;color:#fff;border-radius:20px;padding:28px;display:flex;justify-content:space-between;gap:20px;align-items:center}.usage-header h1{margin:6px 0 12px}.usage-header p{color:#d7e4ef}.usage-controls{display:flex;align-items:center;gap:24px;margin:24px 0;color:#52697c}.usage-controls label,.usage-card header label{display:grid;gap:6px;font-size:13px}.usage-page select,.usage-page input{padding:10px 12px;border:1px solid #a9becd;border-radius:8px;background:white;color:#17334d;font:inherit}.usage-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.usage-stats article{background:white;border:1px solid #d0dde7;border-radius:14px;padding:20px;display:grid;gap:12px}.usage-stats span{font-size:13px;color:#52697c}.usage-stats strong{font-size:34px;color:#17334d}.usage-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.usage-chart{min-width:0;margin:0;padding:20px;background:white;border:1px solid #d0dde7;border-radius:16px}.usage-chart figcaption{font-weight:700;margin-bottom:18px}.usage-chart svg{width:100%;height:auto;display:block}.usage-chart text{font-size:13px;fill:#52697c}.usage-definition{font-size:13px;line-height:1.6;color:#52697c;margin:18px 0}.usage-card{background:white;border:1px solid #d0dde7;border-radius:16px;margin:24px 0;overflow:hidden}.usage-card header{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.usage-card h2{font-size:21px;margin:0}.usage-card header p{font-size:13px;color:#52697c;margin-top:6px}.usage-table-wrap{overflow:auto}.usage-page table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.usage-page th,.usage-page td{padding:14px 18px;border-top:1px solid #e0e8ef}.usage-page thead{background:#edf3f7}.usage-page small{display:block;color:#647b8e;font-weight:400;margin-top:4px}.usage-bar{display:flex;align-items:center;gap:12px;min-width:120px}.usage-bar meter{width:90px;accent-color:#315c7a}.usage-card summary{cursor:pointer;padding:18px;font-weight:600}
@media(max-width:700px){.usage-stats{grid-template-columns:1fr 1fr;gap:10px}.usage-charts{grid-template-columns:1fr}.usage-header,.usage-controls,.usage-card header{align-items:stretch;flex-direction:column}.usage-header{padding:22px}.usage-stats article{padding:16px}.usage-page select,.usage-page input{max-width:100%}}
/* Organization rank dialog: a ladder of tiers with a person token that climbs or sinks. */
#rank-dialog{width:min(760px,calc(100vw - 24px));max-width:760px;padding:0;overflow:auto}#rank-dialog .dialog-head{padding:20px 24px}.rank-gone{padding:24px}
.rank-page{--tier-gap:12px;display:grid;gap:18px;padding:20px 24px 24px}.rank-now{color:var(--muted);font-size:14px}.rank-now strong{color:var(--navy)}
.rank-stage{position:relative;display:grid;grid-template-columns:18px 1fr;gap:18px}
.rank-meter{position:relative;border-radius:99px;background:#e3eaf0;overflow:hidden}.rank-meter span{position:absolute;inset:auto 0 0;height:0;background:var(--gold);border-radius:inherit;transition:height .7s cubic-bezier(.2,.8,.2,1)}[data-rank-level="2"] .rank-meter span{height:17%}[data-rank-level="3"] .rank-meter span{height:50%}[data-rank-level="4"] .rank-meter span{height:100%}
.rank-ladder{list-style:none;margin:0;padding:0;display:grid;gap:var(--tier-gap)}
.rank-tier label{position:relative;display:grid;grid-template-columns:52px 1fr 48px;align-items:center;gap:16px;padding:16px 18px;border:1px solid #d8e2ea;border-radius:16px;background:#fff;cursor:pointer;transition:background .35s,border-color .35s,box-shadow .35s,transform .35s,color .35s}
.rank-tier label:hover{border-color:#b9c8d5;transform:translateX(3px)}.rank-tier label:has(input:focus-visible){outline:3px solid #ac892f;outline-offset:3px}.rank-tier label:has(input:disabled){cursor:not-allowed;opacity:.55;transform:none}
.rank-crest{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#eef3f7;color:#5d7285;transition:inherit}.rank-crest svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rank-copy{display:grid;gap:3px;min-width:0}.rank-name{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:650;color:var(--navy)}.rank-can{font-size:13px;line-height:1.5;color:var(--muted)}.rank-can::before{content:"· "}
.rank-current-tag{display:none;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:99px;background:#e6edf3;color:#48607a}.rank-tier.is-current .rank-current-tag{display:inline-block}
.rank-slot{display:flex;justify-content:flex-end}
.rank-token{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--yellow);font-weight:700;font-size:16px;box-shadow:0 0 0 3px #fff,0 6px 16px #00112640;will-change:transform}
.rank-tier.is-covered .rank-crest{background:#fdf6dd;color:var(--gold)}
.rank-tier.is-selected label{background:#fdf9ec;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 8px 20px #0011260f}.rank-tier.is-selected .rank-crest{background:var(--navy);color:var(--yellow)}.rank-tier.is-selected .rank-current-tag{background:#f3e7bd;color:#6b5312}

.rank-tier.is-arriving-up label{animation:rank-rise .7s cubic-bezier(.2,.8,.2,1)}.rank-tier.is-arriving-up .rank-crest{animation:rank-crest-pop .7s cubic-bezier(.2,.8,.2,1)}.rank-tier.is-arriving-up .rank-slot::after{content:"";position:absolute;right:28px;top:50%;width:60px;height:60px;margin-top:-30px;border-radius:50%;border:2px solid var(--yellow);animation:rank-burst .8s ease-out forwards;pointer-events:none}
.rank-tier.is-arriving-down label{animation:rank-sink .6s cubic-bezier(.3,.7,.3,1)}.rank-tier.is-arriving-down .rank-crest{animation:rank-crest-dip .6s ease-out}
@keyframes rank-rise{0%{transform:translateY(10px);box-shadow:0 0 0 0 #f4d03fcc}45%{transform:translateY(-4px)}100%{transform:none;box-shadow:0 0 0 1px var(--gold),0 0 0 16px #f4d03f00}}
@keyframes rank-crest-pop{0%{transform:scale(.8) translateY(8px)}55%{transform:scale(1.18) translateY(-3px)}100%{transform:none}}
@keyframes rank-burst{0%{transform:scale(.3);opacity:1}100%{transform:scale(2.4);opacity:0}}
@keyframes rank-sink{0%{transform:translateY(-10px);opacity:.7}50%{transform:translateY(3px)}100%{transform:none;opacity:1}}
@keyframes rank-crest-dip{0%{transform:translateY(-6px);opacity:.5}60%{transform:translateY(3px)}100%{transform:none;opacity:1}}
.rank-page.is-saved .rank-tier.is-selected label{animation:rank-saved 1.1s ease-out}@keyframes rank-saved{0%{box-shadow:0 0 0 0 #27624b99}100%{box-shadow:0 0 0 1px var(--gold),0 0 0 18px #27624b00}}
.rank-lock{margin:-6px 0 0 36px;padding:12px 16px;border-radius:12px;background:#fdf6dd;color:#6b5312;font-size:13px}
.rank-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-left:36px;padding:14px 16px;border:1px solid #d8e2ea;border-radius:16px;background:#f7fafc}.rank-steps,.rank-footer .actions{display:flex;gap:8px}.rank-footer{grid-template-columns:auto auto;justify-content:space-between}.rank-summary{grid-column:1/-1;order:-1}.rank-summary{font-size:14px;color:#3d5268}.rank-page.is-saved .rank-summary{color:var(--green);font-weight:600}
.rank-remove{margin-left:36px}.rank-remove p{margin-bottom:10px;color:var(--ink)}.rank-remove .actions{display:flex;gap:8px}.rank-remove-link{color:var(--red)}
@media(max-width:700px){.rank-stage{grid-template-columns:10px 1fr;gap:12px}.rank-tier label{grid-template-columns:44px 1fr 40px;gap:12px;padding:14px}.rank-crest{width:44px;height:44px}.rank-crest svg{width:26px;height:26px}.rank-footer{grid-template-columns:1fr;margin-left:0}.rank-lock,.rank-remove{margin-left:0}.rank-footer .actions,.rank-steps{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.rank-meter span,.rank-tier label,.rank-crest{transition:none}.rank-tier label,.rank-crest,.rank-slot::after{animation:none!important}}
/* Customer project enrollment. */
.enroll-section{margin-top:28px}.enroll-section h3{font-size:18px;font-weight:600;margin-bottom:4px}.enroll-section>.subtle{margin-bottom:14px}.enroll-row .project-list-summary p{color:var(--muted);margin:6px 0 4px;font-size:14px}.enroll-row .project-list-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.enroll-state{font-size:13px;font-weight:600;color:#536879}.enroll-state.enrolled{color:var(--green)}.enroll-state.pending{color:#8a6a12}.enroll-empty{padding:24px;margin:0;color:var(--muted)}
.enroll-requests h2{font-size:18px;margin-bottom:4px}.enroll-requests .subtle{margin-bottom:12px}
/* Purchasing catalog category checkboxes. */
.purchase-category-checks{border:0;padding:0;margin:0 0 16px;min-width:0}.purchase-category-checks legend{font-size:12px;font-weight:600;margin-bottom:8px;padding:0}.purchase-category-checks legend span{font-weight:400;color:var(--muted);margin-left:6px}
.purchase-category-checks>div{display:flex;flex-wrap:wrap;gap:8px}.purchase-category-checks label{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #cdd8e0;border-radius:99px;background:#fff;font-size:13px;cursor:pointer;user-select:none}
.purchase-category-checks label:hover{border-color:#9fb1c1}.purchase-category-checks label:has(input:checked){border-color:var(--navy);background:#eef3f8;font-weight:600}.purchase-category-checks label:has(input:focus-visible){outline:3px solid #ac892f;outline-offset:2px}
.purchase-category-checks input{width:16px;height:16px;margin:0;accent-color:var(--navy)}.purchase-category-checks small{color:var(--muted);font-weight:400}.purchase-category-checks .button{margin-top:8px}
/* Tinted app icons on the launcher keep one flat hue per tool. Tool pages used to repeat
   that hue as a colored header card; dropped 2026-09-20 so every page header reads the same:
   title, description, actions, no card. */
.app-icon-receiving,.app-icon-entry{background:#e5ecf4;color:#28496e}.app-icon-purchasing{background:#ece6da;color:#6a5a3c}.app-icon-leads{background:#f2e7c9;color:#80601b}.app-icon-reporting{background:#f0e2ea;color:#6f3d58}
/* All tests view: space between category sections. */
.test-menu-panel .test-menu-choices+h4{margin-top:26px}.test-menu-panel .test-menu-block{font-size:14px;font-weight:650;color:#36506a;margin:16px 0 4px}.test-menu-panel h4+.test-menu-block{margin-top:0}.test-menu-panel .test-menu-block+.subtle{margin:0 0 8px}
/* Guided program participation shares the submission layout and controls. */
.program-workspace{margin:24px 0 36px;color:var(--navy)}
.program-header,.program-enrollment,.program-participation{background:#fff;border:1px solid #d8e2ea;border-radius:14px;padding:24px}
.program-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.program-header>div{flex:1;min-width:220px}.program-header h2{margin:0 0 8px;font-size:23px}.program-header p{margin:0;color:var(--muted)}
.program-participations{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px;margin-top:18px}.program-participation progress{display:block;width:100%;height:12px;margin:12px 0;accent-color:var(--navy)}
.program-workspace fieldset{border:0;padding:0;margin:20px 0;min-width:0}.program-workspace legend{font-weight:650;margin-bottom:10px}.program-workspace .field{display:flex;flex-direction:column;gap:7px;margin:0}.program-workspace input:not([type=checkbox]),.program-workspace select{width:100%;min-width:0;padding:11px;border:1px solid #becbd6;border-radius:6px;background:white;color:var(--navy);font:inherit}.program-workspace input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--navy)}
.program-fields{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px}.program-feed{padding:20px;background:#f5f8fa;border:1px solid #d8e2ea;border-radius:12px;margin:20px 0}.program-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}.program-target-values{display:grid;grid-template-columns:1fr 1fr;gap:12px}.program-target-values>:last-child{grid-column:1/-1}.program-target .checks{display:flex;gap:8px;align-items:center;margin:14px 0}.program-feed-choice{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid #e1e7ec}.program-feed-choice small{display:block;margin-top:5px;color:var(--muted);line-height:1.5}.program-agreement{display:flex;gap:10px;align-items:flex-start;margin:24px 0;line-height:1.6}.program-status{font-weight:650}
.organization-card{border:2px solid #c4d1dc;margin-bottom:28px;box-shadow:0 3px 12px #1735500a}.organization-card>header{background:#edf3f7}.rank-meter span{background:var(--navy)}
.home-submit{height:auto;margin:20px 0 28px;display:flex;align-items:center;gap:16px}.customer-sample,.customer-sample-card{padding-top:16px;padding-bottom:16px}.customer-sample h3{margin:0 0 6px}.customer-sample p{margin:5px 0}
@media(max-width:700px){.program-header,.program-enrollment,.program-participation{padding:18px}.program-fields,.program-target-values{grid-template-columns:1fr}.program-target-values>:last-child{grid-column:auto}.program-feed{padding:14px}.program-header .button{width:100%}}

/* New sample uses the same expanding control in every workspace. */
.submit-sample-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:52px;height:52px;min-width:52px;padding:12px 14px;gap:0;overflow:hidden;white-space:nowrap;border-radius:50%;background:var(--yellow);color:var(--navy);transition:width .2s ease,border-radius .2s ease;flex-shrink:0}
.submit-sample-button::before{content:'';display:block;width:24px;height:24px;flex:0 0 24px;background:linear-gradient(currentColor,currentColor) center/4px 24px no-repeat,linear-gradient(currentColor,currentColor) center/24px 4px no-repeat}
.new-sample-label{max-width:0;opacity:0;overflow:hidden;transition:opacity .15s ease,max-width .2s ease;margin-left:0}
.submit-sample-button:hover,.submit-sample-button:focus-visible{width:180px;border-radius:var(--control-radius);gap:10px}
.submit-sample-button:hover .new-sample-label,.submit-sample-button:focus-visible .new-sample-label{max-width:130px;opacity:1}
@media(prefers-reduced-motion:reduce){.submit-sample-button,.new-sample-label{transition:none}}
#organization-settings{width:min(640px,calc(100vw - 24px));padding:0;border-radius:var(--panel-radius)}.organization-settings-body{padding:24px}.organization-settings-body h3{margin-top:24px}.org-emails .field{margin-top:18px}.org-emails [data-email-status]{margin-top:12px}

/* Account details and launcher preferences share the standard panel treatment. */
.saved-field{padding:16px;border:1px solid var(--line,#ccd7e1);border-radius:var(--control-radius,12px);background:#f6f9fb;align-self:start;min-width:0}.saved-field>label{font-size:13px;color:var(--muted);font-weight:600}.saved-field .saved-value{font-size:16px;font-weight:500;line-height:1.5}.saved-field .saved-status:empty{display:none}.saved-field .saved-edit{flex-wrap:wrap}.saved-field .saved-edit input{flex-basis:100%}.preference-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.preference-groups fieldset{margin:0;padding:14px;border:1px solid var(--line,#ccd7e1);border-radius:var(--control-radius,12px)}.preference-groups legend{font-weight:700;padding:0 6px}.ownership-help{margin:0 0 12px;font-size:13px}.ownership-help summary{cursor:pointer;color:var(--navy,#12364b);font-weight:600}.ownership-help p{margin:8px 0;line-height:1.5}


.project-progress{grid-template-columns:repeat(3,minmax(0,1fr))}

.preference-groups .checks{border:0;padding:0;background:transparent}.saved-field .saved-value{text-align:left}

@media(max-width:480px){.matrix-cards{grid-template-columns:1fr}}

/* A quiet first-use cue points to the shared New sample action. */
.first-sample-prompt{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:transparent;color:var(--navy);font:inherit;font-size:15px;font-weight:600;text-align:left;line-height:1.35;cursor:pointer;box-shadow:none}.first-sample-prompt>span:first-child{font-size:28px;font-weight:400;animation:first-sample-nudge 1.8s ease-in-out infinite}.first-sample-prompt:focus-visible{outline:2px solid var(--navy);outline-offset:6px;border-radius:4px}@keyframes first-sample-nudge{0%,100%{transform:translateX(0);opacity:.65}50%{transform:translateX(-5px);opacity:1}}@media(prefers-reduced-motion:reduce){.first-sample-prompt>span:first-child{animation:none}}@media(max-width:480px){.home-submit{gap:12px}.first-sample-prompt{font-size:13px;gap:7px}}

.program-enrollment-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,280px));gap:16px;align-items:start;margin-bottom:18px}.program-enrollment-context .field{margin:0;font-size:13px}.program-enrollment-context select{min-height:38px;padding:8px 10px;font-size:14px}@media(max-width:480px){.program-enrollment-context{grid-template-columns:1fr}}

/* Expected nutrient estimates share the enrollment field controls. */
.program-expectations{border-top:1px solid #d8e2ea;margin-top:20px;padding-top:18px}
.program-expectations h4{font-size:16px;margin:0 0 6px;color:var(--navy)}
.program-expectations>p{font-size:14px;line-height:1.5;max-width:760px;margin:0 0 20px}
.program-expectations .program-target{min-width:0;margin:0;padding:16px;background:#fff;border:1px solid #d8e2ea;border-radius:12px}
.program-target legend{padding:0 6px;font-size:13px;font-weight:650;color:var(--muted)}
.program-target .field{font-size:13px;margin:0 0 12px}
.program-target input:not([type=checkbox]),.program-target select{min-height:38px;padding:8px 10px;font-size:14px}
.program-target .program-target-values{grid-template-columns:minmax(0,1fr) minmax(75px,.65fr);gap:0 12px}
.program-unknown{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4;margin:2px 0 16px;cursor:pointer}
.program-unknown input{width:17px;height:17px;min-height:0;margin:0;flex-shrink:0;accent-color:var(--navy)}
.program-basis-help{font-size:12px;line-height:1.45;color:var(--muted);margin:0}
.program-expectations>.button{margin-top:14px;font-size:13px;padding:8px 12px;min-height:36px}
.participation-scope{display:block;color:var(--muted);font-size:13px;margin-top:3px}

.program-feed-list{margin:20px 0 16px}
.program-feed-list legend{margin-bottom:10px}
.program-feed-list .program-feed-choice{margin:0;padding:14px 16px;border:1px solid #d8e2ea;border-top:0;cursor:pointer}
.program-feed-list .program-feed-choice:first-of-type{border-top:1px solid #d8e2ea;border-radius:10px 10px 0 0}
.program-feed-list .program-feed-choice:last-of-type{border-radius:0 0 10px 10px}
.program-feed-list .program-feed-choice:only-of-type{border-radius:10px}
.program-feed-list .program-feed-choice:nth-of-type(odd){background:#f5f8fa}
.program-feed-list .program-feed-choice:nth-of-type(even){background:#fff}
.program-feed-list .program-feed-choice:has(input:checked){background:#e8f0f4;box-shadow:inset 3px 0 var(--navy)}
.program-feed-list .program-feed-choice:focus-within{outline:2px solid var(--navy);outline-offset:2px;position:relative}
.program-feed-choice input{flex-shrink:0;margin-top:3px;accent-color:var(--navy)}

.delivery-intro-line{display:block;text-wrap:pretty}.delivery-intro-line+.delivery-intro-line{margin-top:4px}

.delivery-route-options section{border:1px solid #d8e2ea;border-top:3px solid var(--navy)}
.delivery-route-options h4{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 6px}
.delivery-lab-location{display:block;font-size:22px;color:var(--navy);margin-bottom:8px}
.delivery-routing .delivery-routing-note{font-size:14px;line-height:1.5;margin:16px 0}
.delivery-routing .actions{align-items:center;gap:16px;flex-wrap:wrap}

/* Delivery methods expand into readable full-width instructions. */
.delivery-method-grid{display:grid;grid-template-columns:1fr;gap:10px}
.delivery-method summary{display:flex;align-items:center;gap:18px;padding:16px 20px;list-style:none}
.delivery-method summary::-webkit-details-marker{display:none}
.delivery-method summary:before{display:none}
.delivery-method summary .delivery-method-mark{width:100px;flex:0 0 100px;display:grid;place-items:center;margin-top:0}
.delivery-method-mark img{width:100px;height:44px;object-fit:contain}
.delivery-method-heading{flex:1;min-width:0}
.delivery-method summary .delivery-method-heading>span{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.delivery-chevron{font-size:24px;transition:transform .15s}
.delivery-method[open] .delivery-chevron{transform:rotate(180deg)}
.delivery-method ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:20px 36px 24px;border-top:1px solid var(--line)}
.delivery-method li{font-size:14px;line-height:1.55;padding-left:3px}
.shipping-icon{width:32px;height:32px;color:var(--navy)}
.packing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.packing-steps article{background:#f5f8fa;border:1px solid #d8e2ea;border-radius:12px;padding:18px}
.packing-steps h4{font-size:15px;margin:12px 0 7px}.packing-steps p{font-size:14px;line-height:1.5;margin:0;color:var(--muted)}
.label-print-tools{padding:18px 0 4px}.label-print-actions{align-items:flex-end;flex-wrap:wrap;gap:12px}.label-print-actions label{font-size:13px;display:grid;gap:6px}.label-print-actions select{padding:10px 12px;min-width:100px}.label-print-note{font-size:12px;color:var(--muted);line-height:1.5;margin:10px 0}
.sample-label{border:1px solid #bdcbd8;border-top:4px solid var(--navy);padding:24px;min-height:210px;box-shadow:0 3px 12px #00193308;display:flow-root}
.sample-label .label-qr{width:150px;height:150px;margin:0 0 12px 18px}
.sample-label>span{font-size:10px;letter-spacing:.14em;color:var(--muted)}
.sample-label>strong{font-size:28px;letter-spacing:-.03em;margin:8px 0 18px}
.sample-label h3{font-size:19px;margin:8px 0}.sample-label .label-submitter{font-size:14px;color:var(--muted);margin:12px 0 4px}.sample-label small{font-size:12px;color:var(--muted)}
@media(max-width:850px){.packing-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-method ol{grid-template-columns:1fr;gap:10px}}
@media(max-width:480px){.packing-steps{grid-template-columns:1fr}.delivery-method summary{gap:12px;padding:14px}.delivery-method summary .delivery-method-mark{width:72px;flex-basis:72px}.delivery-method-mark img{width:72px}.sample-label .label-qr{float:none;display:block;width:160px;height:160px;margin:0 0 16px}.sample-label>strong{font-size:25px}}
@media print{.label-qr{width:1.6in;height:1.6in}.label{gap:.08in}.label-number{font-size:13pt}}

.topbar.client-side.is-scrolled .brand{position:absolute;left:50%;transform:translateX(-50%);margin:0}
.customer-workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.workspace-new-sample{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:48px 64px 16px auto}
.workspace-new-sample .submit-sample-button{width:64px;height:64px;min-width:64px;justify-content:center}
.workspace-new-sample .submit-sample-button::before{font-size:34px}
.workspace-new-sample .submit-sample-button:hover,.workspace-new-sample .submit-sample-button:focus-visible{width:190px}
.workspace-new-sample .first-sample-prompt>span:first-child{animation:none;font-size:14px;font-weight:600}
.workspace-new-sample .first-sample-prompt>span:last-child{font-size:26px;animation:first-sample-right 1.8s ease-in-out infinite}
@keyframes first-sample-right{0%,100%{transform:translateX(0);opacity:.65}50%{transform:translateX(5px);opacity:1}}
@media(prefers-reduced-motion:reduce){.workspace-new-sample .first-sample-prompt>span:last-child{animation:none}}
@media(max-width:600px){.topbar.client-side.is-scrolled{height:108px;min-height:108px;align-items:flex-end}.topbar.client-side.is-scrolled .brand{top:4px}.topbar.client-side.is-scrolled .brand img{width:34px;height:46px}.topbar.client-side.is-scrolled .account{margin-left:auto;margin-right:auto}.customer-workspace-toolbar{gap:10px}.workspace-new-sample{order:-1;width:100%;margin:20px 24px 8px}.workspace-new-sample .first-sample-prompt>span:first-child{font-size:13px}}

.required-marker{color:var(--red);font-weight:700}

.sample-name-type-row{display:flex;align-items:flex-start;gap:18px}.sample-name-type-row>.field{flex:1;max-width:600px;min-width:0}.sample-type-menu-control{padding-top:29px;max-width:400px}.sample-type-menu-control .button{min-height:46px;gap:10px}.sample-type-menu-control svg{width:22px;height:22px;flex-shrink:0}.sample-type-menu-control small{display:block;margin-top:8px;color:var(--muted)}#sample-type-tests-dialog{width:min(900px,calc(100vw - 32px))}.sample-type-tests-body{padding:24px}.sample-type-tests-body>h3{margin:8px 0 14px}.sample-type-tests-body>h3:not(:first-child){margin-top:24px}@media(max-width:700px){.sample-name-type-row{flex-direction:column;gap:0}.sample-name-type-row>.field{width:100%;max-width:none}.sample-type-menu-control{padding-top:0;max-width:none}.sample-type-tests-body{padding:16px}}

.checks.submission-project-choices{padding:0;border:0;max-height:none;overflow:visible;gap:10px}.submission-project-choices .submission-project-choice{min-height:88px;padding:16px 18px;gap:16px;border:1px solid var(--control-border);border-radius:var(--control-radius);background:white;cursor:pointer}.submission-project-choice:has(input:checked){border-color:#8da9c1;background:#f3f7fa}.submission-project-choice:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.submission-project-choice input{flex-shrink:0}.submission-project-choice img{width:42px;height:52px;object-fit:contain;flex-shrink:0}.submission-project-choice>span{display:grid;gap:6px;min-width:0}.submission-project-choice strong{font-size:15px;line-height:1.35}.submission-project-choice small{font-size:13px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:600px){.submission-project-choices .submission-project-choice{padding:14px 12px;gap:12px}.submission-project-choice img{width:34px;height:44px}}

.workspace-loading{font-size:12px;color:var(--muted);margin:0 0 10px}.customer-workspace-tabs button{padding:10px 18px;min-height:44px;font-size:16px;border-radius:10px}.customer-workspace-tabs button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:650px){.customer-workspace-tabs button{font-size:14px;padding:10px 8px}}
.submission-entry-details{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}

.sample-row-icon{width:44px;height:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center}.sample-row-icon svg{width:20px;height:20px}.submission-fyi{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;background:#edf3f7;color:var(--muted);font-size:.9rem}.submission-fyi p{margin:0;flex:1}.submission-fyi strong{margin-right:6px}.submission-fyi .link-button{color:inherit;text-decoration:underline;background:none;border:0;padding:0;font:inherit;cursor:pointer}

.submission-name-first[hidden]{display:none}.sample-card-editor{min-width:0;width:100%}.submission-row-edit{align-items:start}.sample-card-editor h4{margin:18px 0 8px}.sample-card-editor>.actions{margin-top:16px}

.delivery-resources{display:grid;gap:12px;margin-top:20px}.delivery-resource{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #d7e1e9;border-radius:12px;background:#f7fafc;color:var(--navy);text-decoration:none;transition:background .15s,border-color .15s}.delivery-resource:hover{background:#edf3f8;border-color:#92abc0}.delivery-resource:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.delivery-resource>svg{width:26px;height:26px;flex-shrink:0;color:#244666}.delivery-resource>span:not(.resource-arrow):not(.visually-hidden){flex:1;min-width:0}.delivery-resource strong{display:block;font-size:16px}.delivery-resource small{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:var(--muted)}.delivery-resource .resource-arrow{flex-shrink:0;font-size:20px}

.package-checks{list-style:none;padding:0;margin:0;display:grid;gap:20px}.submission-panel .package-checks li{display:flex;gap:14px;margin:0;line-height:1.5}.package-check-number{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#eaf1f6;color:#244666;font-weight:700}.package-checks h4{margin:3px 0 6px}.package-checks p{margin:0;font-size:14px;color:var(--muted)}.package-checks .package-check-tip{margin-top:10px;padding:10px 12px;background:#f3f6f9;border-radius:8px}.package-handling-note{font-size:13px;line-height:1.5;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}

.submission-footer>.button{display:inline-flex;align-items:center;gap:10px}.submission-footer>.button svg{width:22px;height:22px;flex-shrink:0}

.sample-number-toggle{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:left}.sample-number-toggle strong{border-bottom:1px dotted currentColor}.sample-number-toggle:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}

.org-email-settings{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.org-email-group{background:#f5f8fb;border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:14px}.org-email-group h4{margin:0 0 12px}.org-email-group ul{list-style:none;padding:0;margin:0}.org-email-group li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.org-email-group li>span{overflow-wrap:anywhere;min-width:0}.org-email-group form{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.org-email-group .field{flex:1;min-width:180px}.org-email-group [data-email-status]{flex-basis:100%;margin:0}

.invite-person-button{width:48px;height:48px;display:inline-grid;place-items:center;padding:10px}.invite-person-button svg{width:26px;height:26px}

.customer-sample-filters{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 20px}.customer-sample-filters label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.customer-sample-filters select{min-width:180px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--navy);font:inherit}.sample-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px;padding:16px 0;color:var(--muted);font-size:14px}.sample-pagination .actions{align-items:center}

.sample-card-identifiers{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.workspace:has(#intake-shell){max-width:none;padding:16px 24px}#intake-shell{height:calc(100dvh - 96px);min-height:480px;display:flex;flex-direction:column;scroll-margin-top:80px;background:#f3f6f9;border:1px solid #d5e0e9;border-radius:18px;overflow:hidden;box-shadow:0 6px 24px #17334b0a}#intake-shell .intake-toolbar{justify-content:space-between;padding:16px 22px;background:white;border-bottom:1px solid var(--line);flex-shrink:0}#intake-shell .intake-toolbar>span{display:block;font-size:22px;font-weight:700}#intake-shell .intake-toolbar small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}#intake-shell .intake-modes{display:flex;gap:8px;padding:12px 22px;margin:0;flex-shrink:0;border-bottom:1px solid var(--line);background:white;border-radius:0}#intake-shell .intake-modes button{flex:0 1 220px;padding:10px 16px;border-radius:9px;text-align:center}#intake-shell .intake-modes strong{margin:0;font-size:14px}#intake-number-panel,#intake-manual-panel{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px;scroll-padding:18px}#intake-shell.intake-expanded{height:100dvh;min-height:0;border-radius:0;padding:0}#intake-shell .intake-grid-head{margin-bottom:16px}#intake-shell .intake-grid-head h2{font-size:22px}body:has(#intake-shell) .quote-footer{display:none}@media(max-width:720px){.workspace:has(#intake-shell){padding:8px}#intake-shell{height:calc(100dvh - 76px);scroll-margin-top:64px}#intake-number-panel,#intake-manual-panel{padding:12px}#intake-shell .intake-toolbar,#intake-shell .intake-modes{padding:10px 12px}}

.customer-sample.sample-card{position:relative;padding-right:90px}.sample-card-pencil{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid #cfdae4;border-radius:12px;background:#f5f8fb;color:var(--navy);display:grid;place-items:center;cursor:pointer}.sample-card-pencil svg{width:22px;height:22px}.sample-card-pencil:hover{background:#eaf1f6}.sample-card-pencil:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.sample-card-actions:has(.sample-card-pencil){margin:0}.sample-edit-tools{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}@media(max-width:600px){.customer-sample.sample-card{padding-right:72px}.sample-card-pencil{right:14px}}

.submission-footer>.button.primary{margin-left:auto}.discard-submission-body{padding:20px 24px}.button.danger{background:#a52626;color:#fff;border-color:#a52626}#discard-submission-dialog{width:min(500px,calc(100vw - 32px));padding:0;border:1px solid var(--line);border-radius:16px}

.ownership-explanation{padding:8px 14px;margin-top:8px;border-left:3px solid var(--line,#ccd7e1);max-width:76ch}.ownership-explanation p{margin:8px 0;line-height:1.6}

.ownership-explanation{padding:8px 14px;margin-top:8px;border-left:3px solid var(--line,#ccd7e1);max-width:76ch}.ownership-explanation p{margin:8px 0;line-height:1.6}

.delivery-routing .delivery-routing-note{margin-top:20px;padding:16px 18px;border-left:3px solid #8ca6bb;border-radius:0 8px 8px 0;background:#ffffff8c}.delivery-routing .delivery-routing-note p{margin:0;line-height:1.5;font-size:15px;color:#244666}.delivery-routing .delivery-routing-note strong{display:inline-block;margin-right:5px;color:var(--navy)}.delivery-routing .delivery-routing-note .delivery-timing-note{margin-top:6px;font-size:13px;color:#617487}

.container-id-panel h4{font-size:18px;margin:22px 0 10px}.container-optional{font-size:14px;font-weight:400;color:var(--muted)}.container-id-panel>p{line-height:1.6}.container-id-label{margin:22px 0;padding:20px;border:1px dashed #8ca6bb;border-radius:12px;background:#f5f8fb}.container-id-label>span{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#617487;margin-bottom:10px}.container-id-label strong{display:block;font-family:ui-monospace,monospace;font-size:clamp(15px,1.5vw,20px);line-height:1.6;overflow-wrap:anywhere;user-select:all;color:var(--navy)}.container-id-panel .container-id-hint{font-size:13px;color:#617487}
.submission-complete{max-width:1180px;margin:0 auto 48px;animation:completion-enter .5s ease-out}.completion-hero.submission-step-header{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;background:radial-gradient(ellipse at 50% 0,#325675 0,transparent 68%),#10273e;padding:46px 24px 42px;text-align:center;color:#fff}.completion-hero:after{content:'';position:absolute;width:580px;height:580px;border:1px solid #ffffff0c;border-radius:50%;top:-280px;left:calc(50% - 290px);z-index:-1;box-shadow:0 0 0 65px #ffffff03,0 0 0 130px #ffffff02}.completion-seal{width:88px;height:88px;margin:0 auto 20px;border-radius:50%;background:#f4d03f12;box-shadow:0 0 0 10px #f4d03f06;animation:completion-pop .7s cubic-bezier(.2,.8,.2,1) both}.completion-seal svg{width:100%;height:100%;fill:none;stroke:var(--yellow);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.completion-seal path{stroke-dasharray:60;stroke-dashoffset:60;animation:completion-check .6s .4s ease forwards}.completion-hero .completion-eyebrow{font-size:11px;letter-spacing:.19em;font-weight:700;color:#ebd483;margin:0 0 12px}.completion-hero h1{font-size:clamp(32px,5vw,52px);letter-spacing:-.035em;margin:0;line-height:1.15}.completion-hero .completion-lead{color:#d0deea;font-size:16px;margin:15px 0 22px}.completion-status{display:inline-flex;align-items:center;gap:8px;border:1px solid #ffffff20;border-radius:30px;padding:8px 13px;font-size:12px;color:#d4e2ec;background:#ffffff08}.completion-status>span{width:6px;height:6px;background:#eed577;border-radius:50%}.completion-content{padding:26px 0;animation:completion-enter .65s .15s both}.completion-container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;background:#fff;border:1px solid #d5dfe8;border-radius:16px;border-left:4px solid var(--yellow)}.completion-kicker{font-size:10px;letter-spacing:.12em;color:#687d8f;font-weight:700}.completion-container h2{font-size:22px;margin:6px 0}.completion-container p{font-size:13px;color:var(--muted)}.completion-container>strong{font-family:ui-monospace,monospace;font-size:15px;overflow-wrap:anywhere;background:#f1f5f8;padding:15px 18px;border-radius:9px;max-width:55%;user-select:all}.completion-manifest{margin-top:28px}.completion-manifest-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:16px}.completion-manifest-title h2{font-size:20px}.completion-manifest-title>span{font-size:13px;color:var(--muted)}.completion-samples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.completion-sample{display:flex;align-items:flex-start;gap:15px;border:1px solid #d5dfe8;border-radius:14px;padding:22px;background:white;min-width:0}.completion-sample>div{min-width:0;overflow-wrap:anywhere}.completion-sample-index{display:grid;place-items:center;background:#edf3f7;color:#436179;font-size:12px;font-weight:700;border-radius:50%;width:28px;height:28px;flex-shrink:0}.completion-sample-number{display:block;font-family:ui-monospace,monospace;font-size:19px;color:#183953;margin:5px 0 12px}.completion-sample h3{font-size:15px;margin:0 0 15px}.completion-sample dl{margin:0;display:grid;gap:8px}.completion-sample dl>div{display:grid;grid-template-columns:44px 1fr;gap:12px;font-size:13px;line-height:1.5}.completion-sample dt{color:var(--muted)}.completion-sample dd{margin:0}.completion-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.completion-actions .primary{margin-left:auto}.completion-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.completion-confetti i{position:absolute;left:var(--x);top:-20px;width:7px;height:13px;background:#f1d264;opacity:0;animation:completion-confetti 2.8s var(--delay) ease-out both}.completion-confetti i:nth-child(3n){background:#86aec7;width:5px;height:9px}.completion-confetti i:nth-child(4n){background:#fff;border-radius:50%;width:5px;height:5px}@keyframes completion-confetti{0%{opacity:0;transform:translateY(-15px) rotate(0)}15%{opacity:.8}80%{opacity:.5}100%{opacity:0;transform:translate(var(--drift),430px) rotate(var(--turn))}}@keyframes completion-check{to{stroke-dashoffset:0}}@keyframes completion-pop{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes completion-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:680px){.completion-container{align-items:stretch;flex-direction:column;padding:22px}.completion-container>strong{max-width:100%;font-size:13px}.completion-samples{grid-template-columns:1fr}.completion-actions .button{width:100%;margin:0}.completion-hero.submission-step-header{padding:36px 18px}.completion-content{padding-top:16px}}@media(prefers-reduced-motion:reduce){.submission-complete,.completion-content,.completion-seal,.completion-seal path,.completion-confetti i{animation:none}.completion-seal path{stroke-dashoffset:0}.completion-confetti{display:none}}
.completion-hero h1+.completion-status{margin-top:24px}.completion-fireworks{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.completion-firework{position:absolute;left:var(--x);top:var(--y);width:0;height:0}.completion-firework:before{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:var(--burst-color);box-shadow:0 0 22px 6px var(--burst-color);opacity:0;animation:completion-flash 1.4s var(--delay) ease-out both}.completion-firework i{position:absolute;left:0;top:0;width:3px;height:15px;border-radius:100%;background:var(--burst-color);box-shadow:0 0 7px var(--burst-color);opacity:0;transform-origin:center;animation:completion-burst 1.6s var(--delay) cubic-bezier(.12,.65,.3,1) both}.completion-firework i:after{content:'';position:absolute;top:24px;left:1px;width:2px;height:3px;border-radius:50%;background:var(--burst-color);box-shadow:0 11px 3px var(--burst-color)}@keyframes completion-flash{0%{opacity:0;transform:scale(.1)}8%{opacity:.9;transform:scale(1)}32%,100%{opacity:0;transform:scale(2.8)}}@keyframes completion-burst{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) scaleY(.2)}8%{opacity:1}55%{opacity:.9}100%{opacity:0;transform:rotate(var(--angle)) translateY(calc(-1 * var(--distance))) scaleY(.35)}}@media(max-width:680px){.completion-firework{scale:.7}}@media(prefers-reduced-motion:reduce){.completion-fireworks{display:none}.completion-firework i,.completion-firework:before{animation:none}}
#intake-shell .intake-modes:before{display:none}#intake-shell .intake-modes button[aria-pressed=true]{background:var(--navy);color:white;box-shadow:0 2px 6px #00112615}#intake-container-panel{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px}#intake-container-panel[hidden]{display:none}.container-intake-heading h2{font-size:23px;margin:0 0 8px}.container-intake-heading p,.container-intake-tip{font-size:14px;color:#617487;line-height:1.5}.container-lookup{margin:22px 0;background:white;border:1px solid #d5e0e9;padding:22px;border-radius:12px}.container-lookup>label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.container-lookup>div{display:flex;gap:12px}.container-lookup input{max-width:360px;width:100%;padding:12px 14px;border:1px solid #bccdda;border-radius:8px;font-family:ui-monospace,monospace;text-transform:uppercase}.container-manifest{background:white;border:1px solid #d5e0e9;border-radius:14px;overflow:hidden}.container-manifest>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-bottom:1px solid #e0e7ee}.container-manifest h3{font-size:23px;margin:6px 0}.container-manifest header p{font-size:13px;color:#617487}.container-intake-tip{padding:16px 22px;background:#f5f8fb}.container-samples-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.container-samples-table th,.container-samples-table td{padding:16px 22px;border-bottom:1px solid #e0e7ee;vertical-align:middle}.container-samples-table thead{font-size:12px;color:#617487;background:#f5f8fb}.container-samples-table small{display:block;color:#617487;font-size:12px;margin-top:6px;line-height:1.5;font-weight:400}.container-samples-table input{padding:12px;border:1px solid #bccdda;border-radius:8px;max-width:210px;width:100%;font-family:ui-monospace,monospace}.container-samples-table tr:focus-within{background:#fffae7}.container-samples-table .is-received{background:#f2f8f5}.container-lab-number{font-family:ui-monospace,monospace;color:#27624b}.container-manifest form>footer{position:sticky;bottom:0;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border-top:1px solid #d5e0e9}.container-manifest footer p{font-size:12px;color:#617487}.container-feedback{background:#edf6f0;color:#27624b;padding:14px 18px;border-radius:10px;margin-bottom:16px}@media(max-width:700px){#intake-container-panel{padding:12px}.container-lookup>div,.container-manifest>header,.container-manifest form>footer{flex-wrap:wrap}.container-samples-table th,.container-samples-table td{padding:12px}.container-samples-table{min-width:570px}#intake-shell .intake-modes button{padding:10px 6px;flex:1}}@media(prefers-reduced-motion:reduce){#intake-container-panel *{scroll-behavior:auto!important}}
/* Manual entry uses the page scroll only; no nested scrolling columns or panels. */
#intake-shell[data-mode=entry]{height:auto;min-height:calc(100dvh - 120px);overflow:visible}#intake-shell[data-mode=entry] #intake-manual-panel{display:block;flex:none;overflow:visible;height:auto;min-height:0;padding:14px}#intake-shell[data-mode=entry] #manual-intake-native{display:block;height:auto;overflow:visible}#intake-shell[data-mode=entry] .native-entry-head{margin-bottom:12px;gap:12px}#intake-shell[data-mode=entry] .native-entry-head h2{font-size:19px}#intake-shell[data-mode=entry] .native-entry-head p{font-size:11px;margin-top:4px}#intake-shell[data-mode=entry] .intake-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(260px,1.35fr);grid-template-rows:auto;height:auto;min-height:0;max-height:none;overflow:visible;gap:10px;margin:0;align-items:stretch;border:0;background:transparent}#intake-shell[data-mode=entry] .intake-column{min-height:0;height:auto;max-height:none;overflow:visible;border:1px solid #d5e0e9;border-radius:12px;background:#fff;--col-text:#35556f;--col:#91a8bb;--col-tint:#eaf0f5;--col-soft:#fff}#intake-shell[data-mode=entry] .intake-column:nth-child(2){--col-tint:#e5eef5;--col:#759ab5}#intake-shell[data-mode=entry] .intake-column:nth-child(3){--col-tint:#edf1f4;--col:#8d9faa}#intake-shell[data-mode=entry] .intake-column:nth-child(4){--col-tint:#faf5e5;--col:#d3b854}#intake-shell[data-mode=entry] .intake-column-head{border-radius:11px 11px 0 0;padding:11px 12px;font-size:12px;box-shadow:none;background:var(--col-tint);color:#35556f}#intake-shell[data-mode=entry] .intake-column.is-active>.intake-column-head{background:#18364e;color:#fff;box-shadow:none}#intake-shell[data-mode=entry] .intake-column-tools{padding:8px}#intake-shell[data-mode=entry] .intake-column-tools input{min-height:34px;padding:7px 9px;font-size:12px}#intake-shell[data-mode=entry] .intake-column-options{overflow:visible;max-height:none;height:auto}#intake-shell[data-mode=entry] .intake-column-options button{min-height:38px;padding:9px 10px;font-size:12px;line-height:1.35;gap:8px}#intake-shell[data-mode=entry] .intake-column-options h4{padding:7px 10px;font-size:11px}#intake-shell[data-mode=entry] .intake-column-options kbd{font-size:10px;padding:3px 5px;min-width:20px}#intake-shell[data-mode=entry] .intake-column-options button[aria-pressed=true]{background:#e7f0f7;box-shadow:inset 3px 0 #355f80}#intake-shell[data-mode=entry] .intake-column-footer{padding:8px;font-size:11px}#intake-shell[data-mode=entry] .intake-column-footer button{padding:5px 7px;font-size:11px}#intake-shell[data-mode=entry] .intake-final form{padding:12px;overflow:visible;max-height:none}#intake-shell[data-mode=entry] .intake-selection{font-size:13px;margin:0 0 5px}#intake-shell[data-mode=entry] .intake-test-summary{font-size:11px;line-height:1.4;margin:0 0 10px;padding-left:15px}#intake-shell[data-mode=entry] .native-fields{gap:10px;grid-template-columns:1fr 1fr}#intake-shell[data-mode=entry] .native-fields label,#intake-shell[data-mode=entry] .manual-projects legend{font-size:12px;gap:5px}#intake-shell[data-mode=entry] .native-fields input,#intake-shell[data-mode=entry] .native-fields select{min-height:34px;padding:7px 8px;font-size:12px;font-style:normal}#intake-shell[data-mode=entry] .native-fields>div{grid-column:1/-1}#intake-shell[data-mode=entry] .ownership-help{font-size:11px;margin:6px 0 0}#intake-shell[data-mode=entry] .manual-project-options{max-height:none;overflow:visible}#intake-shell[data-mode=entry] .manual-no-project{font-size:12px;color:#697582;margin:4px 0 0}.manual-additional{margin:14px 0;border-top:1px solid #dce4ea;padding-top:12px}.manual-additional summary{font-size:12px;font-weight:600;cursor:pointer;color:#35556f}.manual-additional summary span{font-weight:400;color:#697582}.manual-additional .native-fields{margin-top:12px}#intake-shell[data-mode=entry] .intake-final form>.primary{width:100%;min-height:38px;padding:9px;font-size:13px}#intake-shell[data-mode=entry].intake-expanded{height:100dvh;min-height:0;overflow:auto;display:block}#intake-shell[data-mode=entry].intake-expanded #intake-manual-panel{overflow:visible;display:block}#intake-shell[data-mode=entry].intake-expanded #manual-intake-native{display:block}#intake-shell[data-mode=entry].intake-expanded .intake-columns{grid-template-rows:auto;flex:none}@media(max-width:1100px){#intake-shell[data-mode=entry] .intake-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){#intake-shell[data-mode=entry] .intake-columns{grid-template-columns:minmax(0,1fr)}#intake-shell[data-mode=entry] .native-entry-head{align-items:flex-start}#intake-shell[data-mode=entry] .native-entry-head .badge{display:none}}

#signin-form input[type="email"]::placeholder{color:#8a929c;opacity:1}
#recovery-form input[type="email"]::placeholder{color:#8a929c;opacity:1}
#recovery-status{color:var(--ink);line-height:1.5}

.delivery-final-sections{display:grid;gap:24px}.container-id-panel .container-id-label{position:relative;min-height:125px;padding-left:140px;background:#eef3f7}.container-package-icon{position:absolute;left:24px;top:22px;width:90px;height:90px;color:var(--navy)}.container-id-panel .container-id-label strong{font-size:clamp(28px,4vw,46px);letter-spacing:.06em}.container-tracking{margin-top:24px}.workspace-new-sample[hidden]{display:none}.custom-tag-row{align-items:end}.custom-tag-row label{display:grid;gap:6px;min-width:0}@media(max-width:480px){.container-id-panel .container-id-label{padding-left:95px}.container-package-icon{left:14px;width:64px;height:64px}}

.sample-bulk-selection,.sample-start-choice{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px;background:#eef3f7;border:1px solid #d8e2ea;border-radius:12px;margin-bottom:18px}.sample-start-choice h3{width:100%;margin:0}.sample-bulk-check{display:flex;gap:8px;align-items:center;margin-bottom:12px;font-size:14px;color:var(--muted)}.sample-manifest{padding:24px}.sample-manifest table{width:100%;border-collapse:collapse;font-size:10pt}.sample-manifest td,.sample-manifest th{border:1px solid #aaa;padding:8px;text-align:left;vertical-align:top}.sample-manifest tr{break-inside:avoid}.sample-manifest thead{display:table-header-group}

/* Instrument tools use the shared navy, slate, and gold interface. */
.icp-tabs{display:flex;gap:6px;padding:6px;background:#e1e8ed;border-radius:16px;width:fit-content;margin:0 0 28px}.icp-tabs button{border:0;background:transparent;color:#546a7c;padding:12px 24px;border-radius:11px;font-weight:700}.icp-tabs button[aria-pressed=true]{background:#071c30;color:white;box-shadow:0 3px 8px #0b20301a}.icp-tool,.icp-output{background:white;border:1px solid #d4dfe7;border-radius:22px;padding:32px;box-shadow:0 8px 30px #172c3b08}.icp-hero{display:flex;align-items:center;gap:22px;margin-bottom:28px}.icp-hero h2{font-size:34px;margin:0 0 6px}.icp-hero p{margin:0;color:#62778a}.icp-hero .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:8px}.icp-mark{display:grid;place-items:center;background:#edf2f6;color:#183750;width:76px;height:76px;border-radius:20px;flex-shrink:0}.icp-mark svg{width:40px;height:40px}.icp-badge{margin-left:auto;font-size:12px;padding:8px 12px;background:#f9f3df;color:#755a17;border-radius:30px}.icp-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.icp-file{display:flex;flex-direction:column;gap:10px;border:1px dashed #afbfcc;border-radius:16px;padding:24px;background:#f7f9fb;min-width:0}.icp-step{font-size:12px;letter-spacing:2px;color:#927226}.icp-file strong{font-size:20px}.icp-file>span:not(.icp-step),.icp-file small{color:#62778a}.icp-file small{overflow-wrap:anywhere}.icp-file input{max-width:100%;font-size:13px}.icp-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:22px}.icp-toolbar p{font-size:14px;color:#526a7a;line-height:1.6}.icp-toolbar>div{display:flex;gap:10px;flex-shrink:0}.icp-empty{padding:56px 20px;text-align:center;color:#647b8d}.icp-empty svg{width:36px;height:36px}.icp-empty h3{color:#294456;margin:14px 0 6px}.icp-empty p{margin:0}.icp-output{margin-top:28px}.icp-output>header{display:flex;justify-content:space-between;align-items:center;gap:20px}.icp-output h2{overflow-wrap:anywhere;margin:8px 0}.icp-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.icp-metrics>div{display:flex;flex-direction:column;background:#f0f4f7;padding:18px;border-radius:12px;gap:6px}.icp-metrics strong{font-size:28px;color:#17374d}.icp-metrics span{font-size:13px;color:#536e81}.icp-caution{padding:15px 18px;background:#fbf4de;border-left:3px solid #c9a136;color:#70571b}.icp-pdf{width:100%;height:75vh;min-height:500px;border:1px solid #d5dfe7;border-radius:12px;margin-top:12px}.icp-progress{color:#526a7a}.icp-tool .error{margin-top:18px}@media(max-width:700px){.icp-tool,.icp-output{padding:20px}.icp-upload-grid{grid-template-columns:1fr}.icp-badge{display:none}.icp-toolbar,.icp-output>header{align-items:stretch;flex-direction:column}.icp-toolbar>div .button{flex:1}.icp-metrics{grid-template-columns:1fr 1fr}.icp-tabs{width:100%}.icp-tabs button{flex:1;padding:12px}.icp-hero{gap:14px}.icp-pdf{min-height:400px}}

.icp-upload-grid{grid-template-columns:1fr}.icp-file{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:18px}.icp-file .icp-step{grid-row:1/5}.icp-file input,.icp-file small,.icp-file>span:not(.icp-step){grid-column:2}

.icp-pdf{height:auto;min-height:0;background:#edf1f4;padding:20px;display:grid;place-items:center}.icp-pdf canvas{display:block;width:100%;max-width:816px;height:auto;box-shadow:0 5px 18px #192f4020}.icp-preview-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:22px;font-size:14px}.icp-file input{font-size:0}.icp-file input::file-selector-button{font-size:14px;border:1px solid #c8d5df;border-radius:8px;background:white;color:#19354b;padding:10px 18px;cursor:pointer}

.project-list-actions .project-icon-action{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:10px;flex:none}.project-icon-action svg{width:22px;height:22px}.program-empty{padding:20px;margin:0;background:var(--surface,#fff);border:1px solid #d5dfe8;border-radius:12px}@media(max-width:680px){.project-list-actions{display:flex}}

#submission-page [hidden]{display:none!important}.individual-start{padding:14px 18px;background:#eef4f7;border-radius:12px;line-height:1.6}.program-enrollment .ownership-help{margin-bottom:20px}

.enrollment-progress{display:flex;gap:18px;list-style:none;padding:0;margin:24px 0;color:#65768a;flex-wrap:wrap}.enrollment-progress li{display:flex;align-items:center;gap:8px;font-size:14px}.enrollment-progress li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e6edf2}.enrollment-progress [aria-current=step]{color:var(--navy);font-weight:700}.enrollment-progress [aria-current=step] span{background:var(--navy);color:white}.enrollment-summary{padding:16px 20px;background:#eef4f7;border-radius:12px;margin-bottom:24px}.enrollment-step-title{margin-bottom:20px}
/* Category-led sample discovery: counts are explicit, all types use the same card grid. */
.picker-intro{font-size:24px;font-weight:750;color:#142e47;margin:8px 0}.matrix-category-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.matrix-category-cards button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:9px;min-height:176px;padding:20px;border:1px solid #d4dfe7;border-radius:16px;background:linear-gradient(145deg,#fff,#f1f5f8);color:#17334d;cursor:pointer}.matrix-category-cards button:hover{border-color:#b39734;background:#fffdf4;box-shadow:0 5px 16px #17334d12}.matrix-category-cards .sample-type-symbol{width:42px;height:42px;color:#31516d;background:#e9eff4}.matrix-category-cards strong{font-size:18px}.matrix-category-cards small{font-size:13px;color:#65768a}.matrix-category-count{display:flex;justify-content:space-between;width:100%;margin-top:auto;padding-top:8px;font-size:12px;font-weight:650}.matrix-category-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:10px 0 20px}.matrix-category-heading h4{font-size:25px;margin:4px 0}.matrix-category-heading p{margin:0}.matrix-search{display:grid;gap:6px;font-size:13px;color:#52697d;margin-bottom:16px}.matrix-search input{border:1px solid #c6d6e2;border-radius:10px;padding:13px;background:#fff;font:inherit}.matrix-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.matrix-choice-grid button{display:grid;grid-template-columns:28px 1fr;gap:7px 12px;align-content:center;text-align:left;min-height:90px;padding:17px;border:1px solid #d0dee8;border-radius:13px;background:#fff;color:#17334d;cursor:pointer}.matrix-choice-grid button:hover,.matrix-choice-grid button[aria-pressed=true]{background:#fffbea;border-color:#b99a34}.matrix-choice-grid strong{font-size:16px;align-self:center}.matrix-choice-grid small{grid-column:2;color:#718192;font-size:11px}.matrix-choice-check{grid-row:1/3;align-self:center;display:grid;place-items:center;width:26px;height:26px;border:1px solid #c8d6df;border-radius:50%;color:#31516d;background:#f3f6f8}.matrix-category-cards button:focus-visible,.matrix-choice-grid button:focus-visible{outline:3px solid #c5a332;outline-offset:3px}.included-tests{display:flex;gap:15px;align-items:center;padding:20px;border-radius:14px;background:#edf4f1;border:1px solid #cadcd1;margin:20px 0}.included-tests>span{display:grid;place-items:center;background:#315e49;color:#fff;border-radius:50%;width:34px;height:34px;flex:none}.included-tests h3{margin:0 0 5px;font-size:18px}.included-tests p{margin:0;color:#436453}.included-analytes{margin-top:12px;border-top:1px solid #cadcd1;padding-top:10px}.included-analytes summary{font-size:13px;font-weight:650;color:#2f5a45;cursor:pointer}.included-analytes summary::marker{color:#6d9481}.included-analytes ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0}.included-analytes li{font-size:12px;line-height:1.2;color:#31516d;background:#fff;border:1px solid #cadcd1;border-radius:20px;padding:5px 10px}.included-analytes-note{margin-top:10px;font-size:13px;color:#436453}.test-menu-choices label.selected{background:#fffbea;border-color:#b99a34;box-shadow:inset 0 0 0 1px #b99a34}.test-menu-choices input{accent-color:#17334d}
@media(max-width:760px){.matrix-category-cards,.matrix-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.matrix-category-cards button{min-height:160px;padding:16px}.matrix-category-cards strong{font-size:16px}}@media(max-width:440px){.matrix-choice-grid{grid-template-columns:1fr}.matrix-category-cards{gap:9px}.matrix-category-cards button{padding:12px}.matrix-category-heading{align-items:flex-start}.matrix-category-heading h4{font-size:21px}}

.enrollment-material-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;margin:14px 0;border:1px solid #cedbe5;border-radius:12px;background:#f3f7fa}.enrollment-material-summary p{font-size:13px;color:#66788b;margin:5px 0 0}.field-error{color:#a32927;font-size:13px;line-height:1.4}.program-enrollment [aria-invalid=true]{border-color:#a32927;box-shadow:0 0 0 1px #a32927}.program-enrollment .program-feed{border-top:3px solid #cfb34a}

#sample-type-tests-dialog{width:min(1100px,calc(100vw - 32px));max-width:1100px}.matrix-category-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.matrix-category-cards button{min-height:155px;padding:17px}@media(max-width:850px){.matrix-category-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

.enrollment-confirmation{padding:24px;border:1px solid #c8dccc;border-radius:14px;background:#edf5ef;margin-bottom:24px}.enrollment-confirmation h2{margin-top:0}

.sample-setup-confirm{padding:17px 20px;border:1px solid #d7c370;border-radius:12px;background:#fffced}.sample-setup-confirm p{margin:7px 0 12px;color:#536a7d;font-size:14px}.sample-setup-confirm .actions{gap:10px}

/* Admin dropdown pictograms */
.admin-dropdown button .admin-item{display:inline-flex;align-items:center;gap:12px;min-width:0}.admin-dropdown button .admin-item svg{width:20px;height:20px;flex:0 0 20px;color:#4d6b85}
/* Lab Users tabs and the embedded usage report */
.admin-tabs{margin-right:12px}.admin-usage-embed{margin-top:8px}.admin-usage-embed .usage-header{padding:20px 24px}.admin-usage-embed .usage-header h1{font-size:22px;margin:4px 0 8px}
/* Account identity card */
.identity-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;border:1px solid #0f2a44;border-radius:14px;background:linear-gradient(135deg,#142e47,#1f4468);color:#fff;margin:2px 0 10px;box-shadow:0 10px 26px #0b23401f}
.identity-card-eyebrow{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#b9cbdc}
.identity-card-username{display:block;font-size:30px;font-weight:800;line-height:1.1;margin:6px 0 6px;overflow-wrap:anywhere}
.identity-card-name{display:block;font-size:14px;color:#d7e4ef}
.identity-card-id{flex:0 0 auto;text-align:right}.identity-card-id span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#b9cbdc}
.identity-card-id code{display:inline-block;margin:5px 0;padding:5px 12px;border-radius:8px;background:#ffffff1f;border:1px solid #ffffff40;font-size:16px;font-weight:700;letter-spacing:.1em;color:#fff}
.identity-card-id small{display:block;max-width:200px;font-size:11px;line-height:1.4;color:#b9cbdc}
@media(max-width:600px){.identity-card{flex-direction:column;align-items:flex-start}.identity-card-id{text-align:left}.identity-card-username{font-size:26px}}
/* First-sample pulse on the New sample button, in step with the arrow nudge */
@keyframes first-sample-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 #f4d03f99}50%{transform:scale(1.08);box-shadow:0 0 0 10px #f4d03f00}}
.submit-sample-button.first-sample-pulse{animation:first-sample-pulse 1.8s ease-in-out infinite}
.submit-sample-button.first-sample-pulse:hover,.submit-sample-button.first-sample-pulse:focus-visible{animation:none}
@media(prefers-reduced-motion:reduce){.submit-sample-button.first-sample-pulse{animation:none}}

/* One clear step for a customer who is not in a project yet */
.enroll-prompt{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:8px 0 16px}
.enroll-prompt h1,.enroll-prompt h2{margin:0;font-size:26px;line-height:1.25;max-width:640px}
/* Room between the individual-enrollment note and the team help */
.individual-start{margin:0 0 18px}.ownership-help{margin-top:18px}.ownership-help summary{padding:4px 0}

/* Expected nutrient values: one row per nutrient, fields appear once a nutrient is chosen */
.program-targets{display:flex;flex-direction:column;gap:10px}
.program-target-row{display:grid;grid-template-columns:minmax(170px,1.3fr);gap:12px 14px;align-items:end;padding:12px 14px;background:#fff;border:1px solid #d8e2ea;border-radius:12px}
.program-target-row.is-chosen{grid-template-columns:minmax(170px,1.3fr) minmax(120px,1fr) minmax(90px,.7fr) minmax(130px,1fr) auto}
.program-target-row.is-chosen.is-unknown{grid-template-columns:minmax(170px,1.3fr) 1fr auto}
.program-target-row .field{margin:0;font-size:13px;min-width:0}
.program-target-row .program-unknown{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding-bottom:9px;font-size:13px;color:var(--navy)}
.program-target-row .program-unknown-note{margin:0 0 11px}
.program-basis-help{margin:8px 0 14px}
@media(max-width:760px){.program-target-row.is-chosen,.program-target-row.is-chosen.is-unknown{grid-template-columns:1fr 1fr}.program-target-row .program-unknown{padding-bottom:0}}

/* Goals: the Other choice takes its answer on the same line */
.goal-other{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.goal-other label{margin:0}
.goal-other-text{flex:1 1 260px;min-width:0;max-width:520px}
/* Enrollment complete card */
.enrollment-confirmation{padding:26px 28px}.enrollment-confirmation h2{margin:0 0 10px}.enrollment-confirmation p{margin:0}

/* Label step: the sample-number line carries the warning */
.label-warning{display:inline-block;margin-right:4px;color:#f4d03f;font-size:1.15em;line-height:1}.submission-step-header .label-status{display:block;margin-top:8px;opacity:.8}

/* Delivery resources side by side; completion fireworks stay inside the hero */
.delivery-resources{grid-template-columns:1fr 1fr}@media(max-width:700px){.delivery-resources{grid-template-columns:1fr}}
.completion-hero{position:relative;isolation:isolate}
/* Packaging list */
.packing-list{margin:8px 0 14px;padding-left:22px}.packing-list li{margin:0 0 8px;line-height:1.4}.packing-list li strong{display:block}.packing-list li span{color:var(--muted)}
.packing-notes{margin:0;padding-left:22px;color:var(--muted);font-size:13px}.packing-notes li{margin:0 0 6px}
/* Completion cards carry their QR */
.completion-sample{display:flex;gap:14px;align-items:flex-start}.completion-qr{flex:0 0 auto;width:88px;height:88px;padding:4px;background:#fff;border:1px solid #dce3eb;border-radius:8px}.completion-qr>*{width:100%;height:100%;display:block}
/* Bulk edit menu */
.bulk-menu{position:relative}.bulk-menu summary{list-style:none;cursor:pointer}.bulk-menu summary::-webkit-details-marker{display:none}
.bulk-menu-items{position:absolute;right:0;top:calc(100% + 8px);z-index:30;display:flex;flex-direction:column;gap:6px;min-width:200px;padding:8px;background:#fff;border:1px solid #cbd8e3;border-radius:12px;box-shadow:0 14px 42px #001a3340}
.bulk-menu-items .button{width:100%;justify-content:flex-start}

/* One recommended lab instead of a choice */
.delivery-route-options:has(.delivery-route-fit){grid-template-columns:1fr}
.delivery-route-fit{border-left:4px solid var(--yellow,#f4d03f)}

.packing-amount{display:block;margin-top:3px;font-style:normal;font-weight:600;color:var(--navy,#12364b)}
/* Every launcher section lays out like the Samples bar: even columns for its own tiles, hairline dividers */
.pages-workspace .pages .app-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
.pages-workspace .pages .app-tile+.app-tile{border-left:1px solid #d8e1e8}
@media(max-width:680px){.pages-workspace .pages .app-grid{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.pages-workspace .pages .app-tile.app-tile:nth-child(odd){border-left:0}}
@media(max-width:440px){.pages-workspace .pages .app-grid{grid-auto-flow:row;grid-template-columns:1fr}.pages-workspace .pages .app-tile+.app-tile{border-left:0;border-top:1px solid #d8e1e8}}

/* Enrollment rows: compact by default, details on demand */
.program-list-tools{display:flex;flex-wrap:wrap;align-items:end;gap:12px 16px;margin:16px 0 4px}
.program-list-tools label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.program-list-search{flex:1 1 260px}.program-list-search input{width:100%}
.program-list-count{margin-left:auto;font-size:13px;color:var(--muted);padding-bottom:10px}
.program-participations{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.program-participation{padding:0;overflow:hidden}
.program-row{display:grid;grid-template-columns:minmax(200px,1.6fr) auto minmax(180px,1fr) auto;align-items:center;gap:14px 18px;padding:14px 18px}
.program-row-main{display:flex;flex-direction:column;min-width:0}.program-row-main strong{font-size:15px}.program-row-main small{color:var(--muted)}
.program-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:#eef2f6;color:#3a4f63}
.program-pill-eligible{background:#e2f1e6;color:#1f5f34}.program-pill-issued{background:#e6e3f4;color:#4b3f8f}.program-pill-needs{background:#fdf1cf;color:#7a5a00}
.program-row-counts{font-size:13px;color:var(--muted);white-space:nowrap}
.program-row-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;white-space:nowrap}
.program-row-details{padding:4px 18px 18px;border-top:1px solid #e3eaf0}
.program-row-details>p{margin:10px 0 0}.program-row-details .program-feed-list{margin-top:12px}
.program-list-pages{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;font-size:13px;color:var(--muted)}
@media(max-width:820px){.program-row{grid-template-columns:1fr auto}.program-row-counts{grid-column:1/-1}.program-row-actions{grid-column:1/-1;justify-content:flex-start}}

/* Breadcrumb: a visible way back, a clear current page */
.main-nav{align-items:center;gap:6px;padding-top:8px;padding-bottom:8px}
.main-nav button.crumb-home{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border:1px solid #cbd8e3;border-bottom-width:1px;border-radius:999px;background:#fff;color:var(--navy);font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.main-nav button.crumb-home:hover,.main-nav button.crumb-home:focus-visible{background:#eef3f8;border-color:var(--navy);outline:none}
.main-nav .crumb-arrow{font-size:15px;line-height:1;color:var(--gold)}
.main-nav .crumb{min-height:0;gap:10px;font-size:13px;font-weight:700;color:var(--navy)}
.main-nav .crumb:before{content:"›";font-size:18px;font-weight:400;color:#9fb0c0}

/* Launcher sections: a colored header pill and edge per section */
.pages-workspace .pages{border-left:4px solid var(--section-color,#d8e1e8)}
.pages-workspace .pages h2{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;padding:7px 14px 7px 11px;border-radius:999px;background:var(--section-tint,#eef2f6);color:var(--section-ink,#3d5063);font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.pages-workspace .pages h2::before{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px #ffffffb0}
.pages-workspace .pages:has(#group-lims-title){/* group colors swapped 2026-09-19 */--section-color:#3f78b5;--section-tint:#e3edf7;--section-ink:#1f4a78;border-top:1px solid #ffffffb0}
.pages-workspace .pages:has(#group-tools-title){--section-color:#4f8a66;--section-tint:#e3f0e7;--section-ink:#1f5334}
.pages-workspace .pages:has(#group-resources-title){--section-color:#8a6fb0;--section-tint:#ece6f5;--section-ink:#4d3a78}
.pages-workspace .pages:has(#group-admin-title){--section-color:#b8635f;--section-tint:#f6e5e3;--section-ink:#7a2f2a}
.pages-workspace .pages h2#group-lims-title::before,.pages-workspace .pages h2#group-tools-title::before,.pages-workspace .pages h2#group-resources-title::before,.pages-workspace .pages h2#group-admin-title::before{background:var(--section-color)}
/* Lab user rows: labeled facts */
.record-facts{display:flex;flex-wrap:wrap;gap:4px 18px;margin:6px 0 4px;font-size:13px}.record-facts div{display:flex;gap:6px;min-width:0}.record-facts dt{color:var(--muted);flex:0 0 auto}.record-facts dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
/* Team usage: sortable columns */
.usage-sort{border:0;background:none;font:inherit;font-weight:700;color:inherit;cursor:pointer;padding:0;white-space:nowrap}.usage-sort:hover,.usage-sort:focus-visible{text-decoration:underline;outline:none}

/* Launcher: group title in a left rail, tighter rows */
.pages-workspace .greeting{margin-bottom:16px}
.pages-workspace .pages{display:grid;grid-template-columns:128px minmax(0,1fr);column-gap:22px;align-items:center;padding:10px 26px 10px 18px}
.pages-workspace .pages+.pages{margin-top:10px}
.pages-workspace .pages h2{display:inline-flex;flex-direction:row;align-items:center;gap:9px;margin:0;padding:0;background:transparent;border-radius:0;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--section-ink,#3d5063);line-height:1.2;position:relative}
.pages-workspace .pages h2::before{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px #ffffffb0;background:var(--section-color);flex:0 0 auto}
.pages-workspace .pages h2::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--section-color),transparent)}
.pages-workspace .pages .app-grid{gap:6px 18px}
.pages-workspace .app-tile{padding:4px 8px 6px}
.pages-workspace .app-icon{width:48px;height:48px;margin-bottom:6px}.pages-workspace .app-icon svg{width:25px;height:25px}
.pages-workspace .app-blurb{margin-top:3px;line-height:1.35}
@media(max-width:680px){.pages-workspace .pages{grid-template-columns:1fr;row-gap:10px;align-items:start;padding:12px 16px 10px}.pages-workspace .pages h2::after{display:none}}
/* Sample toolbar: search, owner, and status on one row */
.customer-sample-toolbar{flex-wrap:wrap;gap:10px 12px;margin:6px 0 14px}
.customer-sample-toolbar .customer-sample-search{flex:1 1 280px;max-width:none}
.customer-sample-toolbar .customer-sample-filters{display:flex;flex-wrap:nowrap;gap:10px;margin:0}
.customer-sample-toolbar .customer-sample-filters label{display:block}
.customer-sample-toolbar .customer-sample-filters select{min-width:0;width:auto;padding:11px 32px 11px 12px;font-size:13px;border-radius:8px;background:#f8fafb;border-color:#cad6df}
@media(max-width:540px){.customer-sample-toolbar .customer-sample-filters{flex:1 1 100%}.customer-sample-toolbar .customer-sample-filters label{flex:1}.customer-sample-toolbar .customer-sample-filters select{width:100%}}
/* Sample cards: a bare pencil, and a red trash can in the editor footer */
.sample-card-pencil{width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#5f7488}
.sample-card-pencil svg{width:18px;height:18px}
.sample-card-pencil:hover{background:transparent;color:var(--navy)}
.delete-link.trash-link{display:inline-grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--red)}
.delete-link.trash-link svg{width:20px;height:20px}
.delete-link.trash-link:hover{background:transparent;color:#8a1f18}
/* Sample type chooser: the one control on the row that must be pressed */
.sample-type-menu-control .button{min-height:52px;padding:0 22px 0 18px;gap:12px;font-size:16px;font-weight:700;letter-spacing:-.01em;color:#fff;background:linear-gradient(180deg,#0b2a4d,var(--navy));border:1px solid var(--navy);border-radius:14px;box-shadow:0 10px 22px -10px #00112680,inset 0 1px 0 #ffffff1f;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.sample-type-menu-control .button svg{color:var(--yellow);width:24px;height:24px}
.sample-type-menu-control .button .required-marker{color:var(--yellow)}
.sample-type-menu-control .button:hover{background:linear-gradient(180deg,#123b66,#062244);transform:translateY(-1px);box-shadow:0 14px 26px -10px #001126a6,inset 0 1px 0 #ffffff26}
.sample-type-menu-control .button:active{transform:translateY(0)}
.sample-type-menu-control .button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.sample-type-menu-control small{margin-top:8px;font-size:14px;color:#3d5063}
/* Sample type picker: category filters across the top, one list below */
.matrix-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 12px}
.matrix-filter-chips button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px 0 10px;border:1px solid #d0dee8;border-radius:999px;background:#fff;color:#17334d;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.matrix-filter-chips button .sample-type-symbol{width:24px;height:24px;background:transparent;color:#31516d}
.matrix-filter-chips button .sample-type-symbol svg{width:18px;height:18px}
.matrix-filter-chips .matrix-chip-box{width:16px;height:16px;border:1.5px solid #9fb0c0;border-radius:4px;display:grid;place-items:center;font-size:11px;line-height:1;color:#fff;background:#fff}
.matrix-filter-chips button[aria-checked=true]{background:#fffbea;border-color:#b99a34}
.matrix-filter-chips button[aria-checked=true] .matrix-chip-box{background:var(--navy);border-color:var(--navy)}
.matrix-filter-chips .matrix-chip-count{font-size:12px;font-weight:600;color:#718192}
.matrix-filter-chips .matrix-chip-clear{border-style:dashed;font-weight:500;color:#4d6178}
.matrix-filter-chips button:hover{border-color:#b39734}
.matrix-filter-chips button:focus-visible{outline:3px solid #c5a332;outline-offset:2px}
.sample-type-picker .matrix-search{display:block;margin:0 0 10px}
.sample-type-picker .matrix-search input{width:100%;padding:11px 14px;border:1px solid #cad6df;border-radius:8px;background:#f8fafb;font:inherit;font-size:14px}
.matrix-choice-list{display:flex;flex-direction:column;border:1px solid #d0dee8;border-radius:12px;overflow:hidden;background:#fff}
.matrix-choice-list button{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto 28px;align-items:center;gap:0 12px;width:100%;min-height:52px;padding:8px 14px;border:0;border-bottom:1px solid #e4ecf2;background:#fff;color:#17334d;text-align:left;font:inherit;cursor:pointer}
.matrix-choice-list button:last-child{border-bottom:0}
.matrix-choice-list button:hover,.matrix-choice-list button[aria-pressed=true]{background:#fffbea}
.matrix-choice-list .sample-type-symbol{width:30px;height:30px;background:#e9eff4;color:#31516d}
.matrix-choice-list .sample-type-symbol svg{width:18px;height:18px}
.matrix-choice-list strong{font-size:15px;font-weight:600}
.matrix-choice-list .matrix-choice-group{font-size:12px;color:#65768a;white-space:nowrap}
.matrix-choice-list small{font-size:11px;color:#718192;font-variant-numeric:tabular-nums}
.matrix-choice-list .matrix-choice-check{justify-self:end;color:#b99a34;font-weight:700}
.matrix-choice-list button:focus-visible{outline:3px solid #c5a332;outline-offset:-3px}
@media(max-width:600px){.matrix-choice-list button{grid-template-columns:30px minmax(0,1fr) 28px}.matrix-choice-list .matrix-choice-group,.matrix-choice-list small{display:none}}
/* Dialog footers: say why a confirm button is disabled */
.dialog-actions .dialog-reason{margin:0 auto 0 0;align-self:center;font-size:13px;color:#7a2f2a}

/* My account: one quiet identity row that matches the rest of the app */
.identity-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;margin:0 0 6px;border:1px solid var(--line,#ccd7e1);border-left:4px solid var(--navy);border-radius:var(--control-radius,12px);background:#fff;color:var(--ink,#17334d);box-shadow:none}
.identity-card-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:18px;font-weight:700;letter-spacing:.04em}
.identity-card-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#5f7488}
.identity-card-username{font-size:22px;font-weight:700;color:var(--navy);margin:2px 0}
.identity-card-name{font-size:14px;color:#4d6178}
.identity-card-id{text-align:right;justify-self:end}
.identity-card-id span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#5f7488}
.identity-card-id code{margin:4px 0;padding:5px 12px;border-radius:8px;background:#eef3f7;border:1px solid #d0dee8;color:var(--navy);font-size:15px;font-weight:700;letter-spacing:.12em}
.identity-card-id small{max-width:220px;font-size:11px;line-height:1.4;color:#5f7488}
.password-prompt{margin:4px 0 8px;padding-top:12px;border-top:1px solid var(--line,#ccd7e1)}
.password-prompt .button{font-weight:600}
@media(max-width:560px){.identity-card{grid-template-columns:44px minmax(0,1fr)}.identity-card-avatar{width:44px;height:44px;font-size:15px}.identity-card-id{grid-column:2;justify-self:start;text-align:left}}
/* Customer enrollment: a strip inside the project, the form and details in a dialog */
.program-strip{margin:0 0 18px}
.program-strip-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--line,#ccd7e1);border-left:4px solid var(--navy);border-radius:var(--control-radius,12px);background:#fff}
.program-strip-row+.program-strip-row{margin-top:8px}
.program-strip-row strong{display:block;font-size:15px;color:var(--navy)}
.program-strip-row small{display:block;margin-top:2px;font-size:13px;color:#5f7488}
.program-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:0;border-radius:18px;box-shadow:0 24px 60px -20px #00112680}
.program-dialog::backdrop{background:#0b1a2e99}
.program-dialog-body{padding:24px 28px 20px;overflow:auto;max-height:calc(100vh - 48px)}
.program-enrollment-details h2{margin:0 0 6px}
@media(max-width:600px){.program-strip-row{flex-direction:column;align-items:stretch}.program-dialog{width:100vw;max-height:100vh;border-radius:0}.program-dialog-body{padding:18px 16px}}
/* Users & Organizations: two halves, then the tabs of the chosen half */
.identity-halves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 10px}
.identity-halves button{display:grid;gap:4px;text-align:left;padding:14px 18px;border:1px solid var(--line,#ccd7e1);border-left:4px solid #c9d5e0;border-radius:var(--control-radius,12px);background:#fff;color:var(--ink,#17334d);font:inherit;cursor:pointer}
.identity-halves button strong{font-size:16px;color:var(--navy)}
.identity-halves button small{font-size:12.5px;line-height:1.4;color:#5f7488}
.identity-halves button[aria-pressed=true]{border-left-color:var(--navy);background:#f4f7fa;box-shadow:inset 0 0 0 1px #ffffff}
.identity-halves button:nth-child(2)[aria-pressed=true]{border-left-color:#ff7a59}
.identity-halves button:hover{border-color:#b39734}
.identity-halves button:focus-visible{outline:3px solid #c5a332;outline-offset:2px}
.identity-linked-name{margin-left:6px;font-size:13px;color:#4d6178}
@media(max-width:640px){.identity-halves{grid-template-columns:1fr}}
/* Organization settings: the organization is the headline */
.org-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 26px 20px;background:linear-gradient(135deg,#0b2240,var(--navy) 70%);color:#fff;border-bottom:3px solid var(--gold)}
.org-hero .eyebrow{color:#b9cbdc;margin:0 0 2px}
.org-hero h2{margin:0 0 10px;font-size:26px;line-height:1.15;color:#fff;letter-spacing:-.02em;overflow-wrap:anywhere}
.org-hero-main{display:flex;align-items:flex-start;gap:16px;min-width:0}
.org-hero-crest{flex:0 0 auto;width:64px;height:64px;border-radius:16px;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:24px;font-weight:800;letter-spacing:.04em;box-shadow:0 0 0 3px var(--gold),0 10px 24px -10px #00000080}
.org-hero-chips{display:flex;flex-wrap:wrap;gap:8px}
.org-hero-chip{display:inline-grid;gap:1px;padding:6px 12px;border-radius:10px;background:#ffffff14;border:1px solid #ffffff2e}
.org-hero-chip small{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#b9cbdc}
.org-hero-chip strong{font-size:14px;color:#fff;letter-spacing:.02em}
.org-hero-actions{display:flex;gap:8px;flex:0 0 auto}
.org-hero-actions .button.secondary{background:#ffffff14;border-color:#ffffff40;color:#fff}
.org-hero-actions .button.secondary:hover{background:#ffffff26}
.organization-settings-body{padding:20px 26px 24px;display:grid;gap:14px}
.organization-settings-body h3{margin:0}
.org-panel{padding:16px 18px;border:1px solid var(--line,#ccd7e1);border-radius:14px;background:#fff}
.org-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.org-panel-head h3{font-size:16px;color:var(--navy)}
.org-panel .invite-person-button{display:inline-flex;align-items:center;gap:8px;width:auto;height:auto;padding:0 14px;min-height:40px}
.org-panel .invite-person-button svg{width:20px;height:20px}
.org-member-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #e4ecf2}
.org-member-row:first-of-type{border-top:0}
.org-member-row strong{display:block;font-size:15px;color:var(--navy)}
.org-rank{display:inline-block;margin-top:3px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#eef3f7;color:#3d5063}
.org-rank-owner{background:#fff3cc;color:#7a5a00}
.org-rank-admin,.org-rank-manager{background:#e3edf7;color:#1f4a78}
.org-account-value{margin:0 0 4px;font-size:22px;font-weight:700;letter-spacing:.04em;color:var(--navy);font-variant-numeric:tabular-nums}
.org-account-value.is-empty{font-size:16px;font-weight:500;color:#7a8791;letter-spacing:0}
.org-panel-endpoints h3{font-size:16px;color:var(--navy)}
@media(max-width:560px){.org-hero{flex-direction:column}.org-hero-actions{width:100%;justify-content:flex-end}.org-hero-crest{width:52px;height:52px;font-size:20px}}
/* Sample type: the next step sits beneath the sample name as the one yellow button */
.sample-type-menu-control{margin-top:6px}
.sample-type-menu-control .button.type-next-button,.sample-type-menu-control .button{min-height:48px;padding:0 18px 0 16px;gap:10px;font-size:15px;font-weight:700;letter-spacing:0;color:var(--navy);background:var(--yellow);border:1px solid #d9b92a;border-radius:12px;box-shadow:0 6px 16px -10px #00112680;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.sample-type-menu-control .button svg{color:var(--navy);width:22px;height:22px}
.sample-type-menu-control .button .required-marker{color:#a92b22}
.sample-type-menu-control .button .type-next-arrow{margin-left:4px;font-weight:800}
.sample-type-menu-control .button:hover{background:#f7d95a;transform:translateY(-1px);box-shadow:0 10px 20px -10px #001126a6}
.sample-type-menu-control .button:active{transform:translateY(0)}
.sample-type-menu-control .button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
/* Sample type list: thin rows, names on the left, no icon squares */
.matrix-choice-list button{display:flex;align-items:center;gap:12px;min-height:40px;padding:6px 12px 6px 14px;text-align:left}
.matrix-choice-list strong{flex:0 1 auto;font-size:14.5px;font-weight:600;color:var(--navy);text-align:left}
.matrix-choice-list .matrix-choice-group{flex:1 1 auto;font-size:12.5px;color:#65768a;text-align:left}
.matrix-choice-list small{flex:0 0 auto;min-width:48px;text-align:right;font-size:11.5px;color:#718192}
.matrix-choice-list .matrix-choice-check{flex:0 0 auto;grid-row:auto;width:22px;height:22px;border:1px solid #d0dee8;border-radius:50%;background:#fff;color:#b99a34;font-size:13px;line-height:1;display:grid;place-items:center}
.matrix-choice-list button[aria-pressed=true] .matrix-choice-check{background:var(--navy);border-color:var(--navy);color:#fff}
@media(max-width:600px){.matrix-choice-list button{display:flex}.matrix-choice-list .matrix-choice-group{display:none}.matrix-choice-list small{display:inline}}
/* The sample type step stacks beneath the sample name at every width */
.sample-name-type-row{display:flex;flex-direction:column;align-items:stretch;gap:0}
.sample-name-type-row>.field{width:100%;max-width:600px}
.sample-name-type-row [data-entry-stage="type"]{width:100%;max-width:600px}
.sample-name-type-row .sample-type-menu-control{padding-top:0;margin-top:4px;max-width:none}
/* Sample entry: details and completion are separate steps */
.submission-entry-complete{margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#ccd7e1)}
.submission-entry-complete .entry-summary{margin:0 0 12px;font-size:15px;color:#3d5063}

/* Submission footer: the trash can stays on the far left; status text follows it */
.submission-footer .discard-submission{order:-2;flex:0 0 auto;margin-right:0}
.submission-footer .submission-feedback{order:-1;flex:1 1 auto}
.submission-footer .button{flex:0 1 auto;min-width:200px}
/* A short confirmation after a sample joins the submission */
/* Centered on the screen and gone in a moment (Austin, 2026-09-20): the confirmation is the only
   thing to read when it appears, and it replaces the notice that used to sit in the footer. */
.sample-added-popup{position:fixed;left:50%;top:50%;transform:translate(-50%,calc(-50% + 12px)) scale(.96);display:flex;align-items:center;gap:14px;padding:18px 26px;border-radius:16px;background:var(--navy);color:#fff;box-shadow:0 22px 60px -18px #001126b3;opacity:0;transition:opacity .28s ease,transform .28s ease;z-index:50;pointer-events:none;max-width:min(520px,calc(100vw - 32px))}
.sample-added-popup.is-in{opacity:1;transform:translate(-50%,-50%) scale(1)}
.sample-added-popup .sample-added-check{width:28px;height:28px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-weight:800}
.sample-added-popup strong{display:block;font-size:15px}
.sample-added-popup small{display:block;font-size:12.5px;color:#d7e4ef}
@media(prefers-reduced-motion:reduce){.sample-added-popup{transition:none}}
/* Packing list: labeled name and number, then matrix and tests */
.packing-list .packing-label{font-weight:500;color:#5f7488}
.packing-list .packing-sep{margin:0 6px;color:#9fb0c0}

/* Submission complete: a grey hero with navy text, and four fireworks that always fire */
.completion-hero.submission-step-header{background:radial-gradient(ellipse at 50% 0,#ffffff 0,transparent 66%),#e6ebf0;color:var(--navy);border:1px solid #d4dde5;box-shadow:inset 0 -3px 0 var(--gold)}
.completion-hero:after{border-color:#00112614;box-shadow:0 0 0 65px #0011260a,0 0 0 130px #00112605}
.completion-hero h1{color:var(--navy)}
.completion-hero .completion-lead{color:#3d5063}
.completion-hero .completion-status{background:#fff;color:var(--navy);border:1px solid #d4dde5}
.completion-hero .completion-seal svg{stroke:var(--gold)}
.completion-hero .completion-seal{filter:none}
.completion-fireworks{z-index:0;display:block}
.completion-hero.submission-step-header>*:not(.completion-fireworks){position:relative;z-index:1}
.completion-firework i{width:3px;height:16px}
.completion-firework i,.completion-firework:before{animation-delay:calc(var(--delay) + .25s)}
@media(prefers-reduced-motion:reduce){.completion-fireworks{display:block}.completion-firework i,.completion-firework:before{animation:completion-still 2.4s var(--delay) ease-out both}}
@keyframes completion-still{0%{opacity:0}20%{opacity:.9}100%{opacity:0}}
/* Delivery: one short "Need more info?" list */
.delivery-help{margin-top:18px}
.delivery-help h3{margin:0 0 8px;font-size:16px;color:var(--navy)}
.delivery-help-list{list-style:none;margin:0;padding:0;border:1px solid var(--line,#ccd7e1);border-radius:12px;background:#fff;overflow:hidden}
.delivery-help-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:10px 14px;border-top:1px solid #e4ecf2}
.delivery-help-list li:first-child{border-top:0}
.delivery-help-list a,.delivery-help-list .link-button{font:inherit;font-weight:600;color:var(--blue);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.delivery-help-list span{font-size:13.5px;color:#5f7488}
/* Lab project rows: the customer-facing name beside the lab name */
.project-customer-name{margin:2px 0 4px;font-size:13px;color:#5f7488}
.project-customer-name strong{color:var(--navy);font-weight:600}

/* Enrollment dialog: one frame, and nutrient rows that fit */
.program-dialog{width:min(820px,calc(100vw - 32px))}
.program-dialog-body .program-enrollment{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}
.program-dialog-body .program-enrollment>h2{margin:0 0 14px;font-size:24px;letter-spacing:-.02em;color:var(--navy)}
.program-dialog-body .enrollment-progress{margin:0 0 18px}
.program-dialog-body .enrollment-step-title{font-size:18px;margin:0 0 6px}
.program-dialog-body .program-feed{margin:14px 0;padding:18px;background:#f7f9fb}
.program-dialog-body .program-fields{grid-template-columns:minmax(0,1.4fr) minmax(0,1.4fr) minmax(120px,.8fr);gap:12px 14px}
.program-dialog-body .program-expectations{margin-top:16px;padding-top:14px}
.program-dialog-body .program-expectations>p{margin-bottom:12px}
.program-dialog-body .program-targets{grid-template-columns:1fr;gap:10px}
.program-dialog-body .program-target-row,.program-dialog-body .program-target-row.is-chosen,.program-dialog-body .program-target-row.is-chosen.is-unknown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;align-items:end;padding:12px 14px}
.program-dialog-body .program-target-row>.field:first-child{grid-column:1/3}
.program-dialog-body .program-target-row .program-unknown{grid-column:3;grid-row:1;justify-self:end;align-self:center;padding:0;margin:0}
.program-dialog-body .program-target-row .program-unknown-note{grid-column:1/4;margin:0}
.program-dialog-body .program-basis-help{margin:8px 0 0;font-size:13px;color:#5f7488}
.program-dialog-body .program-expectations>.button,.program-dialog-body .program-enrollment>fieldset>.button{margin-top:12px}
.program-dialog-body .actions{margin-top:16px;padding-top:14px;border-top:1px solid var(--line,#ccd7e1)}
@media(max-width:600px){.program-dialog-body .program-fields{grid-template-columns:1fr}.program-dialog-body .program-target-row,.program-dialog-body .program-target-row.is-chosen{grid-template-columns:1fr 1fr}.program-dialog-body .program-target-row>.field:first-child{grid-column:1/2}.program-dialog-body .program-target-row .program-unknown{grid-column:2}}
/* Enrollment review: labeled facts instead of a dotted sentence */
.enrollment-summary-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 18px;margin:8px 0 0;padding:12px 14px;border:1px solid var(--line,#ccd7e1);border-radius:10px;background:#fff}
.enrollment-summary-list div{min-width:0}
.enrollment-summary-list dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#5f7488;margin:0 0 2px}
.enrollment-summary-list dd{margin:0;font-size:14.5px;font-weight:600;color:var(--navy);overflow-wrap:anywhere}
.enrollment-summary-feed{margin-top:8px;background:#f7f9fb}
/* Sample cards: each fact carries its label */
.sample-card .card-label{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#7a8a9a;margin-bottom:1px}
.sample-card-testing,.sample-card-context{display:flex;flex-wrap:wrap;gap:6px 22px}
.sample-card-testing>span,.sample-card-context>span{display:inline-block}

/* Destructive menu item: red outline with a trash can, not a red block */
.button.danger-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--red);border:1px solid var(--red)}
.button.danger-outline svg{width:16px;height:16px}
.button.danger-outline:hover{background:#fff0ed}

/* Launcher board (2026-09-17 rework): a labeled row per group and horizontal tiles in a three-column grid.
   Tiles are the only surfaces; groups are a label and a rule. Final layer: it resets the earlier launcher styles. */
.pages-workspace{max-width:1120px}
.pages-workspace .greeting{margin-bottom:22px}
.pages-workspace .pages,.pages-workspace .pages:has(#group-lims-title),.pages-workspace .pages:has(#group-tools-title),.pages-workspace .pages:has(#group-resources-title),.pages-workspace .pages:has(#group-admin-title){display:block;padding:0;margin-right:0;margin-bottom:0;margin-left:0;/* margin-top stays with the .pages+.pages spacing rules; the ID selectors here outrank them */border:0;border-left:0;border-top:0;border-radius:0;background:none;box-shadow:none;overflow:visible;isolation:auto}
.pages-workspace .pages::before{display:none}
.pages-workspace .pages+.pages{margin-top:26px}
.pages-workspace .pages h2{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:0;border-radius:0;background:none;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--section-ink,#3d5063);position:static}
.pages-workspace .pages h2::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--section-color,#7a8a9a);box-shadow:none;flex:0 0 auto}
.pages-workspace .pages h2::after{content:"";position:static;flex:1 1 auto;height:1px;background:linear-gradient(90deg,var(--section-color,#c9d5e0),#c9d5e000 75%)}
.pages-workspace .pages .app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:12px}
.pages-workspace .pages .app-tile,.pages-workspace .pages .app-tile+.app-tile{display:grid;grid-template-columns:44px minmax(0,1fr);grid-auto-rows:auto;column-gap:14px;row-gap:0;align-items:center;justify-items:start;text-align:left;min-height:78px;padding:14px 16px;border:1px solid #d7e1e9;border-radius:14px;background:#fff;box-shadow:0 1px 2px #0019330a;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.pages-workspace .pages .app-tile>img,.pages-workspace .pages .app-icon{grid-row:1/3;grid-column:1;width:44px;height:44px;margin:0;border-radius:12px;background:var(--section-tint,#eef2f6);color:var(--section-ink,#3d5063);box-shadow:none;transition:background .16s ease,color .16s ease}
.pages-workspace .pages .app-tile>img{object-fit:contain;padding:6px;background:#fff;border:1px solid #d7e1e9}
.pages-workspace .pages .app-icon svg{width:22px;height:22px;stroke-width:1.6}
.pages-workspace .pages .app-name{grid-column:2;max-width:none;font-size:15px;line-height:1.25;font-weight:600;color:var(--navy);align-self:end}
.pages-workspace .pages .app-blurb{grid-column:2;display:block;margin-top:3px;max-width:none;font-size:12.5px;line-height:1.35;color:#5d6d80;text-wrap:pretty;align-self:start}
.pages-workspace .pages .app-tile .page-soon{grid-column:2;margin:4px 0 0;padding:0}
.pages-workspace .pages .app-tile:hover{transform:translateY(-2px);border-color:var(--section-color,#93adc8);box-shadow:0 12px 26px -16px #00193366;background:#fff}
.pages-workspace .pages .app-tile:hover .app-icon{transform:none;background:var(--section-color,#3d5063);color:#fff;box-shadow:none}
.pages-workspace .pages .app-tile:hover .app-name{color:var(--navy)}
.pages-workspace .pages .app-tile:active{transform:translateY(0)}
.pages-workspace .pages .app-tile:focus-visible{outline:2px solid var(--gold);outline-offset:2px;background:#fff}
.pages-workspace .lims-divider{display:none}
@media(max-width:900px){.pages-workspace .pages .app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pages-workspace .pages .app-grid{grid-template-columns:1fr;gap:10px}.pages-workspace .pages .app-tile,.pages-workspace .pages .app-tile+.app-tile{min-height:0;padding:12px 14px}.pages-workspace .pages+.pages{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.pages-workspace .pages .app-tile,.pages-workspace .pages .app-icon{transition:none}.pages-workspace .pages .app-tile:hover{transform:none}}
/* Launcher board: a touch more presence at desktop widths */
@media(min-width:901px){.pages-workspace .pages .app-tile,.pages-workspace .pages .app-tile+.app-tile{grid-template-columns:48px minmax(0,1fr);min-height:86px;padding:16px 18px;column-gap:16px}.pages-workspace .pages .app-icon{width:48px;height:48px;border-radius:13px}.pages-workspace .pages .app-icon svg{width:24px;height:24px}.pages-workspace .pages .app-name{font-size:15.5px}.pages-workspace .pages .app-blurb{font-size:13px}.pages-workspace .pages h2{font-size:12px;margin-bottom:12px}.pages-workspace .pages+.pages{margin-top:30px}}


/* Project overview: the same white card language as the rest of the app */
.blitz-hero{background:#fff;color:var(--ink,#17334d);border:1px solid var(--line,#ccd7e1);border-left:4px solid var(--navy);border-radius:14px;box-shadow:none;padding:22px 26px}
.blitz-hero .eyebrow{color:#5f7488}
.blitz-hero h2{color:var(--navy)}
.blitz-purpose p{color:#3d5063}
.blitz-purpose .blitz-source{color:#7a8a9a}
.blitz-facts dt{color:#5f7488}
.blitz-facts dd{color:var(--navy)}
.blitz-facts dd small{color:#5f7488}
.blitz-rules li{color:#3d5063}
.blitz-rules li:before{background:var(--navy)}
/* Progress bars as real progress elements */
.pipeline .bar-fill{display:block;width:100%;height:6px;border:0;border-radius:4px;background:#e4ecf2;overflow:hidden;accent-color:var(--blue)}
.pipeline .bar-fill::-webkit-progress-bar{background:#e4ecf2;border-radius:4px}
.pipeline .bar-fill::-webkit-progress-value{background:var(--blue);border-radius:4px}
.pipeline .bar-fill::-moz-progress-bar{background:var(--blue);border-radius:4px}
/* Users & Organizations: one big slider switch between the two halves */
.identity-switch-wrap{margin:18px 0 12px}
.identity-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(520px,100%);padding:5px;border-radius:999px;background:#dfe6ed;isolation:isolate}
.identity-switch::before{content:"";position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:var(--navy);box-shadow:0 6px 16px -8px #00112699;transition:transform .22s cubic-bezier(.2,.7,.2,1);z-index:0}
.identity-switch[data-half="hubspot"]::before{transform:translateX(100%)}
.identity-switch button{position:relative;z-index:1;min-height:46px;border:0;background:transparent;border-radius:999px;font:inherit;font-size:16px;font-weight:700;color:#3d5063;cursor:pointer;transition:color .2s}
.identity-switch button[aria-pressed=true]{color:#fff}
.identity-switch button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.identity-switch-blurb{margin:10px 0 0;font-size:13.5px;color:#5f7488;max-width:720px}
.identity-halves{display:none}
@media(prefers-reduced-motion:reduce){.identity-switch::before{transition:none}}
/* Directory search tools: the filter never clips its own text */
.identity-tools{grid-template-columns:minmax(240px,1fr) minmax(300px,auto) auto}
.identity-tools select{width:100%;min-width:0;text-overflow:ellipsis}
@media(max-width:700px){.identity-tools{grid-template-columns:1fr}.identity-tools .field:first-child{grid-column:auto}}

.identity-danger{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line,#ccd7e1)}

/* Enrollment dialog: one compact row per nutrient */
.program-dialog-body .program-target-row,.program-dialog-body .program-target-row.is-chosen,.program-dialog-body .program-target-row.is-chosen.is-unknown{grid-template-columns:minmax(150px,1.5fr) minmax(90px,1fr) minmax(70px,.7fr) minmax(110px,1fr);gap:8px 10px;padding:10px 12px}
.program-dialog-body .program-target-row>.field:first-child{grid-column:auto}
.program-dialog-body .program-target-row .field{font-size:12.5px}
.program-dialog-body .program-target-row .field>span{margin-bottom:3px}
.program-dialog-body .program-target-row select,.program-dialog-body .program-target-row input{min-height:38px;padding:7px 10px;font-size:14px}
.program-dialog-body .program-targets{gap:8px}
.program-dialog-body .program-feed{padding:14px 16px}
.program-dialog-body .program-fields select,.program-dialog-body .program-fields input{min-height:40px;padding:8px 10px;font-size:14px}
.program-dialog-body .program-expectations h4{font-size:15px}
@media(max-width:600px){.program-dialog-body .program-target-row,.program-dialog-body .program-target-row.is-chosen{grid-template-columns:1fr 1fr}}
/* Sample cards: one short card, facts on one labeled line */
.customer-sample-list .sample-card,.customer-sample.sample-card{padding:12px 72px 12px 16px}
.sample-card-heading{align-items:center;gap:12px}
.sample-card-heading>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.sample-card-heading h3{margin:0;font-size:16px}
.sample-card-identifiers{display:flex;gap:12px;margin:0}
.sample-card-bottom{margin-top:6px}
.sample-card-testing>span+span::before,.sample-card-context>span+span::before{content:none;margin:0}
.sample-card .sample-card-testing,.sample-card .sample-card-context{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 20px;margin:0;font-size:13px}
.sample-card .sample-card-context{margin-top:2px}
.sample-card .card-label{display:inline;margin:0 6px 0 0;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#7a8a9a}
.sample-card .sample-card-tags{margin-top:4px}
.sample-card-pencil{width:36px;height:36px}
/* Enrollment goals: a tight centered two-column list */
.program-dialog-body .checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;max-width:620px;margin:6px auto 0;padding:12px 16px;border:1px solid var(--line,#ccd7e1);border-radius:10px;background:#f7f9fb;max-height:none;overflow:visible}
.program-dialog-body .checks label{font-size:14px;color:var(--navy)}
.program-dialog-body .checks input{width:18px;height:18px;accent-color:var(--navy)}
.program-dialog-body .goal-other{grid-column:1/-1}
.program-dialog-body .goal-other-text{flex:1 1 220px;min-height:36px}
.program-dialog-body fieldset>legend{font-size:15px;font-weight:600;color:var(--navy);text-align:center;width:100%;margin:0 0 4px}
.program-dialog-body .program-agreement{margin:18px auto 0;max-width:620px}
@media(max-width:560px){.program-dialog-body .checks{grid-template-columns:1fr}}
/* On-screen label previews carry a big grey number outside, on the left */
.label-grid{counter-reset:label;padding-left:52px}
.label-grid .sample-label{position:relative;counter-increment:label}
.label-grid .sample-label::before{content:counter(label);position:absolute;left:-52px;top:50%;transform:translateY(-50%);width:40px;text-align:center;font-size:30px;font-weight:800;line-height:1;color:#7a8a9a;font-variant-numeric:tabular-nums}
@media(max-width:560px){.label-grid{padding-left:40px}.label-grid .sample-label::before{left:-40px;font-size:24px;width:32px}}
/* Form section headings: a quiet label with a rule, not a navy bar */
.form-heading{display:flex;align-items:center;gap:12px;margin:14px 0 12px;padding:0;background:none;color:#5f7488;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.form-heading::after{content:"";flex:1;height:1px;background:var(--line,#ccd7e1)}
.form-heading:first-child{margin-top:0}

/* Launcher board: shallow tiles, groups separated but not sprawling (Austin, 2026-09-17: "no reason to go so deep") */
.pages-workspace .greeting{margin-bottom:24px}
.pages-workspace .pages h2{margin-bottom:12px}
.pages-workspace .pages+.pages{margin-top:34px}
.pages-workspace .pages .app-grid{gap:12px}
.pages-workspace .pages .app-tile,.pages-workspace .pages .app-tile+.app-tile{min-height:0;padding:11px 14px;column-gap:13px;grid-template-columns:40px minmax(0,1fr)}
.pages-workspace .pages .app-tile>img,.pages-workspace .pages .app-icon{width:40px;height:40px;border-radius:11px}
.pages-workspace .pages .app-icon svg{width:21px;height:21px}
.pages-workspace .pages .app-name{font-size:15px}
.pages-workspace .pages .app-blurb{margin-top:2px;font-size:12.5px;line-height:1.3}
@media(min-width:901px){.pages-workspace .pages h2{margin-bottom:12px}.pages-workspace .pages+.pages{margin-top:38px}.pages-workspace .pages .app-grid{gap:12px}}
@media(max-width:560px){.pages-workspace .pages+.pages{margin-top:28px}}

/* Lab Users: facts stacked with aligned labels, and a page-access filter beside the search (Austin, 2026-09-17) */
.record-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 14px;margin:8px 0 6px}
.record-facts div{display:contents}
.record-facts dt{color:var(--muted);font-size:12.5px;line-height:1.45}
.record-facts dd{line-height:1.45}
.lab-user-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);gap:12px;align-items:end;max-width:760px}
.lab-user-search select{box-sizing:border-box;width:100%;padding:13px 40px 13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;color:var(--ink)}
.lab-user-search select:focus{outline:2px solid #00447d;outline-offset:2px}
@media(max-width:560px){.lab-user-search{grid-template-columns:1fr}}

/* Account setup: three lanes of people and the LabApps mirror queue (Austin, 2026-09-19) */
.identity-subtabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.identity-subtabs button{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:13px;color:var(--muted);cursor:pointer}
.identity-subtabs button[aria-pressed=true]{border-color:var(--navy);color:var(--navy);font-weight:650}
.identity-subtabs button:focus-visible{outline:2px solid #00447d;outline-offset:2px}
.identity-group-blurb{margin:0 0 10px;max-width:75ch;font-size:14px;color:var(--muted)}
.identity-back{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:13px;color:var(--muted)}
.identity-tab-count{display:inline-block;min-width:18px;margin-left:4px;padding:1px 6px;border-radius:999px;background:var(--navy);color:#fff;font-size:11.5px;font-weight:700;text-align:center}
.setup-intro{margin:0 0 14px;max-width:75ch;font-size:14px;color:var(--muted)}
.setup-lanes,.setup-search,.setup-list{margin-bottom:14px}
div.setup-lane{cursor:default}
div.setup-lane[aria-current=true]{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.setup-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.setup-lane{display:grid;gap:2px;padding:16px 18px;text-align:left;font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-left:4px solid var(--control-border);border-radius:var(--panel-radius);cursor:pointer}
.setup-lane:hover{border-color:var(--control-border)}
.setup-lane:focus-visible{outline:2px solid #00447d;outline-offset:2px}
.setup-lane-could{border-left-color:var(--blue)}.setup-lane-setup{border-left-color:var(--gold)}.setup-lane-active{border-left-color:var(--green)}
.setup-lane-count{font-size:28px;font-weight:700;line-height:1.1;color:var(--navy);font-variant-numeric:tabular-nums}
.setup-lane-name{font-size:14px;font-weight:650}
.setup-lane-meaning{font-size:12.5px;color:var(--muted)}
.setup-search input{box-sizing:border-box;width:100%;max-width:520px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;color:var(--ink)}
.setup-list{display:grid;background:#fff;border:1px solid var(--line);border-radius:var(--panel-radius);overflow:hidden}
.setup-queue .setup-list{border:0;border-radius:0}
.setup-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) auto;gap:8px 18px;align-items:center;padding:13px 18px;border-top:1px solid var(--line);font-size:14px}
.setup-row:first-child{border-top:0}
.setup-who,.setup-state{display:grid;gap:3px;min-width:0}
.setup-who strong,.setup-state strong{font-weight:600;overflow-wrap:anywhere}
.setup-row small{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.setup-row>.subtle{font-size:12.5px;text-align:right}
.setup-pill{justify-self:start;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.setup-pill-setup{background:#fbf1d6;color:#6b4e06}.setup-pill-active{background:#e1f0e9;color:#1d4b39}
.setup-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.setup-note{box-sizing:border-box;width:190px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--control-radius);background:#fff;font:inherit;font-size:13px;color:var(--ink)}
.setup-resolved{color:var(--green)!important}
.setup-empty{margin:0;padding:18px;font-size:14px;color:var(--muted)}
.setup-more{margin:0;padding:12px 18px}
.setup-queue .panel-head label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.setup-queue .panel-head select{padding:8px 32px 8px 10px;border:1px solid var(--line);border-radius:var(--control-radius);background:#fff;font:inherit;color:var(--ink)}
@media(max-width:820px){.setup-lanes{grid-template-columns:1fr}.setup-row{grid-template-columns:1fr}.setup-row>.subtle{text-align:left}.setup-actions{justify-content:flex-start}.setup-note{width:100%}}

/* Project buttons with a leading icon (Austin, 2026-09-17: flask on Matrices & tests, gear on Project settings) */
.button.button-with-icon{display:inline-flex;align-items:center;gap:8px}
.button.button-with-icon svg{width:17px;height:17px;flex:0 0 auto}

/* Destination lab picker on the Deliver step (Austin, 2026-09-20). The map is tile images plus
   absolutely placed pins, all positioned in percentages, so it scales with its column. */
.delivery-lab-choice{margin:26px 0}
.lab-choice-intro{margin:6px 0 16px;color:var(--muted);font-size:13px;line-height:1.6}
.lab-map{position:relative;width:100%;aspect-ratio:2.5;overflow:hidden;border-radius:16px;border:1px solid var(--line);background:#20303d}
.lab-map-layer{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(2,1fr)}
.lab-map-layer img{display:block;width:100%;height:100%}
.lab-map-layer.is-labels{pointer-events:none;opacity:.9}
.lab-map-pins{position:absolute;inset:0}
/* Derived block: the six pin positions are the labs projected into the 5x2 tile frame at zoom 5.
   submission-delivery.js owns the math and says how to regenerate these if a lab moves. */
.lab-pin-US01{left:62.260%;top:36.734%}
.lab-pin-US13{left:48.033%;top:34.732%}
.lab-pin-US04{left:59.446%;top:26.125%}
.lab-pin-US03{left:74.338%;top:51.028%}
.lab-pin-US08{left:85.044%;top:43.357%}
.lab-pin-US02{left:7.925%;top:76.479%}
.lab-pin-US15{left:84.189%;top:54.776%}
.lab-pin-US28{left:38.816%;top:87.637%}
.lab-pin{position:absolute;transform:translate(-50%,-100%);display:grid;justify-items:center;gap:2px;padding:0 4px 2px;border:0;background:none;cursor:pointer;color:#fff;line-height:1}
.lab-pin-dot{display:block;width:17px;height:17px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 7px #001126a6;transition:transform .15s ease,box-shadow .15s ease}
.lab-tier-nir .lab-pin-dot{background:#00447d}
.lab-tier-full .lab-pin-dot{background:#c49a2e}
.lab-tier-partner .lab-pin-dot{background:#4f86b6}
.lab-pin-label{font-size:11px;font-weight:700;letter-spacing:.01em;text-shadow:0 1px 3px #000c,0 0 8px #0009;white-space:nowrap}
.lab-pin:hover .lab-pin-dot{transform:scale(1.22)}
.lab-pin:focus-visible{outline:3px solid #fff;outline-offset:3px;border-radius:8px}
.lab-pin.is-chosen .lab-pin-dot{transform:scale(1.35);border-color:var(--yellow);box-shadow:0 0 0 5px #f2cd3a4d,0 3px 10px #001126cc}
.lab-pin.is-chosen .lab-pin-label{color:var(--yellow)}
.lab-map-credit{margin:8px 0 0;font-size:11.5px;color:var(--muted)}
.lab-choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:16px}
.lab-option{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}
.lab-option:hover{border-color:#9fb1c1;background:#f7fafc}
.lab-option.is-chosen{border-color:var(--navy);background:#eff4f9;box-shadow:inset 0 0 0 1px var(--navy)}
.lab-option:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.lab-option-mark{flex:0 0 auto;width:13px;height:13px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #b9c6d2}
.lab-option-mark.lab-tier-nir{background:#00447d}
.lab-option-mark.lab-tier-full{background:#c49a2e}
.lab-option-mark.lab-tier-partner{background:#4f86b6}
.lab-chosen small{display:block;margin-top:4px}
.lab-option strong{display:block;font-size:14px}
.lab-option small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted)}
.lab-chosen{margin:16px 0 0;padding:13px 16px;border-radius:12px;background:#eff4f9;font-size:13.5px;line-height:1.6}
.lab-choice-required{margin:16px 0 0;font-size:13.5px;color:var(--muted)}
.lab-choice-warning{margin:12px 0 0;padding:13px 16px;border-left:3px solid var(--gold);background:#fdf7e4;font-size:13.5px;line-height:1.6}
@media(max-width:600px){.lab-pin-label{display:none}.lab-pin.is-chosen .lab-pin-label{display:block}}

/* Sample type chosen: the button stays live as the way back into the picker, but it stops
   competing for attention. Grey and legible, not a disabled control (Austin, 2026-09-20). */
.sample-type-menu-control .button.type-next-button.is-chosen{background:#eef1f5;border-color:#ccd7e1;color:var(--navy);box-shadow:none}
.sample-type-menu-control .button.type-next-button.is-chosen:hover{background:#e4e9f0;border-color:#b3c2d1;box-shadow:0 8px 18px -12px #00112680}
.sample-type-menu-control .button.type-next-button.is-chosen svg{color:#5b6b7d}
.sample-type-menu-control .button.type-next-button.is-chosen .type-next-arrow{color:#5b6b7d}

/* Agreement is the last enrollment step and the only thing on it, so it gets a readable panel
   with a real target instead of fine print under the notes field (Austin, 2026-09-20). */
.enrollment-agreement{display:grid;gap:18px;max-width:620px;margin:8px auto 0}
.enrollment-agreement .program-agreement{display:flex;gap:16px;align-items:flex-start;margin:0;max-width:none;padding:22px 24px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;line-height:1.75;font-size:14px;cursor:pointer}
.enrollment-agreement .program-agreement:hover{border-color:#9fb1c1;background:#f4f8fb}
.enrollment-agreement .program-agreement:has(input:checked){border-color:var(--navy);background:#eff4f9}
.enrollment-agreement .program-agreement:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}
.enrollment-agreement .program-agreement input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:var(--navy)}
.enrollment-agreement .program-agreement.has-error{border-color:var(--red)}
.enrollment-agreement .field-error{margin:0;color:var(--red);font-size:13px}
.enrollment-rules{margin:0;padding-top:4px;font-size:13px;line-height:1.7;color:var(--muted)}

/* Final entry before the sample has a type and a test: the prompt sits where the form will be,
   padded like the form so the column does not jump when the fields arrive (2026-09-20). */
.intake-final-waiting{padding:20px}
#intake-shell[data-mode=entry] .intake-final-waiting{padding:12px}

/* Icon-only action in a page heading: the symbol carries it, no button surface (2026-09-20).
   The hover tint is the only chrome, and it appears under the cursor rather than sitting there.
   Named symbol-button, not icon-button: that name already belongs to the dialog close control. */
.symbol-button{display:inline-grid;place-items:center;flex:0 0 auto;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:transparent;color:#7a8791;cursor:pointer;transition:background .15s ease,color .15s ease}
.symbol-button svg{width:20px;height:20px}
.symbol-button:hover{background:#eef1f4;color:var(--blue)}
.symbol-button:focus-visible{outline:2px solid #00447d;outline-offset:2px}
.symbol-button[disabled]{cursor:default;background:transparent;color:#a6b1bb}
.refresh-button svg{transition:transform .45s cubic-bezier(.3,.7,.3,1)}
.refresh-button:hover:not([disabled]) svg{transform:rotate(180deg)}
.refresh-button.is-busy svg{animation:refresh-spin .9s linear infinite}
@keyframes refresh-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.refresh-button svg,.refresh-button:hover svg{transition:none;transform:none}.refresh-button.is-busy svg{animation:none}}

/* Manual intake: individual tests open by category (Austin, 2026-09-17 night) */
.intake-column-options button small{margin-left:auto;font-size:11.5px;color:var(--muted);white-space:nowrap}
.intake-column-options button small+span{margin-left:6px}

/* Progress to goal on Project Management, lab staff only (Zac Meyer, 2026-09-17: 1,000 new samples; Cliff Ocker: by sample type) */
.project-scorecard{margin-bottom:22px}
.scorecard-goal{display:grid;gap:10px;padding:22px 24px 18px}
.scorecard-figure{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:0}
.scorecard-figure strong{font-size:44px;line-height:1;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.scorecard-figure span{font-size:15px;color:var(--ink)}
.scorecard-figure em{margin-left:auto;font-style:normal;font-size:15px;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}
.scorecard-meter{display:block;width:100%;height:12px;border:0;border-radius:6px;background:#e4ecf2;overflow:hidden;appearance:none;-webkit-appearance:none;accent-color:var(--blue)}
.scorecard-meter::-webkit-progress-bar{background:#e4ecf2;border-radius:6px}
.scorecard-meter::-webkit-progress-value{background:var(--blue);border-radius:6px}
.scorecard-meter::-moz-progress-bar{background:var(--blue);border-radius:6px}
.scorecard-facts{margin:0;font-size:13px;color:var(--muted)}
.scorecard-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:18px 24px 22px;border-top:1px solid var(--line)}
.scorecard-columns h3{margin:0 0 12px;font-size:13px;font-weight:650;color:var(--navy)}
.scorecard-columns h3 small{margin-left:6px;font-size:12px;font-weight:400;color:var(--muted)}
.scorecard-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.scorecard-row-head{display:flex;align-items:baseline;gap:8px;font-size:13px}
.scorecard-row-head strong{min-width:0;font-weight:600;overflow-wrap:anywhere}
.scorecard-row-head small{font-size:12px;color:var(--muted);white-space:nowrap}
.scorecard-row-head span{margin-left:auto;font-size:12.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.scorecard-bar{display:block;width:100%;height:6px;margin-top:5px;border-radius:4px;overflow:hidden}
.scorecard-bar-track{fill:#e4ecf2}
.scorecard-bar-awaiting{fill:#9db8cf}
.scorecard-bar-received{fill:var(--blue)}
.scorecard-empty{margin:0;padding:16px 24px 22px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
@media(max-width:760px){.scorecard-columns{grid-template-columns:1fr;gap:22px}.scorecard-figure strong{font-size:36px}}
/* Lab home (2026-09-19, Austin): Samples and Projects is the main screen for lab users who may open it; the other
   apps sit down the left in the launcher's groups and colors. These are new class names on purpose: nothing here
   reaches into the .pages-workspace launcher layers, which still serve everyone else.
   Group colors (Austin, same day): Samples is the blue group so the home reads as one piece with the navy bar and
   toggle; Tools takes green; Resources keeps purple. The launcher tokens above were swapped to match. */
/* The rail is a real sidebar at the window edge (Austin, 2026-09-19: no blank space on the left); the lists use
   the width. For these users the top bar runs edge to edge on every page, so its icons never jump. */
.lab-home-workspace{max-width:none;padding:28px 32px 70px 40px}
.topbar.wide-bar{padding-left:28px;padding-right:32px}
/* App rail everywhere (Austin, 2026-09-20): the shell puts the rail beside every page for these users, under one
   rule on every page. Docked open (.rail-open) when the person keeps it open and the window has room; otherwise
   icons (.rail-mini) that open over the page on hover or keyboard focus (the script sets .rail-expanded), so the
   page never shifts. While it is open over the page, the page behind dims and softens, so the overlap reads as a
   drawer on purpose and not as one panel colliding with another. */
.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);align-items:start;padding-left:28px}
.app-shell>.app-rail{margin-top:28px}
.app-shell>.workspace{min-width:0;width:100%}
@media(min-width:1021px){
 .app-shell.rail-mini{grid-template-columns:78px minmax(0,1fr)}
 .app-shell.rail-mini>.app-rail{width:78px;z-index:30;overflow-x:hidden;scrollbar-width:none;contain:layout paint style;transition:width .22s cubic-bezier(.2,.7,.2,1)}
 .app-shell.rail-mini>.app-rail::-webkit-scrollbar{display:none}
 .app-shell.rail-mini .rail-app,.app-shell.rail-mini .rail-pin{width:232px;max-width:none}
 .app-shell.rail-mini .rail-name{opacity:0;transition:opacity .14s ease}
 .app-shell.rail-mini .rail-group h2{padding-left:25px;color:transparent;transition:color .14s ease}
 .app-shell.rail-mini .rail-app[aria-current=page]{background:transparent}
 .app-shell.rail-mini::before{content:"";position:fixed;inset:0;z-index:29;background:linear-gradient(90deg,#00112659,#0011262e 45%,#00112614);opacity:0;pointer-events:none;transition:opacity .22s ease;will-change:opacity}
 .app-shell.rail-mini.rail-expanded::before{opacity:1}
 .app-shell.rail-mini.rail-expanded>.app-rail{width:254px;border-color:#c7d5e2;box-shadow:0 0 0 1px #ffffffcc inset,0 2px 4px #00193314,0 30px 70px -20px #00193380}
 .app-shell.rail-mini.rail-expanded .rail-name{opacity:1;transition:opacity .2s ease .08s}
 .app-shell.rail-mini.rail-expanded .rail-group h2{color:var(--section-ink);transition:color .2s ease .08s}
 .app-shell.rail-mini.rail-expanded .rail-app[aria-current=page]{background:var(--section-tint)}
}
.lab-home-main{min-width:0;max-width:1600px}
.lab-home-main .greeting-date{margin-bottom:8px}
.lab-home-main .greeting{margin-bottom:24px;font-size:clamp(30px,2.9vw,40px);letter-spacing:-.045em}

/* The rail: one quiet panel; the groups carry the color. */
.app-rail{position:sticky;top:22px;display:grid;gap:6px;max-height:calc(100svh - 44px);overflow-y:auto;padding:14px 10px 12px;border:1px solid #dbe4ec;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfcfe);box-shadow:0 1px 2px #0019330a,0 18px 40px -28px #00193355;scrollbar-width:thin}
.rail-group{--section-color:#7a8a9a;--section-tint:#eef2f6;--section-ink:#3d5063;display:grid;gap:2px}
.rail-group+.rail-group{margin-top:10px;padding-top:12px;border-top:1px solid #edf1f5}
.rail-group[data-group=lims]{--section-color:#3f78b5;--section-tint:#e3edf7;--section-ink:#1f4a78}
.rail-group[data-group=tools]{--section-color:#4f8a66;--section-tint:#e3f0e7;--section-ink:#1f5334}
.rail-group[data-group=resources]{--section-color:#8a6fb0;--section-tint:#ece6f5;--section-ink:#4d3a78}
.rail-group h2{display:flex;align-items:center;gap:9px;margin:0 0 6px;padding:0 10px;font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;line-height:1.2;color:var(--section-ink)}
.rail-group h2::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--section-color);box-shadow:0 0 0 3px var(--section-tint)}
.rail-app{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:50px;padding:7px 10px;border:0;border-radius:13px;background:transparent;color:#1a2b3d;font:inherit;font-size:14.5px;font-weight:600;letter-spacing:-.012em;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.rail-app .app-icon{width:36px;height:36px;margin:0;border-radius:11px;background:var(--section-tint);color:var(--section-ink);box-shadow:none;transition:background .18s ease,color .18s ease,transform .18s cubic-bezier(.2,.7,.2,1)}
.rail-app .app-icon svg{width:20px;height:20px;stroke-width:1.6}
.rail-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rail-app:hover{background:var(--section-tint);color:var(--section-ink)}
.rail-app:hover .app-icon{background:var(--section-color);color:#fff;transform:scale(1.04)}
.rail-app:active{transform:scale(.985)}
.rail-app:focus-visible{outline:2px solid var(--section-color);outline-offset:2px}
.rail-app[aria-current=page]{background:var(--section-tint);color:var(--section-ink)}
.rail-app[aria-current=page] .app-icon{background:var(--section-color);color:#fff;transform:none}
.rail-foot{margin-top:10px;padding-top:10px;border-top:1px solid #edf1f5}
.rail-pin{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:42px;padding:3px 10px;border:0;border-radius:13px;background:transparent;color:#64788b;font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}
.rail-pin-icon{display:grid;place-items:center;width:36px;height:30px}
.rail-pin-icon svg{width:18px;height:18px}
.rail-pin:hover{background:#eef2f6;color:var(--navy)}
.rail-pin:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

/* The Samples | Projects toggle: one prominent segmented control. The page is redrawn when data arrives, so the
   slide is a CSS animation that each draw resumes at the elapsed time (data-slide-at, 40 ms steps). The content
   security policy forbids inline styles, which is why the delay comes from these rules and not a style attribute. */
.view-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 26px}
.view-toggle{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(100%,480px);padding:5px;border-radius:18px;background:#e2e9f0;box-shadow:inset 0 1px 2px #00193314,inset 0 0 0 1px #0019330a}
/* Flat, no gradient or sheen, and the softer slate the rail and pickers already use rather
   than near-black navy, with a lighter shadow to match (Austin, 2026-09-20). */
.view-toggle::before{content:"";position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:14px;background:#31516d;box-shadow:0 4px 12px -6px #00193359}
.view-toggle[data-side="1"]::before{transform:translateX(100%)}
.view-toggle button{position:relative;z-index:1;min-height:52px;padding:10px 18px;border:0;border-radius:14px;background:transparent;color:#41566b;font:inherit;font-size:17px;font-weight:700;letter-spacing:-.015em;cursor:pointer;transition:color .16s ease}
.view-toggle button:hover{color:var(--navy)}
.view-toggle[data-side="0"] button:nth-child(1),.view-toggle[data-side="1"] button:nth-child(2){color:#fff;cursor:default}
@keyframes toggle-thumb-right{from{transform:translateX(0)}to{transform:translateX(100%)}}
@keyframes toggle-thumb-left{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes toggle-label-on{from{color:#41566b}to{color:#fff}}
@keyframes toggle-label-off{from{color:#fff}to{color:#41566b}}
.view-toggle[data-slide]{--slide-delay:0ms}.view-toggle[data-slide-at="1"]{--slide-delay:-40ms}.view-toggle[data-slide-at="2"]{--slide-delay:-80ms}.view-toggle[data-slide-at="3"]{--slide-delay:-120ms}.view-toggle[data-slide-at="4"]{--slide-delay:-160ms}.view-toggle[data-slide-at="5"]{--slide-delay:-200ms}.view-toggle[data-slide-at="6"]{--slide-delay:-240ms}.view-toggle[data-slide-at="7"]{--slide-delay:-280ms}
.view-toggle[data-slide="1"]::before{animation:toggle-thumb-right .32s cubic-bezier(.2,.7,.2,1) var(--slide-delay) backwards}
.view-toggle[data-slide="0"]::before{animation:toggle-thumb-left .32s cubic-bezier(.2,.7,.2,1) var(--slide-delay) backwards}
.view-toggle[data-slide="1"] button:nth-child(2),.view-toggle[data-slide="0"] button:nth-child(1){animation:toggle-label-on .32s ease var(--slide-delay) backwards}
.view-toggle[data-slide="1"] button:nth-child(1),.view-toggle[data-slide="0"] button:nth-child(2){animation:toggle-label-off .32s ease var(--slide-delay) backwards}
.view-toggle button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* On the home the samples search row spans the table, like the projects row beside it. */
.lab-home-main .identity-tools{max-width:none;grid-template-columns:minmax(240px,1fr) minmax(220px,300px) auto}
.lab-home-main .identity-tools input,.lab-home-main .identity-tools select,.lab-home-main .identity-tools .button{height:46px;box-sizing:border-box}
@media(max-width:700px){.lab-home-main .identity-tools{grid-template-columns:1fr}}
.lab-home-main .empty-first{display:block;padding:26px 8px;text-align:center;color:#55697c;font-size:14px;line-height:1.5}
.lab-home-main .empty-first strong{display:block;margin-bottom:2px;color:var(--navy);font-size:16px;font-weight:600;letter-spacing:-.01em}
/* Breathing room (Austin, 2026-09-22: "a bit zoomed in ... i don't want to feel tunnel visioned"). On desktop widths
   the home steps back about one browser zoom notch: smaller greeting, toggle, intake button, and search row, with
   more air around the page. Sized here rather than with CSS zoom, because the admin menu and the notices panel are
   placed from screen coordinates and zoom would knock them out of line. Phones keep the rules above. */
@media(min-width:1021px){
 .lab-home-workspace{padding:36px 48px 80px 52px}
 .lab-home-main .greeting-date{margin-bottom:6px;font-size:10.5px}
 .lab-home-main .greeting{margin-bottom:28px;font-size:clamp(26px,2.2vw,32px)}
 .view-toggle-row{margin-bottom:30px}
 .view-toggle{width:min(100%,380px);padding:4px;border-radius:15px}
 .view-toggle::before{top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:12px}
 .view-toggle button{min-height:40px;padding:7px 14px;border-radius:12px;font-size:15px}
 .view-toggle-row .intake-launch{min-height:44px;gap:10px;padding:5px 15px 5px 5px;border-radius:12px;font-size:13.5px}
 .view-toggle-row .intake-launch .app-icon{width:32px;height:32px;border-radius:9px}
 .view-toggle-row .intake-launch .app-icon svg{width:18px;height:18px}
 .lab-home-main .identity-tools{gap:14px}
 .lab-home-main .identity-tools label{font-size:12.5px}
 .lab-home-main #identity-search.identity-tools input,.lab-home-main #identity-search.identity-tools select,.lab-home-main #identity-search.identity-tools .button{height:40px;min-height:0;padding-top:0;padding-bottom:0;font-size:14px}
 /* The rail beside every page steps back with the home. Widths stay, so the collapse and hover drawer are untouched. */
 .rail-app{min-height:44px;gap:11px;font-size:13.5px}
 .rail-app .app-icon{width:32px;height:32px;border-radius:10px;justify-self:center}
 .rail-app .app-icon svg{width:18px;height:18px}
 .rail-group h2{font-size:10px}
 .lab-home-main .identity-table th{font-size:11px;padding-top:12px;padding-bottom:12px}
 .lab-home-main .identity-table td{font-size:13.5px}
 .lab-home-main .empty-first{padding:22px 8px;font-size:13px}
 .lab-home-main .empty-first strong{font-size:15px}
}

@media(max-width:1279px){.rail-foot{display:none}}
/* Narrow screens: the rail becomes one strip of buttons above the content, so the apps stay one tap away. */
@media(max-width:1020px){
 .lab-home-workspace{padding:24px 18px 50px}
 .topbar.wide-bar{padding-left:20px;padding-right:20px}
 .app-shell{display:block;padding-left:0}
 .app-shell>.app-rail{margin:16px 18px 0}
 .app-rail{position:static;max-height:none;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:8px;border-radius:16px;scrollbar-width:none}
 .app-rail::-webkit-scrollbar{display:none}
 .rail-group{display:flex;flex:0 0 auto;gap:4px}
 .rail-group+.rail-group{margin-top:0;padding:0 0 0 8px;border-top:0;border-left:1px solid #e3eaf1}
 .rail-group h2{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .rail-app{width:auto;min-height:44px;grid-template-columns:30px auto;gap:8px;padding:5px 13px 5px 6px}
 .rail-app .app-icon{width:30px;height:30px;border-radius:9px}
 .rail-app .app-icon svg{width:17px;height:17px}
 .rail-name{overflow:visible}
 .lab-home-main .empty-first{max-width:min(520px,calc(100vw - 72px));padding:20px 4px;text-align:left}
}
@media(max-width:520px){.view-toggle{width:100%}.view-toggle button{min-height:48px;font-size:15.5px;padding:10px 8px}}
@media(prefers-reduced-motion:reduce){.app-shell.rail-mini::before{transition:none!important;backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell.rail-mini>.app-rail,.app-shell.rail-mini .rail-name,.app-shell.rail-mini .rail-group h2{transition:none!important}.view-toggle::before,.view-toggle button{animation:none!important;transition:none}.rail-app,.rail-app .app-icon{transition:none}}
@media print{.app-rail,.view-toggle-row{display:none!important}.app-shell{display:block;padding-left:0}}

/* Sample facts as one aligned label/value grid (Austin, 2026-09-20). Two rows of inline pairs
   wrapped badly in a narrow card and left the right half of it empty; this reads straight down
   with the values lined up. display:contents lets every pair share the one grid. */
.sample-card-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:2px 16px;align-items:baseline;margin:7px 0 0}
.sample-card-facts>div{display:contents}
.sample-card-facts dt{font-size:11px;line-height:1.65;letter-spacing:.04em;color:#8494a3;white-space:nowrap}
.sample-card-facts dd{margin:0;font-size:12.5px;line-height:1.65;color:#2f4457;overflow-wrap:anywhere}
.sample-card-facts .sample-number-toggle{font:inherit}
.sample-card-facts .sample-number-toggle strong{font:500 12.5px/1.65 'Consolas',monospace;letter-spacing:.02em;color:#42576a}
@media(max-width:430px){.sample-card-facts{grid-template-columns:minmax(0,1fr);gap:0}.sample-card-facts dt{margin-top:5px}}

/* The sample type button's summary, labelled rather than a run of dot-separated values. */
/* Beats .sample-type-menu-control small, which sets display:block and would run the two together. */
.sample-type-menu-control .type-next-summary{display:flex;flex-wrap:wrap;gap:2px 18px}
.sample-type-menu-control .type-next-summary b{font-weight:600;color:#7a8a9a}

/* Complete sample: the card the sample is about to become, then one button that locks it in. */
.entry-preview-card{margin:2px 0 16px;padding:14px 16px;border:1px solid #d7e1e9;border-left:4px solid var(--yellow);border-radius:14px;background:#fcfdfe}
.entry-preview-card header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.entry-preview-card h4{margin:0;font-size:16px;font-weight:650;color:var(--ink);overflow-wrap:anywhere}
.entry-preview-pending{flex:0 0 auto;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#8a7433;background:#fdf6e0;border-radius:99px;padding:4px 10px}
.entry-preview-card .sample-card-facts{margin-top:9px}
.confirm-sample-button{display:inline-flex;align-items:center;gap:9px}
.confirm-sample-button svg{width:17px;height:17px;flex:0 0 auto}

/* Sample filtering (Austin, 2026-09-20): a Filters button between Show and Search, a panel of
   facets under the toolbar, and a chip per active filter. :has() adds the fourth toolbar column
   only on the view that has the button, so the other record views keep their three. */
.identity-tools:has(.identity-filter-button){grid-template-columns:minmax(240px,1fr) minmax(190px,250px) auto auto}
@media(max-width:700px){.identity-tools:has(.identity-filter-button){grid-template-columns:1fr}}
.identity-filter-field{display:grid}
.identity-filter-spacer{display:block;height:0}
.identity-filter-button{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.identity-filter-button svg{width:16px;height:16px;flex:0 0 auto}
.identity-filter-button.has-filters{border-color:var(--navy);background:#eff4f9;color:var(--navy);font-weight:650}
.identity-filter-count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--navy);color:#fff;font-size:11px;font-weight:700}

.identity-filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:12px 0 0}
.identity-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid #c6d5e1;border-radius:99px;background:#fff;color:var(--ink);font:inherit;font-size:12.5px;cursor:pointer}
.identity-chip:hover{border-color:#9fb1c1;background:#f4f8fb}
.identity-chip:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.identity-chip-label{color:#8494a3;font-size:11px;letter-spacing:.04em}
.identity-chip-x{color:#8494a3;font-size:15px;line-height:1}

.identity-filter-panel{margin-top:12px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fbfcfd}
.identity-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px}
.identity-filter-group{border:0;padding:0;margin:0;min-width:0}
.identity-filter-group legend{padding:0;margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7a8a9a}
.identity-filter-options{display:grid;gap:3px;max-height:190px;overflow:auto;overscroll-behavior:contain}
.identity-filter-options label{display:flex;align-items:center;gap:9px;padding:5px 7px;border-radius:7px;font-size:13px;cursor:pointer}
.identity-filter-options label:hover{background:#eef3f7}
.identity-filter-options label:has(:checked){background:#eff4f9;font-weight:600}
.identity-filter-options label:has(:focus-visible){outline:2px solid var(--gold);outline-offset:1px}
.identity-filter-options input{flex:0 0 auto;width:15px;height:15px;margin:0;accent-color:var(--navy)}
.identity-filter-options span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.identity-filter-options small{flex:0 0 auto;color:#8494a3;font-size:11.5px;font-variant-numeric:tabular-nums}
.identity-filter-dates{display:grid;gap:8px}
.identity-filter-dates label{display:grid;gap:4px;font-size:12px;color:#5d6f80}
.identity-filter-dates input{padding:8px 10px;border:1px solid #c6d5e1;border-radius:8px;background:#fff;font:inherit;font-size:13px;color:var(--ink)}
.identity-filter-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #e7edf2}

/* Loading screen is the Rock River spiral alone, no text (Austin, 2026-09-21) */
.loading-mark{width:68px;height:96px}

/* Checked samples on the lab home go to LabApps as a CSV (Austin, 2026-09-21) */
.identity-table th.sample-check-cell,.identity-table td.sample-check-cell{width:44px;min-width:0;padding-right:0;text-align:center}
.identity-table td.sample-check-cell+td{width:48%;min-width:230px}
.sample-check-cell input{width:18px;height:18px;margin:0;accent-color:var(--navy);cursor:pointer;vertical-align:middle}
.sample-selection-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 10px;padding:10px 14px;border:1px solid #c7d5e2;border-radius:10px;background:#eaf1f7;font-size:14px;color:var(--ink)}
.sample-selection-bar>span{margin-right:auto}
.sample-selection-bar strong{font-variant-numeric:tabular-nums}

/* International Leads (pipeline-ui.js), 2026-09-21. Estimates read as estimates: chance is a pill, value a range. */
.app-icon-pipeline{background:#e3ecef;color:#1f5462}
.pl-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 22px}
.pl-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--paper);text-align:left;color:var(--ink);font:inherit;min-width:0}
button.pl-kpi{cursor:pointer;transition:border-color .15s,background .15s}button.pl-kpi:hover{border-color:var(--gold);background:#fffdf8}
.pl-kpi strong{font-size:24px;font-weight:550;letter-spacing:-.02em;color:var(--navy);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pl-kpi span{font-size:12px;font-weight:600;color:#263a50}.pl-kpi small{font-size:11px;color:var(--muted);line-height:1.45}
.pl-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}
.pl-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.pl-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:650;color:#263a50}
.pl-filters input[type=search],.pl-filters select{min-height:38px;padding:7px 10px;border:1px solid var(--control-border);border-radius:var(--control-radius);background:#fff;color:var(--ink);font-size:13px}
.pl-filters .pl-search input{width:240px}.pl-filters .pl-attn{flex-direction:row;align-items:center;min-height:38px;font-weight:500}
.pl-showing{margin:-6px 0 12px}
.pl-regions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.pl-region{display:flex;flex-direction:column;align-items:flex-start;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;color:var(--ink);cursor:pointer}
.pl-region strong{font-size:12px;font-weight:600}.pl-region span{font-size:11px;color:var(--muted)}
.pl-region:hover,.pl-region.on{border-color:var(--gold);background:#fffaf0}
.pl-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(232px,1fr);gap:12px;overflow-x:auto;padding:2px 2px 14px;overscroll-behavior-x:contain}
.pl-column{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border-radius:var(--panel-radius);background:#e9eef3}
.pl-column.empty{background:#f0f3f6}.pl-column.empty header p{display:none}
.pl-column header h3{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#324f66}
.pl-column header h3 span{font-size:11px;letter-spacing:0;padding:2px 8px;border-radius:20px;background:#fff;color:#324f66}
.pl-column header p{font-size:11px;line-height:1.45;color:var(--muted);margin-top:4px}.pl-column header small{display:block;font-size:11px;color:#4a6378;margin-top:4px;font-variant-numeric:tabular-nums}
.pl-card{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding:13px 14px;border:1px solid #d9e1e8;border-left:3px solid var(--gold);border-radius:10px;background:#fff;text-align:left;font:inherit;color:var(--ink);cursor:pointer;box-shadow:0 1px 2px #0019330a;transition:border-color .15s,box-shadow .15s}
.pl-card:hover{border-color:#c9b27a;box-shadow:0 4px 12px #00193314}.pl-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.pl-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.pl-card-top strong{font-size:14px;font-weight:600;line-height:1.3;color:var(--navy)}
.pl-card small{font-size:11px;color:var(--muted)}
.pl-value{font-size:13px;font-weight:600;color:#27624b;font-variant-numeric:tabular-nums}.pl-value em{font-style:normal;font-weight:400;color:var(--muted);margin-left:2px;font-size:11px}
.pl-next{display:block;font-size:12px;line-height:1.45;color:#34495e;border-top:1px solid #eef1f4;padding-top:6px}.pl-next time{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.pl-late{color:var(--red)!important;font-weight:600}
.pl-chance{display:inline-block;flex:0 0 auto;min-width:40px;padding:3px 8px;border-radius:20px;text-align:center;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}
.pl-chance.high{background:#e2f0e8;color:#1f5a40}.pl-chance.mid{background:#fbf1d8;color:#7a5a12}.pl-chance.low{background:#f6e5e2;color:#86372d}.pl-chance.none{background:#eef1f4;color:#7a8791}
.pl-flags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.pl-detail>.pl-flags{margin:0 0 18px}
.pl-flag{font-size:10.5px;line-height:1.3;padding:2px 7px;border-radius:5px;background:#eef1f4;color:#5b6b7a}.pl-flag.act{background:#fbe9e1;color:#8a3b22}
.pl-table-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:10px}.pl-table-tools label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.pl-table-tools select{min-height:34px;padding:5px 9px;border:1px solid var(--control-border);border-radius:var(--control-radius);font-size:12px}
.pl-table td.pl-name{min-width:220px}.pl-table td small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.pl-table td{vertical-align:top}.pl-table td:nth-child(5){min-width:220px;max-width:340px;font-size:12px;line-height:1.5}
.pl-link{padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--blue);text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#00447d44;text-underline-offset:3px}.pl-link:hover{text-decoration-color:currentColor}
.pl-range{display:block;width:120px;height:12px;margin-top:6px}.pl-range .track{stroke:#dfe5eb;stroke-width:2}.pl-range .span{fill:#bcd8c9}.pl-range .weighted{fill:#27624b}
.pl-stage{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;background:#e3eef8;color:#295978}
.pl-stage.s-contracting,.pl-stage.s-onboarding{background:#f5edd9;color:#785d1e}.pl-stage.s-live{background:#e2f0e8;color:#1f5a40}.pl-stage.s-paused{background:#eef1f4;color:#5b6b7a}.pl-stage.s-closed{background:#f3e7e5;color:#7d3d33}
.pl-agenda-group{margin-bottom:22px}.pl-agenda-group h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#56697f;margin-bottom:8px}
.pl-agenda{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--panel-radius);background:#fff;overflow:hidden}
.pl-agenda li{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:14px 18px}.pl-agenda li+li{border-top:1px solid var(--line)}
.pl-agenda time{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;background:#f1f5f9;padding:6px 0;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);height:max-content}
.pl-agenda time strong{font-size:20px;letter-spacing:0;color:var(--navy);font-weight:550}
.pl-agenda p{font-size:13px;line-height:1.5;margin:3px 0 4px}.pl-agenda small{margin-left:8px;font-size:11px;color:var(--muted)}
.pl-agenda-kind{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#295978}.pl-agenda-kind.due{color:#80601b}
.pl-closed{list-style:none;padding:0;margin:0;display:grid;gap:10px}.pl-closed li{padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}.pl-closed .pl-stage{margin-left:10px}.pl-closed small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.pl-closed p{font-size:13px;line-height:1.55;margin-top:6px;color:#34495e}
.pl-empty{padding:26px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed #cfd8e0;border-radius:var(--panel-radius)}
.pl-footnote{margin-top:22px;font-size:11px;line-height:1.6;color:var(--muted);max-width:820px}
.pl-import{cursor:pointer}
.pl-detail{max-width:1180px}.pl-back{margin-bottom:10px}
.pl-detail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.pl-detail-head h1{font-size:30px;font-weight:550;letter-spacing:-.6px;margin-top:6px;color:var(--ink)}
.pl-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pl-tags span{font-size:11px;padding:3px 9px;border-radius:20px;background:#eef2f6;color:#3e5670}.pl-tags span.warn{background:#fbf1d8;color:#7a5a12}
.pl-steps{display:flex;list-style:none;margin:0 0 20px;padding:0;overflow-x:auto}
.pl-steps li{flex:1 0 92px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;color:#8391a0;text-align:center;position:relative}
.pl-steps li span{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #cfd8e0;position:relative;z-index:1}
.pl-steps li:not(:first-child)::before{content:"";position:absolute;top:7px;right:50%;width:100%;height:2px;background:#dbe2e8}
.pl-steps li.done span{background:#27624b;border-color:#27624b}.pl-steps li.done,.pl-steps li.current{color:var(--ink)}.pl-steps li.done::before,.pl-steps li.current::before{background:#27624b}
.pl-steps li.current span{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px #c49a2e33}.pl-steps li.current{font-weight:650}
.pl-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--line);overflow:hidden}
.pl-stats>div{padding:14px 18px;background:#fff;min-width:0}.pl-stats span{display:block;font-size:11px;font-weight:600;color:var(--muted)}.pl-stats strong{display:block;font-size:22px;font-weight:550;color:var(--navy);margin:4px 0 3px;font-variant-numeric:tabular-nums}.pl-stats small{display:block;font-size:11px;line-height:1.45;color:var(--muted)}
.pl-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:18px;align-items:start}
.pl-block{padding:18px 20px;border:1px solid var(--line);border-radius:var(--panel-radius);background:#fff;margin-bottom:14px}
.pl-block h2{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#56697f;margin-bottom:10px}
.pl-block p{font-size:13.5px;line-height:1.6}.pl-block ul{margin:0;padding-left:18px;font-size:13px;line-height:1.6}
.pl-nextstep{border-left:3px solid var(--gold)}
.pl-dates,.pl-people,.pl-docs{list-style:none;padding:0!important}.pl-dates li{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:6px 0}.pl-dates li+li,.pl-people li+li,.pl-docs li+li{border-top:1px solid #eef1f4}.pl-dates time{font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums}.pl-dates li.past{color:var(--muted)}.pl-dates li.past time{color:var(--muted);font-weight:400}
.pl-people li,.pl-docs li{display:flex;flex-direction:column;padding:7px 0}.pl-people small{font-size:11.5px;color:var(--muted)}.pl-people a{font-size:12px;overflow-wrap:anywhere}.pl-docs code{font-size:11px;color:#4a6378;overflow-wrap:anywhere;white-space:normal}.pl-docs a{font-size:12px;overflow-wrap:anywhere}
.pl-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:13px}.pl-facts dt{color:var(--muted);font-size:12px}.pl-facts dd{margin:0;line-height:1.5}
.pl-block p.pl-updated{font-size:11px}
.pl-log{padding:14px;border:1px solid #e3e8ed;border-radius:10px;background:#f8fafb;margin-bottom:16px}.pl-log h3{font-size:13px;font-weight:650;margin-bottom:10px}
.pl-log-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:12px}.pl-log-grid .wide{grid-column:1/-1}
.pl-log label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:650;color:#263a50}.pl-log input,.pl-log select,.pl-log textarea{padding:8px 10px;border:1px solid var(--control-border);border-radius:var(--control-radius);background:#fff;font-size:13px;color:var(--ink)}.pl-log textarea{resize:vertical;line-height:1.5}
.pl-history{list-style:none;margin:0;padding:0}.pl-history li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 0}.pl-history li+li{border-top:1px solid #eef1f4}
.pl-history-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eef2f6;color:#3e5670;font-size:12px}
.pl-history li.k-decision .pl-history-icon,.pl-history li.k-estimate .pl-history-icon{background:#fbf1d8;color:#7a5a12}.pl-history li.k-stage .pl-history-icon{background:#e2f0e8;color:#1f5a40}
.pl-block .pl-history-meta{font-size:11.5px;color:var(--muted)}.pl-history-meta strong{color:#263a50}.pl-block .pl-history-subject{font-weight:600;font-size:13px;margin-top:2px}.pl-history p+p{margin-top:3px}.pl-history small{display:block;font-size:10.5px;color:#98a4af;margin-top:4px}
@media(max-width:1100px){.pl-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.pl-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.pl-kpis{grid-template-columns:1fr 1fr}.pl-kpi:last-child{grid-column:1/-1}.pl-stats{grid-template-columns:1fr 1fr}.pl-filters,.pl-toolbar{align-items:stretch}.pl-filters .pl-search,.pl-filters .pl-search input{width:100%}.pl-filters label{flex:1 1 140px}.pl-detail-head{flex-direction:column;align-items:flex-start}.pl-log-grid{grid-template-columns:1fr}.pl-board{grid-auto-columns:minmax(78vw,1fr)}.pl-agenda li{grid-template-columns:52px 1fr;padding:12px}}
@media(prefers-reduced-motion:reduce){.pl-card,.pl-kpi{transition:none}}
.pl-agenda p.pl-agenda-step{font-size:12px;color:#5b6b7a;margin-top:0}
.project-list-actions .project-manage-action{flex:none;white-space:nowrap}
/* Smooth drawer (Austin, 2026-09-22: 'the expanding doesn't feel smooth'). The full-screen backdrop blur repainted the whole
   page every frame (worst over iframes and media) and the 70px shadow was transitioned; now the page behind only dims
   (opacity, composited), the rail's layout and paint are contained, and its shadow changes without animating. */
/* Rail palette B, "slate and blue" (Austin, 2026-09-22: the pastels were not doing it). Every group shares one cool
   slate; the current app alone takes the brand blue. Launcher tiles elsewhere keep their colors. */
.rail-group[data-group]{--section-color:#7a8a9a;--section-tint:#eef2f6;--section-ink:#1f3a57}
.rail-app[aria-current=page],.app-shell.rail-mini.rail-expanded .rail-app[aria-current=page]{background:#eaf1f7;color:#00447d}
.rail-app[aria-current=page] .app-icon{background:#00447d;color:#fff}
/* Sample Intake beside the home toggle (Austin, 2026-09-22): the app's own icon and name, at the far right. */
.view-toggle-extras{display:flex;align-items:center;gap:12px;margin-left:auto}
.intake-launch{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:8px 18px 8px 8px;border:1px solid #d6dee7;border-radius:14px;background:#fff;color:#1a2b3d;font:inherit;font-size:14.5px;font-weight:600;letter-spacing:-.012em;cursor:pointer;box-shadow:0 1px 2px #0019330a;transition:border-color .15s,box-shadow .15s}
.intake-launch .app-icon{width:36px;height:36px;margin:0;border-radius:11px;background:#eef2f6;color:#1f3a57;box-shadow:none}
.intake-launch .app-icon svg{width:20px;height:20px;stroke-width:1.6}
.intake-launch:hover{border-color:#00447d55;box-shadow:0 4px 12px #0019331a}.intake-launch:hover .app-icon{background:#00447d;color:#fff}
.intake-launch:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* Yellow group dots on the rail (Austin, 2026-09-22: "a little color"). */
.rail-group h2::before{background:#f4d03f;box-shadow:0 0 0 3px #f4d03f3d}

/* Rail group dots, option B (Austin, 2026-09-22): navy with a gold ring, a tiny medal in the logo's colors. */
.rail-group h2::before{width:7px;height:7px;background:#00447d;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #c49a2e}
/* The envelope carries the unread count now that the bell is gone. */
.account [data-action="message"]{position:relative}

/* The way in, made hard to miss (Austin, 2026-09-22): a pulsing arrow beside the customer's enroll and
   New sample buttons, pointing back at the button. It is decoration, so screen readers skip it, and it
   holds still for anyone who asked for less motion. */
.pulse-cta{display:inline-flex;align-items:center;gap:10px}
.pulse-arrow{font-size:26px;line-height:1;color:var(--gold);animation:cta-nudge 1.4s ease-in-out infinite}
@keyframes cta-nudge{0%,100%{transform:translateX(0);opacity:.85}50%{transform:translateX(-7px);opacity:1}}
.pulse-cta:hover .pulse-arrow,.pulse-cta:focus-within .pulse-arrow{animation:none}
@media(prefers-reduced-motion:reduce){.pulse-arrow{animation:none}}

/* Required checkboxes say so in red: the enrollment agreement and the packing confirmation (Austin, 2026-09-22). */
.program-agreement .required-mark,.submission-check .required-mark{color:var(--red);font-weight:800;margin-left:5px}
/* Quality program (2026-09-24): overview cards, pillar path, tasks, and lab feedback. */
.qp-tabs{flex-wrap:wrap}.qp-lede{max-width:760px;color:#4c6273;line-height:1.6;margin:0 0 22px}
.qp-callout{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;background:#fbf4de;border-left:3px solid var(--gold);border-radius:10px;margin:0 0 22px;color:#5d4814}
.qp-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 26px}
.qp-card{display:flex;flex-direction:column;gap:8px;text-align:left;background:#fff;border:1px solid #d4dfe7;border-radius:18px;padding:20px;color:var(--ink);box-shadow:0 8px 24px #172c3b08}.qp-card:hover{border-color:var(--gold)}
.qp-card-number{font-size:30px;font-weight:700;color:var(--navy);line-height:1}.qp-card-state{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8a6a1c}.qp-card strong{font-size:17px}.qp-card small{color:#5f7485;line-height:1.5;font-size:13px}.qp-card-foot{margin-top:auto;padding-top:8px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.qp-pillar-head{margin:0 0 18px}.qp-pillar-head h2{font-size:30px;margin:6px 0}.qp-pillar-head p:not(.eyebrow){color:#4c6273;max-width:780px;line-height:1.6}
.qp-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 14px}.qp-path article{background:#fff;border:1px solid #d4dfe7;border-radius:16px;padding:18px}.qp-path span{font-size:12px;letter-spacing:.14em;color:#927226}.qp-path h3{font-size:15px;margin:6px 0 8px}.qp-path p{font-size:14px;line-height:1.55;color:#4c6273}
.qp-sources{margin:0 0 22px}.qp-sources summary{cursor:pointer;font-weight:600;padding:8px 0}.qp-sources summary span{font-weight:400;color:var(--muted);margin-left:8px}.qp-sources ul{margin:6px 0 0;padding-left:20px;color:#4c6273;line-height:1.7}
.qp-block{background:#fff;border:1px solid #d4dfe7;border-radius:18px;padding:20px 22px;margin:0 0 22px}.qp-block>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.qp-block h3{font-size:18px}
.qp-tasks{list-style:none;margin:0;padding:0;display:grid;gap:8px}.qp-task-open{width:100%;display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:14px;align-items:start;text-align:left;background:#f7f9fb;border:1px solid #e1e8ed;border-radius:12px;padding:12px 14px;color:var(--ink)}.qp-task-open:hover{border-color:#b9c7d2}
.qp-status{font-size:12px;font-weight:700;padding:4px 8px;border-radius:20px;background:#e6ecf1;color:#40576a;text-align:center}.is-doing .qp-status{background:#dfe9f5;color:var(--blue)}.is-blocked .qp-status{background:#f8e3e1;color:var(--red)}.is-done .qp-status{background:#e0efe8;color:var(--green)}.is-done .qp-task-main strong{text-decoration:line-through;color:var(--muted)}
.qp-task-main{display:flex;flex-direction:column;gap:4px;min-width:0}.qp-task-main small{color:#5f7485;line-height:1.5}.qp-task-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;color:var(--muted);white-space:nowrap}.qp-task-meta em{font-style:normal}.qp-task-meta .late{color:var(--red);font-weight:700}
.qp-empty,.qp-hint{color:var(--muted);font-size:14px;margin:0 0 10px}.qp-field textarea{width:100%;border:1px solid var(--control-border);border-radius:var(--control-radius);padding:10px 12px;margin:0 0 10px;resize:vertical}
.qp-notes{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}.qp-notes li{border-left:3px solid var(--gold);padding:6px 12px;background:#fbfaf6;border-radius:0 8px 8px 0}.qp-notes p{white-space:pre-wrap;line-height:1.5}.qp-notes small{color:var(--muted)}
.qp-tool{margin:0 0 22px}.qp-tool-title{font-size:18px;margin:0 0 10px}.qp-coming{padding:26px;border:1px dashed #afbfcc;border-radius:18px;background:#f7f9fb;margin:0 0 22px}.qp-coming p{color:#4c6273;margin-top:6px}
.qp-terms dl{margin:0;display:grid;grid-template-columns:260px minmax(0,1fr);gap:10px 18px}.qp-terms dt{font-weight:700}.qp-terms dd{margin:0;color:#4c6273;line-height:1.55}
@media(max-width:1000px){.qp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.qp-cards,.qp-path{grid-template-columns:1fr}.qp-task-open{grid-template-columns:1fr}.qp-task-meta{align-items:flex-start}.qp-status{justify-self:start}.qp-terms dl{grid-template-columns:1fr}.qp-callout{flex-direction:column;align-items:stretch}.qp-block{padding:16px}}
.sample-type-answer .matrix-note{display:block;margin-top:4px;font-size:13px;color:#7a5c12}
.program-enrollment .enrollment-lede{margin:-4px 0 18px;color:var(--muted);font-size:15px}.program-enrollment .enrollment-hint{margin:-6px 0 16px;padding:8px 12px;border-left:3px solid var(--gold);background:#fbf7ea;color:#5d4814;font-size:14px;border-radius:0 8px 8px 0}
/* Austin, 2026-09-24: project descriptions show in full here; a cut-off sentence looked broken. */
.submission-project-choices .submission-project-choice small{display:block;-webkit-line-clamp:unset;overflow:visible}
/* Results grouped like the menu (2026-09-24): a family name, then its results. */
.analyte-families{display:grid;gap:10px;margin-top:12px}.analyte-family{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;align-items:start}.analyte-family>span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4d7a63;padding-top:6px}.analyte-family ul{margin:0}
@media(max-width:600px){.analyte-family{grid-template-columns:1fr;gap:4px}.analyte-family>span{padding-top:0}}
/* Austin, 2026-09-24: added samples read as a growing list, quieter than the step in progress. */
.sample-confirm-row{justify-content:flex-end}
.submission-samples{padding-top:18px;padding-bottom:12px}.submission-samples h2{font-size:15px;font-weight:650;color:var(--muted);margin-bottom:6px}.submission-samples .submission-row{padding:8px 0}.submission-samples .submission-row strong{font-size:14px}.submission-samples .submission-row span,.submission-samples .submission-row small,.submission-samples .submission-row p{font-size:12.5px}.submission-samples .sample-index{width:28px;height:28px;font-size:12px}.submission-samples .sample-row-icon{min-width:34px;min-height:34px;padding:6px}
/* Labels step (Austin, 2026-09-24): one big either-or, then the official list of sample numbers. */
.label-choice{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:18px;margin:6px 0 24px}
.label-way{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:#fff;border:2px solid var(--navy);border-radius:20px;padding:28px}
.label-way-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--yellow);color:var(--navy)}.label-way-icon svg{width:36px;height:36px}
.label-way h3{font-size:26px;margin:4px 0 0}.label-way p{color:#4c6273;font-size:16px;line-height:1.5;margin:0}.label-way .button{margin-top:auto}
.label-or{align-self:center;font-weight:800;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.label-numbers ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:0}
.label-numbers li{display:grid;grid-template-columns:minmax(150px,auto) minmax(0,1fr);gap:20px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}
.label-numbers li:first-child{border-top:0}
.label-number{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;font-size:24px;font-weight:700;color:var(--navy);letter-spacing:.02em}
.label-detail{display:flex;flex-direction:column;gap:3px}.label-detail strong{font-size:16px}.label-detail span{color:var(--muted);font-size:14px}.label-detail .packing-amount{font-style:normal;font-weight:650;font-size:14px;color:var(--ink)}
@media(max-width:700px){.label-choice{grid-template-columns:1fr}.label-or{justify-self:center}.label-way{padding:20px}.label-way h3{font-size:22px}.label-numbers li{grid-template-columns:1fr;gap:4px}}
.completion-sample dl>div{grid-template-columns:96px 1fr}
.program-target-row .program-target-note{grid-column:1/-1}

/* The submission journey: quiet progress, one clear task, then the physical handoff. */
#submission-page .submission-steps{display:block;border:0;padding:12px 0 18px;margin-bottom:8px}
.submission-steps ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;max-width:680px;margin:0 auto;padding:0}
.submission-steps li{position:relative;display:grid;justify-items:center;gap:7px;color:#637889;font-size:13px;min-width:0}
.submission-steps li:not(:last-child)::after{content:"";position:absolute;left:calc(50% + 27px);right:calc(-50% + 27px);top:20px;height:1px;background:#cbd7e0}
.submission-steps li.is-complete::after{background:#68879e}
.submission-progress-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d1dce5;border-radius:50%;background:#f1f5f8;color:#60778a}
.submission-steps .is-complete .submission-progress-icon{background:#e8f0f5;border-color:#c3d5e2;color:var(--navy)}
.submission-steps .is-current{color:var(--navy);font-weight:750}
.submission-steps .is-current .submission-progress-icon{background:var(--yellow);border-color:#dec04c;box-shadow:0 0 0 5px #f4d03f15;color:var(--navy)}
#submission-page>.note{font-size:12px;color:#5f7488;line-height:1.55;text-align:center;max-width:780px;margin:0 auto 20px}
.submission-draft-note{max-width:780px;margin:0 auto 20px;color:#5f7488;font-size:12px;line-height:1.55;text-align:center}
.submission-draft-note summary{cursor:pointer;list-style:none;display:inline-flex;gap:12px;align-items:center;min-height:30px}
.submission-draft-note summary::-webkit-details-marker{display:none}
.submission-draft-note summary span{font-size:11px;text-decoration:underline;text-underline-offset:3px}
.submission-draft-note p{padding:10px 16px;margin:4px 0 0;border:1px solid #d7e1e9;border-radius:9px;background:#f6f9fb}
.submission-content.is-entering{animation:submission-arrive .28s ease-out both}
@keyframes submission-arrive{from{opacity:.45;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.submission-page .button,.submission-page .lab-option,.submission-page summary{transition:background-color .16s,border-color .16s,box-shadow .16s}
.submission-page :is(button,summary,input,select,textarea):focus-visible{outline:3px solid #bd962d;outline-offset:3px}
.label-guide{margin:8px 0 28px}
.label-guide-intro{text-align:center;max-width:650px;margin:4px auto 26px}
.label-guide-kicker{font-size:11px;font-weight:800;letter-spacing:.13em;color:#617689}
.label-guide-intro h3{font-size:clamp(23px,3vw,30px);line-height:1.2;margin:10px 0;color:var(--navy);letter-spacing:-.025em}
.label-guide-intro p{font-size:15px;line-height:1.6;color:#536a7d;margin:0}
.label-guide .label-choice{gap:16px;margin-bottom:14px}
.label-guide .label-way{min-width:0;padding:24px;gap:16px;border:1px solid #cbd8e2;border-radius:18px;background:linear-gradient(180deg,#fff 55%,#f7fafc);box-shadow:0 3px 12px #17334d05}
.label-way-heading{display:flex;align-items:center;gap:12px}
.label-method-number{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:#eaf0f5;color:var(--navy);font-weight:750}
.label-guide .label-way h3{font-size:22px;line-height:1.25;margin:0}
.label-guide .label-way-heading p{font-size:13px;margin-top:3px;color:#647a8d}
.label-guide .label-way>p{font-size:14px;line-height:1.6}
.label-method-note{font-size:12px;color:#62798b;line-height:1.5}
.label-guide .label-way .button{align-self:stretch;justify-content:center;min-height:44px}
.label-preview-toggle{font-size:12px;align-self:center;color:#345974;text-decoration:underline;text-underline-offset:3px;min-height:30px}
.label-guide .label-or{font-size:12px;letter-spacing:.08em}
.label-demo-bag{position:relative;isolation:isolate;display:grid;align-items:center;width:100%;max-width:340px;min-height:184px;margin:4px auto 0;border:1px solid #aec0ca;border-radius:9px 9px 25px 25px;background:linear-gradient(112deg,#ffffffcf,#e9f0f36b 48%,#ffffffbd);box-shadow:inset 5px 0 8px #ffffff,0 9px 14px -13px #17334d80;overflow:hidden}
.label-demo-seal{position:absolute;top:12px;left:0;right:0;height:7px;border-block:2px solid #8aabb8;background:#e3edf2}
.label-demo-fill{position:absolute;bottom:0;left:0;right:0;height:44%;background:radial-gradient(ellipse at 28% 30%,#d7cb9c 0,transparent 66%),linear-gradient(170deg,#c7ba8990,#b0a77795);border-radius:48% 48% 0 0;z-index:-1}
.label-demo-content{display:flex;align-items:center;gap:12px;margin:36px 20px 25px;min-width:0;z-index:1}
.label-demo-content>div{min-width:0;flex:1}
.label-demo-caption{display:block;font-size:9px;color:#4b6172;letter-spacing:.08em;margin-bottom:7px}
.label-demo-content strong{display:block;font-family:ui-monospace,Consolas,monospace;font-size:clamp(18px,2.3vw,25px);font-weight:800;letter-spacing:-.025em;color:#15334d;overflow-wrap:anywhere;line-height:1.3}
.label-demo-bag:not(.is-printed) .label-demo-content strong{font-style:italic;transform:rotate(-3deg);transform-origin:left center}
.label-demo-name{display:block;font-size:11px;color:#29475c;margin-top:9px;overflow-wrap:anywhere}
.is-printed .label-demo-content{padding:12px;background:#fff;border:1px solid #c3ced5;border-radius:4px;box-shadow:0 2px 4px #17334d0a}
.is-printed .label-demo-content strong{font-size:clamp(15px,1.8vw,20px)}
.label-demo-content .label-demo-qr{flex:0 0 66px;width:66px;height:66px}
.label-demo-qr .label-qr{display:block;float:none;width:66px;height:66px;margin:0}
.label-guide-footnote{font-size:12px;color:#617689;text-align:center;line-height:1.6;margin:0}
.label-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.label-numbers .label-list-heading h3{font-size:18px;margin:0 0 5px}
.label-list-heading p{font-size:13px;color:#617689;margin:0}
.label-count{padding:7px 10px;border:1px solid #d4dfe7;background:#f2f6f9;border-radius:8px;font-size:12px;color:#35536b}
.label-numbers li{grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);padding:18px 0;align-items:center}
.label-number-pair{min-width:0;padding:12px 15px;border-left:3px solid var(--gold);background:#f0f5f8;border-radius:0 9px 9px 0}
.label-number-caption{display:block;font-size:10px;font-weight:650;letter-spacing:.07em;color:#576f83;margin-bottom:4px}
.label-number-pair .label-number{display:block;font-size:22px;user-select:all;overflow-wrap:anywhere}
.label-detail{min-width:0;overflow-wrap:anywhere}
.label-grid:not([hidden]){animation:submission-arrive .22s ease-out}
.submission-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6}
.submission-check input{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0}
.completion-hero .completion-lead{max-width:620px;margin:16px auto 22px;line-height:1.6}
.completion-manifest{margin-top:8px}
@media(max-width:700px){.label-guide .label-choice{grid-template-columns:1fr;gap:12px}.label-guide .label-way{padding:20px}.label-guide .label-or{justify-self:center}.label-numbers li{grid-template-columns:1fr;gap:12px}.label-number-pair .label-number{font-size:23px}.label-demo-bag{max-width:360px}.label-demo-content strong{font-size:24px}.is-printed .label-demo-content strong{font-size:20px}.label-guide-intro{margin-bottom:20px}.label-guide-intro p{font-size:14px}}
@media(max-width:480px){.submission-steps li{font-size:12px}.submission-steps li:not(:last-child)::after{left:calc(50% + 23px);right:calc(-50% + 23px)}.submission-footer .button{min-width:0;flex:1 1 140px;justify-content:center;font-size:13px}.submission-footer{gap:10px}.submission-check{padding:16px}.label-demo-content{margin-inline:12px}.label-demo-content .label-demo-qr,.label-demo-qr .label-qr{width:56px;height:56px}.label-demo-content .label-demo-qr{flex-basis:56px}.completion-sample{gap:10px;padding:16px}}
@media(prefers-reduced-motion:reduce){.submission-content.is-entering,.label-grid:not([hidden]){animation:none}.submission-page .button,.submission-page .lab-option,.submission-page summary{transition:none}}
@media(max-width:480px){.completion-sample{display:grid;grid-template-columns:24px minmax(0,1fr) 64px;column-gap:10px;row-gap:4px}.completion-sample-index{grid-column:1;grid-row:1/3;width:24px;height:24px}.completion-sample>.completion-qr{grid-column:3;grid-row:1/3;width:64px;height:64px}.completion-sample>div:last-child{display:contents}.completion-sample .completion-kicker{grid-column:2;grid-row:1;align-self:end}.completion-sample .completion-sample-number{grid-column:2;grid-row:2;margin:2px 0 0;font-size:17px;overflow-wrap:anywhere}.completion-sample dl{grid-column:1/-1;grid-row:3;padding-top:14px;margin-top:8px;border-top:1px solid #e0e7ed}.completion-sample dl>div{grid-template-columns:86px minmax(0,1fr);gap:12px}}

/* Customer workspace and enrollment use the same progress and recovery cues. */
.customer-workspace-content.workspace-entering{animation:submission-arrive .22s ease-out both}
.customer-workspace :is(button,summary,input,select),.program-dialog :is(button,summary,input,select),#editor :is(button,input,select,textarea):focus-visible{outline-offset:3px}
.customer-empty-state{padding:30px 24px;border:1px dashed #cbd8e2;border-radius:14px;background:#f8fafc;text-align:center;margin:16px 0;color:#536a7d}
.customer-empty-state h3{font-size:18px;color:var(--navy);margin:0 0 8px}
.customer-empty-state p{font-size:14px;line-height:1.6;max-width:520px;margin:0 auto 16px}
.customer-empty-state p:last-child{margin-bottom:0}
.program-dialog-body .enrollment-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border-bottom:1px solid #d9e2e9;padding-bottom:18px}
.program-dialog-body .enrollment-progress li{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;text-align:center;line-height:1.35;color:#62788b}
.program-dialog-body .enrollment-progress li>span{width:34px;height:34px;border:1px solid #d1dce5;background:#f1f5f8;color:#60778a;font-weight:650}
.program-dialog-body .enrollment-progress li.is-complete>span{background:#e8f0f5;color:var(--navy);border-color:#c3d5e2}
.program-dialog-body .enrollment-progress [aria-current=step]{color:var(--navy);font-weight:750}
.program-dialog-body .enrollment-progress [aria-current=step]>span{background:var(--yellow);border-color:#dec04c;color:var(--navy);box-shadow:0 0 0 4px #f4d03f15}
.program-dialog-body .program-enrollment>.actions{gap:10px;align-items:center}
.program-dialog-body .program-enrollment>.actions [data-program-action=previous]{order:0}
.program-dialog-body .program-enrollment>.actions [data-program-action=pause]{order:1}
.program-dialog-body .program-enrollment>.actions :is([data-program-action=next],[data-program-action=save]){order:2;margin-left:auto;min-width:130px}
.program-dialog-body :is(button,input,select,textarea):focus-visible,.customer-workspace :is(button,summary,input,select):focus-visible{outline:3px solid #bd962d;outline-offset:3px}
@media(max-width:480px){.program-dialog-body .enrollment-progress{gap:6px}.program-dialog-body .enrollment-progress li{font-size:11px}.program-dialog-body .program-enrollment>.actions{flex-wrap:wrap}.program-dialog-body .program-enrollment>.actions .button{min-height:42px;font-size:13px}.customer-empty-state{padding:24px 16px}.sample-bulk-selection{gap:8px;flex-wrap:wrap}.sample-bulk-selection .button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.customer-workspace-content.workspace-entering{animation:none}}
.live-part{max-width:1060px;margin:0 auto 44px}.live-part+.live-part{border-top:1px solid #dce3ea;padding-top:28px}.live-heading{font-size:22px;font-weight:600;color:var(--navy);margin:0 0 6px}.live-part .roadmap-intro,.live-part .sites-directory,.live-part .roadmap-list{max-width:none}
.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.site-tile{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 34px 14px 16px;background:white;border:1px solid #dce3ea;border-radius:12px;color:var(--navy);text-decoration:none}.site-tile:hover{border-color:var(--gold);background:#fffdf8}
.site-tile strong{font-size:14px;font-weight:600}.site-tile small{font-size:12px;line-height:1.45;color:#5d6d80}.tile-arrow{position:absolute;top:12px;right:14px;color:var(--gold)}
.roadmap-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 22px}.roadmap-stats div{background:var(--navy);color:white;border-radius:12px;padding:14px 18px}.roadmap-stats strong{display:block;font-size:30px;font-weight:600;line-height:1.1}.roadmap-stats span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.8}.roadmap-stats div:first-child{background:#2d6247}
.rm-tile{background:white;border:1px solid #dce3ea;border-radius:12px;border-top:4px solid #c9d4df}.rm-tile.stage-complete{border-top-color:#2d6247}.rm-tile.stage-mvp-complete{border-top-color:#c49a2e}.rm-tile.stage-ongoing,.rm-tile.stage-early-stages{border-top-color:#356ba1}.rm-tile.stage-restricted{border-top-color:#8a4732}
.rm-tile summary{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px 14px;cursor:pointer;list-style:none}.rm-tile summary::-webkit-details-marker{display:none}
.rm-tile summary strong{font-size:14px;font-weight:600;color:var(--navy)}.rm-tile summary small{font-size:12px;line-height:1.45;color:#5d6d80}
.rm-bar{display:block;width:100%;height:5px;border-radius:3px;background:#e9eef5;overflow:hidden;margin-top:4px}.rm-bar i{display:block;height:100%;background:#2d6247}.rm-meta{font-size:11px;color:#7a8898}
.rm-tile[open]{grid-column:1/-1}.rm-tile summary:focus-visible,.site-tile:focus-visible{outline:2px solid #356ba1;outline-offset:2px}
@media(max-width:700px){.roadmap-stats{grid-template-columns:repeat(2,1fr)}}
.rm-bar .w0{width:0%}.rm-bar .w1{width:10%}.rm-bar .w2{width:20%}.rm-bar .w3{width:30%}.rm-bar .w4{width:40%}.rm-bar .w5{width:50%}.rm-bar .w6{width:60%}.rm-bar .w7{width:70%}.rm-bar .w8{width:80%}.rm-bar .w9{width:90%}.rm-bar .w10{width:100%}
