/* Doctor case/payment cards keep each case usable without horizontal scrolling. */
body[data-doctor-page="portal"] [data-commercial-case]{overflow-wrap:anywhere;min-width:0}
body[data-doctor-page="portal"] [data-commercial-case] progress{max-width:100%}
@media(max-width:768px){
 body[data-doctor-page="portal"] #cases .table-wrap{overflow:visible;border:0}
 body[data-doctor-page="portal"] #cases table{display:block;width:100%;min-width:0}
 body[data-doctor-page="portal"] #cases thead{display:none}
 body[data-doctor-page="portal"] #caseRows{display:grid;gap:16px}
 body[data-doctor-page="portal"] #caseRows tr{display:grid;gap:0;border:1px solid #d6d9dc;border-radius:12px;overflow:hidden}
 body[data-doctor-page="portal"] #caseRows td{display:block;min-width:0;width:auto;white-space:normal;padding:12px 16px;overflow-wrap:anywhere;border:0}
 body[data-doctor-page="portal"] #caseRows td[data-label]::before{content:attr(data-label);display:block;font-weight:700;margin-bottom:6px}
 body[data-doctor-page="portal"] #caseRows td:last-child{border-top:1px solid #d6d9dc}
}
body[data-doctor-page="portal"] :is(#submitScreen,#submitForm,#submitForm .row2,#submitForm .field,#submitForm fieldset,#submitForm details,#allxBlock){min-width:0;max-width:100%}
body[data-doctor-page="portal"] #submitForm :is(input,select,textarea){max-width:100%;min-width:0}
body[data-doctor-page="portal"] .tooth-grid{width:100%;min-width:0}
body[data-doctor-page="portal"] .tooth-grid button{min-width:0;max-width:100%}

/* All-on-X order block: round check rows, segmented pickers, sticky total. */
.px-ax-h{font-size:var(--ob-text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ob-text-secondary);margin:18px 0 8px}
.px-ax-h:first-child{margin-top:0}
.px-ax-list{list-style:none;margin:0;padding:0;border:1px solid var(--ob-border);border-radius:var(--ob-radius-sm);overflow:hidden;background:var(--ob-surface)}
.px-ax-row{display:flex;align-items:center;gap:12px;padding:13px 14px;border-top:1px solid var(--ob-border);cursor:pointer}
.px-ax-list .px-ax-row:first-child{border-top:0}
.px-ax-row:hover{background:var(--ob-surface-alt)}
.px-ax-row[aria-disabled="true"]{cursor:default}
.px-ax-dot{flex:0 0 24px;height:24px;border-radius:999px;border:2px solid var(--ob-border);display:grid;place-items:center;background:var(--ob-surface)}
.px-ax-dot svg{width:13px;height:13px;fill:none;stroke:var(--ob-surface);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.px-ax-row.is-on .px-ax-dot{border-color:var(--ob-primary);background:var(--ob-primary)}
.px-ax-row.is-on .px-ax-dot svg{opacity:1}
.px-ax-name{flex:1;min-width:0}
.px-ax-name b{display:block;font-size:var(--ob-text-base);font-weight:600;color:var(--ob-text)}
.px-ax-name span{display:block;font-size:var(--ob-text-sm);color:var(--ob-text-secondary)}
.px-ax-price{font-size:var(--ob-text-base);font-weight:600;color:var(--ob-text);font-variant-numeric:tabular-nums;white-space:nowrap}
.px-ax-seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 4px}
.px-ax-seg .ob-btn{flex:1 1 auto;min-width:92px;justify-content:center}
.px-ax-seg .ob-btn[aria-pressed="true"]{border-color:var(--ob-primary);background:var(--ob-primary-soft);color:var(--ob-primary)}
.px-ax-field{display:grid;gap:6px;margin:0 0 4px}
.px-ax-bar{position:sticky;bottom:0;z-index:2;margin-top:16px;padding:12px 14px;border:1px solid var(--ob-border);border-radius:var(--ob-radius-sm);background:var(--ob-surface);display:flex;align-items:center;justify-content:space-between;gap:12px}
.px-ax-bar .px-ax-k{font-size:var(--ob-text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ob-text-secondary)}
.px-ax-total{font-size:var(--ob-text-page);font-weight:700;color:var(--ob-text);font-variant-numeric:tabular-nums;line-height:1.15}
.px-ax-when{font-size:var(--ob-text-sm);color:var(--ob-text-secondary)}
.px-ax-delta{font-size:var(--ob-text-xs);font-weight:700;color:var(--ob-success)}
.px-ax-req{color:var(--ob-danger)}

/* Doctor portal wears the same skin as PARALLAX OS (tokens.css --ob-*): white sidebar, accent bar on the active link, 12px cards. */
body[data-doctor-page="portal"]{background:var(--ob-canvas);color:var(--ob-text);font-family:var(--ob-font)}
body[data-doctor-page="portal"] .portal-shell{grid-template-columns:256px minmax(0,1fr);font-size:var(--ob-text-base)}
body[data-doctor-page="portal"] .side,body[data-doctor-page="portal"] .side *{color:var(--ob-text-secondary)}
body[data-doctor-page="portal"] .side{background:var(--ob-surface);border-right:1px solid var(--ob-border);padding:18px 14px 20px}
body[data-doctor-page="portal"] .side .brand-row{margin:0 0 8px;padding:7px 9px 16px;gap:11px;align-items:center}
body[data-doctor-page="portal"] .side .brand-row img{width:34px;height:34px;object-fit:contain}
body[data-doctor-page="portal"] .side .brand-row b{font-size:var(--ob-text-base);font-weight:790;letter-spacing:.09em;color:var(--ob-text)}
body[data-doctor-page="portal"] .side .brand-row .eyebrow{font-size:var(--ob-text-xs);font-weight:650;letter-spacing:.15em;color:var(--ob-text-secondary)}
body[data-doctor-page="portal"] .side-nav{gap:2px}
body[data-doctor-page="portal"] .side-nav a{position:relative;display:flex;align-items:center;min-height:42px;padding:8px 10px 8px 11px;margin:2px 0;border-radius:9px;background:transparent;color:var(--ob-text-secondary);font-size:var(--ob-text-sm);font-weight:550;letter-spacing:.03em;line-height:1.35}
body[data-doctor-page="portal"] .side-nav a:hover{background:var(--ob-primary-soft);color:var(--ob-primary)}
body[data-doctor-page="portal"] .side-nav a.active{background:color-mix(in srgb,var(--ob-primary) 10%,var(--ob-surface));color:var(--ob-text);font-weight:700}
body[data-doctor-page="portal"] .side-nav a.active::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--ob-primary)}
body[data-doctor-page="portal"] .side-nav #logoutBtn,body[data-doctor-page="portal"] #logoutBtn{margin-top:24px;background:transparent!important;color:var(--ob-text-secondary)!important;border:1px solid var(--ob-border);border-radius:var(--ob-radius-sm);font-size:var(--ob-text-sm);font-weight:650}
body[data-doctor-page="portal"] #logoutBtn:hover{background:var(--ob-surface-alt)!important;color:var(--ob-text)!important}
body[data-doctor-page="portal"] .portal-main{padding:24px 28px}
body[data-doctor-page="portal"] .topbar h1{font-size:var(--ob-text-page);font-weight:750!important;letter-spacing:-.01em;color:var(--ob-text)}
body[data-doctor-page="portal"] .topbar p{color:var(--ob-text-secondary);font-size:var(--ob-text-sm)}
body[data-doctor-page="portal"] .panel,body[data-doctor-page="portal"] .card,body[data-doctor-page="portal"] .hero-card,body[data-doctor-page="portal"] .delivery-card,body[data-doctor-page="portal"] .kpi{background:var(--ob-surface);color:var(--ob-text);border:1px solid var(--ob-border);border-radius:var(--ob-radius);box-shadow:var(--ob-shadow)}
body[data-doctor-page="portal"] .panel.dark{background:var(--ob-surface);color:var(--ob-text);border-color:var(--ob-border)}
body[data-doctor-page="portal"] .hero-card *{color:inherit}
body[data-doctor-page="portal"] .panel :is(h2,h3){font-size:var(--ob-text-title);font-weight:700!important;letter-spacing:.02em;color:var(--ob-text)}
body[data-doctor-page="portal"] .kpi>span,body[data-doctor-page="portal"] .kpi small{color:var(--ob-text-secondary)}
body[data-doctor-page="portal"] .kpi b,body[data-doctor-page="portal"] .pay-amount,body[data-doctor-page="portal"] .delivery-date{color:var(--ob-text)}
body[data-doctor-page="portal"] .btn{min-height:var(--ob-control-height);border-radius:var(--ob-radius-sm);background:var(--ob-primary);border-color:var(--ob-primary);color:var(--ob-on-primary);font-size:var(--ob-text-sm);font-weight:650;letter-spacing:.02em}
body[data-doctor-page="portal"] .btn:hover{background:var(--ob-primary-hover);border-color:var(--ob-primary-hover);filter:none}
body[data-doctor-page="portal"] .btn.secondary{background:var(--ob-surface);color:var(--ob-text);border-color:var(--ob-border)}
body[data-doctor-page="portal"] .btn.secondary:hover{background:var(--ob-surface-alt)}
body[data-doctor-page="portal"] :is(input,select,textarea):not([type=checkbox]):not([type=radio]){min-height:var(--ob-field-height);border:1px solid var(--ob-border);border-radius:var(--ob-radius-sm);background:var(--ob-surface);color:var(--ob-text);font-family:inherit}
body[data-doctor-page="portal"] :is(input,select,textarea):focus{outline:2px solid var(--ob-primary-soft);border-color:var(--ob-primary)}
body[data-doctor-page="portal"] table th{background:var(--ob-surface-alt);color:var(--ob-text-secondary);font-size:var(--ob-text-xs);letter-spacing:.06em;font-weight:700}
body[data-doctor-page="portal"] table td{border-color:var(--ob-border);color:var(--ob-text)}
body[data-doctor-page="portal"] #caseRows tr,body[data-doctor-page="portal"] #caseRows td:last-child{border-color:var(--ob-border)}
@media(max-width:1100px){
 body[data-doctor-page="portal"] .portal-shell{grid-template-columns:minmax(0,1fr)}
 body[data-doctor-page="portal"] :is(.side,.side-content,.portal-main){min-width:0;max-width:100vw}
 body[data-doctor-page="portal"] .side-content{display:grid;gap:8px}
 body[data-doctor-page="portal"] #logoutBtn{margin-top:0}
 body[data-doctor-page="portal"] .side{border-right:0;border-bottom:1px solid var(--ob-border);min-height:0;padding:12px 16px}
 body[data-doctor-page="portal"] .side-content{position:static;max-height:none}
 body[data-doctor-page="portal"] .side-nav{display:flex;overflow-x:auto;gap:4px}
 body[data-doctor-page="portal"] .side-nav a{white-space:nowrap;flex:0 0 auto}
}

