
:root{color-scheme:light;--bg:#f5f5f5;--paper:#fff;--ink:#0f0f0f;--muted:#626262;--line:#dedede;--soft:#f5f5f5;--accent:#7b34ce;--accent-strong:#6326aa;--accent-soft:#f1e9fa;--pink:#fa0cf7;--pink-ink:#9c138d;--pink-soft:#fce8fb;--yellow:#fff100;--cobalt:#3b42c4;--danger:#b42342;--danger-soft:#fff0f3;--success:#007257;--success-soft:#edf8f2;--radius:8px;--radius-card:16px;--radius-control:4px;--radius-action:999px;--font-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-family:var(--font-sans);color:var(--ink);background:var(--bg)}
body{font-family:var(--font-sans);color:var(--ink);background:var(--bg)}h1,h2,h3,.form-disclosure summary{font-family:var(--font-sans);font-weight:700;letter-spacing:-.03em}h1{font-size:clamp(1.8rem,2.5vw,2.5rem);font-weight:750;line-height:1.2}h2{font-size:1.2rem;line-height:1.35}
a{color:var(--accent-strong)}button,.button{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:600;border-radius:var(--radius-action)}button:hover,.button:hover{background:var(--accent);border-color:var(--accent)}
.secondary,button.secondary,.button.secondary{background:var(--paper);border-color:var(--line);color:var(--ink)}.secondary:hover,button.secondary:hover,.button.secondary:hover{background:var(--soft);border-color:var(--ink);color:var(--ink)}.linkbutton,.linkbutton:hover{background:transparent;color:var(--accent-strong);border:0;border-radius:0}
input,select,textarea{border-color:var(--line);border-radius:var(--radius-control);background:var(--paper)}input:hover,select:hover,textarea:hover{border-color:#a3a3a3}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.card{box-shadow:none;border:1px solid var(--line);border-radius:var(--radius)}th{background:var(--soft);color:var(--muted)}tbody tr:hover{background:var(--accent-soft)}.table-scroll{border-radius:0}
.notice{border-radius:var(--radius-control);background:var(--accent-soft);border-color:var(--line);border-left-color:var(--accent)}.notice.error{background:var(--danger-soft);color:var(--danger);border-left-color:var(--danger)}.notice.success{background:var(--success-soft);color:var(--success);border-left-color:var(--success)}
.brand{font-family:var(--font-sans);font-weight:800;letter-spacing:-.035em}.admin-app .brand{font-size:25px;letter-spacing:-.03em}.admin-app .brand>.brand-name{font-family:var(--font-sans);font-weight:800;letter-spacing:-.03em}.admin-app .brand>span:not(.brand-name){color:var(--accent);font-weight:700;letter-spacing:.14em}.admin-app .clinic-dot{background:var(--pink);border-radius:50%;box-shadow:0 0 0 4px var(--pink-soft)}
.admin-app .app-header{box-shadow:none;border-bottom-color:var(--line)}.admin-app .nav-home[aria-current=page],.admin-app .nav-group.is-current>summary{color:var(--ink);background:transparent;box-shadow:inset 0 -3px 0 var(--accent)}.admin-app .nav-group>summary:hover,.admin-app .nav-home:hover{background:var(--soft);color:var(--ink)}.admin-app .nav-home,.admin-app .nav-group>summary{border-radius:0}
.admin-app .nav-panel{border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0f0f0f12}.admin-app .nav-section h2{color:var(--muted);font-family:var(--font-sans);font-weight:700;letter-spacing:.08em;border:0;padding-bottom:0}.admin-app .nav-panel a{border-radius:var(--radius-control)}.admin-app .nav-panel a:hover,.admin-app .nav-panel a[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong)}.admin-app .account-menu>summary{border-radius:var(--radius-action)}
/* Indicators are individual cards, with spacing instead of a continuous band. */
.admin-app .stats{display:flex;flex-wrap:wrap;gap:16px;background:transparent;border:0}.admin-app .stats>div{flex:1 1 195px;position:relative;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius-card);box-shadow:none;padding:24px}.admin-app .stats>div:nth-child(3n+2){border-top-color:var(--pink)}.admin-app .stats>div:nth-child(3n){border-top-color:var(--yellow)}
.admin-app .stats strong{font-family:var(--font-sans);font-weight:750;color:var(--ink);letter-spacing:-.035em;font-variant-numeric:tabular-nums}.admin-app .stats span{font-size:.82rem}.admin-app .page-context strong{color:var(--accent-strong)}
.admin-app .patient-tabs button{color:var(--muted);background:transparent;border-radius:0}.admin-app .patient-tabs button:hover{background:var(--soft)}.admin-app .patient-tabs button[aria-selected=true]{color:var(--accent-strong);border-bottom-color:var(--accent);background:transparent}
.agenda-date-nav .icon-button,.agenda-date-nav .button,.view-switch a{color:var(--ink);background:var(--paper);border-color:var(--line)}.icon-button{border-radius:var(--radius-action)}.view-switch{border-radius:var(--radius-control)}.view-switch a{border-radius:2px}.view-switch a[aria-current=page]{color:var(--paper);background:var(--ink)}
.agenda-free,.agenda-appointment{border-radius:10px}.agenda-free{background:var(--accent-soft);border-color:var(--line)}.agenda-free .agenda-slot-label{color:var(--accent-strong)}.agenda-appointment{border-left-color:var(--accent);background:var(--paper)}.state-confirmada{border-left-color:var(--success)}.state-cancelada,.state-ausente{background:var(--danger-soft);border-left-color:var(--danger)}
.agenda-week-day{border-radius:var(--radius)}.agenda-week-day h2 strong,.agenda-range-title h2{font-family:var(--font-sans);font-weight:700}.agenda-week-day.is-today h2 strong{border-radius:50%}.badge,.status-pill,.agenda-counters span{border-radius:6px}.availability-day,.availability-exception,.availability-save{border-radius:var(--radius)}.availability-day.is-enabled{border-color:var(--accent);background:var(--accent-soft)}.availability-dash{color:var(--muted)}
.business-chart-track,.business-chart-meter::-webkit-meter-bar{background:var(--soft)}.business-chart-bar,.business-chart-meter::-webkit-meter-optimum-value{background:var(--accent)}.business-chart-bar.negative,.business-chart-meter.negative::-webkit-meter-optimum-value{background:var(--danger)}.business-chart-meter::-moz-meter-bar{background:var(--accent)}.business-chart-meter.negative::-moz-meter-bar{background:var(--danger)}
.business-chart-track,.business-chart-bar,.business-chart-meter::-webkit-meter-bar,.business-chart-meter::-webkit-meter-optimum-value,.business-chart-meter::-moz-meter-bar{border-radius:var(--radius-control)}
@media(min-width:981px){.admin-app .app-nav,.platform-nav{justify-content:center}}
@media(max-width:980px){.admin-app .nav-group>.nav-panel{border:0;border-left:2px solid var(--line);border-radius:0;box-shadow:none}.admin-app .nav-home[aria-current=page],.admin-app .nav-group.is-current>summary{box-shadow:inset 3px 0 0 var(--accent);background:var(--soft)}}
@media(max-width:520px){.admin-app .stats{gap:12px}.admin-app .stats>div{flex-basis:calc(50% - 6px);padding:20px 16px}.admin-app .brand>.brand-name{font-size:19px}.admin-app .admin-main h1{font-size:1.85rem}}
@media print{body{background:white;color:black}.card{box-shadow:none}.admin-app .stats>div{border:1px solid var(--line)}}

