:root{--aetos-navy-sidebar:#0d2133;--aetos-navy:#10263a;--aetos-navy-surface:#122b42;--aetos-navy-elevated:#18344c;--aetos-navy-high:#1c3a54;--aetos-navy-input:#0f2538;--aetos-copper:#c2876b;--aetos-copper-hover:#d19a7e;--aetos-champagne:#e6cbb8;--aetos-offwhite:#f7f3ee;--aetos-white:#fffdfc;--aetos-charcoal:#2c3138;--radius-sm:8px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--font-body:"Inter","Geist Sans","Aptos","Segoe UI",system-ui,-apple-system,sans-serif;--font-display:"Cormorant Garamond","Libre Baskerville",Georgia,serif;--ease-out:cubic-bezier(0.22,1,0.36,1);--speed-fast:150ms;--speed-base:200ms;color-scheme:dark;--background:var(--aetos-navy);--foreground:var(--aetos-offwhite);--text-body:#d7e0e7;--muted-foreground:#a9b6c2;--disabled-foreground:#6f7f8d;--surface:var(--aetos-navy-sidebar);--card:var(--aetos-navy-surface);--card-elevated:var(--aetos-navy-elevated);--input-bg:var(--aetos-navy-input);--border:#2a4963;--border-subtle:rgba(230,203,184,0.12);--border-active:var(--aetos-copper);--primary:var(--aetos-copper);--primary-hover:var(--aetos-copper-hover);--primary-foreground:var(--aetos-navy);--secondary:rgba(230,203,184,0.1);--secondary-foreground:var(--aetos-champagne);--secondary-border:rgba(230,203,184,0.18);--accent:var(--aetos-copper);--accent-soft:rgba(194,135,107,0.12);--accent-strong:var(--aetos-champagne);--hover-soft:rgba(230,203,184,0.08);--ring:var(--aetos-copper);--success:#2f9e7e;--success-soft:rgba(47,158,126,0.16);--success-fg:#8fd9c3;--warning:#c6923a;--warning-soft:rgba(198,146,58,0.16);--warning-fg:#e3be7c;--destructive:#c65353;--destructive-soft:rgba(198,83,83,0.16);--destructive-fg:#e89a9a;--info:#4c8fbf;--info-soft:rgba(76,143,191,0.16);--info-fg:#9cc6e4;--neutral-soft:rgba(169,182,194,0.12);--neutral-fg:#a9b6c2;--premium-soft:rgba(194,135,107,0.14);--premium-fg:var(--aetos-champagne);--premium-border:rgba(194,135,107,0.22);--sidebar-bg:var(--surface);--sidebar-item:#a9b6c2;--sidebar-item-hover:rgba(230,203,184,0.08);--sidebar-item-active-bg:rgba(194,135,107,0.14);--sidebar-item-active-fg:var(--aetos-champagne);--sidebar-icon-active:var(--aetos-copper);--shadow-card:0 12px 32px rgba(0,0,0,0.18);--shadow-pop:0 18px 48px rgba(0,0,0,0.32);--chart-1:var(--aetos-copper);--chart-2:var(--aetos-champagne);--chart-3:#4c8fbf;--chart-4:#2f9e7e;--chart-5:#c6923a;--chart-neutral:#8a98a6;--agenda-hour-height:84px;--agenda-half-hour-height:calc(var(--agenda-hour-height) / 2);--agenda-time-gutter-width:52px;--agenda-day-header-height:44px;--duration-fast:120ms;--duration-normal:180ms;--duration-slow:220ms;--status-scheduled-bg:rgba(169,182,194,0.13);--status-scheduled-border:rgba(169,182,194,0.42);--status-scheduled-text:#c6d1da;--status-confirmed-bg:rgba(76,143,191,0.18);--status-confirmed-border:rgba(124,179,218,0.55);--status-confirmed-text:#a8cfea;--status-completed-bg:rgba(47,158,126,0.18);--status-completed-border:rgba(96,196,163,0.5);--status-completed-text:#98dcc6;--status-rescheduled-bg:rgba(198,146,58,0.18);--status-rescheduled-border:rgba(220,177,101,0.5);--status-rescheduled-text:#e6c184;--status-no-show-bg:rgba(198,83,83,0.18);--status-no-show-border:rgba(222,124,124,0.55);--status-no-show-text:#eba1a1;--status-cancelled-bg:rgba(133,146,158,0.09);--status-cancelled-border:rgba(133,146,158,0.3);--status-cancelled-text:#8d9aa7;--status-waiting-bg:rgba(194,135,107,0.16);--status-waiting-border:rgba(209,154,126,0.5);--status-waiting-text:#e0b39c;--status-in-service-bg:rgba(194,135,107,0.28);--status-in-service-border:var(--aetos-copper);--status-in-service-text:#edcbb6;--agenda-block-bg:rgba(169,182,194,0.05);--agenda-block-stripe:rgba(169,182,194,0.14);--agenda-block-border:rgba(169,182,194,0.32);--agenda-block-text:#b6c2cd;--cat-rose:#e06c93;--cat-pink:#d45fa2;--cat-purple:#a884da;--cat-indigo:#8790e0;--cat-blue:#5a9fd6;--cat-cyan:#46b4c6;--cat-teal:#3fb49c;--cat-green:#57b972;--cat-lime:#93b84c;--cat-amber:#d3a24a;--cat-orange:#d5875a;--cat-slate:#8f9dab}html[data-theme=light]{color-scheme:light;--background:var(--aetos-offwhite);--foreground:var(--aetos-navy);--text-body:var(--aetos-charcoal);--muted-foreground:#66717c;--disabled-foreground:#9aa3aa;--surface:var(--aetos-white);--card:var(--aetos-white);--card-elevated:#f1e9e2;--input-bg:var(--aetos-white);--border:#e4d8ce;--border-subtle:#efe5dd;--border-active:var(--aetos-copper);--primary:var(--aetos-navy);--primary-hover:var(--aetos-navy-elevated);--primary-foreground:var(--aetos-offwhite);--secondary:#f1ded2;--secondary-foreground:var(--aetos-navy);--secondary-border:#e8d4c6;--accent:var(--aetos-copper);--accent-soft:#f1ded2;--accent-strong:#8c5b41;--hover-soft:#f1e9e2;--success-soft:#dff5ee;--success-fg:#1f7a60;--warning-soft:#fff3d8;--warning-fg:#8f6a24;--destructive-soft:#fbe4e4;--destructive-fg:#a33e3e;--info-soft:#e1f0fa;--info-fg:#33698f;--neutral-soft:#efe5dd;--neutral-fg:#66717c;--premium-soft:rgba(194,135,107,0.14);--premium-fg:#8c5b41;--premium-border:rgba(194,135,107,0.28);--sidebar-bg:var(--aetos-white);--sidebar-item:#66717c;--sidebar-item-hover:#f1e9e2;--sidebar-item-active-bg:#f1ded2;--sidebar-item-active-fg:var(--aetos-navy);--sidebar-icon-active:var(--aetos-copper);--shadow-card:0 12px 28px rgba(16,38,58,0.08);--shadow-pop:0 18px 44px rgba(16,38,58,0.16);--chart-2:var(--aetos-navy-elevated);--status-scheduled-bg:#eceef1;--status-scheduled-border:#b3bfca;--status-scheduled-text:#4d5a66;--status-confirmed-bg:#e1f0fa;--status-confirmed-border:#8db9da;--status-confirmed-text:#2c5e82;--status-completed-bg:#dff5ee;--status-completed-border:#7cc7ad;--status-completed-text:#1f7a60;--status-rescheduled-bg:#fff3d8;--status-rescheduled-border:#d8b06a;--status-rescheduled-text:#8f6a24;--status-no-show-bg:#fbe4e4;--status-no-show-border:#d98c8c;--status-no-show-text:#a33e3e;--status-cancelled-bg:#f0ede9;--status-cancelled-border:#d3d8dc;--status-cancelled-text:#8a949e;--status-waiting-bg:#f6e7dc;--status-waiting-border:#cf9d7f;--status-waiting-text:#8c5b41;--status-in-service-bg:#f1dccd;--status-in-service-border:var(--aetos-copper);--status-in-service-text:#7c4a31;--agenda-block-bg:#f5f1ec;--agenda-block-stripe:rgba(102,113,124,0.13);--agenda-block-border:#cfd4d9;--agenda-block-text:#66717c}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:radial-gradient(1100px 520px at 85% -12%,var(--card-elevated) 0,transparent 55%),var(--background);color:var(--text-body);font-family:var(--font-body);font-size:.875rem;line-height:1.571;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{color:var(--foreground);font-weight:600;margin:0}h1{font-size:2rem;line-height:2.5rem;letter-spacing:-.01em}h2{font-size:1.5rem;line-height:2rem}h3{font-size:1rem;line-height:1.5rem;font-weight:500}a{color:inherit;text-decoration:none}p>a{color:var(--accent-strong);text-decoration:underline;text-underline-offset:2px;-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}p>a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}p{margin:0}p+p{margin-top:8px}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.display-title{font-family:var(--font-display);font-weight:600;letter-spacing:0;color:var(--foreground)}.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;line-height:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.text-muted{color:var(--muted-foreground)}.text-small{font-size:.75rem;line-height:1.125rem}.app-shell{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh}.app-shell[data-collapsed=true]{grid-template-columns:76px minmax(0,1fr)}.shell-column{min-width:0}.shell-column,.sidebar{display:flex;flex-direction:column}.sidebar{gap:18px;border-right:1px solid var(--border-subtle);background:var(--sidebar-bg);padding:20px 14px 16px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px}.brand,.brand-mark{border-radius:var(--radius-md)}.brand-mark{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-text{display:grid;grid-gap:1px;gap:1px;min-width:0}.brand-text strong{color:var(--foreground);font-size:1.05rem;letter-spacing:-.01em;white-space:nowrap}.brand-text span{color:var(--muted-foreground);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav{display:grid;grid-gap:16px;gap:16px;align-content:start;flex:1 1}.nav-group{display:grid;grid-gap:2px;gap:2px}.nav-group-label{font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted-foreground);opacity:.75;padding:0 12px 4px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-md);color:var(--sidebar-item);min-height:38px;transition:background-color var(--speed-fast) var(--ease-out),color var(--speed-fast) var(--ease-out)}.nav-item svg{flex-shrink:0}.nav-item:hover{background:var(--sidebar-item-hover);color:var(--foreground)}.nav-item.active{background:var(--sidebar-item-active-bg);color:var(--sidebar-item-active-fg);font-weight:500}.nav-item.active svg{color:var(--sidebar-icon-active)}.sidebar-footer{border-top:1px solid var(--border-subtle);padding-top:12px}.user-chip{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-md);min-width:0}.user-chip .avatar{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:999px;background:var(--secondary);border:1px solid var(--secondary-border);color:var(--secondary-foreground);font-size:.75rem;font-weight:600}.user-chip .user-info{display:grid;min-width:0}.user-chip .user-info strong{color:var(--foreground);font-size:.8rem;font-weight:500}.user-chip .user-info span,.user-chip .user-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip .user-info span{color:var(--muted-foreground);font-size:.72rem}.app-shell[data-collapsed=true] .brand-text,.app-shell[data-collapsed=true] .nav-group-label,.app-shell[data-collapsed=true] .nav-label,.app-shell[data-collapsed=true] .user-info{display:none}.app-shell[data-collapsed=true] .brand,.app-shell[data-collapsed=true] .nav-item,.app-shell[data-collapsed=true] .user-chip{justify-content:center;padding-left:0;padding-right:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--border-subtle);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar-actions,.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.clinic-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text-body);font-size:.8rem;white-space:nowrap}.clinic-chip svg{color:var(--accent)}.demo-user{display:inline-flex;align-items:center;gap:8px;color:var(--muted-foreground);font-size:.78rem;white-space:nowrap}.shell-main{padding:28px 32px 40px}.top-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.page-header{display:grid;grid-gap:6px;gap:6px;margin-bottom:24px}.page-header h1{font-size:2rem;line-height:2.5rem}.page-header p{max-width:70ch;color:var(--muted-foreground)}.grid{display:grid;grid-gap:16px;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.panel{background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.panel{padding:20px}.card{padding:16px}.card-accent{position:relative;overflow:hidden}.card-accent:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 70%)}.card.clickable,a.card{transition:border-color var(--speed-base) var(--ease-out),transform var(--speed-base) var(--ease-out),box-shadow var(--speed-base) var(--ease-out)}.card.clickable:hover,a.card:hover{border-color:var(--border-active);transform:translateY(-1px);box-shadow:var(--shadow-pop)}.section-title{margin:0 0 14px;font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;color:var(--muted-foreground);letter-spacing:.08em;display:flex;align-items:center;gap:6px}.color-dot{display:inline-block;width:8px;height:8px;border-radius:999px;flex-shrink:0}.divider{border:none;border-top:1px solid var(--border-subtle);margin:16px 0}.stat{min-height:122px;display:grid;align-content:space-between;grid-gap:10px;gap:10px}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.stat .label,.stat-label{color:var(--muted-foreground);font-size:.75rem;line-height:1rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.stat-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent)}.stat .value,.stat-value{color:var(--foreground);font-size:1.75rem;line-height:2.25rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stat-context{color:var(--muted-foreground);font-size:.75rem}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;align-self:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:transparent;color:var(--text-body);font-weight:500;transition:background-color var(--speed-fast) var(--ease-out),border-color var(--speed-fast) var(--ease-out),color var(--speed-fast) var(--ease-out),box-shadow var(--speed-fast) var(--ease-out)}.button:hover,.icon-button:hover{background:var(--hover-soft);color:var(--foreground)}.button:disabled,.icon-button:disabled{opacity:.55;cursor:not-allowed}.button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);font-weight:600}.button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--primary-foreground)}.button.secondary{background:var(--secondary);border-color:var(--secondary-border);color:var(--secondary-foreground)}.button.secondary:hover{background:var(--accent-soft);color:var(--secondary-foreground)}.button.ghost{border-color:transparent;background:transparent}.button.outline{background:transparent;border-color:var(--border);color:var(--foreground)}.button.outline:hover{border-color:var(--border-active);background:var(--accent-soft)}.button.destructive{background:transparent;border-color:color-mix(in srgb,var(--destructive) 45%,transparent);color:var(--destructive-fg)}.button.destructive:hover{background:var(--destructive-soft);border-color:var(--destructive);color:var(--destructive-fg)}.button.premium{background:linear-gradient(135deg,var(--aetos-copper),var(--aetos-champagne));border-color:transparent;color:var(--aetos-navy);font-weight:600}.button.premium:hover{filter:brightness(1.05);color:var(--aetos-navy)}.button.warn{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 40%,transparent);color:var(--warning-fg)}.button.sm{min-height:32px;padding:4px 10px;font-size:.78rem}.icon-button{width:38px;min-height:38px;padding:0}.icon-button.ghost{border-color:transparent}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text-body);font-size:.8rem;cursor:pointer;transition:background-color var(--speed-fast) var(--ease-out),border-color var(--speed-fast) var(--ease-out),color var(--speed-fast) var(--ease-out)}.chip:hover{background:var(--hover-soft)}.chip.active,.chip:hover{border-color:var(--border-active)}.chip.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.input,.select,.textarea{width:100%;min-height:42px;border:1px solid var(--border);border-radius:var(--radius-md);padding:9px 12px;background:var(--input-bg);color:var(--text-body);transition:border-color var(--speed-fast) var(--ease-out),box-shadow var(--speed-fast) var(--ease-out)}.input::placeholder,.textarea::placeholder{color:var(--disabled-foreground)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-soft)}.input:disabled,.select:disabled,.textarea:disabled{opacity:.55;cursor:not-allowed}.textarea{min-height:110px;resize:vertical}label:has(>.input),label:has(>.select),label:has(>.textarea){display:grid;grid-gap:6px;gap:6px;font-size:.75rem;line-height:1rem;font-weight:600;color:var(--muted-foreground)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.table{width:100%;border-collapse:collapse;font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table td,.table th{text-align:left;border-bottom:1px solid var(--border-subtle);padding:10px 8px;vertical-align:top}.table th{color:var(--muted-foreground);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.table tbody tr{transition:background-color var(--speed-fast) var(--ease-out)}.table tbody tr:hover{background:var(--hover-soft)}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--border);background:var(--neutral-soft);color:var(--neutral-fg);padding:3px 9px;font-size:.72rem;line-height:1.1rem;font-weight:500;white-space:nowrap}.badge.green,.badge.success{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 32%,transparent);color:var(--success-fg)}.badge.blue,.badge.info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 32%,transparent);color:var(--info-fg)}.badge.gold,.badge.warning{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 32%,transparent);color:var(--warning-fg)}.badge.error,.badge.red{background:var(--destructive-soft);border-color:color-mix(in srgb,var(--destructive) 32%,transparent);color:var(--destructive-fg)}.badge.neutral{background:var(--neutral-soft);border-color:var(--border);color:var(--neutral-fg)}.badge.premium{background:var(--premium-soft);border-color:var(--premium-border);color:var(--premium-fg)}.timeline{display:grid;grid-gap:12px;gap:12px}.timeline-item{position:relative;padding-left:18px}.timeline-item:before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:999px;background:var(--accent)}.timeline-item strong{display:block;color:var(--foreground);font-weight:500}.timeline-item span{color:var(--muted-foreground);font-size:.8rem}.kanban{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));grid-gap:14px;gap:14px;overflow-x:auto;padding-bottom:6px}.kanban-col{min-height:320px;background:color-mix(in srgb,var(--card) 55%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:12px}.kanban-col h3{margin:0 0 12px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-foreground)}.kanban-col .card{margin-bottom:10px}.agenda-board{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));grid-gap:16px;gap:16px}.appointment-card{display:grid;grid-gap:10px;gap:10px}.agenda-toolbar{justify-content:space-between;gap:16px 20px}.agenda-toolbar,.agenda-toolbar-left{display:flex;align-items:center;flex-wrap:wrap}.agenda-toolbar-left{gap:12px}.agenda-prof{display:block}.agenda-prof .select{min-width:240px;font-weight:500}.calendar{overflow-x:auto}.calendar-slotline{position:absolute;left:0;right:0;border-top:1px dashed var(--border-subtle);opacity:.5}.appt-actions{position:absolute;left:0;right:0;top:100%;display:none;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid var(--border);border-radius:0 0 10px 10px;background:var(--card);box-shadow:var(--shadow-pop);z-index:6}.appt-card:hover .appt-actions{display:flex}.agenda-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}.agenda-head h1{font-size:1.35rem;line-height:1.75rem;letter-spacing:-.01em}.agenda-head p{color:var(--muted-foreground);font-size:.8rem}.agenda-page{display:grid;grid-gap:10px;gap:10px}.agenda-ops{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap}.agenda-ops-left,.agenda-ops-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.agenda-ops .input,.agenda-ops .select{width:auto;min-height:36px;padding:6px 10px;font-size:.8rem}.agenda-ops .button.sm{min-height:36px}.agenda-search{position:relative}.agenda-search>svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}.agenda-search .input{padding-left:30px;width:210px}.agenda-search .search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:24px;min-height:24px;border:none;background:transparent;color:var(--muted-foreground);display:grid;place-items:center;border-radius:6px}.agenda-search .search-clear:hover{background:var(--hover-soft);color:var(--foreground)}.agenda-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-subtle)}.agenda-tab{position:relative;border:none;background:transparent;color:var(--muted-foreground);padding:7px 12px 9px;font-size:.82rem;font-weight:500;transition:color var(--duration-fast) var(--ease-out)}.agenda-tab.active,.agenda-tab:hover:not(:disabled){color:var(--foreground)}.agenda-tab.active{font-weight:600}.agenda-tab.active:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--accent)}.agenda-tab:disabled{color:var(--disabled-foreground);cursor:not-allowed}.agenda-tab .tab-soon{margin-left:5px;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);opacity:.75}.prof-select{position:relative}.prof-trigger{display:flex;align-items:center;gap:8px;min-height:36px;min-width:220px;max-width:300px;padding:3px 8px 3px 4px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--input-bg);color:var(--text-body);text-align:left;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.prof-trigger:hover{border-color:var(--border-active)}.prof-trigger[aria-expanded=true]{border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-soft)}.prof-avatar{width:26px;height:26px;flex-shrink:0;border-radius:999px;display:grid;place-items:center;font-size:.64rem;font-weight:700;letter-spacing:.02em}.prof-trigger-info{display:grid;min-width:0;line-height:1.15}.prof-trigger-name{color:var(--foreground);font-size:.8rem;font-weight:600}.prof-trigger-name,.prof-trigger-spec{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prof-trigger-spec{color:var(--muted-foreground);font-size:.68rem}.prof-trigger .prof-chevron{margin-left:auto;flex-shrink:0;color:var(--muted-foreground)}.prof-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:35;width:max(268px,100%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:6px;display:grid;grid-gap:4px;gap:4px;animation:pop-in var(--duration-normal) var(--ease-out)}.prof-menu .input{width:100%;min-height:32px;font-size:.78rem}.prof-menu-list{max-height:280px;overflow-y:auto;display:grid;grid-gap:2px;gap:2px}.prof-option{display:flex;align-items:center;gap:8px;padding:5px 8px;border:none;border-radius:8px;background:transparent;color:var(--text-body);text-align:left;transition:background-color var(--duration-fast) var(--ease-out)}.prof-option:hover{background:var(--hover-soft)}.prof-option.is-selected{background:var(--accent-soft)}.prof-option .prof-trigger-name{font-weight:500}.prof-option.is-selected .prof-trigger-name{font-weight:600}.prof-option .prof-check{margin-left:auto;flex-shrink:0;color:var(--accent)}.prof-menu-empty{padding:12px 8px;text-align:center;font-size:.76rem;color:var(--muted-foreground)}.popover-wrap{position:relative}.popover{position:absolute;top:calc(100% + 6px);right:0;z-index:35;min-width:232px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:10px;animation:pop-in var(--duration-normal) var(--ease-out)}.popover-title{margin:0 0 8px;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground)}.legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px 14px;gap:7px 14px}.filter-item{display:flex;align-items:center;gap:8px;padding:3px 2px;font-size:.78rem;color:var(--text-body);cursor:pointer;border-radius:6px}.filter-item:hover{background:var(--hover-soft)}.segmented{display:inline-flex;padding:3px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--input-bg)}.segmented-item{border:none;background:transparent;color:var(--muted-foreground);padding:6px 14px;border-radius:7px;font-weight:500;transition:background-color var(--speed-fast) var(--ease-out),color var(--speed-fast) var(--ease-out)}.segmented-item:hover{color:var(--foreground)}.segmented-item.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.segmented.sm .segmented-item{padding:4px 11px;font-size:.78rem}.agenda-datenav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agenda-date{color:var(--foreground);font-size:.86rem;font-weight:600;text-transform:capitalize;min-width:158px;text-align:center}.calendar-shell{position:relative;padding:0;overflow:hidden}.cal-toolbar{justify-content:space-between;gap:8px 12px;padding:8px 10px;border-bottom:1px solid var(--border-subtle);background:var(--card)}.cal-toolbar,.cal-toolbar-nav{display:flex;align-items:center;flex-wrap:wrap}.cal-toolbar-nav{gap:4px}.cal-toolbar-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cal-toolbar .icon-button{width:30px;min-height:30px;border-color:transparent}.cal-toolbar .icon-button:hover{border-color:var(--border)}.cal-toolbar .button.sm{min-height:30px;padding:3px 10px;font-size:.76rem}.cal-toolbar .date-input{min-height:30px;width:132px;padding:2px 8px;font-size:.76rem}.status-legend{display:flex;flex-wrap:wrap;gap:6px 16px;padding:0 4px}.status-legend-item{gap:6px;font-size:.72rem;color:var(--muted-foreground)}.status-icon,.status-legend-item{display:inline-flex;align-items:center}.status-icon{justify-content:center;flex-shrink:0}.calendar-scroll{position:relative;overflow:auto;overscroll-behavior:contain;max-height:calc(100vh - 296px);min-height:440px}.calendar-grid{display:grid;position:relative;min-width:660px}.calendar-corner{left:0;z-index:9;border-right:1px solid var(--border-subtle)}.calendar-colhead,.calendar-corner{position:-webkit-sticky;position:sticky;top:0;background:var(--card);border-bottom:1px solid var(--border)}.calendar-colhead{z-index:8;display:flex;align-items:center;justify-content:center;gap:6px;height:var(--agenda-day-header-height);padding:0 8px;border-left:1px solid var(--border-subtle)}.calendar-colhead.is-today{background:color-mix(in srgb,var(--accent) 9%,var(--card))}.calendar-dow{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground)}.calendar-daynum{font-size:.95rem;font-weight:600;color:var(--foreground);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-colhead.is-today .calendar-daynum{color:var(--accent-strong);font-weight:700}.calendar-colhead.is-today .calendar-dow{color:var(--accent-strong)}.calendar-hours{position:-webkit-sticky;position:sticky;left:0;z-index:7;background:var(--card);border-right:1px solid var(--border-subtle)}.calendar-hour{position:absolute;right:6px;transform:translateY(-50%);font-size:.66rem;color:var(--muted-foreground);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-col{position:relative;border-left:1px solid var(--border-subtle)}.cal-today-tint{position:absolute;inset:0;background:color-mix(in srgb,var(--accent) 3%,transparent);pointer-events:none}.calendar-hourline{position:absolute;left:0;right:0;border-top:1px solid var(--border-subtle)}.calendar-halfline{position:absolute;left:0;right:0;border-top:1px dashed var(--border-subtle);opacity:.45}.cal-progress{position:absolute;top:0;left:0;right:0;height:2px;overflow:hidden;z-index:21;pointer-events:none}.cal-progress:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:var(--accent);animation:progress-slide 1.1s linear infinite}@keyframes progress-slide{0%{left:-40%}to{left:100%}}.appt-card{position:absolute;display:flex;flex-direction:column;gap:0;padding:3px 6px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--card-elevated);overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.appt-card:hover{overflow:visible;z-index:5;box-shadow:var(--shadow-card);filter:saturate(1.08)}.appt-card.tone-scheduled{background:var(--status-scheduled-bg);border-color:var(--status-scheduled-border)}.appt-card.tone-confirmed{background:var(--status-confirmed-bg);border-color:var(--status-confirmed-border)}.appt-card.tone-rescheduled{background:var(--status-rescheduled-bg);border-color:var(--status-rescheduled-border)}.appt-card.tone-waiting{background:var(--status-waiting-bg);border-color:var(--status-waiting-border)}.appt-card.tone-in-service{background:var(--status-in-service-bg);border-color:var(--status-in-service-border)}.appt-card.tone-completed{background:var(--status-completed-bg);border-color:var(--status-completed-border)}.appt-card.tone-no-show{background:var(--status-no-show-bg);border-color:var(--status-no-show-border)}.appt-card.tone-cancelled{background:var(--status-cancelled-bg);border-color:var(--status-cancelled-border)}.appt-card.tone-cancelled,.appt-card.tone-no-show{opacity:.78}.appt-card.cat-rose{background:color-mix(in srgb,var(--cat-rose) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-rose) 52%,transparent)}.appt-card.cat-pink{background:color-mix(in srgb,var(--cat-pink) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-pink) 52%,transparent)}.appt-card.cat-purple{background:color-mix(in srgb,var(--cat-purple) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-purple) 52%,transparent)}.appt-card.cat-indigo{background:color-mix(in srgb,var(--cat-indigo) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-indigo) 52%,transparent)}.appt-card.cat-blue{background:color-mix(in srgb,var(--cat-blue) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-blue) 52%,transparent)}.appt-card.cat-cyan{background:color-mix(in srgb,var(--cat-cyan) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-cyan) 52%,transparent)}.appt-card.cat-teal{background:color-mix(in srgb,var(--cat-teal) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-teal) 52%,transparent)}.appt-card.cat-green{background:color-mix(in srgb,var(--cat-green) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-green) 52%,transparent)}.appt-card.cat-lime{background:color-mix(in srgb,var(--cat-lime) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-lime) 52%,transparent)}.appt-card.cat-amber{background:color-mix(in srgb,var(--cat-amber) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-amber) 52%,transparent)}.appt-card.cat-orange{background:color-mix(in srgb,var(--cat-orange) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-orange) 52%,transparent)}.appt-card.cat-slate{background:color-mix(in srgb,var(--cat-slate) 16%,var(--card));border-color:color-mix(in srgb,var(--cat-slate) 52%,transparent)}.appt-card.has-cat .appt-cat{color:var(--foreground)}.cat-dot{display:inline-block;width:10px;height:10px;border-radius:999px;flex-shrink:0;background:var(--muted-foreground)}.cat-dot.cat-rose{background:var(--cat-rose)}.cat-dot.cat-pink{background:var(--cat-pink)}.cat-dot.cat-purple{background:var(--cat-purple)}.cat-dot.cat-indigo{background:var(--cat-indigo)}.cat-dot.cat-blue{background:var(--cat-blue)}.cat-dot.cat-cyan{background:var(--cat-cyan)}.cat-dot.cat-teal{background:var(--cat-teal)}.cat-dot.cat-green{background:var(--cat-green)}.cat-dot.cat-lime{background:var(--cat-lime)}.cat-dot.cat-amber{background:var(--cat-amber)}.cat-dot.cat-orange{background:var(--cat-orange)}.cat-dot.cat-slate{background:var(--cat-slate)}.cat-swatch-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cat-swatch{width:28px;height:28px;border-radius:999px;border:2px solid var(--border);background:transparent;cursor:pointer;display:grid;place-items:center;padding:0;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.cat-swatch:hover{border-color:var(--border-active)}.cat-swatch.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cat-swatch .cat-dot{width:16px;height:16px}.cat-swatch input{position:absolute;opacity:0;width:0;height:0}.cat-swatch:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cat-swatch.is-none{position:relative;color:var(--muted-foreground)}.cat-swatch.is-none:after{content:"";position:absolute;width:16px;height:2px;border-radius:2px;background:var(--muted-foreground);transform:rotate(-45deg)}.cat-pills{display:flex;flex-wrap:wrap;gap:6px}.cat-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text-body);font-size:.78rem;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.cat-pill:hover{border-color:var(--border-active)}.cat-pill.is-active{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.cat-manage-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.cat-manage-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--card-elevated)}.cat-manage-item .cat-name{color:var(--foreground);font-weight:500}.cat-manage-item form{margin-left:auto}.appt-card.tone-scheduled .appt-cat,.appt-card.tone-scheduled .appt-time{color:var(--status-scheduled-text)}.appt-card.tone-confirmed .appt-cat,.appt-card.tone-confirmed .appt-time{color:var(--status-confirmed-text)}.appt-card.tone-rescheduled .appt-cat,.appt-card.tone-rescheduled .appt-time{color:var(--status-rescheduled-text)}.appt-card.tone-waiting .appt-cat,.appt-card.tone-waiting .appt-time{color:var(--status-waiting-text)}.appt-card.tone-in-service .appt-cat,.appt-card.tone-in-service .appt-time{color:var(--status-in-service-text)}.appt-card.tone-completed .appt-cat,.appt-card.tone-completed .appt-time{color:var(--status-completed-text)}.appt-card.tone-no-show .appt-cat,.appt-card.tone-no-show .appt-time{color:var(--status-no-show-text)}.appt-card.tone-cancelled .appt-cat,.appt-card.tone-cancelled .appt-time{color:var(--status-cancelled-text)}.status-icon.tone-scheduled{color:var(--status-scheduled-text)}.status-icon.tone-confirmed{color:var(--status-confirmed-text)}.status-icon.tone-rescheduled{color:var(--status-rescheduled-text)}.status-icon.tone-waiting{color:var(--status-waiting-text)}.status-icon.tone-in-service{color:var(--status-in-service-text)}.status-icon.tone-completed{color:var(--status-completed-text)}.status-icon.tone-no-show{color:var(--status-no-show-text)}.status-icon.tone-cancelled{color:var(--status-cancelled-text)}.appt-cap{display:flex;align-items:center;gap:4px;min-width:0}.appt-time{font-size:.66rem;font-weight:600;color:var(--muted-foreground);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.appt-cat{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}.appt-cat,.appt-patient{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appt-patient{color:var(--foreground);font-size:.78rem;font-weight:600;line-height:1.2}.appt-age{font-weight:500;font-size:.7rem;color:var(--muted-foreground)}.appt-card.is-narrow{padding:2px 5px}.appt-card.is-narrow .appt-patient{font-size:.72rem}.appt-card.is-xs{flex-direction:row;align-items:center;gap:4px;padding:1px 6px}.appt-card.is-xs .appt-patient{font-size:.72rem}.appt-card.is-dimmed,.month-chip.is-dimmed{opacity:.22}.appt-quick{position:absolute;left:0;right:0;top:calc(100% + 2px);display:none;flex-wrap:wrap;gap:4px;padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:var(--shadow-pop);z-index:6}.appt-card:focus-within .appt-quick,.appt-card:hover .appt-quick{display:flex}@media (hover:none){.appt-card:hover .appt-quick{display:none}}.chip.sm{padding:3px 8px;font-size:.72rem}body.agenda-dragging{-webkit-user-select:none;-moz-user-select:none;user-select:none}body.agenda-dragging,body.agenda-dragging .calendar-col{cursor:-webkit-grabbing;cursor:grabbing}.appt-card.can-drag{cursor:-webkit-grab;cursor:grab}.appt-card.is-dragging{opacity:.35}.cal-hover-slot{position:absolute;left:3px;right:3px;z-index:2;pointer-events:none;display:flex;align-items:flex-start;border-radius:6px;border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent);transition:none}.cal-hover-label{display:inline-flex;align-items:center;gap:3px;margin:2px;padding:1px 5px;border-radius:4px;font-size:.64rem;font-weight:600;color:var(--accent-strong);background:color-mix(in srgb,var(--card) 80%,transparent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (hover:none){.cal-hover-slot{display:none}}.appt-ghost{position:absolute;z-index:12;pointer-events:none;display:flex;flex-direction:column;gap:0;padding:3px 6px;border-radius:6px;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--card));box-shadow:var(--shadow-pop)}.appt-ghost .appt-time{color:var(--accent-strong)}.appt-ghost.is-invalid{border-color:var(--destructive);background:color-mix(in srgb,var(--destructive) 12%,var(--card))}.appt-ghost.is-invalid .appt-time{color:var(--destructive-fg)}.appt-resize{position:absolute;left:4px;right:4px;bottom:0;height:7px;display:flex;align-items:flex-end;justify-content:center;cursor:ns-resize;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.appt-resize:before{content:"";width:22px;height:3px;margin-bottom:1px;border-radius:2px;background:color-mix(in srgb,var(--foreground) 38%,transparent)}.appt-card:hover .appt-resize{opacity:1}@media (hover:none){.appt-resize{display:none}}.agenda-toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--card-elevated);color:var(--foreground);font-size:.8rem;box-shadow:var(--shadow-pop);animation:toast-in var(--duration-normal) var(--ease-out)}.agenda-toast.error{border-color:color-mix(in srgb,var(--destructive) 45%,transparent);color:var(--destructive-fg)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}}.agenda-skel{display:grid;grid-gap:10px;gap:10px;padding:16px}.agenda-skel-body,.agenda-skel-head{display:grid;grid-template-columns:var(--agenda-time-gutter-width) repeat(6,1fr);grid-gap:8px;gap:8px}.agenda-skel-body{align-items:start}.agenda-skel-col{display:grid;grid-gap:8px;gap:8px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.month-dow{padding:8px;text-align:center;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);background:var(--surface)}.month-cell,.month-dow{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.month-cell{position:relative;min-height:96px;display:flex;flex-direction:column;gap:3px;align-items:stretch;text-align:left;padding:4px;background:var(--card);transition:background-color var(--speed-fast) var(--ease-out)}.month-cell:hover{background:var(--hover-soft)}.month-cell.is-out{background:color-mix(in srgb,var(--card) 60%,transparent)}.month-cell.is-out .month-daynum{color:var(--disabled-foreground)}.month-cell.is-today .month-daynum{color:var(--accent-strong);font-weight:700}.month-cell.is-today .month-daybtn{background:var(--accent-soft)}.month-daybtn{align-self:flex-start;border:none;background:transparent;padding:1px 6px;border-radius:6px;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.month-daybtn:hover{background:var(--hover-soft)}.month-daynum{font-size:.78rem;font-weight:600;color:var(--foreground);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.month-chips{display:flex;flex-direction:column;gap:2px;min-width:0}.month-chip{display:flex;align-items:center;gap:4px;width:100%;padding:2px 5px;border-radius:5px;border:1px solid transparent;font-size:.66rem;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out)}.month-chip .status-icon{flex-shrink:0}.month-chip.tone-scheduled{background:var(--status-scheduled-bg)}.month-chip.tone-confirmed{background:var(--status-confirmed-bg)}.month-chip.tone-rescheduled{background:var(--status-rescheduled-bg)}.month-chip.tone-waiting{background:var(--status-waiting-bg)}.month-chip.tone-in-service{background:var(--status-in-service-bg)}.month-chip.tone-completed{background:var(--status-completed-bg)}.month-chip.tone-no-show{background:var(--status-no-show-bg)}.month-chip.tone-cancelled{background:var(--status-cancelled-bg)}.month-chip.tone-scheduled:hover{border-color:var(--status-scheduled-border)}.month-chip.tone-confirmed:hover{border-color:var(--status-confirmed-border)}.month-chip.tone-rescheduled:hover{border-color:var(--status-rescheduled-border)}.month-chip.tone-waiting:hover{border-color:var(--status-waiting-border)}.month-chip.tone-in-service:hover{border-color:var(--status-in-service-border)}.month-chip.tone-completed:hover{border-color:var(--status-completed-border)}.month-chip.tone-no-show:hover{border-color:var(--status-no-show-border)}.month-chip.tone-cancelled:hover{border-color:var(--status-cancelled-border)}.month-more{align-self:flex-start;border:none;background:transparent;padding:1px 5px;border-radius:5px;font-size:.66rem;font-weight:600;color:var(--accent-strong);cursor:pointer}.month-more:hover{background:var(--accent-soft)}.month-pop{position:absolute;top:26px;left:4px;right:4px;z-index:30;display:grid;grid-gap:3px;gap:3px;max-height:236px;overflow-y:auto;padding:8px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);animation:pop-in var(--duration-normal) var(--ease-out)}.month-pop-item{display:flex;align-items:center;gap:6px;min-width:0;padding:4px 6px;border:none;border-radius:6px;background:transparent;color:var(--text-body);font-size:.74rem;text-align:left;cursor:pointer}.month-pop-item:hover{background:var(--hover-soft)}.month-pop-item strong{color:var(--foreground);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-pop-item .appt-time{font-size:.7rem}.cal-work{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--accent) 5%,transparent);pointer-events:none}.cal-block{position:absolute;left:2px;right:2px;overflow:hidden;z-index:1;border-radius:6px;border:1px dashed var(--agenda-block-border);background:repeating-linear-gradient(-45deg,var(--agenda-block-stripe),var(--agenda-block-stripe) 5px,var(--agenda-block-bg) 5px,var(--agenda-block-bg) 11px);cursor:not-allowed}.cal-block.is-surgery{border-style:solid;border-color:color-mix(in srgb,var(--agenda-block-text) 45%,transparent);background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--agenda-block-text) 16%,transparent),color-mix(in srgb,var(--agenda-block-text) 16%,transparent) 5px,var(--agenda-block-bg) 5px,var(--agenda-block-bg) 11px)}.cal-block-label{position:-webkit-sticky;position:sticky;top:2px;display:inline-flex;align-items:center;gap:4px;margin:2px;padding:2px 6px;border-radius:4px;font-size:.64rem;font-weight:600;color:var(--agenda-block-text);background:color-mix(in srgb,var(--card) 82%,transparent);text-transform:uppercase;letter-spacing:.04em;max-width:calc(100% - 4px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-now{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--accent);z-index:4;pointer-events:none}.cal-now:before{content:"";left:-1px;top:-4px;width:7px;height:7px}.cal-now-gutter,.cal-now:before{position:absolute;border-radius:999px;background:var(--accent)}.cal-now-gutter{right:3px;transform:translateY(-50%);width:6px;height:6px;z-index:8;pointer-events:none}.calendar-col{cursor:copy}.drawer-backdrop{position:fixed;inset:0;z-index:40;background:rgba(8,18,28,.44);display:flex;justify-content:flex-end;animation:drawer-fade var(--speed-fast) var(--ease-out)}.drawer{width:min(400px,92vw);height:100%;overflow-y:auto;background:var(--card);border-left:1px solid var(--border);box-shadow:var(--shadow-pop);padding:20px;display:flex;flex-direction:column;gap:10px;animation:drawer-slide var(--speed-base) var(--ease-out)}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-facts{display:grid;grid-gap:10px;gap:10px;margin:8px 0 4px}.drawer-facts div{display:grid;grid-gap:2px;gap:2px}.drawer-facts dt{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground)}.drawer-facts dd{margin:0;color:var(--foreground);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@keyframes drawer-fade{0%{opacity:0}}@keyframes drawer-slide{0%{transform:translateX(16px);opacity:.4}}@media (prefers-reduced-motion:reduce){.drawer,.drawer-backdrop{animation:none}}.chat-shell{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:16px;gap:16px}.chat-list{align-content:start}.chat-list,.message-list{display:grid;grid-gap:8px;gap:8px}.message-list{max-height:420px;overflow:auto;padding-right:4px}.bubble{width:-moz-fit-content;width:fit-content;max-width:min(640px,85%);padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--card-elevated)}.bubble.right{margin-left:auto;background:var(--accent-soft);border-color:var(--premium-border)}.heatmap{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.heat-cell{min-height:54px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--foreground);background:var(--neutral-soft);font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty-state{display:grid;grid-gap:10px;gap:10px;justify-items:center;text-align:center;padding:36px 20px;color:var(--muted-foreground);border:1px dashed var(--border);border-radius:var(--radius-lg)}.empty-state strong{color:var(--foreground);font-weight:500}.skeleton{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:var(--neutral-soft);color:transparent;min-height:14px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--hover-soft),transparent);animation:skeleton-shimmer 1.6s var(--ease-out) infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.patient-header{display:grid;grid-gap:16px;gap:16px;margin-bottom:24px}.patient-voltar{justify-self:start;text-decoration:none}.patient-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.patient-identity{display:flex;align-items:center;gap:14px;min-width:0}.patient-avatar{display:grid;place-items:center;width:60px;height:60px;flex-shrink:0;border-radius:999px;background:var(--secondary);border:1px solid var(--secondary-border);color:var(--secondary-foreground);font-size:1.05rem;font-weight:600}.patient-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.patient-name-row h1{font-size:1.4rem;line-height:1.8rem}.patient-meta-row{display:flex;flex-wrap:wrap;gap:20px 28px;margin-top:8px}.patient-meta-item{display:grid;grid-gap:2px;gap:2px}.patient-meta-item span{color:var(--muted-foreground);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.patient-meta-item strong{color:var(--foreground);font-size:.85rem;font-weight:500}.patient-actions{display:grid;grid-gap:10px;gap:10px;justify-items:end}.patient-lgpd{display:inline-flex;align-items:center;gap:6px;color:var(--success-fg);font-size:.78rem;font-weight:500}.patient-tabs{display:flex;gap:28px;border-bottom:1px solid var(--border-subtle);overflow-x:auto}.patient-tab{background:none;padding:10px 2px;margin-bottom:-1px;color:var(--muted-foreground);font-weight:500;font-size:.88rem;border:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--speed-fast) var(--ease-out),border-color var(--speed-fast) var(--ease-out)}.patient-tab:hover{color:var(--foreground)}.patient-tab.active{color:var(--accent-strong);border-bottom-color:var(--accent);font-weight:600}.patient-tab-panel{padding-top:22px}.cadastro-layout{display:grid;grid-template-columns:minmax(0,1fr) 232px;grid-gap:20px;gap:20px;align-items:start}.cadastro-main{display:grid;grid-gap:16px;gap:16px;min-width:0}.cadastro-section{scroll-margin-top:78px}.cadastro-section-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.cadastro-section-title h2{font-size:.95rem;font-weight:600;color:var(--foreground)}.cadastro-section-icon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent)}.cadastro-nav{position:-webkit-sticky;position:sticky;top:78px;display:grid;grid-gap:2px;gap:2px;background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:8px;box-shadow:var(--shadow-card)}.cadastro-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border:none;border-radius:var(--radius-md);background:none;color:var(--muted-foreground);font-size:.83rem;text-align:left;transition:background-color var(--speed-fast) var(--ease-out),color var(--speed-fast) var(--ease-out)}.cadastro-nav-item:hover{background:var(--hover-soft);color:var(--foreground)}.cadastro-nav-item.active{background:var(--sidebar-item-active-bg);color:var(--sidebar-item-active-fg);font-weight:600}.cadastro-footer{position:-webkit-sticky;position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding:14px 20px;background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.field-label{display:grid;grid-gap:6px;gap:6px;font-size:.75rem;line-height:1rem;font-weight:600;color:var(--muted-foreground)}.input-unit-wrap{position:relative}.input.has-unit{padding-right:36px}.input-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--disabled-foreground);font-size:.78rem;pointer-events:none}.radio-group{display:flex;align-items:center;gap:24px;min-height:42px}.radio-option{display:inline-flex;align-items:center;gap:7px;font-size:.85rem;color:var(--text-body);cursor:pointer}.upload-zone{display:grid;place-items:center;grid-gap:6px;gap:6px;min-height:96px;padding:20px;border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--muted-foreground);font-size:.85rem;text-align:center;background:transparent;transition:background-color var(--speed-fast) var(--ease-out),border-color var(--speed-fast) var(--ease-out)}.upload-zone:hover{background:var(--hover-soft);border-color:var(--border-active)}.file-list{display:grid;grid-gap:8px;gap:8px;margin-bottom:12px}.file-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--card-elevated)}.file-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--neutral-soft);color:var(--muted-foreground)}.file-info{display:grid;grid-gap:1px;gap:1px;min-width:0;flex:1 1}.file-info strong{font-size:.83rem;font-weight:500;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-info span{font-size:.72rem;color:var(--muted-foreground)}.check-row{display:flex;align-items:center;gap:8px;font-size:.83rem;color:var(--text-body);cursor:pointer}.field{display:grid;grid-gap:6px;gap:6px;min-width:0;align-content:start}.field-caption{font-size:.75rem;line-height:1rem;font-weight:600;color:var(--muted-foreground)}.field-caption em{font-style:normal;color:var(--accent)}.field-hint{color:var(--disabled-foreground)}.field-error,.field-hint{font-size:.72rem;line-height:1rem}.field-error{font-weight:500;color:var(--destructive-fg)}.input.is-invalid{border-color:color-mix(in srgb,var(--destructive) 55%,var(--border))}.input.is-invalid:focus{border-color:var(--destructive);box-shadow:0 0 0 3px var(--destructive-soft)}.field-cep,.field-sangue{max-width:220px}.validade-wrap{display:grid;grid-gap:10px;gap:10px;align-content:start}.sus-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.sus-row .field{flex:1 1 240px}.ui-select{position:relative}.ui-select-trigger{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text-body);font:inherit;font-size:.875rem;text-align:left;cursor:pointer;transition:border-color var(--speed-fast) var(--ease-out),box-shadow var(--speed-fast) var(--ease-out)}.ui-select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.ui-select-trigger:focus-visible,.ui-select-trigger[aria-expanded=true]{outline:none;border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-soft)}.ui-select-trigger:disabled{opacity:.55;cursor:not-allowed}.ui-select-trigger.is-invalid{border-color:color-mix(in srgb,var(--destructive) 55%,var(--border))}.ui-select-value{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-value.is-placeholder{color:var(--disabled-foreground)}.ui-select-chevron{flex-shrink:0;color:var(--muted-foreground);transition:transform var(--speed-fast) var(--ease-out)}.ui-select-trigger[aria-expanded=true] .ui-select-chevron{transform:rotate(180deg)}.ui-select-menu{position:fixed;z-index:120;display:grid;grid-gap:6px;gap:6px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-elevated);box-shadow:var(--shadow-pop);animation:pop-in var(--duration-fast) var(--ease-out)}.ui-select-search{min-height:36px}.ui-select-list{display:grid;grid-gap:2px;gap:2px;max-height:264px;overflow-y:auto}.ui-select-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-body);font:inherit;font-size:.85rem;text-align:left;cursor:pointer}.ui-select-option.is-active{background:var(--hover-soft)}.ui-select-option[aria-selected=true]{color:var(--accent-strong);font-weight:600}.ui-select-option[aria-selected=true].is-active{background:var(--accent-soft)}.ui-select-option svg{flex-shrink:0;color:var(--accent)}.ui-select-option-text{display:grid;grid-gap:1px;gap:1px;flex:1 1;min-width:0}.ui-select-option-hint,.ui-select-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-option-hint{font-size:.72rem;font-weight:400;color:var(--muted-foreground)}.ui-select-empty{padding:14px;text-align:center;font-size:.8rem;color:var(--muted-foreground)}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}}.dp{position:relative}.dp-control{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--input-bg);transition:border-color var(--speed-fast) var(--ease-out),box-shadow var(--speed-fast) var(--ease-out)}.dp-control:focus-within{border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-soft)}.dp-control.is-invalid{border-color:color-mix(in srgb,var(--destructive) 55%,var(--border))}.dp-input{flex:1 1;min-width:0;min-height:40px;padding:9px 12px;border:0;background:transparent;color:var(--text-body);font:inherit;font-size:.875rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dp-input:focus{outline:none}.dp-input::placeholder{color:var(--disabled-foreground)}.dp-input:disabled{opacity:.55;cursor:not-allowed}.dp-toggle{display:grid;place-items:center;width:38px;flex-shrink:0;border:0;border-left:1px solid var(--border-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0;background:transparent;color:var(--muted-foreground);cursor:pointer;transition:background-color var(--speed-fast) var(--ease-out),color var(--speed-fast) var(--ease-out)}.dp-toggle:hover:not(:disabled){background:var(--hover-soft);color:var(--accent-strong)}.dp-toggle:disabled{opacity:.45;cursor:not-allowed}.dp-pop{position:fixed;z-index:120;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card-elevated);box-shadow:var(--shadow-pop);animation:pop-in var(--duration-fast) var(--ease-out)}.dp-pop-range{display:flex;gap:12px}.dp-calendar{width:252px}.dp-head{display:flex;align-items:center;gap:4px;margin-bottom:8px}.dp-nav{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted-foreground);cursor:pointer;transition:background-color var(--speed-fast) var(--ease-out)}.dp-nav:hover{background:var(--hover-soft);color:var(--foreground)}.dp-title{flex:1 1;padding:5px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--foreground);font:inherit;font-size:.85rem;font-weight:600;text-transform:capitalize;cursor:pointer;transition:background-color var(--speed-fast) var(--ease-out)}.dp-title:hover{background:var(--hover-soft)}.dp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;margin-bottom:4px}.dp-weekdays span{display:grid;place-items:center;height:24px;font-size:.68rem;font-weight:600;color:var(--muted-foreground)}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px 0;gap:2px 0}.dp-day{display:grid;place-items:center;height:32px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-body);font:inherit;font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.dp-day:hover:not(:disabled){background:var(--hover-soft)}.dp-day.is-out{color:var(--disabled-foreground)}.dp-day:disabled{opacity:.3;cursor:not-allowed}.dp-day.is-today{border-color:var(--border-active);color:var(--accent-strong);font-weight:600}.dp-day.is-in-range{background:var(--accent-soft);border-radius:0}.dp-day.is-end,.dp-day.is-selected,.dp-day.is-start{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);font-weight:600}.dp-day.is-start{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.dp-day.is-end{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.dp-day.is-start.is-end{border-radius:var(--radius-sm)}.dp-months,.dp-years{display:grid;grid-gap:4px;gap:4px}.dp-months{grid-template-columns:repeat(3,1fr)}.dp-years{grid-template-columns:repeat(4,1fr)}.dp-cell{padding:9px 4px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-body);font:inherit;font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.dp-cell:hover{background:var(--hover-soft)}.dp-cell.is-selected{background:var(--accent-soft);border-color:var(--border-active);color:var(--accent-strong);font-weight:600}.dp-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}.dp-presets{display:grid;grid-gap:2px;gap:2px;align-content:start;min-width:152px;padding-right:12px;border-right:1px solid var(--border-subtle)}.dp-preset{padding:8px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-body);font:inherit;font-size:.8rem;text-align:left;white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.dp-preset:hover{background:var(--hover-soft)}.dp-preset.is-active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.dp-hint{margin-top:8px;font-size:.72rem;color:var(--muted-foreground);text-align:center}.dp-range-trigger{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text-body);font:inherit;font-size:.85rem;cursor:pointer;transition:border-color var(--speed-fast) var(--ease-out),box-shadow var(--speed-fast) var(--ease-out)}.dp-range-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.dp-range-trigger:focus-visible,.dp-range-trigger[aria-expanded=true]{outline:none;border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-soft)}.dp-range-trigger>svg{flex-shrink:0;color:var(--muted-foreground)}.dp-range-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.dp-range-value.is-placeholder{color:var(--disabled-foreground)}.save-state{min-width:0;flex:1 1}.save-state-line{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted-foreground)}.save-state-line.is-busy{color:var(--accent-strong)}.save-state-line.is-dirty{color:var(--warning-fg)}.save-state-line.is-ok{color:var(--success-fg)}.save-state-line.is-error{color:var(--destructive-fg)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}.table-scroll{width:100%;overflow-x:auto}@media (max-width:1080px){.cadastro-main .grid.cols-2,.cadastro-main .grid.cols-3,.cadastro-main .grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.cadastro-layout{grid-template-columns:1fr}.cadastro-nav{position:-webkit-sticky;position:sticky;top:0;z-index:5;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;scroll-snap-type:x proximity;padding:8px 0;margin:0 -4px;background:var(--background);-webkit-overflow-scrolling:touch}.cadastro-nav-item{scroll-snap-align:start;white-space:nowrap}}@media (max-width:720px){.cadastro-main .grid.cols-2,.cadastro-main .grid.cols-3,.cadastro-main .grid.cols-4{grid-template-columns:1fr}.field-cep,.field-sangue{max-width:none}.patient-top{flex-direction:column;gap:14px}.patient-actions,.patient-top{align-items:stretch}.patient-actions .btn-row{justify-content:flex-end}.patient-meta-row{gap:12px 18px}.patient-tabs{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.patient-tab{flex-shrink:0;scroll-snap-align:start}.cadastro-footer{flex-direction:column;align-items:stretch;gap:10px}.cadastro-footer .btn-row{display:grid;grid-template-columns:auto 1fr}.toolbar,.toolbar-left,.toolbar-right{flex-wrap:wrap}.dp-range,.toolbar-left>*{min-width:0}.dp-range-trigger{width:100%}.dp-pop-range{flex-direction:column}.dp-presets{min-width:0;padding:0 0 10px;border-right:0;border-bottom:1px solid var(--border-subtle);grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto}.table-scroll .table,.table-scroll tbody,.table-scroll td,.table-scroll tr{display:block}.table-scroll thead{display:none}.table-scroll tbody{display:grid;grid-gap:10px;gap:10px}.table-scroll tr{display:grid;grid-gap:6px;gap:6px;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--card-elevated)}.table-scroll td{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:0;border:0;text-align:right}.table-scroll td[data-col]:before{content:attr(data-col);flex-shrink:0;font-size:.72rem;font-weight:600;color:var(--muted-foreground);text-align:left}.table-scroll td.cell-actions{justify-content:flex-end}}@media (max-width:480px){.dp-calendar{width:min(252px,78vw)}.sus-row .button{width:100%}}.modal-overlay{position:fixed;inset:0;display:grid;place-items:center;background:rgba(8,16,24,.55);padding:24px;z-index:100}.modal{width:100%;max-width:720px;max-height:88vh;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);overflow:hidden}.modal.wide{max-width:920px}.modal.tall{min-height:min(680px,88vh)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border-subtle)}.modal-header h2{font-size:1.05rem}.modal-body{padding:20px 22px;overflow-y:auto;flex:1 1;display:grid;grid-gap:16px;gap:16px;align-content:start}.modal-footer{padding:14px 22px;border-top:1px solid var(--border-subtle)}.modal-footer,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar{flex-wrap:wrap;margin-bottom:16px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.date-range{display:flex;align-items:center;gap:8px}.date-range .input{width:148px}.search-input{position:relative;display:flex;align-items:center}.search-input svg{position:absolute;left:12px;color:var(--muted-foreground);pointer-events:none}.search-input .input{padding-left:34px;width:220px}.summary-strip{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:14px 16px;background:var(--card-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.85rem;margin-bottom:16px}.summary-item strong{color:var(--foreground);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summary-op{font-weight:600}.summary-foot,.summary-op{color:var(--muted-foreground)}.summary-foot{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;font-size:.75rem;margin-bottom:16px}.avatar-chip{display:inline-flex;align-items:center;gap:8px}.avatar-circle{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:999px;background:var(--secondary);border:1px solid var(--secondary-border);color:var(--secondary-foreground);font-size:.65rem;font-weight:600}.avatar-info{display:grid;grid-gap:0;gap:0;min-width:0}.avatar-info strong{font-size:.8rem;font-weight:500;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-info span{font-size:.68rem;color:var(--muted-foreground)}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;display:grid;grid-gap:2px;gap:2px;background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:6px;z-index:30}.dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-body);font-size:.83rem;text-align:left}.dropdown-item:hover{background:var(--hover-soft)}.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.info-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 16px;border-radius:var(--radius-md);text-align:center;color:var(--muted-foreground);background:var(--neutral-soft);font-size:.85rem}.info-banner>svg{flex-shrink:0}.info-banner.warning{background:var(--warning-soft);color:var(--warning-fg)}.info-banner.success{background:var(--success-soft);color:var(--success-fg)}.autocomplete{position:relative}.autocomplete-list{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);z-index:20}.autocomplete-item{padding:9px 12px;font-size:.85rem;color:var(--text-body);cursor:pointer}.autocomplete-item.active,.autocomplete-item:hover{background:var(--accent-soft);color:var(--accent-strong)}.line-item-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--card-elevated)}.line-item-row .name{flex:1 1;min-width:0;font-size:.85rem;color:var(--foreground)}.line-item-row .qty{width:56px;min-height:32px;padding:4px 6px;text-align:center}.line-item-row .value{min-width:84px;text-align:right;font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--foreground)}.timeline-group-heading{font-size:.78rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;margin:18px 0 8px}.timeline-group-heading:first-child{margin-top:0}.update-row{display:flex;align-items:flex-start;gap:12px;padding:10px 4px;border-bottom:1px solid var(--border-subtle)}.update-row:last-child{border-bottom:none}.update-icon{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent)}.update-content{flex:1 1;min-width:0;cursor:pointer}.update-author{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--foreground)}.update-title{font-size:.85rem;color:var(--text-body);margin-top:2px}.update-detail{font-size:.8rem;margin-top:4px}.update-detail,.update-time{color:var(--muted-foreground)}.update-time{font-size:.72rem;white-space:nowrap;flex-shrink:0}@media (max-width:1240px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1080px){.app-shell,.app-shell[data-collapsed=true]{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:column}.nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.shell-main{padding:20px}.topbar{padding:0 20px}.agenda-board,.chat-shell,.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}@media (max-width:900px){:root{--agenda-hour-height:72px;--agenda-time-gutter-width:46px}.agenda-search .input{width:150px}.calendar-scroll{max-height:calc(100vh - 250px)}.agenda-date{min-width:0}}@media (max-width:640px){.agenda-head{margin-bottom:10px}.agenda-ops-left,.agenda-ops-right{width:100%}.agenda-ops-right{justify-content:flex-end}.prof-trigger{min-width:0;flex:1 1}.agenda-search{flex:1 1}.agenda-search .input{width:100%}.cal-toolbar-nav{order:-1;width:100%;justify-content:center}.calendar-scroll{min-height:380px}.calendar-grid{min-width:0}.month-cell{min-height:72px}}.login-screen{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh;width:100%}.login-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:52px 56px;color:var(--aetos-offwhite);background:radial-gradient(120% 90% at 12% 6%,rgba(194,135,107,.16) 0,transparent 46%),radial-gradient(90% 80% at 94% 104%,rgba(230,203,184,.1) 0,transparent 50%),linear-gradient(155deg,#0b1c2c 0,var(--aetos-navy-sidebar) 44%,#0a1826 100%);border-right:1px solid var(--border-subtle)}.login-hero-glow{top:-18%;right:-12%;width:460px;height:460px;border-radius:999px;background:radial-gradient(circle,rgba(194,135,107,.26) 0,transparent 62%);filter:blur(14px)}.login-hero-glow,.login-hero-grid{position:absolute;pointer-events:none}.login-hero-grid{inset:0;background-image:linear-gradient(rgba(230,203,184,.05) 1px,transparent 0),linear-gradient(90deg,rgba(230,203,184,.05) 1px,transparent 0);background-size:46px 46px;mask-image:radial-gradient(120% 100% at 28% 18%,#000 0,transparent 72%);-webkit-mask-image:radial-gradient(120% 100% at 28% 18%,#000 0,transparent 72%)}.login-watermark{position:absolute;right:-7%;bottom:-14%;width:680px;height:auto;opacity:.08;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.login-hero-copy,.login-hero-foot,.login-hero-top{position:relative;z-index:1}.login-brand{display:inline-flex;align-items:center;gap:12px}.login-brand-mark{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0}.login-brand-mark img{width:100%;height:100%;object-fit:contain}.login-brand-name{font-size:1.35rem;font-weight:600;letter-spacing:-.01em;color:var(--aetos-offwhite)}.login-brand-name span{color:var(--aetos-champagne)}.login-hero-copy{display:grid;grid-gap:18px;gap:18px;max-width:32ch}.login-hero-copy .eyebrow{color:var(--aetos-champagne)}.login-hero-title{font-size:3.1rem;line-height:1.06;letter-spacing:-.015em;color:var(--aetos-white)}.login-hero-sub{color:rgba(231,226,220,.72);font-size:1rem;line-height:1.6;max-width:44ch}.login-hero-foot{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;letter-spacing:.03em;color:rgba(230,203,184,.68)}.login-hero-dot{width:7px;height:7px;flex-shrink:0;border-radius:999px;background:var(--aetos-copper);box-shadow:0 0 0 4px rgba(194,135,107,.18)}.login-panel{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:48px 40px}.login-card{width:100%;max-width:404px;display:grid;grid-gap:22px;gap:22px}.login-card-brand{display:none;align-items:center;gap:10px}.login-card-brand .login-brand-mark{width:40px;height:40px}.login-card-brand .login-brand-name{color:var(--foreground);font-size:1.15rem}.login-card-head{display:grid;grid-gap:6px;gap:6px}.login-card-head h2{font-size:1.9rem;line-height:1.2}.login-form{display:grid;grid-gap:16px;gap:16px}.login-field{display:grid;grid-gap:7px;gap:7px}.login-label{font-size:.75rem;font-weight:600;color:var(--muted-foreground)}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:12px;color:var(--muted-foreground);pointer-events:none}.login-input.input{min-height:46px;padding-left:38px;padding-right:42px}.login-eye{position:absolute;right:6px;display:grid;place-items:center;width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:var(--muted-foreground);transition:background-color var(--speed-fast) var(--ease-out),color var(--speed-fast) var(--ease-out)}.login-eye:hover{background:var(--hover-soft);color:var(--foreground)}.login-submit{width:100%;min-height:46px;margin-top:2px;font-size:.95rem}.login-submit:disabled{opacity:.55}.login-spinner{width:16px;height:16px;border-radius:999px;border:2px solid color-mix(in srgb,var(--primary-foreground) 40%,transparent);border-top-color:var(--primary-foreground);animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}.login-alert{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);background:var(--destructive-soft);border:1px solid color-mix(in srgb,var(--destructive) 34%,transparent);color:var(--destructive-fg);font-size:.82rem}.login-alert svg{flex-shrink:0}.login-forgot-row{display:flex;justify-content:flex-end;margin-top:-6px}.login-link{border:none;background:transparent;padding:2px 0;color:var(--accent-strong);font-size:.8rem;font-weight:500;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent)}.login-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.login-help{margin-top:-6px;padding:9px 11px;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--premium-border);color:var(--text-body)}.login-demo{border-top:1px solid var(--border-subtle);padding-top:16px}.login-demo>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none;color:var(--muted-foreground);font-size:.8rem;font-weight:500}.login-demo>summary::-webkit-details-marker{display:none}.login-demo>summary:hover{color:var(--foreground)}.login-demo>summary>span{display:inline-flex;align-items:center;gap:7px}.login-demo-chevron{transition:transform var(--speed-base) var(--ease-out)}.login-demo[open] .login-demo-chevron{transform:rotate(180deg)}.login-demo-body{display:grid;grid-gap:12px;gap:12px;margin-top:12px;max-height:264px;overflow-y:auto;padding-right:2px}.login-demo-group{display:grid;grid-gap:5px;gap:5px}.login-demo-group-label{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-foreground);opacity:.8}.login-demo-item{display:grid;grid-gap:1px;gap:1px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--card-elevated);transition:border-color var(--speed-fast) var(--ease-out),background-color var(--speed-fast) var(--ease-out)}.login-demo-item:hover{border-color:var(--border-active);background:var(--accent-soft)}.login-demo-item-name{color:var(--foreground);font-size:.82rem;font-weight:500}.login-demo-item-clinic{color:var(--muted-foreground);font-style:normal;font-weight:400}.login-demo-item-mail{color:var(--muted-foreground);font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.login-legal{max-width:404px;text-align:center;color:var(--muted-foreground);opacity:.8}@media (max-width:900px){.login-screen{grid-template-columns:1fr}.login-hero{display:none}.login-card-brand{display:flex}.login-panel{justify-content:flex-start;padding:10vh 20px 40px;min-height:100vh}}.pacientes-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.pacientes-toolbar .pacientes-busca{flex:1 1 420px;margin-bottom:0}.pacientes-busca{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.pacientes-busca .agenda-search{flex:1 1 260px}.pacientes-busca .agenda-search .input{width:100%}.pacientes-contagem{margin-left:auto;color:var(--muted-foreground);font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pacientes-nome{color:var(--foreground);font-weight:600;text-decoration:none}.pacientes-nome:hover{text-decoration:underline}.pacientes-sub{color:var(--muted-foreground);font-size:.78rem;margin-top:2px}@media (max-width:700px){.pacientes-contagem{margin-left:0;width:100%}}.viz-root{--viz-1:#3987e5;--viz-2:#d95926;--viz-3:#199e70}html[data-theme=light] .viz-root{--viz-1:#2a78d6;--viz-2:#eb6834;--viz-3:#1baf7a}.viz-cabecalho{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.viz-cabecalho p{margin:0}.viz-legenda{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.viz-legenda-item{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted-foreground)}.viz-marca{width:10px;height:10px;border-radius:3px;flex-shrink:0}.viz-area{position:relative}.viz-svg{width:100%;height:240px;display:block;overflow:visible}.viz-grade{stroke:var(--border-subtle);stroke-width:1}.viz-base{stroke:var(--border);stroke-width:1}.viz-eixo{fill:var(--muted-foreground);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viz-alvo{fill:transparent;cursor:default}.viz-alvo.ativo{fill:var(--hover-soft)}.viz-tooltip{position:absolute;top:4px;right:4px;display:grid;grid-gap:3px;gap:3px;padding:9px 11px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--card-elevated);box-shadow:var(--shadow-pop);font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none}.viz-tooltip span{display:inline-flex;align-items:center;gap:6px;color:var(--text-body)}.viz-area-vazia{display:grid;place-items:center;min-height:240px;padding:0 40px;text-align:center}.contabilidade-tabs{margin-bottom:18px}.contabilidade-painel{display:grid;grid-gap:16px;gap:16px}.contabilidade-topo{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:18px;gap:18px;align-items:start}.viz-cartao{min-width:0}.contabilidade-kpis{display:grid;grid-gap:14px;gap:14px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--card-elevated)}.competencia-select{display:grid;grid-gap:6px;gap:6px}.kpi-linha{display:grid;grid-gap:2px;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.kpi-linha:last-child{padding-bottom:0;border-bottom:none}.kpi-linha strong{font-size:1.3rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-linha span{font-size:.8rem;color:var(--muted-foreground)}.contabilidade-alertas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:12px;gap:12px}.alerta-card{display:grid;grid-gap:5px;gap:5px;justify-items:start;padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--card-elevated);color:var(--foreground);text-decoration:none;transition:border-color var(--speed-fast) var(--ease-out)}.alerta-card:hover{border-color:var(--border-active)}.contabilidade-atalhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.atalho-card{display:grid;grid-gap:10px;gap:10px;padding:18px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--card-elevated);color:var(--foreground);font-size:.88rem;text-decoration:none;transition:border-color var(--speed-fast) var(--ease-out),background-color var(--speed-fast) var(--ease-out)}.atalho-card:hover{border-color:var(--border-active);background:var(--hover-soft)}.atalho-card svg{color:var(--accent-strong)}.contabilidade-filtros{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.contabilidade-filtros .select{width:auto;min-width:170px}.notas-totais{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin:16px 0;padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--card-elevated)}.notas-totais .kpi-linha{padding-bottom:0;border-bottom:none}.notas-totais .kpi-linha strong{font-size:1.05rem}.doc-nome{display:inline-flex;align-items:center;gap:8px}.doc-nome svg{color:var(--muted-foreground);flex-shrink:0}@media (max-width:1080px){.contabilidade-topo{grid-template-columns:1fr}}@media (max-width:700px){.contabilidade-filtros .search-input,.contabilidade-filtros .select{width:100%}}