@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{font-family:'Poppins',system-ui,-apple-system,sans-serif;background:#f5f7fb;-webkit-tap-highlight-color:transparent}
#root{height:100%}
.mx-app{--blue:#0D468D;--green:#359950;--ink:#12202f;--mut:#5d6c7d;--bd:#e3e8ef;--bg:#f5f7fb;--tint:#eaf1fb;--tintg:#e7f5ec;--wa:#25D366;
  font-family:'Poppins',system-ui,sans-serif;color:var(--ink);background:var(--bg);min-height:100vh}
.mx-center{display:flex;align-items:center;justify-content:center;min-height:100vh}
.mx-loading{display:flex;align-items:center;gap:9px;color:var(--mut);font-size:14px;padding:24px}
.mx-dot{width:9px;height:9px;border-radius:50%;background:var(--blue);animation:mxp 1s infinite}
@keyframes mxp{0%,100%{opacity:.3}50%{opacity:1}}
.mx-shell{display:flex;min-height:100vh}
.mx-side{width:212px;flex-shrink:0;background:var(--blue);color:#fff;display:flex;flex-direction:column;padding:18px 12px;position:sticky;top:0;height:100vh}
.mx-brand{display:flex;align-items:center;gap:10px;padding:4px 6px 18px}
.mx-logo{width:38px;height:38px;border-radius:10px;background:#fff;color:var(--blue);font-weight:700;font-size:20px;display:flex;align-items:center;justify-content:center}
.mx-logoimg{max-width:100%;max-height:56px;object-fit:contain;background:#fff;border-radius:9px;padding:6px}
.mx-brand-name{font-weight:700;font-size:17px;line-height:1}
.mx-brand-sub{font-size:11px;opacity:.7;margin-top:2px}
.mx-nav{display:flex;flex-direction:column;gap:3px;margin-top:6px}
.mx-navbtn{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;color:#dbe6f7;border-radius:9px;cursor:pointer;font-size:13.5px;font-family:inherit;text-align:left;transition:.12s}
.mx-navbtn:hover{background:rgba(255,255,255,.1);color:#fff}
.mx-navbtn.on{background:#fff;color:var(--blue);font-weight:600}
.mx-side-foot{margin-top:auto;padding-top:14px}
.mx-badge-store{display:flex;align-items:center;gap:6px;font-size:11px;color:#cfe0f6;background:rgba(255,255,255,.09);padding:7px 10px;border-radius:8px}
.mx-main{flex:1;display:flex;flex-direction:column;min-width:0}
.mx-top{height:56px;flex-shrink:0;background:#fff;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:0 22px;position:sticky;top:0;z-index:20}
.mx-sede,.mx-prof{display:flex;align-items:center;gap:7px;color:var(--mut);font-size:13px}
.mx-profpic{width:28px;height:28px;border-radius:50%;object-fit:cover}
.mx-top select{border:1px solid var(--bd);border-radius:7px;padding:5px 8px;font-family:inherit;font-size:13px;color:var(--ink);background:#fff;cursor:pointer}
.mx-body{padding:24px;flex:1}
.mx-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.mx-h1{font-size:22px;font-weight:700;margin:0}
.mx-sub{color:var(--mut);font-size:13px;margin-top:3px}
.mx-h4{font-size:14px;font-weight:600;margin:0 0 4px}
.mx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.mx-stat{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:16px;display:flex;align-items:center;gap:13px}
.mx-stat-ic{width:40px;height:40px;border-radius:10px;background:var(--tint);color:var(--blue);display:flex;align-items:center;justify-content:center}
.mx-stat-n{font-size:24px;font-weight:700;line-height:1}
.mx-stat-l{font-size:12px;color:var(--mut);margin-top:3px}
.mx-card{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:18px;margin-bottom:16px}
.mx-card.p0{padding:0;overflow:hidden}
.mx-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.mx-card-head.plain{margin:2px 0 12px}
.mx-card-head h3{font-size:15px;font-weight:600;margin:0}
.mx-divider{height:1px;background:var(--bd);margin:16px 0}
.mx-list{list-style:none;margin:0;padding:0}
.mx-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--bd);cursor:pointer;transition:.1s}
.mx-row:last-child{border-bottom:none}
.mx-row:hover{background:var(--tint)}
.mx-row.static{cursor:default}.mx-row.static:hover{background:transparent}
.mx-row.wrap{flex-wrap:wrap}
.mx-ava{width:38px;height:38px;border-radius:10px;background:var(--blue);color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase}
.mx-ava.green{background:var(--green)}
.mx-ava.img{object-fit:cover}
.mx-ava.lg{width:52px;height:52px;font-size:22px;border-radius:13px}
.mx-row-main{flex:1;min-width:170px}
.mx-row-t{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx-row-s{font-size:12px;color:var(--mut);margin-top:2px}
.mx-flip{transform:rotate(180deg);color:#b7c2cf}
.mx-hora{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--blue);white-space:nowrap;background:var(--tint);border-radius:8px;padding:6px 10px}
.mx-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--bd);border-radius:10px;padding:9px 13px;margin-bottom:14px;color:var(--mut)}
.mx-search input{border:none;outline:none;flex:1;font-family:inherit;font-size:14px;color:var(--ink);background:transparent}
.mx-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:4px 9px;border-radius:20px;white-space:nowrap;border:none;font-family:inherit}
.mx-tag.red{background:#fdeae4;color:#c23c17}.mx-tag.green{background:var(--tintg);color:#1f7a3f}
.mx-tag.blue{background:var(--tint);color:var(--blue)}.mx-tag.gray{background:#eef1f5;color:#5d6c7d}
.mx-tag.amber{background:#fdf3dc;color:#9a6b00}.mx-tag.click{cursor:pointer}
.mx-btn{display:inline-flex;align-items:center;gap:7px;background:var(--blue);color:#fff;border:none;border-radius:9px;padding:9px 15px;font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:.12s;text-decoration:none}
.mx-btn:hover{filter:brightness(1.08)}
.mx-btn:disabled{opacity:.45;cursor:not-allowed}
.mx-btn.ghost{background:#fff;color:var(--blue);border:1px solid var(--bd)}
.mx-btn.ghost:hover{background:var(--tint);filter:none}
.mx-btn.wa{background:var(--wa);color:#0b3d20;font-weight:600}
.mx-btn.sm{padding:7px 12px;font-size:12.5px}
.mx-actions{display:flex;justify-content:flex-end;margin-top:16px}
.mx-actions.left{justify-content:flex-start}
.mx-back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--mut);font-family:inherit;font-size:13px;cursor:pointer;padding:0;margin-bottom:14px}
.mx-back:hover{color:var(--blue)}
.mx-fichahead{display:flex;align-items:center;gap:13px;margin-bottom:18px;flex-wrap:wrap}
.mx-ficha-name{font-size:20px;font-weight:700;margin:0}
.mx-ficha-meta{font-size:13px;color:var(--mut);margin-top:3px}
.mx-tabs{display:flex;gap:4px;border-bottom:1px solid var(--bd);margin-bottom:18px;flex-wrap:wrap}
.mx-tab{display:inline-flex;align-items:center;gap:7px;background:none;border:none;border-bottom:2.5px solid transparent;padding:10px 13px;font-family:inherit;font-size:13px;color:var(--mut);cursor:pointer;margin-bottom:-1px}
.mx-tab:hover{color:var(--ink)}
.mx-tab.on{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}
.mx-grid2{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.mx-field{display:flex;flex-direction:column;gap:5px}
.mx-field.full{grid-column:1/-1}
.mx-field>span{font-size:12px;color:var(--mut);font-weight:500}
.mx-field input,.mx-field textarea,.mx-field select{border:1px solid var(--bd);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:16px;color:var(--ink);outline:none;transition:.12s;background:#fff;resize:vertical}
@media(min-width:721px){.mx-field input,.mx-field textarea,.mx-field select{font-size:13.5px}}
.mx-field input:focus,.mx-field textarea:focus,.mx-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(13,70,141,.1)}
.mx-check{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.5;margin-top:14px;cursor:pointer}
.mx-check input{margin-top:3px;accent-color:var(--green)}
.mx-empty{text-align:center;padding:40px 20px}
.mx-empty-ic{width:56px;height:56px;border-radius:16px;background:var(--tint);color:var(--blue);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.mx-empty-t{font-size:15px;font-weight:600}
.mx-empty-m{font-size:13px;color:var(--mut);margin:5px auto 16px;max-width:340px}
.mx-cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.mx-modcard{background:#fff;border:1px solid var(--bd);border-radius:12px;display:flex;flex-direction:column;min-height:170px}
.mx-modhead{display:flex;align-items:center;gap:9px;padding:13px 15px;border-bottom:1px solid var(--bd)}
.mx-modhead h4{flex:1;margin:0;font-size:14px;font-weight:600}
.mx-modic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mx-modic.red{background:#fdeae4;color:#c23c17}.mx-modic.blue{background:var(--tint);color:var(--blue)}
.mx-modic.green{background:var(--tintg);color:#1f7a3f}.mx-modic.amber{background:#fdf3dc;color:#9a6b00}
.mx-modic.violet{background:#f0eafc;color:#6b3fa0}
.mx-add{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--blue);font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.03em;padding:4px 6px;border-radius:6px}
.mx-add:hover{background:var(--tint)}
.mx-modbody{flex:1;padding:11px 15px 14px}
.mx-modempty{font-size:12.5px;color:#9aa6b2;padding:6px 0}
.mx-modbody ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.mx-modbody li{display:flex;align-items:flex-start;gap:8px}
.mx-modmain{flex:1;min-width:0}
.mx-modt{font-size:13.5px;font-weight:500;line-height:1.35}
.mx-modd{font-size:12px;color:var(--mut);margin-top:1px;line-height:1.4}
.mx-modx{border:none;background:none;color:#b7c2cf;cursor:pointer;padding:2px;border-radius:5px;flex-shrink:0}
.mx-modx:hover{color:#c23c17;background:#fdeae4}
.mx-alertbox{display:flex;gap:11px;background:#fdeae4;border:1px solid #f3c4b4;border-radius:12px;padding:14px 16px;margin-bottom:16px;color:#8c2b0d;font-size:13px}
.mx-alertbox svg{flex-shrink:0;margin-top:1px}
.mx-alertbox b{display:block;margin-bottom:5px}
.mx-alertbox ul{margin:0;padding-left:17px;line-height:1.5}
.mx-alertfoot{display:block;margin-top:7px;font-size:11px;opacity:.8}
.mx-evos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.mx-evo{display:flex;gap:14px;background:#fff;border:1px solid var(--bd);border-radius:12px;padding:14px 16px}
.mx-evo-date{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--blue);white-space:nowrap;padding-top:2px}
.mx-evo-body{flex:1}
.mx-evo-body p{margin:0 0 5px;font-size:13.5px;line-height:1.45}
.mx-evo-by{font-size:11.5px;color:var(--mut);margin-top:6px}
.mx-ntsnote{font-size:12px;color:var(--mut);background:var(--bg);border:1px solid var(--bd);border-radius:9px;padding:9px 13px;margin-bottom:14px;line-height:1.5}
.mx-odo-toolbar{display:flex;flex-direction:column;gap:11px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--bd)}
.mx-tool-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.mx-tool-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin-right:4px}
.mx-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--bd);background:#fff;border-radius:8px;padding:6px 11px;font-family:inherit;font-size:12.5px;color:var(--ink);cursor:pointer;transition:.1s}
.mx-chip:hover{border-color:var(--blue)}
.mx-chip.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.mx-swatch{width:12px;height:12px;border-radius:3px;display:inline-block}
.mx-filters{display:flex;gap:7px;margin-bottom:16px}
.mx-diagrupo{margin-bottom:18px}
.mx-diahead{font-size:13px;font-weight:600;color:var(--mut);margin-bottom:8px}
.mx-cita-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.mx-iconbtn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--bd);background:#fff;color:var(--blue);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;text-decoration:none;transition:.1s}
.mx-iconbtn:hover{background:var(--tint)}
.mx-iconbtn.danger{color:#c23c17}.mx-iconbtn.danger:hover{background:#fdeae4}
.mx-iconbtn.wa{color:#0b7a3d;border-color:#bde9cd;background:#effaf3}
.mx-iconbtn.wa:hover{background:#dcf5e6}
.mx-iconbtn.off{color:#c3ccd8;cursor:not-allowed}
.mx-uploadrow{display:flex;gap:13px;align-items:flex-end;flex-wrap:wrap}
.mx-logorow{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.mx-logopreview{width:150px;height:70px;border:1px dashed var(--bd);border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--bg);font-size:12px;color:#9aa6b2;overflow:hidden;flex-shrink:0}
.mx-logopreview img{max-width:100%;max-height:100%;object-fit:contain}
.mx-filegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.mx-filecard{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--bd);border-radius:12px;padding:12px 14px}
.mx-fileic{width:40px;height:40px;border-radius:10px;background:var(--tint);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mx-filemain{flex:1;min-width:0}
.mx-filet{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx-files{font-size:11.5px;color:var(--mut);margin-top:2px}
.mx-fileacts{display:flex;gap:5px}
.mx-dicom-body{display:flex;gap:16px;padding:18px;flex-wrap:wrap}
.mx-dicom-canvaswrap{flex:1;min-width:280px;background:#000;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:340px;max-height:60vh}
.mx-dicom-canvas{max-width:100%;max-height:58vh;image-rendering:pixelated;transition:transform .1s}
.mx-dicom-controls{width:250px;display:flex;flex-direction:column;gap:12px}
.mx-dicom-info{font-size:12px;color:var(--mut);background:var(--bg);border-radius:8px;padding:7px 10px}
.mx-slider{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:500}
.mx-slider input{accent-color:var(--blue)}
.mx-dicom-btns{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.mx-dicom-note{font-size:10.5px;color:var(--mut);line-height:1.45;margin:4px 0 0}
.mx-arches{overflow-x:auto;padding:6px 0 2px}
.mx-arch{display:flex;align-items:flex-start;justify-content:center;gap:3px;min-width:640px}
.mx-arch-gap{width:14px}
.mx-midline{display:flex;justify-content:space-between;max-width:660px;margin:5px auto;font-size:10px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;min-width:640px}
.mx-tooth{display:flex;flex-direction:column;align-items:center;gap:3px}
.mx-tooth-svg{width:34px;height:34px;display:block}
.mx-tooth-svg polygon,.mx-tooth-svg rect{cursor:pointer;transition:.08s}
.mx-tooth-svg polygon:hover,.mx-tooth-svg rect:hover{opacity:.75}
.mx-tnum{font-size:11px;font-weight:600;color:var(--mut);border:none;background:none;cursor:pointer;font-family:inherit;padding:1px 3px;border-radius:4px}
.mx-tnum:hover{background:var(--tint);color:var(--blue)}
.mx-odo-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--bd);flex-wrap:wrap}
.mx-odo-meta{font-size:12px;color:var(--mut)}
.mx-help{font-size:12.5px;color:var(--mut);margin:0 0 12px;line-height:1.5}
.mx-help.m0{margin:0}
.mx-comply{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.mx-comply li{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.45}
.mx-comply li svg{flex-shrink:0;margin-top:2px}
.mx-comply li.ok{color:#1f7a3f}.mx-comply li.warn{color:#9a6b00}
.mx-note{display:flex;gap:11px;align-items:center;background:var(--tintg);border:1px solid #cfe9d8;border-radius:12px;padding:14px 16px;font-size:12.5px;line-height:1.5;color:#25603c;margin-bottom:16px}
.mx-note svg{flex-shrink:0;color:var(--green)}
.mx-note.warn{background:#fdf3dc;border-color:#f0dfb2;color:#7a5600}
.mx-note.warn svg{color:#b07f00}
.mx-modal-bg{position:fixed;inset:0;background:rgba(18,32,47,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}
.mx-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:92vh;overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.mx-modal.wide{max-width:900px}
.mx-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--bd)}
.mx-modal-head h3{margin:0;font-size:16px;font-weight:600}
.mx-x{border:none;background:none;color:var(--mut);cursor:pointer;padding:4px;border-radius:6px}
.mx-x:hover{background:var(--bg)}
.mx-modal-body{padding:20px}
.mx-modal-body.center{display:flex;align-items:center;justify-content:center}
.mx-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--bd)}
.mx-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 20px;border-radius:10px;font-size:13.5px;font-weight:500;z-index:60;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:90vw;text-align:center}
@media(max-width:720px){
  .mx-side{width:58px;padding:14px 6px}
  .mx-brand-name,.mx-brand-sub,.mx-navbtn span,.mx-badge-store{display:none}
  .mx-navbtn{justify-content:center}.mx-logo{margin:0 auto}.mx-logoimg{max-height:38px}
  .mx-body{padding:16px}
  .mx-stats{grid-template-columns:1fr}.mx-grid2{grid-template-columns:1fr}
  .mx-cardgrid{grid-template-columns:1fr}.mx-dicom-controls{width:100%}
  .mx-top{padding:0 12px;gap:10px}
}

/* ---------- Control de voz ---------- */
.mx-vozdock{position:fixed;right:20px;bottom:20px;z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.mx-vozbtn{width:56px;height:56px;border-radius:50%;border:none;background:#0D468D;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(13,70,141,.35);transition:.15s}
.mx-vozbtn:hover{transform:translateY(-2px)}
.mx-vozbtn.on{background:#D32F2F;animation:vozpulse 1.6s infinite}
@keyframes vozpulse{0%,100%{box-shadow:0 8px 24px rgba(211,47,47,.35)}50%{box-shadow:0 8px 30px rgba(211,47,47,.75)}}
.mx-vozpanel{width:310px;max-width:calc(100vw - 40px);background:#fff;border:1px solid #e3e8ef;border-radius:14px;box-shadow:0 16px 44px rgba(18,32,47,.22);overflow:hidden}
.mx-vozhead{display:flex;align-items:center;gap:8px;padding:11px 13px;border-bottom:1px solid #e3e8ef;font-size:13px}
.mx-vozhead b{flex:1;font-weight:600}
.mx-vozled{width:9px;height:9px;border-radius:50%;background:#c3ccd8;flex-shrink:0}
.mx-vozled.on{background:#D32F2F;animation:mxp 1s infinite}
.mx-vozx{border:none;background:none;color:#5d6c7d;cursor:pointer;padding:3px;border-radius:5px;display:flex}
.mx-vozx:hover{background:#f5f7fb;color:#0D468D}
.mx-vozmodos{display:flex;gap:6px;padding:10px 13px 0}
.mx-vozparcial{padding:9px 13px 0;font-size:12.5px;color:#5d6c7d;font-style:italic}
.mx-vozultimo{margin:10px 13px;padding:8px 11px;border-radius:8px;font-size:12.5px;line-height:1.45}
.mx-vozultimo.ok{background:#e7f5ec;color:#1f7a3f}
.mx-vozultimo.no{background:#fdf3dc;color:#9a6b00}
.mx-vozerror{margin:0 13px 10px;padding:8px 11px;border-radius:8px;background:#fdeae4;color:#c23c17;font-size:12px;line-height:1.45}
.mx-vozayuda{max-height:220px;overflow:auto;padding:0 13px 10px;font-size:12px;color:#5d6c7d}
.mx-vozayuda b{color:#0D468D;font-size:11px;text-transform:uppercase;letter-spacing:.04em;display:block;margin:9px 0 3px}
.mx-vozayuda ul{margin:0;padding-left:15px;line-height:1.6}
.mx-vozaviso{background:#f5f7fb;border-top:1px solid #e3e8ef;padding:9px 13px;font-size:10.5px;color:#7e8fa3;line-height:1.5}
@media(max-width:720px){.mx-vozdock{right:12px;bottom:12px}.mx-vozbtn{width:50px;height:50px}}

/* ---------- Selector CIE-10 ---------- */
.mx-cie{display:flex;flex-direction:column;gap:7px}
.mx-cie>input{border:1px solid #e3e8ef;border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13.5px;outline:none}
.mx-cie>input:focus{border-color:#0D468D;box-shadow:0 0 0 3px rgba(13,70,141,.1)}
.mx-ciechips{display:flex;flex-wrap:wrap;gap:6px}
.mx-ciechip{display:inline-flex;align-items:center;gap:6px;background:#eaf1fb;color:#0D468D;border-radius:8px;padding:5px 8px;font-size:11.5px;line-height:1.3}
.mx-ciechip b{font-weight:700}
.mx-ciechip button{border:none;background:none;color:#0D468D;cursor:pointer;padding:0;display:flex;opacity:.6}
.mx-ciechip button:hover{opacity:1;color:#c23c17}
.mx-cielista{list-style:none;margin:0;padding:0;max-height:180px;overflow:auto;border:1px solid #e3e8ef;border-radius:8px}
.mx-cielista li{padding:8px 11px;font-size:12.5px;cursor:pointer;border-bottom:1px solid #f0f3f8;line-height:1.4}
.mx-cielista li:last-child{border-bottom:none}
.mx-cielista li:hover{background:#eaf1fb}
.mx-cielista li.on{opacity:.45;cursor:default}
.mx-cielista li b{color:#0D468D;margin-right:5px}
.mx-cievacio{font-size:12px;color:#9a6b00;background:#fdf3dc;border-radius:8px;padding:7px 10px}
.mx-ciemas{border:none;background:none;color:#0D468D;font-family:inherit;font-size:12px;cursor:pointer;text-align:left;padding:2px 0}
.mx-ciemas:hover{text-decoration:underline}
.mx-ciemanual{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.mx-ciemanual input{border:1px solid #e3e8ef;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px;flex:1;outline:none}
.mx-evocie{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 6px !important}
.mx-evocie span{background:#eaf1fb;color:#0D468D;border-radius:6px;padding:3px 7px;font-size:11.5px}

/* ---------- Odontograma NTS 150 ---------- */
.od-wrap{display:flex;flex-direction:column;gap:12px}
.od-grupos{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid #e3e8ef}
.od-gchip{border:1px solid #e3e8ef;background:#fff;border-radius:8px;padding:7px 13px;font-family:inherit;font-size:13px;cursor:pointer;font-weight:500}
.od-gchip:hover{border-color:#0D468D}
.od-gchip.on{background:#0D468D;color:#fff;border-color:#0D468D}
.od-sep{width:1px;height:22px;background:#e3e8ef;margin:0 4px}
.od-colorlbl{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#5d6c7d}
.od-col-b{border:1px solid #e3e8ef;background:#fff;border-radius:8px;padding:6px 11px;font-family:inherit;font-size:12px;cursor:pointer;font-weight:600}
.od-col-b.azul{color:#0D468D}.od-col-b.rojo{color:#D32F2F}
.od-col-b.azul.on{background:#0D468D;color:#fff;border-color:#0D468D}
.od-col-b.rojo.on{background:#D32F2F;color:#fff;border-color:#D32F2F}
.od-col-b:disabled{opacity:.4;cursor:not-allowed}
.od-herrs{display:flex;flex-wrap:wrap;gap:6px}
.od-h{border:1px solid #e3e8ef;background:#fff;border-radius:7px;padding:6px 10px;font-family:inherit;font-size:12px;cursor:pointer;color:#12202f;display:inline-flex;gap:5px;align-items:center}
.od-h:hover{border-color:#0D468D;background:#eaf1fb}
.od-h.on{background:#12202f;color:#fff;border-color:#12202f}
.od-h.on b{color:#fff !important}
.od-h.borrar{color:#8a96a5;font-style:italic}
.od-aviso{background:#eaf1fb;color:#0D468D;border-radius:8px;padding:8px 12px;font-size:12.5px}
.od-cerrado{background:#fdf3dc;color:#7a5600;border:1px solid #f0dfb2;border-radius:8px;padding:10px 13px;font-size:12.5px}
.od-graf{overflow-x:auto;padding:8px 0;display:flex;flex-direction:column;gap:14px}
.od-arcada{display:flex;justify-content:center;gap:2px;min-width:640px}
.od-linea-media{width:12px;flex-shrink:0}
.od-col{display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px;border-radius:5px}
.od-col.sel{background:#eaf1fb}
.od-pieza{width:32px;height:52px;display:block}
.od-pieza polygon,.od-pieza rect{cursor:pointer}
.od-pieza polygon:hover,.od-pieza rect:hover{opacity:.65}
.od-casilla{width:32px;height:17px;border:1px solid #c3ccd8;background:#fff;border-radius:2px;font-family:inherit;
  font-size:8.5px;font-weight:700;cursor:pointer;padding:0;line-height:1;overflow:hidden}
.od-casilla:hover{border-color:#0D468D;background:#eaf1fb}
.od-num{font-size:10.5px;font-weight:700;color:#5d6c7d;border:none;background:none;cursor:pointer;font-family:inherit;padding:1px 3px;border-radius:4px}
.od-num:hover{background:#eaf1fb;color:#0D468D}
.od-entre{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:9px 0;border-top:1px solid #e3e8ef}
.od-entre-t{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#5d6c7d}
.od-entre-chip{border:1px solid;border-radius:20px;padding:3px 10px;font-size:11.5px;font-weight:500;display:inline-flex;gap:5px;align-items:center}
.od-entre-chip button{border:none;background:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0}
.od-textos{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.od-textos label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:#12202f}
.od-textos label span{font-weight:400;font-size:11px;color:#5d6c7d}
.od-textos textarea{border:1px solid #e3e8ef;border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13px;outline:none;resize:vertical}
.od-textos textarea:focus{border-color:#0D468D;box-shadow:0 0 0 3px rgba(13,70,141,.1)}
.od-textos textarea:disabled{background:#f5f7fb;color:#5d6c7d}
.od-leyenda{font-size:11.5px;color:#5d6c7d;line-height:1.55;background:#f5f7fb;border-radius:8px;padding:10px 13px}
.mx-odo-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.mx-odo-ciclo{font-size:11.5px;color:#5d6c7d;background:#eef1f5;border-radius:20px;padding:4px 11px}
.mx-dxtipo{display:flex;gap:7px;flex-wrap:wrap}
.mx-evo-hora{font-size:10.5px;color:#5d6c7d;font-weight:500}
@media(max-width:720px){.od-textos{grid-template-columns:1fr}}
