:root{--color-brand: #47162a;--color-brand-light: #6b2340;--color-brand-dark: #2e0f1c;--color-gold: #b49b57;--color-gold-light: #d4bc7d;--color-gold-dark: #8a7340;--color-bg-page: #faf8f3;--color-bg-surface: #ffffff;--color-bg-surface-raised: #fcfbf9;--color-bg-input: #f5f3ef;--color-bg-sidebar: #3d1223;--color-text-primary: #1a1a1a;--color-text-secondary: #4a4a4a;--color-text-tertiary: #6b6b6b;--color-text-muted: #9a9a9a;--color-text-inverse: #ffffff;--color-border-subtle: rgba(71, 22, 42, .06);--color-border-default: rgba(71, 22, 42, .12);--color-border-emphasis: rgba(71, 22, 42, .2);--color-border-focus: #b49b57;--color-success: #2d7a4e;--color-success-bg: rgba(45, 122, 78, .08);--color-warning: #b8860b;--color-warning-bg: rgba(184, 134, 11, .08);--color-error: #c43c3c;--color-error-bg: rgba(196, 60, 60, .08);--color-info: #3a6ea5;--color-info-bg: rgba(58, 110, 165, .08);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", 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;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--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: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(71, 22, 42, .04);--shadow-md: 0 2px 4px rgba(71, 22, 42, .06), 0 1px 2px rgba(71, 22, 42, .04);--shadow-lg: 0 4px 8px rgba(71, 22, 42, .08), 0 2px 4px rgba(71, 22, 42, .04);--shadow-xl: 0 8px 16px rgba(71, 22, 42, .1), 0 4px 8px rgba(71, 22, 42, .06);--sidebar-width: 260px;--header-height: 64px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-brand);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-brand-light)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-text-primary)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{margin:0 0 var(--space-4)}button{font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}input,select,textarea{font-family:inherit;font-size:var(--text-base);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--color-bg-input);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #b49b571f}input::placeholder{color:var(--color-text-muted)}input:disabled,select:disabled,textarea:disabled{background:var(--color-bg-surface);color:var(--color-text-muted);cursor:not-allowed}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}th,td{text-align:left;padding:var(--space-3) var(--space-4)}.card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.card:hover{border-color:var(--color-border-default);box-shadow:var(--shadow-md)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-muted{color:var(--color-text-muted)}.text-brand{color:var(--color-brand)}.text-gold{color:var(--color-gold)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.bg-surface{background:var(--color-bg-surface)}.bg-page{background:var(--color-bg-page)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.layout{display:flex;min-height:100vh;background:var(--color-bg-page)}.sidebar{width:var(--sidebar-width);background:var(--color-bg-sidebar);color:var(--color-text-inverse);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100;transition:transform var(--transition-normal)}.sidebar-header{padding:var(--space-6) var(--space-4);border-bottom:1px solid rgba(255,255,255,.08);text-align:center}.sidebar-logo{width:64px;height:64px;object-fit:contain;margin-bottom:var(--space-3);border-radius:var(--radius-md)}.sidebar-header h2{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-inverse);letter-spacing:.5px}.nav-section{padding:var(--space-2) 0}.nav-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);background:transparent;border:none;color:#ffffff73;cursor:pointer;transition:all var(--transition-fast)}.nav-section-toggle:hover{background:#ffffff0d;color:#ffffffb3}.nav-section-toggle.active{color:#ffffffe6}.nav-section-title{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:1.5px;font-weight:var(--font-semibold)}.nav-section-icon{font-size:var(--text-xs);opacity:.6;transition:transform var(--transition-fast)}.nav-section.collapsed .nav-section-icon,.nav-section.expanded .nav-section-icon{transform:rotate(0)}.nav-menu{list-style:none;padding:0;margin:0}.nav-menu li{padding:0}.nav-menu a{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:#ffffffb3;text-decoration:none;transition:all var(--transition-fast);font-size:var(--text-sm);font-weight:var(--font-medium);border-left:3px solid transparent}.nav-menu a:hover{background:#ffffff0f;color:var(--color-text-inverse)}.nav-menu a.active{background:#ffffff1a;color:var(--color-text-inverse);border-left-color:var(--color-gold)}.sidebar-footer{padding:var(--space-4);border-top:1px solid rgba(255,255,255,.08);margin-top:auto}.user-info{margin-bottom:var(--space-3)}.user-info span{display:block;font-weight:var(--font-medium);font-size:var(--text-sm)}.user-info small{display:block;color:#ffffff80;font-size:var(--text-xs);margin-top:var(--space-1)}.sidebar-footer button{width:100%;padding:var(--space-2) var(--space-4);background:#ffffff14;color:var(--color-text-inverse);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.sidebar-footer button:hover{background:#ffffff26;border-color:#ffffff40}.main-content{flex:1;margin-left:var(--sidebar-width);background:var(--color-bg-page);overflow-y:auto;min-height:100vh;padding:var(--space-8)}.menu-toggle{display:none;position:fixed;top:var(--space-4);left:var(--space-4);z-index:200;background:var(--color-brand);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;font-size:var(--text-lg);box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.menu-toggle:hover{background:var(--color-brand-light)}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:var(--space-6) var(--space-4);padding-top:var(--space-16)}.menu-toggle{display:flex;align-items:center;justify-content:center}.crud-page{padding:var(--space-4)}.crud-header{flex-direction:column;gap:var(--space-4);align-items:stretch}.crud-header h1{text-align:center}.crud-table{display:block;overflow-x:auto}.modal{margin:var(--space-4);max-width:calc(100% - var(--space-8))}.permisos-grid{grid-template-columns:1fr}}.notifications-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:200}.notification-bell{background:var(--color-brand);color:#fff;border:none;width:40px;height:40px;border-radius:var(--radius-full);font-size:18px;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.notification-bell:hover{background:var(--color-brand-light);transform:scale(1.05)}.notification-badge{position:absolute;top:-5px;right:-5px;background:var(--color-error);color:#fff;font-size:11px;font-weight:var(--font-bold);width:18px;height:18px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:2px solid var(--color-bg-page)}.notifications-dropdown{position:absolute;top:50px;right:0;width:320px;background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;border:1px solid var(--color-border-subtle)}.notifications-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-brand);color:#fff;font-weight:var(--font-semibold)}.mark-all-read{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.mark-all-read:hover{background:#ffffff26;border-color:#fff}.notifications-list{max-height:400px;overflow-y:auto}.no-notifications{padding:var(--space-4);text-align:center;color:var(--color-text-secondary)}.notification-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background var(--transition-fast)}.notification-item:hover{background:var(--color-bg-surface-raised)}.notification-item.unread{background:#b49b570f}.notification-item.unread:hover{background:#b49b571a}.notification-title{font-weight:var(--font-semibold);font-size:14px;color:var(--color-text-primary)}.notification-message{font-size:13px;color:var(--color-text-secondary);margin-top:2px;line-height:1.4}.notification-date{font-size:11px;color:var(--color-text-muted);margin-top:var(--space-2)}.login-container{display:flex;min-height:100vh;background-image:url(/portada.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.login-left{flex:1;display:flex;justify-content:center;align-items:center;padding:var(--space-8)}.login-logo-left{max-width:400px;width:100%;height:auto;object-fit:contain}.login-right{flex:1;display:flex;justify-content:center;align-items:center;padding:var(--space-8);background:#fff}.login-box{background:transparent;padding:var(--space-6);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:none}.login-box h1{text-align:center;color:var(--color-brand);margin-bottom:var(--space-2);font-size:2rem;font-weight:700}.login-box h2{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--space-6);font-size:var(--text-lg);font-weight:var(--font-normal)}.login-form .form-group{margin-bottom:var(--space-4)}.login-form .form-group label{display:block;margin-bottom:var(--space-2);color:var(--color-text-secondary);font-weight:var(--font-medium);font-size:var(--text-sm);text-align:left}.login-form .form-group input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--text-base);box-sizing:border-box;background:#fff;transition:all var(--transition-fast)}.login-form .form-group input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #47162a1a}.login-button-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin-top:var(--space-6)}.login-policy-link{color:var(--color-brand);font-size:var(--text-sm);text-decoration:underline;transition:color var(--transition-fast)}.login-policy-link:hover{color:var(--color-brand-light)}.login-box button{width:100%;max-width:200px;padding:var(--space-3) var(--space-8);background:var(--color-brand);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.login-box button:hover:not(:disabled){background:var(--color-brand-light)}.login-box button:disabled{background:var(--color-text-muted);cursor:not-allowed;opacity:.6}.login-error{background:var(--color-error-bg);color:var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);text-align:center;font-size:var(--text-sm);border:1px solid rgba(196,60,60,.15)}@media(max-width:768px){.login-container{flex-direction:column}.login-left{padding:var(--space-4)}.login-logo-left{max-width:200px}.login-right{padding:var(--space-4)}}.dashboard{max-width:1400px;margin:0 auto}.dashboard h1{color:var(--color-brand);margin-bottom:var(--space-6);font-size:var(--text-2xl);font-weight:var(--font-bold)}.dashboard-loading{padding:var(--space-12);text-align:center;font-size:var(--text-lg);color:var(--color-text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-5);margin-bottom:var(--space-10)}.stat-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;align-items:center;gap:var(--space-4);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-brand);opacity:0;transition:opacity var(--transition-fast)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-default)}.stat-card:hover:before{opacity:1}.stat-icon{font-size:var(--text-xl);width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex-shrink:0;background:var(--color-bg-input);color:var(--color-brand);transition:all var(--transition-fast)}.stat-card:hover .stat-icon{background:var(--color-brand);color:var(--color-text-inverse)}.stat-info{flex:1;min-width:0}.stat-info h3{margin:0 0 var(--space-1) 0;color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.8px}.stat-number{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);line-height:1;font-variant-numeric:tabular-nums}.welcome-section{background:var(--color-brand);color:var(--color-text-inverse);padding:var(--space-8);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg);margin-bottom:var(--space-8);position:relative;overflow:hidden}.welcome-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent)}.welcome-section h2{margin:0 0 var(--space-2) 0;font-size:var(--text-xl);color:var(--color-text-inverse)}.welcome-section p{margin:0;opacity:.9;font-size:var(--text-base)}.dashboard-footer{margin-top:var(--space-10);padding:var(--space-6);background:var(--color-bg-surface);border:2px solid var(--color-error);border-radius:var(--radius-lg);text-align:center}.stat-card.viajes-programados .stat-icon{background:#e3f2fd;color:#1976d2}.stat-card.viajes-programados:hover .stat-icon{background:#1976d2;color:#fff}.stat-card.viajes-en-ruta .stat-icon{background:#fff3e0;color:#f57c00}.stat-card.viajes-en-ruta:hover .stat-icon{background:#f57c00;color:#fff}.stat-card.viajes-finalizados .stat-icon{background:#e8f5e9;color:#388e3c}.stat-card.viajes-finalizados:hover .stat-icon{background:#388e3c;color:#fff}.stat-card.viajes-cancelados .stat-icon{background:#ffebee;color:#d32f2f}.stat-card.viajes-cancelados:hover .stat-icon{background:#d32f2f;color:#fff}.dashboard-footer p{margin:0 0 var(--space-2) 0;color:var(--color-error);font-size:var(--text-sm);line-height:1.6}.dashboard-footer p:last-child{margin-bottom:0}@media(max-width:768px){.stats-grid{grid-template-columns:1fr;gap:var(--space-4)}.dashboard{padding:var(--space-2)}.welcome-section{padding:var(--space-6)}}.crud-page{padding:var(--space-4);max-width:1400px;margin:0 auto}.crud-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.crud-header h1{margin:0;color:var(--color-brand);font-size:var(--text-2xl);font-weight:var(--font-bold)}.btn-primary{padding:var(--space-3) var(--space-5);background:var(--color-brand);color:var(--color-text-inverse);border:1px solid var(--color-brand);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.btn-primary:hover{background:var(--color-brand-light);border-color:var(--color-brand-light)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{padding:var(--space-3) var(--space-5);background:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--color-bg-input);border-color:var(--color-border-emphasis);color:var(--color-text-primary)}.btn-edit{padding:var(--space-2) var(--space-3);background:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-medium);transition:all var(--transition-fast)}.btn-edit:hover{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-brand)}.btn-delete{padding:var(--space-2) var(--space-3);background:transparent;color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-medium);transition:all var(--transition-fast)}.btn-delete:hover{background:var(--color-error);color:var(--color-text-inverse)}.btn-permiso{padding:var(--space-2) var(--space-3);background:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-medium);margin-right:var(--space-2);transition:all var(--transition-fast)}.btn-permiso:hover{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-brand)}.crud-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-bg-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-subtle)}.crud-table th,.crud-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border-subtle)}.crud-table th{background:var(--color-bg-input);color:var(--color-text-secondary);font-weight:var(--font-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-border-default);white-space:nowrap}.crud-table tbody tr{transition:background-color var(--transition-fast)}.crud-table tbody tr:hover{background:var(--color-bg-surface-raised)}.crud-table tbody tr:last-child td{border-bottom:none}.modal-overlay{position:fixed;inset:0;background:#2e0f1c80;display:flex;justify-content:center;align-items:center;z-index:1000;padding:var(--space-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--color-bg-surface);padding:var(--space-6);border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-xl);border:1px solid var(--color-border-subtle)}.modal-large{max-width:900px;max-height:85vh;overflow-y:auto;padding:var(--space-6)}.modal-conductor{max-width:800px;max-height:90vh;overflow-y:auto;padding:var(--space-6)}.modal-vehiculos{max-width:600px;max-height:90vh;overflow-y:auto;padding:var(--space-6)}.modal-jugador{max-width:700px;max-height:90vh;overflow-y:auto;padding:var(--space-6)}.modal form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-4)}.modal form .form-group.full-width{grid-column:1 / -1}.permisos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin:var(--space-4) 0}.permiso-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.permiso-item:hover{background:var(--color-bg-input);border-color:var(--color-border-default)}.permiso-item input{width:auto}.modal h2{margin-top:0;margin-bottom:var(--space-6);color:var(--color-brand);font-size:var(--text-xl)}.modal .form-group{margin-bottom:var(--space-4)}.modal form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-4)}.modal form .form-group:first-child,.modal form .form-group:nth-child(7),.modal form .form-group:nth-child(9),.modal form .form-group:nth-child(11){grid-column:1 / -1}.modal form .modal-actions{grid-column:1 / -1}.modal .form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-medium);color:var(--color-text-secondary);font-size:var(--text-sm)}.modal .form-group input,.modal .form-group select{width:100%;padding:var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--text-base);box-sizing:border-box;background:var(--color-bg-input);transition:all var(--transition-fast)}.modal .form-group input:focus,.modal .form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #b49b5726}.modal-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6);justify-content:flex-end}.error-message{background:var(--color-error-bg);color:var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:1px solid rgba(196,60,60,.15);font-size:var(--text-sm)}.success-message{background:var(--color-success-bg);color:var(--color-success);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:1px solid rgba(45,122,78,.15);font-size:var(--text-sm)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-8);padding:var(--space-4);flex-wrap:wrap}.btn-pagination{padding:var(--space-2) var(--space-4);background:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.btn-pagination:hover:not(:disabled){background:var(--color-brand);color:var(--color-text-inverse);border-color:var(--color-brand)}.btn-pagination:disabled{background:var(--color-bg-input);color:var(--color-text-muted);cursor:not-allowed;border-color:var(--color-border-subtle)}.page-info{color:var(--color-text-secondary);font-size:var(--text-sm);padding:0 var(--space-2)}.page-numbers{display:flex;gap:var(--space-1);flex-wrap:wrap;justify-content:center}.btn-page-number{padding:var(--space-2) var(--space-3);background:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);min-width:40px;transition:all var(--transition-fast)}.btn-page-number:hover:not(:disabled){background:var(--color-bg-input);border-color:var(--color-border-emphasis)}.btn-page-number.active{background:var(--color-brand);color:var(--color-text-inverse);border-color:var(--color-brand)}.btn-page-number:disabled{cursor:not-allowed;opacity:.5}.page-ellipsis{padding:var(--space-2) var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.pagination-info{text-align:center;color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-2);width:100%}.search-container{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5)}.search-box{position:relative;flex:1 1 260px;max-width:400px}.filter-box{position:relative;display:flex;align-items:center;gap:var(--space-1)}.filter-select{padding:var(--space-3) var(--space-4);padding-right:var(--space-9);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);font-size:var(--text-base);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);appearance:auto;min-width:200px}.filter-select:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #47162a1a}.search-input{width:100%;padding:var(--space-3) var(--space-4);padding-right:var(--space-10);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);font-size:var(--text-base);transition:all var(--transition-fast);background:var(--color-bg-surface)}.search-input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #47162a1a}.search-clear{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:var(--color-bg-surface);color:var(--color-text-muted);border:1px solid var(--color-border-default);border-radius:var(--radius-full);width:24px;height:24px;cursor:pointer;font-size:var(--text-base);line-height:1;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.search-clear:hover{background:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error)}.search-results{display:block;margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.no-results{text-align:center;padding:var(--space-10);color:var(--color-text-muted);font-style:italic;background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border-default)}.disabled-input{background-color:var(--color-bg-input);color:var(--color-text-muted);cursor:not-allowed;border:1px solid var(--color-border-subtle)}.help-text{display:block;margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-3);max-height:300px;overflow-y:auto;padding:var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-input)}.checkbox-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.checkbox-item:hover{background:var(--color-bg-surface)}.checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-brand)}.checkbox-group-section{display:flex;flex-direction:column;gap:var(--space-2)}.checkbox-group-title{font-weight:var(--font-semibold);color:var(--color-brand);font-size:var(--text-sm);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border-subtle);margin-bottom:var(--space-1)}@media(max-width:768px){.crud-page{padding:var(--space-2)}.crud-header{flex-direction:column;align-items:stretch;gap:var(--space-3)}.crud-header h1{text-align:center}.crud-table{display:block;overflow-x:auto}.modal{margin:var(--space-2);padding:var(--space-4);max-width:calc(100% - var(--space-4))}.modal-large{max-width:calc(100% - var(--space-4));max-height:80vh}.permisos-grid{grid-template-columns:1fr}}
