*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #6633CC;--color-secondary: #F6C94E;--color-dark: #1E1E1E;--color-gray: #333333;--color-light-bg: #F5F8FD;--color-white: #FFFFFF;font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;min-height:100vh;overflow-x:hidden;color:var(--color-dark);background:var(--color-light-bg)}#root{width:100%;height:100%;min-height:100vh;overflow:hidden}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700}button{font-family:inherit;cursor:pointer;transition:all .3s ease;border:none;letter-spacing:.5px}.toast{position:fixed;top:20px;right:20px;min-width:300px;max-width:500px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;align-items:flex-start;gap:12px;padding:16px;z-index:10000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.toast-enter{animation:slideIn .3s ease-out}.toast-exit{animation:slideOut .3s ease-in}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.toast-icon{font-size:24px;line-height:1;flex-shrink:0}.toast-content{flex:1;color:#333;line-height:1.5}.toast-content p{margin:0;font-size:14px}.toast-content strong{display:block;font-size:15px;font-weight:600;margin-bottom:4px;color:#111}.toast-content ul{margin:8px 0 0;padding-left:20px;font-size:13px;color:#666}.toast-content ul li{margin:4px 0}.toast-close{background:none;border:none;font-size:24px;line-height:1;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.toast-close:hover{background:#f0f0f0;color:#333}.toast-success{border-left:4px solid #10b981}.toast-error{border-left:4px solid #ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-info{border-left:4px solid #3b82f6}@media(max-width:600px){.toast{left:20px;right:20px;min-width:auto;max-width:none}@keyframes slideIn{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100px);opacity:0}}}.smart-filter{position:relative;display:inline-block}.filter-toggle{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;color:#333;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease;position:relative}.filter-toggle:hover{border-color:#06c;background:#f8f9fa}.filter-toggle.active{border-color:#06c;background:#e6f2ff;color:#06c}.filter-toggle.has-filters{border-color:#06c;background:#06c;color:#fff}.filter-icon{font-size:16px}.filter-badge{background:#f44;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;position:absolute;top:-8px;right:-8px}.filter-panel{position:absolute;top:calc(100% + 10px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:20px;min-width:350px;max-width:400px;z-index:1000;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.filter-header h3{margin:0;font-size:18px;color:#333}.filter-header-actions{display:flex;gap:8px}.clear-filters{background:none;border:none;color:#06c;font-size:12px;font-weight:600;cursor:pointer;padding:5px 10px;border-radius:4px;transition:all .2s}.clear-filters:hover{background:#e6f2ff}.clear-filters.secondary{color:#666}.clear-filters.secondary:hover{background:#f5f5f5}.filter-section{margin-bottom:20px}.filter-section label{display:block;font-size:13px;font-weight:600;color:#666;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.search-input{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .2s;box-sizing:border-box}.search-input:focus{outline:none;border-color:#06c;background:#f8f9fa}.search-input::placeholder{color:#999}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-options-scrollable{display:flex;flex-wrap:wrap;gap:6px;max-height:300px;overflow-y:auto;padding-right:5px}.filter-options-scrollable::-webkit-scrollbar{width:6px}.filter-options-scrollable::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.filter-options-scrollable::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:10px}.filter-options-scrollable::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.filter-chip{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:500;color:#666;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px;text-align:left;white-space:nowrap}.chip-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-chip:hover{border-color:#06c;background:#e6f2ff;transform:translateY(-1px)}.filter-chip.active{background:#63c;border-color:#63c;color:#fff}.keyword-count{background:#00000026;padding:1px 5px;border-radius:10px;font-size:9px;font-weight:700;min-width:18px;text-align:center;flex-shrink:0}.filter-chip.active .keyword-count{background:#ffffff40;color:#fff}.filter-toggles{display:flex;flex-direction:column;gap:10px}.filter-toggle-option{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:500;color:#333;cursor:pointer;transition:all .2s;text-align:left;display:flex;align-items:center;gap:10px}.filter-toggle-option:hover{border-color:#06c;background:#f0f7ff}.filter-toggle-option.active{border-color:#06c;background:#e6f2ff;color:#06c}.toggle-checkbox{font-size:16px;line-height:1}.organismo-filters{display:flex;gap:8px;flex-wrap:wrap}.organismo-chip{flex:1;min-width:90px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.organismo-chip:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.organismo-chip.arca{border-color:#3b82f6;color:#3b82f6}.organismo-chip.arca:hover{background:#eff6ff}.organismo-chip.arca.active{background:#3b82f6;color:#fff}.organismo-chip.arba{border-color:#f59e0b;color:#f59e0b}.organismo-chip.arba:hover{background:#fffbeb}.organismo-chip.arba.active{background:#f59e0b;color:#fff}.organismo-chip.agip{border-color:#eab308;color:#eab308}.organismo-chip.agip:hover{background:#fefce8}.organismo-chip.agip.active{background:#eab308;color:#fff}@media(max-width:768px){.filter-panel{position:fixed;inset:0;max-width:100%;border-radius:0;padding:20px;overflow-y:auto}.filter-header{position:sticky;top:0;background:#fff;z-index:1;padding-top:0}}.custom-vencimiento-modal{max-width:600px;width:90%}.info-box{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;padding:12px;margin-bottom:20px}.info-box p{margin:4px 0;font-size:14px;color:#0c4a6e}.info-box strong{color:#0369a1}.custom-vencimiento-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;font-size:14px;color:#333}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-group textarea{resize:vertical;min-height:60px}.field-help{font-size:12px;color:#6b7280;margin-top:-2px}.month-info{color:#0369a1!important;font-weight:600!important;margin-top:8px!important}.form-row{display:grid;grid-template-columns:1fr 2fr 1fr;gap:12px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:16px;border-top:1px solid #eee}.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:#6366f1;color:#fff}.btn-primary:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.custom-vencimiento-modal{width:95%;max-height:90vh;overflow-y:auto}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.App{width:100%;height:100%;min-height:100vh;background:var(--color-light-bg);display:flex;flex-direction:column;overflow:hidden;position:relative}.notification-banner{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translate(-50%) translateY(-100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.notification-banner-content{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 10px 40px #00000026,0 0 0 1px #0000000d;display:flex;align-items:center;gap:1rem;min-width:500px;max-width:600px}.notification-icon{font-size:2rem;flex-shrink:0}.notification-text{flex:1}.notification-text h4{font-size:1rem;font-weight:700;color:var(--color-dark);margin:0 0 .25rem}.notification-text p{font-size:.875rem;color:#64748b;margin:0}.notification-actions{display:flex;gap:.75rem;flex-shrink:0}.notification-actions button{padding:.625rem 1.25rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap}.notification-actions .btn-primary{background:var(--color-primary);color:#fff}.notification-actions .btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.notification-actions .btn-secondary{background:#f1f5f9;color:#64748b}.notification-actions .btn-secondary:hover{background:#e2e8f0}@media(max-width:768px){.notification-banner-content{min-width:auto;max-width:90vw;flex-direction:column;text-align:center}.notification-actions{width:100%;flex-direction:column}.notification-actions button{width:100%}}.calendar-container{width:100%;height:100%;display:flex;flex-direction:column;background:var(--color-light-bg)}.calendar-header{background:var(--color-white);color:var(--color-dark);padding:.5rem 1.25rem;border-bottom:1px solid #e2e8f0;flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.calendar-header .header-left h1{font-size:1.25rem;font-weight:900;margin-bottom:.1rem;color:var(--color-primary)}.calendar-header .header-left h2{font-size:.75rem;font-weight:600;color:var(--color-gray);text-transform:uppercase;letter-spacing:.5px}.header-actions{display:flex;gap:.75rem;align-items:center}.export-button{display:flex;align-items:center;gap:.4rem;padding:.5rem .875rem;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;white-space:nowrap}.export-button.primary{background:var(--color-primary)}.export-button.primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.export-button.secondary{background:#64748b}.export-button.secondary:hover{background:#475569;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.export-button.custom{background:#10b981}.export-button.custom:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.export-button:active{transform:translateY(0)}.export-icon{font-size:1.125rem}.main-content{display:flex;gap:.75rem;flex:1;overflow:hidden;padding:.75rem}.calendar{flex:1;display:flex;flex-direction:column;background:var(--color-white);border-radius:10px;padding:.5rem;box-shadow:0 2px 8px #0000000d;overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin-bottom:.35rem;flex-shrink:0}.weekday{text-align:center;font-weight:700;color:var(--color-gray);padding:.3rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;flex:1;grid-auto-rows:minmax(80px,1fr);max-height:calc(100vh - 200px)}.calendar-day{border:1px solid #e2e8f0;border-radius:6px;padding:.25rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;transition:all .2s ease;background:var(--color-white);position:relative;overflow-y:auto;overflow-x:hidden;gap:.15rem}.calendar-day::-webkit-scrollbar{width:3px}.calendar-day::-webkit-scrollbar-track{background:transparent}.calendar-day::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:2px}.calendar-day.empty{background:transparent;border:none}.calendar-day.has-vencimientos{border-color:var(--color-primary);background:linear-gradient(135deg,#f8f5ff,#efe9ff)}.calendar-day.has-vencimientos:hover{background:linear-gradient(135deg,#efe9ff,#e5ddff);border-color:var(--color-primary);box-shadow:0 4px 12px #63c3}.calendar-day.selected{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);box-shadow:0 6px 16px #63c6}.day-number{font-size:.75rem;font-weight:900;color:var(--color-dark);width:100%;text-align:left;flex-shrink:0}.calendar-day.empty .day-number{color:transparent}.calendar-day.selected .day-number{color:var(--color-white)}.vencimientos-pills{display:flex;flex-direction:column;gap:.25rem;width:100%;flex:1}.vencimiento-pill{background:var(--color-primary);color:var(--color-white);padding:.3rem .45rem;border-radius:4px;font-size:.625rem;font-weight:700;text-align:center;cursor:pointer;transition:all .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.3px;position:relative}.vencimiento-pill.arca{background:#3b82f6}.vencimiento-pill.arca:hover{background:#2563eb;transform:scale(1.05);box-shadow:0 2px 8px #3b82f64d}.vencimiento-pill.arba{background:#f59e0b}.vencimiento-pill.arba:hover{background:#d97706;transform:scale(1.05);box-shadow:0 2px 8px #f59e0b4d}.vencimiento-pill.agip{background:#eab308}.vencimiento-pill.agip:hover{background:#ca8a04;transform:scale(1.05);box-shadow:0 2px 8px #eab3084d}.vencimiento-pill.custom{background:#10b981}.vencimiento-pill.custom:hover{background:#059669;transform:scale(1.05);box-shadow:0 2px 8px #10b98166}.vencimiento-pill:hover{transform:scale(1.05)}.vencimiento-pill.more{background:var(--color-secondary);color:var(--color-dark)}.vencimiento-pill.more:hover{background:#f5bf3d}.calendar-day.selected .vencimiento-pill{background:var(--color-white);color:var(--color-primary)}.calendar-day.selected .vencimiento-pill.custom{color:#10b981}.calendar-day.selected .vencimiento-pill:hover,.calendar-day.selected .vencimiento-pill.more{background:var(--color-secondary);color:var(--color-dark)}.tips-sidebar{width:280px;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;flex-shrink:0;position:relative;z-index:1000}.tips-sidebar::-webkit-scrollbar{width:6px}.tips-sidebar::-webkit-scrollbar-track{background:transparent}.tips-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.tips-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-white);border-radius:12px;box-shadow:0 2px 8px #0000000d}.tips-header h3{font-size:1.1rem;font-weight:900;color:var(--color-primary)}.ai-badge{background:linear-gradient(135deg,var(--color-primary),#8855ee);color:var(--color-white);padding:.35rem .75rem;border-radius:300px;font-size:.75rem;font-weight:700;letter-spacing:1px}.tip-card{background:var(--color-white);border-radius:12px;padding:.875rem;box-shadow:0 2px 8px #0000000d;border:2px solid transparent;transition:all .2s ease}.tip-card:hover{border-color:var(--color-secondary);box-shadow:0 4px 12px #0000001a}.tip-highlighted{background:linear-gradient(135deg,#fff9e6,#fff4d1);border-color:var(--color-secondary)}.tip-icon{font-size:2rem;margin-bottom:.75rem}.tip-card h4{font-size:1rem;font-weight:700;color:var(--color-dark);margin-bottom:.5rem}.tip-card p{font-size:.875rem;color:var(--color-gray);line-height:1.6}.tip-loading{display:flex;flex-direction:column;align-items:center;padding:2rem}.tip-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tip-loading p{margin-top:1rem;color:var(--color-gray);font-size:.85rem}.tips-list{display:flex;flex-direction:column;gap:.75rem}.tips-list h5{font-size:.85rem;font-weight:900;color:var(--color-dark);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:.5rem}.noticia-arca{background:var(--color-white);border-radius:12px;padding:.75rem;box-shadow:0 2px 8px #0000000d;border-left:4px solid #f59e0b;margin-bottom:0}.noticia-arca.loading{display:flex;justify-content:center;align-items:center;padding:2rem;min-height:100px}.noticia-spinner{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.noticia-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.noticia-badge{display:flex;align-items:center;gap:.375rem;background:#fef3c7;color:#92400e;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.noticia-icon{font-size:1rem}.noticia-fecha{font-size:.75rem;color:var(--color-gray);font-weight:600}.noticia-titulo{font-size:.95rem;font-weight:700;color:var(--color-dark);margin-bottom:.5rem;line-height:1.4}.noticia-descripcion{font-size:.8rem;color:#64748b;line-height:1.5;margin-bottom:.75rem}.noticia-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;font-weight:600;color:var(--color-primary);text-decoration:none;transition:all .2s ease}.noticia-link:hover{color:#2563eb;gap:.5rem}.tip-cta{background:linear-gradient(135deg,var(--color-primary) 0%,#8855ee 100%);border-radius:15px;padding:1.5rem;text-align:center;color:var(--color-white)}.tip-cta h4{font-size:1.1rem;font-weight:900;margin-bottom:.5rem}.tip-cta p{font-size:.875rem;margin-bottom:1rem;opacity:.9}.cta-button{background:var(--color-secondary);color:var(--color-dark);padding:12px 30px;border-radius:300px;font-weight:700;font-size:.9rem;letter-spacing:1px;transition:all .2s ease}.cta-button:hover{transform:translateY(-3px);box-shadow:0 6px 16px #f6c94e66}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:flex-start;z-index:900;padding:1.5rem;padding-right:450px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-white);border-radius:15px;max-width:900px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0000004d;animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{background:var(--color-primary);color:var(--color-white);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h2{font-size:1.4rem;font-weight:900}.modal-actions{display:flex;gap:.75rem;align-items:center}.export-day-button{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.export-day-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.export-day-button.google{background:#4285f44d;border-color:#4285f480}.export-day-button.google:hover{background:#4285f480;border-color:#4285f4b3}.close-button{background:#fff3;border:none;color:var(--color-white);font-size:1.5rem;width:36px;height:36px;border-radius:300px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:#ffffff4d;transform:scale(1.1)}.modal-body{padding:2rem;overflow-y:auto;flex:1;background:var(--color-light-bg)}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:#e2e8f0}.modal-body::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:#52a}.vencimiento-item{background:var(--color-white);border-radius:15px;padding:1.5rem;margin-bottom:1.25rem;border:2px solid #e2e8f0;box-shadow:0 2px 6px #0000000d;transition:all .2s ease}.vencimiento-item.custom{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.vencimiento-item:hover{border-color:var(--color-secondary);box-shadow:0 4px 12px #0000001a}.vencimiento-item.custom:hover{border-color:#059669;box-shadow:0 4px 12px #10b9814d}.vencimiento-item:last-child{margin-bottom:0}.vencimiento-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;gap:1rem}.vencimiento-header h3{color:var(--color-dark);font-size:1.2rem;font-weight:900;margin:0}.day-badge{background:var(--color-primary);color:var(--color-white);padding:.4rem .9rem;border-radius:300px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;flex-shrink:0}.vencimiento-description{color:var(--color-gray);line-height:1.7;margin-bottom:1rem;font-size:.95rem}.vencimiento-description p{margin:.5rem 0}.vencimiento-actions{margin-top:1.25rem;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.reminder-button{display:inline-flex;align-items:center;gap:.375rem;background:#10b981;color:#fff;padding:10px 24px;border-radius:300px;border:none;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;letter-spacing:.5px}.reminder-button:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.reminder-button.active{background:#6b7280;cursor:not-allowed}.reminder-button.delete{background:#ef4444}.reminder-button.delete:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}.reminder-button:disabled{opacity:.7;cursor:not-allowed}.payment-link{display:inline-block;background:var(--color-primary);color:var(--color-white);padding:10px 24px;border-radius:300px;text-decoration:none;font-weight:600;font-size:.875rem;transition:all .2s ease;letter-spacing:.5px}.payment-link:hover{background:#52a;transform:translateY(-3px);box-shadow:0 6px 16px #6633cc4d}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:var(--color-gray)}.spinner{width:60px;height:60px;border:4px solid #e2e8f0;border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loading p{margin-top:1.5rem;font-size:1.1rem;font-weight:600;color:var(--color-gray)}.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:var(--color-dark)}.error p{font-size:1.2rem;margin-bottom:1.5rem;color:#ef4444;font-weight:600}.error button{background:var(--color-primary);color:var(--color-white);padding:12px 30px;border-radius:300px;font-weight:700;cursor:pointer;transition:all .2s ease;font-size:.95rem;letter-spacing:1px}.error button:hover{background:#52a;transform:translateY(-3px);box-shadow:0 6px 16px #6633cc4d}@media(max-width:1024px){.main-content{flex-direction:column}.tips-sidebar{width:100%;max-height:300px}.calendar{flex:1}}@media(max-width:768px){.calendar-header{padding:1rem 1.5rem}.calendar-header h1{font-size:1.5rem}.calendar-header h2{font-size:.75rem}.main-content{padding:1rem;gap:1rem}.calendar{padding:.75rem}.calendar-weekdays{gap:.25rem}.weekday{padding:.25rem;font-size:.6rem}.calendar-days{gap:.25rem}.calendar-day{padding:.35rem}.day-number{font-size:.85rem;margin-bottom:.15rem}.vencimiento-pill{font-size:.55rem;padding:.25rem .4rem}.tips-sidebar{max-height:250px}.modal-overlay{padding:1rem;z-index:1001}.modal-body,.vencimiento-item{padding:1.25rem}.vencimiento-header{flex-direction:column;gap:.75rem}.vencimiento-header h3{font-size:1.1rem}.day-badge{margin-left:0;align-self:flex-start}}
