:root{--primary: #1a3a5c;--primary-light: #2a5a8c;--primary-dark: #0d1f33;--secondary: #c9a84c;--secondary-light: #e8d08a;--accent: #e74c3c;--accent-success: #27ae60;--accent-warning: #f39c12;--bg-primary: #f8f9fa;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-nav: #ffffff;--text-primary: #2c3e50;--text-secondary: #6c757d;--text-light: #95a5a6;--border-color: #e9ecef;--shadow: 0 2px 10px rgba(0,0,0,.08);--shadow-lg: 0 4px 20px rgba(0,0,0,.12);--radius: 12px;--radius-sm: 8px;--transition: all .3s ease;--nav-height: 70px;--header-height: 64px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Open Sans,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;height:100vh}.app-container{display:flex;flex-direction:column;height:100vh;max-width:480px;margin:0 auto;background:var(--bg-primary);position:relative;box-shadow:0 0 30px #0000001a}.app-header{background:var(--primary);color:#fff;padding:12px 20px;height:var(--header-height);display:flex;align-items:center;flex-shrink:0;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000001a;width:100%;max-width:480px;margin:0 auto}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.logo-container{display:flex;align-items:center;gap:10px}.logo-icon{font-size:24px;color:var(--secondary)}.logo-text{font-family:Playfair Display,serif;font-size:18px;font-weight:700;letter-spacing:.5px}.header-actions{display:flex;gap:12px}.icon-btn{background:transparent;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:var(--transition);position:relative}.icon-btn:hover{background:#ffffff1a}.badge{position:absolute;top:-4px;right:-4px;background:var(--accent);color:#fff;font-size:10px;padding:2px 6px;border-radius:50%;font-weight:700;min-width:18px;text-align:center}.main-content{flex:1;overflow-y:auto;padding:16px 20px 90px;scroll-behavior:smooth;width:100%;max-width:480px;margin:0 auto}.bottom-nav{background:var(--bg-nav);border-top:1px solid var(--border-color);display:flex;justify-content:space-around;align-items:center;height:var(--nav-height);padding:0 8px;position:fixed;bottom:0;left:50%;transform:translate(-50%);max-width:480px;width:100%;z-index:100;box-shadow:0 -2px 10px #0000000d}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-light);font-size:10px;cursor:pointer;padding:4px 0;transition:var(--transition);font-family:Open Sans,sans-serif;gap:2px;flex:1;min-width:0;text-align:center}.nav-item i{font-size:20px;transition:var(--transition);width:24px;height:24px;display:flex;align-items:center;justify-content:center}.nav-item span{font-size:9px;font-weight:600;white-space:nowrap;letter-spacing:.3px}@media (max-width: 380px){.bottom-nav{padding:0 4px}.nav-item{padding:4px 2px}.nav-item i{font-size:18px}.nav-item span{font-size:8px}}.dashboard-grid{display:grid;gap:16px}.dashboard-card{background:var(--bg-card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);transition:var(--transition)}.dashboard-card:hover{box-shadow:var(--shadow-lg)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-header h3{font-size:14px;color:var(--text-secondary);font-weight:600}.card-header .icon{color:var(--primary-light);font-size:20px}.today-widget{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border-radius:var(--radius);padding:20px;margin-bottom:16px}.today-widget .day{font-size:14px;opacity:.9}.today-widget .date{font-size:32px;font-weight:700;margin:4px 0}.today-widget .service-info{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.today-widget .service-badge{background:#fff3;padding:4px 12px;border-radius:20px;font-size:12px}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.stat-item{background:var(--bg-card);border-radius:var(--radius);padding:16px;text-align:center;box-shadow:var(--shadow)}.stat-item .number{font-size:24px;font-weight:700;color:var(--primary)}.stat-item .label{font-size:12px;color:var(--text-secondary);margin-top:4px}.next-services{display:grid;gap:12px}.service-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-secondary);border-radius:var(--radius-sm);border-left:4px solid var(--secondary)}.service-item .day-name{font-weight:600;font-size:14px}.service-item .vigilantes{font-size:13px;color:var(--text-secondary)}.service-item .badge{position:static;background:var(--accent-success);font-size:11px;padding:2px 10px}.page-title{font-size:20px;font-weight:700;margin-bottom:16px;color:var(--primary)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-light)}.empty-state i{font-size:48px;margin-bottom:16px;opacity:.3}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease}.modal-content{background:var(--bg-card);border-radius:var(--radius);max-width:400px;width:100%;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:16px}.close-btn{background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0 8px}.modal-body{padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:10px}@media (max-width: 480px){.main-content{padding:12px 16px 80px}.today-widget .date{font-size:24px}.quick-stats{grid-template-columns:repeat(3,1fr);gap:8px}.stat-item .number{font-size:20px}}@media (min-width: 768px){.app-container{display:flex;flex-direction:column;height:100vh;max-width:480px;margin:0 auto;background:var(--bg-primary);position:relative;box-shadow:0 0 30px #0000001a;width:100%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;animation:modalFadeIn .3s ease}.modal-overlay.active{display:flex}.modal-overlay.hidden{display:none}.modal-container{background:var(--bg-card);border-radius:var(--radius);max-width:420px;width:100%;max-height:80vh;box-shadow:0 20px 60px #0000004d;animation:modalSlideUp .3s ease;overflow:hidden}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary)}.modal-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:10px}.modal-title i{color:var(--secondary)}.modal-close-btn{background:transparent;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:var(--transition);line-height:1}.modal-close-btn:hover{background:#0000000d;color:var(--accent)}.modal-body{padding:20px;max-height:60vh;overflow-y:auto}@media (max-width: 480px){.modal-overlay{padding:10px;align-items:flex-end}.modal-container{max-height:90vh;border-radius:var(--radius) var(--radius) 0 0;animation:modalSlideUpMobile .3s ease}}.notification-item{padding:12px 0;border-bottom:1px solid var(--border-color);transition:var(--transition)}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:#1a3a5c0d;margin:0 -20px;padding:12px 20px;border-left:3px solid var(--secondary)}.notification-item.read{opacity:.7}.notification-title{font-weight:600;font-size:14px;color:var(--text-primary)}.notification-message{font-size:13px;color:var(--text-secondary);margin-top:4px}.notification-date{font-size:11px;color:var(--text-light);margin-top:4px}.notification-item .badge-dot{display:inline-block;width:8px;height:8px;background:var(--secondary);border-radius:50%;margin-right:8px}.integrante-name{font-weight:600;color:var(--text-primary)}.integrante-name .apellido{font-weight:400;color:var(--text-secondary)}.integrante-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.integrante-avatar .iniciales{text-transform:uppercase}.service-item .vigilantes{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.vigilante-tag{display:inline-flex;align-items:center;gap:4px;background:var(--bg-secondary);padding:2px 10px;border-radius:20px;font-size:12px;border:1px solid var(--border-color)}.vigilante-tag .dot{width:6px;height:6px;border-radius:50%;display:inline-block}.vigilante-tag.experto .dot{background:var(--secondary)}.vigilante-tag.nuevo .dot{background:var(--accent-success)}.bottom-nav{background:var(--bg-nav);border-top:1px solid var(--border-color);display:grid;grid-template-columns:repeat(7,1fr);align-items:center;height:var(--nav-height);padding:4px;position:fixed;bottom:0;left:50%;transform:translate(-50%);max-width:480px;width:100%;z-index:100;box-shadow:0 -2px 10px #0000000d}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-light);font-size:10px;cursor:pointer;padding:4px 0;transition:var(--transition);font-family:Open Sans,sans-serif;gap:2px;text-align:center}.nav-item i{font-size:18px;transition:var(--transition);width:24px;height:24px;display:flex;align-items:center;justify-content:center}.nav-item span{font-size:8px;font-weight:600;white-space:nowrap;letter-spacing:.2px}.nav-item.active{color:var(--primary)}.nav-item.active i{color:var(--secondary);transform:translateY(-1px)}.nav-item:hover{color:var(--primary)}.bottom-nav{background:var(--bg-nav);border-top:1px solid var(--border-color);display:flex;justify-content:space-evenly;align-items:center;height:var(--nav-height);padding:0 4px;position:fixed;bottom:0;left:50%;transform:translate(-50%);max-width:480px;width:100%;z-index:100;box-shadow:0 -2px 10px #0000000d}.nav-item{display:flex;flex-direction:column;align-items:center;background:transparent;border:none;color:var(--text-light);font-size:10px;cursor:pointer;padding:4px 2px;transition:var(--transition);font-family:Open Sans,sans-serif;gap:2px;min-width:44px}.nav-item i{font-size:20px;transition:var(--transition)}.nav-item span{font-size:9px;font-weight:600;white-space:nowrap}.calendar-container{width:100%;max-width:480px;margin:0 auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:12px 0;background:var(--bg-secondary);border-radius:var(--radius-sm)}.calendar-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.calendar-nav{background:transparent;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:var(--transition)}.calendar-nav:hover{background:var(--bg-primary);color:var(--primary)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:8px 0}.weekday{text-align:center;font-size:12px;font-weight:600;color:var(--text-secondary);padding:4px}.calendar-grid{display:flex;flex-direction:column;gap:2px}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);position:relative;min-height:44px;padding:4px}.calendar-day:not(.empty):hover{background:var(--bg-primary);transform:scale(1.05);box-shadow:var(--shadow)}.calendar-day.empty{background:transparent;cursor:default}.calendar-day.today{background:var(--primary);color:#fff}.calendar-day.today .day-number{color:#fff}.calendar-day .day-number{font-size:14px;font-weight:500;color:var(--text-primary);position:relative;z-index:1}.calendar-day.has-service{background:linear-gradient(135deg,var(--bg-card),rgba(201,168,76,.1));border:2px solid var(--secondary)}.calendar-day.has-service .day-number{color:var(--primary);font-weight:700}.calendar-day .service-dot{width:6px;height:6px;background:var(--secondary);border-radius:50%;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.calendar-day .service-count{position:absolute;top:-4px;right:-4px;background:var(--accent);color:#fff;font-size:9px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.day-detail{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px;animation:modalFadeIn .3s ease}.day-detail:not(.hidden){display:flex!important}.day-detail.hidden{display:none!important}.day-detail-content{background:var(--bg-card, #ffffff);border-radius:var(--radius, 12px);max-width:440px;width:100%;max-height:80vh;box-shadow:0 25px 80px #00000080;animation:modalSlideUp .3s ease;overflow:hidden;position:relative}.day-detail-header{padding:16px 20px;border-bottom:1px solid var(--border-color, #e9ecef);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary, #f8f9fa)}.day-detail-header h3{margin:0;font-size:16px;color:var(--text-primary, #2c3e50);font-weight:600}.close-detail{background:transparent;border:none;color:var(--text-secondary, #6c757d);font-size:22px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:var(--transition);line-height:1}.close-detail:hover{background:#0000000d;color:var(--accent, #e74c3c)}.day-detail-body{padding:20px;max-height:60vh;overflow-y:auto}.service-detail-item{background:var(--bg-secondary, #f8f9fa);border-radius:var(--radius-sm, 8px);padding:14px 16px;margin-bottom:12px;border-left:4px solid var(--secondary, #c9a84c);transition:var(--transition)}.service-detail-item:last-child{margin-bottom:0}.service-detail-item:hover{background:var(--bg-primary, #f8f9fa)}.service-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:4px}.service-type{font-weight:600;font-size:14px;color:var(--text-primary, #2c3e50)}.service-status{font-size:11px;padding:2px 12px;border-radius:20px;font-weight:600}.service-status.programado{background:#27ae6026;color:var(--accent-success, #27ae60)}.service-status.cambio_pendiente{background:#f39c1226;color:var(--accent-warning, #f39c12)}.service-status.cancelado{background:#e74c3c26;color:var(--accent, #e74c3c)}.service-vigilantes{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.service-vigilantes .vigilante-tag{background:var(--bg-primary, #ffffff);padding:3px 14px;border-radius:20px;font-size:12px;color:var(--text-primary, #2c3e50);border:1px solid var(--border-color, #e9ecef)}.service-llaves{margin-top:8px;font-size:13px;color:var(--text-secondary, #6c757d);display:flex;align-items:center;gap:6px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.day-detail{padding:10px;align-items:flex-end}.day-detail-content{max-height:90vh;border-radius:var(--radius, 12px) var(--radius, 12px) 0 0;animation:modalSlideUpMobile .3s ease}}.day-detail{z-index:9999!important}.day-detail-content{position:relative;z-index:10000}.empty-state i{color:var(--text-light)}.service-llaves{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border-color);font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.service-llaves i{color:var(--secondary);font-size:14px}.service-llaves strong{color:var(--text-primary)}.service-llaves .responsable-name{font-weight:600;color:var(--primary);background:#1a3a5c14;padding:2px 10px;border-radius:12px}.service-item .llaves-info{font-size:11px;color:var(--text-light);margin-top:4px;display:flex;align-items:center;gap:4px}.service-item .llaves-info i{color:var(--secondary);font-size:11px}.btn-generar-turnos{transition:all .3s ease}.btn-generar-turnos:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #1a3a5c66}.btn-generar-turnos:active:not(:disabled){transform:translateY(0)}.btn-generar-turnos:disabled{opacity:.7;cursor:not-allowed}#generarTurnosStatus{min-height:24px}#generarTurnosStatus .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body.dark-theme{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-card: #1c2333;--bg-nav: #161b22;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-light: #484f58;--border-color: #30363d;--shadow: 0 2px 10px rgba(0,0,0,.5);--shadow-lg: 0 4px 20px rgba(0,0,0,.6)}body.dark-theme{background-color:var(--bg-primary);color:var(--text-primary)}.dark-theme .app-header{background:#0d1117;border-bottom:1px solid var(--border-color)}.dark-theme .app-header .logo-text{color:var(--text-primary)}.dark-theme .app-header .icon-btn{color:var(--text-secondary)}.dark-theme .app-header .icon-btn:hover{background:#ffffff0d}.dark-theme .bottom-nav{background:var(--bg-nav);border-top:1px solid var(--border-color)}.dark-theme .nav-item{color:var(--text-secondary)}.dark-theme .nav-item.active{color:var(--text-primary)}.dark-theme .nav-item.active i{color:var(--secondary, #c9a84c)}.dark-theme .nav-item:hover{color:var(--text-primary)}.dark-theme .today-widget{background:linear-gradient(135deg,#0d1117,#1c2333);border:1px solid var(--border-color)}.dark-theme .dashboard-card,.dark-theme .stat-item{background:var(--bg-card);border:1px solid var(--border-color)}.dark-theme .stat-item .number{color:var(--secondary, #c9a84c)}.dark-theme .stat-item .label{color:var(--text-secondary)}.dark-theme .service-item{background:var(--bg-secondary);border-left-color:var(--secondary, #c9a84c)}.dark-theme .service-item .day-name{color:var(--text-primary)}.dark-theme .service-item .vigilantes{color:var(--text-secondary)}.dark-theme .service-item .badge{background:var(--secondary, #c9a84c);color:#0d1117}.dark-theme .integrante-card{background:var(--bg-card);border:1px solid var(--border-color)}.dark-theme .integrante-card h4{color:var(--text-primary)}.dark-theme .integrante-card .cargo{color:var(--text-secondary)}.dark-theme .calendar-header{background:var(--bg-secondary)}.dark-theme .calendar-title{color:var(--text-primary)}.dark-theme .calendar-nav{color:var(--text-secondary)}.dark-theme .calendar-nav:hover{background:var(--bg-primary);color:var(--text-primary)}.dark-theme .weekday{color:var(--text-secondary)}.dark-theme .calendar-day{background:var(--bg-secondary);border:1px solid transparent}.dark-theme .calendar-day:not(.empty):hover{background:var(--bg-primary)}.dark-theme .calendar-day .day-number{color:var(--text-primary)}.dark-theme .calendar-day.today{background:var(--secondary, #c9a84c)}.dark-theme .calendar-day.today .day-number{color:#0d1117}.dark-theme .calendar-day.has-service{border-color:var(--secondary, #c9a84c)}.dark-theme .modal-overlay{background:#000c}.dark-theme .modal-container{background:var(--bg-card);border:1px solid var(--border-color)}.dark-theme .modal-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.dark-theme .modal-title{color:var(--text-primary)}.dark-theme .modal-close-btn{color:var(--text-secondary)}.dark-theme .modal-close-btn:hover,.dark-theme .modal-body{color:var(--text-primary)}.dark-theme .notification-item.unread{background:#c9a84c1a}.dark-theme .notification-title{color:var(--text-primary)}.dark-theme .notification-message{color:var(--text-secondary)}.dark-theme .notification-date{color:var(--text-light)}.dark-theme .day-detail-content{background:var(--bg-card);border:1px solid var(--border-color)}.dark-theme .day-detail-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.dark-theme .day-detail-header h3{color:var(--text-primary)}.dark-theme .service-detail-item{background:var(--bg-secondary);border-left-color:var(--secondary, #c9a84c)}.dark-theme .service-type{color:var(--text-primary)}.dark-theme .service-vigilantes .vigilante-tag{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.dark-theme .service-llaves{color:var(--text-secondary);border-top-color:var(--border-color)}.dark-theme .service-llaves .responsable-name{color:var(--secondary, #c9a84c)}.dark-theme .btn-primary{background:var(--secondary, #c9a84c);color:#0d1117}.dark-theme .btn-primary:hover{background:var(--secondary-light, #e8d08a)}.dark-theme .btn-generar-turnos{background:var(--secondary, #c9a84c);color:#0d1117}.dark-theme .btn-generar-turnos:hover:not(:disabled){background:var(--secondary-light, #e8d08a)}.dark-theme ::-webkit-scrollbar-track{background:var(--bg-primary)}.dark-theme ::-webkit-scrollbar-thumb{background:var(--border-color)}.dark-theme ::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.dark-theme .empty-state{color:var(--text-secondary)}.dark-theme .empty-state i{color:var(--text-light)}.dark-theme .card-header h3{color:var(--text-secondary)}.dark-theme .card-header .icon{color:var(--text-light)}.dark-theme input,.dark-theme select,.dark-theme textarea{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.dark-theme input:focus,.dark-theme select:focus,.dark-theme textarea:focus{border-color:var(--secondary, #c9a84c);outline:none}.dark-theme input::-moz-placeholder{color:var(--text-light)}.dark-theme input::placeholder{color:var(--text-light)}.dark-theme label{color:var(--text-secondary)}.dark-theme .modal-overlay{background:#000000d9!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}.dark-theme .modal-container{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;box-shadow:0 25px 80px #000c!important}.dark-theme .modal-header{background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-color)!important}.dark-theme .modal-title{color:var(--text-primary)!important}.dark-theme .modal-title i{color:var(--secondary)!important}.dark-theme .modal-close-btn{color:var(--text-secondary)!important}.dark-theme .modal-close-btn:hover{background:#ffffff0d!important;color:var(--text-primary)!important}.dark-theme .modal-body{color:var(--text-primary)!important}.dark-theme .notification-item{border-bottom-color:var(--border-color)!important}.dark-theme .notification-item.unread{background:#c9a84c14!important;border-left-color:var(--secondary)!important}.dark-theme .notification-item.read{opacity:.6!important}.dark-theme .notification-title{color:var(--text-primary)!important}.dark-theme .notification-message{color:var(--text-secondary)!important}.dark-theme .notification-date{color:var(--text-light)!important}.dark-theme .day-detail{background:#000000d9!important}.dark-theme .day-detail-content{background:var(--bg-card)!important;border:1px solid var(--border-color)!important}.dark-theme .day-detail-header{background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-color)!important}.dark-theme .day-detail-header h3{color:var(--text-primary)!important}.dark-theme .close-detail{color:var(--text-secondary)!important}.dark-theme .close-detail:hover{color:var(--text-primary)!important}.dark-theme .service-detail-item{background:var(--bg-secondary)!important;border-left-color:var(--secondary)!important}.dark-theme .service-type{color:var(--text-primary)!important}.dark-theme .service-vigilantes .vigilante-tag{background:var(--bg-primary)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}.dark-theme .service-llaves{color:var(--text-secondary)!important;border-top-color:var(--border-color)!important}.dark-theme .service-llaves .responsable-name{color:var(--secondary)!important}.dark-theme .empty-state{color:var(--text-secondary)!important}.dark-theme .empty-state i{color:var(--text-light)!important}
