.install-banner{position:fixed;bottom:0;left:0;right:0;z-index:9998;padding:16px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 -4px 20px #00000026;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-banner-container{position:relative;max-width:600px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.install-banner-icon{font-size:32px;line-height:1}.install-banner-content{flex:1}.install-banner-title{margin:0 0 4px;font-size:16px;font-weight:700;line-height:1.3}.install-banner-description{margin:0;font-size:13px;opacity:.9;line-height:1.4}.install-banner-actions{display:flex;gap:8px}.install-banner-btn{padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.install-banner-btn-primary{background:#fff;color:#2563eb}.install-banner-btn-primary:hover{background:#f0f0f0;transform:translateY(-1px)}.install-banner-btn-primary:active{transform:translateY(0)}.install-banner-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.install-banner-btn-secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}.install-banner-btn-secondary:hover{background:#ffffff1a;border-color:#fff9}.install-banner-btn-secondary:active{background:#ffffff26}.install-banner-close{position:absolute;top:-8px;right:-8px;background:#0000004d;border:none;color:#fff;font-size:28px;line-height:1;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.install-banner-close:hover{background:#00000080;transform:scale(1.1)}.install-banner-close:active{transform:scale(.95)}@media(max-width:480px){.install-banner{padding:12px}.install-banner-container{grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:12px}.install-banner-icon{font-size:28px;grid-row:1 / 2}.install-banner-content{grid-row:1 / 2}.install-banner-actions{grid-column:1 / 3;grid-row:2 / 3;width:100%}.install-banner-btn{flex:1;padding:10px 12px;font-size:13px}.install-banner-title{font-size:15px}.install-banner-description{font-size:12px}}.install-banner.hiding{animation:slideDown .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.offline-indicator{position:fixed;top:20px;left:50%;transform:translate(-50%) translateY(-100px);z-index:9999;padding:14px 24px;border-radius:12px;box-shadow:0 6px 20px #00000026;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);max-width:90%;width:auto;min-width:280px}.offline-indicator.show{opacity:1;transform:translate(-50%) translateY(0)}.offline-indicator.offline{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:1px solid rgba(255,255,255,.2)}.offline-indicator.online{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:1px solid rgba(255,255,255,.2)}.offline-indicator-content{display:flex;align-items:center;gap:12px}.offline-indicator-icon{font-size:20px;line-height:1}.offline-indicator-message{flex:1;font-size:14px;font-weight:600;line-height:1.4}.offline-indicator-close{background:none;border:none;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:0;margin:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.offline-indicator-close:hover{background-color:#fff3}.offline-indicator-close:active{background-color:#ffffff4d}@media(max-width:768px){.offline-indicator{top:10px;min-width:240px;padding:12px 18px}.offline-indicator-message{font-size:13px}.offline-indicator-icon{font-size:18px}}.offline-indicator.offline .offline-indicator-icon{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.quick-mode{display:flex;flex-direction:column;gap:24px}.quick-mode-description{padding:16px;background-color:#2563eb1a;border-left:4px solid var(--color-btnPrimary);border-radius:6px}.quick-mode-description p{margin:0;color:var(--color-textPrimary);font-size:14px;line-height:1.5}.color-picker-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.color-input-group{display:flex;flex-direction:column;gap:8px}.color-input-group label{font-weight:500;color:var(--color-textPrimary);font-size:14px}.color-input-group small{color:var(--color-textMuted);font-size:12px}.color-picker-wrapper{position:relative}.color-preview-button{width:100%;height:60px;border-radius:8px;border:2px solid var(--color-border);cursor:pointer;position:relative;overflow:hidden;transition:all .2s;box-shadow:0 2px 8px #0000001a}.color-preview-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--color-btnPrimary)}.color-hex{position:absolute;bottom:8px;left:50%;transform:translate(-50%);background-color:#000000b3;color:#fff;padding:4px 12px;border-radius:4px;font-size:13px;font-weight:500;font-family:monospace}.color-picker-backdrop{position:fixed;inset:0;z-index:10001;background:#0003}.color-picker-popover{position:absolute;top:100%;left:0;margin-top:8px;z-index:10002;pointer-events:auto}.color-picker-popover .react-colorful{width:250px;height:250px;border-radius:8px;box-shadow:0 8px 24px #00000080;border:2px solid var(--color-border);background-color:var(--color-cardBackground)!important;padding:8px;position:relative;z-index:1}.color-picker-popover .react-colorful__saturation,.color-picker-popover .react-colorful__hue,.color-picker-popover .react-colorful__alpha{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.base-theme-section{display:flex;flex-direction:column;gap:12px}.base-theme-section>label{font-weight:500;color:var(--color-textPrimary);font-size:14px}.radio-group{display:flex;gap:16px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 16px;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-inputBg);transition:all .2s}.radio-label:hover{border-color:var(--color-btnPrimary);background-color:#2563eb0d}.radio-label input[type=radio]{cursor:pointer;width:18px;height:18px}.radio-label span{color:var(--color-textPrimary);font-size:14px}.generate-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--color-btnPrimary),var(--color-btnPrimaryHover));color:var(--color-btnText);border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #2563eb4d}.generate-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}.generate-button:active{transform:translateY(0)}.quick-mode-info{padding:12px;background-color:#10b9811a;border-radius:6px;border:1px dashed rgba(16,185,129,.3)}.info-text{margin:0;font-size:13px;color:var(--color-textSecondary);line-height:1.5}.intermediate-mode{display:flex;flex-direction:column;gap:24px}.intermediate-description{padding:16px;background-color:#2563eb1a;border-left:4px solid var(--color-btnPrimary);border-radius:6px}.intermediate-description p{margin:0;color:var(--color-textPrimary);font-size:14px}.color-groups{display:flex;flex-direction:column;gap:24px}.color-group{display:flex;flex-direction:column;gap:12px;padding:16px;background-color:var(--color-inputBg);border-radius:8px;border:1px solid var(--color-border)}.color-group h4{margin:0 0 8px;font-size:13px;color:var(--color-textMuted);font-weight:500;letter-spacing:.5px}.color-group-input{display:flex;flex-direction:column;gap:8px}.color-group-input>label{font-weight:500;color:var(--color-textPrimary);font-size:14px}.color-group-input small{color:var(--color-textMuted);font-size:12px}.color-group-controls{display:flex;align-items:center;gap:12px}.color-preview-button-small{width:80px;height:40px;border-radius:6px;border:2px solid var(--color-border);cursor:pointer;position:relative;overflow:hidden;transition:all .2s}.color-preview-button-small:hover{transform:scale(1.05);border-color:var(--color-btnPrimary)}.color-hex-small{position:absolute;bottom:4px;left:50%;transform:translate(-50%);background-color:#000000b3;color:#fff;padding:2px 6px;border-radius:3px;font-size:10px;font-family:monospace}.auto-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;flex:1}.auto-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px}.auto-checkbox span{color:var(--color-textSecondary);font-size:13px}.intermediate-mode .color-picker-backdrop{position:fixed;inset:0;z-index:10001;background:#0003}.intermediate-mode .color-picker-popover{position:absolute;top:100%;left:0;margin-top:8px;z-index:10002;pointer-events:auto}.intermediate-mode .color-picker-popover .react-colorful{width:200px;height:200px;border-radius:8px;box-shadow:0 8px 24px #00000080;border:2px solid var(--color-border);background-color:var(--color-cardBackground)!important;padding:8px;position:relative;z-index:1}.intermediate-mode .color-picker-popover .react-colorful__saturation,.intermediate-mode .color-picker-popover .react-colorful__hue,.intermediate-mode .color-picker-popover .react-colorful__alpha{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.advanced-mode{display:flex;flex-direction:column;gap:20px}.advanced-description{padding:16px;background-color:#ef44441a;border-left:4px solid #ef4444;border-radius:6px}.advanced-description p{margin:0;color:var(--color-textPrimary);font-size:14px}.advanced-color-list{display:flex;flex-direction:column;gap:20px}.advanced-color-group{display:flex;flex-direction:column;gap:12px}.advanced-color-group h4{margin:0;font-size:13px;color:var(--color-textMuted);font-weight:500;letter-spacing:.5px}.advanced-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.advanced-color-item{display:flex;flex-direction:column;gap:6px}.advanced-color-item label{font-size:13px;color:var(--color-textPrimary);font-weight:500}.advanced-color-controls{position:relative}.advanced-color-preview{width:100%;height:50px;border-radius:6px;border:2px solid var(--color-border);cursor:pointer;position:relative;overflow:hidden;transition:all .2s}.advanced-color-preview:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--color-btnPrimary)}.advanced-color-hex{position:absolute;bottom:4px;left:50%;transform:translate(-50%);background-color:#000c;color:#fff;padding:3px 8px;border-radius:3px;font-size:11px;font-family:monospace;font-weight:500}.advanced-mode .color-picker-backdrop{position:fixed;inset:0;z-index:10001;background:#0003}.advanced-mode .color-picker-popover{position:absolute;top:100%;left:0;margin-top:8px;z-index:10002;pointer-events:auto}.advanced-mode .color-picker-popover .react-colorful{width:200px;height:200px;border-radius:8px;box-shadow:0 8px 24px #00000080;border:2px solid var(--color-border);background-color:var(--color-cardBackground)!important;padding:8px;position:relative;z-index:1}.advanced-mode .color-picker-popover .react-colorful__saturation,.advanced-mode .color-picker-popover .react-colorful__hue,.advanced-mode .color-picker-popover .react-colorful__alpha{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.theme-preview{background-color:var(--bg);padding:20px;border-radius:8px;border:2px solid var(--border)}.preview-card{background-color:var(--card-bg);padding:20px;border-radius:8px;border:1px solid var(--border);display:flex;flex-direction:column;gap:20px}.preview-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border)}.preview-header h3{margin:0;color:var(--text-primary);font-size:18px}.preview-badge{background-color:var(--btn-primary);color:var(--btn-text);padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.preview-content{display:flex;flex-direction:column;gap:8px}.preview-text-primary{margin:0;color:var(--text-primary);font-size:15px;font-weight:500}.preview-text-secondary{margin:0;color:var(--text-secondary);font-size:14px}.preview-text-muted{margin:0;color:var(--text-muted);font-size:13px}.preview-input-section{display:flex;flex-direction:column;gap:6px}.preview-input-section label{color:var(--text-primary);font-size:13px;font-weight:500}.preview-input{padding:8px 12px;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--text-primary);font-size:14px}.preview-input::placeholder{color:var(--text-muted)}.preview-buttons{display:flex;gap:8px;flex-wrap:wrap}.preview-buttons button{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;border:none;cursor:pointer;transition:all .2s}.preview-btn-primary{background-color:var(--btn-primary);color:var(--btn-text)}.preview-btn-secondary{background-color:var(--btn-secondary);color:var(--btn-text)}.preview-btn-success{background-color:var(--success);color:var(--btn-text)}.preview-btn-error{background-color:var(--error);color:var(--btn-text)}.preview-states{display:flex;gap:12px;flex-wrap:wrap}.preview-state{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500}.preview-state.success{background-color:#10b98133;color:var(--success);border:1px solid var(--success)}.preview-state.error{background-color:#ef444433;color:var(--error);border:1px solid var(--error)}.preview-state.warning{background-color:#f59e0b33;color:var(--warning);border:1px solid var(--warning)}.theme-customizer-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.theme-customizer-modal{background-color:var(--color-cardBackground)!important;border-radius:12px;max-width:900px;width:100%;max-height:90vh;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden;color:var(--color-textPrimary)!important;border:1px solid var(--color-border)}.theme-customizer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border);position:sticky;top:0;background-color:var(--color-cardBackground)!important;z-index:10}.theme-customizer-header h2{margin:0;font-size:24px;color:var(--color-textPrimary)!important}.close-button{background:none;border:none;font-size:28px;color:var(--color-textSecondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover{background-color:var(--color-hover);color:var(--color-textPrimary)}.theme-name-section{padding:16px 24px;border-bottom:1px solid var(--color-border)}.theme-name-section label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-textPrimary)}.theme-name-section input{width:100%;padding:10px 12px;background-color:var(--color-inputBg);border:1px solid var(--color-inputBorder);border-radius:6px;color:var(--color-inputText);font-size:15px;transition:all .2s}.theme-name-section input:focus{outline:none;border-color:var(--color-btnPrimary);box-shadow:0 0 0 3px #2563eb1a}.theme-customizer-tabs{display:flex;gap:4px;padding:16px 24px 0;border-bottom:1px solid var(--color-border)}.tab-button{flex:1;padding:12px 16px;background:none;border:none;border-bottom:3px solid transparent;color:var(--color-textSecondary);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-1px}.tab-button:hover{color:var(--color-textPrimary);background-color:var(--color-hover)}.tab-button.active{color:var(--color-btnPrimary);border-bottom-color:var(--color-btnPrimary);background-color:#2563eb0d}.theme-customizer-content{padding:24px;overflow-y:auto;max-height:calc(90vh - 202px);background-color:var(--color-cardBackground)!important;color:var(--color-textPrimary)!important}.theme-preview-section{padding:24px;margin-top:24px;border-top:2px solid var(--color-border);background-color:var(--color-background);border-radius:8px}.theme-preview-section h3{margin:0 0 16px;font-size:18px;color:var(--color-textPrimary)}.theme-customizer-actions{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--color-border);background-color:var(--color-cardBackground)!important;position:sticky;bottom:0}.theme-customizer-actions button{flex:1;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.theme-customizer-actions .btn-primary{background-color:var(--color-btnPrimary);color:var(--color-btnText)}.theme-customizer-actions .btn-primary:hover:not(:disabled){background-color:var(--color-btnPrimaryHover);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.theme-customizer-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.theme-customizer-actions .btn-secondary{background-color:transparent;color:var(--color-textPrimary);border:1px solid var(--color-border)}.theme-customizer-actions .btn-secondary:hover{background-color:var(--color-hover)}.theme-customizer-content::-webkit-scrollbar{width:8px}.theme-customizer-content::-webkit-scrollbar-track{background:transparent}.theme-customizer-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.theme-customizer-content::-webkit-scrollbar-thumb:hover{background:var(--color-textMuted)}.dashboard-mobile{padding:16px;max-width:600px;margin:0 auto}.dashboard-mobile-header{margin-bottom:24px}.dashboard-mobile-header h2{font-size:24px;font-weight:700;margin:0 0 4px;color:var(--color-textPrimary)}.dashboard-mobile-subtitle{font-size:14px;color:var(--color-textSecondary);margin:0}.dashboard-mobile-indicators{display:grid;gap:12px;margin-bottom:24px}.indicator-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--color-cardBackground);border-radius:12px;border:1px solid var(--color-border);box-shadow:0 2px 8px #0000000f}.indicator-icon{font-size:32px;line-height:1}.indicator-content{flex:1}.indicator-label{font-size:12px;color:var(--color-textSecondary);margin:0 0 4px;font-weight:500}.indicator-value{font-size:24px;font-weight:700;margin:0;color:var(--color-textPrimary)}.dashboard-mobile-section{margin-bottom:24px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h3{font-size:18px;font-weight:700;margin:0;color:var(--color-textPrimary)}.section-badge{background:var(--color-btnPrimary);color:#fff;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600}.empty-state{text-align:center;padding:32px 16px;background:var(--color-cardBackground);border-radius:12px;border:1px solid var(--color-border)}.empty-icon{font-size:48px;margin-bottom:12px}.empty-title{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--color-textPrimary)}.empty-description{font-size:14px;color:var(--color-textSecondary);margin:0;line-height:1.5}.suscripciones-list{display:flex;flex-direction:column;gap:12px}.suscripcion-card{background:var(--color-cardBackground);border-radius:12px;border:1px solid var(--color-border);padding:16px;box-shadow:0 2px 8px #0000000f}.suscripcion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.suscripcion-info{flex:1;min-width:0}.suscripcion-nombre{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--color-textPrimary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suscripcion-fecha{font-size:13px;color:var(--color-textSecondary);margin:0}.suscripcion-urgencia{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;white-space:nowrap}.suscripcion-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--color-border)}.suscripcion-monto{font-size:18px;font-weight:700;color:var(--color-textPrimary)}.suscripcion-frecuencia{font-size:12px;color:var(--color-textSecondary);padding:4px 8px;background:var(--color-background);border-radius:6px}.dashboard-mobile-loading{text-align:center;padding:48px 16px}.loading-spinner{width:40px;height:40px;margin:0 auto 16px;border:3px solid var(--color-border);border-top-color:var(--color-btnPrimary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-mobile-loading p{color:var(--color-textSecondary);font-size:14px}.dashboard-mobile-error{text-align:center;padding:48px 16px;background:var(--color-cardBackground);border-radius:12px;border:1px solid var(--color-border)}.error-icon{font-size:48px;display:block;margin-bottom:16px}.dashboard-mobile-error p{color:var(--color-error);font-size:14px;margin:0 0 16px}.retry-btn{padding:10px 20px;background:var(--color-btnPrimary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.retry-btn:hover{opacity:.9;transform:translateY(-1px)}.retry-btn:active{transform:translateY(0)}.dashboard-mobile-info{margin-top:24px;padding:12px 16px;background:#2563eb1a;border:1px solid rgba(37,99,235,.3);border-radius:10px;text-align:center}.dashboard-mobile-info p{margin:0;font-size:13px;color:var(--color-textSecondary);line-height:1.5}.summary-card{background:var(--color-cardBackground);border-radius:16px;border:2px solid var(--color-border);padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f;transition:all .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--color-primary)}.summary-card:active{transform:translateY(0)}.summary-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.summary-icon{font-size:28px;line-height:1}.summary-title{font-size:16px;font-weight:700;color:var(--color-textPrimary)}.summary-amounts{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.amount-row{display:flex;justify-content:space-between;align-items:center}.amount-label{font-size:14px;color:var(--color-textSecondary);font-weight:500}.amount-value{font-size:16px;font-weight:700;color:var(--color-textPrimary)}.amount-value.amount-success{color:var(--color-success)}.amount-value.amount-warning{color:var(--color-warning)}.amount-value.amount-info{color:var(--color-info)}.summary-footer{font-size:12px;color:var(--color-textSecondary);text-align:center;padding-top:8px;border-top:1px solid var(--color-border);font-weight:500}@media(max-width:360px){.dashboard-mobile{padding:12px}.dashboard-mobile-header h2{font-size:20px}.indicator-card{padding:12px;gap:12px}.indicator-icon{font-size:28px}.indicator-value{font-size:20px}.suscripcion-card{padding:12px}.suscripcion-nombre{font-size:15px}.suscripcion-monto{font-size:16px}.summary-card{padding:16px}.summary-icon{font-size:24px}.summary-title{font-size:15px}.amount-label{font-size:13px}.amount-value{font-size:15px}}:root{--cal-primary: #3b82f6;--cal-accent-orange: #f59e0b;--cal-bg-base: var(--color-cardBackground);--cal-bg-hover: var(--color-hover);--cal-border: var(--color-border);--cal-text-primary: var(--color-textPrimary);--cal-text-secondary: var(--color-textSecondary);--cal-shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--cal-transition: all .15s ease}.fc{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}.fc .fc-view-harness{background:var(--cal-bg-base);border:1px solid var(--cal-border);border-radius:8px;overflow:hidden}.fc .fc-toolbar{padding:16px 20px!important;background:var(--color-cardBackground)!important;border-bottom:2px solid var(--cal-border);margin-bottom:0!important}.fc .fc-toolbar-title{font-size:24px!important;font-weight:600!important;color:var(--cal-text-primary)!important}.fc .fc-button{background:var(--color-cardBackground)!important;border:1px solid var(--cal-border)!important;color:var(--cal-text-primary)!important;border-radius:6px!important;padding:6px 14px!important;font-weight:500!important;font-size:14px!important;transition:var(--cal-transition)!important;text-transform:capitalize!important}.fc .fc-button:hover{background:var(--cal-bg-hover)!important;border-color:var(--cal-primary)!important;color:var(--cal-primary)!important}.fc .fc-button:active{background:#e9ecef!important}.fc .fc-button-active{background:var(--cal-primary)!important;border-color:var(--cal-primary)!important;color:var(--color-btnText)!important}.fc .fc-button:disabled{opacity:.5!important;cursor:not-allowed!important}.fc .fc-col-header{background:#f8f9fa;border-bottom:1px solid var(--cal-border)}.fc .fc-col-header-cell{padding:12px 8px!important;font-weight:600!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.05em;color:var(--cal-text-secondary)!important;border-right:1px solid var(--cal-border)!important}.fc .fc-daygrid-day{border:1px solid var(--cal-border)!important;background:var(--cal-bg-base)!important;transition:var(--cal-transition);cursor:pointer;position:relative;min-height:100px}.fc .fc-daygrid-day:hover{background:var(--cal-bg-hover)!important;box-shadow:inset 0 0 0 1px var(--cal-primary)}.fc .fc-daygrid-day.fc-day-today{background:#e7f3ff!important;border:2px solid var(--cal-primary)!important}.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{background:var(--cal-primary);color:var(--color-btnText);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:700}.fc .fc-daygrid-day.fc-day-other{background:#fafafa!important;opacity:.6}.fc .fc-daygrid-day-number{padding:8px 10px!important;font-size:16px!important;font-weight:600!important;color:var(--color-textPrimary)!important;display:block!important}.fc .fc-daygrid-day-frame{min-height:100px;padding:4px;position:relative}.fc .fc-daygrid-day-top{justify-content:flex-start!important;padding:0!important}.modern-day-badge{position:absolute;top:4px;left:4px;background:var(--cal-accent-orange);color:var(--color-btnText);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;box-shadow:0 2px 6px #f59e0b4d;transition:var(--cal-transition);z-index:10}.modern-day-badge:hover{transform:scale(1.1);box-shadow:0 4px 10px #f59e0b80}.fc .fc-scrollgrid{border:1px solid var(--cal-border)!important}.fc-theme-standard td,.fc-theme-standard th{border-color:var(--cal-border)!important}@media(max-width:768px){.fc .fc-toolbar{padding:12px!important;flex-direction:column;gap:10px}.fc .fc-toolbar-title{font-size:18px!important}.fc .fc-button{padding:5px 10px!important;font-size:12px!important}.fc .fc-daygrid-day{min-height:70px}.modern-day-badge{width:24px;height:24px;font-size:11px}.fc .fc-daygrid-day-number{font-size:13px!important}}*{box-sizing:border-box}.tooltip-container::-webkit-scrollbar{width:6px}.tooltip-container::-webkit-scrollbar-track{background:var(--color-borderLight);border-radius:3px}.tooltip-container::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px;border:1px solid var(--color-borderLight)}.tooltip-container::-webkit-scrollbar-thumb:hover{background:var(--color-textSecondary)}.tooltip-container{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-borderLight)}@media(max-width:768px){.tooltip-container{font-size:12px!important;line-height:1.4!important;padding:12px!important;border-radius:8px!important}}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px}body{margin:0;padding:0;background-color:var(--color-background);color:var(--color-textPrimary);transition:background-color .2s ease,color .2s ease}body:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background-image:var(--background-image, none);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;opacity:var(--background-opacity, .3);z-index:-1000;pointer-events:none;border:2px solid rgba(255,0,0,.5)}:root{--color-background: #0e1626;--color-cardBackground: #1a2332;--color-modalBackground: #0b1322;--color-textPrimary: #e6f0ff;--color-textSecondary: #9db7d3;--color-textMuted: #6b7280;--color-border: #23304a;--color-borderLight: #1f2a44;--color-borderDashed: #1f2a44;--color-btnPrimary: #2563eb;--color-btnPrimaryHover: #1d4ed8;--color-btnSecondary: #6c757d;--color-btnDanger: #ff3b30;--color-btnSuccess: #2a9d8f;--color-btnWarning: #e76f51;--color-btnText: #ffffff;--color-success: #22c55e;--color-error: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6;--color-badgeActive: #173c2a;--color-badgeInactive: #3a1a1a;--color-inputBg: #0e1626;--color-inputBorder: #23304a;--color-inputText: #e6f0ff;--color-selected: #1a253a;--color-hover: rgba(59, 130, 246, .1)}input,select,textarea{background:var(--color-inputBg);border:1px solid var(--color-inputBorder);color:var(--color-inputText)}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-btnPrimary);outline-offset:2px}button:hover{opacity:.92;transform:translateY(-1px);transition:all .2s ease}button:active{transform:translateY(0);transition:all .1s ease}button:focus-visible{outline:2px solid var(--color-btnPrimary);outline-offset:2px}.card{border-radius:12px;background:var(--color-cardBackground);border:1px solid var(--color-borderLight);box-shadow:0 2px 8px #00000014,0 1px 4px #0000000a,0 0 1px #0000000a;transition:box-shadow .3s ease,transform .2s ease,border-color .2s ease;padding:24px}.card:hover{box-shadow:0 4px 16px #0000001f,0 2px 8px #0000000f,0 0 1px #0000000a;transform:translateY(-2px);border-color:var(--color-border)}input:hover,select:hover,textarea:hover{border-color:var(--color-border)}input:focus,select:focus,textarea:focus{border-color:var(--color-btnPrimary);box-shadow:0 0 0 3px #2563eb1a}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-textSecondary)}
