@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600&family=Outfit:wght@300;400;500;600;700&family=Geist+Mono:wght@300;400;500;600&display=swap";:root,:root[data-theme=dark]{color-scheme:dark;--bg-deep: radial-gradient(60% 50% at 12% 18%, rgba(180, 130, 230, .16), transparent 60%), radial-gradient(50% 60% at 90% 22%, rgba(120, 200, 230, .14), transparent 60%), radial-gradient(70% 60% at 50% 100%, rgba(216, 130, 200, .14), transparent 60%), linear-gradient(180deg, #0c0a14 0%, #100d1c 100%);--bg-deep-solid: #0c0a14;--bg-surface: rgba(255, 255, 255, .04);--bg-primary: #0c0a14;--bg-secondary: rgba(255, 255, 255, .04);--bg-hover: rgba(255, 255, 255, .06);--bg-active: rgba(212, 184, 122, .14);--card-bg: rgba(255, 255, 255, .05);--input-bg: rgba(255, 255, 255, .04);--sidebar-bg: rgba(12, 10, 20, .55);--glass-bg: rgba(255, 255, 255, .05);--glass-bg-strong: rgba(255, 255, 255, .08);--glass-bg-deep: rgba(12, 10, 20, .55);--glass-border: rgba(255, 255, 255, .1);--glass-border-strong: rgba(255, 255, 255, .16);--glass-blur: blur(22px) saturate(140%);--glass-shadow: 0 14px 30px -12px rgba(8, 6, 20, .55);--glass-inset: inset 0 1px 0 rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--border: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .16);--text-primary: #f4eee8;--text-secondary: #c9c2d8;--text-muted: #8a82a0;--text-disabled: #555068;--text-light: #f4eee8;--accent: #d4b87a;--accent-dim: rgba(212, 184, 122, .14);--accent-glow: rgba(212, 184, 122, .32);--theme: #d4b87a;--theme-light: #e7c895;--color-success: #9bcfae;--color-success-soft: rgba(155, 207, 174, .14);--color-warning: #e7c895;--color-warning-soft: rgba(231, 200, 149, .14);--color-error: #e58779;--color-error-soft: rgba(229, 135, 121, .16);--color-info: #c4a7d4;--color-info-soft: rgba(196, 167, 212, .14);--red: #e58779;--red-dim: rgba(229, 135, 121, .16);--amber: #e7c895;--amber-dim: rgba(231, 200, 149, .14);--green: #9bcfae;--green-dim: rgba(155, 207, 174, .14);--purple: #c4a7d4;--purple-dim: rgba(196, 167, 212, .14);--text-on-color: #1a1530;--hover-bg: rgba(255, 255, 255, .04);--glow: rgba(212, 184, 122, .22);--backdrop-bg: rgba(8, 6, 20, .65);--shadow-modal: 0 24px 64px -12px rgba(0, 0, 0, .65);--shadow-fab: 0 8px 24px -4px rgba(212, 184, 122, .4);--shadow-fab-hover: 0 12px 32px -4px rgba(212, 184, 122, .55);--nav-bg: rgba(12, 10, 20, .55);--font-ui: "Outfit", sans-serif;--font-data: "Geist Mono", monospace;--font-heading: "Cormorant Garamond", serif;--font-body: "Outfit", sans-serif;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .875rem;--text-md: .9375rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.625rem;--text-3xl: 1.875rem;--text-4xl: 2.125rem;--text-5xl: 2.625rem;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--u: 8px;--panel-pad: 32px;--space-2xs: 4px;--space-xs: 6px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--space-4xl: 64px;--radius-none: 0px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-full: 50%;--card-shadow: 0 14px 30px -12px rgba(8, 6, 20, .45);--shadow-sm: 0 2px 8px -2px rgba(8, 6, 20, .3);--shadow-md: 0 8px 22px -8px rgba(8, 6, 20, .45);--shadow-lg: 0 24px 50px -16px rgba(8, 6, 20, .55);--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-smooth: .25s cubic-bezier(.4, 0, .2, 1);--logo-color: #d4b87a;--logo-color-light: #e7c895;--footer-text: #f4eee8;--footer-text-muted: #8a82a0}:root[data-theme=light]{color-scheme:light;--bg-deep: radial-gradient(60% 50% at 12% 18%, rgba(255, 182, 193, .55), transparent 60%), radial-gradient(50% 60% at 90% 22%, rgba(173, 216, 230, .5), transparent 60%), radial-gradient(70% 60% at 50% 100%, rgba(216, 196, 255, .5), transparent 60%), linear-gradient(180deg, #f6efef 0%, #ede4f0 100%);--bg-deep-solid: #f6efef;--bg-surface: rgba(255, 255, 255, .55);--bg-primary: #f6efef;--bg-secondary: rgba(255, 255, 255, .55);--bg-hover: rgba(26, 21, 48, .04);--bg-active: rgba(160, 134, 72, .12);--card-bg: rgba(255, 255, 255, .55);--input-bg: rgba(255, 255, 255, .78);--sidebar-bg: rgba(255, 255, 255, .4);--glass-bg: rgba(255, 255, 255, .55);--glass-bg-strong: rgba(255, 255, 255, .7);--glass-bg-deep: rgba(255, 255, 255, .4);--glass-border: rgba(255, 255, 255, .65);--glass-border-strong: rgba(255, 255, 255, .85);--glass-blur: blur(22px) saturate(140%);--glass-shadow: 0 14px 30px -12px rgba(40, 20, 60, .16);--glass-inset: inset 0 1px 0 rgba(255, 255, 255, .85);--line: rgba(26, 21, 48, .1);--line-strong: rgba(26, 21, 48, .2);--border: rgba(26, 21, 48, .1);--border-medium: rgba(26, 21, 48, .2);--text-primary: #1a1530;--text-secondary: #5a5470;--text-muted: #8a85a0;--text-disabled: #b0acc0;--text-light: #1a1530;--accent: #a08648;--accent-dim: rgba(160, 134, 72, .14);--accent-glow: rgba(160, 134, 72, .28);--theme: #a08648;--theme-light: #c4a777;--color-success: #6c9b7e;--color-success-soft: rgba(108, 155, 126, .14);--color-warning: #c89f6a;--color-warning-soft: rgba(200, 159, 106, .14);--color-error: #c4474a;--color-error-soft: rgba(196, 71, 74, .14);--color-info: #8c6ea8;--color-info-soft: rgba(140, 110, 168, .14);--red: #c4474a;--red-dim: rgba(196, 71, 74, .14);--amber: #c89f6a;--amber-dim: rgba(200, 159, 106, .14);--green: #6c9b7e;--green-dim: rgba(108, 155, 126, .14);--purple: #8c6ea8;--purple-dim: rgba(140, 110, 168, .14);--text-on-color: #ffffff;--hover-bg: rgba(26, 21, 48, .03);--glow: rgba(160, 134, 72, .18);--backdrop-bg: rgba(40, 20, 60, .3);--shadow-modal: 0 24px 56px -12px rgba(40, 20, 60, .22);--shadow-fab: 0 8px 24px -4px rgba(160, 134, 72, .3);--shadow-fab-hover: 0 12px 32px -4px rgba(160, 134, 72, .4);--nav-bg: rgba(255, 255, 255, .4);--card-shadow: 0 14px 30px -12px rgba(40, 20, 60, .16);--shadow-sm: 0 2px 8px -2px rgba(40, 20, 60, .1);--shadow-md: 0 8px 22px -8px rgba(40, 20, 60, .18);--shadow-lg: 0 24px 50px -16px rgba(40, 20, 60, .22);--logo-color: #a08648;--logo-color-light: #c4a777;--footer-text: #1a1530;--footer-text-muted: #5a5470}@media(prefers-contrast:more){:root,:root[data-theme=dark]{--line: rgba(255, 255, 255, .2);--line-strong: rgba(255, 255, 255, .34);--border: rgba(255, 255, 255, .2);--border-medium: rgba(255, 255, 255, .34);--glass-border: rgba(255, 255, 255, .2);--glass-border-strong: rgba(255, 255, 255, .34);--text-secondary: #e0d8ec;--text-muted: #b8b0c8;--accent-glow: rgba(212, 184, 122, .55)}:root[data-theme=light]{--line: rgba(26, 21, 48, .24);--line-strong: rgba(26, 21, 48, .4);--border: rgba(26, 21, 48, .24);--border-medium: rgba(26, 21, 48, .4);--glass-bg: rgba(255, 255, 255, .78);--glass-bg-strong: rgba(255, 255, 255, .9);--text-secondary: #2a2540;--text-muted: #5a5470}}@media(prefers-reduced-transparency:reduce){:root,:root[data-theme=dark]{--bg-deep: var(--bg-deep-solid);--glass-bg: #181425;--glass-bg-strong: #1f1a30;--glass-bg-deep: #0c0a14;--glass-blur: none;--card-bg: #181425;--sidebar-bg: #0f0d18;--nav-bg: #0f0d18}:root[data-theme=light]{--bg-deep: var(--bg-deep-solid);--glass-bg: #ffffff;--glass-bg-strong: #ffffff;--glass-bg-deep: #ffffff;--glass-blur: none;--card-bg: #ffffff;--sidebar-bg: #ffffff;--nav-bg: #ffffff}}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-ui, "Outfit", sans-serif);background:var(--bg-deep, #0c0a14);background-attachment:fixed;color:var(--text-primary, #f4eee8);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{width:100%}@media(max-width:768px){body,#root{overflow-x:hidden}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:0;top:-100%;background:var(--accent, #6366f1);color:var(--bg-deep, #0a0a0f);padding:8px 16px;border-radius:0 0 var(--radius-sm) var(--radius-sm);text-decoration:none;font-family:var(--font-ui, "Inter", sans-serif);font-weight:600;font-size:16px;letter-spacing:.06em;text-transform:uppercase;z-index:9999;transition:top var(--transition-fast, .12s ease);box-shadow:none}:where(a,button,input,select,textarea,[role=button],[tabindex]):focus-visible{outline:2px solid var(--accent, #6366f1);outline-offset:2px;border-radius:var(--radius-sm);box-shadow:0 0 0 4px var(--accent-glow, rgba(99, 102, 241, .3));transition:box-shadow .12s ease}.patients-table :where(a,button):focus-visible{outline-width:2px;outline-offset:1px;box-shadow:none}main,section{max-width:1200px;margin:0 auto;padding:1.5rem 2.5rem}.panel-content{max-width:none;margin:0}.panel-content main,.panel-content section{max-width:none;margin:0;padding:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#root{min-height:100vh}.site-shell{min-height:100vh;display:flex;flex-direction:column}.skip-link{position:absolute;top:-100%;left:0;z-index:9999;padding:8px 16px;background:var(--accent);color:var(--bg-deep);font-family:var(--font-ui);font-size:16px;font-weight:600;text-decoration:none}.skip-link:focus{top:0}.app-grid{display:grid;grid-template-columns:200px 1fr;grid-template-rows:1fr;min-height:100vh;background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-ui);font-size:16px}.main-area{display:grid;grid-template-rows:auto 1fr;min-height:100vh;overflow-y:auto;background:var(--bg-deep)}.panel-content{padding:var(--panel-pad);background:var(--bg-deep);max-width:none;margin:0;min-height:0;display:flex;flex-direction:column}.panel-content>section:not(.patient-detail-page){display:flex;flex-direction:column;gap:1.5rem}.panel-content>section:not(.patient-detail-page)>h2,.panel-content>section:not(.patient-detail-page)>h3,.panel-content>section:not(.patient-detail-page)>p{margin-top:0;margin-bottom:0}.panel-content>section:not(.patient-detail-page)>h2+p.muted,.panel-content>section:not(.patient-detail-page)>h3+p.muted{margin-top:-1rem}.loading-fallback{display:flex;align-items:center;justify-content:center;min-height:200px;padding:var(--panel-pad)}.loading-spinner{width:24px;height:24px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.breadcrumbs{display:flex;align-items:center;font-family:var(--font-data);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1rem;flex-shrink:0}.breadcrumbs-item{display:inline-flex;align-items:center}.breadcrumbs-sep{margin:0 6px;color:var(--text-secondary)}.breadcrumbs-link{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.breadcrumbs-link:hover{color:var(--accent)}.breadcrumbs-current{color:var(--text-secondary)}.panel-content h2{font-family:var(--font-ui);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:.75rem;letter-spacing:-.01em}.panel-content h3{font-family:var(--font-ui);font-size:1rem;font-weight:600;color:var(--text-primary);margin:2rem 0 1rem}.panel-content h4{font-family:var(--font-ui);font-size:.875rem;font-weight:500;color:var(--text-primary);margin:1.5rem 0 .75rem}.panel-content p{line-height:1.7;margin-bottom:1.25rem;color:var(--text-secondary)}.panel-title{font-family:var(--font-data);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:24px;display:flex;align-items:center;gap:8px}.panel-title:after{content:"";flex:1;height:1px;background:var(--line)}.empty-state{padding:48px var(--panel-pad);text-align:center}.empty-label{font-family:var(--font-data);font-size:12px;letter-spacing:.15em;color:var(--text-secondary);text-transform:uppercase}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--line-strong)}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:50}.sidebar::-webkit-scrollbar{width:3px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--line-strong)}.sidebar-logo{padding:24px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none;color:inherit}.sidebar-logo:hover{background:var(--bg-hover)}.logo-square{width:28px;height:28px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:15px;font-weight:900;color:var(--bg-deep);border-radius:var(--radius-sm);flex-shrink:0}[data-theme=light] .logo-square{color:var(--text-on-color)}.logo-text{display:flex;flex-direction:column}.logo-name{font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:.05em}.logo-role{font-family:var(--font-data);font-size:10px;color:var(--text-secondary);letter-spacing:.2em;text-transform:uppercase;margin-top:2px}.sidebar-nav{display:flex;flex-direction:column;flex:1}.nav-item{position:relative;display:flex;align-items:center;gap:10px;margin:2px 10px;padding:11px 10px 11px 13px;font-size:16px;font-weight:500;letter-spacing:.04em;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);border-radius:var(--radius-sm);text-decoration:none;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--accent);border-radius:999px;opacity:0;transform:scaleY(.35);transition:opacity var(--transition-fast),transform var(--transition-fast)}.nav-item:hover{background:color-mix(in srgb,var(--bg-hover) 82%,var(--accent-dim));color:var(--text-primary);transform:translate(1px)}.nav-item.active{color:var(--text-primary);background:linear-gradient(90deg,var(--accent-dim),color-mix(in srgb,var(--bg-active) 74%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent);font-weight:700}.nav-item.active:before{opacity:1;transform:scaleY(1)}.nav-item svg{width:14px;height:14px;flex-shrink:0;opacity:1;color:currentColor}.nav-item.active svg{color:var(--accent);opacity:1}.nav-unread-badge{margin-left:auto;font-family:var(--font-data);font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-dim);padding:2px 6px;border-radius:var(--radius-sm);letter-spacing:.04em}.sidebar-footer{border-top:1px solid var(--line);padding:16px 20px;display:flex;flex-direction:column;gap:10px;flex-shrink:0}.sidebar-user{display:flex;align-items:center;gap:10px}.sidebar-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-dim);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-family:var(--font-data);font-size:11px;font-weight:600;color:var(--accent);flex-shrink:0;letter-spacing:.04em}.sidebar-user-name{font-family:var(--font-data);font-size:11px;color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sidebar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.theme-toggle{position:relative;display:inline-flex;align-items:center;gap:4px;width:52px;height:26px;padding:0 6px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-hover);cursor:pointer;transition:border-color var(--transition-fast);flex-shrink:0}.theme-toggle-icon{position:relative;z-index:1;color:var(--text-secondary);opacity:.9;transition:opacity var(--transition-fast),color var(--transition-fast);flex-shrink:0;width:12px;height:12px}.theme-toggle-icon:first-child{color:var(--accent);opacity:1}.theme-toggle-slider{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:2px;background:var(--accent);transition:transform var(--transition-smooth);opacity:.9}.theme-toggle--dark .theme-toggle-slider{transform:translate(22px)}.theme-toggle--dark .theme-toggle-icon:first-child{color:var(--text-secondary);opacity:.8}.theme-toggle--dark .theme-toggle-icon:last-child{color:var(--accent);opacity:1}.language-switcher{position:relative;flex-shrink:0}.language-trigger{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-fast)}.language-trigger:hover,.language-trigger[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.language-trigger svg{color:var(--text-secondary);flex-shrink:0}.language-code{font-family:var(--font-data);font-size:11px;font-weight:700;letter-spacing:.04em}.language-menu{position:absolute;left:0;bottom:calc(100% + 8px);min-width:160px;padding:6px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-lg, 0 16px 40px rgba(0, 0, 0, .24));z-index:80}.language-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer}.language-option:hover,.language-option--active{background:var(--bg-hover);color:var(--accent)}.sidebar-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;color:var(--text-secondary);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);flex-shrink:0;text-decoration:none}.sidebar-icon-btn:hover{color:var(--accent);border-color:var(--line-strong);background:var(--bg-hover)}.sidebar-icon-btn--logout:hover{color:var(--red);border-color:#ff707040}[data-theme=light] .sidebar-icon-btn--logout:hover{color:var(--red);border-color:#dc262640}.topbar{padding:20px var(--panel-pad);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:var(--bg-surface);flex-shrink:0}.mobile-topbar-brand{display:none}.page-title{font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.page-meta{font-family:var(--font-data);font-size:11px;color:var(--text-secondary);letter-spacing:.02em;margin-top:4px}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-search{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--line);border-radius:var(--radius-md, 8px);color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui);font-size:13px;min-width:280px;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.topbar-search:hover{border-color:var(--line-strong);color:var(--text-primary);background:var(--bg-hover)}.topbar-search svg{color:var(--text-muted);flex-shrink:0}.topbar-search-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-search-kbd{display:inline-flex;gap:2px;flex-shrink:0}.topbar-search-kbd kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;font-family:var(--font-data);font-size:10px;color:var(--text-secondary);background:var(--card-bg);border:1px solid var(--line-strong);border-radius:3px;line-height:1}@media(max-width:960px){.topbar-search{min-width:0;padding:8px 10px}.topbar-search-label{display:none}}@media(max-width:640px){.topbar-search-kbd{display:none}}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-family:var(--font-ui);font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius-sm);border:1px solid transparent;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);text-decoration:none;white-space:nowrap}.btn-primary{background:var(--accent);color:var(--bg-deep);border-color:var(--accent)}.btn-primary:hover{background:var(--theme-light);border-color:var(--theme-light)}.btn-secondary{background:transparent;color:var(--text-secondary);border-color:var(--line-strong)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}[data-theme=light] .btn-primary{color:var(--text-on-color)}.public-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2.5rem;background:var(--bg-primary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.public-header nav,.auth-actions{display:flex;gap:1.5rem}.public-header nav a,.auth-actions a{color:var(--text-secondary);text-decoration:none;font-family:var(--font-ui);font-weight:400;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;transition:color var(--transition-base)}.public-header nav a:hover,.public-header nav a.active{color:var(--theme)}.public-footer{margin-top:auto;padding:2.5rem;background:var(--bg-deep);text-align:center;border-top:1px solid var(--border);color:var(--footer-text)}.bottom-nav{display:none;flex-shrink:0}.nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 4px 8px;color:var(--text-secondary);cursor:pointer;border-right:1px solid var(--line);text-decoration:none;transition:color var(--transition-fast),background var(--transition-fast);position:relative}.nav-tab:last-child{border-right:none}.nav-tab:hover{background:var(--bg-hover);color:var(--text-secondary)}.nav-tab.active{color:var(--accent);background:var(--bg-active)}.nav-tab svg{width:18px;height:18px;flex-shrink:0}.nav-tab-label{font-family:var(--font-data);font-size:7px;letter-spacing:.1em;text-transform:uppercase;line-height:1}@media(max-width:768px){.app-grid{grid-template-columns:1fr;height:100dvh;min-height:unset;overflow:hidden}.sidebar{display:none}.main-area{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.topbar{flex-shrink:0;padding:12px 20px;justify-content:flex-start;gap:12px}.mobile-topbar-brand{display:inline-flex;align-items:center;gap:10px}.mobile-brand-mark{font-family:var(--font-ui);font-weight:800;letter-spacing:.08em;color:var(--text-primary)}.mobile-back-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-secondary)}.topbar-left{display:none}.panel-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 16px}.bottom-nav{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);background:var(--bg-surface);padding-bottom:env(safe-area-inset-bottom,0px);flex-shrink:0}}.mobile-settings-drawer{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--bg-surface);border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:0 -4px 20px #00000026;max-height:80vh;display:flex;flex-direction:column;animation:slide-up .3s ease}[data-theme=dark] .mobile-settings-drawer{box-shadow:0 -4px 20px #00000080}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--line);flex-shrink:0}.drawer-content{flex:1;overflow-y:auto;padding:20px}.drawer-nav-list{display:grid;gap:8px}.drawer-nav-link{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.drawer-nav-link--active{border-color:var(--accent);color:var(--accent);background:var(--bg-active)}.settings-group{margin-bottom:24px}.settings-group:last-child{margin-bottom:0}.settings-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}.theme-toggle-button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg-hover);color:var(--text-primary);font-family:var(--font-ui);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.theme-toggle-button:hover{border-color:var(--accent);background:var(--bg-surface)}.theme-toggle-button svg{color:var(--text-secondary)}.drawer-logout-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;border:1px solid rgba(255,112,112,.3);border-radius:10px;background:#ff707014;color:var(--red);font-family:var(--font-ui);font-size:.9375rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.drawer-logout-btn:hover{border-color:#ff707080;background:#ff707024}label{display:flex;flex-direction:column;font-family:var(--font-data);font-weight:400;font-size:11px;letter-spacing:.12em;text-transform:uppercase;gap:8px;color:var(--text-secondary)}input,select,textarea,button{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);font-size:15px;font-family:var(--font-ui);background:var(--bg-surface);color:var(--text-primary);transition:border-color var(--transition-fast);box-shadow:none}input:hover,select:hover,textarea:hover{border-color:var(--accent)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}select option,select optgroup{background-color:var(--bg-deep-solid);color:var(--text-primary)}:root[data-theme=dark] input::-webkit-calendar-picker-indicator,:root:not([data-theme=light]) input::-webkit-calendar-picker-indicator{filter:invert(.85);cursor:pointer}input:disabled,select:disabled,textarea:disabled{opacity:.7;cursor:not-allowed;background:var(--bg-hover)}input.input--error,select.input--error,textarea.input--error{border-color:var(--color-error)}input.input--error:focus,select.input--error:focus,textarea.input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--accent-glow)}.input-error-message{font-family:var(--font-data);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-error);margin-top:4px}input.input--success,select.input--success,textarea.input--success{border-color:var(--color-success)}input.input--success:focus,select.input--success:focus,textarea.input--success:focus{border-color:var(--color-success);box-shadow:0 0 0 3px var(--accent-glow)}input[type=checkbox],input[type=radio]{width:14px;height:14px;padding:0;accent-color:var(--accent);cursor:pointer;flex-shrink:0;border-radius:var(--radius-sm)}input[type=file]{padding:8px;font-size:16px;cursor:pointer}input[type=file]::file-selector-button{font-family:var(--font-data);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;margin-right:10px;transition:color var(--transition-fast),border-color var(--transition-fast)}input[type=file]::file-selector-button:hover{border-color:var(--accent);color:var(--accent)}.app-grid input:not([type=checkbox]):not([type=radio]),.app-grid select,.app-grid textarea{border-radius:6px}.app-grid input[type=file]::file-selector-button{border-radius:4px}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.form-row{grid-template-columns:1fr}}button[type=submit],.auth-content .btn-primary{font-family:var(--font-ui);font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--bg-deep);border:1px solid var(--accent);cursor:pointer;padding:12px 24px;border-radius:var(--radius-sm);transition:background var(--transition-fast),border-color var(--transition-fast),transform .12s ease;white-space:nowrap;box-shadow:none}button[type=submit]:hover:not(:disabled),.auth-content .btn-primary:hover{background:var(--theme-light);border-color:var(--theme-light);color:var(--bg-deep);box-shadow:none}button[type=submit]:active:not(:disabled),.auth-content .btn-primary:active{transform:scale(.98)}button[type=submit]:focus-visible,.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-glow)}[data-theme=light] button[type=submit],[data-theme=light] .auth-content .btn-primary{color:var(--text-on-color)}.btn--sm{padding:6px 12px;font-size:12px}.btn--lg{padding:14px 28px;font-size:16px}.btn-secondary{font-family:var(--font-ui);font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:transparent;color:var(--text-secondary);border:1px solid var(--line-strong);cursor:pointer;padding:12px 24px;border-radius:var(--radius-sm);transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap;box-shadow:none}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:transparent}.btn-danger{font-family:var(--font-ui);font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--red-dim);color:var(--red);border:1px solid rgba(255,112,112,.25);cursor:pointer;padding:12px 24px;border-radius:var(--radius-sm);transition:background var(--transition-fast),border-color var(--transition-fast);white-space:nowrap;box-shadow:none}.btn-danger:hover:not(:disabled){background:var(--red);color:var(--bg-deep);border-color:var(--red);transform:none;box-shadow:none}[data-theme=light] .btn-danger:hover:not(:disabled){color:var(--text-on-color)}.btn-ghost{font-family:var(--font-ui);font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:transparent;color:var(--accent);border:none;cursor:pointer;padding:10px 16px;border-radius:var(--radius-sm);transition:opacity var(--transition-fast);white-space:nowrap}.btn-ghost:hover:not(:disabled){opacity:1;background:transparent}.app-grid button,.app-grid .btn-primary,.app-grid .btn-secondary,.app-grid .btn-danger,.app-grid .btn-ghost{border-radius:6px}button:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-ghost:disabled{opacity:.7;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn--loading{position:relative;color:transparent!important;pointer-events:none}.btn--loading:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite;color:var(--accent)}@keyframes btn-spin{to{transform:rotate(360deg)}}.card{background:var(--bg-surface);padding:var(--panel-pad);border-radius:var(--radius-md);margin-bottom:0;border:1px solid var(--line);transition:background var(--transition-fast);box-shadow:none}.card:hover{background:var(--bg-hover);border-color:var(--line-strong);box-shadow:0 4px 16px #00000040}.card h3{font-family:var(--font-data);font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin-top:0;margin-bottom:20px}.card h4{font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:12px}.card p{line-height:1.7;margin-bottom:1rem;color:var(--text-primary);font-size:15px}.card a{color:var(--accent);text-decoration:none;font-family:var(--font-data);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;transition:opacity var(--transition-fast);display:inline-flex;align-items:center;gap:4px}.card a:hover{opacity:1;gap:4px}.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.tag{border-radius:var(--radius-sm);padding:3px 8px;background:transparent;font-family:var(--font-data);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--line-strong);transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.tag:hover{color:var(--accent);border-color:var(--accent);transform:none;background:transparent}.muted{color:var(--text-secondary);font-size:15px;line-height:1.6}.patients-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-bottom:var(--panel-pad)}.patients-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm);border:1px solid var(--line);max-height:70vh;overflow-y:auto}.patients-table th{font-family:var(--font-data);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);text-align:left;padding:14px 16px;border-bottom:1px solid var(--line-strong);background:var(--bg-surface);position:sticky;top:0;z-index:1}.patients-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text-primary);font-size:15px;line-height:1.5}.patients-table td[data-label*=Date],.patients-table td[data-label*=date],.patients-table td[data-label*=Échéance]{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:.02em}.patients-table tbody tr{transition:background var(--transition-fast)}.patients-table tbody tr:hover{background:var(--bg-hover)}.patients-actions{display:flex;flex-wrap:wrap;gap:4px}.patients-actions a,.patients-actions button{border:1px solid var(--line-strong);background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);font-family:var(--font-data);font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;text-decoration:none;transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap;flex-shrink:0;cursor:pointer}.patients-actions button:hover,.patients-actions a:hover{color:var(--accent);border-color:var(--accent);background:transparent;transform:none}.patients-pagination{margin-top:var(--panel-pad);display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line);font-family:var(--font-data);font-size:11px;color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase}.patient-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:var(--panel-pad);gap:0}.patient-tabs button{font-family:var(--font-data);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:12px 20px;background:transparent;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);margin-bottom:-1px}.patient-tabs button:hover{color:var(--text-primary);background:transparent;transform:none}.patient-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--radius-sm);font-family:var(--font-data);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.status-badge:before{content:"";width:4px;height:4px;border-radius:50%;flex-shrink:0;background:currentColor}.status-badge--active,.status-badge--done,.status-badge--validated{color:var(--green);background:var(--green-dim);border:1px solid var(--green-dim)}.status-badge--scheduled,.status-badge--submitted{color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-dim)}.status-badge--draft,.status-badge--pending{color:var(--amber);background:var(--amber-dim);border:1px solid var(--amber-dim)}.status-badge--archived,.status-badge--inactive{color:var(--text-secondary);background:transparent;border:1px solid var(--line-strong)}.status-badge--cancelled,.status-badge--no_show{color:var(--red);background:var(--red-dim);border:1px solid var(--red-dim)}.status-badge--admin{color:var(--purple);background:var(--purple-dim);border:1px solid var(--purple-dim)}.status-badge--practitioner{color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-dim)}.status-badge--client{color:var(--green);background:var(--green-dim);border:1px solid var(--green-dim)}[data-theme=light] .status-badge--active,[data-theme=light] .status-badge--done,[data-theme=light] .status-badge--validated{color:var(--green);background:var(--green-dim);border-color:var(--green-dim)}[data-theme=light] .status-badge--scheduled,[data-theme=light] .status-badge--submitted{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-dim)}[data-theme=light] .status-badge--draft,[data-theme=light] .status-badge--pending{color:var(--amber);background:var(--amber-dim);border-color:var(--amber-dim)}[data-theme=light] .status-badge--cancelled,[data-theme=light] .status-badge--no_show{color:var(--red);background:var(--red-dim);border-color:var(--red-dim)}.notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:8px;font-size:.8125rem;margin-bottom:1rem}.notice--success{background:var(--color-success-soft);color:var(--color-success);border-left:3px solid var(--color-success)}.notice--error{background:var(--color-error-soft);color:var(--color-error);border-left:3px solid var(--color-error)}.notice--info{background:var(--color-info-soft);color:var(--color-info);border-left:3px solid var(--color-info)}.notice--warning{background:var(--color-warning-soft);color:var(--color-warning);border-left:3px solid var(--color-warning)}[data-theme=dark] .notice--success{background:#22c55e1f}[data-theme=dark] .notice--error{background:#ef44441f}[data-theme=dark] .notice--info{background:#5eb5e01f}[data-theme=dark] .notice--warning{background:#f59e0b1f}.notice svg{flex-shrink:0}.offline-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;background:var(--color-warning);color:#1a1a1a;font-size:.8125rem;font-weight:500}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:380px;width:100%;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;animation:toast-in .25s ease-out;box-shadow:0 4px 16px #0000001a}.toast-message{flex:1;min-width:0}.toast-close{flex-shrink:0;background:none;border:none;cursor:pointer;padding:.15rem;color:inherit;opacity:1;transition:opacity .15s}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-deep);color:var(--text-primary);padding:32px}.auth-header{text-align:center;margin-bottom:32px}.auth-header a{color:var(--text-primary);text-decoration:none;font-family:var(--font-ui);font-size:18px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;transition:color var(--transition-fast)}.auth-header a:hover{color:var(--accent)}.auth-header-logo{display:inline-flex;align-items:center;gap:16px}.auth-header-logo svg{width:36px;height:36px;flex-shrink:0}.auth-content{background:var(--bg-surface);color:var(--text-primary);padding:var(--panel-pad);border-radius:0;width:min(420px,90vw);box-shadow:none;border:1px solid var(--line-strong)}.auth-content form{display:flex;flex-direction:column;gap:20px}.auth-content .error{font-family:var(--font-data);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-error);margin:0 0 8px;padding:10px 12px;background:var(--color-error-soft);border-radius:0;border-left:2px solid var(--color-error)}.auth-content .auth-links{text-align:center;margin-top:20px;font-family:var(--font-data);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.auth-content .auth-links a{color:var(--accent);text-decoration:none;font-family:var(--font-data);letter-spacing:.08em;transition:opacity var(--transition-fast)}.auth-content .auth-links a:hover{opacity:1;text-decoration:none}.auth-shell .auth-footer-link{margin-top:24px;font-family:var(--font-data);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.auth-shell .auth-footer-link a{color:var(--text-secondary);text-decoration:none;font-family:var(--font-data);transition:color var(--transition-fast)}.auth-shell .auth-footer-link a:hover{color:var(--accent);text-decoration:none}.auth-content h1,.auth-content h2{font-family:var(--font-ui);font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 24px;letter-spacing:-.01em}.auth-content p{font-family:var(--font-data);font-size:11px;color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:0;line-height:1.5}.portal-form label{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1.25rem}.portal-form textarea{min-height:120px;resize:vertical;border:1px solid var(--border, rgba(26, 26, 26, .1));border-radius:8px;padding:.875rem 1rem;font:inherit;line-height:1.6}.anamnesis-section{margin-bottom:2.5rem}.anamnesis-section h3{margin-top:0;margin-bottom:1.5rem}.portal-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);margin-top:.25rem}.portal-progress-eyebrow{font-family:var(--font-data);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.portal-progress-percent{font-family:var(--font-data);font-size:var(--text-xl);font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}.portal-progress-segments{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;margin:1rem 0 .25rem}.portal-progress-segment{height:4px;background:var(--line);border-radius:2px;transition:background .3s ease}.portal-progress-segment.is-done{background:var(--accent)}.portal-progress-segment.is-current{background:var(--text-muted);background:linear-gradient(90deg,var(--accent) 0%,var(--text-muted) 100%)}.portal-progress-segment.is-done.is-current{background:var(--accent);box-shadow:0 0 8px #6366f166}.portal-step-list{margin:1.5rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.portal-step-list li{border:1px solid var(--line);border-radius:var(--radius-md, 8px);color:var(--text-secondary);font-size:.875rem;transition:border-color var(--transition-fast),background var(--transition-fast);overflow:hidden}.portal-step-list li.is-clickable:hover{border-color:var(--line-strong);background:var(--bg-hover)}.portal-step-list li.is-done{color:var(--text-primary)}.portal-step-button{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem .75rem;background:transparent;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.portal-step-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.portal-step-marker{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--line);font-family:var(--font-data);font-size:11px;font-weight:600;color:var(--text-secondary);flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.portal-step-list li.is-done .portal-step-marker{background:var(--accent);border-color:var(--accent);color:var(--text-on-color)}.portal-step-list li.active{border-color:var(--accent);background:var(--accent-dim);color:var(--text-primary)}.portal-step-list li.active .portal-step-marker{background:var(--accent);border-color:var(--accent);color:var(--text-on-color);box-shadow:0 0 0 3px var(--accent-glow)}.portal-save-status{min-height:24px;margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.portal-save-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-family:var(--font-data);font-size:11px;letter-spacing:.04em;line-height:1}.portal-save-chip--saving{background:var(--accent-dim);color:var(--accent)}.portal-save-chip--saved{background:var(--color-success-soft);color:var(--color-success)}.portal-save-spin{animation:portal-spin .9s linear infinite}@keyframes portal-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.patient-back-bar{border-bottom:1px solid var(--line);padding:14px var(--panel-pad);margin:calc(var(--panel-pad) * -1) calc(var(--panel-pad) * -1) 0}.back-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-data);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.back-link:hover{color:var(--accent)}.back-link svg{opacity:1;flex-shrink:0}.back-link:hover svg{opacity:1}.patient-detail-page{display:flex;flex-direction:column;gap:0}.patient-detail-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:var(--panel-pad);border-bottom:1px solid var(--line);margin:0 calc(var(--panel-pad) * -1);flex-wrap:wrap}.patient-detail-identity{display:flex;align-items:center;gap:16px;flex:1;min-width:0;flex-wrap:wrap}.patient-detail-avatar{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--accent-dim);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-family:var(--font-data);font-size:15px;font-weight:600;color:var(--accent);letter-spacing:.04em;flex-shrink:0}.patient-detail-meta{flex:1;min-width:0}.patient-detail-name{font-family:var(--font-ui);font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-detail-sub{font-family:var(--font-data);font-size:11px;color:var(--text-secondary);letter-spacing:.08em;margin-top:4px;text-transform:uppercase}.patient-detail-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.patient-detail-actions{display:flex;gap:8px;flex-shrink:0}.patient-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--line);margin:0 calc(var(--panel-pad) * -1) var(--panel-pad);overflow-x:auto}.patient-tabs button{border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font-family:var(--font-data);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:14px 20px;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap;margin-bottom:-1px}.patient-tabs button:hover{color:var(--text-primary);background:var(--bg-hover)}.patient-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);background:transparent}.patient-tab-panel{padding-bottom:var(--panel-pad);border-bottom:1px solid var(--line);margin-bottom:var(--panel-pad)}.patient-tab-content{display:flex;flex-direction:column;gap:18px}.patient-tab-content>h3{margin:0}.patient-tab-content>p,.patient-tab-content .muted{margin:0}.patient-tab-content form{display:flex;flex-direction:column;gap:14px}.patient-tab-content form>label,.patient-tab-content form fieldset>label{display:flex;flex-direction:column;gap:6px}.patient-tab-content .card+.card{margin-top:6px}.patient-tab-content .card{transition:none}.patient-tab-content .card:hover{background:var(--bg-surface);border-color:var(--line)}.patient-history-section{padding-top:var(--panel-pad)}.patient-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0;border:1px solid var(--line)}.patient-card{background:var(--bg-surface);border:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--panel-pad);display:flex;flex-direction:column;gap:16px;transition:background var(--transition-fast);box-shadow:none}.patient-card:hover{background:var(--bg-hover);transform:none;box-shadow:none;border-color:var(--line)}.patient-card--archived{opacity:.8}.patient-card--archived:hover{opacity:.9}.patient-card-top{display:flex;align-items:center;gap:12px}.patient-card-avatar{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--accent-dim);border:1px solid var(--line-strong);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-data);font-weight:600;font-size:12px;letter-spacing:.04em;flex-shrink:0}.patient-card--archived .patient-card-avatar{background:var(--bg-hover);color:var(--text-secondary);border-color:var(--line)}.patient-card-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.patient-card-name{font-family:var(--font-ui);font-weight:600;font-size:15px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-card-meta{font-family:var(--font-data);font-size:11px;color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase}.patient-card-badge{font-family:var(--font-data);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:var(--radius-sm);flex-shrink:0}.patient-card-badge--active{background:var(--green-dim);color:var(--green);border:1px solid rgba(74,222,128,.2)}.patient-card-badge--archived{background:transparent;color:var(--text-secondary);border:1px solid var(--line-strong)}.patient-card-details{display:flex;flex-direction:column;gap:0;padding-top:12px;border-top:1px solid var(--line)}.patient-card-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:16px}.patient-card-row:last-child{border-bottom:none}.patient-card-label{font-family:var(--font-data);color:var(--text-secondary);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0}.patient-card-value{color:var(--text-primary);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.patient-card-actions{display:flex;align-items:center;gap:4px;padding-top:12px;border-top:1px solid var(--line)}.patient-card-action{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line-strong);background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);font-family:var(--font-data);font-size:11px;font-weight:400;letter-spacing:.08em;padding:5px 10px;text-decoration:none;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);text-transform:uppercase;white-space:nowrap}.patient-card-action:hover{color:var(--accent);border-color:var(--accent);background:transparent}.patient-card-action--primary{background:var(--accent);color:var(--bg-deep);border-color:var(--accent)}.patient-card-action--primary:hover{background:var(--theme-light);border-color:var(--theme-light);color:var(--bg-deep)}[data-theme=light] .patient-card-action--primary,[data-theme=light] .patient-card-action--primary:hover{color:#fff}.patient-card-action--icon{padding:5px}.patient-card-more-wrap{position:relative;margin-left:auto}.patient-card-dropdown{position:absolute;right:0;bottom:calc(100% + 4px);background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:none;padding:4px;z-index:10;min-width:150px;display:flex;flex-direction:column;gap:0}.patient-card-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--line);background:transparent;color:var(--text-secondary);font-family:var(--font-data);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);text-align:left}.patient-card-dropdown button:last-child{border-bottom:none}.patient-card-dropdown button:hover{background:var(--bg-hover);color:var(--accent)}.patient-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.patient-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:20px;border-top:1px solid var(--line)}.patients-view-toggle{display:flex;border:1px solid var(--line-strong);border-radius:var(--radius-sm);overflow:hidden}.patients-view-toggle-btn{padding:6px 9px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;transition:background var(--transition-fast),color var(--transition-fast)}.patients-view-toggle-btn.active{background:var(--accent-dim);color:var(--accent)}@media(max-width:768px){.patients-view-toggle{display:none}}.patients-table{width:100%;border-collapse:collapse}.patients-table th{background:var(--sidebar-bg);color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.patients-table th:last-child{text-align:right}.patients-table td{padding:10px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--text-primary);vertical-align:middle}.patients-table tbody tr:last-child td{border-bottom:none}.patients-table tbody tr:hover td{background:#ffffff05}.patients-table td:last-child{text-align:right}.patients-table-th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.patients-table-th--sortable:hover{color:var(--text-primary)}.patients-table-sort-icon{color:var(--accent);margin-left:4px}.patients-table-name{font-weight:500;font-size:13px;color:var(--text-primary)}.patients-table-sub{font-size:11px;color:var(--text-muted);margin-top:1px}.patients-table-mono{font-family:var(--font-data);font-size:12px;color:var(--text-secondary)}.patients-table-empty{text-align:center!important;color:var(--text-muted);padding:40px 16px!important;font-size:13px}.dashboard-v2{display:flex;flex-direction:column;gap:0;flex:1;min-width:0}.stats-row,.dashboard-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);margin:0 calc(var(--panel-pad) * -1);margin-top:calc(var(--panel-pad) * -1);margin-bottom:var(--panel-pad)}.stat-cell,.dashboard-stat-card{padding:28px var(--panel-pad);border-right:1px solid var(--line);border-radius:var(--radius-md);background:transparent;box-shadow:none;border-left:none;border-top:none}.stat-cell:last-child,.dashboard-stat-card:last-child{border-right:none}.stat-label,.dashboard-stat-label{font-family:var(--font-data);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px}.stat-value,.dashboard-stat-value{font-family:var(--font-ui);font-size:40px;font-weight:700;color:var(--text-primary);letter-spacing:-.04em;line-height:1;margin:0}.stat-value.alert{color:var(--accent)}.stat-sub,.dashboard-stat-subtitle{font-family:var(--font-data);font-size:11px;color:var(--text-secondary);margin-top:8px;letter-spacing:.08em;text-transform:uppercase}.stat-indicator{margin-top:12px;height:1px;background:var(--line);position:relative}.stat-indicator-fill{position:absolute;top:0;left:0;height:1px;background:var(--accent);transition:width .4s ease}.dashboard-stat-icon{display:none}.dashboard-stat-info{flex:1}.dashboard-v2>.panel{margin:0 calc(var(--panel-pad) * -1);border-bottom:none;flex:1}.content-row,.dashboard-charts-row,.dashboard-middle-row,.dashboard-lower-row{display:grid;grid-template-columns:1.4fr 1fr;border-bottom:1px solid var(--line);margin:0 calc(var(--panel-pad) * -1);margin-bottom:var(--panel-pad)}.dashboard-charts-row{grid-template-columns:3fr 2fr}.panel,.dashboard-widget{padding:var(--panel-pad);border-right:1px solid var(--line);border-radius:var(--radius-md);background:transparent;box-shadow:none}.panel:last-child,.dashboard-widget:last-child{border-right:none}.dashboard-widget-header{display:flex;align-items:center;gap:8px;margin-bottom:20px}.dashboard-widget-header h3{font-family:var(--font-data);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin:0;flex:1}.dashboard-widget-header h3:after{content:"";display:block;width:100%;height:1px;background:var(--line);margin-top:8px}.dashboard-widget-header svg{display:none}.dashboard-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-sm);font-family:var(--font-data);font-size:11px;font-weight:600;letter-spacing:.04em;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-dim)}.dashboard-count-badge--red{background:var(--red-dim);color:var(--red);border-color:#ff707033}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--panel-pad);flex-wrap:wrap;gap:1rem}.dashboard-welcome h2{font-family:var(--font-ui);font-size:18px;font-weight:600;color:var(--text-primary);margin:0;letter-spacing:-.01em}.dashboard-welcome h2 span{display:block;font-family:var(--font-data);font-size:11px;color:var(--text-secondary);margin-top:4px;font-weight:400;letter-spacing:.1em;text-transform:uppercase}.dashboard-quick-actions{display:flex;gap:8px}.dashboard-quick-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);font-size:15px;font-family:var(--font-ui);font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--text-secondary);background:transparent;border:1px solid var(--line-strong);transition:color var(--transition-fast),border-color var(--transition-fast)}.dashboard-quick-btn:hover{color:var(--accent);border-color:var(--accent)}.biomarker-bar{display:flex;height:2px;border-radius:0;overflow:hidden;margin-bottom:20px;background:var(--line)}.biomarker-segment{transition:flex .3s ease}.biomarker-legend{display:flex;flex-direction:column;gap:0}.biomarker-legend-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-family:var(--font-data);font-size:12px;letter-spacing:.06em;gap:8px}.biomarker-legend-item:last-child{border-bottom:none}.biomarker-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.biomarker-legend-item span:nth-child(2){color:var(--text-secondary);text-transform:uppercase;flex:1;padding-left:8px}.biomarker-legend-item span:last-child{color:var(--text-primary);font-size:20px;font-family:var(--font-ui);font-weight:700;letter-spacing:-.02em}.biomarker-total{text-align:left;margin-top:24px;padding-top:0;border-top:none}.biomarker-total strong{font-family:var(--font-ui);font-size:32px;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1;display:block}.biomarker-total span{display:block;font-family:var(--font-data);font-size:11px;color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;margin-top:6px}.appointment-list{display:flex;flex-direction:column;gap:0}.appointment-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.appointment-row:last-child{border-bottom:none}.appointment-time{font-family:var(--font-data);font-size:12px;font-weight:500;color:var(--text-secondary);text-align:right;padding-right:0;line-height:1.4;min-width:48px}.appointment-time small{display:block;font-size:11px;color:var(--text-secondary);font-weight:400;letter-spacing:.04em}.appointment-dot-col{display:flex;flex-direction:column;align-items:center}.appointment-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.appointment-line{width:1px;flex:1;min-height:16px;background:var(--line)}.appointment-info{padding-left:4px;flex:1}.appointment-name{font-size:15px;font-weight:500;color:var(--text-primary)}.appointment-reason{font-family:var(--font-data);font-size:11px;color:var(--text-secondary);letter-spacing:.06em;margin-top:2px;text-transform:uppercase}.appointment-empty{text-align:center;padding:24px 0;font-family:var(--font-data);font-size:12px;letter-spacing:.15em;color:var(--text-secondary);text-transform:uppercase}.appointment-empty svg{display:none}.alerts-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 calc(var(--panel-pad) * -1)}.alert-cell{display:flex;align-items:center;gap:12px;padding:18px var(--panel-pad);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background var(--transition-fast);cursor:pointer}.alert-cell:hover{background:var(--bg-hover)}.alert-cell:nth-child(2n){border-right:none}.alert-avatar{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-data);font-size:12px;font-weight:600;flex-shrink:0;letter-spacing:.04em}.alert-avatar.critical{background:var(--red-dim);color:var(--red);border:1px solid var(--red-dim)}.alert-avatar.warning{background:var(--amber-dim);color:var(--amber);border:1px solid var(--amber-dim)}.alert-info{flex:1;min-width:0}.alert-name,.alert-patient-name{font-size:15px;font-weight:500;color:var(--text-primary)}.alert-desc{font-family:var(--font-data);font-size:11px;color:var(--text-secondary);margin-top:3px;letter-spacing:.06em;text-transform:uppercase}.alert-section-title{font-family:var(--font-data);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);margin:0 0 8px;font-weight:400}.alert-section+.alert-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.alert-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.alert-row:last-child{border-bottom:none}.alert-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.alert-dot--red{background:var(--red)}.alert-dot--amber{background:var(--amber)}.alert-marker-tags{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}.alert-marker-tag{font-family:var(--font-data);font-size:11px;font-weight:400;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--red-dim);color:var(--red);letter-spacing:.04em}.alert-marker-tag--amber{border-color:var(--color-warning-soft);color:var(--amber)}.alert-date{font-family:var(--font-data);font-size:11px;color:var(--text-secondary);margin-left:auto;letter-spacing:.04em}.alert-empty{text-align:center;padding:24px 0;font-family:var(--font-data);font-size:12px;letter-spacing:.15em;color:var(--green);text-transform:uppercase}.alert-empty svg{display:none}.tag{font-family:var(--font-data);font-size:11px;padding:3px 8px;border-radius:var(--radius-sm);letter-spacing:.06em;white-space:nowrap;text-transform:uppercase}.tag.critical{border:1px solid var(--red-dim);color:var(--red)}.tag.warning{border:1px solid var(--color-warning-soft);color:var(--amber)}.reason-list{display:flex;flex-direction:column;gap:0}.reason-row{padding:10px 0;border-bottom:1px solid var(--line)}.reason-row:last-child{border-bottom:none}.reason-label-row{display:flex;justify-content:space-between;font-size:16px;margin-bottom:8px}.reason-label{color:var(--text-primary);font-weight:500}.reason-count{font-family:var(--font-data);color:var(--text-secondary);font-size:12px;letter-spacing:.04em}.reason-bar-track{height:1px;border-radius:0;background:var(--line);overflow:visible;position:relative}.reason-bar-fill{height:1px;border-radius:0;background:var(--accent);position:absolute;top:0;left:0;transition:width .3s ease}.activity-list{display:flex;flex-direction:column;gap:0}.activity-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:none}.activity-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--line);background:var(--bg-surface)}.activity-icon svg{width:12px;height:12px}.activity-text{flex:1;min-width:0}.activity-text strong{font-size:15px;color:var(--text-primary);font-weight:500}.activity-text span{font-family:var(--font-data);font-size:12px;color:var(--text-secondary);margin-left:6px;letter-spacing:.04em}.activity-time{font-family:var(--font-data);font-size:11px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;letter-spacing:.06em;text-transform:uppercase}.dashboard-link{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-data);font-size:11px;color:var(--accent);text-decoration:none;margin-top:12px;letter-spacing:.08em;text-transform:uppercase;transition:opacity var(--transition-fast)}.dashboard-link:hover{opacity:1}.recharts-cartesian-grid line{stroke:var(--line)}.recharts-text{fill:var(--text-muted);font-family:var(--font-data);font-size:11px}.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--bg-surface)!important;border:1px solid var(--line-strong)!important;border-radius:var(--radius-md)!important;box-shadow:none!important;font-family:var(--font-data)!important;font-size:12px!important}.dashboard-skeleton{border-radius:var(--radius-sm);background:var(--line);animation:skeleton-shimmer 1.5s infinite}.admin-bar-chart{display:flex;align-items:flex-end;gap:4px;height:160px;padding-top:24px}.admin-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.admin-bar-value{font-family:var(--font-data);font-size:11px;font-weight:600;color:var(--text-secondary);letter-spacing:.04em}.admin-bar{width:100%;max-width:28px;min-height:2px;border-radius:var(--radius-sm);background:var(--accent-glow);transition:height .3s ease}.admin-bar:hover{background:var(--accent)}.admin-bar-label{font-family:var(--font-data);font-size:10px;color:var(--text-secondary);white-space:nowrap;letter-spacing:.06em;text-transform:uppercase}.modal-overlay{position:fixed;inset:0;background:var(--backdrop-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:32px;width:90%;max-width:520px;max-height:80vh;overflow-y:auto;box-shadow:none}@media(max-width:980px){.stats-row,.dashboard-kpi-row{grid-template-columns:repeat(2,1fr)}.content-row,.dashboard-charts-row,.dashboard-middle-row,.dashboard-lower-row,.alerts-grid{grid-template-columns:1fr}.alert-cell:nth-child(2n){border-right:none}.alert-cell{border-right:none}}@media(max-width:640px){.stats-row,.dashboard-kpi-row{grid-template-columns:1fr 1fr}.stat-value,.dashboard-stat-value{font-size:28px}}@media(max-width:768px){.stats-row,.dashboard-kpi-row{grid-template-columns:repeat(2,1fr);margin:-20px -16px 0}.stat-cell,.dashboard-stat-card{padding:16px}.content-row,.dashboard-charts-row,.dashboard-middle-row,.dashboard-lower-row{grid-template-columns:1fr;margin:0 -16px}.content-row .panel,.dashboard-charts-row .panel,.dashboard-middle-row .panel,.dashboard-lower-row .panel{border-right:none;border-bottom:1px solid var(--line)}.content-row .panel:last-child,.dashboard-charts-row .panel:last-child{border-bottom:none}.dashboard-v2>.panel{margin:0 -16px}.panel,.dashboard-widget{padding:20px 16px}}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}@media(max-width:1180px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-grid .stat-cell,.dashboard-grid .dashboard-stat-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card-bg);padding:var(--space-lg) var(--space-xl)}.dashboard-grid .stat-cell:last-child,.dashboard-grid .dashboard-stat-card:last-child{border-right:1px solid var(--line)}.dashboard-grid .stat-value,.dashboard-grid .dashboard-stat-value{font-size:32px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.25rem;margin-bottom:0}.admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-actions-row{display:flex;gap:.75rem;margin-top:.5rem}.admin-actions-row--mt-md{margin-top:1rem}.admin-inline-flex{display:flex;gap:.5rem;align-items:center}.admin-stack{display:flex;flex-direction:column;gap:.75rem}.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.admin-grid-3--mt{margin-top:1rem}.admin-ct-grid{display:grid;grid-template-columns:1fr 80px 50px 32px;gap:.75rem;align-items:end}.admin-card-spaced{margin-bottom:1.5rem}.admin-pagination{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.admin-pagination-info{padding:.5rem}.admin-heading-flush{margin:0}.admin-btn-icon{background:none;border:none;cursor:pointer;padding:.25rem}.admin-btn-danger{color:var(--color-error)}.admin-btn-inline{display:inline-flex;align-items:center;gap:.5rem}.admin-btn-inline-sm{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem}.admin-field-label{font-size:.875rem;font-weight:500;margin-bottom:.5rem;display:block}.admin-day-toggle{padding:.5rem .75rem;border-radius:8px;font-size:.8125rem;cursor:pointer}.admin-day-toggle:not(.btn-primary){border:1px solid rgba(0,0,0,.1)}.admin-color-input{padding:2px;height:38px}.admin-status-bar{display:flex;height:24px;border-radius:12px;overflow:hidden;margin-bottom:1rem;background:#0000000a}.admin-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.admin-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.admin-legend-dot{width:10px;height:10px;border-radius:50%}.admin-day-row{display:flex;gap:.5rem;flex-wrap:wrap}.admin-name-input{width:50%}.admin-select-wide{min-width:120px}.admin-badge-ml{margin-left:.5rem}.admin-text-danger{color:var(--color-error);font-size:.8125rem}.admin-block{margin-bottom:1rem}.users-role-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:var(--radius-md);background:var(--bg-hover);border:1px solid var(--line);align-self:flex-end}.users-role-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:.8125rem;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.users-role-tab:hover{color:var(--text-primary);background:var(--bg-surface)}.users-role-tab--active,.users-role-tab--active:hover{background:var(--accent);color:var(--text-on-color)}.users-role-tab__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 6px;border-radius:9px;font-family:var(--font-data);font-size:.6875rem;font-weight:600;background:#0000001f}.users-role-tab--active .users-role-tab__count{background:#ffffff38}.agenda-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border, rgba(26, 26, 26, .06))}@media(max-width:640px){.agenda-toolbar{flex-direction:column;align-items:flex-start}}.settings-card-inline{margin-top:1.5rem}.settings-disable-form{margin-top:1.5rem;padding:1.5rem;background:var(--red-dim);border:1px solid rgba(255,112,112,.2);border-radius:var(--radius-sm)}.stats-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.stats-trend-list{display:grid;gap:1rem}.stats-trend-row{display:grid;grid-template-columns:120px 1fr;gap:1.25rem;align-items:center}.stats-trend-label{font-family:var(--font-ui);font-size:.875rem;font-weight:600;letter-spacing:.02em;color:var(--text-secondary, #666)}.stats-trend-bars{display:grid;gap:.625rem}.stats-bar{display:inline-flex;align-items:center;min-height:36px;color:var(--text-primary, #1a1a1a);font-family:var(--font-ui);font-weight:500;font-size:.875rem;padding:.5rem 1rem;white-space:nowrap;border-radius:6px;transition:all .3s ease}.stats-bar:hover{transform:translate(4px)}.stats-bar-consultations{background:var(--accent-dim);border-left:4px solid var(--accent, #6366f1)}.stats-bar-reports{background:#22c55e1a;border-left:4px solid var(--color-success, #22c55e)}.stats-bar-alerts{background:#ef444414;border-left:4px solid var(--color-error, #ef4444)}[data-theme=dark] .stats-bar{color:var(--text-primary, #e8e6e3)}@media(max-width:640px){.stats-toolbar{flex-direction:column;align-items:flex-start}.stats-trend-row{grid-template-columns:1fr}}.users-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:2rem}.users-toolbar>label{flex:1 1 240px;max-width:360px}.users-role{display:inline-flex;align-items:center;padding:.375rem .875rem;font-family:var(--font-ui);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:6px}.users-role-admin{background:#b4a08226;color:var(--accent, #c4a882);border:1px solid rgba(180,160,130,.25)}.users-role-practitioner{background:var(--accent-dim);color:var(--accent, #6366f1);border:1px solid rgba(99,102,241,.2)}.users-role-client{background:#22c55e1a;color:var(--color-success, #22c55e);border:1px solid rgba(34,197,94,.15)}[data-theme=dark] .users-role-admin{background:#b4a0821f}[data-theme=dark] .users-role-practitioner{background:var(--accent-dim);color:var(--accent, #6366f1)}[data-theme=dark] .users-role-client{background:#22c55e14}.notes-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:2rem}.notes-form .notes-content{grid-column:1 / -1}.notes-list{display:grid;gap:1.25rem}.note-card{padding:1.75rem}.note-card p{margin-top:.75rem;line-height:1.7}.note-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border, rgba(26, 26, 26, .06))}.notes-pill{display:inline-flex;align-items:center;padding:.375rem .875rem;font-family:var(--font-ui);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;border-radius:6px}.notes-pill-haute{background:#ef44441a;color:var(--color-error, #ef4444);border:1px solid rgba(239,68,68,.2)}.notes-pill-normale{background:var(--accent-dim);color:var(--accent, #6366f1);border:1px solid rgba(99,102,241,.2)}.notes-pill-basse{background:#22c55e1a;color:var(--color-success, #22c55e);border:1px solid rgba(34,197,94,.15)}.notes-pill-visibility{background:var(--hover-bg, rgba(26, 26, 26, .05));color:var(--text-muted, #736e69);border:1px solid var(--border, rgba(26, 26, 26, .1))}[data-theme=dark] .notes-pill-visibility{background:var(--accent-dim);color:var(--text-secondary, #a8a29e);border-color:var(--accent-dim)}.note-done{opacity:.8}.patients-table tbody tr:nth-child(2n){background:#00000004}[data-theme=dark] .patients-table tbody tr:nth-child(2n){background:#ffffff05}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-md, .75rem);padding:clamp(2rem,5vw,3.5rem) 2rem;text-align:center}.empty-state--compact{padding:1.5rem 1rem;gap:.5rem}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--line);color:var(--text-muted);margin-bottom:var(--space-xs, .25rem)}.empty-state--compact .empty-state-icon{width:44px;height:44px}.empty-state-title{color:var(--text-primary);font-size:var(--text-md, .9375rem);font-weight:500;margin:0;letter-spacing:-.005em}.empty-state-eyebrow{color:var(--accent);font-family:var(--font-data);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin:0}.empty-state-description{color:var(--text-secondary);font-size:var(--text-sm, .875rem);line-height:1.5;margin:0;max-width:46ch}.empty-state-details{display:grid;gap:.35rem;margin:.25rem 0 0;padding:0;list-style:none;color:var(--text-secondary);font-size:var(--text-sm, .875rem);line-height:1.45;max-width:50ch}.empty-state-details li:before{content:"";display:inline-block;width:5px;height:5px;margin-right:.5rem;border-radius:50%;background:var(--accent);vertical-align:.1em}.empty-state-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.empty-state-action{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent);color:var(--text-on-color);border:1px solid var(--accent);border-radius:var(--radius-md, 8px);font-family:var(--font-ui);font-size:var(--text-sm, .875rem);text-decoration:none;cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform .12s ease}.empty-state-action--secondary{background:transparent;color:var(--text-primary);border-color:var(--line-strong)}.empty-state-action:hover{background:var(--theme-light);box-shadow:0 0 0 4px var(--accent-glow)}.empty-state-action--secondary:hover{background:var(--bg-surface)}.empty-state-action:active{transform:scale(.98)}.documents-empty-dropzone{border:1px dashed var(--line-strong);border-radius:var(--radius-lg, 12px);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 40%),var(--bg-card)}.documents-empty-dropzone .empty-state-icon{background:color-mix(in srgb,var(--accent) 12%,var(--bg-surface));border-color:color-mix(in srgb,var(--accent) 24%,var(--line));color:var(--accent)}.empty-state p{color:var(--text-muted, #a3a097);font-size:.875rem;margin:0}@supports not (view-transition-name: none){.panel-content>*{animation:page-fade .18s cubic-bezier(.22,.61,.36,1)}}@keyframes page-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@supports (view-transition-name: none){.panel-content{view-transition-name:panel-content}::view-transition-old(panel-content),::view-transition-new(panel-content){animation-duration:.18s;animation-timing-function:cubic-bezier(.22,.61,.36,1)}}@media(prefers-reduced-motion:reduce){.panel-content>*{animation:none}@supports (view-transition-name: none){::view-transition-old(panel-content),::view-transition-new(panel-content){animation-duration:.001ms}}}.cdash-recent-row:hover,.marker-card:hover,.inbox-task:hover{cursor:default}.cdash-recent-row a,.cdash-recent-row .cdash-recent-link,.marker-card a,.inbox-task button,.cmdp-item,.topbar-search{cursor:pointer}.loading-fallback{display:flex;align-items:center;justify-content:center;min-height:200px;padding:2rem}.loading-fallback--list{display:block;min-height:auto;padding:0}.loading-spinner{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:loading-spin .7s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.page-transition-shell{min-height:100%;animation:page-fade-in .18s ease-out both}@keyframes page-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.page-transition-shell{animation:none}}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:2rem;text-align:center;gap:.75rem}.error-page-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--color-error-soft);color:var(--color-error);margin-bottom:.5rem}.error-page-title{font-family:var(--font-heading, var(--font-ui));font-size:1.375rem;font-weight:600;letter-spacing:-.015em;color:var(--text-primary);margin:0}.error-page-detail{font-family:var(--font-data);font-size:12px;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-sm, 4px);padding:8px 12px;max-width:520px;overflow-x:auto;margin:.5rem 0 1rem;white-space:pre-wrap;text-align:left}.error-page-actions{display:flex;gap:.5rem;margin-top:.5rem}.error-page-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:var(--radius-md, 8px);font-family:var(--font-ui);font-size:var(--text-sm, .875rem);font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform .12s ease}.error-page-btn--primary{background:var(--accent);color:var(--text-on-color);border:1px solid var(--accent)}.error-page-btn--primary:hover{background:var(--theme-light)}.error-page-btn--secondary{background:transparent;color:var(--text-primary);border:1px solid var(--line-strong)}.error-page-btn--secondary:hover{border-color:var(--accent);color:var(--accent)}.error-page-btn:active{transform:scale(.98)}.progress-container{width:100%;height:8px;background:#0000000f;border-radius:4px;overflow:hidden}[data-theme=dark] .progress-container{background:#ffffff14}.progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--theme),var(--theme-light));transition:width .4s ease}.progress-ring-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.progress-ring-label{position:absolute;font-family:var(--font-ui);font-weight:600;font-size:1.5rem;color:var(--text-primary, #1a1a1a)}[data-theme=dark] .progress-ring-label{color:var(--text-primary, #e8e6e3)}.skeleton{background:linear-gradient(90deg,var(--bg-secondary, #f3f0eb) 25%,var(--bg-primary, #faf8f5) 50%,var(--bg-secondary, #f3f0eb) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:6px}.skeleton--text{height:1em;width:80%;margin-bottom:.5rem}.skeleton--circle{border-radius:50%}.skeleton--card{height:120px;border-radius:12px}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#1a2230cc 25%,#242e3ccc,#1a2230cc 75%);background-size:200% 100%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-text{color:var(--text-muted, #736e69);font-style:italic}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-xs{gap:var(--space-xs, .375rem)}.gap-sm{gap:var(--space-sm, .5rem)}.gap-md{gap:var(--space-md, .75rem)}.gap-lg{gap:var(--space-lg, 1rem)}.gap-xl{gap:var(--space-xl, 1.5rem)}.gap-2xl{gap:var(--space-2xl, 2rem)}.grid-auto-fit-sm{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-lg, 1rem)}.grid-auto-fit-md{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-xl, 1.5rem)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm, .8125rem)}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mb-md{margin-bottom:var(--space-md, .75rem)}.mb-lg{margin-bottom:var(--space-lg, 1rem)}.p-0{padding:0}.py-xl{padding-top:var(--space-xl, 1.5rem);padding-bottom:var(--space-xl, 1.5rem)}.border-left-theme{border-left:3px solid var(--theme, #5eb5e0)}.border-left-success{border-left:3px solid var(--color-success, #22c55e)}.border-left-warning{border-left:3px solid var(--color-warning, #f59e0b)}.border-left-danger{border-left:3px solid var(--color-error, #ef4444)}.w-full{width:100%}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.4}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-error-soft);color:var(--color-error)}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border:1px solid var(--border, rgba(0,0,0,.1));border-radius:999px;background:transparent;color:var(--text-secondary, #736e69);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.pill:hover{border-color:var(--theme, #5eb5e0);color:var(--theme, #5eb5e0);background:#5eb5e00a}.pill--active{border-color:var(--theme, #5eb5e0);color:var(--theme, #5eb5e0);background:#5eb5e014;font-weight:600}[data-theme=dark] .pill{border-color:#ffffff1a}[data-theme=dark] .pill:hover{background:#5eb5e014}[data-theme=dark] .pill--active{background:#5eb5e01f}.exam-data-table{width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.875rem}.exam-data-table td{padding:.25rem .5rem .25rem 0;border:none}.exam-data-table td:first-child{white-space:nowrap;width:1%}.exam-data-table th{padding:.35rem .5rem .35rem 0;text-align:left;font-weight:600;font-size:.8125rem;border-bottom:1px solid rgba(0,0,0,.08)}[data-theme=dark] .exam-data-table th{border-bottom-color:#ffffff1a}.exam-data-table input{width:100%;min-width:60px}.import-dropzone{border:2px dashed rgba(0,0,0,.15);border-radius:10px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:1rem}.import-dropzone:hover,.import-dropzone--active{border-color:var(--theme, #5eb5e0);background:#5eb5e00a}[data-theme=dark] .import-dropzone{border-color:#ffffff1f}[data-theme=dark] .import-dropzone:hover,[data-theme=dark] .import-dropzone--active{border-color:var(--theme, #5eb5e0);background:#5eb5e014}.import-dropzone p{color:var(--text-muted, #736e69);margin:0 0 .5rem}.import-meta{display:flex;gap:1rem;margin-bottom:1rem}.import-results{margin-top:1rem}.error-text{color:var(--color-error, #ef4444);font-size:.875rem}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--text-muted, #736e69);padding:.2rem .4rem}.btn-icon:hover{color:var(--color-error, #ef4444)}.upload-dropzone{border:2px dashed rgba(0,0,0,.15);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.upload-dropzone:hover,.upload-dropzone--active{border-color:var(--theme, #5eb5e0);background:#5eb5e00a}.upload-dropzone--has-file{border-style:solid;border-color:var(--color-success, #22c55e);background:#22c55e0a}[data-theme=dark] .upload-dropzone{border-color:#ffffff1f}[data-theme=dark] .upload-dropzone:hover,[data-theme=dark] .upload-dropzone--active{border-color:var(--theme, #5eb5e0);background:#5eb5e00f}[data-theme=dark] .upload-dropzone--has-file{border-color:var(--color-success, #22c55e);background:#22c55e0f}.calls-layout{display:grid;grid-template-columns:340px 1fr;gap:1.25rem;min-height:500px}.calls-sidebar,.calls-main{background:var(--card-bg, #fff);border:1px solid var(--border, rgba(0,0,0,.08));border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #0000000a}[data-theme=dark] .calls-sidebar,[data-theme=dark] .calls-main{border-color:#ffffff0f;background:var(--card-bg, #141b24);box-shadow:0 4px 24px #0000004d}.calls-section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #736e69);padding:.875rem 1rem .5rem;margin:0}.calls-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.calls-page-title{display:flex;flex-direction:column;gap:.25rem}.calls-page-title p{margin:0;max-width:42rem;color:var(--text-secondary, #736e69);font-size:.92rem;line-height:1.5}.calls-filter-bar{display:flex;gap:.25rem;padding:.5rem .75rem;border-bottom:1px solid var(--border, rgba(0,0,0,.06))}.calls-filter-btn{padding:.35rem .75rem;border:none;border-radius:20px;background:transparent;color:var(--text-secondary, #736e69);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.calls-filter-btn:hover{background:var(--hover-bg, rgba(94,181,224,.08));color:var(--text-primary)}.calls-filter-btn--active{background:var(--theme, #5eb5e0);color:var(--text-on-color)}.calls-filter-btn--active:hover{background:var(--theme, #5eb5e0);color:var(--text-on-color);opacity:1}[data-theme=dark] .calls-filter-btn:hover{background:#ffffff0f}[data-theme=dark] .calls-filter-btn--active{background:var(--theme, #5eb5e0);color:var(--text-on-color)}.calls-callback-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border, rgba(0,0,0,.1));background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s;margin-left:.5rem}.calls-callback-btn:hover{background:var(--color-success, #4ade80);border-color:var(--color-success, #4ade80);color:var(--text-on-color);transform:scale(1.1)}.calls-search-box{position:relative;padding:.5rem .75rem;border-bottom:1px solid var(--border, rgba(0,0,0,.06))}.calls-search-icon{position:absolute;left:1.15rem;top:50%;transform:translateY(-50%);color:var(--text-muted, #999);pointer-events:none}.calls-search-input{width:100%;padding:.45rem .6rem .45rem 1.75rem;border:1px solid var(--border, rgba(0,0,0,.1));border-radius:8px;background:var(--input-bg, #fff);color:var(--text-primary);font-size:.8rem;outline:none;transition:border-color .2s}.calls-search-input::placeholder{color:var(--text-muted, #999)}.calls-search-input:focus{border-color:var(--theme, #5eb5e0)}[data-theme=dark] .calls-search-input{background:#ffffff0a;border-color:#ffffff1a}[data-theme=dark] .calls-search-input:focus{border-color:var(--theme, #5eb5e0)}.calls-contact-list{display:flex;flex-direction:column}.calls-empty-inline{padding:1rem}.calls-empty-inline .empty-state{background:transparent;border:0;box-shadow:none;padding:1.5rem 1rem}.calls-empty-inline--compact .empty-state{padding:1rem}.calls-contact-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border, rgba(0,0,0,.04));transition:background .15s}.calls-contact-item:hover{background:var(--hover-bg, rgba(94,181,224,.06))}[data-theme=dark] .calls-contact-item:hover{background:#ffffff0a}.calls-contact-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--theme, #5eb5e0) 0%,var(--theme-light, #8ad1f0) 100%);color:var(--text-on-color);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;letter-spacing:.02em}.calls-contact-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.calls-contact-name{font-weight:600;font-size:.875rem;color:var(--text-primary)}.calls-contact-role{font-size:.72rem;color:var(--text-secondary, #736e69)}.calls-contact-actions{display:flex;gap:.5rem;flex-shrink:0}.calls-action-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border, rgba(0,0,0,.1));background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.calls-action-btn:hover:not(:disabled){transform:scale(1.1)}.calls-action-btn:disabled{opacity:.65;cursor:not-allowed}.calls-action-btn--audio:hover:not(:disabled){background:var(--color-success, #4ade80);border-color:var(--color-success, #4ade80);color:var(--text-on-color)}.calls-action-btn--video:hover:not(:disabled){background:var(--theme, #5eb5e0);border-color:var(--theme, #5eb5e0);color:var(--text-on-color)}.calls-history-list{display:flex;flex-direction:column}.calls-history-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border, rgba(0,0,0,.04))}.calls-history-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--bg-hover, rgba(0,0,0,.03));display:flex;align-items:center;justify-content:center}[data-theme=dark] .calls-history-icon{background:#ffffff0f}.calls-history-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.calls-history-name{font-weight:600;font-size:.875rem;color:var(--text-primary)}.calls-history-meta{font-size:.75rem;color:var(--text-secondary, #736e69)}.calls-history-right{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;flex-shrink:0}.calls-history-type{color:var(--text-secondary)}.calls-history-date{font-size:.7rem;color:var(--text-muted, #736e69)}.calls-room-section{height:calc(100vh - 140px);min-height:400px}.calls-room-container{height:100%;border-radius:16px;overflow:hidden;background:#000}.calls-room-container [data-lk-theme=default]{--lk-bg: #0a0a0a}.calls-audio-view{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.calls-audio-indicator{display:flex;flex-direction:column;align-items:center}.calls-audio-pulse{width:80px;height:80px;border-radius:50%;background:var(--theme, #5eb5e0);animation:audio-pulse 2s ease-in-out infinite}@keyframes audio-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.15);opacity:1}}.calls-incoming-overlay{position:fixed;inset:0;z-index:9999;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:fade-in .3s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.calls-incoming-modal{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2.5rem;text-align:center;position:relative}.calls-incoming-pulse-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);width:120px;height:120px;border-radius:50%;border:2px solid var(--theme, #5eb5e0);animation:ring-pulse 1.5s ease-out infinite}@keyframes ring-pulse{0%{transform:translate(-50%,-60%) scale(1);opacity:.6}to{transform:translate(-50%,-60%) scale(2);opacity:0}}.calls-incoming-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--theme, #5eb5e0) 0%,var(--theme-light, #8ad1f0) 100%);color:var(--text-on-color);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;z-index:1}.calls-incoming-name{color:var(--text-on-color);font-size:1.25rem;font-weight:600;margin:0}.calls-incoming-type{color:#fff;font-size:.875rem;display:flex;align-items:center;gap:.4rem;margin:0}.calls-incoming-actions{display:flex;gap:2rem;margin-top:1rem}.calls-incoming-btn{width:60px;height:60px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,box-shadow .2s;color:var(--text-on-color)}.calls-incoming-btn:hover{transform:scale(1.1)}.calls-incoming-btn--accept{background:var(--color-success, #4ade80);box-shadow:0 4px 20px #4ade8066}.calls-incoming-btn--reject{background:var(--color-error, #ff7070);box-shadow:0 4px 20px #ff707066}.calls-settings-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border:1px solid var(--border, rgba(0,0,0,.1));border-radius:8px;background:var(--card-bg, #fff);color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.calls-settings-toggle:hover{border-color:var(--theme, #5eb5e0);color:var(--theme, #5eb5e0)}[data-theme=dark] .calls-settings-toggle{background:var(--card-bg, #141b24);border-color:#ffffff1a}.calls-settings-panel{background:var(--card-bg, #fff);border:1px solid var(--border, rgba(0,0,0,.08));border-radius:12px;padding:1rem;box-shadow:0 2px 12px #0000000f;margin-bottom:1rem}[data-theme=dark] .calls-settings-panel{background:var(--card-bg, #141b24);border-color:#ffffff0f;box-shadow:0 4px 24px #0000004d}.calls-settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.calls-settings-title{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--text-primary);margin:0}.calls-settings-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.calls-settings-close:hover{background:var(--hover-bg, rgba(0,0,0,.05));color:var(--text-primary)}.calls-settings-error{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-radius:8px;background:#ef444414;color:var(--color-error, #ef4444);font-size:.78rem;margin-bottom:.75rem}.calls-settings-status{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-radius:8px;background:#4ade8014;color:var(--color-success, #4ade80);font-size:.78rem;margin-bottom:.75rem}.calls-settings-group{margin-bottom:.75rem}.calls-settings-group:last-child{margin-bottom:0}.calls-settings-label{display:flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:.35rem}.calls-settings-select{width:100%;padding:.4rem .6rem;border:1px solid var(--border, rgba(0,0,0,.1));border-radius:8px;background:var(--input-bg, #fff);color:var(--text-primary);font-size:.8rem;outline:none;transition:border-color .2s;margin-bottom:.4rem}.calls-settings-select:focus{border-color:var(--theme, #5eb5e0)}[data-theme=dark] .calls-settings-select{background:#ffffff0a;border-color:#ffffff1a}.calls-settings-preview-btn{display:inline-block;padding:.3rem .7rem;border:1px solid var(--border, rgba(0,0,0,.1));border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s;margin-bottom:.5rem}.calls-settings-preview-btn:hover{border-color:var(--theme, #5eb5e0);color:var(--theme, #5eb5e0)}.calls-mic-meter{height:6px;border-radius:3px;background:var(--border, rgba(0,0,0,.06));overflow:hidden}.calls-mic-meter-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--color-success, #4ade80) 0%,var(--theme, #5eb5e0) 100%);transition:width .1s ease-out}[data-theme=dark] .calls-mic-meter{background:#ffffff14}.calls-camera-preview{width:100%;max-width:320px;border-radius:10px;background:#000;aspect-ratio:4 / 3;object-fit:cover}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.calls-layout{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;z-index:9999;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in .2s ease}.modal-content{background:var(--card-bg, #fff);border:1px solid var(--border, rgba(0,0,0,.08));border-radius:16px;padding:1.5rem;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 40px #00000026}[data-theme=dark] .modal-content{background:var(--card-bg, #141b24);border-color:#ffffff14;box-shadow:0 8px 40px #00000080}@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr}}@media(max-width:768px){.card{padding:16px}.patients-table-wrap{overflow-x:visible}.patients-table thead{display:none}.patients-table tbody{display:flex;flex-direction:column;gap:0}.patients-table tr{display:flex;flex-direction:column;background:var(--bg-surface);border:none;border-bottom:1px solid var(--line);border-radius:0;padding:16px;gap:4px}.patients-table tr:hover{background:var(--bg-hover);transform:none}.patients-table td{display:flex;align-items:baseline;gap:8px;padding:4px 0;border-bottom:none;font-size:15px}.patients-table td:before{content:attr(data-label);font-family:var(--font-data);font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);min-width:72px;flex-shrink:0}.patients-table td[data-label=Actions]{padding-top:8px;margin-top:4px;border-top:1px solid var(--line)}.patients-table td[data-label=Actions]:before{display:none}.patients-table td[data-label=Actions] .patients-actions{width:100%;justify-content:flex-start;gap:6px}.patients-actions a,.patients-actions button{font-size:11px;padding:5px 10px}input,select,textarea{max-width:100%;width:100%;font-size:.875rem}button[type=submit]{padding:.75rem 1.5rem;font-size:.75rem;width:100%}form{gap:1rem}.patients-table td>*{overflow-wrap:break-word;word-break:break-word;min-width:0}.patients-table td input,.patients-table td select{flex:1;min-width:0;max-width:100%;font-size:.8125rem;padding:.5rem .625rem}.patients-actions select{max-width:120px;font-size:.6875rem;padding:.375rem .5rem}.patients-table td{overflow-wrap:break-word;word-break:break-word;min-width:0}.dashboard-stat-value{font-size:1.75rem}section>h2{font-size:1.25rem}.patient-card-grid{grid-template-columns:1fr}.patient-card{padding:1.25rem}.patient-form,.notes-form,.patients-filters,.users-toolbar{grid-template-columns:1fr}.stats-toolbar,.agenda-toolbar{flex-direction:column;align-items:flex-start}.patient-back-bar{margin-top:-20px;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.patient-detail-header{flex-direction:column;align-items:flex-start;gap:12px;margin-left:-16px;margin-right:-16px;padding:16px}.patient-detail-name{white-space:normal;overflow-wrap:break-word}.patient-detail-sub{overflow-wrap:break-word;word-break:break-all}.patient-detail-actions{width:100%;flex-wrap:wrap}.patient-detail-actions .btn{flex:1;justify-content:center;min-width:0}.patient-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.5rem;padding-bottom:1rem;margin-left:-16px;margin-right:-16px;margin-bottom:20px;padding-left:4px}.patient-tabs::-webkit-scrollbar{display:none}.patient-tabs button{flex-shrink:0;font-size:.8125rem;padding:.625rem .875rem}.patient-tab-panel{padding-bottom:20px;margin-bottom:20px}.patient-history-section{padding-top:20px}.patients-pagination{flex-direction:column;gap:.75rem;text-align:center}.stats-trend-row{grid-template-columns:1fr}}@media(max-width:480px){.patients-table td:before{min-width:70px;font-size:.625rem}.card{padding:12px}}.app-grid,.main-area,.panel-content,.site-shell{background:transparent}.sidebar{background:var(--glass-bg-deep);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--glass-border);box-shadow:var(--glass-inset)}.sidebar-logo{border-bottom:1px solid var(--glass-border)}.sidebar-footer{border-top:1px solid var(--glass-border)}.logo-square{background:linear-gradient(135deg,var(--accent),var(--theme-light));color:#1a1530;box-shadow:0 4px 12px -2px var(--accent-glow)}.nav-item.active{background:var(--bg-active);color:var(--accent);border-left:none;padding-left:20px;position:relative}.nav-item.active:before{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.sidebar-avatar{background:linear-gradient(135deg,#d4b87a40,#c4a7d42e);border:1px solid var(--glass-border);color:var(--accent)}[data-theme=light] .sidebar-avatar{background:linear-gradient(135deg,#a0864833,#8c6ea82e)}.topbar{background:var(--glass-bg-deep);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:40}.topbar-search{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-sm)}.topbar-search:hover{background:var(--glass-bg-strong);border-color:var(--glass-border-strong)}.topbar-search-kbd kbd{background:var(--glass-bg-strong);border:1px solid var(--glass-border)}.card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow),var(--glass-inset);transition:background var(--transition-base),border-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.card:hover{background:var(--glass-bg-strong);border-color:var(--glass-border-strong);transform:translateY(-2px);box-shadow:0 22px 44px -16px #0806148c,var(--glass-inset)}[data-theme=light] .card:hover{box-shadow:0 22px 44px -16px #28143c38,var(--glass-inset)}.stats-row,.dashboard-kpi-row,.content-row,.dashboard-charts-row,.dashboard-middle-row,.dashboard-lower-row{margin:0 0 var(--panel-pad) 0;border-bottom:none;gap:var(--space-lg)}.dashboard-v2>.panel{margin:0}.stat-cell,.dashboard-stat-card,.panel,.dashboard-widget{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-right:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow),var(--glass-inset);transition:background var(--transition-base),border-color var(--transition-base)}.stat-cell:last-child,.dashboard-stat-card:last-child,.panel:last-child,.dashboard-widget:last-child{border-right:1px solid var(--glass-border)}.stat-cell:hover,.dashboard-stat-card:hover,.panel:hover,.dashboard-widget:hover{background:var(--glass-bg-strong);border-color:var(--glass-border-strong)}.dashboard-widget-header h3:after{background:var(--glass-border)}.stat-indicator{background:var(--glass-border)}.dashboard-count-badge{background:var(--accent-dim);color:var(--accent);border:1px solid var(--glass-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dashboard-count-badge--red{background:var(--red-dim);color:var(--red);border-color:var(--glass-border)}.dashboard-quick-btn{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-sm)}.dashboard-quick-btn:hover{background:var(--glass-bg-strong);border-color:var(--accent);color:var(--accent)}input,select,textarea{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-sm)}input:hover,select:hover,textarea:hover{background:var(--glass-bg-strong);border-color:var(--glass-border-strong)}input:focus,select:focus,textarea:focus{background:var(--glass-bg-strong);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input:disabled,select:disabled,textarea:disabled{background:var(--glass-bg);opacity:.55}input[type=file]::file-selector-button{background:var(--glass-bg-strong);border:1px solid var(--glass-border)}button[type=submit],.auth-content .btn-primary,.btn-primary{background:linear-gradient(135deg,var(--accent),var(--theme-light));color:#1a1530;border:1px solid var(--accent);box-shadow:0 6px 16px -4px var(--accent-glow)}[data-theme=light] button[type=submit],[data-theme=light] .auth-content .btn-primary,[data-theme=light] .btn-primary{color:#fff}button[type=submit]:hover:not(:disabled),.auth-content .btn-primary:hover,.btn-primary:hover{background:linear-gradient(135deg,var(--theme-light),var(--accent));border-color:var(--theme-light);box-shadow:0 10px 22px -6px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.btn-secondary:hover:not(:disabled){background:var(--glass-bg-strong);border-color:var(--accent);color:var(--accent)}.btn-danger{background:var(--red-dim);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--red);border:1px solid var(--glass-border)}.btn-danger:hover:not(:disabled){background:var(--red);color:var(--text-on-color);border-color:var(--red)}.tag{background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border)}.tag:hover{background:var(--glass-bg-strong);border-color:var(--accent);color:var(--accent)}.modal-overlay,[role=dialog]+[data-overlay],[data-overlay]{background:var(--backdrop-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-card,[role=dialog]{background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal),var(--glass-inset)}.page-title,.panel-content h2,.dashboard-welcome h2,.modal-card h2,.modal-card h3:first-of-type,[role=dialog] h2{font-family:var(--font-heading);font-weight:400;letter-spacing:-.005em;font-size:2rem;line-height:1.05}.dashboard-welcome h2{font-size:1.875rem}.dashboard-welcome h2 em,.panel-content h2 em,.page-title em{font-style:italic;color:var(--accent);font-weight:400}.stat-value,.dashboard-stat-value{font-family:var(--font-heading);font-weight:400;font-size:3rem;letter-spacing:-.02em;line-height:1}[data-theme=light] .stat-value.alert,.stat-value.alert{color:var(--accent)}table thead th{border-bottom-color:var(--glass-border-strong)}table tbody td{border-bottom-color:var(--glass-border)}table tbody tr:hover td{background:var(--glass-bg)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-border-strong);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--accent-dim)}.theme-toggle{background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border)}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle-slider{background:var(--accent);border-radius:50%;width:16px;height:16px;top:4px;left:4px}.language-switcher,.sidebar-icon-btn{background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border)}.sidebar-icon-btn:hover{background:var(--glass-bg-strong);border-color:var(--accent);color:var(--accent)}@media(max-width:640px){.stats-row,.dashboard-kpi-row,.content-row,.dashboard-charts-row,.dashboard-middle-row,.dashboard-lower-row{grid-template-columns:1fr;gap:var(--space-md)}.card,.panel,.dashboard-widget,.stat-cell,.dashboard-stat-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}.skeleton-card{display:flex;flex-direction:column;gap:10px;padding:var(--space-lg);background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius-md, 8px)}.skeleton-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.skeleton-card-foot{display:flex;flex-direction:column;gap:6px;margin-top:8px}.skeleton-list{display:flex;flex-direction:column;gap:var(--space-sm)}.skeleton-list-row{display:flex;align-items:center;gap:var(--space-md);padding:12px;background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius-md, 8px)}.skeleton-list-row-body{flex:1;display:flex;flex-direction:column;gap:6px}:root{--bg-primary: #faf8f5;--bg-secondary: #f3f0eb;--bg-dark: #1a1a1a;--text-primary: #1a1a1a;--text-secondary: #666;--text-muted: #999;--text-light: #faf8f5;--accent: #c4a882;--border: rgba(26, 26, 26, .08);--theme: #5eb5e0;--theme-light: #8ad1f0;--logo-color: #5eb5e0;--logo-color-light: #8ad1f0;--hover-bg: rgba(26, 26, 26, .05);--footer-text: rgba(255, 255, 255, .7);--footer-text-muted: rgba(255, 255, 255, .4);--card-shadow: 0 8px 32px rgba(0, 0, 0, .08);--glow: rgba(94, 181, 224, .15)}[data-theme=dark]{--bg-primary: #0a0f14;--bg-secondary: #111820;--bg-dark: #060a0e;--text-primary: #e8e6e3;--text-secondary: #a8a29e;--text-muted: #6b6662;--text-light: #f5f3f0;--accent: #d4a574;--border: rgba(232, 230, 227, .08);--theme: #6bc5e8;--theme-light: #8dd4f0;--hover-bg: rgba(107, 197, 232, .12);--footer-text: rgba(232, 230, 227, .75);--footer-text-muted: rgba(232, 230, 227, .45);--card-shadow: 0 8px 32px rgba(0, 0, 0, .35);--glow: rgba(107, 197, 232, .15)}html{scroll-behavior:smooth}body.public-page{font-family:DM Sans,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.7;overflow-x:hidden;transition:background-color .5s ease,color .3s ease}body.public-page:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse 80% 60% at 10% 0%,rgba(94,181,224,.04) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 90% 80%,rgba(196,168,130,.03) 0%,transparent 55%);pointer-events:none;z-index:0}[data-theme=dark] body.public-page:before{background:radial-gradient(ellipse 80% 60% at 10% 0%,rgba(107,197,232,.03) 0%,transparent 55%),radial-gradient(ellipse 60% 50% at 90% 80%,rgba(212,165,116,.02) 0%,transparent 50%)}.public-page main{max-width:none;padding:0}.public-page-content{max-width:800px;margin:0 auto;padding:120px 50px 100px}.public-page-content h2{font-family:Outfit,sans-serif;font-size:1.75rem;font-weight:300;letter-spacing:.05em;color:var(--theme);margin-bottom:1.5rem}.public-page-content h3{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:500;color:var(--text-primary);margin:1.5rem 0 .5rem}.public-page-content p,.public-page-content li{color:var(--text-secondary);line-height:1.7}.public-page-content .card{margin-bottom:1.5rem;padding:1.5rem;background:var(--bg-secondary);border-radius:8px;border-left:3px solid var(--theme)}.home-nav{position:fixed;top:0;left:0;right:0;padding:25px 50px;display:flex;justify-content:space-between;align-items:center;z-index:100;background:var(--bg-primary);border-bottom:1px solid var(--border);transition:background-color .3s ease,border-color .3s ease}.home-nav .nav-logo{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--theme)}.home-nav .nav-logo svg{width:45px;height:45px}.home-nav .nav-logo-text{font-family:Outfit,sans-serif;font-size:1.4rem;font-weight:300;letter-spacing:.4em;text-transform:uppercase;color:var(--theme)}.home-nav .nav-links{display:flex;gap:40px;list-style:none;margin:0;padding:0;position:absolute;left:50%;transform:translate(-50%)}.home-nav .nav-links a{font-family:Outfit,sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;color:var(--text-secondary);transition:color .3s ease}.home-nav .nav-links a:hover,.home-nav .nav-links a.active{color:var(--theme)}.home-nav .nav-cta{font-family:Outfit,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;padding:12px 28px;background:var(--bg-dark);color:var(--text-light);text-decoration:none;transition:all .3s ease;border:1px solid transparent}[data-theme=dark] .home-nav .nav-cta{background:linear-gradient(135deg,var(--theme) 0%,rgba(107,197,232,.8) 100%);box-shadow:0 4px 16px #6bc5e833}.home-nav .nav-cta:hover{background:var(--hover-bg);transform:translateY(-2px)}[data-theme=dark] .home-nav .nav-cta:hover{box-shadow:0 6px 24px #6bc5e859;border-color:var(--theme)}.home-nav .nav-actions{display:flex;align-items:center;gap:15px}.nav-burger{display:none;width:38px;height:38px;min-width:38px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:none;border:1px solid var(--border);cursor:pointer;padding:0;transition:all .3s ease}.nav-burger span{display:block;width:18px;height:1.5px;background:var(--text-secondary);transition:all .3s ease;transform-origin:center}.nav-burger--open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-burger--open span:nth-child(2){opacity:0}.nav-burger--open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}[data-theme=dark] .nav-burger{border-color:#e8e6e31a}[data-theme=dark] .nav-burger span{background:var(--text-secondary)}.nav-drawer{position:fixed;inset:0;z-index:99;pointer-events:none;visibility:hidden}.nav-drawer--open{pointer-events:auto;visibility:visible}.nav-drawer-backdrop{position:absolute;inset:0;background:#0000;transition:background .3s ease}.nav-drawer--open .nav-drawer-backdrop{background:#0006}.nav-drawer-panel{position:absolute;top:0;right:0;width:min(320px,85vw);height:100%;background:var(--bg-primary);border-left:1px solid var(--border);padding:100px 30px 40px;display:flex;flex-direction:column;gap:30px;transform:translate(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto}[data-theme=dark] .nav-drawer-panel{background:var(--bg-primary);border-left-color:#e8e6e314}.nav-drawer--open .nav-drawer-panel{transform:translate(0)}.nav-drawer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.nav-drawer-links li a{display:block;padding:14px 0;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--text-secondary);border-bottom:1px solid var(--border);transition:color .2s}.nav-drawer-links li:first-child a{border-top:1px solid var(--border)}.nav-drawer-links li a:hover,.nav-drawer-links li a.active{color:var(--theme)}.nav-drawer-actions{display:flex;flex-direction:column;gap:10px}.nav-drawer-btn{display:block;text-align:center;padding:12px 20px;font-family:Outfit,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--text-secondary);background:none;border:1px solid var(--border);cursor:pointer;transition:all .2s}.nav-drawer-btn:hover{color:var(--theme);border-color:var(--theme)}.nav-drawer-btn--primary{background:var(--bg-dark);color:var(--text-light);border-color:transparent}[data-theme=dark] .nav-drawer-btn--primary{background:linear-gradient(135deg,var(--theme) 0%,rgba(107,197,232,.8) 100%)}.nav-drawer-btn--danger:hover{color:#c0392b;border-color:#c0392b4d}.nav-drawer-toggle-theme{display:flex;align-items:center;gap:10px;padding:10px 0;font-family:Outfit,sans-serif;font-size:.75rem;letter-spacing:.1em;color:var(--text-secondary);background:none;border:none;cursor:pointer;margin-top:auto}.home-nav .nav-cta-secondary,.home-nav .nav-cta-secondary-link{font-family:Outfit,sans-serif;font-size:.7rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:12px 0;text-decoration:none;transition:color .3s ease}.home-nav .nav-cta-secondary:hover,.home-nav .nav-cta-secondary-link:hover{color:var(--text-primary)}.home-nav .nav-icon-btn{width:38px;height:38px;min-width:38px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:none;border:1px solid var(--border);cursor:pointer;padding:0;text-decoration:none;transition:all .3s ease;flex-shrink:0}.home-nav .nav-icon-btn:hover{color:var(--theme);border-color:var(--theme);background:var(--hover-bg)}.home-nav .nav-icon-btn--logout:hover{color:#c0392b;border-color:#c0392b4d;background:#c0392b0d}[data-theme=dark] .home-nav .nav-icon-btn{border-color:#e8e6e31a}[data-theme=dark] .home-nav .nav-icon-btn:hover{border-color:var(--theme);background:#6bc5e81a}[data-theme=dark] .home-nav .nav-icon-btn--logout:hover{color:#e74c3c;border-color:#e74c3c4d;background:#e74c3c14}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:150px 50px 140px;position:relative}.hero-symbol{width:180px;height:180px;margin-bottom:50px;opacity:0;animation:homeFadeInUp 1s ease forwards}.hero-symbol svg{width:100%;height:100%;filter:drop-shadow(0 0 20px var(--glow))}[data-theme=dark] .hero-symbol svg{filter:drop-shadow(0 0 30px var(--glow)) drop-shadow(0 0 60px var(--glow))}.hero-title{font-family:Outfit,sans-serif;font-size:clamp(3rem,8vw,6rem);font-weight:200;letter-spacing:.5em;text-transform:uppercase;margin-left:.5em;margin-bottom:25px;color:var(--theme);opacity:0;animation:homeFadeInUp 1s ease .2s forwards}.hero-subtitle{font-family:"Noto Serif JP",serif;font-size:1.1rem;font-weight:300;letter-spacing:.3em;color:var(--text-secondary);margin-bottom:20px;opacity:0;animation:homeFadeInUp 1s ease .4s forwards}.hero-tagline{font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:60px;opacity:0;animation:homeFadeInUp 1s ease .6s forwards}.hero-cta{display:flex;gap:25px;flex-wrap:wrap;justify-content:center;opacity:0;animation:homeFadeInUp 1s ease .8s forwards}.btn-primary{font-family:Outfit,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:18px 45px;background:var(--bg-dark);color:var(--text-light);text-decoration:none;transition:all .4s ease;border:1px solid transparent;cursor:pointer;display:inline-block}[data-theme=dark] .btn-primary{background:linear-gradient(135deg,var(--theme) 0%,rgba(107,197,232,.9) 100%);box-shadow:0 8px 24px #6bc5e840}.btn-primary:hover{background:var(--hover-bg);transform:translateY(-3px);box-shadow:0 15px 40px #0000001a}[data-theme=dark] .btn-primary:hover{box-shadow:0 12px 32px #6bc5e866;border-color:var(--theme-light)}.btn-secondary{font-family:Outfit,sans-serif;font-size:.7rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;padding:18px 45px;background:transparent;color:var(--text-primary);text-decoration:none;border:1px solid var(--border);transition:all .4s ease;display:inline-block}[data-theme=dark] .btn-secondary{border-color:#6bc5e84d;color:var(--theme-light)}.btn-secondary:hover{background:var(--bg-dark);color:var(--text-light);border-color:var(--bg-dark)}[data-theme=dark] .btn-secondary:hover{background:#6bc5e826;border-color:var(--theme);box-shadow:0 8px 24px #6bc5e833}.hero-scroll{position:absolute;bottom:50px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:homeFadeInUp 1s ease 1s forwards}.hero-scroll span{font-family:Outfit,sans-serif;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-secondary)}.hero-scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--text-muted),transparent);animation:homeScrollPulse 2s ease infinite}@keyframes homeFadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes homeScrollPulse{0%,to{opacity:.3}50%{opacity:1}}.philosophy{padding:150px 50px;display:grid;grid-template-columns:1fr 1fr;gap:100px;max-width:1400px;margin:0 auto;align-items:center}.philosophy-content h2{font-family:Outfit,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--theme);margin-bottom:30px}.philosophy-content h3{font-family:Outfit,sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;line-height:1.3;margin-bottom:35px;color:var(--text-primary)}.philosophy-content p{font-size:1rem;color:var(--text-secondary);margin-bottom:20px;max-width:500px}.philosophy-visual{display:flex;justify-content:center;align-items:center}.philosophy-visual svg{width:350px;height:350px;opacity:1;filter:drop-shadow(0 0 30px var(--glow));transition:all .6s ease}[data-theme=dark] .philosophy-visual svg{opacity:1;filter:drop-shadow(0 0 40px var(--glow)) drop-shadow(0 0 80px rgba(107,197,232,.1))}.philosophy-visual svg:hover{transform:scale(1.05);opacity:1}.founder{padding:150px 50px;background:var(--bg-dark);color:var(--text-light);position:relative;overflow:hidden}[data-theme=dark] .founder{background:linear-gradient(135deg,var(--bg-dark) 0%,#151d28 50%,var(--bg-dark) 100%);box-shadow:inset 0 1px #6bc5e81a}.founder:before{content:"精";position:absolute;top:50%;right:10%;transform:translateY(-50%);font-family:"Noto Serif JP",serif;font-size:35vw;font-weight:300;color:var(--text-secondary);opacity:.02;pointer-events:none}.founder-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:100px;align-items:center;position:relative;z-index:1}.founder-image{aspect-ratio:3/4;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;transition:all .5s ease;overflow:hidden;border-radius:12px}[data-theme=dark] .founder-image{background:#fff}.founder-image img{width:100%;height:100%;object-fit:cover;object-position:center 40%;scale:1.15;translate:-5% 8%}.founder-image:hover{transform:translateY(-8px)}.founder-image:before{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--border);border-radius:12px}.founder-image-placeholder{font-family:Outfit,sans-serif;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-secondary)}.founder-content h2{font-family:Outfit,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--theme-light);margin-bottom:30px}.founder-content h3{font-family:Outfit,sans-serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:300;line-height:1.3;margin-bottom:15px}.founder-content .founder-title{font-family:DM Sans,sans-serif;font-size:.85rem;color:var(--accent);letter-spacing:.1em;margin-bottom:40px}.founder-content p{font-size:1rem;color:var(--footer-text);margin-bottom:20px;max-width:500px;line-height:1.8}.founder-credentials{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.founder-credentials span{padding:6px 14px;border:1px solid var(--border);border-radius:20px;font-size:.8rem;letter-spacing:.03em;color:var(--text-secondary)}.founder-link{display:inline-flex;align-items:center;gap:8px;margin-top:32px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:400;letter-spacing:.05em;color:var(--theme);text-decoration:none;transition:gap .3s ease}.founder-link:hover{gap:14px}.founder-signature{margin-top:24px;font-family:"Noto Serif JP",serif;font-size:1.5rem;font-style:italic;color:var(--footer-text-muted)}.services{padding:150px 50px;max-width:1600px;margin:0 auto}.services-header{text-align:center;margin-bottom:100px}.services-header h2{font-family:Outfit,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--theme);margin-bottom:25px}.services-header h3{font-family:Outfit,sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;color:var(--text-primary)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-card{padding:60px 45px;background:var(--bg-secondary);position:relative;transition:all .5s ease;overflow:hidden;border:1px solid var(--border)}[data-theme=dark] .service-card{background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(26,34,48,.6) 100%)}[data-theme=dark] .service-card:hover{box-shadow:var(--card-shadow),0 0 40px var(--glow);border-color:#6bc5e833}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--bg-dark);transform:scaleX(0);transform-origin:left;transition:transform .5s ease}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{transform:translateY(-10px);box-shadow:0 30px 60px #00000014}.service-number{font-family:Outfit,sans-serif;font-size:.65rem;font-weight:400;letter-spacing:.2em;color:var(--text-secondary);margin-bottom:35px}.service-icon{width:60px;height:60px;margin-bottom:35px}.service-icon svg{width:100%;height:100%}.service-card h4{font-family:Outfit,sans-serif;font-size:1.3rem;font-weight:400;margin-bottom:20px;color:var(--theme)}.service-card p{font-size:.9rem;color:var(--text-secondary);margin-bottom:30px;line-height:1.7}.service-features{list-style:none;margin:0 0 35px;padding:0}.service-features li{font-size:.8rem;color:var(--text-secondary);padding:8px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.service-features li:before{content:"";width:4px;height:4px;background:var(--text-primary);border-radius:50%}.service-link{font-family:Outfit,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-primary);text-decoration:none;display:inline-flex;align-items:center;gap:10px;transition:gap .3s ease}.service-link:hover{gap:15px}.service-link svg{width:16px;height:16px}.pillars{padding:150px 50px;background:var(--bg-secondary)}.pillars-inner{max-width:1400px;margin:0 auto}.pillars-header{text-align:center;margin-bottom:100px}.pillars-header h2{font-family:Outfit,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--theme);margin-bottom:25px}.pillars-header h3{font-family:Outfit,sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;color:var(--text-primary)}.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.pillar{padding:80px 50px;text-align:center;border-right:1px solid var(--border);transition:all .5s ease}.pillar:last-child{border-right:none}.pillar:hover{background:var(--bg-primary)}.pillar-icon{width:80px;height:80px;margin:0 auto 40px}.pillar-icon svg{width:100%;height:100%}.pillar h4{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;margin-bottom:20px;color:var(--theme)}.pillar p{font-size:.9rem;color:var(--text-secondary);max-width:280px;margin:0 auto}.home-cta{padding:200px 50px;text-align:center;position:relative}.home-cta .cta-content{max-width:700px;margin:0 auto}.home-cta h2{font-family:Outfit,sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:300;line-height:1.3;margin-bottom:30px;color:var(--theme)}.home-cta p{font-size:1rem;color:var(--text-secondary);margin-bottom:50px}.home-footer{padding:80px 50px 40px;background:var(--bg-dark);color:var(--text-light);position:relative}[data-theme=dark] .home-footer{background:linear-gradient(180deg,var(--bg-dark) 0%,#000 100%);border-top:1px solid rgba(107,197,232,.1)}.home-footer .footer-inner{max-width:1400px;margin:0 auto}.home-footer .footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:80px;padding-bottom:80px;border-bottom:1px solid var(--border)}.home-footer .footer-brand .footer-logo{display:flex;align-items:center;gap:15px;margin-bottom:25px}.home-footer .footer-brand .footer-logo svg{width:40px;height:40px;transition:all .4s ease}[data-theme=dark] .home-footer .footer-brand .footer-logo svg{filter:drop-shadow(0 0 20px var(--glow))}.home-footer .footer-brand .footer-logo:hover svg{transform:scale(1.1);filter:drop-shadow(0 0 30px var(--glow))}.home-footer .footer-brand .footer-logo span{font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:300;letter-spacing:.4em;text-transform:uppercase;color:var(--theme-light)}.home-footer .footer-brand p{font-size:.85rem;color:var(--footer-text);max-width:300px;line-height:1.7}.home-footer .footer-col h5{font-family:Outfit,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin-bottom:25px;color:var(--footer-text-muted)}.home-footer .footer-col ul{list-style:none;margin:0;padding:0}.home-footer .footer-col ul li{margin-bottom:12px}.home-footer .footer-col ul li a{font-size:.85rem;color:var(--footer-text);text-decoration:none;transition:color .3s ease}.home-footer .footer-col ul li a:hover{color:var(--text-light)}.home-footer .footer-col ul li span{font-size:.85rem;color:var(--footer-text)}.home-footer .footer-bottom{padding-top:40px;display:flex;justify-content:space-between;align-items:center}.home-footer .footer-bottom p{font-size:.75rem;color:var(--footer-text-muted)}.home-footer .footer-social{display:flex;gap:20px}.home-footer .footer-social a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);color:var(--footer-text);text-decoration:none;transition:all .3s ease}.home-footer .footer-social a:hover{background:var(--hover-bg);color:var(--text-light)}.home-footer .dark-mode-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:transparent;color:var(--footer-text);cursor:pointer;transition:all .3s ease;padding:0;font-size:0;border-radius:4px}[data-theme=dark] .home-footer .dark-mode-toggle{border-color:#6bc5e833}.home-footer .dark-mode-toggle:hover{background:var(--hover-bg);color:var(--text-light);transform:scale(1.1)}[data-theme=dark] .home-footer .dark-mode-toggle:hover{background:#6bc5e826;border-color:var(--theme);box-shadow:0 4px 16px #6bc5e833}.home-footer .dark-mode-toggle svg{width:18px;height:18px}@media(max-width:960px){.public-page-content{padding:110px 30px 70px}}@media(max-width:1100px){.home-nav{padding:20px 30px}.home-nav .nav-links{gap:24px}.home-nav .nav-actions{gap:10px}.home-nav .nav-cta{padding:10px 20px}}@media(max-width:960px){.home-nav .nav-links,.home-nav .nav-actions-desktop{display:none}.nav-burger{display:flex}.home-nav{padding:18px 25px}.hero{padding:130px 30px 80px}.hero-symbol{width:140px;height:140px}.philosophy{padding:80px 30px}.founder-inner{grid-template-columns:1fr;gap:50px}.services{padding:80px 30px}.services-grid{grid-template-columns:repeat(2,1fr)}.pillars{padding:80px 30px}.pillars-grid{grid-template-columns:1fr;gap:40px}.pillar{border-right:none;border-bottom:1px solid var(--border)}.pillar:last-child{border-bottom:none}.home-cta{padding:80px 30px}.home-footer{padding:60px 30px 30px}.home-footer .footer-top{grid-template-columns:1fr 1fr;gap:40px}}@media(max-width:640px){.home-nav{padding:16px 20px}.home-nav .nav-logo svg{width:36px;height:36px}.home-nav .nav-logo-text{font-size:1.15rem;letter-spacing:.3em}.home-nav .nav-logo{gap:10px}.hero{padding:110px 20px 60px}.hero-symbol{width:100px;height:100px;margin-bottom:30px}.philosophy{grid-template-columns:1fr;gap:50px;padding:70px 20px}.philosophy-visual{order:-1}.services{padding:70px 20px}.services-grid{grid-template-columns:1fr}.pillars,.home-cta{padding:70px 20px}.home-footer{padding:50px 20px 25px}.home-footer .footer-top{grid-template-columns:1fr;gap:30px}.home-footer .footer-bottom{flex-direction:column;gap:16px;text-align:center}.public-page-content{padding:100px 20px 60px}}@media(max-height:700px){.hero-scroll{display:none}}.advisor-fab{position:fixed;bottom:24px;right:24px;z-index:1000;width:52px;height:52px;border-radius:50%;border:1px solid var(--accent-dim);background:var(--bg-surface);color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000004d;transition:background .2s,transform .2s,border-color .2s}.advisor-fab:hover{background:var(--bg-hover);border-color:var(--accent);transform:scale(1.05)}.advisor-fab--active{background:var(--accent-dim)}.advisor-panel{position:fixed;bottom:88px;right:24px;z-index:999;width:400px;max-width:calc(100vw - 48px);height:70vh;max-height:600px;border-radius:12px;border:1px solid var(--border);background:var(--bg-surface);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 40px #0006;animation:advisor-slide-up .2s ease-out}@keyframes advisor-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.advisor-panel-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.advisor-panel-title{flex:1;font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advisor-back-btn,.advisor-close-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:background .15s,color .15s}.advisor-back-btn:hover,.advisor-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.advisor-panel-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.advisor-conv-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.advisor-conv-new{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px!important;border-radius:8px!important;border:1px dashed var(--border-medium)!important;background:transparent!important;color:var(--accent)!important;font-size:.8125rem!important;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;text-transform:none!important;letter-spacing:normal!important}.advisor-conv-new:hover{background:var(--accent-dim);border-color:var(--accent)}.advisor-conv-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--text-secondary);font-size:.8125rem}.advisor-conv-item{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--card-bg);cursor:pointer;transition:background .15s,border-color .15s}.advisor-conv-item:hover{background:var(--bg-hover);border-color:var(--border-medium)}.advisor-conv-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.advisor-conv-title{font-size:.8125rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.advisor-conv-delete{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;border-radius:4px;opacity:0;transition:opacity .15s,color .15s}.advisor-conv-item:hover .advisor-conv-delete{opacity:1}.advisor-conv-delete:hover{color:var(--red)}.advisor-conv-meta{display:flex;gap:12px;font-size:.6875rem;color:var(--text-secondary);margin-top:4px}.advisor-conv-preview{font-size:.75rem;color:var(--text-secondary);margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advisor-chat{display:flex;flex-direction:column;height:100%}.advisor-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.advisor-welcome{text-align:center;padding:24px 16px;color:var(--text-secondary);font-size:.8125rem;line-height:1.5}.advisor-welcome strong{color:var(--accent);font-size:.9375rem}.advisor-welcome-hint{margin-top:8px;font-size:.75rem;color:var(--text-secondary)}.advisor-bubble{max-width:85%;padding:8px 12px;border-radius:10px;font-size:.8125rem;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.advisor-bubble--user{align-self:flex-end;background:var(--accent-dim);color:var(--text-primary);border-bottom-right-radius:2px}.advisor-bubble--assistant{align-self:flex-start;background:var(--card-bg);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:2px}.advisor-bubble--loading{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-style:italic}.advisor-bubble-content{overflow-wrap:break-word}.advisor-tool-card{align-self:center;width:90%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-hover);font-size:.75rem}.advisor-tool-header{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.advisor-tool-name{font-weight:500;color:var(--text-primary)}.advisor-tool-status{margin-left:auto;display:flex;align-items:center;gap:4px;font-size:.6875rem}.advisor-tool-desc{margin-top:4px;color:var(--text-secondary)}.advisor-tool-result{border-color:var(--accent-dim)}.advisor-tool-result-label{font-size:.6875rem;color:var(--text-secondary);margin-right:6px}.advisor-action-card{align-self:center;width:90%;padding:12px;border-radius:8px;border:1px solid var(--amber-dim, rgba(251, 191, 36, .25));background:#fbbf240f}.advisor-action-header{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--amber);margin-bottom:8px}.advisor-action-body{font-size:.8125rem;color:var(--text-primary);margin-bottom:10px;line-height:1.4}.advisor-action-body p{margin:4px 0 0;font-size:.75rem;color:var(--text-secondary)}.advisor-action-buttons{display:flex;gap:8px}.advisor-btn{display:flex;align-items:center;gap:4px;padding:6px 14px!important;border-radius:6px!important;font-size:.75rem!important;font-weight:500;cursor:pointer;border:none!important;transition:background .15s,opacity .15s;text-transform:none!important;letter-spacing:normal!important}.advisor-btn:disabled{opacity:.8;cursor:not-allowed}.advisor-btn--confirm{background:var(--green-dim);color:var(--green)}.advisor-btn--confirm:hover:not(:disabled){background:#4ade8033}.advisor-btn--reject{background:var(--bg-hover);color:var(--text-secondary)}.advisor-btn--reject:hover:not(:disabled){background:var(--bg-active)}.advisor-input-bar{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0}.advisor-input{flex:1;resize:none;border:1px solid var(--border)!important;border-radius:8px!important;background:var(--bg-primary)!important;color:var(--text-primary);padding:8px 10px!important;font-size:.8125rem!important;line-height:1.4;font-family:inherit;min-height:36px;max-height:100px;outline:none;transition:border-color .15s;box-sizing:border-box}.advisor-input:focus{border-color:var(--accent)!important}.advisor-input::placeholder{color:var(--text-secondary)}.advisor-send-btn{display:flex;align-items:center;justify-content:center;width:32px!important;height:32px!important;min-width:32px;min-height:32px;max-width:32px;max-height:32px;padding:0!important;border-radius:6px!important;border:none!important;background:var(--accent)!important;color:var(--bg-deep)!important;cursor:pointer;flex-shrink:0;transition:background .15s,opacity .15s;text-transform:none!important;font-size:inherit!important;letter-spacing:normal!important}.advisor-send-btn:hover:not(:disabled){background:var(--theme-light)!important}.advisor-send-btn:disabled{opacity:.7;cursor:not-allowed}.advisor-mic-btn{display:flex;align-items:center;justify-content:center;width:32px!important;height:32px!important;min-width:32px;min-height:32px;max-width:32px;max-height:32px;padding:0!important;border-radius:6px!important;border:1px solid var(--border)!important;background:var(--bg-primary)!important;color:var(--text-secondary)!important;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s;text-transform:none!important;font-size:inherit!important;letter-spacing:normal!important}.advisor-mic-btn:hover:not(:disabled){background:var(--bg-hover)!important;color:var(--text-primary)!important;border-color:var(--accent)!important}.advisor-mic-btn:disabled{opacity:.7;cursor:not-allowed}.advisor-mic-btn--recording{background:var(--red-dim)!important;border-color:var(--red)!important;color:var(--red)!important;animation:advisor-pulse 1.5s ease-in-out infinite}.advisor-mic-btn--recording:hover:not(:disabled){background:#ff707040!important}.advisor-mic-btn--transcribing{color:var(--accent)!important;border-color:var(--accent-dim)!important}@keyframes advisor-pulse{0%,to{box-shadow:0 0 #ff707066}50%{box-shadow:0 0 0 6px #ff707000}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@media(max-width:768px){.advisor-fab{bottom:calc(60px + env(safe-area-inset-bottom,0px));right:16px;width:46px;height:46px}.advisor-panel{bottom:calc(118px + env(safe-area-inset-bottom,0px))}}@media(max-width:480px){.advisor-panel{width:calc(100vw - 24px);right:12px;height:60vh;max-height:none}}.cmdp-backdrop{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;align-items:flex-start;padding:12vh var(--space-lg) var(--space-xl);background:var(--backdrop-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:cmdp-fade .14s cubic-bezier(.22,.61,.36,1)}@keyframes cmdp-fade{0%{opacity:0}to{opacity:1}}.cmdp-panel{width:min(640px,100%);background:var(--card-bg);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-modal),0 0 0 1px var(--accent-dim),0 0 48px -8px var(--accent-glow);overflow:hidden;display:flex;flex-direction:column;max-height:70vh;animation:cmdp-scale .18s cubic-bezier(.22,.61,.36,1)}@keyframes cmdp-scale{0%{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.cmdp-input-row{display:flex;align-items:center;gap:var(--space-sm);padding:14px 16px;border-bottom:1px solid var(--line);background:var(--bg-surface)}.cmdp-input-icon{color:var(--text-muted);flex-shrink:0}.cmdp-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-md);letter-spacing:-.005em;min-width:0}.cmdp-input::placeholder{color:var(--text-muted)}.cmdp-kbd{display:inline-flex;align-items:center;justify-content:center;height:20px;min-width:20px;padding:0 6px;font-family:var(--font-data);font-size:10px;font-weight:500;letter-spacing:.08em;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;line-height:1}.cmdp-kbd--esc{opacity:.7}.cmdp-list{flex:1;overflow-y:auto;padding:6px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.cmdp-list::-webkit-scrollbar{width:6px}.cmdp-list::-webkit-scrollbar-track{background:transparent}.cmdp-list::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.cmdp-group{padding:6px 0}.cmdp-group-label{padding:6px 12px;font-family:var(--font-data);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.cmdp-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:9px 12px;background:transparent;border:none;border-radius:var(--radius-sm, 4px);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background 80ms ease}.cmdp-item svg{color:var(--text-secondary);flex-shrink:0}.cmdp-item--active{background:var(--bg-active);color:var(--text-primary)}.cmdp-item--active svg{color:var(--accent)}.cmdp-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdp-item-hint{font-family:var(--font-data);font-size:11px;color:var(--text-muted);letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.cmdp-item-enter{display:inline-flex;align-items:center;justify-content:center;color:var(--accent)!important;opacity:.6}.cmdp-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.cmdp-footer{display:flex;align-items:center;gap:var(--space-lg);padding:8px 14px;border-top:1px solid var(--line);background:var(--bg-primary);font-family:var(--font-data);font-size:10px;letter-spacing:.08em;color:var(--text-muted)}.cmdp-footer span{display:inline-flex;align-items:center;gap:6px}.cmdp-footer .cmdp-kbd{height:16px;min-width:16px;padding:0 4px;font-size:9px;border-bottom-width:1px}@media(max-width:640px){.cmdp-backdrop{padding:6vh var(--space-sm) var(--space-md)}.cmdp-footer{flex-wrap:wrap;gap:var(--space-sm)}.cmdp-item-hint{display:none}}