/* Order form: every choice is a round check row; groups sit in two columns so the whole form fits one screen. */
body[data-doctor-page="portal"] .px-ax-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;align-items:start}
body[data-doctor-page="portal"] .px-ax-g{min-width:0}
body[data-doctor-page="portal"] .px-ax-g.px-ax-wide{grid-column:1/-1}
body[data-doctor-page="portal"] .px-ax-h{margin:14px 0 6px}
body[data-doctor-page="portal"] .px-ax-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
body[data-doctor-page="portal"] .px-ax-grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-doctor-page="portal"] .px-ax-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-doctor-page="portal"] .px-ax-grid>.px-ax-row{border-top:0;border-left:1px solid var(--ob-border);border-bottom:1px solid var(--ob-border);padding:9px 12px;gap:10px;min-height:44px}
body[data-doctor-page="portal"] .px-ax-grid>.px-ax-row:nth-child(-n+3){border-top:0}
body[data-doctor-page="portal"] .px-ax-grid>.px-ax-row:first-child{border-left:0}
body[data-doctor-page="portal"] .px-ax-grid.c2>.px-ax-row:nth-child(odd),body[data-doctor-page="portal"] .px-ax-grid.c3>.px-ax-row:nth-child(3n+1){border-left:0}
body[data-doctor-page="portal"] .px-ax-row:focus-visible{outline:2px solid var(--ob-primary);outline-offset:-2px}
body[data-doctor-page="portal"] .px-ax-dot{flex:0 0 20px;height:20px}
body[data-doctor-page="portal"] .px-ax-dot svg{width:11px;height:11px}
body[data-doctor-page="portal"] .px-ax-rad .px-ax-dot svg{display:none}
body[data-doctor-page="portal"] .px-ax-rad.is-on .px-ax-dot{background:var(--ob-surface);border-color:var(--ob-primary);box-shadow:inset 0 0 0 4px var(--ob-primary)}
body[data-doctor-page="portal"] .px-ax-g .ob-input{width:100%}
@media(max-width:700px){
 body[data-doctor-page="portal"] .px-ax-cols{grid-template-columns:minmax(0,1fr)}
 body[data-doctor-page="portal"] .px-ax-grid.c2>.px-ax-row,body[data-doctor-page="portal"] .px-ax-grid>.px-ax-row{border-left:0}

 body[data-doctor-page="portal"] .px-ax-wide .px-ax-grid.c2{grid-template-columns:minmax(0,1fr)}
 body[data-doctor-page="portal"] .px-ax-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
 body[data-doctor-page="portal"] .px-ax-grid.c3>.px-ax-row{border-left:1px solid var(--ob-border);padding:9px 8px;gap:6px}
 body[data-doctor-page="portal"] .px-ax-grid.c3>.px-ax-row:nth-child(3n+1){border-left:0}
}

