/* Approved dental-arch identity and calm, responsive CAD workspace. */
:root{--ink:#173c42;--muted:#697e82;--line:#dde6e5;--green:#20676a;--soft:#eff5f2}
body{background:#f7f8f5;font-size:13px}
header{height:88px;padding:0 28px;gap:24px}
.brand{font-size:23px;letter-spacing:-.8px;gap:13px}
.brand .logo{display:block;width:54px;height:51px;background:none;border-radius:0;flex:none}
.brand small{font-size:9px;letter-spacing:.35px;line-height:1.4;white-space:normal;max-width:260px;color:#527477;margin-top:7px}
.brand b{font-weight:800}
.header-actions{gap:10px}.privacy{color:#597779;font-size:11px}
button{border-radius:6px;padding:11px 14px;box-shadow:0 1px 2px #143a3504}
button.primary{background:var(--green);border-color:var(--green);font-weight:600}
button.primary:hover{background:#175558}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #3c8988;outline-offset:3px}
nav{height:65px;padding:0 28px;gap:24px}nav button{font-weight:500;font-size:12px;box-shadow:none}nav button.active{font-weight:700}nav i{background:#f0f5f3;color:#2a6267;padding:6px 8px;font-size:11px}nav button.active i{background:#e3efea}
main{grid-template-columns:300px minmax(320px,1fr) 260px;height:calc(100dvh - 185px);min-height:650px}
aside{padding:28px 24px;scrollbar-width:thin;scrollbar-color:#c6d3cf transparent}
h1{font-size:27px;letter-spacing:-.8px}h2{font-size:24px;letter-spacing:-.7px;margin:10px 0 13px}h3{font-size:13px;letter-spacing:.1px}
.eyebrow{letter-spacing:2.2px;font-size:9px;color:#637d80}
p{color:var(--muted);line-height:1.65}.intro{margin-bottom:24px}
label{font-size:12px;color:#385c62;margin-top:18px}input[type=number],select{padding:11px;background:#fbfdfc;margin-top:8px;font-size:13px;border-radius:6px}
.row{gap:12px}.hint{background:#f0f5f2;border-radius:6px;color:#506e70;padding:14px;line-height:1.65}.hint.warn{background:#fbf4e8;color:#80652e}
.stat{padding:12px 0;color:#46646a}.stat b{text-align:right;max-width:62%;overflow-wrap:anywhere;color:#23474e}
#inspector h2{font-size:19px}.check{gap:10px;line-height:1.5}.check input{width:16px;height:16px;flex:none;accent-color:var(--green)}
.course-note{background:#eff5f0}.course-note h3{font-size:18px}
#viewport{background:radial-gradient(ellipse at 48% 42%,#fcfcf8 10%,#edf1eb 100%)}
.view-heading{top:28px;left:28px;right:24px;gap:12px}.view-heading p{max-width:350px;overflow-wrap:anywhere}.tag{white-space:nowrap;border-color:#d0dfdb;color:#5d797c}
#viewtools{left:18px;right:154px;bottom:78px;transform:none;width:auto;max-width:none;flex-wrap:wrap;justify-content:center;gap:3px;padding:6px;background:#fffffff2;box-shadow:0 8px 22px #234b3909}
#viewtools button{padding:9px 10px;min-height:33px;border-radius:5px;font-size:10px}
#viewtools button.active{background:#e2eee8;color:#205d61}
.legend{left:20px;bottom:192px;transform:none;gap:14px;flex-wrap:wrap;font-size:10px}.legend i{width:8px;height:8px}
.axis-widget{width:108px;height:108px;right:20px;bottom:83px}.axis-views{right:16px;bottom:20px;width:116px}
#status{left:20px;right:151px;bottom:17px;max-width:none;font-size:11px}.axis-note{left:20px;right:150px;bottom:54px}
#rimReadiness{border-top:0;background:#f0f5f2;padding:14px;border-radius:7px}#rimReadiness h3{margin:0 0 10px}.design-checks{margin:8px 0;padding-left:16px}.design-checks li{margin:6px 0}.metric{background:#e5efea;line-height:1.6}
#inspectorReadiness{margin-top:22px;padding:16px;background:#eff5f0;border-radius:7px;font-size:12px;line-height:1.6;color:#526f71}#inspectorReadiness h3{margin:0 0 10px;color:var(--ink)}#inspectorReadiness p{margin:6px 0}#inspectorReadiness button{width:100%;margin-top:10px}
.layer-dot{width:9px;height:9px;border-radius:50%;flex:none;margin-left:1px}
footer{color:#73858a;font-size:9px;padding:0 24px}.logo-inverse{filter:brightness(0) invert(1)}
@media(min-width:1500px){main{grid-template-columns:330px minmax(400px,1fr) 280px}aside{padding:30px 28px}.legend{bottom:150px}}
@media(max-width:1200px){main{grid-template-columns:280px minmax(300px,1fr)}#inspector{display:none}.privacy{display:none}nav{gap:12px;padding:0 20px}.brand{font-size:21px}.tag{display:none}}
@media(max-width:740px){header{height:auto;min-height:88px;padding:17px 18px;gap:17px}.brand{font-size:22px}.brand .logo{width:48px;height:46px}.header-actions{width:100%;gap:8px}.header-actions button{flex:1;font-size:11px;padding:10px 8px}nav{height:58px;padding:0 12px;gap:12px}nav button{font-size:11px;white-space:nowrap}nav i{margin-right:5px}main{height:auto;min-height:0;display:flex}#viewport{height:70dvh;min-height:540px}#panel{padding:25px 22px}#inspector{display:block;border-left:0;border-top:1px solid var(--line);padding:25px 22px}.view-heading{top:20px;left:20px}.view-heading p{max-width:85%}h1{font-size:24px}#viewtools{left:12px;right:126px;bottom:94px;padding:4px;gap:1px}#viewtools button{padding:7px 6px;font-size:9px;min-height:28px}.axis-widget{right:10px;width:96px;height:96px;bottom:94px}.axis-views{right:10px;width:100px;bottom:33px}.legend{left:15px;bottom:226px;font-size:9px;gap:10px}#status{left:16px;right:126px;bottom:15px;font-size:10px}.axis-note{display:none}footer{height:auto;padding:12px 16px;gap:8px}footer span:nth-child(2){display:none}}
.row{align-items:flex-end}main{min-height:520px}@media(max-width:740px){main{min-height:0}}
#inspector .stat{padding:8px 0}#inspector .check{margin:9px 0;font-size:11px}#inspector h3{margin-top:18px}#inspectorReadiness h3{margin-top:0}#panel .row{margin-top:5px}#panel .intro{margin-bottom:15px}#panel .row label{font-size:11px}#inspector>label:has(input[type=range]){margin-top:12px}

.posterior-controls{margin:22px 0;padding:14px;background:#f4f0f8;border:1px solid #e3d9ed;border-radius:7px}.posterior-controls h3{margin-top:0}.posterior-controls .landmark button{background:#fff}.posterior-controls .row{margin-top:10px}

.learning-guide .row{flex-wrap:wrap}.learning-guide .row button{min-width:85px;flex:1}
