.chart-workspace{padding:12px}.chart-toolbar,.chart-stages,.chart-categories{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.chart-stages button[aria-pressed=true],.chart-categories button[aria-pressed=true]{background:var(--blue);border-color:var(--accent-line);color:#fff}.chart-teeth{overflow-x:auto;margin:8px 0 18px}.chart-arch{display:grid;grid-template-columns:repeat(16,minmax(42px,1fr));min-width:760px;max-width:1100px;margin:auto}.chart-tooth{padding:1px!important;background:transparent!important;border:1px solid transparent!important;position:relative;display:flex;flex-direction:column;align-items:center}.chart-tooth .tooth-geometry{height:145px;max-width:100%;width:55px}.chart-tooth[aria-pressed=true]{background:var(--accent-soft)!important;border-color:var(--accent-line)!important;border-radius:5px}.chart-tooth span{font-size:12px}.chart-tooth i{position:absolute;bottom:17px;width:6px;height:6px;border-radius:50%;background:var(--accent-line)}.chart-categories{justify-content:center}.chart-categories button{padding:5px 10px;font-size:12px}.chart-catalog{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0;padding:10px}.chart-catalog>input{max-width:360px;margin-right:8px}.chart-procedures{display:flex;flex-wrap:wrap;gap:6px;padding-top:10px}.chart-procedures button{text-align:left}.chart-operations>label{display:flex;gap:10px;align-items:center;margin-bottom:8px}.chart-tooth-checks{display:flex;flex-wrap:wrap;gap:7px;border:1px solid var(--line)}.chart-tooth-checks label{display:flex;gap:3px;align-items:center}.chart-dialog textarea{min-height:80px}.chart-operations td{white-space:normal;max-width:250px}
.chart-catalog-dialog{width:min(600px,90vw);max-height:75vh;background:#202427;color:var(--text);border:1px solid var(--line);border-radius:7px;padding:0}.chart-catalog-dialog::backdrop{background:var(--stripe)}.chart-catalog-dialog .chart-procedures{display:flex;flex-direction:column;max-height:50vh;overflow:auto}.chart-catalog-dialog .chart-procedures button{padding:9px}.chart-secondary-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:15px}.chart-secondary-tabs button,.chart-secondary-tabs a{padding:10px;white-space:nowrap;background:transparent;border:0;color:var(--muted)}.chart-secondary-tabs button[aria-pressed=true]{border-bottom:2px solid var(--accent-line);color:var(--accent-line)}.chart-secondary-tabs button:disabled{opacity:.4}.chart-toolbar>select{max-width:180px}.chart-categories{margin:10px 0}
/* Conditions mode (chart-conditions-quotations-observed.json). */
.chart-modes{display:inline-flex}.chart-modes button{border-radius:0}.chart-modes button:first-child{border-radius:6px 0 0 6px}.chart-modes button:last-child{border-radius:0 6px 6px 0}.chart-modes button[aria-checked=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.chart-version{width:60px;height:32px}
.chart-tooth{position:relative}.chart-cond{position:absolute;top:4px;right:4px;width:9px;height:9px;border-radius:50%;background:#ff3636;box-shadow:0 0 0 2px #0006}
.chart-conditions-list{margin:12px 0}.chart-resolved td{opacity:.55;text-decoration:line-through}

/* Phase C: Start/End Session buttons (dashboard rows, active-appointment banner, appointment drawer) and the chart Invoice bar. */
.session-start,.session-end{border:0;border-radius:4px;padding:3px 10px;font-weight:600;cursor:pointer;color:#fff;white-space:nowrap}
.session-start{background:#6c249c}
.session-end{background:var(--ok-fill)}
.patient-context .session-start,.patient-context .session-end{margin-left:10px}
.chart-invoice-bar{display:flex;align-items:center;gap:12px;margin-top:10px}
.chart-invoice-bar small{color:var(--muted)}

/* Phase G (cont.): insurance approval chips on chart operations. */
.ins-approval{border:0;border-radius:10px;padding:1px 8px;margin-left:6px;font-size:12px;cursor:pointer;color:#fff}
.ins-pending{background:var(--danger-fill)}.ins-approved{background:var(--ok)}.ins-rejected{background:#6c757d}
.patient-insurance .file-facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.chart-deciduous .chart-tooth .tooth-geometry{height:112px;width:46px}
.chart-missing{opacity:.28}.chart-missing::after{content:'✕';position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);font-size:34px;color:var(--danger);pointer-events:none}
.chart-marks{position:absolute;top:2px;left:0;right:0;display:flex;flex-wrap:wrap;justify-content:center;gap:2px;pointer-events:none}
.chart-fx,.chart-surf{font-style:normal;font-size:10px;font-weight:700;line-height:14px;padding:0 3px;border-radius:3px;color:#fff;background:#4a5560}
.chart-stage-P{background:#c0392b}.chart-stage-IN{background:#d98b1c}.chart-stage-C{background:#1f8f4e}.chart-stage-E{background:#6b5bb5}
.chart-surface-checks{display:flex;flex-wrap:wrap;gap:12px;border:1px solid var(--line)}.chart-surface-checks small{color:var(--muted)}
.chart-child-check{color:var(--warn)}
.chart-plus{position:relative;display:inline-block;margin-left:6px}.chart-plus-menu{position:absolute;z-index:20;top:100%;left:0;display:flex;flex-direction:column;min-width:170px;background:var(--raised);border:1px solid var(--line);border-radius:4px;padding:4px}
.chart-plus-menu[hidden]{display:none}.chart-plus-menu button{text-align:left;border:0;background:none}.chart-plus-menu button:hover{background:var(--accent-soft)}
.chart-steps{display:flex;flex-direction:column;gap:10px;padding-left:20px}.chart-steps li.done b{text-decoration:line-through;color:var(--ok)}
.chart-steps-edit table{width:100%}.chart-steps-edit input[type=number]{width:90px}
.chart-proc-row{display:flex;gap:4px}.chart-proc-row>button:first-child{flex:1}
