body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.odontogram-root{min-width:0;width:100%}.odontogram-responsiveViewport{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding-bottom:6px;scrollbar-width:thin;width:100%}.odontogram-responsiveCanvas{height:676px;margin:0 auto;min-width:890px;overflow:hidden;position:relative;width:890px}.odontogram-responsiveCanvas .odontogram-container{margin:0}.odontogram-mobileOnly{display:none}.odontogram-desktopTabletOnly{min-width:0;width:100%}.odontogram-mobileArchSelector{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;min-width:0;width:100%}.odontogram-mobileArchCanvas{background:#fbfdff;border:1px solid #00968829;border-radius:8px;height:330px;min-width:890px;overflow:hidden;position:relative;width:890px}.odontogram-mobileArchCanvas--upper{height:450px}.odontogram-mobileArchCanvas *{box-sizing:border-box}.odontogram-mobileArchPane{display:none}.odontogram-mobileArchPane.isActive{display:block}.odontogram-mobileToothDetail{display:none}.odontogram-container{background:#fbfdff;border:1px solid #00968829;border-radius:8px;height:676px;margin:0 auto;overflow:hidden;position:relative;width:890px}.odontogram-container *{box-sizing:border-box}.odontogramBase{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.odontogramBase__paper{fill:#fbfdff}.odontogramBase__mandible,.odontogramBase__palate{fill:none;stroke:#b8d8d5;stroke-width:18;stroke-linecap:round;opacity:.44}.odontogramBase__mandible{stroke:#d7ece9}.odontogramBase__midline,.odontogramBase__occlusion{fill:none;stroke:#a7bfbc;stroke-width:1.2;stroke-dasharray:7 7;opacity:.45}.odontogramBase__tooth path,.odontogramBase__tooth rect{fill:#fff;stroke:#7f9793;stroke-width:1.4;vector-effect:non-scaling-stroke}.odontogramBase__tooth .odontogramBase__groove{fill:none;stroke:#aebfbc;stroke-width:.9;opacity:.85}.odontogram-overlay,.odontogram-teeth-layer{inset:0;position:absolute}.odontogram-lingual-layer,.odontogram-palatina-layer{inset:0;pointer-events:none;position:absolute;z-index:1}.odontogram-teeth-layer{pointer-events:none;z-index:2}.odontogram-teeth-layer--upper{transform:translateY(0)}.odontogram-teeth-layer--lower-anatomic{transform:translateY(110px)}.odontogram-teeth-layer--lower-surface{transform:translateY(-45px)}.odontogram-teeth-layer--temporary .odontogram-tooth{width:40px}.odontogram-teeth-layer--temporary .toothStack,.odontogram-teeth-layer--temporary .toothStack.hasAnatomic{height:244px}.odontogram-teeth-layer--temporary .toothAnatomic{height:150px;top:-60px;transform-origin:50% 62%;width:150px}.odontogram-teeth-layer--temporary .toothMissing,.odontogram-teeth-layer--temporary .toothStack.hasAnatomic .toothMissing,.odontogram-teeth-layer--temporary .toothStack.hasAnatomic .toothSurface,.odontogram-teeth-layer--temporary .toothSurface{top:65px}.odontogram-teeth-layer--temporary .toothControls{margin-top:-125px}.lingualTooth,.palatinaTooth{filter:drop-shadow(0 1px 1px rgba(38,50,56,.18));height:150px;object-fit:contain;position:absolute;width:150px}.palatinaTooth{transform:translateX(-50%) rotate(0deg);transform:translateX(-50%) rotate(var(--palatina-rotation,0deg));transform-origin:50% 44%}.lingualTooth{transform:translateX(-50%) rotate(0deg);transform:translateX(-50%) rotate(var(--lingual-rotation,0deg));transform-origin:50% 56%}.odontogram-tooth{margin:0;overflow:visible;position:absolute;text-align:center;width:40px;z-index:2}.odontogram-teeth-layer--lower-anatomic .odontogram-tooth,.odontogram-tooth{pointer-events:none}.addButton,.removeButton{border:0;border-radius:50%;cursor:pointer;font-size:13px;font-weight:700;height:18px;line-height:18px;margin:0;padding:0;width:18px}.addButton{background:#008f39;color:#fff}.removeButton{background:#d32f2f;color:#fff}.toothControls{align-items:center;display:flex;flex-direction:column;gap:3px;margin-top:-125px;position:relative;width:100%;z-index:5}.odontogram-tooth small{align-items:center;color:#455a64;display:inline-flex;font-size:.68rem;justify-content:center;line-height:1.1;min-height:14px;min-width:18px;text-align:center}.odontogram-tooth small.isMissing{color:#d32f2f;font-weight:700}.tooth{display:block;filter:drop-shadow(0 1px 1px rgba(38,50,56,.22));margin:2px auto 0}.toothStack{height:48px;margin:2px 0 0 50%;overflow:visible;position:relative;transform:translateX(-50%);width:82px}.toothStack.hasAnatomic{height:244px}.toothStack .tooth{margin:0}.toothSurface{left:50%;pointer-events:none;position:absolute;top:10px;transform:translateX(-50%);z-index:1}.toothStack.hasAnatomic .toothSurface{top:65px}.toothStack.isMissing .toothSurface{opacity:.72}.toothStack.missingMode{cursor:pointer}.toothStack.missingMode:hover .toothSurface .face{stroke:#d32f2f;stroke-width:1.35}.toothStack.missingMode.isMissing:hover .toothSurface .face{stroke:#008f39}.toothAnatomic{filter:drop-shadow(0 1px 1px rgba(38,50,56,.22));height:150px;object-fit:contain;top:-60px;transform:translateX(-50%) rotate(0deg);transform:translateX(-50%) rotate(var(--tooth-rotation,0deg));transform-origin:50% 62%;width:150px;z-index:2}.toothAnatomic,.toothMissing{left:50%;pointer-events:none;position:absolute}.toothMissing{top:10px;transform:translateX(-50%);z-index:4}.toothStack.hasAnatomic .toothMissing{top:65px}.toothMissing.isPreview{display:none;opacity:.34}.toothMissing.isMissing,.toothStack.missingMode:hover .toothMissing.isPreview{display:block}.tooth.disabled{display:none}.face{cursor:pointer;pointer-events:auto}.face:hover{stroke-width:1.15}.clear{clear:both}.spaceRight{margin-right:40px}.noMarginRight{margin-right:0}.bt-toolbar{margin:5px 10px}.aws-btn{--button-default-height:48px;--button-default-font-size:14px;--button-default-border-radius:6px;--button-horizontal-padding:20px;--button-raise-level:5px;--button-hover-pressure:2;--transform-speed:0.185s;--button-primary-color:#3f51b5;--button-primary-color-dark:#2a3143;--button-primary-color-light:#d4d9e4;--button-primary-color-hover:#424e6a;--button-primary-border:none;--button-secondary-color:#fffc6c;--button-secondary-color-dark:#b9b500;--button-secondary-color-light:#6c6a00;--button-secondary-color-hover:#fffb3e;--button-secondary-border:none;--button-anchor-color:#f3c8ad;--button-anchor-color-dark:#734922;--button-anchor-color-light:#4c3016;--button-anchor-color-hover:#f1bfa0;--button-anchor-border:1px solid #8c633c}@media (max-width:899px){.odontogram-responsiveViewport{padding-bottom:8px}}@media (max-width:599px){.odontogram-desktopTabletOnly{display:none}.odontogram-mobileOnly{display:block;min-width:0;width:100%}.odontogram-responsiveViewport--mobile{margin-inline:-2px;padding-bottom:10px}.odontogram-mobileArchCanvas .toothMissing,.odontogram-mobileArchCanvas .toothSurface{height:52px;width:44px}.odontogram-mobileArchCanvas .toothStack.hasAnatomic .toothMissing,.odontogram-mobileArchCanvas .toothStack.hasAnatomic .toothSurface{top:74px}.odontogram-mobileArchCanvas .toothControls{margin-top:-112px}.odontogram-mobileArchCanvas .odontogram-tooth small{font-size:.78rem;font-weight:700;min-height:20px;min-width:26px}.odontogram-mobileToothDetail{background:#fff;border:1px solid #00968829;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-top:10px;min-width:0;padding:10px 12px;width:100%}}*,:after,:before{box-sizing:border-box}#root,body,html{height:100%;min-width:100%;width:100%}body{background-color:#f5f8fa;color:#243b40;margin:0}.center{text-align:center}.dental-loader{align-items:center;display:flex;flex-direction:column;justify-content:center}.dental-loader p{margin-top:10px}.myBorderColorGreen fieldset.MuiOutlinedInput-notchedOutline{border-color:green!important;border-width:3px}.myBorderColorRed fieldset.MuiOutlinedInput-notchedOutline{border-color:red!important;border-width:3px}.dental-dashboard{display:flex;flex-direction:column;height:100vh;min-width:100%;width:100%}.dental-dashboard .content{display:flex;flex-direction:row;flex-grow:1}.dental-dashboard .content .menu-area{box-shadow:0 2px 14px -1px #00000014,0 4px 5px 0 #00000014,0 1px 10px 0 #00000014;contain:size;overflow-y:auto;width:300px;z-index:1000}.dental-dashboard .content .work-area{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto}.dental-dashboard .content .login-container{flex-grow:1;height:100%}.dental-dashboard .content .login-container .op{align-items:center;display:flex;height:100%;justify-content:center;padding:1rem}.dental-dashboard .content .login-container .op .login-content{max-width:60%}.dental-dashboard .content .login-container .op .login-content .lbl{align-items:center;color:#868686;display:flex}.dental-dashboard .content .login-container .op .login-content .in{margin-right:10px}.dental-footer{align-items:center;box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;min-height:40px;padding:6px 12px;text-align:center;width:100%}.dental-elementos{contain:size;display:flex;flex-direction:row;flex-grow:1}.dental-elementos .work{display:flex;flex-direction:column;flex-grow:1;overflow:auto}.dental-elementos .work .elements{background-color:#f5f8fa;flex-grow:1;overflow-y:auto}.dental-elementos .detail{box-shadow:0 2px 14px -1px #00000014,0 4px 5px 0 #00000014,0 1px 10px 0 #00000014;max-width:300px;min-width:300px;overflow-y:auto;z-index:1000}.dental-elementos .main{border-right:1px solid #0000001a}.dental-flx-center{align-items:center;display:flex;gap:5px;justify-content:center}.dental-modal .title-container{align-items:center;display:flex;height:50px;margin-bottom:20px;position:relative}.dental-modal .title-container .text-content{flex:1 1;margin-left:20px}.dental-modal .title-container .btn-close{background-color:#0000;color:#fff;margin-right:10px}.dental-modal .content{padding:10px 20px}.dental-icontext{align-items:center;display:flex}.dental-icontext :first-child{margin-right:5px}.dental-table thead th{background-color:#eef8f7;z-index:1}.dental-table thead th button{white-space:nowrap}.dental-table thead th button.sort{font-weight:700!important}.dental-table thead th button.no-sort{font-weight:500!important}.dental-table tbody tr:hover{background-color:#f9f9f9!important}.dental-table tbody tr.row{background-color:#dddddd4d!important;cursor:pointer}.dental-table tbody tr.no-row{cursor:pointer}.dental-table tbody tr td{color:#607d84}.dental-calendar .appointment-calendar-shell{background:#fff;border:1px solid #94a3b82e;border-radius:24px;min-width:0;overflow:hidden;padding:12px}.dental-calendar .dental-content{border-radius:5px!important;padding:2px!important;width:100%!important}.dental-calendar .fc{--fc-border-color:#e2e8f0;--fc-page-bg-color:#fff;--fc-neutral-bg-color:#f8fafc;--fc-today-bg-color:var(--dental-calendar-today-bg,#0ea5e914);--fc-button-bg-color:var(--dental-calendar-primary,#0f7c86);--fc-button-border-color:var(--dental-calendar-primary,#0f7c86);--fc-button-hover-bg-color:var(--dental-calendar-primary-dark,#006d77);--fc-button-hover-border-color:var(--dental-calendar-primary-dark,#006d77);--fc-button-active-bg-color:var(--dental-calendar-secondary,#0f9d9a);--fc-button-active-border-color:var(--dental-calendar-secondary-dark,#0f9d9a);max-width:100%;min-width:0}.dental-calendar .fc-toolbar.fc-header-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:1.5rem}.dental-calendar .fc .fc-toolbar-title{color:#0f172a;color:var(--dental-calendar-text-primary,#0f172a);font-size:1.25rem;font-weight:700}.dental-calendar .fc .fc-button{border-radius:12px;box-shadow:none;font-weight:600;padding:.55rem .9rem;text-transform:capitalize}.dental-calendar .fc .fc-col-header-cell,.dental-calendar .fc .fc-daygrid-day,.dental-calendar .fc .fc-scrollgrid,.dental-calendar .fc .fc-timegrid-axis,.dental-calendar .fc .fc-timegrid-slot{border-color:#e2e8f0}.dental-calendar .fc .fc-col-header-cell{background:#f8fafc}.dental-calendar .fc .fc-col-header-cell-cushion{color:#334155;font-weight:700;padding:14px 8px;text-transform:capitalize}.dental-calendar .fc .fc-timegrid-axis-cushion,.dental-calendar .fc .fc-timegrid-slot-label-cushion{color:#64748b;font-size:12px;font-weight:600}.dental-calendar .fc .fc-timegrid-now-indicator-line{border-color:#ef4444}.dental-calendar .fc .fc-timegrid-now-indicator-arrow{border-color:#ef4444;color:#ef4444}.dental-calendar .fc-event-main-frame{display:inline-flex!important;padding:0!important;width:100%!important}.dental-calendar .fc .fc-timegrid-event,.dental-calendar .fc-h-event,.dental-calendar .fc-v-event{background:#0000!important;border:none!important;box-shadow:none!important;overflow:hidden!important}.dental-calendar .fc .fc-timegrid-event .fc-event-main,.dental-calendar .fc-v-event .fc-event-main{color:inherit;overflow:hidden}.dental-calendar td.fc-today{position:relative}.dental-calendar .fc-first th{font-size:14px!important;font-weight:500!important}.dental-calendar .fc-event-inner{font-size:12px!important;font-weight:500!important;padding:5px 0!important}.dental-calendar .appointment-event-card{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-left:3px solid #2563eb;border-radius:9px;box-shadow:inset 0 0 0 1px #2563eb33;box-sizing:border-box;color:#0f172a;display:flex;flex-direction:column;height:100%;max-width:100%;overflow:hidden;padding:5px 8px 5px 9px;width:100%}.dental-calendar .appointment-event-card--short{padding-bottom:4px;padding-top:4px}.dental-calendar .appointment-event-card--confirmed{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-left-color:#0284c7;box-shadow:inset 0 0 0 1px #0284c733}.dental-calendar .appointment-event-card--programmed{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-left-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb33}.dental-calendar .appointment-event-card--canceled{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left-color:#dc2626;box-shadow:inset 0 0 0 1px #dc262633}.dental-calendar .appointment-event-card--finished{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-left-color:#16a34a;box-shadow:inset 0 0 0 1px #16a34a33}.dental-calendar .appointment-event-card--blocked{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left-color:#b91c1c;border-radius:8px;box-shadow:inset 0 0 0 1px #b91c1c42;color:#7f1d1d;padding:4px 8px 4px 9px}.dental-calendar .appointment-event-card--blocked .appointment-event-dentist,.dental-calendar .appointment-event-card--blocked .appointment-event-title{color:#7f1d1d}.dental-calendar .appointment-event-time{color:inherit;font-size:10px!important;font-weight:700!important;line-height:1.05!important;margin-bottom:1px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dental-calendar .appointment-event-title{color:#0f172a;font-size:11px!important;line-height:1.12!important}.dental-calendar .appointment-event-dentist,.dental-calendar .appointment-event-title{font-weight:600!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dental-calendar .appointment-event-dentist{color:inherit;font-size:10px!important;line-height:1.08!important;margin-top:1px!important;opacity:.82}.dental-calendar .fc{direction:ltr;text-align:left}.dental-calendar .fc table{border-collapse:collapse;border-spacing:0}.dental-calendar .fc table,.dental-calendar html .fc{font-family:Helvetica Neue,Helvetica;font-size:1em}.dental-calendar .fc td,.dental-calendar .fc th{padding:0;vertical-align:top}@media(max-width:900px){.dental-calendar .appointment-calendar-shell{border-radius:18px;padding:8px}.dental-calendar .fc .fc-toolbar-title{font-size:1.05rem}.dental-calendar .fc-toolbar.fc-header-toolbar{margin-bottom:1rem}}@media(max-width:600px){.dental-calendar .appointment-calendar-shell{border-radius:14px;padding:6px}.dental-calendar .fc-toolbar.fc-header-toolbar{align-items:stretch;gap:8px}.dental-calendar .fc .fc-toolbar-chunk{display:flex;justify-content:center;min-width:0}.dental-calendar .fc .fc-toolbar-title{font-size:.95rem;line-height:1.2;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.dental-calendar .fc .fc-button{border-radius:10px;font-size:.78rem;padding:.4rem .55rem}.dental-calendar .fc .fc-col-header-cell-cushion{padding:10px 6px}.dental-calendar .appointment-event-card{border-left-width:3px;border-radius:8px;padding:4px 6px 4px 7px}.dental-calendar .appointment-event-time{font-size:9px!important}.dental-calendar .appointment-event-title{font-size:10px!important}.dental-calendar .appointment-event-dentist{font-size:9px!important}}.dental-makeStyles-root-1{display:flex;flex-direction:row;width:-webkit-max-content;width:max-content}.dental-makeStyles-root-1 .dental-makeStyles-colorpickerButton-2{background-color:#fff!important;background-image:none;border-color:#767676!important;border-width:0;height:24px;margin:6px;min-width:24px;width:24px}.dental-makeStyles-root-1 .dental-makeStyles-colorpickerButton-2 div{border:0 solid #767676;border-radius:4px;content:" ";height:24px;min-width:24px;padding:0;width:24px}.dental-makeStyles-root-1 .dental-makeStyles-colorpickerButton-2 span{border-radius:inherit;bottom:0;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.img-evidencia:hover{box-shadow:0 30px 90px #0006;cursor:pointer;opacity:.5;transition:.3s}