*{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;--qb-green: #2CA01C;--qb-green-hover: #248516;--qb-blue: #0077C5;--qb-blue-hover: #005EA2;--qb-navy: #393A4D;--qb-gray-900: #212529;--qb-gray-800: #3E4345;--qb-gray-700: #5B5F62;--qb-gray-600: #6B7074;--qb-gray-500: #868C8F;--qb-gray-400: #A9AEB1;--qb-gray-300: #D1D5D8;--qb-gray-200: #E7EAED;--qb-gray-100: #F4F5F6;--qb-gray-50: #FAFBFC;--qb-success: #2CA01C;--qb-warning: #FF9800;--qb-error: #E53935;--qb-info: #0077C5;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,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:1px solid var(--qb-gray-300);border-radius:var(--radius-md);padding:.625rem 1rem;font-size:.875rem;font-weight:600;color:var(--qb-gray-700);cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .15s ease;position:relative;box-shadow:var(--shadow-sm)}.filter-toggle:hover{border-color:var(--qb-blue);background:var(--qb-gray-50);box-shadow:var(--shadow)}.filter-toggle.active{border-color:var(--qb-blue);background:#e6f3ff;color:var(--qb-blue);box-shadow:var(--shadow-md)}.filter-toggle.has-filters{border-color:var(--qb-blue);background:var(--qb-blue);color:#fff;box-shadow:var(--shadow-md)}.filter-toggle.has-filters:hover{background:var(--qb-blue-hover)}.filter-icon{font-size:1rem;line-height:1}.filter-badge{background:var(--qb-error);color:#fff;border-radius:50%;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;position:absolute;top:-.5rem;right:-.5rem;box-shadow:0 2px 4px #0003}.filter-panel{position:absolute;top:calc(100% + .75rem);right:0;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--qb-gray-200);padding:var(--spacing-lg);min-width:380px;max-width:420px;z-index:1000;animation:slideDownFade .2s ease}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--qb-gray-200)}.filter-header h3{margin:0;font-size:1.125rem;font-weight:700;color:var(--qb-navy);letter-spacing:-.25px}.filter-header-actions{display:flex;gap:var(--spacing-sm)}.clear-filters{background:none;border:none;color:var(--qb-blue);font-size:.8125rem;font-weight:600;cursor:pointer;padding:.375rem .625rem;border-radius:var(--radius);transition:all .15s ease}.clear-filters:hover{background:#e6f3ff;color:var(--qb-blue-hover)}.clear-filters.secondary{color:var(--qb-gray-600)}.clear-filters.secondary:hover{background:var(--qb-gray-100);color:var(--qb-gray-800)}.filter-section{margin-bottom:var(--spacing-lg)}.filter-section:last-child{margin-bottom:0}.filter-section label{display:block;font-size:.8125rem;font-weight:600;color:var(--qb-gray-700);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.search-input{width:100%;padding:.625rem .75rem;border:1px solid var(--qb-gray-300);border-radius:var(--radius-md);font-size:.875rem;transition:all .15s ease;box-sizing:border-box;color:var(--qb-gray-900)}.search-input:focus{outline:none;border-color:var(--qb-blue);box-shadow:0 0 0 3px #0077c51a}.search-input::placeholder{color:var(--qb-gray-400)}.organismo-filters{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.organismo-chip{background:#fff;border:1.5px solid var(--qb-gray-300);border-radius:var(--radius-md);padding:.5rem .875rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease;color:var(--qb-gray-700)}.organismo-chip:hover{border-color:var(--qb-blue);background:var(--qb-gray-50)}.organismo-chip.active{background:var(--qb-blue);border-color:var(--qb-blue);color:#fff;box-shadow:var(--shadow-sm)}.organismo-chip.arca.active{background:#0077c5;border-color:#0077c5}.organismo-chip.arba.active{background:#ff9800;border-color:#ff9800}.organismo-chip.agip.active{background:#ffc107;border-color:#ffc107;color:var(--qb-gray-900)}.filter-options-scrollable{max-height:320px;overflow-y:auto;padding-right:.5rem;display:flex;flex-direction:column;gap:.375rem}.filter-options-scrollable::-webkit-scrollbar{width:6px}.filter-options-scrollbar::-webkit-scrollbar-track{background:var(--qb-gray-100);border-radius:3px}.filter-options-scrollable::-webkit-scrollbar-thumb{background:var(--qb-gray-300);border-radius:3px}.filter-options-scrollable::-webkit-scrollbar-thumb:hover{background:var(--qb-gray-400)}.filter-chip{background:#fff;border:1.5px solid var(--qb-gray-300);border-radius:var(--radius-md);padding:.625rem .75rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--qb-gray-700)}.filter-chip:hover{border-color:var(--qb-blue);background:var(--qb-gray-50)}.filter-chip.active{background:#e6f3ff;border-color:var(--qb-blue);color:var(--qb-blue);font-weight:600}.chip-content{flex:1;display:flex;align-items:center;gap:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keyword-count{background:var(--qb-gray-200);color:var(--qb-gray-700);padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;min-width:1.5rem;text-align:center}.filter-chip.active .keyword-count{background:var(--qb-blue);color:#fff}.filter-toggles{display:flex;flex-direction:column;gap:var(--spacing-sm)}.filter-toggle-option{background:#fff;border:1.5px solid var(--qb-gray-300);border-radius:var(--radius-md);padding:.625rem .75rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:.625rem;color:var(--qb-gray-700);text-align:left}.filter-toggle-option:hover{border-color:var(--qb-blue);background:var(--qb-gray-50)}.filter-toggle-option.active{background:#e6f3ff;border-color:var(--qb-blue);color:var(--qb-blue);font-weight:600}.toggle-checkbox{font-size:1.125rem;line-height:1;color:var(--qb-gray-400)}.filter-toggle-option.active .toggle-checkbox{color:var(--qb-blue)}@media(max-width:768px){.filter-panel{min-width:320px;max-width:calc(100vw - 2rem);right:auto;left:50%;transform:translate(-50%)}.filter-options-scrollable{max-height:240px}}.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(--qb-gray-50)}.calendar-header{background:#fff;color:var(--qb-gray-900);padding:.75rem 1.5rem;border-bottom:1px solid var(--qb-gray-200);flex-shrink:0;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.calendar-header .header-left h1{font-size:1.5rem;font-weight:700;margin-bottom:.25rem;color:var(--qb-navy);letter-spacing:-.5px}.month-navigation{display:flex;align-items:center;gap:var(--spacing-md);margin-top:.25rem}.month-navigation h2{font-size:.9375rem;font-weight:600;color:var(--qb-gray-700);text-transform:capitalize;letter-spacing:0;margin:0;min-width:220px;text-align:center}.nav-button{background:#fff;color:var(--qb-gray-700);border:1px solid var(--qb-gray-300);border-radius:var(--radius-md);width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-sm)}.nav-button:hover{background:var(--qb-gray-50);border-color:var(--qb-gray-400);color:var(--qb-gray-900);box-shadow:var(--shadow)}.nav-button:active{transform:scale(.95);box-shadow:var(--shadow-sm)}.calendar-header .header-left h2{font-size:.8125rem;font-weight:500;color:var(--qb-gray-600);text-transform:uppercase;letter-spacing:.5px}.header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.export-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-sm);white-space:nowrap;letter-spacing:.25px}.export-button.primary{background:var(--qb-green)}.export-button.primary:hover{background:var(--qb-green-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.export-button.secondary{background:var(--qb-blue)}.export-button.secondary:hover{background:var(--qb-blue-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.export-button.custom{background:var(--qb-blue);border:1px solid var(--qb-blue)}.export-button.custom:hover{background:var(--qb-blue-hover);border-color:var(--qb-blue-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.export-button:active{transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm)}.export-icon{font-size:1.125rem;line-height:1}.main-content{display:flex;gap:.75rem;flex:1;overflow:hidden;padding:.75rem}.calendar{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:var(--radius-lg);padding:.75rem;box-shadow:var(--shadow);border:1px solid var(--qb-gray-200);overflow:hidden;position:relative}.calendar-loading-overlay{position:absolute;inset:0;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;border-radius:var(--radius-lg)}.calendar-loading-overlay .spinner{width:48px;height:48px;border:4px solid var(--qb-gray-200);border-top-color:var(--qb-blue);border-radius:50%;animation:spin .8s linear infinite}.calendar-loading-overlay p{margin-top:var(--spacing-md);font-size:.9375rem;font-weight:600;color:var(--qb-gray-700)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.375rem;margin-bottom:.5rem;flex-shrink:0;padding-bottom:.375rem;border-bottom:2px solid var(--qb-gray-200)}.weekday{text-align:center;font-weight:600;color:var(--qb-gray-700);padding:.25rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.375rem;flex:1;grid-auto-rows:minmax(75px,1fr);max-height:calc(100vh - 180px)}.calendar-day{border:1px solid var(--qb-gray-200);border-radius:var(--radius);padding:.375rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;transition:all .15s ease;background:#fff;position:relative;overflow-y:auto;overflow-x:hidden;gap:.2rem;cursor:pointer}.calendar-day::-webkit-scrollbar{width:4px}.calendar-day::-webkit-scrollbar-track{background:transparent}.calendar-day::-webkit-scrollbar-thumb{background:var(--qb-gray-300);border-radius:2px}.calendar-day::-webkit-scrollbar-thumb:hover{background:var(--qb-gray-400)}.calendar-day.empty{background:var(--qb-gray-50);border-color:var(--qb-gray-100);cursor:default}.calendar-day.has-vencimientos{border-color:var(--qb-blue);background:linear-gradient(135deg,#f0f8ff,#e6f3ff)}.calendar-day.has-vencimientos:hover{background:linear-gradient(135deg,#e6f3ff,#cce7ff);border-color:var(--qb-blue);box-shadow:var(--shadow-md);transform:translateY(-1px)}.calendar-day.selected{background:var(--qb-blue);color:#fff;border-color:var(--qb-blue-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.day-number{font-size:.75rem;font-weight:700;color:var(--qb-gray-900);width:100%;text-align:left;flex-shrink:0;padding-bottom:.125rem}.calendar-day.empty .day-number{color:var(--qb-gray-400)}.calendar-day.selected .day-number{color:#fff}.vencimientos-pills{display:flex;flex-direction:column;gap:.25rem;width:100%;flex:1}.vencimiento-pill{background:var(--qb-blue);color:#fff;padding:.25rem .4rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:600;text-align:left;cursor:pointer;transition:all .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.2px;position:relative;box-shadow:var(--shadow-sm);border:1px solid transparent}.vencimiento-pill.arca{background:#0077c5;border-color:#005ea2}.vencimiento-pill.arca:hover{background:#005ea2;transform:translateY(-1px);box-shadow:var(--shadow-md)}.vencimiento-pill.arba{background:#e91e63;border-color:#c2185b}.vencimiento-pill.arba:hover{background:#c2185b;transform:translateY(-1px);box-shadow:var(--shadow-md)}.vencimiento-pill.agip{background:#ff9800;border-color:#f57c00}.vencimiento-pill.agip:hover{background:#f57c00;transform:translateY(-1px);box-shadow:var(--shadow-md)}.vencimiento-pill.custom{background:var(--qb-green);border-color:var(--qb-green-hover)}.vencimiento-pill.custom:hover{background:var(--qb-green-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.vencimiento-pill:hover{transform:translateY(-1px)}.vencimiento-pill.more{background:var(--qb-gray-600);border-color:var(--qb-gray-700);color:#fff}.vencimiento-pill.more:hover{background:var(--qb-gray-700)}.calendar-day.selected .vencimiento-pill{background:#fff;color:var(--qb-blue);border-color:var(--qb-gray-200)}.calendar-day.selected .vencimiento-pill.arca{color:#0077c5}.calendar-day.selected .vencimiento-pill.arba{color:#e91e63}.calendar-day.selected .vencimiento-pill.agip{color:#ff9800}.calendar-day.selected .vencimiento-pill.custom{color:var(--qb-green)}.calendar-day.selected .vencimiento-pill:hover{background:var(--qb-gray-50);transform:translateY(-1px)}.calendar-day.selected .vencimiento-pill.more{background:var(--qb-gray-100);color:var(--qb-gray-800);border-color:var(--qb-gray-300)}.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}}
