/* Matches the Results dashboard: the 3D view uses the Cardio & Metabolism panel style, activity uses the white action card. */
.bs3d{--bs3d-forest:var(--bsr-forest,#2f4237);--bs3d-sage:#5c6359;--bs3d-line:rgba(47,66,55,.16);--bs3d-font:var(--bsr-font-body,Outfit,system-ui,-apple-system,sans-serif);box-sizing:border-box;color:var(--bs3d-forest);font-family:var(--bs3d-font)}
.bs3d [hidden],.bs3d[hidden]{display:none!important}.bs3d *{box-sizing:border-box}
.bs3d-view{width:100%;min-width:0;padding:clamp(18px,2.6vw,32px);background:#faf7f2;border:1px solid rgba(216,210,199,.9);border-radius:18px;scroll-margin-top:96px;outline:none}
.bs3d-view:focus-visible{outline:2px solid rgba(176,139,79,.52);outline-offset:6px}
.bs3d-card{max-width:1100px;margin:28px auto}
.bs3d-activity{margin:0 0 32px;padding:24px;background:#fff;border:1px solid var(--bs3d-line);border-radius:16px;box-shadow:0 2px 10px rgba(31,45,36,.055)}
.bs3d-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.bs3d-view .bs3d-head{margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid #d8d2c7}
.bs3d-activity .bs3d-head{margin-bottom:12px}
.bs3d .bs3d-title{margin:0;color:var(--bs3d-forest);font:700 clamp(25px,3vw,34px)/1.12 var(--bs3d-font);letter-spacing:-.03em}
.bs3d-activity .bs3d-title{font-size:22px;letter-spacing:-.015em}
.bs3d-intro{max-width:660px;margin:9px 0 0;color:var(--bs3d-sage);font:400 14px/1.55 var(--bs3d-font)}
.bs3d button{min-height:44px;padding:11px 18px;border:1px solid var(--bs3d-forest);border-radius:11px;background:#fff;color:var(--bs3d-forest);font:650 13px/1.25 var(--bs3d-font);cursor:pointer;transition:background-color .18s,box-shadow .18s,transform .18s}
.bs3d button:hover{background:#f5f2ec;box-shadow:0 3px 10px rgba(31,45,36,.08);transform:translateY(-1px)}
.bs3d button:disabled{opacity:.5;cursor:wait}
.bs3d .bs3d-icon{flex:0 0 auto;width:44px;padding:0;border-color:var(--bs3d-line);font-size:19px;line-height:1}
.bs3d .bs3d-compare{background:var(--bs3d-forest);color:#fff}.bs3d .bs3d-compare:hover{background:#25362d}
.bs3d .bs3d-compare[aria-pressed="true"]{background:#fff;color:var(--bs3d-forest)}
.bs3d .bs3d-link[aria-pressed="true"]{background:var(--bs3d-forest);color:#fff}
.bs3d-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.bs3d-toolbar .bs3d-compare{margin-left:auto}
.bs3d-note{margin:0 0 0 auto;color:var(--bs3d-sage);font-size:13px}
.bs3d select{min-height:44px;max-width:100%;padding:10px 36px 10px 14px;border:1px solid var(--bs3d-line);border-radius:11px;background-color:#fff;color:var(--bs3d-forest);font:600 14px var(--bs3d-font)}
.bs3d-stages{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.bs3d-comparing .bs3d-stages{grid-template-columns:repeat(2,minmax(0,1fr))}
.bs3d-slot{display:flex;flex-direction:column;gap:10px;min-width:0}
.bs3d-pick{display:flex;flex-direction:column;gap:6px}.bs3d-pick span{color:#6b7a5a;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.bs3d-pick select{width:100%}
.bs3d-stage{position:relative;border:1px solid rgba(47,66,55,.1);border-radius:14px;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#fff 0%,#fff 35%,#f3efe7 100%)}
.bs3d canvas{display:block;width:100%;height:560px;touch-action:none;cursor:grab}.bs3d canvas:active{cursor:grabbing}
.bs3d-comparing canvas{height:520px}
.bs3d-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.86);color:var(--bs3d-sage);font-size:12px;pointer-events:none;transition:opacity .4s}.bs3d-touched .bs3d-hint{opacity:0}
.bs3d canvas:focus-visible,.bs3d button:focus-visible,.bs3d select:focus-visible,.bs3d summary:focus-visible{outline:3px solid rgba(176,139,79,.66);outline-offset:3px}
.bs3d-status{margin:12px 0 0;color:var(--bs3d-sage);font-size:14px;line-height:1.5}.bs3d-status:empty{display:none}
.bs3d-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.bs3d .bs3d-delete{margin-left:auto;color:#8a3a28;background:transparent;border-color:transparent}.bs3d .bs3d-delete:hover{background:rgba(138,58,40,.06);box-shadow:none}
.bs3d-print summary{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--bs3d-forest);border-radius:11px;background:#fff;font-weight:650;font-size:13px;cursor:pointer;list-style:none}.bs3d-print summary::-webkit-details-marker{display:none}
.bs3d-print[open]{flex-basis:100%;order:3}.bs3d-print div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.bs3d-print label{display:flex;align-items:center;gap:10px;font-size:14px}.bs3d-print input{width:90px;min-height:44px;padding:10px 14px;border:1px solid var(--bs3d-line);border-radius:11px;background:#fff;color:var(--bs3d-forest);font:inherit}
.bs3d-activity-list{list-style:none;margin:0;padding:0}.bs3d-activity-list li{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-top:1px solid #ebe6dc}.bs3d-activity-list li:first-child{border-top:0}.bs3d-activity-title{font-weight:600;font-size:15px}.bs3d-activity-detail{color:var(--bs3d-sage);font-size:13px}
/* Compare: side by side or overlaid (the app's colours: Before gold and see-through, After grey). Sharp corners. */
.bs3d-mode{display:inline-flex;margin-left:auto;border:1px solid var(--bs3d-forest);border-radius:3px;overflow:hidden}
.bs3d .bs3d-mode button{min-height:42px;padding:9px 15px;border:0;border-radius:0;background:#fff}
.bs3d .bs3d-mode button+button{border-left:1px solid var(--bs3d-forest)}
.bs3d .bs3d-mode button:hover{transform:none;box-shadow:none;background:#f5f2ec}
.bs3d .bs3d-mode button[aria-pressed="true"]{background:var(--bs3d-forest);color:#fff}
.bs3d-comparing .bs3d-toolbar .bs3d-compare{margin-left:0}
.bs3d-overlaid .bs3d-slot{display:contents}
.bs3d-overlaid .bs3d-slot[data-slot="before"] .bs3d-stage{grid-column:1/-1;grid-row:2}
.bs3d-overlaid .bs3d-slot[data-slot="after"] .bs3d-stage{display:none}
.bs3d-overlaid canvas{height:560px}
.bs3d-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:14px}
.bs3d-key{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:650}
.bs3d-dot{display:inline-block;width:12px;height:12px;border-radius:2px}.bs3d-before{background:#d6b07a}.bs3d-after{background:#8c8c8c}
.bs3d-nudge{display:inline-flex;align-items:center;gap:10px;margin-left:auto;color:var(--bs3d-sage);font-size:13px}.bs3d-nudge input{width:170px;accent-color:var(--bs3d-forest)}
.bs3d-measures{margin-top:22px;padding-top:18px;border-top:1px solid #d8d2c7}
.bs3d-measures h3{margin:0 0 10px;color:var(--bs3d-forest);font:700 17px/1.3 var(--bs3d-font)}
.bs3d-measures table{width:100%;max-width:600px;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.bs3d-measures th,.bs3d-measures td{padding:9px 12px 9px 0;border-bottom:1px solid #ebe6dc;text-align:right;white-space:nowrap}
.bs3d-measures th[scope="row"],.bs3d-measures thead th:first-child{text-align:left;font-weight:600}
.bs3d-measures thead th{color:var(--bs3d-sage);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.bs3d-measure-note{margin:8px 0 0;color:var(--bs3d-sage);font-size:13px;line-height:1.5}.bs3d-measure-note:empty{display:none}
/* Three views in the Results switcher once a client has a 3D scan. */
.bsr-results-view-tabs.bs3d-has-3d{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,720px)}
@media(max-width:768px){.bs3d-view{padding:22px 18px}.bs3d-view .bs3d-head{margin-bottom:20px;padding-bottom:18px}.bsr-results-view-tabs.bs3d-has-3d{width:100%}}
@media(max-width:640px){.bs3d-mode{flex:1 1 100%;margin-left:0}.bs3d .bs3d-mode button{flex:1 1 50%}.bs3d-nudge{flex:1 1 100%;margin-left:0}.bs3d-nudge input{flex:1}.bs3d-overlaid canvas{height:440px}.bs3d-measures th,.bs3d-measures td{padding-right:8px;font-size:13px}.bs3d-view{margin-inline:-4px;width:calc(100% + 8px);padding:18px 14px}.bs3d-toolbar select{flex:1 1 100%}.bs3d-toolbar .bs3d-compare{flex:1 1 100%;margin-left:0}.bs3d-note{margin-left:0}.bs3d canvas{height:440px}.bs3d-comparing canvas{height:400px}.bs3d-comparing .bs3d-stages{gap:8px}}
@media(max-width:480px){.bs3d-view{margin-inline:-6px;width:calc(100% + 12px);padding:16px 10px;border-radius:14px}.bs3d .bs3d-title{font-size:24px}.bs3d-activity .bs3d-title{font-size:20px}.bs3d-intro{font-size:13px}.bs3d-activity{padding:20px 16px;border-radius:14px}.bs3d-comparing .bs3d-pick select{padding:10px 26px 10px 10px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.bs3d button{transition:none}.bs3d button:hover{transform:none}}
@media print{.bs3d-view,.bs3d-activity,#bsr-results-view-3d-tab{display:none!important}}
