@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#21342f;--muted:#73817c;--green:#56156f;--green-dark:#3f1053;--mint:#f2eaf5;--line:#e3e9e5;--paper:#fff;--bg:#f5f7f5;--amber:#ba8b46}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}.shell{max-width:980px;margin:auto;padding:0 28px 55px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:1.2px}.brand-mark{background:var(--green);border-radius:8px;color:#fff;font-family:Manrope,sans-serif;font-size:19px;letter-spacing:-1px;padding:8px 9px}.brand small{display:block;margin-top:4px;color:#84918b;font-size:9px;letter-spacing:1.6px}.secure-note,.local-note{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.dot{width:7px;height:7px;border-radius:50%;background:#8db39f;display:inline-block}.intro{padding:42px 0 25px}.eyebrow{font-size:10px;letter-spacing:1.65px;color:var(--green);font-weight:700}.intro h1{font:700 34px Manrope,Arial,sans-serif;letter-spacing:-1.25px;margin:8px 0}.intro p,.subtext{color:var(--muted);line-height:1.6;margin:0}.steps{display:flex;align-items:center;gap:13px;margin-top:26px;color:#9aa59f;font-size:12px}.steps i{width:44px;height:1px;background:#dfe5e1}.step b{font-size:10px;margin-right:5px}.step.active{color:var(--green);font-weight:600}.card{background:var(--paper);border:1px solid #e8ece9;border-radius:14px;padding:27px 30px;margin:15px 0;box-shadow:0 3px 12px #24433606}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:23px}.section-head h2,.review-dialog h2{font:700 20px Manrope,sans-serif;letter-spacing:-.5px;margin:5px 0 6px}.required-note,.optional{font-size:11px;color:#929e98;font-weight:400}.grid{display:grid;gap:17px 18px}.two{grid-template-columns:1fr 1fr}.compact{max-width:620px;margin-top:21px}label{display:block;font-size:12px;font-weight:600;color:#52635c}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #dce4df;border-radius:7px;background:#fff;min-height:42px;padding:10px 12px;font:400 13px 'DM Sans',sans-serif;color:var(--ink);outline:none;transition:border .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{border-color:#9b78a7!important;box-shadow:0 0 0 3px #f4eff6}input::placeholder,textarea::placeholder{color:#a5afaa}textarea{resize:vertical;min-height:115px;line-height:1.55}.privacy-note{display:flex;gap:9px;align-items:flex-start;background:#f7f3f8;border-radius:7px;padding:11px 13px;margin-top:18px;color:#718078}.privacy-note>span{color:var(--green)}.privacy-note p{font-size:11px;line-height:1.5;margin:0}.appliance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.appliance{position:relative;min-height:104px;border:1px solid var(--line);border-radius:9px;padding:13px 14px;cursor:pointer;transition:.15s}.appliance:hover{border-color:#b9a4c3}.appliance.selected{background:#f5f0f7;border-color:#a88bb3;box-shadow:inset 0 0 0 1px #a88bb3}.appliance input{position:absolute;opacity:0;pointer-events:none}.appliance strong{display:block;font-size:13px;margin:8px 0 3px}.appliance small{font-size:11px;color:var(--muted)}.ap-icon{font-size:18px;color:var(--green)}.other-card .ap-icon{font-size:19px}.tooth-head{align-items:center}.tooth-head .subtext{font-size:12px}.text-button{border:0;background:none;color:var(--green);font:600 12px 'DM Sans';cursor:pointer;padding:8px}.chart-wrap{max-width:700px;margin:0 auto;padding:18px 20px 14px;border:1px solid #e9eeeb;border-radius:10px;background:#fbfcfb}.chart-title{display:flex;justify-content:center;align-items:center;position:relative;color:#8b9891;font-size:9px;letter-spacing:1.3px;font-weight:700;margin:3px 0 10px}.chart-title .midline{position:absolute;right:0;color:#acb5b0;font-size:8px;letter-spacing:.7px}.teeth-row{display:flex;justify-content:center;gap:5px;padding:0 0 0}.teeth-row.reverse{margin-top:5px}.tooth{width:37px;height:48px;border:1px solid #d8e1db;background:#fff;border-radius:45% 45% 38% 38%;color:#6b7a72;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;transition:.15s;box-shadow:0 1px 2px #20392d0a}.tooth:hover{border-color:#9b78a7;transform:translateY(-2px)}.tooth.selected{background:#32745f;border-color:#32745f;color:white;box-shadow:0 2px 6px #32745f35}.tooth .shape{width:11px;height:14px;border:1px solid currentColor;border-radius:50% 50% 38% 38%;opacity:.6}.tooth .num{font-size:9px;font-weight:700;line-height:1}.arch-divider{height:1px;background:#e6ebe8;margin:18px 17px}.lower-title{margin-top:10px}.selection-bar{display:flex;align-items:center;gap:12px;border-top:1px solid #e8eeea;margin-top:17px;padding-top:12px}.selection-label{font-size:9px;letter-spacing:1.2px;font-weight:700;color:#95a19a}.selected-teeth{font-size:12px;color:var(--green);font-weight:600}.legend{display:flex;gap:20px;justify-content:center;color:#87938d;font-size:10px;margin-top:12px}.legend span{display:flex;align-items:center;gap:6px}.tooth-dot{height:9px;width:9px;border:1px solid #abbab0;border-radius:50%;display:inline-block}.tooth-dot.chosen{background:var(--green);border-color:var(--green)}.check-group{border:0;padding:0;margin:20px 0}.check-group legend{padding:0 0 11px;font-size:12px;font-weight:600}.check-group legend .optional{margin-left:6px}.checks{display:flex;flex-wrap:wrap;gap:9px}.checks label{border:1px solid var(--line);border-radius:20px;padding:8px 12px;font-size:11px;font-weight:500;cursor:pointer}.checks input{accent-color:var(--green);vertical-align:middle}.upload{margin-top:19px;border:1px dashed #b9c9bf;border-radius:9px;padding:16px;display:flex;align-items:center;gap:13px;cursor:pointer;background:#fbfcfb}.upload:hover{background:#f5f9f6;border-color:#9b78a7}.upload input{display:none}.upload-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:8px;background:var(--mint);color:var(--green);font-size:19px;flex:none}.upload strong,.upload small,.file-list{display:block}.upload strong{font-size:12px;color:var(--ink)}.upload small{font-weight:400;font-size:10px;color:#85928b;margin-top:4px}.file-list{font-size:10px;color:var(--green);margin-top:5px}.browse{margin-left:auto;border:1px solid #d8e2dc;padding:8px 11px;border-radius:6px;background:white;font-size:11px;white-space:nowrap}.upload-hint{font-size:10px;color:#89968f;margin:8px 1px 0}.action-row{display:flex;justify-content:space-between;align-items:center;padding:10px 1px 0}.primary,.secondary{border:0;border-radius:7px;padding:12px 17px;font:600 12px 'DM Sans';cursor:pointer}.primary{background:var(--green);color:white;box-shadow:0 3px 8px #56156f2c}.primary:hover{background:var(--green-dark)}.primary span{margin-left:18px;font-size:16px;vertical-align:-1px}.secondary{background:#eef3ef;color:var(--green)}footer{display:flex;gap:5px;align-items:center;color:#8a9790;font-size:11px;padding:25px 1px 0}footer a{color:var(--green);text-decoration:none}footer span{margin-left:auto}.form-error{margin:14px 0;padding:12px 14px;border-radius:7px;color:#8c4338;background:#fbefed;font-size:12px}.review-dialog{border:0;border-radius:14px;padding:30px;width:min(620px,calc(100% - 30px));box-shadow:0 18px 80px #16261d44;color:var(--ink)}.review-dialog::backdrop{background:#14251fc4;backdrop-filter:blur(2px)}.review-dialog h2{font-size:24px;margin:7px 0}.review-dialog .subtext{font-size:12px}.close{position:absolute;right:16px;top:13px;background:none;border:0;font-size:25px;color:#87938d;cursor:pointer}.review-content{margin:20px 0;border:1px solid var(--line);border-radius:8px;max-height:45vh;overflow:auto}.review-row{display:grid;grid-template-columns:145px 1fr;gap:14px;padding:10px 12px;border-bottom:1px solid #edf0ee;font-size:12px;line-height:1.45}.review-row:last-child{border-bottom:0}.review-row strong{color:#819088;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.dialog-actions{display:flex;justify-content:space-between;gap:10px}.dialog-note{margin:14px 0 0;color:#8a9690;font-size:10px;line-height:1.5}@media(max-width:650px){.shell{padding:0 15px 36px}.topbar{height:68px}.secure-note{font-size:10px}.intro{padding:32px 0 17px}.intro h1{font-size:29px}.card{padding:21px 17px}.two{grid-template-columns:1fr;gap:13px}.appliance-grid{grid-template-columns:repeat(2,1fr)}.tooth{width:31px;height:43px}.teeth-row{gap:3px}.chart-wrap{padding:15px 8px}.chart-title .midline{right:4px}.legend{gap:10px;font-size:9px}.action-row{align-items:flex-end}.local-note{max-width:145px;font-size:10px}.primary{padding:12px 13px}.primary span{margin-left:7px}.upload{flex-wrap:wrap}.browse{margin-left:auto}.upload>span:nth-child(2){max-width:calc(100% - 50px)}footer{flex-wrap:wrap}footer span{width:100%;margin:8px 0 0}.steps{gap:8px}.steps i{width:23px}}
