/* Centro Change v1: Tabler 1.6.1 semantic tokens; calendar geometry retained. */
:root{--tblr-primary:#12665f;--tblr-primary-rgb:18,102,95;--tblr-font-sans-serif:system-ui,-apple-system,"Segoe UI",sans-serif;--primary:var(--tblr-primary);--text:var(--tblr-body-color);--muted:var(--tblr-secondary);--line:var(--tblr-border-color);--rail:var(--tblr-bg-surface);--radius:var(--tblr-border-radius);--selected:var(--tblr-primary-lt)}
body{font-family:var(--tblr-font-sans-serif);font-size:var(--tblr-body-font-size);background:var(--tblr-body-bg);color:var(--tblr-body-color)}
[hidden]{display:none!important}.page.app-shell{display:block;min-height:100vh}.sidebar.navbar-vertical{width:14rem;position:fixed;inset:0 auto 0 0;padding:1rem;border-right:1px solid var(--tblr-border-color);z-index:1030;min-height:100vh;align-items:stretch}.sidebar .brand{font-size:1.25rem;letter-spacing:0;margin:0 0 1.5rem;padding:0;white-space:normal;color:var(--tblr-body-color)}.sidebar .navbar-collapse{display:flex;flex-direction:column;align-items:stretch;flex:1;overflow:auto}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.sidebar .nav-button{border:0;padding:.65rem .75rem;gap:.65rem;font-size:.875rem;border-radius:var(--tblr-border-radius);color:var(--tblr-body-color);text-align:left;white-space:normal;justify-content:flex-start}.sidebar .nav-button.active{background:var(--tblr-primary-lt);color:var(--tblr-primary)}.sidebar .logout{margin-top:auto;padding:.65rem .75rem;text-align:left}.application-profile{padding:.75rem;color:var(--tblr-secondary)}
.app-shell>.page-wrapper{margin-left:14rem;min-width:0}.page-body{margin:0;padding:1.5rem;min-width:0}.page-header{margin:0 0 1.25rem;gap:1rem;flex-wrap:wrap}h1,.finance-page h1,.agenda-page h1{font-size:1.5rem;line-height:1.3;letter-spacing:0}h2,.detail h2,.report-list h2{font-size:1.125rem;letter-spacing:0}h3{font-size:1rem}.btn,.page-header>.primary,.filters button{font-size:.875rem;min-width:0;padding:.5rem .75rem}.btn-primary{--tblr-btn-bg:var(--tblr-primary);--tblr-btn-border-color:var(--tblr-primary);--tblr-btn-hover-bg:#0f5751;--tblr-btn-hover-border-color:#0f5751}.btn-danger{color:var(--tblr-white)}
.filters,#professional-filters,#patient-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:1rem;margin:1rem 0}.filters label:first-child{flex:0 1 15rem}.form-label,label{font-size:.875rem}.form-control,.form-select{padding:.5rem .75rem;font-size:.875rem;border-radius:var(--tblr-border-radius)}label{min-width:0}input[type=checkbox]{width:1.125rem;height:1.125rem}.form-hint{font-size:.75rem}.workspace{grid-template-columns:minmax(0,1fr) minmax(19rem,25rem);gap:1.25rem}.detail{background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);padding:1.25rem}.detail .facts{font-size:.875rem;margin-bottom:1rem}.detail .tabs{margin-bottom:1rem}.tabs button{margin-right:.5rem;padding:.5rem}.table-wrap{max-width:100%;border-color:var(--tblr-border-color);border-radius:var(--tblr-border-radius);background:var(--tblr-bg-surface)}.table td{padding:.75rem}.table th{padding:.6rem .75rem}.table-responsive{overflow-x:auto}.metrics{gap:1rem}.metric.card{padding:1rem;border:1px solid var(--tblr-border-color);text-align:left}.metric strong{font-size:1.5rem}.status.badge{padding:.35rem .5rem;border-radius:var(--tblr-border-radius);font-size:.75rem}.status.pending{background:var(--tblr-warning-lt);color:var(--tblr-warning)}.empty{padding:1.5rem;color:var(--tblr-secondary)}.notice.alert{padding:.75rem 1rem;margin-bottom:1rem}.cc-loading::before{content:"";display:inline-block;width:1rem;height:1rem;border:2px solid var(--tblr-border-color);border-top-color:var(--tblr-primary);border-radius:50%;margin-right:.5rem;animation:cc-spin .8s linear infinite}@keyframes cc-spin{to{transform:rotate(360deg)}}
dialog.cc-modal{padding:0;max-height:90dvh;width:min(36rem,calc(100vw - 2rem));border:0;border-radius:var(--tblr-border-radius);overflow:visible}dialog::backdrop{background:rgba(0,0,0,.45)}.cc-modal .modal-content{max-height:90dvh;overflow:auto}.cc-modal .modal-header{margin:0;padding:1rem 1.25rem}.cc-modal .modal-body{padding:1.25rem}.cc-modal .modal-footer{padding:1rem 1.25rem}.cc-modal #modal-fields label{margin-bottom:1rem}.cc-modal .modal-header h2{font-size:1.125rem}.cc-combobox{position:relative;min-width:0}.cc-combobox>.cc-options{position:absolute;top:calc(100% - 1.15rem);left:0;width:100%;max-height:16rem;overflow:auto;z-index:1080;padding:.25rem}.cc-combobox .dropdown-item{width:100%;text-align:left;white-space:normal;border:0;border-radius:0;font-weight:400;padding:.5rem .75rem}.cc-combobox .dropdown-item.active{background:var(--tblr-primary);color:white}.cc-combobox .form-hint{display:block;min-height:1.15rem}.cc-public{max-width:42rem;margin:2rem auto;padding:1.5rem}.cc-public .brand{font-size:1.25rem;letter-spacing:0;margin:0 0 1rem}.cc-public .operation-form{gap:1rem}.cc-public h1{margin-bottom:1.5rem}.cc-icon{width:1.25rem;height:1.25rem;flex:none}.cc-skip:focus{position:fixed;top:0;left:0;background:var(--tblr-bg-surface);z-index:1100;padding:1rem}:focus-visible{outline:3px solid var(--tblr-primary);outline-offset:3px}.audit-event.card{padding:1rem;margin-bottom:1rem}.data-grid{gap:1rem}.professional-page main{max-width:none}.professional-page .page-wrapper main{margin:0}
@media(max-width:991.98px){.sidebar.navbar-vertical{position:relative;inset:auto;width:100%;min-height:0;padding:.75rem 1rem;display:block}.sidebar .brand{display:inline-block;margin:0}.sidebar .navbar-toggler{float:right}.sidebar .navbar-collapse:not(.show){display:none}.sidebar .navbar-collapse.show{display:flex;margin-top:1rem}.sidebar nav{flex-direction:column;overflow:visible}.sidebar .logout{position:static;margin-top:.75rem}.app-shell>.page-wrapper{margin-left:0}.page-body{padding:1rem}.workspace{grid-template-columns:minmax(0,1fr)}.detail{padding:1rem}.filters,#professional-filters,#patient-filters{gap:.75rem}.filters label:first-child{flex-basis:100%}.cc-public{margin:1rem;max-width:calc(100% - 2rem)}.table-responsive{width:100%}.metrics{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.calendar-shell{height:65dvh}.filters input{width:100%}}
@media(max-width:575.98px){#professional-filters,#patient-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#professional-filters>label:nth-child(-n+2),#patient-filters>label:first-child,#professional-filters>button,#patient-filters>button{grid-column:1/-1}.split{flex-wrap:wrap}.split>*{flex-basis:100%}.btn{min-height:2.5rem}.page-header{gap:.75rem}.page-body{overflow-wrap:anywhere}}
@media print{.sidebar,.cc-skip,.filters,button,.d-print-none,nav,.cc-combobox{display:none!important}.app-shell>.page-wrapper{margin:0}.page-body{padding:0}.table-wrap{overflow:visible}.table-wrap table{min-width:0!important}.detail,.card{break-inside:avoid}.page{display:block}.notice{display:none}}
@media(prefers-reduced-motion:reduce){.cc-loading::before{animation:none}}
body[data-path="login"] .page-card{border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:var(--tblr-shadow-card);background:var(--tblr-bg-surface)}body[data-path="login"] .page-card-head{margin-bottom:1rem}body[data-path="login"] .btn-primary{background:var(--tblr-primary);border-color:var(--tblr-primary)}body[data-path="login"] .form-control{min-height:2.5rem}.metric.card{align-items:stretch;display:flex;flex-direction:column}.btn-outline-secondary{background:var(--tblr-bg-surface)}
/* Explicit adaptation: calendar events retain block geometry rather than btn flex. */
.sidebar .nav-button{flex-direction:row;justify-content:flex-start;text-align:left;box-shadow:none}.page-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center}body.is-agenda .workspace:not(.detail-open){grid-template-columns:minmax(0,1fr)}.calendar-appointment.btn{display:block;text-align:left;white-space:normal;overflow:hidden}.calendar-appointment.btn strong,.calendar-appointment.btn small,.calendar-appointment.btn .appointment-time{display:block;white-space:normal}.agenda-page .calendar-shell{height:calc(100dvh - 175px)}.sidebar .navbar-toggler{background:transparent;color:var(--tblr-body-color);border:1px solid var(--tblr-border-color)}
@media(max-width:991.98px){.agenda-page .calendar-shell{height:65dvh}}
/* Native login-content also has a page-card class: avoid Tabler page min-height. */
body[data-path="login"] .login-content.page-card{min-height:0;height:auto;display:block;margin:0 auto;padding:2rem;max-width:25rem}body[data-path="login"] .for-login{min-height:0}body[data-path="login"] .page-card-head{padding:0;border:0;text-align:left}body[data-path="login"] .btn-login.btn-primary{background:var(--tblr-primary)!important;color:white!important;border-color:var(--tblr-primary)!important}body[data-path="login"] .page-card-actions .btn{width:100%}.cc-modal .modal-footer{gap:.5rem}.cc-modal .modal-footer>.btn{margin:0}.cc-icon{filter:opacity(.85)}
.audit-page .table{min-width:48rem}.audit-page pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem;background:var(--tblr-bg-surface-secondary);padding:.75rem}.cc-time-control{position:relative;display:block;min-width:0}.cc-time-control input{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:1;cursor:pointer}.cc-time-display{display:block;min-height:2.5rem;pointer-events:none}.cc-time-control:focus-within{outline:3px solid var(--tblr-primary);outline-offset:3px;border-radius:var(--tblr-border-radius)}
/* Native auth is intentionally not controlled by the application JS adapter. */
.for-login .btn-login,.for-forgot .btn-forgot,.for-signup .btn-signup{background:var(--tblr-primary)!important;border-color:var(--tblr-primary)!important;color:white!important}

.report-list>section.card{padding:1rem;margin-bottom:1rem}#professional-filters>label:first-child,#patient-filters>label:first-child{min-width:10rem}

/* Shared public/error actions override supported native website primary styling. */
.cc-public .btn-primary{background:var(--tblr-primary)!important;border-color:var(--tblr-primary)!important;color:white!important}
