:root{--bg:#faf9f7;--fg:#111827;--muted:#6b7280;--border:#e2dfda;--brand:#3b6fd4;--brand-weak:#eff6ff;--brand-strong: color-mix(in oklab, var(--brand) 92%, #000);--brand-weak-2: color-mix(in oklab, var(--brand) 12%, #fff);--danger:#dc2626;--success:#059669;--warning:#d97706;--radius:12px;--radius-sm:8px;--radius-lg:16px;--shadow:0 2px 4px rgba(0,0,0,.04), 0 8px 24px rgba(59,111,212,.08);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--focus-ring: 0 0 0 3px color-mix(in oklab, var(--brand) 30%, transparent);--selection-bg: color-mix(in oklab, var(--brand) 18%, #fff);--selection-fg: #000;accent-color:var(--brand);color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#1a1a1e;--fg:#f3f4f6;--muted:#a1a1aa;--border:#2a2a2e;--brand-weak:#1a2a3e;--brand-strong: color-mix(in oklab, var(--brand) 80%, #000);--brand-weak-2: color-mix(in oklab, var(--brand) 22%, #000);--shadow:0 2px 4px rgba(0,0,0,.2), 0 12px 32px rgba(0,0,0,.4);--selection-bg: color-mix(in oklab, var(--brand) 30%, #000);--selection-fg:#fff}}[data-theme=dark]{--bg:#1a1a1e;--fg:#f3f4f6;--muted:#a1a1aa;--border:#2a2a2e;--brand-weak:#1a2a3e;--brand-strong: color-mix(in oklab, var(--brand) 80%, #000);--brand-weak-2: color-mix(in oklab, var(--brand) 22%, #000);--shadow:0 2px 4px rgba(0,0,0,.2), 0 12px 32px rgba(0,0,0,.4);--selection-bg: color-mix(in oklab, var(--brand) 30%, #000);--selection-fg:#fff}@media (prefers-contrast: more){:root{--focus-ring: 0 0 0 3px #0000, 0 0 0 4px var(--brand)}}html,body,#root{height:100%;background:var(--bg);color:var(--fg)}::selection{background:var(--selection-bg);color:var(--selection-fg)}*:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:max(2px,var(--radius-sm))}*,*:before,*:after{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;font-family:Geist,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color:var(--fg, #0f172a);background:var(--bg, #fff)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}img,picture,video,canvas,svg{display:block;max-width:100%}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem;line-height:1.2;font-weight:400;font-family:"DM Serif Display",Georgia,serif;letter-spacing:-.01em}p{margin:0 0 1rem}small{font-size:.875em}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}pre{margin:0 0 1rem;padding:.75rem 1rem;overflow:auto;background:var(--code-bg, #0f172a0d);border:1px solid var(--border, #e2e8f0);border-radius:8px}hr{height:0;border:0;border-top:1px solid var(--border, #e2e8f0);margin:1rem 0}.container{max-width:1750px;margin:0 auto;padding:0 var(--space-4, 1rem)}button,input,select,textarea{font:inherit;color:inherit;background:#fff;border:1px solid var(--border, #d7d7d7);border-radius:8px;padding:6px 10px;line-height:1.2}button{cursor:pointer}button:disabled,[disabled]{cursor:not-allowed;opacity:.6}table{width:100%;border-collapse:collapse}th,td{padding:.5rem .75rem;border-top:1px solid var(--border, #e2e8f0)}thead th{border-bottom:1px solid var(--border, #e2e8f0)}@media print{header,.no-print{display:none!important}@page{margin:12mm}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media print{.no-print,body.print-grid-only #summary,body.print-grid-only h2{display:none!important}body.print-grid-only #appointments{display:table!important}body.print-grid-only #print-grid-date{display:block!important}}#print-grid-date{display:none}.btn{--_radius: var(--radius, 10px);--_border: var(--border, #e2e8f0);--_fg: var(--fg, #0f172a);--_bg: var(--btn-bg, #fff);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:36px;padding:8px 12px;border-radius:var(--_radius);border:1px solid var(--_border);background:var(--_bg);color:var(--_fg);cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;font-weight:500;line-height:1;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .02s ease-in}.btn:hover{background:color-mix(in oklab,var(--fg, #111) 4%,var(--bg, #fff))}.btn:active{transform:translateY(1px) scale(.98)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--brand, #2563eb) 30%,transparent)}.btn[disabled],.btn.is-loading{opacity:.6;cursor:not-allowed;pointer-events:none}.btn.icon{padding:8px;width:36px;min-width:36px}.btn.sm{padding:6px 10px;min-height:32px;font-size:.9rem}.btn.lg{padding:10px 14px;min-height:44px;font-size:1rem}.btn.primary{--_bg: var(--brand, #2563eb);border-color:var(--brand, #2563eb);color:#fff}.btn.primary:hover{background:color-mix(in oklab,var(--brand, #2563eb) 90%,#000 10%)}.btn.danger{--_bg: var(--danger, #dc2626);border-color:var(--danger, #dc2626);color:#fff}.btn.danger:hover{background:color-mix(in oklab,var(--danger, #dc2626) 90%,#000 10%)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:color-mix(in oklab,var(--brand, #2563eb) 8%,transparent)}.btn.outline{background:transparent;color:var(--brand, #2563eb);border-color:currentColor}.btn.link{background:transparent;border-color:transparent;color:var(--brand, #2563eb);padding:0;min-height:auto}.card{--_border: var(--border, #e2e8f0);--_radius: var(--radius, 12px);border:1px solid var(--_border);border-radius:var(--_radius);background:var(--bg, #faf9f7);box-shadow:var(--shadow, 0 2px 4px rgba(0,0,0,.04), 0 8px 24px rgba(59,111,212,.08))}.card .card-header{padding:12px 16px;border-bottom:1px solid var(--_border);font-weight:600}.card .card-body{padding:16px}.card .card-footer{padding:12px 16px;border-top:1px solid var(--_border)}.table{width:100%;border-collapse:collapse}.table th,.table td{border:1px solid var(--border, #e2e8f0);padding:8px 10px;text-align:left;vertical-align:top}.table th{background:color-mix(in oklab,var(--brand, #2563eb) 6%,#fff);font-weight:600}.table.striped tbody tr:nth-child(2n){background:color-mix(in oklab,#000 2%,#fff)}.table.hover tbody tr:hover{background:color-mix(in oklab,var(--brand, #2563eb) 6%,#fff)}.table-responsive{overflow-x:auto;width:100%}.badge{--_border: var(--border, #e2e8f0);display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--_border);background:var(--brand-weak, #e6efff);color:var(--brand, #2563eb);padding:2px 8px;border-radius:999px;font-size:12px;line-height:1.2;white-space:nowrap}.badge.sm{font-size:11px;padding:2px 6px}.badge.lg{font-size:13px;padding:4px 10px}.badge.neutral{background:color-mix(in oklab,#000 4%,#fff);color:var(--fg, #0f172a)}.badge.success{background:color-mix(in oklab,#16a34a 15%,#fff);color:#065f46;border-color:color-mix(in oklab,#16a34a 45%,#fff)}.badge.warning{background:color-mix(in oklab,#f59e0b 20%,#fff);color:#7c4700;border-color:color-mix(in oklab,#f59e0b 55%,#fff)}.badge.danger{background:color-mix(in oklab,var(--danger, #dc2626) 18%,#fff);color:#7f1d1d;border-color:color-mix(in oklab,var(--danger, #dc2626) 55%,#fff)}@media (prefers-color-scheme: dark){.btn{--_border:#1f2937;--_bg:#111827;--_fg:#e5e7eb;background:var(--_bg);border-color:var(--_border);color:var(--_fg)}.btn:hover{background:#0b1020}.btn.outline{color:var(--brand, #60a5fa)}.card{background:#0b1020;border-color:#1f2937}.table th,.table td{border-color:#1f2937}.table th{background:#0f172a}.table.striped tbody tr:nth-child(2n){background:#0f172a}}.chakra-button:active:not([disabled]){transform:translateY(1px) scale(.98)}@media (prefers-reduced-motion: reduce){.btn{transition:none}.chakra-button:active{transform:none}}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem}.hidden{display:none!important}.flex{display:flex;gap:var(--space-2, .5rem)}.grid{display:grid;gap:var(--space-3, .75rem)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.gap-1{gap:var(--space-1, .25rem)}.gap-2{gap:var(--space-2, .5rem)}.gap-3{gap:var(--space-3, .75rem)}.gap-4{gap:var(--space-4, 1rem)}.row-gap-2{row-gap:var(--space-2, .5rem)}.col-gap-2{column-gap:var(--space-2, .5rem)}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1 0}.flex-none{flex:none}.m-0{margin:0!important}.mt-2{margin-top:var(--space-2, .5rem)!important}.mt-4{margin-top:var(--space-4, 1rem)!important}.mb-2{margin-bottom:var(--space-2, .5rem)!important}.mb-4{margin-bottom:var(--space-4, 1rem)!important}.mx-2{margin-left:var(--space-2, .5rem)!important;margin-right:var(--space-2, .5rem)!important}.my-2{margin-top:var(--space-2, .5rem)!important;margin-bottom:var(--space-2, .5rem)!important}.p-2{padding:var(--space-2, .5rem)!important}.p-4{padding:var(--space-4, 1rem)!important}.px-2{padding-left:var(--space-2, .5rem)!important;padding-right:var(--space-2, .5rem)!important}.py-2{padding-top:var(--space-2, .5rem)!important;padding-bottom:var(--space-2, .5rem)!important}.w-full{width:100%}.max-w-screen{max-width:100vw}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width:640px){.sm\\:hidden{display:none!important}.sm\\:flex{display:flex}.sm\\:grid{display:grid}.sm\\:grid-2{grid-template-columns:repeat(2,1fr)}.sm\\:grid-3{grid-template-columns:repeat(3,1fr)}.sm\\:grid-4{grid-template-columns:repeat(4,1fr)}.sm\\:flex-row{flex-direction:row}.sm\\:flex-col{flex-direction:column}.sm\\:gap-4{gap:var(--space-4,1rem)}}@media (min-width:768px){.md\\:grid-2{grid-template-columns:repeat(2,1fr)}.md\\:grid-3{grid-template-columns:repeat(3,1fr)}.md\\:grid-4{grid-template-columns:repeat(4,1fr)}.md\\:justify-between{justify-content:space-between}}@media (min-width:1024px){.lg\\:grid-3{grid-template-columns:repeat(3,1fr)}.lg\\:grid-4{grid-template-columns:repeat(4,1fr)}.lg\\:gap-6{gap:var(--space-6,1.5rem)}}@media (min-width:1280px){.xl\\:grid-4{grid-template-columns:repeat(4,1fr)}}@media print{.print\\:hidden{display:none!important}.print\\:block{display:block!important}}
