@font-face{font-family:'Nexus Inter';src:url('/static/fonts/Inter-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Nexus Inter';src:url('/static/fonts/Inter-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Nexus Inter';src:url('/static/fonts/Inter-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Nexus Inter';src:url('/static/fonts/Inter-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
/* Shared type system. Preserve brand palette and existing layout. */
:root{--font-sans:'Nexus Inter',Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-card:17px;--text-page:23px;--text-kpi:27px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.25;--leading-normal:1.5}
html,body,button,input,select,textarea{font-family:var(--font-sans)!important}
body{font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal)}
h1,.top h1,#page-title{font-size:var(--text-page)!important;font-weight:var(--weight-bold)!important;line-height:var(--leading-tight);letter-spacing:-.025em}
h2,.panel h2,.details h2,.panel-head h2{font-size:var(--text-card)!important;font-weight:var(--weight-semibold)!important;line-height:1.35;letter-spacing:-.012em}
h3{font-weight:var(--weight-semibold);line-height:1.35}
small,label,.nav-caption,.legend,.top p{font-weight:var(--weight-medium)}
.metric strong,.kpi strong,.stat-value,[data-kpi]{font-size:var(--text-kpi)!important;font-weight:var(--weight-bold)!important;font-variant-numeric:tabular-nums;line-height:1.15}
.sidebar nav button{display:flex;align-items:center;gap:12px;font-size:var(--text-base)!important;font-weight:var(--weight-medium)!important;line-height:1.35}
.sidebar nav button [data-icon]{width:20px;height:20px;flex:0 0 20px;display:inline-flex;align-items:center;justify-content:center}
.sidebar nav button .nx-icon{width:19px;height:19px;display:block}
.week-grid,.grid-head,.grid-time,.appointment,.mobile-date-strip{font-variant-numeric:tabular-nums}
.grid-head,.grid-time{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;line-height:1.35}
.appointment{padding:7px 8px;line-height:1.4;margin-bottom:4px}
.legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;line-height:1.5}
.legend span{display:inline-flex;align-items:center;white-space:nowrap;gap:5px}
.legend i{display:inline-block;flex:0 0 10px;width:10px;height:10px;margin:0}
.legend .cancelled{background:#e45a66!important}
@media(max-width:520px){h1,.top h1,#page-title{font-size:22px!important}.sidebar nav button{font-size:14px!important}}
