:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--color-bg-primary: #0a0e17;--color-bg-secondary: #111827;--color-bg-tertiary: #1a2234;--color-bg-card: #141b2d;--color-bg-hover: #1e293b;--color-bg-input: #0d1321;--color-border-primary: #1e293b;--color-border-secondary: #2d3748;--color-border-focus: #3b82f6;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-text-inverse: #0f172a;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-light: #60a5fa;--color-primary-dark: #1d4ed8;--color-success: #10b981;--color-success-bg: #064e3b;--color-success-light: #34d399;--color-warning: #f59e0b;--color-warning-bg: #451a03;--color-warning-light: #fbbf24;--color-danger: #ef4444;--color-danger-bg: #450a0a;--color-danger-light: #f87171;--color-info: #06b6d4;--color-info-bg: #083344;--color-info-light: #22d3ee;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .2), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .2);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .3), 0 8px 10px -6px rgb(0 0 0 / .2);--shadow-glow: 0 0 20px rgb(59 130 246 / .3);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-modal: 1100;--z-tooltip: 1200;line-height:1.6;font-weight:var(--font-normal);color-scheme:dark;color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;scroll-behavior:smooth}@media(min-width:1600px){html{font-size:17px}}@media(min-width:1920px){html{font-size:18px}}@media(min-width:2560px){html{font-size:20px}}body{min-height:100vh;min-height:100dvh;min-width:320px;background:var(--color-bg-primary);background-image:radial-gradient(ellipse at top,rgba(59,130,246,.05) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(16,185,129,.03) 0%,transparent 50%);background-attachment:fixed}#root{min-height:100vh;min-height:100dvh}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:var(--font-semibold);line-height:1.3;letter-spacing:-.02em}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{color:var(--color-text-secondary);line-height:1.7}a{color:var(--color-primary-light);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary);text-decoration:underline}::selection{background:var(--color-primary);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button{font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-lg);border:none;padding:var(--space-3) var(--space-5);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast);width:100%}input:hover,select:hover,textarea:hover{border-color:var(--color-border-secondary)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f626}input::placeholder{color:var(--color-text-muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--space-3) var(--space-4)}.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}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}#root{margin:0 auto;padding:var(--space-6);max-width:1800px;width:100%;animation:fadeIn var(--transition-slow)}@media(min-width:1600px){#root{padding:var(--space-8);max-width:1600px}}@media(min-width:1920px){#root{padding:var(--space-10);max-width:1800px}}@media(min-width:2560px){#root{max-width:2200px}}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:linear-gradient(135deg,var(--color-bg-primary) 0%,#0f1729 100%);position:relative;overflow:hidden}.auth-screen:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 20%,rgba(59,130,246,.08) 0%,transparent 40%),radial-gradient(circle at 70% 80%,rgba(16,185,129,.06) 0%,transparent 40%);animation:pulse 8s ease-in-out infinite}.auth-card{background:linear-gradient(180deg,var(--color-bg-card) 0%,var(--color-bg-secondary) 100%);border:1px solid var(--color-border-primary);padding:var(--space-10);border-radius:var(--radius-2xl);width:min(520px,92vw);box-shadow:var(--shadow-xl),0 0 60px #3b82f614;position:relative;z-index:1;animation:slideUp var(--transition-slow)}@media(min-width:1600px){.auth-card{width:min(560px,92vw);padding:var(--space-12)}}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-success),var(--color-primary));border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.auth-card h1{margin:0 0 var(--space-2);font-size:var(--text-3xl);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-card>p{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-6)}.form{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-6)}.form label{display:flex;flex-direction:column;gap:var(--space-2);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-text-secondary)}.form input,.form select{padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border-primary);background:var(--color-bg-input);color:var(--color-text-primary);font-size:var(--text-base);transition:all var(--transition-fast)}.form input:hover,.form select:hover{border-color:var(--color-border-secondary);background:#0d1321cc}.form input:focus,.form select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #3b82f626;background:var(--color-bg-input)}.error{background:linear-gradient(135deg,var(--color-danger-bg),#5c1a1a);color:#fecaca;padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);border:1px solid rgba(239,68,68,.3);display:flex;align-items:center;gap:var(--space-3);animation:slideDown var(--transition-fast)}.error:before{content:"⚠";font-size:var(--text-lg)}.hint{margin-top:var(--space-6);font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px dashed var(--color-border-primary)}.app-shell{display:flex;flex-direction:column;gap:var(--space-6);animation:fadeIn var(--transition-base)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);background:linear-gradient(180deg,var(--color-bg-card) 0%,transparent 100%);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);flex-wrap:wrap}.topbar h2{margin:0;font-size:var(--text-xl);display:flex;align-items:center;gap:var(--space-3)}.topbar h2:before{content:"📊";font-size:var(--text-2xl)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #3b82f666}.topbar-actions{display:flex;gap:var(--space-3);align-items:center}button{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border:none;color:#fff;padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);font-size:var(--text-sm);box-shadow:0 2px 8px #3b82f64d;position:relative;overflow:hidden}button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}button:hover{transform:translateY(-1px);box-shadow:0 4px 16px #3b82f666}button:hover:before{left:100%}button:active{transform:translateY(0)}button.ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-secondary);box-shadow:none}button.ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-text-muted);box-shadow:none}button:disabled{opacity:.6;cursor:not-allowed;transform:none}.tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2);background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-primary)}.tabs button{background:transparent;border:none;color:var(--color-text-muted);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-weight:var(--font-medium);box-shadow:none;position:relative}.tabs button:before{display:none}.tabs button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);transform:none;box-shadow:none}.tabs button.active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:0 2px 8px #3b82f64d}.panel{background:var(--color-bg-card);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);padding:var(--space-6);color:var(--color-text-primary);animation:slideUp var(--transition-base)}@media(min-width:1200px){.panel{padding:var(--space-8)}}@media(min-width:1600px){.panel{padding:var(--space-10);border-radius:var(--radius-2xl)}}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap;padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-primary)}.panel-header h3{margin:0;font-size:var(--text-xl);color:var(--color-text-primary)}.info{background:linear-gradient(135deg,var(--color-info-bg) 0%,#0a4056 100%);color:#a5f3fc;padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-5);font-size:var(--text-sm);border:1px solid rgba(6,182,212,.3);display:flex;align-items:center;gap:var(--space-3);animation:slideDown var(--transition-fast)}.info:before{content:"✓";font-weight:700;font-size:var(--text-lg)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}@media(min-width:1200px){.stats{grid-template-columns:repeat(6,1fr)}}@media(min-width:1600px){.stats{gap:var(--space-5)}}.stat{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);padding:var(--space-5);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-2);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em;color:var(--color-text-muted);transition:all var(--transition-base);position:relative;overflow:hidden}.stat:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--color-border-secondary);transition:all var(--transition-base)}.stat:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-border-secondary)}.stat strong{font-size:var(--text-2xl);letter-spacing:normal;text-transform:none;color:var(--color-text-primary);font-weight:var(--font-bold)}.stat-success{border-color:#10b9814d;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-success-bg) 100%)}.stat-success:after{background:var(--color-success)}.stat-success strong{color:var(--color-success-light)}.stat-warning{border-color:#f59e0b4d;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-warning-bg) 100%)}.stat-warning:after{background:var(--color-warning)}.stat-warning strong{color:var(--color-warning-light)}.stat-danger{border-color:#ef44444d;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-danger-bg) 100%)}.stat-danger:after{background:var(--color-danger)}.stat-danger strong{color:var(--color-danger-light)}.stat-muted{border-color:#64748b4d;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,#1e2a40 100%)}.stat-muted:after{background:var(--color-text-muted)}.stat-muted strong{color:var(--color-text-secondary)}.panel-actions{display:flex;align-items:center;gap:var(--space-4)}.view-toggle{display:flex;background:var(--color-bg-secondary);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border-primary);padding:var(--space-1)}.view-btn{background:transparent;border:none;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-lg);transition:all var(--transition-fast);border-radius:var(--radius-md);box-shadow:none;line-height:1}.view-btn:before{display:none}.view-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);transform:none;box-shadow:none}.view-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 4px #3b82f64d}.import{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-bg-tertiary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border-secondary);cursor:pointer;transition:all var(--transition-base);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.import:hover{background:var(--color-bg-hover);border-color:var(--color-primary);color:var(--color-text-primary)}.import:before{content:"📁";font-size:var(--text-base)}.import input{display:none}.table-wrapper{overflow:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border-primary);background:var(--color-bg-secondary)}table{width:100%;border-collapse:collapse;min-width:720px}@media(min-width:1600px){table{font-size:var(--text-base)}th,td{padding:var(--space-5)}}thead{background:linear-gradient(180deg,var(--color-bg-tertiary) 0%,var(--color-bg-secondary) 100%);position:sticky;top:0;z-index:10}th{text-align:left;padding:var(--space-4);font-weight:var(--font-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:2px solid var(--color-border-primary);white-space:nowrap}td{padding:var(--space-4);border-bottom:1px solid var(--color-border-primary);font-size:var(--text-sm);color:var(--color-text-secondary)}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:var(--color-bg-hover)}tbody tr:last-child td{border-bottom:none}.filter{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6);padding:var(--space-5);background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-primary);align-items:flex-end}.filter label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted)}.filter input{padding:var(--space-3) var(--space-4);width:auto;min-width:180px}.form-inline{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6);padding:var(--space-5);background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-primary);align-items:center}.form-inline input,.form-inline select{padding:var(--space-3) var(--space-4);width:auto;min-width:160px}.user-password-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.user-password-controls input{min-width:180px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}button.small{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);line-height:1.1}button.ghost.danger{border-color:#ef444466;color:#fecaca}button.ghost.danger:hover{background:var(--color-danger-bg);color:#fff;border-color:#ef444499}.form-inline select{min-width:120px}.appointments-list{display:flex;flex-direction:column;gap:var(--space-4)}.appointment-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-base)}.appointment-card:hover{border-color:var(--color-border-secondary);box-shadow:var(--shadow-lg)}.appointment-card.expanded{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.appointment-card-header{display:flex;align-items:center;padding:var(--space-5) var(--space-6);cursor:pointer;gap:var(--space-4);transition:background var(--transition-fast)}@media(min-width:1200px){.appointment-card-header{padding:var(--space-6) var(--space-8);gap:var(--space-6)}}.appointment-card-header:hover{background:var(--color-bg-hover)}.appointment-primary{flex:1;min-width:0}.appointment-name{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.appointment-name strong{font-size:var(--text-base);color:var(--color-text-primary);font-weight:var(--font-semibold)}.contact-id{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-tertiary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono)}.appointment-datetime{font-size:var(--text-sm);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-2)}.date-icon{font-size:var(--text-sm);opacity:.8}.appointment-badges{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.badge-status,.badge-stage,.badge-status-text{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.03em;transition:transform var(--transition-fast)}.badge-status:hover,.badge-stage:hover{transform:scale(1.05)}.badge-status{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary)}.badge-stage{background:linear-gradient(135deg,#1e3a5f,#0f2744);color:#7dd3fc;border:1px solid rgba(56,189,248,.2)}.badge-status-text{background:var(--color-bg-hover);color:var(--color-text-muted)}.status-sit{background:linear-gradient(135deg,#166534,#0f3d21);color:#bbf7d0;border:1px solid rgba(74,222,128,.3)}.status-nosit{background:linear-gradient(135deg,#854d0e,#4a2c08);color:#fef08a;border:1px solid rgba(250,204,21,.3)}.status-dq{background:linear-gradient(135deg,#991b1b,#5c1010);color:#fecaca;border:1px solid rgba(248,113,113,.3)}.status-notinterested{background:linear-gradient(135deg,#475569,#2d3748);color:#cbd5e1;border:1px solid rgba(148,163,184,.3)}.status-discovery{background:linear-gradient(135deg,#1e40af,#14287a);color:#bfdbfe;border:1px solid rgba(96,165,250,.3)}.appointment-expand-icon{color:var(--color-text-muted);font-size:var(--text-sm);transition:all var(--transition-fast);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.appointment-card.expanded .appointment-expand-icon{background:var(--color-primary);color:#fff}.appointment-card-details{background:linear-gradient(180deg,var(--color-bg-input) 0%,var(--color-bg-secondary) 100%);border-top:1px solid var(--color-border-primary);padding:var(--space-6);animation:slideDown var(--transition-fast)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-6)}.details-section{display:flex;flex-direction:column;gap:var(--space-3)}.details-section h4{margin:0 0 var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary-light);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-primary);font-weight:var(--font-bold)}.detail-row{display:flex;flex-direction:column;gap:var(--space-1)}.detail-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.detail-value{color:var(--color-text-primary);font-size:var(--text-sm);word-break:break-word}.detail-row.notes{grid-column:1 / -1}.detail-row.notes .detail-value{background:var(--color-bg-tertiary);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:1.6;border:1px solid var(--color-border-primary)}.recording-link{color:var(--color-primary-light);text-decoration:underline;cursor:pointer;transition:color var(--transition-fast)}.recording-link:hover{color:var(--color-primary)}.empty-state{text-align:center;padding:var(--space-16) var(--space-6);color:var(--color-text-muted);animation:fadeIn var(--transition-slow)}.empty-icon{font-size:4rem;margin-bottom:var(--space-4);opacity:.5;filter:grayscale(.3)}.empty-state p{font-size:var(--text-lg);color:var(--color-text-secondary);margin:0 0 var(--space-2);font-weight:var(--font-medium)}.empty-state span{font-size:var(--text-sm)}@media(max-width:768px){#root{padding:var(--space-4)}.auth-card{padding:var(--space-6)}.topbar{padding:var(--space-4);flex-direction:column;align-items:stretch;gap:var(--space-4)}.topbar>div:first-child{text-align:center}.topbar-actions,.tabs{justify-content:center}.panel{padding:var(--space-4)}.appointment-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-3);position:relative;padding-right:var(--space-12)}.appointment-expand-icon{position:absolute;right:var(--space-4);top:var(--space-4)}.appointment-badges{justify-content:flex-start}.details-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.panel-actions{flex-wrap:wrap;justify-content:center}.panel-header{flex-direction:column;text-align:center}.filter{flex-direction:column}.filter input{width:100%}.form-inline{flex-direction:column}.form-inline input,.form-inline select{width:100%}}@media(max-width:480px){.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:var(--space-3)}.stat strong{font-size:var(--text-xl)}.auth-card h1{font-size:var(--text-2xl)}}.loading{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-hover) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.admin-panel{animation:fadeIn var(--transition-base)}.admin-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-2);background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-primary)}.admin-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-text-muted);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);box-shadow:none}.admin-tab:before{display:none}.admin-tab:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);transform:none;box-shadow:none}.admin-tab.active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:0 2px 8px #3b82f64d}.admin-section{animation:slideUp var(--transition-fast)}.admin-section-header{margin-bottom:var(--space-6)}.admin-section-header h4{margin:0 0 var(--space-2);font-size:var(--text-lg);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2)}.admin-section-header p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.file-dropzone{border:2px dashed var(--color-border-secondary);border-radius:var(--radius-xl);padding:var(--space-12) var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-base);background:var(--color-bg-secondary);margin-bottom:var(--space-6)}.file-dropzone:hover{border-color:var(--color-primary);background:var(--color-bg-hover)}.file-dropzone.dragging{border-color:var(--color-primary);background:#3b82f61a;border-style:solid;transform:scale(1.01)}.file-dropzone.loading{pointer-events:none;opacity:.8}.dropzone-icon{margin-bottom:var(--space-4);color:var(--color-text-muted)}.dropzone-icon svg{width:48px;height:48px;stroke-width:1.5}.file-dropzone p{margin:0 0 var(--space-2);color:var(--color-text-secondary);font-size:var(--text-base)}.file-dropzone p strong{color:var(--color-primary-light)}.file-dropzone span{font-size:var(--text-sm);color:var(--color-text-muted)}.loading-spinner{width:48px;height:48px;border:3px solid var(--color-border-secondary);border-radius:50%;border-top-color:var(--color-primary);animation:spin .8s linear infinite;margin:0 auto var(--space-4)}.import-result{padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-6);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-3);animation:slideDown var(--transition-fast)}.import-result.success{background:linear-gradient(135deg,var(--color-success-bg) 0%,#0a3d23 100%);color:#a7f3d0;border:1px solid rgba(16,185,129,.3)}.import-result.success:before{content:"✓";font-weight:700;font-size:var(--text-lg)}.import-result.error{background:linear-gradient(135deg,var(--color-danger-bg) 0%,#5c1a1a 100%);color:#fecaca;border:1px solid rgba(239,68,68,.3)}.import-result.error:before{content:"⚠";font-size:var(--text-lg)}.import-info{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);padding:var(--space-5)}.import-info h5{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2)}.import-info p{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}.csv-columns{display:flex;flex-wrap:wrap;gap:var(--space-2)}.csv-columns code{background:var(--color-bg-tertiary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);font-family:var(--font-mono)}.create-user-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-6)}.create-user-card h5{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2)}.create-user-card .form-inline{margin-bottom:0;background:transparent;padding:0;border:none}.users-list-header{margin-bottom:var(--space-4)}.users-list-header h5{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.user-cell{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary)}.role-select{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.role-select:hover{border-color:var(--color-border-secondary)}.role-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f626}.role-badge{display:inline-flex;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.03em}.role-admin{background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#e9d5ff}.role-manager{background:linear-gradient(135deg,#0891b2,#0e7490);color:#cffafe}.role-user{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary)}.search-filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-5);background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-primary);align-items:center}.search-input-wrapper{display:flex;align-items:center;flex:1;min-width:280px;position:relative;background:var(--color-bg-input);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:0 var(--space-4);transition:all var(--transition-fast)}.search-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f626}.search-input-wrapper svg{color:var(--color-text-muted);flex-shrink:0}.search-input{flex:1;border:none;background:transparent;padding:var(--space-3) var(--space-3);font-size:var(--text-base);color:var(--color-text-primary)}.search-input:focus{outline:none;box-shadow:none}.search-input::placeholder{color:var(--color-text-muted)}.clear-input-btn{background:transparent;border:none;padding:var(--space-1);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);box-shadow:none}.clear-input-btn:before{display:none}.clear-input-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);transform:none;box-shadow:none}.filter-group{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.filter-label{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted)}.filter-label svg{flex-shrink:0}.filter-label-text{font-size:var(--text-sm);color:var(--color-text-muted)}.filter-input{width:auto;min-width:140px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);background:var(--color-bg-input);color:var(--color-text-primary)}.filter-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f626}.clear-filters-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-danger-bg);color:var(--color-danger-light);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;box-shadow:none}.clear-filters-btn:before{display:none}.clear-filters-btn:hover{background:var(--color-danger);color:#fff;transform:none;box-shadow:none}.filter-results-info{padding:var(--space-3) var(--space-4);background:var(--color-info-bg);color:var(--color-info-light);border:1px solid rgba(6,182,212,.3);border-radius:var(--radius-lg);font-size:var(--text-sm);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.filter-results-info:before{content:"🔍"}.stage-filters{margin-top:calc(var(--space-4) * -1);padding-top:var(--space-4);border-top:none;justify-content:space-between}.filter-select{width:auto;min-width:160px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);background:var(--color-bg-input);color:var(--color-text-primary);cursor:pointer}.filter-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f626}.bulk-actions{display:flex;gap:var(--space-3);align-items:center}.bulk-select-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;box-shadow:none}.bulk-select-btn:before{display:none}.bulk-select-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);transform:none;box-shadow:none}.bulk-select-btn.has-selection{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.bulk-delete-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,var(--color-danger) 0%,#b91c1c 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;box-shadow:0 2px 8px #ef44444d}.bulk-delete-btn:before{display:none}.bulk-delete-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.bulk-delete-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.appointment-checkbox{display:flex;align-items:center;justify-content:center;padding:var(--space-2)}.appointment-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.appointment-card.selected{border-color:var(--color-primary);background:#3b82f60d}.checkbox-col{width:40px;text-align:center}.checkbox-col input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}tbody tr.selected{background:#3b82f61a}tbody tr.selected:hover{background:#3b82f626}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-6);padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-primary);flex-wrap:wrap}.pagination-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;box-shadow:none}.pagination-btn:before{display:none}.pagination-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary);transform:none;box-shadow:none}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{display:flex;gap:var(--space-1)}.pagination-page{width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;box-shadow:none}.pagination-page:before{display:none}.pagination-page:hover{background:var(--color-bg-hover);color:var(--color-text-primary);transform:none;box-shadow:none}.pagination-page.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination-info{font-size:var(--text-sm);color:var(--color-text-muted);margin-left:var(--space-4)}.page-size-selector{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.page-size-selector label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.page-size-selector select{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);background:var(--color-bg-input);color:var(--color-text-primary);cursor:pointer}.filter-results-info{justify-content:space-between}@media(max-width:768px){.search-filter-bar{flex-direction:column;align-items:stretch}.search-input-wrapper{min-width:auto;width:100%}.filter-group{width:100%;justify-content:space-between}.filter-label{flex:1;min-width:140px}.filter-input{flex:1;min-width:auto}}@media(min-width:1200px){.search-filter-bar{padding:var(--space-6)}.search-input-wrapper{min-width:320px}.filter-input{min-width:160px}}@media(max-width:768px){.admin-tabs{flex-direction:column}.admin-tab{justify-content:center}.file-dropzone{padding:var(--space-8) var(--space-4)}.dropzone-icon svg{width:36px;height:36px}.csv-columns{justify-content:center}.stage-filters{flex-direction:column;align-items:stretch}.bulk-actions{width:100%;justify-content:center}.pagination-controls{gap:var(--space-2);padding:var(--space-3)}.pagination-btn{padding:var(--space-2);font-size:var(--text-xs)}.pagination-page{width:32px;height:32px;font-size:var(--text-xs)}.pagination-info{width:100%;text-align:center;margin-left:0;margin-top:var(--space-2)}.page-size-selector{width:100%;justify-content:center;margin-left:0;margin-top:var(--space-2)}.filter-results-info{flex-direction:column;gap:var(--space-2);text-align:center}}@media(min-width:1200px){.pagination-controls{gap:var(--space-4);padding:var(--space-5)}.filter-select{min-width:180px}}
