@font-face{font-family:Inter;src:url("/portal/fonts/Inter-Variable.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("/portal/fonts/BarlowCondensed-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
:root{--ink:#001326;--muted:#526171;--paper:#fafafa;--white:#fff;--line:#dde4ec;--accent:#007ffd;--accent-light:#e8f3ff;--green:#e9f5ed;--danger:#b42318;--shadow:0 4px 18px #00132606;--action:#0067d6;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:15px;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent }button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:var(--ink)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-family:"Barlow Condensed",Inter,sans-serif;font-weight:700;font-size:clamp(2rem,3.4vw,2.8rem);letter-spacing:.015em;line-height:1.1;text-transform:uppercase}h2{font-size:1.3rem;letter-spacing:-.03em}h3{font-size:1.04rem}p{color:var(--muted)}small{font-size:.8rem;color:var(--muted)}:focus-visible{outline:3px solid var(--action);outline-offset:4px}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:10;background:white;padding:.7rem}.skip-link:focus{top:1rem}.site-header{max-width:1440px;margin:auto;padding:20px 5.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;align-items:center;text-decoration:none;gap:13px;font-weight:650;letter-spacing:-.04em;font-size:1.14rem}.brand small{display:block;letter-spacing:.025em;font-weight:400;font-size:.72rem}.brand-mark{width:46px;height:46px;background:var(--ink);color:white;border-radius:13px;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:1.55rem;position:relative}.brand-mark span{font-size:.7rem;position:absolute;right:5px;top:1px;color:var(--accent)}.identity{display:flex;align-items:center;gap:13px;font-size:.85rem;flex-wrap:wrap;justify-content:flex-end}.role{font-size:.7rem;background:var(--green);padding:3px 8px;border-radius:20px;text-transform:capitalize}main{max-width:1280px;margin:auto;padding:36px 5.5% 64px;min-height:calc(100vh - 181px)}.site-footer{max-width:1440px;padding:24px 5.5%;margin:auto;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.eyebrow{font-size:.7rem;font-weight:650;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:15px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 0 28px}.page-heading p:not(.eyebrow){margin-top:15px;max-width:580px}.page-heading h1{font-size:clamp(2rem,3.4vw,2.8rem)}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 19px;border-radius:8px;font-weight:600;white-space:nowrap;text-decoration:none} .primary{background:var(--action);color:white}.primary:hover{background:#0055b3}.secondary{border-color:var(--line);background:white;color:var(--ink)}.secondary:hover{background:var(--accent-light)}.text-button{border:0;background:none;padding:7px 0;color:var(--ink);font-size:.86rem;letter-spacing:0}.text-button:hover{text-decoration:underline}.back-button{margin-bottom:28px}.text-link{font-size:.85rem}.full{width:100%}.panel{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-heading h2{font-size:1rem}.login-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center;max-width:1040px;margin:35px auto 45px}.login-intro>p:not(.eyebrow){font-size:1.03rem;margin-top:24px;max-width:370px}.intro-steps{display:flex;gap:26px;border-top:1px solid var(--line);margin-top:43px;padding-top:21px;font-size:.75rem;color:var(--muted)}.intro-steps b{display:block;font-weight:500;font-size:.85rem;margin-top:5px;color:var(--ink)}.login-panel{padding:37px}.login-panel>p:not(.eyebrow){margin:10px 0 24px}.login-panel button{margin:22px 0 18px}.login-panel small{display:block;text-align:center}label{display:block;font-size:.83rem;font-weight:600;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #b8c5d3;border-radius:7px;padding:11px 12px;background:#fff;color:var(--ink);margin:0 0 22px;min-width:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--action)}.request-panel{max-width:710px}.request-panel #image-count{max-width:130px;display:block}.field-hint{font-size:.8rem;margin:-14px 0 20px}.request-panel .text-link{display:inline-block;margin:-10px 0 25px}.callout{padding:16px 18px;background:var(--accent-light);border-radius:8px;font-size:.83rem;margin-bottom:22px;color:#244563}.form-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center}.notice{border-radius:8px;padding:13px 18px;background:var(--green);margin-bottom:25px;font-size:.9rem}.notice.error{background:#f9e7e1;color:var(--danger)}.inline-error{font-size:.85rem;color:var(--danger);margin-top:4px}.loading-card{display:flex;align-items:center;gap:15px;justify-content:center;padding:100px 20px}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:23px;height:23px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.job-list{display:flex;flex-direction:column;gap:12px}.job-card{padding:22px 25px;border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between;gap:24px;align-items:center;background:white}.job-card .job-title{display:block;font-size:1.09rem;text-align:left;font-weight:600;text-decoration:none;border:0;background:none;padding:0;color:var(--ink)}.job-card .job-title:hover{text-decoration:underline}.job-card p{font-size:.82rem;margin-top:7px}.job-card-right{display:flex;align-items:center;gap:25px}.status-pill{display:inline-flex;background:#edf0f4;color:#526171;font-size:.72rem;line-height:1.35;padding:6px 11px;border-radius:20px;white-space:nowrap;font-weight:600}.status-pill.review{background:var(--accent-light);color:#0059b8}.status-pill.missing{background:#fff2d7;color:#896125}.empty-state{padding:55px 30px;text-align:center;border:1px dashed #b8c5d3;border-radius:12px}.empty-state h3{margin-bottom:9px}.empty-state p{max-width:410px;margin:auto}.job-summary{display:flex;flex-wrap:wrap;gap:12px 32px;padding:20px 0;margin:-15px 0 28px;border-bottom:1px solid var(--line)}.summary-item{font-size:.85rem}.summary-item small{display:block;margin-bottom:4px}.summary-item a{overflow-wrap:anywhere}.blockers{background:#fff4df;padding:20px 24px;border-radius:10px;margin-bottom:25px}.blockers h3{margin-bottom:8px}.blockers ul{margin:0;padding-left:20px;color:#775d32;font-size:.9rem}.review-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 0 24px}.review-intro p{font-size:.88rem;margin-top:7px}.review-grid{display:flex;flex-direction:column;gap:25px}.review-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.review-card-header{padding:20px 24px;display:flex;justify-content:space-between;gap:15px}.image-number{display:inline-flex;align-items:center;gap:12px}.image-number span{font-size:.8rem;background:var(--ink);color:white;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.placement{font-size:.77rem;margin-top:4px;overflow-wrap:anywhere}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.photo-cell{background:#f2f5f8;padding:15px}.photo-cell p{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.photo-cell img{display:block;width:100%;height:260px;object-fit:contain;background:#e7edf3;border-radius:4px}.image-unavailable{height:260px;display:flex;align-items:center;justify-content:center;border:1px dashed #b8c5d3;border-radius:4px;font-size:.85rem;color:var(--muted)}.review-controls{padding:22px 24px}.decision-options{border:0;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:9px}.decision-options legend{font-size:.82rem;font-weight:600;margin-bottom:10px}.decision-option{display:flex;gap:7px;align-items:center;font-size:.8rem;border:1px solid var(--line);padding:9px 13px;border-radius:7px;font-weight:500;margin:0;cursor:pointer}.decision-option:has(input:checked){background:var(--accent-light);border-color:var(--action)}.decision-option input{width:auto;margin:0;accent-color:var(--action)}.review-controls textarea{margin-bottom:0;font-size:.85rem}.review-locked{font-size:.85rem;padding:15px 24px;background:var(--green)}.review-footer{position:sticky;bottom:12px;background:var(--ink);color:white;padding:18px 23px;margin-top:25px;border-radius:10px;display:flex;gap:25px;justify-content:space-between;align-items:center;box-shadow:0 4px 24px #00132626}.review-footer p{color:#dce9f7;font-size:.8rem}.review-footer .button{background:var(--action);color:white}.delivery-panel h2{margin-bottom:10px}.delivery-panel p{max-width:650px;margin-bottom:22px}.delivery-actions{display:flex;flex-wrap:wrap;gap:12px}.operator-panel{margin-top:28px}.operator-panel>p{font-size:.88rem;margin:8px 0 24px}.operator-tabs{display:flex;gap:12px;margin:0 0 20px;border-bottom:1px solid var(--line)}.operator-tabs button{border:0;background:none;padding:8px 0;margin-right:15px;font-size:.84rem;color:var(--muted)}.operator-tabs button[aria-selected=true]{color:var(--ink);border-bottom:2px solid var(--ink);font-weight:600}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.operator-row{border:1px solid var(--line);padding:20px;border-radius:8px;margin-bottom:18px}.operator-row h3{margin-bottom:18px}.qa-rule{display:grid;grid-template-columns:1fr 160px;gap:15px;align-items:start;margin-bottom:15px}.qa-rule select{margin:0}.qa-rule label{margin:7px 0}.operator-note{font-size:.8rem;margin:0 0 18px}.operator-actions{display:flex;gap:12px;flex-wrap:wrap}.qa-preview{margin-bottom:20px}.qa-preview img{max-width:100%;max-height:240px;object-fit:contain;border-radius:5px}.operator-data{padding:15px;background:var(--paper);border-radius:7px;font-size:.8rem;margin-bottom:20px;overflow-wrap:anywhere}.operator-data dl{margin:0;display:grid;grid-template-columns:130px 1fr;gap:6px 15px}.operator-data dt{font-weight:600}.operator-data dd{margin:0}.divider{border:0;border-top:1px solid var(--line);margin:25px 0}.copy-update{margin-top:26px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.copy-update p{font-size:.8rem}.operator-badge{background:var(--paper);padding:5px 9px;border-radius:5px;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.progress-line{display:flex;gap:8px;margin:25px 0 0}.progress-line span{height:4px;flex:1;border-radius:4px;background:var(--line)}.progress-line span.complete{background:#238443}.progress-line span.active{background:var(--accent)}@media(max-width:760px){.site-header{padding:20px 5%;align-items:flex-start}.identity{gap:5px 10px;max-width:170px}.identity #user-name{width:100%;text-align:right}.brand{font-size:1rem}.brand-mark{width:40px;height:40px}.site-footer{flex-direction:column;gap:6px}main{padding:30px 5% 55px}.login-layout{grid-template-columns:1fr;gap:35px;margin:10px auto}.login-intro h1{font-size:2.5rem}.intro-steps{margin-top:25px}.login-panel,.panel{padding:24px}.page-heading{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:30px}.page-heading h1{font-size:2.2rem}.job-card{padding:19px;align-items:flex-start;gap:12px}.job-card-right{flex-direction:column;align-items:flex-end;gap:12px}.job-card p{font-size:.75rem}.status-pill{font-size:.66rem;max-width:135px;text-align:center;white-space:normal}.review-intro{align-items:flex-start;flex-direction:column;gap:10px}.photo-cell{padding:10px}.photo-cell img,.image-unavailable{height:180px}.photo-cell p{font-size:.62rem}.review-card-header,.review-controls{padding:18px}.review-card-header{flex-direction:column;gap:8px}.review-footer{padding:15px;gap:12px;align-items:flex-start;flex-direction:column}.review-footer .button{width:100%}.evidence-grid{grid-template-columns:1fr}.qa-rule{grid-template-columns:1fr;gap:5px}.operator-data dl{grid-template-columns:1fr;gap:4px}.operator-data dd{margin-bottom:8px}.operator-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}} 

fieldset.operator-row{min-width:0}fieldset.operator-row>legend{font-size:.9rem;font-weight:650;padding:0 7px}.evidence-section{border:0;padding:0;min-width:0}.evidence-section>legend{font-size:.88rem;font-weight:600;margin-bottom:20px}.operator-row:disabled{opacity:.75}.reference-heading{margin:22px 0 15px}.publish-actions{margin-bottom:24px}.publish-hint{margin:0}.qa-rule .operator-field{display:contents}.qa-rule>label{font-weight:400;font-size:.8rem}.copy-update textarea{width:100%;margin:0}.operator-field{min-width:0}.operator-panel h3+ .evidence-grid{margin-top:18px}.operator-row legend{overflow-wrap:anywhere}

.asset-refresh{margin-bottom:22px;align-items:center}.asset-refresh .operator-note{margin:0;max-width:630px}.evidence-link{display:block;margin:-14px 0 24px}.operator-field .qa-preview{margin-top:-8px}.review-footer{z-index:2}

.photo-open{display:block;text-decoration:none;border-radius:4px}.photo-open span{display:block;font-size:.74rem;padding-top:8px}.photo-open:hover span{text-decoration:underline}.qa-preview .photo-open img{display:block}

/* Official logo from dentistnerds.com; unchanged artwork on a white backdrop. */
.official-brand{display:flex;align-items:center;background:#fff;padding:0;border-radius:7px}.official-brand svg{display:block;width:160px;height:auto}.brand-product{font-size:.75rem;color:var(--muted);font-weight:500}@media(max-width:760px){.brand{flex-wrap:wrap;gap:8px}.official-brand svg{width:125px}.brand-product{width:100%}}

/* Focused operator QA; all native fields and rule results remain available. */
.qa-image-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.qa-image-tab{border:1px solid var(--line);background:white;color:var(--ink);border-radius:6px;padding:8px 13px;cursor:pointer}.qa-image-tab[aria-pressed=true]{background:var(--action);color:white}.qa-navigation{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.qa-position{flex:1;font-weight:600;min-width:200px}.qa-setup{border:1px solid var(--line);border-radius:7px;padding:12px 16px;margin:14px 0}.qa-setup summary,.blockers summary{cursor:pointer;font-weight:600;font-size:.87rem}.qa-setup[open]>summary{margin-bottom:18px}.qa-hero img{width:100%;max-height:520px}.qa-confirmation{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:15px;margin:12px 0;cursor:pointer}.qa-confirmation input{width:auto;flex:none;margin:4px 0}.qa-confirmation strong{display:block}.qa-confirmation small{display:block;color:var(--muted);font-weight:400;font-size:.77rem;line-height:1.55;margin-top:5px}.qa-extra-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:20px 0}.qa-extra-checks .qa-rule{grid-template-columns:1fr;gap:5px}.qa-evidence-picker{max-width:600px}.operator-actions:has([data-testid=save-operator]){position:sticky;bottom:10px;background:var(--paper);padding:12px;border:1px solid var(--line);border-radius:8px;z-index:2}@media(max-width:760px){.qa-extra-checks{grid-template-columns:1fr}.qa-hero img{max-height:340px}.qa-navigation .button{padding:9px 12px}.qa-image-tab{padding:7px 11px}}

.quick-image{display:block;margin:16px 0 24px}.quick-image img{display:block;width:100%;max-height:520px;object-fit:contain;background:#f2f5f8;border-radius:8px}.quick-image span{font-size:.8rem}.quick-review>p{margin:10px 0 20px}.quick-progress{font-weight:600}.advanced-qa{border:1px solid var(--line);padding:16px;border-radius:8px;margin-top:24px}.advanced-qa>summary{cursor:pointer;font-weight:600}.advanced-qa .operator-panel{margin-top:16px}.quick-review h3{margin-bottom:12px}@media(max-width:760px){.quick-image img{max-height:340px}.quick-review .form-actions{flex-wrap:wrap}.quick-review .form-actions .primary{width:100%}}

.source-catalog{margin-bottom:32px}.source-list{display:grid;gap:12px}.source-card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;justify-content:space-between;gap:20px}.source-card p{font-size:.85rem;margin:5px 0}.source-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:9px;flex-shrink:0}@media(max-width:760px){.source-card{flex-direction:column;gap:12px}.source-actions{align-items:flex-start}}

/* Dentist Nerds product polish: color never replaces the visible status label. */
.status-pill.active{background:#e8f3ff;color:#0059b8}.status-pill.complete{background:#e9f5ed;color:#176c35}.status-pill.attention{background:#fff2d7;color:#78521b}.role{background:#edf0f4;color:#526171}.brand-product{font-weight:600;color:var(--ink);letter-spacing:0}.button{min-height:44px}.button:disabled{cursor:not-allowed}.quick-review .decision-option{min-height:44px}.quick-progress{color:var(--action)}.quick-image img{border:1px solid var(--line)}.quick-review h3{font-size:1.1rem}.notice.error{background:#fff0ed}.callout{line-height:1.6}

.review-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.review-heading h2{margin:0}
.delivery-readiness{border:1px solid var(--border,#dce2e8);border-radius:12px;padding:20px;margin:20px 0;background:#fff}
.delivery-step{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #e6eaf0}
.delivery-step p{margin:6px 0;max-width:650px}.delivery-step small{font-weight:600}.delivery-step button{flex-shrink:0}
@media(max-width:640px){.delivery-step{align-items:stretch;flex-direction:column;gap:10px}}
