:root{font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100%;margin:0}body{min-width:320px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#edf3f4}::-webkit-scrollbar-thumb{background:#b8cbcf;border:2px solid #edf3f4;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#90adb3}.page-shell{animation:page-in .28s cubic-bezier(.2,.75,.3,1) both}.page-heading{position:relative}.page-heading:after{content:"";display:block;width:42px;height:3px;margin-top:10px;border-radius:999px;background:linear-gradient(90deg,#175a69,#84bdc6);opacity:.9}.metric-card{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.metric-card:after{content:"";position:absolute;width:110px;height:110px;right:-46px;top:-54px;border-radius:50%;background:radial-gradient(circle,rgba(86,161,174,.12),transparent 70%);pointer-events:none}.metric-card:hover{transform:translateY(-2px);border-color:#c3dadd;box-shadow:0 15px 38px #1d485218,0 2px 7px #1d48520a}.clickable-card,.clickable-row{transition:transform .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.clickable-card:hover{transform:translateY(-1px);border-color:#a9cbd0!important;box-shadow:0 8px 24px #194a5413}.fc{--fc-border-color: #e1eaec;--fc-button-bg-color: #175a69;--fc-button-border-color: #175a69;--fc-button-hover-bg-color: #103f4a;--fc-button-hover-border-color: #103f4a;--fc-button-active-bg-color: #103f4a;--fc-button-active-border-color: #103f4a;--fc-today-bg-color: #edf8f9;--fc-page-bg-color: transparent;color:#2b4850}.fc .fc-toolbar{margin-bottom:1.25rem}.fc .fc-toolbar-title{font-size:1.12rem;font-weight:820;letter-spacing:-.02em;color:#24434b}.fc .fc-button{border-radius:9px;box-shadow:none;font-weight:700;transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease}.fc .fc-button:hover{transform:translateY(-1px);box-shadow:0 5px 13px #175a6929}.fc .fc-scrollgrid{border-radius:13px;overflow:hidden;border-color:#dfe9eb}.fc .fc-col-header-cell{background:#f1f7f8}.fc .fc-col-header-cell-cushion{padding:9px 5px;font-size:.78rem;font-weight:800;color:#526b72}.fc .fc-daygrid-day-number{padding:7px 8px;color:#526b72;font-weight:650}.fc .fc-day-today .fc-daygrid-day-number{color:#175a69;font-weight:850}.fc .fc-daygrid-day-frame{transition:background-color .14s ease}.fc .fc-daygrid-day-frame:hover{background-color:#e8f4f68c}.fc .fc-event{border:0;border-radius:7px;padding:2px 4px;box-shadow:0 2px 6px #143d461f;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.fc .fc-event:hover{transform:translateY(-1px);box-shadow:0 4px 10px #143d462e;filter:saturate(1.07)}.fc .fc-timegrid-now-indicator-line{border-color:#b44747}.fc .fc-timegrid-now-indicator-arrow{border-color:#b44747;border-top-color:transparent;border-bottom-color:transparent}.status-confirmada,.status-realizada{background:#2f7d69!important}.status-marcada{background:#397b9e!important}.status-remarcada,.status-remarcacao_solicitada{background:#aa741f!important}.status-faltou,.status-cancelada{background:#b44747!important}.MuiTableRow-hover{transition:background-color .14s ease,box-shadow .14s ease}.MuiTableRow-hover:hover{box-shadow:inset 3px 0 #175a6947}.MuiTablePagination-root{color:#536b72}.MuiSkeleton-root{border-radius:10px}.MuiFormHelperText-root{margin-left:4px!important}@keyframes page-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.page-heading:after{margin-top:8px}.appointments-calendar .fc .fc-toolbar{align-items:stretch;flex-direction:column;gap:8px}.appointments-calendar .fc .fc-toolbar-chunk{display:flex;justify-content:center}.appointments-calendar .fc .fc-toolbar-title{font-size:1rem;text-align:center}.appointments-calendar .fc .fc-button{padding:.42em .6em;font-size:.82rem}.appointments-calendar .fc .fc-daygrid-day-number,.appointments-calendar .fc .fc-col-header-cell-cushion{font-size:.76rem}.appointments-calendar .fc .fc-event-title,.appointments-calendar .fc .fc-event-time{font-size:.7rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page-title-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:15px;color:#175a69;background:linear-gradient(145deg,#eef8f9,#dceff1);border:1px solid #cfe3e6;box-shadow:0 7px 18px #1a566317,inset 0 1px #ffffffd9}.page-title-icon svg{font-size:27px}.page-title-icon-dashboard{animation:title-icon-dashboard .62s cubic-bezier(.2,.85,.25,1) both}.page-title-icon-patients{animation:title-icon-patients .68s cubic-bezier(.2,.8,.25,1) both}.page-title-icon-appointments{animation:title-icon-appointments .7s cubic-bezier(.22,.78,.24,1) both}.page-title-icon-finance{animation:title-icon-finance .72s cubic-bezier(.2,.8,.25,1) both}.page-title-icon-settings{animation:title-icon-settings .72s cubic-bezier(.2,.8,.25,1) both}@keyframes title-icon-dashboard{0%{opacity:0;transform:scale(.72) translateY(8px)}65%{opacity:1;transform:scale(1.06) translateY(-1px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes title-icon-patients{0%{opacity:0;transform:translate(-11px) scale(.88)}55%{opacity:1;transform:translate(3px) scale(1.03)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes title-icon-appointments{0%{opacity:0;transform:translateY(-9px) rotate(-5deg)}58%{opacity:1;transform:translateY(2px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes title-icon-finance{0%{opacity:0;transform:scaleY(.42) translateY(9px);transform-origin:bottom}60%{opacity:1;transform:scaleY(1.08) translateY(-1px);transform-origin:bottom}to{opacity:1;transform:scaleY(1) translateY(0);transform-origin:bottom}}@keyframes title-icon-settings{0%{opacity:0;transform:rotate(-46deg) scale(.75)}68%{opacity:1;transform:rotate(7deg) scale(1.05)}to{opacity:1;transform:rotate(0) scale(1)}}.fc .fc-event,.fc .fc-event a,.fc .fc-event-main,.fc .fc-event-title,.fc .fc-event-title-container,.fc .fc-event-time{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.16)}.status-cancelada{opacity:.86;text-decoration:line-through;text-decoration-thickness:1px}.finance-chart-card{overflow:hidden}.finance-bars{display:grid;gap:14px}.finance-bar-row{display:grid;grid-template-columns:minmax(92px,126px) 1fr auto;gap:12px;align-items:center}.finance-bar-track{height:13px;border-radius:999px;background:#eaf1f2;overflow:hidden;position:relative}.finance-bar-fill{height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,#327788,#71aeb8);animation:finance-bar-grow .7s cubic-bezier(.2,.8,.25,1) both;transform-origin:left}.finance-bar-fill.expense{background:linear-gradient(90deg,#a96b55,#d09b78)}.finance-bar-fill.result{background:linear-gradient(90deg,#3b826b,#78b49d)}.finance-bar-fill.result.negative{background:linear-gradient(90deg,#a84e50,#d47d79)}@keyframes finance-bar-grow{0%{transform:scaleX(.06);opacity:.35}to{transform:scaleX(1);opacity:1}}.status-donut-wrap{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.status-donut{width:154px;height:154px;flex:0 0 154px;border-radius:50%;position:relative;box-shadow:inset 0 0 0 1px #1e4a530f;animation:donut-in .6s ease both}.status-donut:after{content:"";position:absolute;inset:27px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #e5edef}@keyframes donut-in{0%{opacity:0;transform:scale(.78) rotate(-25deg)}to{opacity:1;transform:scale(1) rotate(0)}}.status-legend{display:grid;gap:7px;min-width:200px;flex:1}.status-legend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.86rem}.status-legend-label{display:flex;align-items:center;gap:8px;color:#4e656b}.status-legend-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}.origin-row{padding:11px 0}.origin-row+.origin-row{border-top:1px solid #e6edef}.origin-progress{margin-top:7px;height:6px;background:#edf3f4;border-radius:999px;overflow:hidden}.origin-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4c8997,#91c1c8)}@media(max-width:600px){.page-title-icon{width:42px;height:42px;flex-basis:42px;border-radius:13px}.page-title-icon svg{font-size:24px}.finance-bar-row{grid-template-columns:82px 1fr;gap:8px}.finance-bar-row>:last-child{grid-column:2;justify-self:end;margin-top:-6px}}
