:root{--canvas:#f3f2f1;--surface:#fff;--ink:#201f1e;--ink-2:#57554f;--grid:#e1dfdd;--line:#d2d0ce;--accent:#2a78d6;--accent-ink:#fff;--warn-bg:#fff4ce;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas:#141413;--surface:#1f1f1d;--ink:#f5f4f0;--ink-2:#c3c2b7;--grid:#36352f;--line:#4a4943;--accent:#3987e5;--warn-bg:#3b3210;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--canvas:#141413;--surface:#1f1f1d;--ink:#f5f4f0;--ink-2:#c3c2b7;--grid:#36352f;--line:#4a4943;--accent:#3987e5;--warn-bg:#3b3210;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{height:100%}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:14px}h1,h2,h3{margin:0;font-weight:600}.muted{color:var(--ink-2)}.small{font-size:12px}.logo{color:#f2c811;letter-spacing:-2px;margin-right:6px;font-weight:900}.visual{background:var(--surface);border:1px solid var(--grid);border-radius:4px;min-width:0;padding:12px 14px}.v-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.v-head h3{font-size:13px}.btn{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:2px;padding:6px 14px}.btn:hover:not(:disabled){background:var(--canvas)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){filter:brightness(1.1);background:var(--accent)}.btn.big{margin-top:12px;padding:10px 28px;font-size:15px}.btn.ghost[aria-pressed=true]{background:var(--canvas)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.upload-page{flex-direction:column;align-items:stretch;gap:16px;max-width:760px;min-height:100%;margin:0 auto;padding:40px 16px;display:flex}.upload-head{align-items:center;gap:12px;display:flex}.upload-head h1{font-size:24px}.dropzone{text-align:center;border:2px dashed var(--line);padding:48px 16px}.dropzone.over{border-color:var(--accent);background:var(--canvas)}.dz-title{margin:0 0 4px;font-size:18px;font-weight:600}.info ul{margin:8px 0;padding-left:20px;line-height:1.6}.loading{flex-direction:column;align-items:center;gap:8px;display:flex}.spinner{border:3px solid var(--grid);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:1s linear infinite gira}@keyframes gira{to{transform:rotate(360deg)}}.map-grid{grid-template-columns:1fr 1fr;gap:10px 16px;margin:12px 0;display:grid}.map-grid select{width:100%;min-width:0}.map-grid label{flex-direction:column;gap:3px;min-width:0;font-size:12px;display:flex}.row-gap{justify-content:flex-end;gap:8px;display:flex}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--grid);align-items:center;gap:16px;padding:8px 16px;display:flex}.brand{white-space:nowrap;font-size:15px;font-weight:600}.file{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.actions{gap:8px;display:flex}.body{flex:1;min-height:0;display:flex}.canvas{flex-direction:column;flex:1;gap:12px;min-width:0;padding:12px 16px 24px;display:flex;overflow:auto}.pane{background:var(--surface);border-left:1px solid var(--grid);flex-direction:column;flex-shrink:0;gap:12px;width:260px;padding:12px 14px;display:flex;overflow:auto}.pane h2{font-size:15px}.fld{color:var(--ink-2);flex-direction:column;gap:3px;font-size:12px;display:flex}.fld input,.fld select,.map-grid select{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:2px;padding:5px 6px}fieldset{border:0;border-top:1px solid var(--grid);margin:0;padding:8px 0 0}legend{padding:0 4px 0 0;font-size:12px;font-weight:600}.chk{align-items:flex-start;gap:6px;padding:2px 0;font-size:13px;display:flex}.lista-gen{max-height:220px;margin-top:6px;overflow:auto}summary{cursor:pointer;font-size:12px;font-weight:600}.aviso{background:var(--warn-bg);border-radius:3px;padding:6px 10px;font-size:12px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font:inherit;border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:12px;padding:3px 10px;font-size:12px}.chip.clear{border-color:var(--line);color:var(--ink-2)}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.kpi{flex-direction:column;gap:2px;display:flex}.kpi-label{color:var(--ink-2);min-height:32px;font-size:12px}.kpi-value{font-variant-numeric:tabular-nums;font-size:30px;font-weight:300;line-height:1.1}.kpi-hi{border-top:3px solid var(--accent)}.kpi-sub{color:var(--ink-2);font-size:11px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.span2{grid-column:span 2}.tabs{border-bottom:1px solid var(--grid);gap:2px;margin-bottom:6px;display:flex}.tabs button{font:inherit;cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 12px}.tabs button.on{color:var(--ink);border-color:var(--accent);font-weight:600}.table-wrap{max-height:380px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{background:var(--surface);text-align:left;border-bottom:1px solid var(--line);padding:6px 8px;font-weight:600;position:sticky;top:0}td{border-bottom:1px solid var(--grid);padding:5px 8px}tbody tr{cursor:pointer}tbody tr:hover{background:var(--canvas)}.n{text-align:right;font-variant-numeric:tabular-nums}tr.gen td{color:var(--ink-2)}em{font-size:11px}.tag{background:var(--s2);color:#fff;border-radius:8px;margin-left:6px;padding:1px 6px;font-size:10px}@media (width<=1100px){.grid{grid-template-columns:1fr 1fr}.span2{grid-column:span 2}}@media (width<=720px){.grid{grid-template-columns:1fr}.span2{grid-column:auto}.pane{z-index:5;width:280px;position:fixed;inset:0 0 0 auto;box-shadow:-4px 0 12px #0003}.topbar{flex-wrap:wrap}.file{display:none}.map-grid{grid-template-columns:1fr}}:root{--ok:#107c10;--perigo:#c50f1f}:root[data-theme=dark]{--ok:#54b054;--perigo:#ff6b6b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ok:#54b054;--perigo:#ff6b6b}}.vet{color:#f2c811;font-weight:700}.brand-sub{color:var(--ink-2);font-weight:400}.logo.grande{font-size:40px}.topbar{flex-wrap:wrap;gap:12px}.clinica-nome{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-2);border-left:1px solid var(--grid);flex:1;padding-left:12px;overflow:hidden}.nav{gap:2px;display:flex}.nav a{color:var(--ink-2);white-space:nowrap;border-bottom:2px solid #0000;padding:6px 12px;text-decoration:none}.nav a:hover{color:var(--ink)}.nav a.on{color:var(--ink);border-color:var(--accent);font-weight:600}.usuario{align-items:center;gap:8px;display:flex}.usuario>span{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.faixa{background:var(--warn-bg);padding:6px 16px;font-size:13px}.faixa a{color:var(--accent)}.toolbar{align-items:center;gap:12px;display:flex}.toolbar .file{display:block}.pagina{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow:auto}.pagina>.visual,.pagina>.kpis{width:100%;max-width:1400px;margin:0 auto}.pagina .upload-page{width:100%;min-height:0;padding:8px 0 24px}.centro{text-align:center;flex:1;justify-content:center;align-items:center;gap:12px;min-height:60vh;padding:24px;display:flex}.centro.col{flex-direction:column}.vazio h2{font-size:20px}.vazio p{max-width:520px}.login-page{justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex}.login{border-top:3px solid #f2c811;flex-direction:column;gap:12px;width:100%;max-width:400px;padding:28px 28px 20px;display:flex}.login h1{margin-top:12px;font-size:22px}.login .btn.big{margin-top:4px}.fld input,.fld select,.busca,.form.inline input,.form.inline select,td select{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:2px;min-width:0;padding:7px 8px}td select{padding:3px 4px}.ok{color:var(--ok)}.erro{color:var(--perigo)}.btn.perigo{border-color:var(--perigo);color:var(--perigo)}.btn.perigo:hover:not(:disabled){background:var(--perigo);color:#fff}.btn.small{padding:3px 8px;font-size:12px}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--canvas)}.btn.x{padding:2px 8px}.acoes{white-space:nowrap}tr.sem-clique{cursor:default}.table-wrap.alto{max-height:calc(100vh - 260px)}.badge{border:1px solid var(--line);color:var(--ink-2);border-radius:10px;padding:2px 8px;font-size:11px}.badge.ok{border-color:var(--ok);color:var(--ok)}code{background:var(--canvas);word-break:break-all;border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.aviso-tag{background:#b8860b}.barra{background:var(--grid);border-radius:3px;width:260px;max-width:100%;height:6px;overflow:hidden}.barra>div{background:var(--accent);height:100%;transition:width .2s}.sucesso{border-top:3px solid var(--ok);flex-direction:column;gap:12px;display:flex}.sucesso h2{color:var(--ok);font-size:18px}.modal-fundo{z-index:20;background:#00000073;justify-content:center;align-items:flex-start;padding:6vh 16px;display:flex;position:fixed;inset:0;overflow:auto}.modal{flex-direction:column;gap:12px;width:100%;max-width:480px;padding:16px 18px;display:flex;box-shadow:0 10px 40px #0000004d}.modal.largo{max-width:820px}.modal-head{margin:0}.modal-head h3{font-size:15px}.form{flex-direction:column;gap:12px;display:flex}.form.inline{border-top:1px solid var(--grid);flex-flow:wrap;align-items:center;padding-top:12px}.form.inline input{flex:160px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;display:grid}.form-grid .span-2{grid-column:span 3}.ficha{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 16px;margin:0;display:grid}.ficha dt{color:var(--ink-2);font-size:11px}.ficha dd{margin:0}.texto-receita{white-space:pre-wrap;font:inherit;background:var(--canvas);border:1px solid var(--grid);max-height:50vh;margin:0;padding:12px 14px;font-size:13px;line-height:1.55;overflow:auto}.busca{width:200px}@media (width<=720px){.clinica-nome{display:none}.nav{order:3;width:100%;overflow-x:auto}.toolbar{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.busca{width:120px}.table-wrap.alto{max-height:none}}
