:root{--bg: #f6f7f9;--card: #fff;--ink: #1c2733;--muted: #6b7a8c;--accent: #0b6e6e;--accent-ink: #fff;--danger: #b3261e;--line: #dde3ea;font-family:system-ui,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}.hidden{display:none!important}#main-nav{display:flex;gap:.5rem;align-items:center;padding:.5rem .75rem;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0}#main-nav .brand{font-weight:700;color:var(--accent);margin-right:.5rem}#main-nav button{border:0;background:none;padding:.5rem .75rem;cursor:pointer;border-radius:8px;color:var(--muted)}#main-nav button.active{background:var(--accent);color:var(--accent-ink)}main{padding:1rem;max-width:900px;margin:0 auto}.auth-gate{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg)}.auth-card{background:var(--card);padding:2rem;border-radius:12px;border:1px solid var(--line);display:flex;flex-direction:column;gap:.75rem;width:min(320px,90vw)}.auth-card input,.auth-card button{padding:.6rem;border-radius:8px;border:1px solid var(--line);font-size:1rem}.auth-card button{background:var(--accent);color:var(--accent-ink);border:0;cursor:pointer}.error{color:var(--danger);min-height:1em;margin:0;font-size:.85rem}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:1rem}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem}.field label{font-size:.8rem;color:var(--muted)}.field input,.field select,.field textarea{padding:.5rem;border:1px solid var(--line);border-radius:8px;font-size:1rem}.chip,.tooth{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.35rem .7rem;margin:.15rem;cursor:pointer}.chip.on,.tooth.on,.seg button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tooth{border-radius:6px;padding:.3rem .45rem;font-size:.8rem}.tooth-row{display:flex;flex-wrap:wrap}.chip-group-name{display:block;font-size:.75rem;color:var(--muted);margin-top:.5rem}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{border:0;background:none;padding:.4rem .8rem;cursor:pointer}.toast{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:8px;z-index:50}.toast.err{background:var(--danger)}.overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:40}.dialog{background:var(--card);border-radius:12px;padding:1.25rem;width:min(420px,92vw)}.btn-primary{background:var(--accent);color:var(--accent-ink);border:0;padding:.7rem 1.4rem;border-radius:8px;font-size:1rem;cursor:pointer}.btn-secondary{background:var(--card);border:1px solid var(--line);padding:.5rem 1rem;border-radius:8px;cursor:pointer}.btn-danger{background:var(--danger);color:#fff;border:0;padding:.5rem 1rem;border-radius:8px;cursor:pointer}.result{padding:.5rem;border-bottom:1px solid var(--line);cursor:pointer}.result:hover{background:var(--bg)}.muted{color:var(--muted);font-size:.85rem}.warn{color:var(--danger);font-weight:600}.link{border:0;background:none;color:var(--accent);cursor:pointer;text-decoration:underline}
