:root{--primary:#461820;--gold:#b89957;--bg:#f8f5f5;--paper:#fff;--text:#35242c;--line:#e9dfe2;--muted:#8a7782}*{box-sizing:border-box}body{font:14px system-ui,sans-serif;margin:0;background:var(--bg);color:var(--text)}body.dark{--bg:#1d161b;--paper:#2b2229;--text:#f3e9ed;--line:#4a3944;--muted:#c5b0be}button,input,select,textarea{font:inherit}button{border:0;background:var(--primary);color:#fff;padding:11px 15px;border-radius:9px;cursor:pointer}button.secondary{background:#eee3e6;color:#623b49}button:disabled{opacity:.5;cursor:wait}input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--text)}input[type=checkbox]{width:auto}textarea{min-height:85px;resize:vertical}label{display:block;margin:13px 0 6px;font-size:12px;color:var(--muted)}h1{font:29px Georgia;margin:0}h2{font-size:17px;margin:0 0 14px}h3{font-size:14px}p{line-height:1.6;color:var(--muted)}a{color:var(--primary)}aside{position:fixed;inset:0 auto 0 0;width:218px;padding:24px 16px;background:var(--paper);border-right:1px solid var(--line);overflow:auto}aside img{width:100%;border-radius:8px;margin-bottom:24px}nav button{width:100%;text-align:left;background:transparent;color:var(--muted);margin-bottom:5px}nav button.active{background:#efe1e6;color:#662d40}main{margin-left:218px;padding:0 30px 35px}.top{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.top b{display:block}.top small{color:var(--muted)}.heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:25px 0}.card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:20px;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metric{font-size:26px;font-weight:650;margin:10px 0}.small{font-size:12px}.toolbar,.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.toolbar{margin:18px 0}.toolbar input,.toolbar select{width:auto;max-width:240px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}td,th{padding:13px 8px;border-bottom:1px solid var(--line);font-size:13px}th{font-size:11px;color:var(--muted)}.badge{display:inline-block;padding:5px 8px;border-radius:6px;background:#ede5f1;color:#745489;font-size:11px}.warn{background:#fff3d4;color:#8a671c;padding:12px 15px;border-radius:9px;margin:16px 0;font-size:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.login{max-width:440px;margin:5vh auto;padding:25px;background:var(--paper);border-radius:15px}.login img{width:100%;border-radius:9px;margin-bottom:24px}.login button{margin:15px 0 0}.empty{text-align:center;padding:25px;color:var(--muted)}dialog{border:0;border-radius:16px;padding:26px;width:min(780px,95vw);max-height:90vh;overflow:auto;color:var(--text);background:var(--paper)}dialog::backdrop{background:#26132380}.modalfoot{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}#toast{display:none;position:fixed;right:20px;bottom:20px;background:#402331;color:white;z-index:20;padding:16px;max-width:90vw;border-radius:10px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;min-width:850px}.day{border:1px solid var(--line);border-radius:10px;min-height:180px;padding:8px}.day.today{border:2px solid var(--gold)}.dayhead{background:transparent;color:var(--text);width:100%;padding:7px}.event{width:100%;text-align:left;padding:8px;margin:7px 0;color:#33232d;border-left:3px solid #8c6275;font-size:11px}.event b,.event span{display:block;margin-bottom:5px}.calendar.month .day{min-height:90px}.teethgrid{display:grid;grid-template-columns:repeat(16,1fr);min-width:640px;gap:5px;margin:16px 0}.tooth{padding:5px 2px;background:transparent;color:var(--text);border:1px solid var(--line)}.tooth svg{width:100%;height:55px;display:block}.tooth small{font-size:10px}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;margin:15px 0}.legend i{width:10px;height:10px;display:inline-block;border-radius:2px;margin-right:4px}.timeline{border-left:2px solid var(--line);padding-left:18px}.timeline article{padding:12px 0;border-bottom:1px solid var(--line)}.bar{height:14px;border-radius:5px;background:var(--gold)}.itemrow{display:grid;grid-template-columns:1fr 80px 110px 35px;gap:6px;margin:9px 0}.itemrow textarea{min-height:45px}.itemrow button{padding:5px}.paper{background:white;color:#281d22;max-width:210mm;margin:auto;padding:15mm;line-height:1.6;font:12pt Arial}.paper img{width:100%}.paper h1{text-align:center;font:20pt Arial}.paper p{color:#281d22;white-space:pre-wrap}.signature{margin-top:45px;border-top:1px solid #555;padding-top:8px;text-align:center}.paper table{width:100%;table-layout:fixed}.paper td{overflow-wrap:anywhere}.paper .footer{text-align:center;font-size:9pt;margin-top:30px}.chart{width:100%}.hide{display:none!important}@media(max-width:950px){.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}@media(max-width:700px){aside{position:static;width:auto;padding:15px}.brand{max-width:330px;margin:auto}aside img{margin-bottom:10px}nav{display:flex;overflow:auto}nav button{width:auto;white-space:nowrap;margin:0}main{margin:0;padding:0 14px 24px}.heading,.top{flex-wrap:wrap}.heading h1{font-size:25px}.card{padding:15px}.cards{gap:8px}.metric{font-size:23px}.itemrow{grid-template-columns:1fr 55px 80px 25px}.itemrow textarea{font-size:12px}.paper{padding:10px;font-size:11pt}.modalfoot button{padding:10px}.login{margin:15px}.top .actions button{font-size:11px;padding:8px}}@media print{@page{size:A4;margin:12mm}body{background:#fff;color:#000}body>*{display:none!important}body>.printroot{display:block!important}.paper{padding:0;max-width:none}.paper h2{break-after:avoid}.paper tr{break-inside:avoid}.noprint{display:none!important}.paper .signature{break-inside:avoid}}

@media print{dialog::backdrop{display:none!important}}

/* Identidade por profissional e paleta acessível pelo botão Tema. */
.brand img{height:90px;object-fit:contain}.logo-preview{display:block;max-width:100%;width:300px;height:110px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:8px}.logo-editor{margin-top:20px;padding-top:10px;border-top:1px solid var(--line)}.palette-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.palette{background:var(--paper);color:var(--text);border:1px solid var(--line);text-align:left;line-height:1.5}.palette:focus-visible{outline:3px solid var(--gold)}.swatches{display:flex;gap:4px;margin-bottom:8px}.swatches i{width:28px;height:28px;border-radius:50%;border:1px solid #888}.theme-preview{margin-top:20px;padding:20px;border:2px solid var(--preview-gold);border-radius:12px;background:#fff;color:var(--preview-primary)}.theme-preview span{display:block;margin-top:12px}.theme-preview .preview-button{display:inline-block;padding:10px 16px;border-radius:8px;background:var(--preview-primary);color:#fff;border-bottom:3px solid var(--preview-gold)}.document-logo{max-height:140px;object-fit:contain}@media(max-width:600px){.palette-grid{grid-template-columns:repeat(2,1fr)}}

input[type=color]{height:48px;padding:5px;cursor:pointer}nav button.active{background:color-mix(in srgb,var(--primary) 12%,var(--paper));color:var(--text);border-left:3px solid var(--gold)}button.secondary{background:color-mix(in srgb,var(--primary) 10%,var(--paper));color:var(--text)}

.exam-list{display:grid;gap:12px}.exam-item{border-top:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between;gap:16px;align-items:center}.exam-item p{overflow-wrap:anywhere;margin:8px 0}.exam-preview{width:100%;max-height:65vh;object-fit:contain;background:#f4f4f4;border-radius:8px}.exam-item .actions{flex-shrink:0}@media(max-width:700px){.exam-item{align-items:start;flex-direction:column}}
