:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;font-size:16px;letter-spacing:-.01em;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--line-height-loose: 2;--letter-spacing-tight: -.025em;--letter-spacing-normal: -.01em;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal)}#root{width:100%;margin:0;padding:0}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.text-5xl{font-size:var(--font-size-5xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-normal{letter-spacing:var(--letter-spacing-normal)}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.tracking-wider{letter-spacing:var(--letter-spacing-wider)}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}}input,button,textarea,select{font-family:inherit;font-size:var(--font-size-base);line-height:var(--line-height-normal)}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto}table{border-collapse:collapse;width:100%}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,var(--md-surface) 0%,var(--md-surface-container-highest) 100%);position:relative;overflow:hidden;isolation:isolate;border-radius:16px}.login-container:before,.login-container:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--md-primary) 15%,transparent) 0%,transparent 60%),radial-gradient(circle at 75% 70%,color-mix(in srgb,var(--md-secondary) 18%,transparent) 0%,transparent 65%);opacity:.65;z-index:-2}.login-container:after{mix-blend-mode:overlay;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.08),transparent 70%);opacity:.4;z-index:-1}@media (prefers-color-scheme: dark){.login-container{background:linear-gradient(135deg,var(--md-surface-container-high) 0%,var(--md-surface-container-lowest) 100%)}}.login-card{background:var(--md-surface-container-high);border-radius:var(--md-shape-corner-extra-large);padding:40px 40px 36px;width:100%;max-width:392px;box-shadow:var(--md-elevation-2);position:relative;border:1px solid var(--md-outline-variant);animation:card-enter .55s cubic-bezier(.2,0,.2,1);transition:box-shadow .4s cubic-bezier(.2,0,.2,1),transform .4s cubic-bezier(.2,0,.2,1);border-radius:16px}.login-card:focus-within{box-shadow:var(--md-elevation-3);transform:translateY(-2px)}.login-header{text-align:center;margin-bottom:40px}.logo-container{margin-bottom:24px}.logo-icon{width:64px;height:64px;margin:0 auto;background:var(--md-primary-container);border-radius:28%;display:flex;align-items:center;justify-content:center;color:var(--md-on-primary-container);box-shadow:var(--md-elevation-1);position:relative;overflow:hidden}.logo-icon:after{content:"";position:absolute;inset:0;background:var(--md-on-primary-container);opacity:0;transition:opacity .25s}.logo-icon:hover:after{opacity:.08}.logo-icon:active:after{opacity:.12}.logo-icon img,.logo-icon svg{width:32px;height:32px}.login-title{font:var(--md-typescale-headline-medium, 400 28px/1.25 var(--md-font-family));color:var(--md-on-surface);margin:0 0 4px}.login-subtitle{font-size:var(--md-body-medium);color:var(--md-on-surface-variant);font-weight:400}.login-form{display:flex;flex-direction:column;gap:20px}.login-input-group{position:relative}.login-input-container{position:relative;background:var(--md-surface-container-low);border-radius:var(--md-shape-corner-medium);padding:16px;transition:all .25s cubic-bezier(.2,0,.2,1);border:1px solid var(--md-outline);min-height:56px;display:flex;align-items:flex-end}.login-input-container:hover{background:var(--md-surface-container-low);border-color:var(--md-outline-variant)}.login-input-container.focused{background:var(--md-surface-container-low);border-color:var(--md-primary);box-shadow:0 0 0 1px var(--md-primary);transform:translateY(-1px)}.login-input-label{position:absolute;top:20px;left:16px;font-size:var(--md-body-large);color:var(--md-on-surface-variant);transition:all .2s cubic-bezier(.2,0,.2,1);pointer-events:none;font-weight:400;line-height:1.4}.login-input-container.focused .login-input-label,.login-input-label.focused{top:8px;font-size:var(--md-label-small);color:var(--md-on-surface);font-weight:500;letter-spacing:.5px;transform:translateY(0)}.login-input-field{width:100%;font-size:var(--md-body-large);color:var(--md-on-surface);padding:0;background:transparent;line-height:1.4;border:none;outline:none;font-weight:400;margin-top:4px}.login-input-field::placeholder{color:var(--md-on-surface-variant);font-weight:400}.login-input-field:focus{outline:none}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;color:var(--md-on-surface-variant);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s cubic-bezier(.2,0,.2,1);border:none;background:transparent;cursor:pointer}.password-toggle:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent);color:var(--md-on-surface)}.password-toggle:active{background:color-mix(in srgb,var(--md-on-surface) 12%,transparent);transform:translateY(-50%) scale(.95)}.password-toggle:focus-visible{outline:2px solid var(--md-primary);outline-offset:2px}.password-toggle svg{width:22px;height:22px;transition:color .2s cubic-bezier(.2,0,.2,1)}.submit-button{--_bg:var(--md-primary);background:var(--_bg);color:var(--md-on-primary);padding:14px 24px;border-radius:var(--md-shape-corner-full, 999px);font-size:var(--md-label-large);font-weight:600;letter-spacing:.1px;position:relative;overflow:hidden;transition:all .25s cubic-bezier(.2,0,.2,1);margin-top:4px;text-transform:none;border:none;cursor:pointer;min-height:48px}.submit-button:after{content:"";position:absolute;inset:0;background:var(--md-on-primary);opacity:0;transition:opacity .25s;pointer-events:none}.submit-button:hover:after{opacity:.08}.submit-button:active:after{opacity:.12}.submit-button:hover{box-shadow:var(--md-elevation-2);transform:translateY(-1px)}.submit-button:active{box-shadow:var(--md-elevation-1);transform:translateY(0)}.submit-button:focus-visible{outline:2px solid var(--md-primary);outline-offset:3px}.submit-button:disabled{background:var(--md-surface-container-high);color:var(--md-on-surface-variant);border:1px solid var(--md-outline-variant);cursor:not-allowed;box-shadow:none;transform:none}.loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22px;height:22px}.loading-spinner svg{width:100%;height:100%;color:var(--md-on-primary)}.login-footer{margin-top:28px;text-align:center}.footer-text{font-size:var(--md-body-small);color:var(--md-on-surface-variant);margin-bottom:6px}.footer-link{color:var(--md-primary);font-weight:500;position:relative;text-decoration:none}.footer-link:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.footer-link:hover:after{transform:scaleX(1)}@keyframes card-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.login-card,.login-container:before,.login-container:after,.login-input-container,.login-input-label,.password-toggle,.submit-button{animation:none!important;transition:none!important}}@media (max-width: 520px){.login-container{padding:16px}.login-card{padding:32px 28px 28px}.login-title{font-size:26px}.logo-icon{width:56px;height:56px}.logo-icon img,.logo-icon svg{width:28px;height:28px}}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--app-gradient-primary);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.register-card{background:var(--md-sys-color-surface);border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:500px;position:relative;overflow:hidden}.register-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--app-gradient-primary)}.register-header{text-align:center;margin-bottom:30px}.logo-icon{width:60px;height:60px;background:var(--app-gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-primary)}.logo-icon svg{width:30px;height:30px}.register-title{font-size:28px;font-weight:700;color:var(--md-sys-color-primary);margin:0 0 8px}.register-subtitle{font-size:16px;color:var(--md-sys-color-on-surface-variant);margin:0}.register-form{display:flex;flex-direction:column;gap:20px}.error-message{background:#b3261e26;border:1px solid rgba(179,38,30,.4);color:var(--md-sys-color-error);padding:12px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:14px}.error-message svg{width:20px;height:20px;flex-shrink:0}.register-input-group{display:flex;flex-direction:column;gap:8px}.register-input-container{position:relative;display:flex;align-items:center}.register-input-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--md-sys-color-on-surface-variant);font-size:16px;transition:all .2s ease;pointer-events:none;background:var(--md-sys-color-surface);padding:0 4px}.register-input-label.focused{top:0;font-size:12px;color:var(--md-sys-color-primary);font-weight:500}.register-input-field{width:100%;padding:16px;border:2px solid var(--md-sys-color-outline-variant);border-radius:8px;font-size:16px;transition:all .2s ease;background:var(--md-sys-color-surface-container, var(--md-sys-color-surface))}.register-input-field:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px #0000000d}.register-input-outline{position:absolute;inset:0;border:2px solid transparent;border-radius:8px;pointer-events:none;transition:all .2s ease}.register-input-container.focused .register-input-outline{border-color:var(--md-sys-color-primary)}.info-message{background:#606c3826;border:1px solid rgba(96,108,56,.35);color:var(--md-sys-color-primary-container);padding:16px 20px;border-radius:12px;display:flex;align-items:center;gap:12px;font-size:14px;margin-bottom:20px}.info-message svg{width:20px;height:20px;flex-shrink:0;color:var(--md-sys-color-primary-container)}.info-message p{margin:0;line-height:1.4}.password-toggle{position:absolute;right:12px;background:none;border:none;color:#a0aec0;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s ease}.password-toggle:hover{color:var(--md-sys-color-primary)}.password-requirements{background:var(--md-sys-color-surface-container-high, #f7fafc);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;padding:12px 16px;font-size:12px;color:var(--md-sys-color-on-surface-variant)}.password-requirements p{margin:0 0 8px;font-weight:500}.password-requirements ul{margin:0;padding-left:16px;list-style:none}.password-requirements li{margin-bottom:4px;position:relative;padding-left:20px}.password-requirements li:before{content:"○";position:absolute;left:0;color:#cbd5e0}.password-requirements li.valid:before{content:"●";color:var(--md-sys-color-secondary)}.password-mismatch{color:var(--md-sys-color-error);font-size:12px;margin-top:4px}.submit-button{background:var(--app-gradient-primary);color:var(--md-sys-color-on-primary);border:none;padding:16px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.register-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #e2e8f0}.footer-text{margin:8px 0;color:var(--md-sys-color-on-surface-variant);font-size:14px}.footer-link{color:var(--md-sys-color-primary-container);text-decoration:none;font-weight:500;transition:color .2s ease}.footer-link:hover{color:var(--md-sys-color-primary);text-decoration:underline}@media (max-width: 640px){.register-card{padding:30px 20px;margin:10px}.register-title{font-size:24px}.register-subtitle{font-size:14px}.input-field{padding:14px;font-size:16px}.submit-button{padding:14px}}.input-field:focus-visible{outline:2px solid #667eea;outline-offset:2px}.submit-button:focus-visible{outline:2px solid #667eea;outline-offset:2px}.password-toggle:focus-visible{outline:2px solid #667eea;outline-offset:2px}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.forgot-password-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:450px;position:relative;overflow:hidden}.forgot-password-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.forgot-password-header{text-align:center;margin-bottom:30px}.forgot-password-title{font-size:28px;font-weight:700;color:#333;margin:0 0 8px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.forgot-password-subtitle{font-size:16px;color:#666;margin:0;font-weight:400}.forgot-password-content{text-align:center;margin-bottom:30px}.forgot-password-content h2{font-size:24px;font-weight:600;color:#333;margin:0 0 15px}.forgot-password-content p{font-size:16px;color:#666;line-height:1.6;margin:0}.forgot-password-form{margin-bottom:30px}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.forgot-password-footer{text-align:center}.success-message{text-align:center;padding:30px 0}.success-message .note{font-size:14px;color:#999;font-style:italic;margin-top:20px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}@media (max-width: 480px){.forgot-password-card{padding:30px 20px;margin:10px}.forgot-password-title{font-size:24px}.forgot-password-content h2{font-size:20px}.success-icon{width:60px;height:60px;font-size:30px}}.reset-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.reset-password-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:500px;position:relative;overflow:hidden}.reset-password-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.reset-password-header{text-align:center;margin-bottom:30px}.logo-container{display:flex;justify-content:center;margin-bottom:20px}.logo-icon{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #667eea4d}.logo-icon img{width:35px;height:35px;filter:brightness(0) invert(1)}.reset-password-title{font-size:28px;font-weight:700;color:#333;margin:0 0 8px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.reset-password-subtitle{font-size:16px;color:#666;margin:0;font-weight:400}.reset-password-content{text-align:center;margin-bottom:30px}.reset-password-content h2{font-size:24px;font-weight:600;color:#333;margin:0 0 15px}.reset-password-content p{font-size:16px;color:#666;line-height:1.6;margin:0}.reset-password-form{margin-bottom:30px}.input-group{margin-bottom:25px}.input-container{position:relative;background:#f8f9fa;border-radius:12px;padding:20px;transition:all .3s ease;border:2px solid transparent}.input-container.focused{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.input-label{position:absolute;top:20px;left:20px;font-size:16px;color:#999;transition:all .3s ease;pointer-events:none;background:transparent;padding:0 4px}.input-label.focused{top:12px;left:16px;font-size:12px;color:#667eea;font-weight:600;background:#fff}.input-field{width:100%;border:none;outline:none;background:transparent;font-size:16px;color:#333;padding:0;margin-top:8px}.input-field::placeholder{color:#999}.input-outline{position:absolute;inset:0;border-radius:12px;pointer-events:none;transition:all .3s ease}.password-toggle{position:absolute;top:50%;right:20px;transform:translateY(-50%);background:none;border:none;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.password-toggle:hover{color:#667eea}.password-validation{margin-top:15px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #ddd}.validation-item{display:flex;align-items:center;margin-bottom:8px;font-size:14px;color:#666}.validation-item:last-child{margin-bottom:0}.validation-item.valid{color:#4caf50}.validation-item.invalid{color:#f44336}.validation-icon{margin-right:8px;font-weight:700;font-size:16px}.password-match{margin-top:15px;padding:12px 15px;border-radius:8px;display:flex;align-items:center;font-size:14px;font-weight:500}.password-match.valid{background:#e8f5e8;color:#4caf50;border-left:4px solid #4CAF50}.password-match.invalid{background:#ffebee;color:#f44336;border-left:4px solid #f44336}.match-icon{margin-right:8px;font-weight:700;font-size:16px}.submit-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}.submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px}.reset-password-footer{text-align:center}.back-to-login{color:#667eea;text-decoration:none;font-weight:600;font-size:16px;transition:color .3s ease}.back-to-login:hover{color:#764ba2;text-decoration:underline}.loading-state{text-align:center;padding:60px 20px}.loading-state .loading-spinner{position:static;transform:none;width:40px;height:40px;margin:0 auto 20px;color:#667eea}.loading-state p{color:#666;font-size:16px;margin:0}.success-message{text-align:center;padding:60px 20px}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff;font-size:40px;box-shadow:0 8px 20px #4caf504d}.success-message h2{font-size:24px;font-weight:600;color:#333;margin:0 0 15px}.success-message p{font-size:16px;color:#666;line-height:1.6;margin:0 0 10px}@media (max-width: 480px){.reset-password-card{padding:30px 20px;margin:10px}.reset-password-title{font-size:24px}.reset-password-content h2{font-size:20px}.success-icon{width:60px;height:60px;font-size:30px}.password-validation{padding:12px}.validation-item{font-size:13px}}.change-password-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.change-password-modal{background:var(--card-bg);border-radius:16px;padding:32px;width:90%;max-width:480px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid var(--border-color);animation:modalSlideIn .3s ease-out}.modal-header{text-align:center;margin-bottom:32px}.modal-header h2{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 8px}.modal-header p{color:var(--text-secondary);font-size:14px;margin:0;line-height:1.5}.change-password-form{display:flex;flex-direction:column;gap:24px}.input-group{display:flex;flex-direction:column;gap:8px}.input-container{position:relative;display:flex;align-items:center}.input-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:16px;transition:all .2s ease;pointer-events:none;background:var(--card-bg);padding:0 4px}.input-label.focused{top:0;transform:translateY(-50%) scale(.85);color:var(--primary-color);font-weight:500}.input-field{width:100%;padding:16px 48px 16px 16px;border:2px solid var(--border-color);border-radius:12px;font-size:16px;background:var(--input-bg);color:var(--text-primary);transition:all .2s ease}.input-field:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.input-container.focused .input-field{border-color:var(--primary-color)}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:color .2s ease}.password-toggle:hover{color:var(--text-primary)}.password-toggle svg{width:20px;height:20px}.input-outline{position:absolute;inset:0;border-radius:12px;pointer-events:none;transition:all .2s ease}.input-container.focused .input-outline{box-shadow:0 0 0 3px var(--primary-color-alpha)}.password-validation{display:flex;flex-direction:column;gap:4px;margin-top:8px}.validation-item{display:flex;align-items:center;gap:8px;font-size:12px;transition:color .2s ease}.validation-item.valid{color:var(--success-color)}.validation-item.invalid{color:var(--error-color)}.validation-icon{font-weight:700;font-size:14px}.password-match{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:8px;transition:color .2s ease}.password-match.valid{color:var(--success-color)}.password-match.invalid{color:var(--error-color)}.match-icon{font-weight:700;font-size:14px}.modal-actions{display:flex;justify-content:center;margin-top:16px}.submit-button{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:12px;padding:16px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:200px;position:relative;overflow:hidden}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-button.loading{color:transparent}.loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff}.loading-spinner svg{width:24px;height:24px}@media (max-width: 768px){.change-password-modal{margin:16px;padding:24px;width:calc(100% - 32px)}.modal-header h2{font-size:20px}.submit-button{min-width:160px;padding:14px 24px}}@media (prefers-color-scheme: dark){.change-password-modal{background:var(--card-bg);border-color:var(--border-color)}.input-field{background:var(--input-bg);color:var(--text-primary)}.input-label{background:var(--card-bg)}}.dashboard{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal)}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 0;box-shadow:0 4px 20px #0000001a}.header-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;flex-direction:column}.dashboard-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin:0;background:linear-gradient(45deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.dashboard-subtitle{font-size:var(--font-size-base);margin:4px 0 0;opacity:.9;font-weight:var(--font-weight-normal);line-height:var(--line-height-normal)}.header-right{display:flex;align-items:center;gap:20px}.header-actions{display:flex;align-items:center;gap:12px}.user-info{display:flex;align-items:center;gap:12px;background:#ffffff1a;padding:12px 16px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.user-avatar{width:40px;height:40px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.user-avatar svg{width:24px;height:24px}.user-details{display:flex;flex-direction:column}.user-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.user-email{font-size:var(--font-size-xs);opacity:.8;line-height:var(--line-height-tight)}.logout-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px 20px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.debug-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px 20px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.debug-button:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.debug-button svg{width:18px;height:18px}.clear-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px 20px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.clear-button:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.clear-button svg{width:18px;height:18px}.dashboard-content{max-width:1200px;margin:0 auto;padding:40px 20px}.welcome-section{text-align:center;margin-bottom:40px}.welcome-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:#2d3748;margin:0 0 12px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);font-family:inherit}.welcome-message{font-size:var(--font-size-lg);color:#718096;margin:0;font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);font-family:inherit}.controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px;margin-bottom:40px}.control-card{background:#fff;border-radius:20px;padding:24px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000014;border:1px solid rgba(255,255,255,.8)}.control-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.control-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000026}.control-card:active{transform:translateY(-4px)}.activity-card{background:linear-gradient(135deg,#fff,#f8fafc)}.activity-card .card-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.donations-card{background:linear-gradient(135deg,#fff,#f0f9ff)}.donations-card .card-icon{background:linear-gradient(135deg,#10b981,#059669)}.profile-card{background:linear-gradient(135deg,#fff,#fef7ff)}.profile-card .card-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.card-icon{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:#fff;box-shadow:0 8px 25px #00000026}.card-icon svg{width:28px;height:28px}.card-content{flex:1}.card-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:#2d3748;margin:0 0 8px;line-height:var(--line-height-tight);font-family:inherit}.card-description{font-size:var(--font-size-sm);color:#718096;margin:0 0 20px;line-height:var(--line-height-relaxed);font-family:inherit}.card-stats{display:flex;gap:20px}.stat-item{display:flex;flex-direction:column;align-items:flex-start}.stat-number{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:#2d3748;font-family:inherit}.stat-label{font-size:var(--font-size-xs);color:#718096;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-family:inherit}.card-arrow{position:absolute;bottom:24px;right:24px;color:#cbd5e0;transition:all .3s ease}.control-card:hover .card-arrow{color:#667eea;transform:translate(4px)}.card-arrow svg{width:20px;height:20px}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.stat-card{background:#fff;border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(255,255,255,.8);transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001f}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 6px 20px #667eea4d}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:#2d3748;margin-bottom:4px;font-family:inherit}.stat-label{font-size:var(--font-size-sm);color:#718096;font-weight:var(--font-weight-medium);font-family:inherit}@media (max-width: 768px){.header-content{flex-direction:column;gap:20px;text-align:center}.header-right{flex-direction:column;gap:16px}.user-info,.logout-button{width:100%;justify-content:center}.welcome-title{font-size:var(--font-size-3xl)}.welcome-message{font-size:var(--font-size-base)}.controls-grid{grid-template-columns:1fr;gap:20px}.control-card{padding:20px}.card-title{font-size:var(--font-size-xl)}.quick-stats{grid-template-columns:1fr}.stat-card{padding:16px}.stat-value{font-size:var(--font-size-xl)}}@media (max-width: 480px){.dashboard-content{padding:20px 16px}.control-card{padding:16px}.card-icon{width:48px;height:48px}.card-icon svg{width:24px;height:24px}.card-stats{flex-direction:column;gap:12px}.stat-card{padding:12px}.stat-icon{width:40px;height:40px}.stat-icon svg{width:20px;height:20px}}.control-card:focus-visible{outline:2px solid #667eea;outline-offset:2px}.logout-button:focus-visible{outline:2px solid white;outline-offset:2px}.control-card{animation:fadeInUp .6s ease forwards}.control-card:nth-child(1){animation-delay:.1s}.control-card:nth-child(2){animation-delay:.2s}.control-card:nth-child(3){animation-delay:.3s}.stat-card{animation:fadeInUp .6s ease forwards;animation-delay:.4s}[data-theme] .dashboard{background:var(--md-sys-color-background)}[data-theme] .dashboard-header{background:var(--app-gradient-primary);color:var(--md-sys-color-on-primary)}[data-theme] .dashboard-title{color:var(--md-sys-color-on-primary)}[data-theme] .welcome-title{color:var(--md-sys-color-primary);background:none;-webkit-text-fill-color:currentColor}[data-theme] .welcome-message{color:var(--md-sys-color-on-surface-variant)}[data-theme] .control-card{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline-variant, var(--md-sys-color-outline))}[data-theme] .control-card:before{background:var(--app-gradient-primary)}[data-theme] .activity-card,[data-theme] .donations-card,[data-theme] .profile-card{background:linear-gradient(135deg,var(--md-sys-color-surface) 0%,var(--md-sys-color-surface-variant) 100%)}[data-theme] .activity-card .card-icon{background:var(--app-gradient-primary)}[data-theme] .donations-card .card-icon{background:var(--app-gradient-accent)}[data-theme] .profile-card .card-icon{background:var(--app-gradient-warm)}[data-theme] .card-title{color:var(--md-sys-color-primary)}[data-theme] .card-description{color:var(--md-sys-color-on-surface-variant)}[data-theme] .stat-number,[data-theme] .stat-value{color:var(--md-sys-color-primary)}[data-theme] .stat-label{color:var(--md-sys-color-on-surface-variant)}[data-theme] .stat-card{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline-variant, var(--md-sys-color-outline))}[data-theme] .stat-icon{background:var(--app-gradient-primary);color:var(--md-sys-color-on-primary);box-shadow:0 6px 20px #00000026}[data-theme] .card-arrow{color:var(--md-sys-color-on-surface-variant)}[data-theme] .control-card:hover .card-arrow{color:var(--md-sys-color-primary)}.back-button-component{position:relative!important;background:linear-gradient(135deg,#ffffff1a,#ffffff0d)!important;border:1px solid rgba(255,255,255,.15)!important;color:var(--md-sys-color-on-primary)!important;padding:12px 20px!important;border-radius:12px!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;gap:8px!important;font-size:14px!important;font-weight:500!important;line-height:1.1!important;letter-spacing:.2px!important;text-transform:none!important;transition:all .3s ease!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;overflow:hidden!important;isolation:isolate!important;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014!important;z-index:100!important;font-family:inherit!important}.back-button-component:hover{background:linear-gradient(135deg,#ffffff26,#ffffff14)!important;border-color:#fff3!important;transform:translateY(-2px)!important;box-shadow:0 4px 15px #00000026,0 2px 6px #0000001a!important}.back-button-component:active{transform:translateY(-1px) scale(.98)!important;box-shadow:0 4px 12px -3px #0006,0 2px 6px -1px #00000059!important}.back-button-component:focus-visible{outline:2px solid rgba(255,255,255,.6)!important;outline-offset:3px!important}.back-button-icon{display:flex!important;align-items:center!important;justify-content:center!important}.back-button-icon svg{width:18px!important;height:18px!important;fill:currentColor!important;transition:transform .25s ease!important;opacity:.85!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))!important}.back-button-component:hover .back-button-icon svg{opacity:1!important;transform:translate(-2px)!important}.back-button-text{display:flex!important;flex-direction:column!important;font-weight:600!important;letter-spacing:.3px!important}.back-line-main{font-size:11px!important;opacity:.9!important;line-height:1!important}.back-line-sub{font-size:13px!important;line-height:1!important;margin-top:1px!important}.back-line-single{font-size:14px!important;line-height:1!important}.back-button-ripple{position:absolute!important;inset:0!important;pointer-events:none!important}.back-button-ripple:before,.back-button-ripple:after{content:""!important;position:absolute!important;inset:0!important;background:radial-gradient(circle at var(--rx,70%) var(--ry,30%),rgba(255,255,255,.35),transparent 60%)!important;opacity:0!important;transition:opacity .5s ease,transform .6s ease!important;pointer-events:none!important}.back-button-component:hover .back-button-ripple:before{opacity:.6!important}.back-button-component:hover .back-button-ripple:after{opacity:.25!important}.back-button-component:where(:hover,:focus-visible) .back-button-ripple:before{transform:scale(1.4)!important}.back-button-component:where(:hover,:focus-visible) .back-button-ripple:after{transform:scale(1.1)!important}@media (prefers-color-scheme: dark){.back-button-component{background:linear-gradient(135deg,#ffffff14,#ffffff0a)!important;border-color:#ffffff1f!important;color:#ffffffe6!important}.back-button-component:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff0f)!important;border-color:#ffffff2e!important}}@media (max-width: 768px){.back-button-component{padding:10px 16px!important;font-size:13px!important;gap:6px!important}.back-button-icon svg{width:16px!important;height:16px!important}.back-line-main{font-size:10px!important}.back-line-sub{font-size:12px!important}.back-line-single{font-size:13px!important}}@media (max-width: 480px){.back-button-component{padding:8px 12px!important;font-size:12px!important}.back-button-icon svg{width:14px!important;height:14px!important}.back-line-main{font-size:9px!important}.back-line-sub{font-size:11px!important}.back-line-single{font-size:12px!important}}.page-header{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);padding:1.5rem 0;position:sticky;top:0;z-index:100}.page-header .header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:2rem;width:100%}.page-header .header-content .header-title{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.page-header .header-title h1{color:#fff;font-size:2rem;font-weight:700;margin:0}.page-header .header-title p{color:#fffc;font-size:.875rem;margin:.25rem 0 0}.page-header .header-left,.page-header .header-right{flex-shrink:0}@media (max-width: 768px){.page-header .header-content{padding:0 1rem;gap:1rem}.page-header .header-title h1{font-size:1.5rem}.page-header .header-title p{font-size:.8rem}}.profile-page{min-height:100vh;background:var(--md-sys-color-background);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.logout-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px 20px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logout-button:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.logout-button svg{width:18px;height:18px}.profile-content{max-width:1200px;margin:0 auto;padding:40px 20px;position:relative}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px}.info-card{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant,rgba(255,255,255,.18));border-radius:28px;padding:30px 30px 34px;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeInUp .6s ease;box-shadow:0 4px 12px -2px #00000040,0 2px 4px #0000002e;transition:box-shadow .35s,transform .35s,border-color .35s}.info-card:before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,#ffffff0f,#fff0 45%),radial-gradient(circle at 85% 15%,rgba(255,255,255,.14),transparent 60%);pointer-events:none;mix-blend-mode:overlay}.info-card.actionable{cursor:pointer}.info-card.actionable:hover{box-shadow:0 10px 26px -4px #00000073,0 4px 10px #0000004d;transform:translateY(-4px);border-color:var(--md-sys-color-primary)}.info-card.actionable:focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:3px}.info-card.actionable:active{transform:translateY(-1px) scale(.99)}.corner-icon{margin-left:auto;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#ffffff12;border:1px solid rgba(255,255,255,.15);transition:.35s}.info-card.actionable:hover .corner-icon{background:var(--app-gradient-primary);color:var(--md-sys-color-on-primary);border-color:transparent}.corner-icon svg{width:18px;height:18px;opacity:.9}.card-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.card-icon{width:52px;height:52px;border-radius:16px;background:var(--app-gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-primary);box-shadow:0 6px 20px #00000040}.card-icon.accent{background:var(--app-gradient-accent)}.card-title-group h2{margin:0 0 4px;font-size:20px;font-weight:600;color:var(--md-sys-color-primary)}.card-title-group p{margin:0;font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);font-weight:500}.card-edit-button{display:none}.info-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.info-item{display:flex;flex-direction:column;background:var(--md-sys-color-surface-container,rgba(255,255,255,.04));padding:12px 14px;border-radius:14px;border:1px solid var(--md-sys-color-outline-variant,rgba(255,255,255,.12));min-height:70px}.info-item span{font-size:11px;letter-spacing:.5px;font-weight:600;color:var(--md-sys-color-on-surface-variant);text-transform:uppercase}.info-item strong{font-size:15px;font-weight:600;color:var(--md-sys-color-on-surface);margin-top:4px;word-break:break-word}.contacts-preview{display:flex;flex-direction:column;gap:12px}.contact-chip{background:var(--md-sys-color-surface-container,rgba(0,0,0,.25));border:1px solid var(--md-sys-color-outline-variant,rgba(255,255,255,.15));padding:12px 16px;border-radius:14px;display:flex;flex-direction:column;gap:2px}.contact-chip strong{font-size:15px;color:var(--md-sys-color-primary)}.contact-chip span{font-size:13px;color:var(--md-sys-color-on-surface-variant)}.contact-chip em{font-size:12px;color:var(--md-sys-color-on-surface-variant);font-style:normal;opacity:.8}.contacts-preview .empty{margin:0;font-size:14px;color:var(--md-sys-color-on-surface-variant);opacity:.8}.password-info{display:flex;flex-direction:column;gap:12px}.password-info p{margin:0;font-size:14px;color:var(--md-sys-color-on-surface-variant);line-height:1.4}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container .form-input{padding-right:50px}.password-input-container .password-toggle{position:absolute;right:12px;background:none;border:none;color:#a0aec0;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s ease}.password-input-container .password-toggle:hover{color:var(--md-sys-color-primary)}.password-input-container .password-toggle svg{width:20px;height:20px}.modal-overlay{position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:60px 20px;z-index:2000;overflow-y:auto;animation:fadeBg .25s ease}@keyframes fadeBg{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:880px;background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant,rgba(255,255,255,.2));border-radius:28px;box-shadow:0 20px 60px -10px #00000073,0 0 0 1px #ffffff0a;display:flex;flex-direction:column;animation:popIn .35s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.modal.large{max-width:1100px}@keyframes popIn{0%{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:28px 30px 18px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--md-sys-color-outline-variant,rgba(255,255,255,.15))}.modal-header h3{margin:0;font-size:22px;font-weight:700;color:var(--md-sys-color-primary)}.close-btn{margin-left:auto;background:#ffffff14;border:1px solid rgba(255,255,255,.15);width:40px;height:40px;border-radius:12px;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-surface);transition:.25s}.close-btn:hover{background:#ffffff24;transform:rotate(90deg)}.modal-body{padding:28px 30px 10px;display:flex;flex-direction:column;gap:28px}.modal-actions{display:flex;gap:14px;padding:24px 30px 32px;border-top:1px solid var(--md-sys-color-outline-variant,rgba(255,255,255,.12));background:linear-gradient(to top,rgba(0,0,0,.15),transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:sticky;bottom:0}.modal .form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.contact-card.editable{background:var(--md-sys-color-surface-container,rgba(255,255,255,.03));border:1px solid var(--md-sys-color-outline-variant,rgba(255,255,255,.15))}.modal .add-contact-button{width:100%}@media (max-width: 640px){.info-list{grid-template-columns:1fr}.modal{border-radius:20px;padding-bottom:68px}.modal-header{padding:22px 22px 14px}.modal-body{padding:22px 22px 8px}.modal-actions{flex-direction:column;padding:18px 22px}.modal-actions .save-button,.modal-actions .cancel-button{width:100%}.card-header{flex-wrap:wrap}.corner-icon{width:40px;height:40px}}.loading-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.loading-spinner{width:40px;height:40px;color:var(--md-sys-color-primary-container)}.loading-spinner svg{width:100%;height:100%;animation:spin 1s linear infinite}.message{padding:16px 20px;border-radius:12px;margin-bottom:24px;display:flex;align-items:center;gap:12px;font-weight:500;animation:slideIn .3s ease}.message.success{background:#606c3826;color:var(--md-sys-color-primary-container);border:1px solid rgba(96,108,56,.35)}.message.error{background:#b3261e26;color:var(--md-sys-color-error);border:1px solid rgba(179,38,30,.4)}.message svg{width:20px;height:20px;flex-shrink:0}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.profile-section{background:var(--md-sys-color-surface);border-radius:20px;padding:32px;box-shadow:0 4px 20px #00000014;border:1px solid var(--md-sys-color-outline-variant, rgba(255,255,255,.3));position:relative;overflow:hidden}.profile-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--app-gradient-primary)}.section-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;position:relative}.section-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--app-gradient-primary);color:var(--md-sys-color-on-primary);box-shadow:0 6px 20px #00000040}.section-icon.emergency{background:var(--app-gradient-accent);box-shadow:0 6px 20px #00000040}.section-icon svg{width:24px;height:24px}.section-title{flex:1}.section-title h2{font-size:24px;font-weight:700;color:var(--md-sys-color-primary);margin:0 0 4px}.section-title p{font-size:14px;color:var(--md-sys-color-on-surface-variant);margin:0}.edit-button{background:var(--app-gradient-primary);color:var(--md-sys-color-on-primary);border:none;padding:12px 20px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.edit-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.edit-button svg{width:16px;height:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column}.form-group.checkbox-group{grid-column:1 / -1}.form-group label{font-size:14px;font-weight:600;color:var(--md-sys-color-on-surface-variant);margin-bottom:8px}.form-input{padding:12px 16px;border:2px solid var(--md-sys-color-outline-variant);border-radius:12px;font-size:14px;transition:all .3s ease;background:var(--md-sys-color-surface-container, var(--md-sys-color-surface));color:var(--md-sys-color-on-surface)}.form-input:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px #0000000d}.form-input:disabled{background:var(--md-sys-color-surface-container-high, #f7fafc);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed}.form-input::placeholder{color:#a0aec0}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;color:#4a5568}.checkbox-input{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid var(--md-sys-color-outline-variant);border-radius:6px;position:relative;transition:all .3s ease;background:var(--md-sys-color-surface)}.checkbox-input:checked+.checkbox-custom{background:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.checkbox-input:checked+.checkbox-custom:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-input:disabled+.checkbox-custom{background:#f7fafc;border-color:#e2e8f0;cursor:not-allowed}.form-actions{display:flex;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--md-sys-color-outline-variant)}.save-button{background:var(--app-gradient-accent);color:var(--md-sys-color-on-primary);border:none;padding:12px 24px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #10b9814d}.save-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #10b98166}.save-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.cancel-button{background:var(--md-sys-color-surface-container-high, #f7fafc);color:var(--md-sys-color-on-surface-variant);border:2px solid var(--md-sys-color-outline-variant);padding:12px 24px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease}.cancel-button:hover{background:#edf2f7;border-color:#cbd5e0}.emergency-contacts{display:flex;flex-direction:column;gap:24px}.contact-card{background:var(--md-sys-color-surface-container, #f8fafc);border-radius:16px;padding:24px;border:1px solid var(--md-sys-color-outline-variant);transition:all .3s ease}.contact-card:hover{box-shadow:0 4px 15px #0000001a}.contact-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.contact-header h3{font-size:18px;font-weight:600;color:var(--md-sys-color-primary);margin:0}.remove-contact{background:#b3261e26;color:var(--md-sys-color-error);border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.remove-contact:hover{background:#fecaca;transform:scale(1.1)}.remove-contact svg{width:16px;height:16px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form .form-group:last-child{grid-column:1 / -1}.add-contact-button{background:var(--app-gradient-warm);color:var(--md-sys-color-on-primary);border:none;padding:16px 24px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #8b5cf64d;margin-top:16px}.add-contact-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #8b5cf666}.add-contact-button svg{width:18px;height:18px}@media (max-width: 1024px){.cards-grid{grid-template-columns:1fr;gap:24px}}@media (max-width: 768px){.header-content{flex-direction:column;gap:16px;text-align:center}.logout-button{width:100%;justify-content:center}.profile-title{font-size:24px}.profile-content{padding:20px 10px}.info-card{padding:24px 22px}.form-grid,.contact-form{grid-template-columns:1fr;gap:16px}.form-actions{flex-direction:column}.save-button,.cancel-button{width:100%}}@media (max-width: 480px){.info-card{padding:22px 18px}.section-header{flex-direction:column;text-align:center;gap:12px}.edit-button{width:100%;justify-content:center}.contact-header{flex-direction:column;gap:12px;text-align:center}}.logout-button:focus-visible,.edit-button:focus-visible,.save-button:focus-visible,.cancel-button:focus-visible,.add-contact-button:focus-visible,.remove-contact:focus-visible{outline:2px solid #667eea;outline-offset:2px}.form-input:focus-visible{outline:2px solid #667eea;outline-offset:2px}.profile-section{animation:fadeInUp .6s ease forwards}.profile-section:nth-child(1){animation-delay:.1s}.profile-section:nth-child(2){animation-delay:.2s}.modal-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;padding:20px}.modal-container{background:var(--md-sys-color-surface-container-highest, rgba(255, 255, 255, .95));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:28px;border:1px solid var(--md-sys-color-outline-variant, rgba(0, 0, 0, .1));box-shadow:0 8px 16px #0000001a,0 16px 32px #0000001a;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0;margin-bottom:24px}.modal-title{font-size:24px;font-weight:600;color:var(--md-sys-color-on-surface, #1d1b20);margin:0}.modal-close-button{background:transparent;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--md-sys-color-on-surface-variant, #49454f)}.modal-close-button:hover{background:var(--md-sys-color-secondary-container, rgba(232, 222, 248, .3));color:var(--md-sys-color-on-secondary-container, #1d192b)}.modal-close-button svg{width:24px;height:24px}.modal-form{padding:0 24px 24px;display:flex;flex-direction:column;gap:24px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface, #1d1b20);margin-bottom:4px}.form-select,.form-input,.form-textarea{background:var(--md-sys-color-surface-container, rgba(244, 239, 244, .8));border:1px solid var(--md-sys-color-outline, #79747e);border-radius:12px;padding:16px;color:var(--md-sys-color-on-surface, #1d1b20);font-size:16px;transition:all .2s ease;outline:none}.form-select:focus,.form-input:focus,.form-textarea:focus{border-color:var(--md-sys-color-primary, #6750a4);background:var(--md-sys-color-surface-container-high, rgba(236, 229, 244, .9));box-shadow:0 0 0 2px #6750a433}.form-select{cursor:pointer}.form-select option{background:var(--md-sys-color-surface, #fffbfe);color:var(--md-sys-color-on-surface, #1d1b20)}.form-textarea{resize:vertical;min-height:80px;font-family:inherit}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.primary-button,.secondary-button{padding:12px 24px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease;min-width:100px;height:44px;display:flex;align-items:center;justify-content:center}.primary-button{background:var(--md-sys-color-primary, #6750a4);color:var(--md-sys-color-on-primary, #ffffff);box-shadow:0 1px 3px #0003}.primary-button:hover:not(:disabled){background:var(--md-sys-color-primary-container, #eaddff);color:var(--md-sys-color-on-primary-container, #21005d);box-shadow:0 2px 6px #0003}.primary-button:disabled{background:var(--md-sys-color-on-surface, rgba(29, 27, 32, .12));color:var(--md-sys-color-on-surface, rgba(29, 27, 32, .38));cursor:not-allowed;box-shadow:none}.secondary-button{background:transparent;color:var(--md-sys-color-primary, #6750a4);border:1px solid var(--md-sys-color-outline, #79747e)}.secondary-button:hover{background:var(--md-sys-color-secondary-container, rgba(232, 222, 248, .3));border-color:var(--md-sys-color-primary, #6750a4)}@media (prefers-color-scheme: dark){.modal-container{background:var(--md-sys-color-surface-container-highest, rgba(46, 42, 50, .95));border-color:var(--md-sys-color-outline-variant, rgba(202, 196, 208, .2))}.modal-title{color:var(--md-sys-color-on-surface, #e6e0e9)}.modal-close-button{color:var(--md-sys-color-on-surface-variant, #cac4d0)}.modal-close-button:hover{background:var(--md-sys-color-secondary-container, rgba(74, 69, 78, .3));color:var(--md-sys-color-on-secondary-container, #e8def8)}.form-label{color:var(--md-sys-color-on-surface, #e6e0e9)}.form-select,.form-input,.form-textarea{background:var(--md-sys-color-surface-container, rgba(73, 69, 79, .8));border-color:var(--md-sys-color-outline, #938f99);color:var(--md-sys-color-on-surface, #e6e0e9)}.form-select:focus,.form-input:focus,.form-textarea:focus{border-color:var(--md-sys-color-primary, #d0bcff);background:var(--md-sys-color-surface-container-high, rgba(55, 50, 63, .9));box-shadow:0 0 0 2px #d0bcff33}.form-select option{background:var(--md-sys-color-surface, #141218);color:var(--md-sys-color-on-surface, #e6e0e9)}.primary-button{background:var(--md-sys-color-primary, #d0bcff);color:var(--md-sys-color-on-primary, #371e73)}.primary-button:hover:not(:disabled){background:var(--md-sys-color-primary-container, #4f378b);color:var(--md-sys-color-on-primary-container, #eaddff)}.secondary-button{color:var(--md-sys-color-primary, #d0bcff);border-color:var(--md-sys-color-outline, #938f99)}.secondary-button:hover{background:var(--md-sys-color-secondary-container, rgba(74, 69, 78, .3));border-color:var(--md-sys-color-primary, #d0bcff)}}@media (max-width: 768px){.modal-backdrop{padding:16px}.modal-container{border-radius:20px;max-height:95vh}.modal-header{padding:20px 20px 0;margin-bottom:20px}.modal-title{font-size:20px}.modal-form{padding:0 20px 20px}.form-grid{grid-template-columns:1fr;gap:16px}.modal-actions{flex-direction:column-reverse;gap:8px}.primary-button,.secondary-button{width:100%}}@media (max-width: 480px){.modal-backdrop{padding:12px}.modal-header{padding:16px 16px 0;margin-bottom:16px}.modal-title{font-size:18px}.modal-form{padding:0 16px 16px;gap:20px}.form-select,.form-input,.form-textarea{padding:14px;font-size:16px}}.history-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;padding:20px}.history-container{background:var(--md-sys-color-surface-container-highest, rgba(255, 255, 255, .95));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:28px;border:1px solid var(--md-sys-color-outline-variant, rgba(0, 0, 0, .1));box-shadow:0 8px 16px #0000001a,0 16px 32px #0000001a;width:100%;max-width:1200px;max-height:90vh;overflow:hidden;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.history-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--md-sys-color-outline-variant, rgba(0, 0, 0, .1));flex-shrink:0}.history-title{font-size:24px;font-weight:600;color:var(--md-sys-color-on-surface, #1d1b20);margin:0}.history-close-button{background:transparent;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--md-sys-color-on-surface-variant, #49454f)}.history-close-button:hover{background:var(--md-sys-color-secondary-container, rgba(232, 222, 248, .3));color:var(--md-sys-color-on-secondary-container, #1d192b)}.history-close-button svg{width:24px;height:24px}.history-content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:24px;gap:24px}.year-selector-container{display:flex;align-items:center;gap:12px;background:var(--md-sys-color-surface-container, rgba(244, 239, 244, .8));border:1px solid var(--md-sys-color-outline, #79747e);border-radius:12px;padding:12px 16px;width:fit-content}.year-label{font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface, #1d1b20);white-space:nowrap}.year-select{background:transparent;border:none;color:var(--md-sys-color-on-surface, #1d1b20);font-size:14px;font-weight:500;cursor:pointer;outline:none;padding:4px 8px;border-radius:6px;transition:background-color .2s ease}.year-select:focus{background:var(--md-sys-color-primary-container, rgba(234, 221, 255, .3))}.year-select option{background:var(--md-sys-color-surface, #fffbfe);color:var(--md-sys-color-on-surface, #1d1b20)}.history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:var(--md-sys-color-on-surface-variant, #49454f)}.loading-spinner{width:32px;height:32px;border:3px solid var(--md-sys-color-outline-variant, rgba(73, 69, 79, .3));border-top:3px solid var(--md-sys-color-primary, #6750a4);border-radius:50%;animation:spin 1s linear infinite}.table-wrapper{flex:1;overflow:visible;border-radius:16px;border:1px solid var(--md-sys-color-outline-variant, rgba(0, 0, 0, .1));background:var(--md-sys-color-surface, #fffbfe)}.table-container{width:100%;max-height:60vh;overflow-y:auto}.history-table{width:100%;border-collapse:collapse;font-size:14px;min-width:800px}.history-table thead{position:sticky;top:0;background:var(--md-sys-color-surface-container, #f4eff4);z-index:1}.history-table th{background:var(--md-sys-color-surface-container, #f4eff4);color:var(--md-sys-color-on-surface, #1d1b20);font-weight:600;text-align:left;padding:16px 20px;border-bottom:2px solid var(--md-sys-color-outline-variant, rgba(0, 0, 0, .1));font-size:13px;text-transform:uppercase;letter-spacing:.5px}.history-table td{padding:16px 20px;border-bottom:1px solid var(--md-sys-color-outline-variant, rgba(0, 0, 0, .08));color:var(--md-sys-color-on-surface, #1d1b20);vertical-align:middle}.table-row:hover{background:var(--md-sys-color-surface-container-low, rgba(244, 239, 244, .3))}.period-cell{min-width:140px}.period-content{display:flex;flex-direction:column;gap:2px}.period-month{font-weight:600;color:var(--md-sys-color-on-surface, #1d1b20)}.period-year{font-size:12px;color:var(--md-sys-color-on-surface-variant, #49454f)}.service-cell{min-width:120px}.service-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.service-badge.publicador{background:var(--md-sys-color-tertiary-container, #ffd8e4);color:var(--md-sys-color-on-tertiary-container, #31111d)}.service-badge.auxiliar{background:var(--md-sys-color-secondary-container, #e8def8);color:var(--md-sys-color-on-secondary-container, #1d192b)}.service-badge.regular{background:var(--md-sys-color-primary-container, #eaddff);color:var(--md-sys-color-on-primary-container, #21005d)}.service-badge.especial{background:#ffe082;color:#5d4037}.service-badge.misionero{background:#c8e6c9;color:#2e7d32}.number-cell{min-width:80px;text-align:center}.number-value{font-weight:600;font-size:16px;color:var(--md-sys-color-on-surface, #1d1b20)}.hours-content{display:flex;align-items:center;justify-content:center;gap:8px}.auxiliary-badge{background:var(--md-sys-color-secondary-container, #e8def8);color:var(--md-sys-color-on-secondary-container, #1d192b);padding:2px 6px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.5px}.notes-cell{max-width:200px}.notes-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--md-sys-color-on-surface-variant, #49454f)}.date-cell{min-width:100px}.date-text{font-size:13px;color:var(--md-sys-color-on-surface-variant, #49454f)}.no-data{text-align:center;padding:60px 20px!important}.no-data-content{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--md-sys-color-on-surface-variant, #49454f)}.no-data-content svg{width:48px;height:48px;opacity:.5}.no-data-content span{font-size:16px;font-weight:500}@media (prefers-color-scheme: dark){.history-container{background:var(--md-sys-color-surface-container-highest, rgba(46, 42, 50, .95));border-color:var(--md-sys-color-outline-variant, rgba(202, 196, 208, .2))}.history-title{color:var(--md-sys-color-on-surface, #e6e0e9)}.history-close-button{color:var(--md-sys-color-on-surface-variant, #cac4d0)}.history-close-button:hover{background:var(--md-sys-color-secondary-container, rgba(74, 69, 78, .3));color:var(--md-sys-color-on-secondary-container, #e8def8)}.year-selector-container{background:var(--md-sys-color-surface-container, rgba(73, 69, 79, .8));border-color:var(--md-sys-color-outline, #938f99)}.year-label,.year-select{color:var(--md-sys-color-on-surface, #e6e0e9)}.year-select option{background:var(--md-sys-color-surface, #141218);color:var(--md-sys-color-on-surface, #e6e0e9)}.table-wrapper{border-color:var(--md-sys-color-outline-variant, rgba(202, 196, 208, .2));background:var(--md-sys-color-surface, #141218)}.history-table th{background:var(--md-sys-color-surface-container, #49454e);color:var(--md-sys-color-on-surface, #e6e0e9);border-color:var(--md-sys-color-outline-variant, rgba(202, 196, 208, .2))}.history-table td{color:var(--md-sys-color-on-surface, #e6e0e9);border-color:var(--md-sys-color-outline-variant, rgba(202, 196, 208, .1))}.table-row:hover{background:var(--md-sys-color-surface-container-low, rgba(73, 69, 79, .3))}.service-badge.publicador{background:var(--md-sys-color-tertiary-container, #633b48);color:var(--md-sys-color-on-tertiary-container, #ffd8e4)}.service-badge.auxiliar{background:var(--md-sys-color-secondary-container, #4a4458);color:var(--md-sys-color-on-secondary-container, #e8def8)}.service-badge.regular{background:var(--md-sys-color-primary-container, #4f378b);color:var(--md-sys-color-on-primary-container, #eaddff)}}@media (max-width: 768px){.history-backdrop{padding:16px}.history-container{border-radius:20px;max-height:95vh}.history-header{padding:20px}.history-title{font-size:20px}.history-content{padding:0 20px 20px}.year-selector-container{flex-direction:column;align-items:flex-start;gap:8px;width:100%}.year-select{width:100%;padding:8px 12px;border:1px solid var(--md-sys-color-outline, #79747e);border-radius:8px}.history-table{min-width:600px}.history-table th,.history-table td{padding:12px 16px;font-size:13px}.period-cell,.service-cell{min-width:100px}.number-cell{min-width:60px}.notes-cell{max-width:150px}}@media (max-width: 480px){.history-backdrop{padding:12px}.history-header{padding:16px}.history-title{font-size:18px}.history-content{padding:0 16px 16px;gap:16px}.history-table{min-width:500px}.history-table th,.history-table td{padding:10px 12px;font-size:12px}.service-badge{padding:3px 8px;font-size:10px}.number-value{font-size:14px}}.activity-page{min-height:100vh;background:var(--app-gradient-primary);color:var(--md-sys-color-on-primary)}.activity-content{max-width:1200px;margin:0 auto;padding:40px 20px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px;max-width:1200px}.activity-card{background:var(--md-sys-color-surface-container-high, rgba(255, 255, 255, .15));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--md-sys-color-outline-variant, rgba(255, 255, 255, .2));border-radius:24px;padding:24px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:20px;min-height:180px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.activity-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--md-sys-color-primary, #6750a4);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.activity-card:hover{background:var(--md-sys-color-surface-container-highest, rgba(255, 255, 255, .25));transform:translateY(-8px);box-shadow:0 8px 25px #00000026,0 16px 40px #0000001a;border-color:var(--md-sys-color-outline, rgba(255, 255, 255, .3))}.activity-card.report-card:before{background:linear-gradient(90deg,#4caf50,#66bb6a)}.activity-card.reports-card:before{background:linear-gradient(90deg,#2196f3,#42a5f5)}.activity-card.history-card:before{background:linear-gradient(90deg,#9c27b0,#ba68c8)}.card-header{display:flex;align-items:center;justify-content:space-between;position:relative}.card-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;position:relative;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.card-icon svg{width:28px;height:28px;color:#fff;transition:all .3s ease}.activity-card:hover .card-icon{transform:scale(1.1);box-shadow:0 4px 15px #0003}.card-icon.report-icon{background:linear-gradient(135deg,#4caf50,#66bb6a)}.card-icon.reports-icon{background:linear-gradient(135deg,#2196f3,#42a5f5)}.card-icon.history-icon{background:linear-gradient(135deg,#9c27b0,#ba68c8)}.notification-badge{position:absolute;top:-8px;right:-8px;background:var(--md-sys-color-error, #dc3545);color:#fff;font-size:12px;font-weight:700;padding:4px 8px;border-radius:12px;min-width:20px;text-align:center;box-shadow:0 2px 8px #dc35454d;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.card-content{flex:1;display:flex;flex-direction:column;gap:12px}.card-title{font-size:20px;font-weight:600;color:#fff;margin:0;line-height:1.3}.card-description{font-size:14px;color:#fffc;margin:0;line-height:1.5;flex:1}.card-status{padding:6px 12px;border-radius:12px;font-size:12px;font-weight:500;text-align:center;text-transform:uppercase;letter-spacing:.5px;margin-top:auto}.card-status.pending{background:#ff980033;color:#ff9800;border:1px solid rgba(255,152,0,.3)}.card-status.updated{background:#4caf5033;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.card-stats{margin-top:auto}.stat-item{display:flex;flex-direction:column;gap:2px}.stat-number{font-size:24px;font-weight:700;color:#fff}.stat-label{font-size:12px;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.card-action{position:absolute;top:24px;right:24px;width:32px;height:32px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:0}.card-action svg{width:18px;height:18px;color:#fff}.activity-card:hover .card-action{opacity:1;background:#fff3;transform:translate(4px)}@media (max-width: 1024px){.cards-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}}@media (max-width: 768px){.header-content{flex-direction:column;gap:20px;text-align:center}.header-left{flex-direction:column;gap:16px;width:100%}.page-title{font-size:24px}.activity-content{padding:20px}.cards-grid{grid-template-columns:1fr;gap:16px}.activity-card{padding:20px;min-height:160px}.card-icon{width:48px;height:48px}.card-icon svg{width:24px;height:24px}.card-title{font-size:18px}.card-action{opacity:1}}@media (max-width: 480px){.page-title{font-size:20px}.activity-content{padding:16px}.activity-card{padding:16px;gap:16px;min-height:140px}.card-header{flex-direction:row;align-items:center;gap:12px}.card-icon{width:40px;height:40px;border-radius:12px}.card-icon svg{width:20px;height:20px}.card-title{font-size:16px}.card-description{font-size:13px}.stat-number{font-size:20px}.card-action{position:relative;top:auto;right:auto;margin-left:auto}}@media (prefers-color-scheme: dark){.activity-card{background:var(--md-sys-color-surface-container-high, rgba(46, 42, 50, .8));border-color:var(--md-sys-color-outline-variant, rgba(202, 196, 208, .2))}.activity-card:hover{background:var(--md-sys-color-surface-container-highest, rgba(55, 50, 63, .9));border-color:var(--md-sys-color-outline, rgba(202, 196, 208, .3))}.card-title{color:var(--md-sys-color-on-surface, #e6e0e9)}.card-description{color:var(--md-sys-color-on-surface-variant, rgba(202, 196, 208, .8))}.stat-number{color:var(--md-sys-color-on-surface, #e6e0e9)}.stat-label{color:var(--md-sys-color-on-surface-variant, rgba(202, 196, 208, .7))}}@media (prefers-reduced-motion: no-preference){.activity-card{animation:fadeInUp .6s ease-out}.activity-card:nth-child(1){animation-delay:.1s}.activity-card:nth-child(2){animation-delay:.2s}.activity-card:nth-child(3){animation-delay:.3s}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.activity-card:focus-visible{outline:2px solid var(--md-sys-color-primary, #6750a4);outline-offset:2px}.reports-page{min-height:100vh;background:var(--app-gradient-primary);color:var(--md-sys-color-on-primary)}.header-left .back-button,.back-button{background:linear-gradient(135deg,#ffffff1a,#ffffff0d)!important;border:1px solid rgba(255,255,255,.15)!important;color:var(--md-sys-color-on-primary)!important;padding:12px 20px!important;border-radius:12px!important;cursor:pointer!important;display:flex!important;align-items:center!important;gap:8px!important;font-size:14px!important;font-weight:500!important;transition:all .3s ease!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014!important;z-index:100!important}.header-left .back-button:hover,.back-button:hover{background:linear-gradient(135deg,#ffffff26,#ffffff14)!important;border-color:#fff3!important;transform:translateY(-2px)!important;box-shadow:0 4px 15px #00000026,0 2px 6px #0000001a!important}.back-button svg{width:18px;height:18px;fill:currentColor;transition:transform .25s ease;opacity:.85}.back-button:hover svg{opacity:1;transform:translate(-1px)}.loading-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:999;color:#fff}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite}.reports-content{max-width:1200px;margin:0 auto;padding:40px 20px;display:flex;flex-direction:column;gap:40px}.section-header{margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.section-title{font-size:24px;font-weight:600;margin:0;color:var(--md-sys-color-on-primary)}.section-description{font-size:16px;opacity:.8;margin:0}.summary-section{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:32px;box-shadow:0 8px 32px #0000001a}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.summary-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#6750a4,#7c4dff)}.summary-card.total:before{background:linear-gradient(90deg,#4caf50,#66bb6a)}.summary-card.average:before{background:linear-gradient(90deg,#2196f3,#42a5f5)}.summary-card.courses:before{background:linear-gradient(90deg,#ff9800,#ffb74d)}.summary-card.reports:before{background:linear-gradient(90deg,#9c27b0,#ba68c8)}.summary-card:hover{background:#ffffff26;transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.summary-icon{width:48px;height:48px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-icon svg{width:24px;height:24px;color:#fff}.summary-content{display:flex;flex-direction:column;gap:4px}.summary-value{font-size:32px;font-weight:700;color:#fff}.summary-label{font-size:14px;opacity:.8;color:#fff;font-weight:500}.precursor-section{background:linear-gradient(135deg,#dda15e26,#bc6c2526);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(221,161,94,.4);border-radius:20px;padding:32px;box-shadow:0 8px 32px #ffd7001a}.precursor-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.precursor-card{background:#ffffff26;border:1px solid rgba(255,215,0,.3);border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.precursor-card.progress{flex-direction:column;align-items:stretch;gap:16px}.precursor-card:hover{background:#fff3;transform:translateY(-4px);box-shadow:0 12px 40px #ffd70033}.precursor-icon{width:48px;height:48px;background:var(--app-gradient-accent);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 15px #ffd7004d}.precursor-icon svg{width:24px;height:24px;color:#fff}.precursor-content{display:flex;flex-direction:column;gap:8px;flex:1}.precursor-header{display:flex;flex-direction:column;gap:4px}.precursor-value{font-size:32px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.precursor-label{font-size:14px;font-weight:600;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px}.progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--app-gradient-accent);border-radius:4px;transition:width .5s ease;box-shadow:0 2px 4px #ffd7004d}.progress-text{font-size:12px;font-weight:600;color:var(--md-sys-color-secondary);text-align:center}.auxiliar-section{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:32px;box-shadow:0 8px 32px #0000001a}.auxiliar-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:24px;display:flex;align-items:center;gap:20px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auxiliar-card:hover{background:#ffffff26;transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.auxiliar-icon{width:64px;height:64px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 15px #4caf504d}.auxiliar-icon svg{width:32px;height:32px;color:#fff}.auxiliar-content{display:flex;flex-direction:column;gap:12px;flex:1}.auxiliar-stats{display:flex;flex-direction:column;gap:4px}.auxiliar-value{font-size:36px;font-weight:700;color:#fff}.auxiliar-label{font-size:16px;font-weight:600;color:#ffffffe6}.auxiliar-progress{display:flex;flex-direction:column;gap:8px}.auxiliar-progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden}.auxiliar-progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:4px;transition:width .5s ease;box-shadow:0 2px 4px #4caf504d}.auxiliar-progress-text{font-size:14px;font-weight:500;color:#fffc}.chart-section{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:32px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.chart-controls{display:flex;gap:8px;background:#ffffff1a;border-radius:12px;padding:4px}.chart-toggle{background:transparent;border:none;color:#ffffffb3;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.chart-toggle.active{background:#fff3;color:#fff}.chart-toggle:hover:not(.active){background:#ffffff1a;color:#ffffffe6}.chart-container{background:#ffffff0d;border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.1);min-height:450px;display:flex;align-items:center;justify-content:center}.no-chart-data{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff9;text-align:center}.no-chart-data svg{width:64px;height:64px;opacity:.5}.no-chart-data p{font-size:18px;font-weight:500;margin:0}.no-chart-data span{font-size:14px;opacity:.8}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#ffffff1a}.recharts-text{fill:#fffc;font-size:12px}.recharts-tooltip-wrapper{background:#000c;border-radius:8px;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.recharts-default-tooltip{background:#000c!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important;color:#fff!important}@media (max-width: 1024px){.precursor-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width: 768px){.reports-content{padding:20px;gap:24px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.summary-section,.precursor-section,.auxiliar-section,.chart-section{padding:24px}.summary-grid{grid-template-columns:1fr}.summary-card{padding:20px}.chart-container{padding:16px;min-height:350px}.auxiliar-card{flex-direction:column;text-align:center}.auxiliar-content{align-items:center}}@media (max-width: 480px){.page-title{font-size:24px}.section-title{font-size:20px}.summary-value,.precursor-value,.auxiliar-value{font-size:28px}.chart-controls{width:100%;justify-content:center}}.donation-form-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.donation-form-modal{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 20px 60px #0000004d;border:1px solid rgba(255,255,255,.2);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:2rem 2rem 1rem;border-bottom:1px solid rgba(0,0,0,.1);position:sticky;top:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px 24px 0 0;z-index:10}.modal-header h2{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0}.close-button{background:none;border:none;color:#666;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-button:hover{background:#0000000d;color:#1a1a1a}.close-button svg{width:24px;height:24px}.donation-form{padding:0 2rem 2rem}.form-section{margin-bottom:2rem}.form-section h3{font-size:1.125rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #f0f0f0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:600;color:#1a1a1a}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:2px solid #e5e5e5;border-radius:12px;font-size:1rem;transition:all .2s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:80px}.total-amount-input{font-size:1.25rem!important;font-weight:600!important;text-align:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;border-color:#667eea!important}.amount-summary{background:#f8f9fa;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #e9ecef}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem}.summary-item:not(:last-child){border-bottom:1px solid #e9ecef}.summary-item.remaining{font-weight:600;color:#667eea;font-size:1rem}.summary-item .amount{font-weight:600;color:#1a1a1a}.items-list{background:#fff;border-radius:16px;border:1px solid #e9ecef;overflow:hidden;margin-bottom:1.5rem}.item-row{display:flex;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #f0f0f0;gap:1rem}.item-row:last-child{border-bottom:none}.item-destino{flex:1;font-weight:600;color:#1a1a1a;font-size:.875rem}.item-amount-control{display:flex;align-items:center;gap:.5rem;min-width:120px}.amount-input{width:100px;padding:.5rem .75rem!important;border:1px solid #e5e5e5!important;border-radius:8px!important;font-size:.875rem!important;text-align:center}.currency-label{font-size:.75rem;color:#666;font-weight:600;min-width:30px}.remove-item-btn{background:#ff4757;border:none;color:#fff;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.remove-item-btn:hover{background:#ff3742;transform:scale(1.05)}.remove-item-btn svg{width:16px;height:16px}.add-item-section{background:#f8f9fa;border-radius:16px;padding:1.5rem;border:2px dashed #dee2e6}.amount-input-group{display:flex;align-items:center;gap:.5rem}.amount-input-group input{flex:1}.add-item-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:all .2s ease;font-weight:600;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.add-item-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.add-item-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.add-item-btn svg{width:18px;height:18px}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #f0f0f0;margin-top:2rem}.cancel-btn{background:#f8f9fa;border:2px solid #e9ecef;color:#666;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:all .2s ease;font-weight:600}.cancel-btn:hover{background:#e9ecef;color:#1a1a1a}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:all .2s ease;font-weight:600}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.print-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:all .2s ease;font-weight:600;display:flex;align-items:center;gap:.5rem}.print-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #28a74566}.print-btn svg{width:18px;height:18px}@media (max-width: 768px){.donation-form-overlay{padding:.5rem}.donation-form-modal{max-height:95vh;border-radius:20px}.modal-header{padding:1.5rem 1.5rem 1rem;border-radius:20px 20px 0 0}.modal-header h2{font-size:1.25rem}.donation-form{padding:0 1.5rem 1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-section{margin-bottom:1.5rem}.form-section h3{font-size:1rem}.amount-summary{padding:1rem}.item-row{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.item-amount-control{width:100%;justify-content:space-between}.amount-input{width:120px}.add-item-section{padding:1rem}.form-actions{flex-direction:column;gap:.75rem}.cancel-btn,.submit-btn,.print-btn{width:100%;justify-content:center}}@media (max-width: 480px){.donation-form-overlay{padding:.25rem}.donation-form-modal{border-radius:16px}.modal-header{padding:1rem 1rem .75rem;border-radius:16px 16px 0 0}.donation-form{padding:0 1rem 1rem}.form-group input,.form-group select,.form-group textarea{padding:.625rem .875rem;font-size:.875rem}.total-amount-input{font-size:1.125rem!important}.amount-summary{padding:.875rem}.summary-item{font-size:.8125rem}.summary-item.remaining{font-size:.9375rem}.item-row{padding:.875rem}.item-destino{font-size:.8125rem}.amount-input{width:100px;padding:.5rem!important;font-size:.8125rem!important}.currency-label{font-size:.6875rem}.add-item-section{padding:.875rem}.add-item-btn{padding:.625rem 1rem;font-size:.875rem}.add-item-btn svg{width:16px;height:16px}}@media (prefers-color-scheme: dark){.donation-form-modal,.modal-header{background:#2d2d41f2;border-color:#ffffff1a}.modal-header h2{color:#fff}.close-button{color:#a0a0a0}.close-button:hover{background:#ffffff1a;color:#fff}.form-section h3{color:#fff;border-color:#ffffff1a}.form-group label{color:#fff}.form-group input,.form-group select,.form-group textarea{background:#3c3c5080;border-color:#ffffff1a;color:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.total-amount-input{background:linear-gradient(135deg,#3c3c50cc,#323246cc)!important}.amount-summary{background:#3c3c5080;border-color:#ffffff1a}.summary-item{border-color:#ffffff1a}.summary-item .amount{color:#fff}.items-list{background:#3c3c5080;border-color:#ffffff1a}.item-row{border-color:#ffffff1a}.item-destino{color:#fff}.amount-input{background:#46465a80!important;border-color:#ffffff1a!important;color:#fff!important}.currency-label{color:#a0a0a0}.add-item-section{background:#3c3c5080;border-color:#ffffff1a}.cancel-btn{background:#3c3c5080;border-color:#ffffff1a;color:#a0a0a0}.cancel-btn:hover{background:#46465a80;color:#fff}}.donations-stats{padding:0;max-width:100%}.donations-stats.loading{display:flex;align-items:center;justify-content:center;min-height:400px}.loading-spinner{color:#fffc;font-size:1.125rem;text-align:center}.stats-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden;transition:all .3s ease}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.stat-card .stat-icon{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card .stat-icon svg{width:28px;height:28px;color:#fff}.stat-content h3{font-size:.875rem;font-weight:600;color:#666;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.stat-number{font-size:2rem;font-weight:700;color:#1a1a1a;margin:.5rem 0;line-height:1}.stat-label{font-size:.75rem;color:#666;font-weight:500}.total-donations .stat-icon{background:linear-gradient(135deg,#4facfe,#00f2fe)}.total-amount .stat-icon{background:linear-gradient(135deg,#43e97b,#38f9d7)}.average-amount .stat-icon{background:linear-gradient(135deg,#fa709a,#fee140)}.growth-rate .stat-icon{background:linear-gradient(135deg,#a8edea,#fed6e3)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:2rem}.chart-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.chart-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.chart-card h3{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0 0 1.5rem;text-align:center}.chart-card.full-width{grid-column:1 / -1}.no-data{display:flex;align-items:center;justify-content:center;height:300px;color:#666;font-style:italic}.top-donors-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.top-donors-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.top-donors-section h3{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0 0 1.5rem;text-align:center}.donors-list{display:flex;flex-direction:column;gap:1rem}.donor-item{display:flex;align-items:center;background:#fafafa;border-radius:16px;padding:1.5rem;border:1px solid #e5e5e5;transition:all .2s ease;position:relative;overflow:hidden}.donor-item:hover{background:#f5f5f5;border-color:#d0d0d0;transform:translate(4px)}.donor-rank{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;margin-right:1rem;flex-shrink:0}.donor-info{flex:1;min-width:0}.donor-name{font-weight:600;color:#1a1a1a;margin-bottom:.25rem;font-size:1rem}.donor-stats{display:flex;gap:1rem;font-size:.875rem}.donor-amount{font-weight:600;color:#667eea}.donor-count{color:#666}.donor-progress{width:100px;height:8px;background:#e5e5e5;border-radius:4px;overflow:hidden;margin-left:1rem;flex-shrink:0}.progress-bar{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .3s ease}@media (max-width: 768px){.stats-summary-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.5rem}.stat-number{font-size:1.5rem}.charts-grid{grid-template-columns:1fr;gap:1.5rem}.chart-card{padding:1.5rem}.donor-item{padding:1rem}.donor-stats{flex-direction:column;gap:.25rem}.donor-progress{width:80px}}@media (max-width: 480px){.stats-summary-grid{grid-template-columns:1fr}.donor-item{flex-direction:column;align-items:flex-start;gap:1rem}.donor-progress{width:100%;margin-left:0}.stat-card .stat-icon{width:50px;height:50px}.stat-card .stat-icon svg{width:24px;height:24px}}@media (prefers-color-scheme: dark){.stat-card,.chart-card,.top-donors-section{background:#2d2d41f2;border-color:#ffffff1a}.stat-content h3,.chart-card h3,.top-donors-section h3,.stat-number,.donor-name{color:#fff}.stat-label,.donor-count{color:#a0a0a0}.donor-item{background:#3c3c5080;border-color:#ffffff1a}.donor-item:hover{background:#46465a80}.donor-progress{background:#ffffff1a}.loading-spinner{color:#fff}.no-data{color:#a0a0a0}}.donations{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.donations-content{max-width:1200px;margin:0 auto;padding:2rem}.donations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.donation-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);transition:all .3s ease;position:relative;overflow:hidden}.donation-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.donation-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.card-icon{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2)}.card-icon svg{width:28px;height:28px;color:#fff}.card-title{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem}.card-description{color:#666;font-size:.875rem;line-height:1.5;margin:0 0 1.5rem}.new-donation-card{cursor:pointer;border:2px solid transparent;transition:all .3s ease}.new-donation-card:hover{border-color:#667eea;background:#667eea0d}.stats-card{cursor:pointer;border:2px solid transparent;transition:all .3s ease}.stats-card:hover{border-color:#667eea;background:#667eea0d}.stats-summary{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat-item{text-align:center}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#667eea;margin-bottom:.25rem}.stat-label{display:block;font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.05em}.recent-donations{max-height:150px;overflow-y:auto}.recent-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.recent-item:last-child{border-bottom:none}.recent-amount{font-weight:600;color:#1a1a1a}.recent-date{font-size:.75rem;color:#666}.loading,.no-donations{text-align:center;color:#666;font-size:.875rem;padding:2rem 0}.detailed-history{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.detailed-history h2{color:#1a1a1a;font-size:1.5rem;font-weight:700;margin:0 0 2rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.donation-item{background:#fafafa;border-radius:16px;padding:1.5rem;border:1px solid #e5e5e5;transition:all .2s ease}.donation-item:hover{background:#f5f5f5;border-color:#d0d0d0}.donation-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.donation-amount{font-size:1.25rem;font-weight:700;color:#667eea}.donation-info{text-align:right}.donation-date{font-weight:600;color:#1a1a1a;margin-bottom:.25rem}.donation-method{font-size:.75rem;color:#666}.donation-destinations{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem;border:1px solid #e5e5e5}.destination-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.destination-item:last-child{border-bottom:none}.destination-name{font-size:.875rem;color:#666}.destination-amount{font-weight:600;color:#1a1a1a}.donation-notes{background:#f8f9fa;border-radius:8px;padding:1rem;font-size:.875rem;color:#666;border-left:4px solid #667eea}@media (max-width: 768px){.donations-content{padding:1rem}.donations-grid{grid-template-columns:1fr;gap:1.5rem}.donations-header .header-content{padding:0 1rem;flex-direction:column;align-items:flex-start;gap:1rem}.donations-header .header-content .header-title{flex:none;width:100%;text-align:left;align-items:flex-start}.header-title h1{font-size:1.5rem}.donation-card{padding:1.5rem}.stats-summary{grid-template-columns:1fr;gap:.5rem}.donation-main{flex-direction:column;align-items:flex-start;gap:.5rem}.donation-info{text-align:left}}@media (prefers-color-scheme: dark){.donations{background:linear-gradient(135deg,#1a1a2e,#16213e)}.donation-card,.detailed-history{background:#2d2d41f2;border-color:#ffffff1a}.card-title,.detailed-history h2,.donation-amount,.donation-date{color:#fff}.card-description,.stat-label,.recent-date,.donation-method,.destination-name,.donation-notes{color:#a0a0a0}.donation-item{background:#3c3c5080;border-color:#ffffff1a}.donation-item:hover{background:#46465a80}.donation-destinations{background:#32324680;border-color:#ffffff1a}.destination-item{border-color:#ffffff1a}.destination-amount,.recent-amount{color:#fff}}.view-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid rgba(255,255,255,.1)}.view-header h2{color:#fff;font-size:1.75rem;font-weight:700;margin:0}.view-hints{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem;margin-bottom:2rem;border:1px solid rgba(255,255,255,.2);text-align:center}.view-hints p{color:#666;margin:0;font-style:italic}.quick-summary{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.quick-summary:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.quick-summary h2{color:#1a1a1a;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;text-align:center}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}.summary-item{text-align:center;background:#fafafa;border-radius:12px;padding:1.5rem;border:1px solid #e5e5e5}.summary-label{display:block;font-size:.875rem;color:#666;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.summary-value{display:block;font-size:1.25rem;font-weight:700;color:#667eea}.history-card{cursor:pointer;border:2px solid transparent;transition:all .3s ease}.history-card:hover{border-color:#667eea;background:#667eea0d}.no-donations{text-align:center;padding:4rem 2rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,.2)}.no-donations svg{width:80px;height:80px;color:#ccc;margin-bottom:1.5rem}.no-donations h3{color:#1a1a1a;font-size:1.5rem;font-weight:700;margin:0 0 1rem}.no-donations p{color:#666;font-size:1rem;margin:0 0 2rem;max-width:400px;margin-left:auto;margin-right:auto}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:1rem 2rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1rem}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.stats-view,.history-view{width:100%}.donations-list{display:flex;flex-direction:column;gap:1.5rem}@media (max-width: 768px){.view-header{flex-direction:column;align-items:flex-start;gap:1rem}.view-header h2{font-size:1.5rem}.summary-grid{grid-template-columns:1fr;gap:1rem}.summary-item,.view-hints{padding:1rem}.quick-summary{padding:1.5rem}.no-donations{padding:2rem 1rem}.no-donations svg{width:60px;height:60px}}@media (prefers-color-scheme: dark){.view-hints,.quick-summary,.no-donations{background:#2d2d41f2;border-color:#ffffff1a}.view-hints p{color:#a0a0a0}.quick-summary h2,.no-donations h3{color:#fff}.summary-item{background:#3c3c5080;border-color:#ffffff1a}.summary-label{color:#a0a0a0}.summary-value{color:#fff}.no-donations p{color:#a0a0a0}.no-donations svg{color:#666}}.modal-overlay{position:fixed;inset:0;background:var(--md-sys-color-shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:modalFadeIn var(--md-motion-duration-short) var(--md-motion-easing-standard)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.attendance-modal{background:var(--md-sys-color-surface);border-radius:var(--md-shape-corner-large);box-shadow:var(--md-sys-elevation-3);width:100%;max-width:480px;max-height:90vh;overflow:hidden;animation:modalSlideIn var(--md-motion-duration-short) var(--md-motion-easing-emphasized)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:1.5rem;border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex;align-items:center;justify-content:space-between;background:var(--md-sys-color-surface-container)}.modal-title{font-size:1.5rem;font-weight:600;color:var(--md-sys-color-on-surface);margin:0;line-height:1.2}.close-button{width:40px;height:40px;background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-shape-corner-small);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);color:var(--md-sys-color-on-surface)}.close-button:hover:not(:disabled){background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border-color:var(--md-sys-color-error)}.close-button:disabled{opacity:.5;cursor:not-allowed}.modal-form{display:flex;flex-direction:column;max-height:calc(90vh - 80px)}.form-content{padding:1.5rem;overflow-y:auto;flex:1}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:.9rem;font-weight:600;color:var(--md-sys-color-on-surface);margin-bottom:.5rem;letter-spacing:.25px}.form-input,.form-select{width:100%;padding:.75rem 1rem;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-shape-corner-small);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-size:1rem;font-family:inherit;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);box-sizing:border-box}.form-input:focus,.form-select:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px var(--md-sys-color-primary-container)}.form-input:disabled,.form-select:disabled{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed;opacity:.7}.form-input.error,.form-select.error{border-color:var(--md-sys-color-error);box-shadow:0 0 0 2px var(--md-sys-color-error-container)}.form-input::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:.7}.form-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:20px;padding-right:3rem}.error-message{display:block;font-size:.8rem;color:var(--md-sys-color-error);margin-top:.25rem;font-weight:500}.input-help{display:block;font-size:.8rem;color:var(--md-sys-color-on-surface-variant);margin-top:.25rem;font-style:italic}.modal-footer{padding:1.5rem;border-top:1px solid var(--md-sys-color-outline-variant);display:flex;gap:1rem;justify-content:flex-end;background:var(--md-sys-color-surface-container)}.cancel-button,.submit-button{padding:.75rem 1.5rem;border-radius:var(--md-shape-corner-small);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);display:flex;align-items:center;gap:.5rem;min-width:120px;justify-content:center}.cancel-button{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface)}.cancel-button:hover:not(:disabled){background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline-variant)}.submit-button{background:var(--md-sys-color-primary);border:1px solid var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.submit-button:hover:not(:disabled){background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);box-shadow:var(--md-sys-elevation-2)}.cancel-button:disabled,.submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.modal-overlay{padding:.5rem}.attendance-modal{max-width:none;margin:0}.modal-header{padding:1rem}.modal-title{font-size:1.25rem}.form-content{padding:1rem}.modal-footer{padding:1rem;flex-direction:column-reverse}.cancel-button,.submit-button{width:100%}}@media (max-width: 480px){.modal-overlay{align-items:flex-end;padding:0}.attendance-modal{border-radius:var(--md-shape-corner-large) var(--md-shape-corner-large) 0 0;max-height:80vh}.form-group{margin-bottom:1rem}}.close-button:focus-visible,.cancel-button:focus-visible,.submit-button:focus-visible,.form-input:focus-visible,.form-select:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}@media (prefers-contrast: high){.form-input,.form-select{border-width:2px}.error-message{font-weight:700}}@media (prefers-reduced-motion: reduce){.modal-overlay,.attendance-modal,.loading-spinner{animation:none}.close-button,.cancel-button,.submit-button,.form-input,.form-select{transition:none}}.congregation-activity{min-height:100vh;background:var(--md-sys-color-background);color:var(--md-sys-color-on-background);padding-bottom:2rem}.activity-header{background:var(--md-sys-color-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-1);position:sticky;top:0;z-index:100}.header-content{max-width:1200px;margin:0 auto;padding:1.5rem 2rem;display:flex;align-items:center;gap:1rem}.activity-content{max-width:1200px;margin:0 auto;padding:2rem}.quick-stats-section{margin-bottom:3rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-shape-corner-medium);padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--md-sys-elevation-1);transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard)}.stat-icon{width:48px;height:48px;background:var(--md-sys-color-primary-container);border-radius:var(--md-shape-corner-medium);display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-primary-container);flex-shrink:0}.stat-icon svg{width:24px;height:24px}.stat-value{font-size:1.75rem;font-weight:700;color:var(--md-sys-color-primary);line-height:1}.stat-label{font-size:.9rem;color:var(--md-sys-color-on-surface-variant);font-weight:500}.activity-cards-section{margin-bottom:2rem}.section-title{font-size:1.5rem;font-weight:600;color:var(--md-sys-color-on-surface);margin:0 0 1.5rem;text-align:center}.activity-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.activity-card{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-shape-corner-medium);padding:1.5rem;cursor:pointer;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);display:flex;align-items:center;gap:1rem;box-shadow:var(--md-sys-elevation-1);position:relative;overflow:hidden}.activity-card:hover{box-shadow:var(--md-sys-elevation-3);transform:translateY(-4px);border-color:var(--md-sys-color-primary)}.activity-card:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.activity-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--md-sys-color-primary);transform:scaleX(0);transition:transform var(--md-motion-duration-short) var(--md-motion-easing-standard)}.activity-card:hover:before{transform:scaleX(1)}.activity-card .card-icon{width:56px;height:56px;border-radius:var(--md-shape-corner-medium);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard)}.activity-card .card-icon svg{width:28px;height:28px}.activity-card:hover .card-icon{transform:scale(1.1)}.attendance-card .card-icon{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.analysis-card .card-icon{background:linear-gradient(135deg,#2196f3,#42a5f5);color:#fff}.statistics-card .card-icon{background:linear-gradient(135deg,#ff9800,#ffb74d);color:#fff}.history-card .card-icon{background:linear-gradient(135deg,#9c27b0,#ba68c8);color:#fff}.card-content{flex:1;min-width:0}.card-title{font-size:1.25rem;font-weight:600;color:var(--md-sys-color-on-surface);margin:0 0 .5rem;line-height:1.2}.card-description{font-size:.95rem;color:var(--md-sys-color-on-surface-variant);margin:0 0 1rem;line-height:1.4}.card-stats{display:flex;gap:1rem}.card-stats .stat-item{display:flex;flex-direction:column;gap:.25rem}.card-stats .stat-number{font-size:1.25rem;font-weight:700;color:var(--md-sys-color-primary);line-height:1}.card-stats .stat-label{font-size:.8rem;color:var(--md-sys-color-on-surface-variant);font-weight:500}.card-arrow{width:24px;height:24px;color:var(--md-sys-color-on-surface-variant);transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);flex-shrink:0}.card-arrow svg{width:100%;height:100%}.activity-card:hover .card-arrow{color:var(--md-sys-color-primary);transform:translate(4px)}@media (max-width: 768px){.activity-content,.header-content{padding:1rem}.page-title{font-size:1.5rem}.page-subtitle{font-size:.9rem}.activity-cards-grid,.stats-grid{grid-template-columns:1fr;gap:1rem}.activity-card,.stat-card{padding:1rem}}@media (max-width: 480px){.activity-card{flex-direction:column;text-align:center;gap:1rem}.card-arrow{display:none}.activity-card .card-icon{width:64px;height:64px}.activity-card .card-icon svg{width:32px;height:32px}}.activity-card.loading{pointer-events:none;opacity:.7}.activity-card.loading .card-icon{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.activity-card:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.analysis-dashboard{min-height:100vh;background:var(--md-sys-color-background);color:var(--md-sys-color-on-background);padding-bottom:2rem}.analysis-header{background:var(--md-sys-color-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-1);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;padding:1.5rem 2rem;display:flex;align-items:center;gap:1rem}.header-info{flex:1}.page-title{font-size:1.75rem;font-weight:600;margin:0;color:var(--md-sys-color-on-surface);line-height:1.2}.page-subtitle{font-size:1rem;color:var(--md-sys-color-on-surface-variant);margin:.25rem 0 0;line-height:1.4}.analysis-content{max-width:1400px;margin:0 auto;padding:2rem}.year-selector-section{margin-bottom:2rem}.year-selector-container{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-shape-corner-medium);padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--md-sys-elevation-1)}.year-label{font-size:1rem;font-weight:600;color:var(--md-sys-color-on-surface);white-space:nowrap}.year-select{flex:1;max-width:300px;padding:.75rem 3rem .75rem 1rem;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-shape-corner-small);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-size:1rem;font-family:inherit;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:20px}.year-select:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px var(--md-sys-color-primary-container)}.year-select:disabled{opacity:.5;cursor:not-allowed}.dashboard-sections{display:flex;flex-direction:column;gap:2rem}.dashboard-section{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-shape-corner-medium);padding:1.5rem;box-shadow:var(--md-sys-elevation-1)}.section-title{font-size:1.25rem;font-weight:600;color:var(--md-sys-color-on-surface);margin:0 0 1.5rem;border-bottom:2px solid var(--md-sys-color-primary);padding-bottom:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.stat-group{background:var(--md-sys-color-surface-container);border-radius:var(--md-shape-corner-medium);padding:1rem}.stat-group-title{font-size:1rem;font-weight:600;color:var(--md-sys-color-on-surface);margin:0 0 1rem;text-align:center}.stat-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat-card{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-shape-corner-medium);padding:1rem;display:flex;align-items:center;gap:.75rem;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard)}.stat-card:hover{box-shadow:var(--md-sys-elevation-2);transform:translateY(-2px)}.stat-card.presencial{border-left:4px solid #4caf50}.stat-card.online{border-left:4px solid #2196f3}.stat-icon{width:40px;height:40px;border-radius:var(--md-shape-corner-small);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card.presencial .stat-icon{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.stat-card.online .stat-icon{background:linear-gradient(135deg,#2196f3,#42a5f5);color:#fff}.stat-icon svg{width:20px;height:20px}.stat-info{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--md-sys-color-primary);line-height:1}.stat-label{font-size:.8rem;color:var(--md-sys-color-on-surface-variant);font-weight:500}.publishers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.publisher-stat-card{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-shape-corner-medium);padding:1rem;display:flex;align-items:center;gap:.75rem;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard)}.publisher-stat-card:hover{box-shadow:var(--md-sys-elevation-2);transform:translateY(-2px)}.publisher-stat-card.active{border-left:4px solid #4caf50}.publisher-stat-card.new{border-left:4px solid #2196f3}.publisher-stat-card.baptized{border-left:4px solid #9c27b0}.publisher-stat-card.irregular{border-left:4px solid #ff9800}.publisher-stat-card.inactive{border-left:4px solid #f44336}.publisher-stat-card.reactivated{border-left:4px solid #00bcd4}.publisher-stat-card.active .stat-icon{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.publisher-stat-card.new .stat-icon{background:linear-gradient(135deg,#2196f3,#42a5f5);color:#fff}.publisher-stat-card.baptized .stat-icon{background:linear-gradient(135deg,#9c27b0,#ba68c8);color:#fff}.publisher-stat-card.irregular .stat-icon{background:linear-gradient(135deg,#ff9800,#ffb74d);color:#fff}.publisher-stat-card.inactive .stat-icon{background:linear-gradient(135deg,#f44336,#ef5350);color:#fff}.publisher-stat-card.reactivated .stat-icon{background:linear-gradient(135deg,#00bcd4,#26c6da);color:#fff}.movements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.movement-stat-card{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-shape-corner-medium);padding:1rem;display:flex;align-items:center;gap:.75rem;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard)}.movement-stat-card:hover{box-shadow:var(--md-sys-elevation-2);transform:translateY(-2px)}.movement-stat-card.moved-from{border-left:4px solid #ff5722}.movement-stat-card.moved-to{border-left:4px solid #4caf50}.movement-stat-card.expelled{border-left:4px solid #f44336}.movement-stat-card.readmitted{border-left:4px solid #2196f3}.movement-stat-card.moved-from .stat-icon{background:linear-gradient(135deg,#ff5722,#ff7043);color:#fff}.movement-stat-card.moved-to .stat-icon{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.movement-stat-card.expelled .stat-icon{background:linear-gradient(135deg,#f44336,#ef5350);color:#fff}.movement-stat-card.readmitted .stat-icon{background:linear-gradient(135deg,#2196f3,#42a5f5);color:#fff}.loading-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:1000;color:#fff;font-size:1.1rem;font-weight:500}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:3rem 1rem;color:var(--md-sys-color-on-surface-variant)}.empty-icon{width:80px;height:80px;margin:0 auto 1rem;color:var(--md-sys-color-outline)}.empty-icon svg{width:100%;height:100%}.empty-state h3{font-size:1.5rem;font-weight:600;margin:0 0 .5rem;color:var(--md-sys-color-on-surface)}.empty-state p{font-size:1rem;max-width:400px;margin:0 auto}@media (max-width: 1024px){.stats-grid{grid-template-columns:1fr}.publishers-grid,.movements-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (max-width: 768px){.analysis-content,.header-content{padding:1rem}.page-title{font-size:1.5rem}.year-selector-container{flex-direction:column;align-items:stretch;gap:.75rem}.year-label{text-align:center}.year-select{max-width:none}.stat-cards,.publishers-grid,.movements-grid{grid-template-columns:1fr}}@media (max-width: 480px){.dashboard-section{padding:1rem}.stat-card,.publisher-stat-card,.movement-stat-card{padding:.75rem}.stat-value{font-size:1.25rem}.stat-label{font-size:.75rem}}.year-select:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}@media (prefers-contrast: high){.stat-card,.publisher-stat-card,.movement-stat-card{border-width:2px}}.admin-drawer{position:fixed;top:20px;left:20px;z-index:1000}.hamburger-button{width:50px;height:50px;background:var(--md-sys-color-primary);border:none;border-radius:var(--md-shape-corner-medium);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);box-shadow:var(--md-sys-elevation-2);z-index:1001}.hamburger-button:hover{background:var(--md-sys-color-primary-container);transform:translateY(-2px);box-shadow:var(--md-sys-elevation-3)}.hamburger-button.active{background:var(--md-sys-color-error)}.hamburger-line{width:20px;height:2px;background:var(--md-sys-color-on-primary);border-radius:1px;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);transform-origin:center}.hamburger-button.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger-button.active .hamburger-line:nth-child(2){opacity:0;transform:scale(0)}.hamburger-button.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.drawer-overlay{position:fixed;inset:0;background:var(--md-sys-color-shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;animation:fadeIn var(--md-motion-duration-short) var(--md-motion-easing-standard)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;left:0;width:350px;height:100vh;background:var(--md-sys-color-surface);border-right:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-3);transform:translate(-100%);transition:transform var(--md-motion-duration-short) var(--md-motion-easing-emphasized);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.drawer.open{transform:translate(0)}.drawer-header{padding:20px;border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex;align-items:center;justify-content:space-between;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.drawer-title{font-size:1.25rem;font-weight:600;margin:0}.close-button{width:32px;height:32px;background:#ffffff1a;border:none;border-radius:var(--md-shape-corner-small);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);color:var(--md-sys-color-on-primary)}.close-button:hover{background:var(--md-sys-color-primary-container)}.close-button svg{width:20px;height:20px}.drawer-content{flex:1;padding:20px 0;overflow-y:auto}.drawer-nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;padding:16px 20px;background:none;border:none;cursor:pointer;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);color:var(--md-sys-color-on-surface);text-align:left;width:100%;gap:16px;border-radius:0}.nav-item:hover{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-primary)}.nav-item:active{background:var(--md-sys-color-primary-container)}.nav-icon{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-icon svg{width:20px;height:20px;transition:transform var(--md-motion-duration-short) var(--md-motion-easing-standard)}.nav-item:hover .nav-icon svg{transform:scale(1.1)}.nav-title{flex:1;font-size:.95rem;font-weight:500;line-height:1.4}.nav-arrow{width:16px;height:16px;opacity:.5;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard)}.nav-arrow svg{width:100%;height:100%}.nav-item:hover .nav-arrow{opacity:1;transform:translate(4px)}.nav-item[data-nav-id=home]{border-bottom:1px solid var(--md-sys-color-outline-variant);margin-bottom:8px;padding-bottom:20px}.nav-item[data-nav-id=home]:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.nav-item[data-nav-id=home] .nav-icon{color:var(--md-sys-color-primary)}.drawer-footer{padding:20px;border-top:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container)}.user-info{display:flex;flex-direction:column;gap:12px}.user-role{display:flex;justify-content:center}.role-badge{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-details{display:flex;flex-direction:column;gap:4px;text-align:center}.user-name{font-size:.9rem;font-weight:600;color:var(--md-sys-color-on-surface)}.user-email{font-size:.8rem;color:var(--md-sys-color-on-surface-variant)}.mobile-theme-toggle{position:fixed;top:20px;right:20px;width:48px;height:48px;border-radius:50%;border:1px solid var(--md-sys-color-outline);background:var(--app-gradient-accent);color:var(--md-sys-color-on-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #00000040;transition:transform .25s ease,box-shadow .25s ease;z-index:1001}.mobile-theme-toggle:hover{transform:translateY(-4px);box-shadow:0 8px 26px #00000059}.mobile-theme-toggle:active{transform:translateY(-1px)}.mobile-theme-toggle svg{width:20px;height:20px}@media (max-width: 768px){body{overflow-x:auto;padding-bottom:110px!important;-webkit-overflow-scrolling:touch;position:relative;margin:0;padding-left:0;padding-right:0}.mobile-carousel{-webkit-perspective:1000;perspective:1000;position:fixed!important;bottom:0!important;left:0!important;right:0!important;min-height:88px!important;max-height:88px!important;bottom:env(safe-area-inset-bottom,0)!important}.mobile-carousel *{position:static}.mobile-carousel-container{position:relative!important;display:flex!important}*:not(.mobile-carousel):not(.mobile-theme-toggle):not(.carousel-item):not(.back-button){box-sizing:border-box}.mobile-carousel{margin:0!important;padding:8px 0 12px!important;isolation:isolate;z-index:9999!important}main:not(.mobile-carousel),.main-content:not(.mobile-carousel),.page-content:not(.mobile-carousel),.dashboard-content:not(.mobile-carousel),.content-wrapper:not(.mobile-carousel),.page-container:not(.mobile-carousel),.content-container:not(.mobile-carousel),.activity-page:not(.mobile-carousel),.donations-page:not(.mobile-carousel),.profile-page:not(.mobile-carousel),.reports-page:not(.mobile-carousel),.congregation-activity-page:not(.mobile-carousel),.App>div:not(.mobile-carousel):not(.mobile-theme-toggle){padding-bottom:110px!important;min-height:calc(100vh - 110px);margin:0 auto!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important}button,.back-button,.control-card{box-sizing:border-box!important}.dashboard-content,.activity-page,.profile-page,.reports-page,.donations-page,.congregation-activity-page{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding-left:16px!important;padding-right:16px!important;box-sizing:border-box!important}.control-card,.stats-card,.profile-card,.activity-card{width:100%!important;max-width:100%!important;margin:0 auto!important;box-sizing:border-box!important}.page-header,.dashboard-header,.activity-header{text-align:center!important;width:100%!important;margin:0 auto!important}}.mobile-carousel{position:fixed;bottom:0;left:0;right:0;height:88px;width:100vw;z-index:9999;background:var(--md-sys-color-surface);border-top:1px solid var(--md-sys-color-outline-variant);box-shadow:0 -4px 20px #0000001a;padding:8px 0 12px;pointer-events:auto;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:auto}.mobile-carousel~*{pointer-events:auto}.mobile-carousel-container{width:100%;height:88px;overflow:hidden;display:flex;align-items:center;position:relative;transform:translateZ(0)}.carousel-items-wrapper{display:flex;gap:8px;padding:0 16px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.carousel-items-wrapper::-webkit-scrollbar{display:none}.carousel-item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:72px;height:72px;background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-shape-corner-medium);cursor:pointer;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);color:var(--md-sys-color-on-surface);gap:4px;padding:8px;box-sizing:border-box}.carousel-item:hover,.carousel-item:active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);transform:translateY(-2px);box-shadow:var(--md-sys-elevation-2)}.carousel-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.carousel-icon svg{width:20px;height:20px}.carousel-title{font-size:.65rem;font-weight:500;text-align:center;line-height:1.1;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.drawer{width:100vw;max-width:350px}.hamburger-button{width:45px;height:45px}.drawer-title{font-size:1.1rem}.nav-item{padding:18px 20px}.nav-title{font-size:1rem}.mobile-carousel .hamburger-button{display:none}}@media (max-width: 480px){.carousel-item{min-width:64px;height:64px}.carousel-title{font-size:.6rem;max-width:50px}.carousel-icon svg{width:18px;height:18px}}.hamburger-button:focus-visible,.close-button:focus-visible,.nav-item:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.drawer.open .nav-item:nth-child(1){animation:slideInLeft var(--md-motion-duration-short) var(--md-motion-easing-standard) .05s both}.drawer.open .nav-item:nth-child(2){animation:slideInLeft var(--md-motion-duration-short) var(--md-motion-easing-standard) .1s both}.drawer.open .nav-item:nth-child(3){animation:slideInLeft var(--md-motion-duration-short) var(--md-motion-easing-standard) .15s both}.drawer.open .nav-item:nth-child(4){animation:slideInLeft var(--md-motion-duration-short) var(--md-motion-easing-standard) .2s both}.drawer.open .nav-item:nth-child(5){animation:slideInLeft var(--md-motion-duration-short) var(--md-motion-easing-standard) .25s both}.drawer.open .nav-item:nth-child(6){animation:slideInLeft var(--md-motion-duration-short) var(--md-motion-easing-standard) .3s both}.drawer.open .nav-item:nth-child(7){animation:slideInLeft var(--md-motion-duration-short) var(--md-motion-easing-standard) .35s both}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}#root{width:100%;margin:0;padding:0;text-align:center}.App{min-height:100vh;width:100%}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none;font-family:inherit}button{font-family:inherit;font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium)}input,textarea,select{font-family:inherit;font-size:var(--font-size-base);line-height:var(--line-height-normal)}ul,ol{list-style:none;font-family:inherit}p{font-family:inherit;line-height:var(--line-height-relaxed);margin-bottom:1rem}h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:.5rem}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;letter-spacing:-.01em;line-height:1.6;font-weight:400;--md-elevation-1: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 1px 2px 0 rgba(0, 0, 0, .08);--md-elevation-2: 0 3px 6px 0 rgba(0, 0, 0, .15), 0 2px 4px 0 rgba(0, 0, 0, .12);--md-elevation-3: 0 6px 12px 0 rgba(0, 0, 0, .18), 0 3px 6px 0 rgba(0, 0, 0, .15);--md-sys-elevation-1: 0px 1px 3px 1px rgba(0, 0, 0, .15), 0px 1px 2px 0px rgba(0, 0, 0, .3);--md-sys-elevation-2: 0px 2px 6px 2px rgba(0, 0, 0, .15), 0px 1px 2px 0px rgba(0, 0, 0, .3);--md-sys-elevation-3: 0px 4px 8px 3px rgba(0, 0, 0, .15), 0px 1px 3px 0px rgba(0, 0, 0, .3);--md-shape-corner-small: 8px;--md-shape-corner-medium: 16px;--md-shape-corner-large: 28px;--md-motion-duration-short: .2s;--md-motion-easing-standard: cubic-bezier(.4, 0, .2, 1);--md-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1)}[data-theme=verde],:root:not([data-theme]){--md-sys-color-primary: #618c35;--md-sys-color-primary-gradient: linear-gradient(90deg, #618c35 0%, #87a668 100%);--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #d0d9c4;--md-sys-color-on-primary-container: #1a2e0a;--md-sys-color-secondary: #87a668;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #dfe2da;--md-sys-color-on-secondary-container: #263a1a;--md-sys-color-tertiary: #51802e;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #c4d9b4;--md-sys-color-on-tertiary-container: #142808;--md-sys-color-surface: #f2f2f2;--md-sys-color-surface-variant: #dae0d0;--md-sys-color-surface-container: #e8ede3;--md-sys-color-surface-container-low: #f0f4eb;--md-sys-color-surface-container-high: #d8e0d0;--md-sys-color-surface-container-highest: #d0d9c4;--md-sys-color-on-surface: #1a1a1a;--md-sys-color-on-surface-variant: #4a4a4a;--md-sys-color-background: #f2f2f2;--md-sys-color-error: #b3261e;--md-sys-color-error-container: #e6d2cf;--md-sys-color-on-error: #ffffff;--md-sys-color-on-error-container: #410e0b;--md-sys-color-outline: #87a668;--md-sys-color-outline-variant: #c4d9b4;--md-sys-color-inverse-surface: #1a1a1a;--md-sys-color-inverse-on-surface: #f2f2f2;--md-sys-color-shadow: rgba(0, 0, 0, .15)}[data-theme=claro]{--md-sys-color-primary: #2bb673;--md-sys-color-primary-gradient: linear-gradient(90deg, #2bb673 0%, #4fd08a 100%);--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #e9f6ef;--md-sys-color-on-primary-container: #0d2a1f;--md-sys-color-secondary: #4fc48e;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #edf8f2;--md-sys-color-on-secondary-container: #0a2a1f;--md-sys-color-tertiary: #2aa66a;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #e6f3ec;--md-sys-color-on-tertiary-container: #0a241a;--md-sys-color-surface: #ffffff;--md-sys-color-surface-variant: #f2f5f7;--md-sys-color-surface-container: #fafbfc;--md-sys-color-surface-container-low: #ffffff;--md-sys-color-surface-container-high: #f3f6f8;--md-sys-color-surface-container-highest: #e9eef2;--md-sys-color-on-surface: #0f1416;--md-sys-color-on-surface-variant: #374151;--md-sys-color-background: #f5f7fa;--md-sys-color-error: #ba1a1a;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error: #ffffff;--md-sys-color-on-error-container: #410002;--md-sys-color-outline: #d3dce2;--md-sys-color-outline-variant: #e6edf2;--md-sys-color-inverse-surface: #0f1416;--md-sys-color-inverse-on-surface: #eaf0f2;--md-sys-color-shadow: rgba(0, 0, 0, .05);--md-sys-elevation-1: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 1px rgba(16, 24, 40, .04);--md-sys-elevation-2: 0 2px 6px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .05);--md-sys-elevation-3: 0 6px 12px rgba(16, 24, 40, .08), 0 2px 4px rgba(16, 24, 40, .06);--chart-series-1: #2bb673;--chart-series-2: #f9c74f;--chart-grid: #e1e8ee;--chart-axis: #374151;--chart-bg: #ffffff;--cal-bg: #ffffff;--cal-on-bg: #0f1416;--cal-muted: #374151;--cal-border: #e6edf2;--cal-today-bg: #e9f6ef;--cal-selected-bg: #2bb673;--cal-selected-on: #ffffff;--cal-hover-bg: #f3f7fa;--cal-event-bg: #2bb673;--cal-event-on: #ffffff}[data-theme=oscuro]{--md-sys-color-primary: #21c16b;--md-sys-color-primary-gradient: linear-gradient(90deg, #21c16b 0%, #44d486 100%);--md-sys-color-on-primary: #072217;--md-sys-color-primary-container: #123b2f;--md-sys-color-on-primary-container: #9ff3cc;--md-sys-color-secondary: #2abf88;--md-sys-color-on-secondary: #08231b;--md-sys-color-secondary-container: #10332b;--md-sys-color-on-secondary-container: #8de9c4;--md-sys-color-tertiary: #1ead6f;--md-sys-color-on-tertiary: #062219;--md-sys-color-tertiary-container: #12362b;--md-sys-color-on-tertiary-container: #81efc4;--md-sys-color-surface: #131c1a;--md-sys-color-surface-variant: #23302c;--md-sys-color-surface-container: #161f1d;--md-sys-color-surface-container-low: #0e1513;--md-sys-color-surface-container-high: #1b2422;--md-sys-color-surface-container-highest: #24312d;--md-sys-color-on-surface: #f8faf9;--md-sys-color-on-surface-variant: #cbd5d1;--md-sys-color-background: #0e1513;--md-sys-color-error: #ffb4ab;--md-sys-color-error-container: #93000a;--md-sys-color-on-error: #690005;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-outline: #52615c;--md-sys-color-outline-variant: #2c3a36;--md-sys-color-inverse-surface: #f8faf9;--md-sys-color-inverse-on-surface: #1b2220;--md-sys-color-shadow: rgba(0, 0, 0, .6);--md-sys-elevation-1: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .55);--md-sys-elevation-2: 0 2px 8px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .6);--md-sys-elevation-3: 0 6px 16px rgba(0, 0, 0, .55), 0 3px 6px rgba(0, 0, 0, .65);--chart-series-1: #21c16b;--chart-series-2: #f5c553;--chart-grid: #2c3a36;--chart-axis: #cbd5d1;--chart-bg: #131c1a;--cal-bg: #161f1d;--cal-on-bg: #f8faf9;--cal-muted: #cbd5d1;--cal-border: #2c3a36;--cal-today-bg: #123b2f;--cal-selected-bg: #21c16b;--cal-selected-on: #062219;--cal-hover-bg: #1b2422;--cal-event-bg: #21c16b;--cal-event-on: #062219}[data-theme=claro] body{background:#f5f7fa;color:var(--md-sys-color-on-surface);font-weight:var(--font-weight-normal)}[data-theme=claro] .summary-card-icon{box-shadow:0 2px 8px #00c9961f}[data-theme=oscuro] body{background:linear-gradient(135deg,#0e1513,#121a17);color:var(--md-sys-color-on-surface);font-weight:var(--font-weight-normal)}[data-theme=oscuro] .summary-card-icon{box-shadow:0 2px 8px #00e5aa40;border:1px solid rgba(0,229,170,.15)}[data-theme=claro] .react-calendar,[data-theme=oscuro] .react-calendar{background:var(--cal-bg);color:var(--cal-on-bg);border:1px solid var(--cal-border);border-radius:var(--md-shape-corner-medium);box-shadow:var(--md-sys-elevation-1);font-family:inherit}[data-theme=claro] .react-calendar__navigation,[data-theme=oscuro] .react-calendar__navigation{border-bottom:1px solid var(--cal-border)}[data-theme=claro] .react-calendar__tile,[data-theme=oscuro] .react-calendar__tile{color:var(--cal-on-bg);font-family:inherit}[data-theme=claro] .react-calendar__tile:enabled:hover,[data-theme=oscuro] .react-calendar__tile:enabled:hover{background:var(--cal-hover-bg)}[data-theme=claro] .react-calendar__tile--now,[data-theme=oscuro] .react-calendar__tile--now{background:var(--cal-today-bg)}[data-theme=claro] .react-calendar__tile--active,[data-theme=oscuro] .react-calendar__tile--active{background:var(--cal-selected-bg);color:var(--cal-selected-on)}[data-theme=claro] .fc,[data-theme=oscuro] .fc{--fc-border-color: var(--cal-border);--fc-page-bg-color: var(--cal-bg);--fc-neutral-bg-color: var(--cal-hover-bg);--fc-today-bg-color: var(--cal-today-bg);--fc-event-bg-color: var(--cal-event-bg);--fc-event-text-color: var(--cal-event-on);--fc-text-color: var(--cal-on-bg);font-family:inherit}[data-theme=claro] .rbc-calendar,[data-theme=oscuro] .rbc-calendar{background:var(--cal-bg);color:var(--cal-on-bg);font-family:inherit}[data-theme=claro] .rbc-month-view,[data-theme=oscuro] .rbc-month-view{border:1px solid var(--cal-border);border-radius:var(--md-shape-corner-medium)}[data-theme=claro] .rbc-today,[data-theme=oscuro] .rbc-today{background:var(--cal-today-bg)}[data-theme=claro] .rbc-event,[data-theme=oscuro] .rbc-event{background-color:var(--cal-event-bg);color:var(--cal-event-on);border:none}.use-chart-palette{--series-1: var(--chart-series-1);--series-2: var(--chart-series-2);--grid-color: var(--chart-grid);--axis-color: var(--chart-axis);--chart-bg: var(--chart-bg)}*{transition:background-color .3s var(--md-motion-easing-standard),color .3s var(--md-motion-easing-standard),border-color .3s var(--md-motion-easing-standard),box-shadow .3s var(--md-motion-easing-standard)}.theme-transition-disable *{transition:none!important}:root,[data-theme]{--md-primary: var(--md-sys-color-primary, #283618);--md-on-primary: var(--md-sys-color-on-primary, #FFEAE0);--md-primary-container: var(--md-sys-color-primary-container, #606C38);--md-on-primary-container: var(--md-sys-color-on-primary-container, #FFEAE0);--md-secondary: var(--md-sys-color-secondary, #DDA15E);--md-on-secondary: var(--md-sys-color-on-secondary, #283618);--md-surface: var(--md-sys-color-surface, #FFEAE0);--md-on-surface: var(--md-sys-color-on-surface, #283618);--md-on-surface-variant: var(--md-sys-color-on-surface-variant, #606C38);--md-outline: var(--md-sys-color-outline, #BC6C25);--md-outline-variant: var(--md-sys-color-outline-variant, #DDA15E);--md-error: var(--md-sys-color-error, #b3261e);--md-error-container: var(--md-sys-color-error-container, #f9dedc);--md-on-error: var(--md-sys-color-on-error, #ffffff);--md-on-error-container: var(--md-sys-color-on-error-container, #410e0b)}[data-theme=claro]{--md-sys-color-primary: #283618;--md-sys-color-on-primary: #FFEAE0;--md-sys-color-primary-container: #606C38;--md-sys-color-on-primary-container: #FFEAE0;--md-sys-color-secondary: #DDA15E;--md-sys-color-on-secondary: #283618;--md-sys-color-tertiary: #BC6C25;--md-sys-color-on-tertiary: #FFEAE0;--md-sys-color-surface: #FFEAE0;--md-sys-color-surface-variant: #F9E1D2;--md-sys-color-surface-container: #FFEFE6;--md-sys-color-surface-container-high: #F5DCCB;--md-sys-color-on-surface: #283618;--md-sys-color-on-surface-variant: #606C38;--md-sys-color-background: #FFF5EE;--md-sys-color-outline: #BC6C25;--md-sys-color-outline-variant: #DDA15E;--app-gradient-primary: linear-gradient(135deg, #283618 0%, #DDA15E 100%);--app-gradient-accent: linear-gradient(135deg, #DDA15E 0%, #BC6C25 100%);--app-gradient-warm: linear-gradient(135deg, #BC6C25 0%, #DDA15E 100%)}[data-theme=oscuro]{--md-sys-color-primary: #FFEAE0;--md-sys-color-on-primary: #283618;--md-sys-color-primary-container: #BC6C25;--md-sys-color-on-primary-container: #FFEAE0;--md-sys-color-secondary: #DDA15E;--md-sys-color-on-secondary: #283618;--md-sys-color-tertiary: #606C38;--md-sys-color-on-tertiary: #FFEAE0;--md-sys-color-surface: #283618;--md-sys-color-surface-variant: #1d2713;--md-sys-color-surface-container: #324223;--md-sys-color-surface-container-high: #3d4e2d;--md-sys-color-on-surface: #FFEAE0;--md-sys-color-on-surface-variant: #DDA15E;--md-sys-color-background: #202b16;--md-sys-color-outline: #BC6C25;--md-sys-color-outline-variant: #606C38;--app-gradient-primary: linear-gradient(135deg, #BC6C25 0%, #606C38 100%);--app-gradient-accent: linear-gradient(135deg, #DDA15E 0%, #BC6C25 100%);--app-gradient-warm: linear-gradient(135deg, #606C38 0%, #BC6C25 100%)}.theme-toggle{position:fixed;bottom:16px;right:16px;width:48px;height:48px;border-radius:50%;border:1px solid var(--md-sys-color-outline);background:var(--app-gradient-accent);color:var(--md-sys-color-on-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #00000040;transition:transform .25s ease,box-shadow .25s ease;z-index:1000}.theme-toggle:hover{transform:translateY(-4px);box-shadow:0 8px 26px #00000059}.theme-toggle:active{transform:translateY(-1px)}@media (max-width: 768px){.theme-toggle{display:none}}body:not([data-page=dashboard]) .theme-toggle{display:none}[data-theme=claro] .form-label,[data-theme=claro] .input-label{color:var(--md-sys-color-primary);font-weight:600;letter-spacing:.25px}[data-theme=oscuro] .form-label,[data-theme=oscuro] .input-label{color:var(--md-sys-color-on-surface);font-weight:600;letter-spacing:.25px}[data-theme] .input-label.focused{color:var(--md-sys-color-secondary)}[data-theme] .form-group:focus-within .form-label{color:var(--md-sys-color-secondary)}[data-theme] input::placeholder,[data-theme] textarea::placeholder{color:color-mix(in srgb,var(--md-sys-color-on-surface) 55%,transparent);opacity:1}[data-theme=oscuro] .form-input,[data-theme=oscuro] .form-select,[data-theme=oscuro] .form-textarea,[data-theme=oscuro] .input-field{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface)}[data-theme=oscuro] .form-input:focus,[data-theme=oscuro] .form-select:focus,[data-theme=oscuro] .form-textarea:focus,[data-theme=oscuro] .input-field:focus{border-color:var(--md-sys-color-secondary)}
