*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--blue: #1A6FBF;--blue-light: #dbeafe;--teal: #0F8A6E;--bg: #F7FAFD;--sidebar: #0D1B2A;--sidebar-hover: rgba(255, 255, 255, .07);--text-primary: #0D1B2A;--text-secondary: #64748B;--border: #E2EAF4;--white: #ffffff;--shadow-sm: 0 1px 4px rgba(26, 111, 191, .08);--shadow-md: 0 4px 20px rgba(26, 111, 191, .12);--radius: 12px;--radius-lg: 16px}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:Syne,sans-serif;line-height:1.2}button,input,select,textarea{font-family:DM Sans,sans-serif}#root{height:100vh;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500}.badge-confirmada{background:#dbeafe;color:#1a6fbf}.badge-pendiente{background:#fef3c7;color:#b45309}.badge-cancelada{background:#fee2e2;color:#dc2626}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius);border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s ease}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:#1560a8}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{background:#f1f5f9}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],select,textarea{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text-primary);background:#fff;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--blue)}