/* Shade picker: round swatches, one tap, no typing. */
body[data-doctor-page="portal"] .px-ax-shades{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px 4px}
body[data-doctor-page="portal"] .px-ax-sw{display:grid;justify-items:center;gap:4px;padding:6px 2px;border:1px solid transparent;border-radius:var(--ob-radius-sm);background:transparent;color:var(--ob-text-secondary);font:inherit;font-size:var(--ob-text-xs);cursor:pointer;min-height:44px}
body[data-doctor-page="portal"] .px-ax-sw i{width:30px;height:30px;border-radius:999px;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
body[data-doctor-page="portal"] .px-ax-sw:hover{background:var(--ob-surface-alt)}
body[data-doctor-page="portal"] .px-ax-sw.is-on{border-color:var(--ob-primary);background:var(--ob-primary-soft);color:var(--ob-text);font-weight:700}
body[data-doctor-page="portal"] .px-ax-sw.is-on i{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 2px var(--ob-surface),0 0 0 4px var(--ob-primary)}
body[data-doctor-page="portal"] .px-ax-sw:focus-visible{outline:2px solid var(--ob-primary);outline-offset:1px}
body[data-doctor-page="portal"] .px-ax-sw[data-s="BL1"],body[data-doctor-page="portal"] .px-ax-prev[data-s="BL1"]{--sw:#F3EEDF}
body[data-doctor-page="portal"] .px-ax-sw[data-s="BL2"],body[data-doctor-page="portal"] .px-ax-prev[data-s="BL2"]{--sw:#EFE7D2}
body[data-doctor-page="portal"] .px-ax-sw[data-s="BL3"],body[data-doctor-page="portal"] .px-ax-prev[data-s="BL3"]{--sw:#EBE0C5}
body[data-doctor-page="portal"] .px-ax-sw[data-s="BL4"],body[data-doctor-page="portal"] .px-ax-prev[data-s="BL4"]{--sw:#E6D9B9}
body[data-doctor-page="portal"] .px-ax-sw[data-s="A1"],body[data-doctor-page="portal"] .px-ax-prev[data-s="A1"]{--sw:#E6D6B0}
body[data-doctor-page="portal"] .px-ax-sw[data-s="A2"],body[data-doctor-page="portal"] .px-ax-prev[data-s="A2"]{--sw:#DEC595}
body[data-doctor-page="portal"] .px-ax-sw[data-s="A3"],body[data-doctor-page="portal"] .px-ax-prev[data-s="A3"]{--sw:#D9BD86}
body[data-doctor-page="portal"] .px-ax-sw[data-s="A3.5"],body[data-doctor-page="portal"] .px-ax-prev[data-s="A3.5"]{--sw:#CFAE76}
body[data-doctor-page="portal"] .px-ax-sw[data-s="A4"],body[data-doctor-page="portal"] .px-ax-prev[data-s="A4"]{--sw:#C29E69}
body[data-doctor-page="portal"] .px-ax-sw[data-s="B1"],body[data-doctor-page="portal"] .px-ax-prev[data-s="B1"]{--sw:#EBDDB8}
body[data-doctor-page="portal"] .px-ax-sw[data-s="B2"],body[data-doctor-page="portal"] .px-ax-prev[data-s="B2"]{--sw:#E1CF9E}
body[data-doctor-page="portal"] .px-ax-sw[data-s="B3"],body[data-doctor-page="portal"] .px-ax-prev[data-s="B3"]{--sw:#D8C187}
body[data-doctor-page="portal"] .px-ax-sw[data-s="B4"],body[data-doctor-page="portal"] .px-ax-prev[data-s="B4"]{--sw:#CBAE6E}
body[data-doctor-page="portal"] .px-ax-sw[data-s="C1"],body[data-doctor-page="portal"] .px-ax-prev[data-s="C1"]{--sw:#CFC09C}
body[data-doctor-page="portal"] .px-ax-sw[data-s="C2"],body[data-doctor-page="portal"] .px-ax-prev[data-s="C2"]{--sw:#BFAE86}
body[data-doctor-page="portal"] .px-ax-sw[data-s="C3"],body[data-doctor-page="portal"] .px-ax-prev[data-s="C3"]{--sw:#AD9B76}
body[data-doctor-page="portal"] .px-ax-sw[data-s="C4"],body[data-doctor-page="portal"] .px-ax-prev[data-s="C4"]{--sw:#94825F}
body[data-doctor-page="portal"] .px-ax-sw[data-s="D2"],body[data-doctor-page="portal"] .px-ax-prev[data-s="D2"]{--sw:#B8A98E}
body[data-doctor-page="portal"] .px-ax-sw[data-s="D3"],body[data-doctor-page="portal"] .px-ax-prev[data-s="D3"]{--sw:#A39577}
body[data-doctor-page="portal"] .px-ax-sw[data-s="D4"],body[data-doctor-page="portal"] .px-ax-prev[data-s="D4"]{--sw:#85775B}

/* Live preview: the two arches react to every choice. */
body[data-doctor-page="portal"] .px-ax-prev{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:16px;align-items:center;margin:0 0 6px;padding:14px 16px;border:1px solid var(--ob-border);border-radius:var(--ob-radius);background:var(--ob-surface-alt)}
body[data-doctor-page="portal"] .px-ax-prev svg{width:100%;height:auto;display:block}
body[data-doctor-page="portal"] .px-ax-t{fill:var(--sw,var(--ob-border));stroke:var(--ob-border);stroke-width:1;transition:fill .25s ease}
body[data-doctor-page="portal"] .px-ax-arc{opacity:.28;transition:opacity .25s ease}
body[data-doctor-page="portal"] .px-ax-arc.on{opacity:1}
body[data-doctor-page="portal"] .px-ax-arc.on .px-ax-t{stroke:var(--ob-text-secondary)}
body[data-doctor-page="portal"] .px-ax-im{fill:var(--ob-text-secondary);stroke:var(--ob-surface);stroke-width:1.2}
body[data-doctor-page="portal"] .px-ax-im.an{fill:#c6a667}
body[data-doctor-page="portal"] .px-ax-chips{display:flex;flex-wrap:wrap;gap:6px}
body[data-doctor-page="portal"] .px-ax-chip{padding:5px 10px;border:1px solid var(--ob-border);border-radius:999px;background:var(--ob-surface);color:var(--ob-text);font-size:var(--ob-text-sm);font-weight:600}
body[data-doctor-page="portal"] .px-ax-total.pop{animation:pxaxpop .35s ease}
@keyframes pxaxpop{0%{transform:scale(1)}40%{transform:scale(1.08);color:var(--ob-primary)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){body[data-doctor-page="portal"] .px-ax-total.pop{animation:none}body[data-doctor-page="portal"] .px-ax-t,body[data-doctor-page="portal"] .px-ax-arc{transition:none}}
@media(max-width:700px){body[data-doctor-page="portal"] .px-ax-prev{grid-template-columns:minmax(0,1fr);justify-items:center}body[data-doctor-page="portal"] .px-ax-prev svg{max-width:240px}}
