.chip{border:1px solid var(--color-rule-strong);background:var(--color-surface);min-height:30px;color:var(--color-ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:13px;display:inline-flex}.chip:hover:not(:disabled){background:var(--color-surface-sunk)}.chip.on{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-ink);font-weight:600}.chip:disabled{opacity:.6;cursor:default}.chip .dot,.sess-dots .dot{background:var(--color-rule-strong);border-radius:50%;width:10px;height:10px;display:inline-block}.seg{border:1px solid var(--color-rule-strong);border-radius:var(--radius-control);display:inline-flex;overflow:hidden}.seg-b{background:var(--color-surface);color:var(--color-ink-dim);cursor:pointer;border:0;padding:5px 12px;font-size:13px}.seg-b+.seg-b{border-left:1px solid var(--color-rule-strong)}.seg-b.on{background:var(--color-accent-soft);color:var(--color-accent-ink);font-weight:600}.seg-n{opacity:.8;margin-left:4px;font-size:11px}.questionnaire{flex-direction:column;gap:16px;display:flex}.q-item{flex-direction:column;gap:6px;display:flex}.q-label{font-size:13px}.q-text{resize:vertical;width:100%;min-height:76px}.q-group{border:1px solid var(--color-rule);border-radius:10px;flex-direction:column;gap:14px;padding:12px;display:flex}.q-group>legend{padding:0 6px;font-size:13px;font-weight:600}.q-display{color:var(--color-ink-dim);margin:0;font-size:13px}.q-missing{outline:2px solid var(--color-warning);outline-offset:6px;border-radius:6px}.bodymap-svg{border:1px solid var(--color-rule);background:var(--color-surface);cursor:crosshair;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;max-width:260px;height:auto}.bodymap-svg:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.markrow{border:1px solid var(--color-rule);border-radius:8px}.markrow.on{border-color:var(--color-accent);background:var(--color-accent-soft)}.markrow-b{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:5px 8px;display:flex}.tooth-scroll{overflow-x:auto}.tooth-svg{width:100%;min-width:560px;height:auto}.tooth-svg g[role=button]:focus-visible polygon{stroke:var(--color-focus);stroke-width:2.6px}.series-svg,.preg-svg{width:100%;max-width:560px;height:auto}.series-list{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.series-list li{border-bottom:1px solid var(--color-rule);flex-wrap:wrap;align-items:center;gap:10px;padding:3px 0;font-size:13px;display:flex}.icon-x{width:24px;height:24px;color:var(--color-ink-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;margin-left:auto;font-size:16px;line-height:1}.icon-x:hover{background:var(--color-surface-sunk);color:var(--color-danger)}.link-b{color:var(--color-accent-ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.pill-k{text-transform:uppercase;letter-spacing:.04em;background:var(--color-surface-sunk);color:var(--color-ink-dim);border-radius:4px;padding:1px 6px;font-size:11px}.btn-file{border:1px solid var(--color-rule-strong);border-radius:var(--radius-control);cursor:pointer;background:var(--color-surface);align-items:center;height:28px;padding:0 10px;font-size:13px;display:inline-flex}.btn-step{border:1px solid var(--color-rule-strong);background:var(--color-surface);cursor:pointer;border-radius:50%;width:30px;height:30px;font-size:18px}.sess-dots{flex-wrap:wrap;gap:4px;max-width:280px;display:flex}.sess-dots .dot{border:2px solid var(--color-rule-strong);background:0 0;width:14px;height:14px}.sess-dots .dot.used{background:var(--color-accent);border-color:var(--color-accent)}.sess-dots .dot.over{background:var(--color-danger);border-color:var(--color-danger)}.rx{border-collapse:collapse;font-size:13px}.rx th,.rx td{text-align:center;padding:3px 4px}.rx thead th{color:var(--color-ink-dim);font-size:12px;font-weight:600}.rx-in{text-align:center;width:78px;padding-inline:4px}.allergy-banner{border:2px solid var(--color-danger);background:color-mix(in srgb, var(--color-danger) 10%, var(--color-surface));color:var(--color-ink);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;display:flex}.allergy-banner.none{border-color:var(--color-success);background:color-mix(in srgb, var(--color-success) 10%, var(--color-surface))}.allergy-banner.unknown{border-color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, var(--color-surface))}.allergy-banner .big{letter-spacing:.04em;text-transform:uppercase;color:var(--color-danger);font-size:13px;font-weight:800}.allergy-banner.none .big{color:var(--color-success)}.allergy-banner.unknown .big{color:var(--color-warning)}.glass-bar{background:var(--color-warning);color:#1c1400;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600}.ctl{margin:0;padding:0 0 0 18px;list-style:none;position:relative}.ctl:before{content:"";background:var(--color-rule);width:2px;position:absolute;top:6px;bottom:6px;left:5px}.ctl>li{padding:0 0 14px;position:relative}.ctl>li:before{content:"";background:var(--color-accent);border:2px solid var(--color-surface);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-17px}.diff-add{background:color-mix(in srgb, var(--color-success) 25%, transparent);border-radius:2px;text-decoration:none}.diff-del{background:color-mix(in srgb, var(--color-danger) 22%, transparent);border-radius:2px;text-decoration:line-through}.hist{flex-direction:column;gap:8px;display:flex}.hist-row{border:1px solid var(--color-rule);background:var(--color-surface);text-align:left;cursor:pointer;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.hist-row.on{border-color:var(--color-accent);background:var(--color-accent-soft)}.save-state{color:var(--color-ink-faint);font-size:12.5px}.save-state.bad{color:var(--color-warning);font-weight:600}.note-sheet{background:var(--color-surface)}.builder-row{border:1px solid var(--color-rule);background:var(--color-surface);border-radius:8px;gap:8px;padding:10px;display:grid}.builder-row .builder-row{background:var(--color-surface-sunk);margin-left:12px}@media print{body *{visibility:hidden}.note-sheet,.note-sheet *{visibility:visible}.note-sheet{width:100%;position:absolute;inset:0 auto auto 0;box-shadow:none!important;border:0!important;padding:0!important}.no-print{display:none!important}}