.page-help{border:0;border-radius:4px;background:var(--soft);padding:16px 20px;margin:0 0 28px;font:14px/1.5 var(--font-sans);color:var(--ink)}
.page-help-intro{display:flex;align-items:flex-start;gap:12px}.page-help-intro p{margin:0;line-height:1.6;color:var(--muted)}.help-symbol{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;background:var(--accent-soft);border-radius:6px;color:var(--accent);font-weight:750}
.page-help-steps>summary{list-style:none;display:flex;align-items:center;gap:10px;color:var(--accent);font-size:13px;font-weight:650;min-height:38px;padding:8px 0 0;margin:0;cursor:pointer}.page-help-steps>summary::-webkit-details-marker{display:none}.page-help-steps[open]>summary{margin-bottom:12px}.page-help-steps>summary span{transition:transform .15s}.page-help-steps[open]>summary span{transform:rotate(180deg)}
.page-help-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;counter-reset:help-step}.page-help-steps li{counter-increment:help-step;background:var(--paper);padding:16px;border:0;border-radius:8px;min-width:0}.page-help-steps li:before{content:counter(help-step,decimal-leading-zero);display:block;color:var(--pink-ink);font-weight:750;font-size:12px;line-height:1.3;font-variant-numeric:tabular-nums;margin-bottom:8px}.page-help-steps li strong{font-size:14px}.page-help-steps li p{font-size:13px;line-height:1.6;margin:6px 0 0;color:var(--muted)}.page-help-tip{font-size:12px;line-height:1.6;color:var(--muted);margin:14px 0 0}.page-help-tip strong{color:var(--ink)}
.function-finder{position:relative}.function-finder>summary{display:flex;gap:10px;align-items:center;background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:var(--radius-action);padding:10px 16px;min-height:40px;margin:0;font-size:13px;white-space:nowrap;list-style:none}.function-finder>summary::-webkit-details-marker{display:none}.function-finder[open]>summary{margin:0;color:var(--accent);border-color:var(--accent)}.function-finder kbd{font:10px var(--font-sans);background:var(--soft);padding:3px 5px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}
.function-finder-panel{position:absolute;right:0;top:calc(100% + 12px);z-index:70;width:min(550px,calc(100vw - 32px));padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:0 10px 30px #0f0f0f12}.function-finder-panel label{font-size:15px;font-weight:700;margin:0 0 10px;display:block}.function-finder-panel input{font-size:15px;margin:0}.finder-count{font-size:12px;color:var(--muted);margin:12px 0}.finder-results{max-height:min(440px,55vh);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.finder-results>a{display:flex;flex-direction:column;gap:4px;border-radius:4px;padding:12px;color:var(--ink);text-decoration:none;border:0}.finder-results>a+a{margin-top:2px}.finder-results>a:hover,.finder-results>a:focus-visible{background:var(--accent-soft);text-decoration:none}.finder-results strong{font-size:14px}.finder-results span:not(.finder-category){font-size:12px;color:var(--muted);line-height:1.5}.finder-category{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.finder-empty{font-size:13px;color:var(--muted)}
.admin-app .nav-panel a>span{min-width:0}.admin-app .nav-panel a strong{display:block;font-size:13px;font-weight:600}.admin-app .nav-panel a small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.45;margin-top:4px;max-width:240px}.admin-app .nav-panel a[aria-current=page] strong{color:var(--accent)}
.admin-app .nav-panel-wide{width:640px}.admin-app .nav-panel{max-height:min(680px,75vh);overflow-y:auto}.admin-app .topbar-actions{gap:16px}.admin-app .clinic-context{max-width:200px}.admin-app .app-topbar .brand{max-width:32%}
@media(max-width:1200px){.function-finder kbd{display:none}.admin-app .clinic-context{display:none}.admin-app .app-topbar .brand{max-width:42%}}
@media(max-width:980px){.page-help-steps ol{grid-template-columns:1fr}.page-help-steps li{padding:14px}.admin-app .nav-panel a small{max-width:none}.admin-app .nav-group>.nav-panel{max-height:none}.function-finder-panel{position:fixed;left:16px;right:16px;top:80px;width:auto}.admin-app .app-topbar .brand{max-width:none}}
@media(max-width:520px){.page-help{padding:14px;margin-bottom:22px}.page-help-intro{gap:10px}.page-help-intro p{font-size:13px}.function-finder>summary{padding:9px}.function-finder>summary>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.admin-app .topbar-actions{gap:8px}}
@media print{.page-help,.function-finder{display:none!important}}@media(prefers-reduced-motion:reduce){.page-help-steps>summary span{transition:none}}
