:root{--color-brand: #1a7f5a;--color-brand-dark: #15694a;--color-brand-light: #d1f0e4;--color-brand-bg: #e7f5ee;--bg-sidebar: #111b21;--bg-sidebar-hover: #202c33;--bg-sidebar-active: #2a3942;--bg-main: #0b141a;--bg-chat-pattern: #0d1f2d;--bg-bubble-in: #202c33;--bg-bubble-out: #005c4b;--bg-bubble-ai: #1a2e22;--bg-input: #2a3942;--bg-header: #202c33;--bg-modal: #233138;--text-primary: #e9edef;--text-secondary: #8696a0;--text-link: #53bdeb;--text-bubble-time: rgba(255,255,255,.45);--border-subtle: rgba(255,255,255,.06);--border-input: #3b4a54;--status-online: #00a884;--status-warning: #f0b429;--status-error: #e74c3c;--status-info: #53bdeb;--shadow-bubble: 0 1px .5px rgba(0,0,0,.3);--shadow-modal: 0 4px 32px rgba(0,0,0,.5);--sidebar-width: 360px;--header-height: 60px;--input-area-height: 70px;--font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "Courier New", monospace;--radius-bubble: 8px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--transition-fast: .15s ease;--transition-med: .25s ease;--bg-base: #0a0b0e;--bg-surface: #111318;--bg-elevated: #181c24;--bg-hover: #1e2330;--bg-border: #1f2433;--accent: #3b82f6;--accent-dim: rgba(59,130,246,.12);--accent-glow: rgba(59,130,246,.3);--red: #ef4444;--red-dim: rgba(239,68,68,.12);--orange: #f97316;--orange-dim: rgba(249,115,22,.12);--amber: #f59e0b;--amber-dim: rgba(245,158,11,.12);--green: #10b981;--green-dim: rgba(16,185,129,.12);--teal: #14b8a6;--teal-dim: rgba(20,184,166,.12);--purple: #8b5cf6;--purple-dim: rgba(139,92,246,.12);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--shadow-card: 0 1px 3px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.03);--shadow-panel: 0 8px 32px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.04);--shadow-glow-red: 0 0 20px rgba(239,68,68,.15);--shadow-glow-green: 0 0 20px rgba(16,185,129,.15);--shadow-glow-blue: 0 0 20px rgba(59,130,246,.15);--transition: .15s cubic-bezier(.4,0,.2,1)}:root[data-theme=light]{--bg-sidebar: #ffffff;--bg-sidebar-hover: #f0f2f5;--bg-sidebar-active: #e9edef;--bg-main: #f6f7f9;--bg-chat-pattern: #eef1f4;--bg-bubble-in: #ffffff;--bg-bubble-out: #d9fdd3;--bg-bubble-ai: #e7f5ec;--bg-input: #ffffff;--bg-header: #ffffff;--bg-modal: #ffffff;--text-primary: #111b21;--text-secondary: #667781;--text-link: #0277bd;--text-bubble-time: rgba(0,0,0,.45);--border-subtle: rgba(0,0,0,.08);--border-input: #d1d7db;--shadow-bubble: 0 1px .5px rgba(0,0,0,.08);--shadow-modal: 0 8px 32px rgba(17,27,33,.16)}:root[data-theme=light] body{background:var(--bg-main)}html[data-theme=light] .admin-area{--bg-base: #f7f8fa;--bg-surface: #ffffff;--bg-elevated: #f3f4f6;--bg-hover: #eef0f3;--bg-border: #e5e7eb;--accent-dim: rgba(59,130,246,.08);--accent-glow: rgba(59,130,246,.2);--red-dim: rgba(239,68,68,.08);--orange-dim: rgba(249,115,22,.08);--amber-dim: rgba(245,158,11,.08);--green-dim: rgba(16,185,129,.08);--teal-dim: rgba(20,184,166,.08);--purple-dim: rgba(139,92,246,.08);--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #9ca3af;--text-disabled: #d1d5db;--shadow-card: 0 1px 3px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.04);--shadow-panel: 0 8px 32px rgba(0,0,0,.12), 0 0 0 1px rgba(0,0,0,.06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-main);font-size:15px;line-height:1.4;background:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--text-link);text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit;color:inherit}input,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-main)}.loading-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--color-brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-secondary{color:var(--text-secondary)}.text-brand{color:var(--color-brand)}.text-error{color:var(--status-error)}.text-warning{color:var(--status-warning)}.text-sm{font-size:12px}.text-xs{font-size:11px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.flex-1{flex:1}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600;flex-shrink:0;background:var(--color-brand);color:#fff;-webkit-user-select:none;user-select:none}.avatar-sm{width:32px;height:32px;font-size:12px}.avatar-md{width:42px;height:42px;font-size:16px}.avatar-lg{width:52px;height:52px;font-size:20px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:11px;font-weight:700;background:var(--color-brand);color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);font-weight:500;transition:background var(--transition-fast),opacity var(--transition-fast)}.btn-primary{background:var(--color-brand);color:#fff}.btn-primary:hover{background:var(--color-brand-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:#ffffff14;color:var(--text-primary)}.btn-danger{background:var(--status-error);color:#fff}.btn-danger:hover{opacity:.85}.btn-sm{padding:5px 10px;font-size:13px}.btn-lg{padding:12px 24px;font-size:16px}.btn-full{width:100%}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.modal{background:var(--bg-modal);border-radius:var(--radius-lg);padding:28px;width:90%;max-width:480px;box-shadow:var(--shadow-modal);animation:slideUp .2s ease}.modal-title{font-size:18px;font-weight:600;margin-bottom:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{font-size:13px;color:var(--text-secondary);font-weight:500}.form-input{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--color-brand)}.form-input::placeholder{color:var(--text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.online{background:var(--status-online)}.status-dot.warning{background:var(--status-warning)}.status-dot.error{background:var(--status-error)}.status-dot.offline{background:var(--text-secondary)}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-xl);font-size:11px;font-weight:600;white-space:nowrap}.tag-green{background:#00a88433;color:var(--status-online)}.tag-yellow{background:#f0b42933;color:var(--status-warning)}.tag-red{background:#e74c3c33;color:var(--status-error)}.tag-blue{background:#53bdeb33;color:var(--status-info)}.tag-grey{background:#ffffff1a;color:var(--text-secondary)}.admin-area{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #475569;--text-disabled: #334155;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--font-mono: "JetBrains Mono", "Fira Code", monospace}.admin-area table tr{transition:background var(--transition-fast)}.admin-area table tbody tr:hover{background:var(--bg-hover)}.ds-kpi-number{font-size:36px;font-weight:700;letter-spacing:-1px;color:var(--text-primary)}.ds-section-header{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.ds-card-title{font-size:14px;font-weight:500;color:var(--text-secondary)}.ds-table-header{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.ds-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;border-radius:999px;padding:2px 8px}.ds-mono{font-family:var(--font-mono);font-size:13px}.ds-card{background:var(--bg-surface);border:1px solid var(--bg-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card);transition:border-color var(--transition),box-shadow var(--transition)}.ds-card-clickable:hover{border-color:#ffffff14;cursor:pointer;transform:translateY(-1px)}.ds-card-accent-red{border-top:2px solid var(--red);box-shadow:var(--shadow-card),var(--shadow-glow-red)}.ds-card-accent-orange{border-top:2px solid var(--orange);box-shadow:var(--shadow-card),0 0 20px #f9731626}.ds-card-accent-amber{border-top:2px solid var(--amber);box-shadow:var(--shadow-card),0 0 20px #f59e0b26}.ds-card-accent-green{border-top:2px solid var(--green);box-shadow:var(--shadow-card),var(--shadow-glow-green)}.ds-card-accent-teal{border-top:2px solid var(--teal);box-shadow:var(--shadow-card),0 0 20px #14b8a626}.ds-card-accent-blue{border-top:2px solid var(--accent);box-shadow:var(--shadow-card),var(--shadow-glow-blue)}.ds-card-accent-purple{border-top:2px solid var(--purple);box-shadow:var(--shadow-card),0 0 20px #8b5cf626}.ds-btn-primary,.ds-btn-ghost,.ds-btn-danger,.ds-btn-success{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:8px 16px;border-radius:var(--radius-md);font-weight:500;font-size:13px;cursor:pointer;transition:var(--transition)}.ds-btn-primary{background:var(--accent);color:#fff;border:1px solid transparent}.ds-btn-primary:hover{background:#2f6fd8}.ds-btn-ghost{background:transparent;border:1px solid var(--bg-border);color:var(--text-secondary)}.ds-btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.ds-btn-danger{background:var(--red-dim);border:1px solid rgba(239,68,68,.3);color:var(--red)}.ds-btn-danger:hover{background:var(--red);color:#fff}.ds-btn-success{background:var(--green-dim);border:1px solid rgba(16,185,129,.3);color:var(--green)}.ds-btn-success:hover{background:var(--green);color:#fff}.ds-icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:transparent;border:1px solid var(--bg-border);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.ds-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ds-skeleton{background:linear-gradient(90deg,var(--bg-surface) 25%,var(--bg-elevated) 50%,var(--bg-surface) 75%);background-size:200% 100%;animation:ds-shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes ds-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes ds-pulse{0%,to{opacity:1}50%{opacity:.4}}.ds-pulse-dot{width:8px;height:8px;border-radius:50%;animation:ds-pulse 1.5s ease-in-out infinite}.ds-tooltip{background:#1e2330;border:1px solid var(--bg-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);padding:6px 10px;font-size:12px;color:var(--text-primary)}.msg-menu-btn:hover{opacity:1!important;background:#ffffff1f}@media (max-width: 768px){.layout{position:relative}.sidebar-pane,.chat-pane{width:100%;flex:1 1 100%}.layout[data-mobile-view=list] .chat-pane,.layout[data-mobile-view=chat] .sidebar-pane{display:none}.sidebar-pane>div{width:100%!important;min-width:0!important;max-width:100%!important}.mobile-back-btn{display:flex!important}.form-input,input[type=text],input[type=email],input[type=password]{font-size:16px!important}.staff-action-panel{position:fixed;top:0;right:0;bottom:0;left:0;width:100%!important;z-index:300;border-left:none!important}:root{--header-height: 54px}.avatar-md{width:36px;height:36px}.staff-actions-label,.book-patient-label{display:none}.dashboard-row{flex-direction:column}.admin-nav{width:56px!important}.admin-nav-header-text,.admin-nav-label{display:none}.admin-nav-header{justify-content:center}}@media (max-width: 480px){.msg-bubble{max-width:88%!important}}.app-full-height{height:100vh;height:100dvh}
