:root{--color-primary: #1e40af;--color-primary-light: #3b82f6;--color-primary-dark: #1e3a8a;--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-secondary: #3b82f6;--color-secondary-light: #60a5fa;--color-secondary-dark: #2563eb;--color-accent: #0ea5e9;--color-accent-light: #38bdf8;--color-accent-dark: #0284c7;--color-success: #3b82f6;--color-warning: #0ea5e9;--color-error: #1e40af;--color-info: #60a5fa;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--bg-primary: #ffffff;--bg-secondary: #f0f9ff;--bg-tertiary: #e0f2fe;--bg-dark: #1e3a8a;--bg-overlay: rgba(30, 64, 175, .6);--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #6b7280;--text-inverse: #ffffff;--text-muted: #9ca3af;--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--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-size-6xl: 3.75rem;--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-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-none: 0;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-2xl: 0 50px 100px -20px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-slower: .5s cubic-bezier(.4, 0, .2, 1);--ease-linear: cubic-bezier(0, 0, 1, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-elastic: cubic-bezier(.68, -.55, .265, 1.55);--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-max-width: 1280px;--container-padding: var(--space-4);--duration-instant: 0ms;--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--duration-slower: .8s;--gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);--gradient-secondary: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-light) 100%);--gradient-accent: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-light) 100%);--gradient-warm: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);--gradient-cool: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);--gradient-overlay: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .7) 100%);--blur-sm: 4px;--blur-base: 8px;--blur-md: 12px;--blur-lg: 16px;--blur-xl: 24px;--blur-2xl: 40px;--blur-3xl: 64px}@media(prefers-color-scheme:dark){:root{--bg-primary: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af}}.container{max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-inverse{color:var(--text-inverse)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.hidden-mobile{display:none}@media(min-width:768px){.hidden-mobile{display:block}.hidden-desktop{display:none}}html{scroll-behavior:smooth}::selection{background-color:var(--color-primary-100);color:var(--color-primary-900)}::-moz-selection{background-color:var(--color-primary-100);color:var(--color-primary-900)}*:focus-visible{outline:3px solid var(--color-primary-600);outline-offset:2px;border-radius:var(--radius-sm)}*:focus:not(:focus-visible){outline:none}button:focus-visible,a.btn-primary:focus-visible,a.btn-secondary:focus-visible,a.btn-hero:focus-visible{outline:3px solid var(--color-accent-500);outline-offset:3px}a:focus-visible{outline:3px solid var(--color-primary-600);outline-offset:2px;text-decoration:underline;text-decoration-thickness:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-primary-600);outline-offset:0;border-color:var(--color-primary-600);box-shadow:0 0 0 4px #2563eb1a}.text-muted,.text-secondary{color:var(--color-gray-600)}.footer,.footer a{color:var(--color-gray-100)}.footer a:hover{color:var(--color-white)}.btn-primary,.modal-btn-primary{background:var(--gradient-accent);color:var(--color-white);font-weight:var(--font-weight-semibold)}.btn-secondary{background:var(--color-white);color:var(--color-primary-700);border:2px solid var(--color-primary-600)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-section:before{animation:none!important}}@media(prefers-contrast:high){button,input,textarea,select{border-width:2px}*:focus-visible{outline-width:4px}.campaign-card,.modal-content,.btn-primary{box-shadow:0 4px 12px #00000080}}button,a.btn-primary,a.btn-secondary,a.btn-hero,input[type=submit],input[type=button],input[type=reset]{min-height:44px;min-width:44px;padding:var(--space-3) var(--space-6)}.social-links a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.nav-link{min-height:44px;display:inline-flex;align-items:center;padding:var(--space-3) var(--space-4)}.skip-to-content:focus{position:absolute;top:0;left:0;z-index:var(--z-modal)}.modal-overlay{position:fixed;inset:0}.featured-modal,.modal-content,[aria-live=polite],[aria-live=assertive]{position:relative}.status-message{padding:var(--space-4);border-radius:var(--radius-lg);margin:var(--space-4) 0}.status-message.success{background:var(--color-success);color:var(--color-white)}.status-message.error{background:var(--color-error);color:var(--color-white)}.status-message.warning{background:var(--color-warning);color:var(--color-gray-900)}label abbr[title],label .required{color:var(--color-error);text-decoration:none}.error-message,.field-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.help-text,.field-description{color:var(--color-gray-600);font-size:var(--font-size-sm);margin-top:var(--space-2)}.loading-spinner{display:inline-block;width:40px;height:40px;border:4px solid var(--color-gray-200);border-top-color:var(--color-primary-600);border-radius:50%;animation:spin .8s linear infinite}button.loading,.btn-primary.loading,.btn-secondary.loading{position:relative;color:transparent;pointer-events:none}button.loading:after,.btn-primary.loading:after,.btn-secondary.loading:after{content:"";position:absolute;inset:0;margin:auto;width:20px;height:20px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@media print{.skip-to-content,.header,.nav,.social-links,.modal-overlay,.btn-donate-header,button{display:none!important}body{color:#000;background:#fff}a{text-decoration:underline}a[href]:after{content:" (" attr(href) ")";font-size:.8em}}@media(prefers-color-scheme:dark){:root{--text-primary: #f9fafb;--text-secondary: #d1d5db;--bg-primary: #111827;--bg-secondary: #1f2937}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes bounceSubtle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progressFill{0%{width:0%}to{width:var(--progress-width, 100%)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-base) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-base) ease-out}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-base) ease-out}.animate-slide-in-left{animation:slideInLeft var(--transition-base) ease-out}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.scroll-animate{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.scroll-animate.in-view{opacity:1;transform:translateY(0)}.scroll-animate-stagger{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.scroll-animate-stagger:nth-child(1){transition-delay:0ms}.scroll-animate-stagger:nth-child(2){transition-delay:.1s}.scroll-animate-stagger:nth-child(3){transition-delay:.2s}.scroll-animate-stagger:nth-child(4){transition-delay:.3s}.scroll-animate-stagger:nth-child(5){transition-delay:.4s}.scroll-animate-stagger:nth-child(6){transition-delay:.5s}.scroll-animate-stagger.in-view{opacity:1;transform:translateY(0)}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 20px #2563eb66}.hover-brighten{transition:filter var(--transition-base)}.hover-brighten:hover{filter:brightness(1.1)}.btn-press{transition:transform var(--transition-fast)}.btn-press:active{transform:scale(.96)}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-ripple:active:after{width:300px;height:300px}.card-reveal{position:relative;overflow:hidden}.card-reveal:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.card-reveal:hover:before{left:100%}.card-flip{perspective:1000px}.card-flip-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.card-flip:hover .card-flip-inner{transform:rotateY(180deg)}.card-flip-front,.card-flip-back{position:absolute;width:100%;height:100%;backface-visibility:hidden}.card-flip-back{transform:rotateY(180deg)}.progress-bar{position:relative;height:8px;background:var(--color-gray-200);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width 1s ease-out;position:relative;overflow:hidden}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.modal-overlay{animation:fadeIn var(--transition-base) ease-out}.modal-content{animation:scaleIn var(--transition-base) ease-out}.modal-slide-up{animation:slideUpModal var(--transition-base) ease-out}@keyframes slideUpModal{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.toast-enter{animation:slideInRight var(--transition-base) ease-out}.toast-exit{animation:slideOutRight var(--transition-base) ease-in}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(50px)}}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.spinner{border:3px solid var(--color-gray-200);border-top-color:var(--color-primary-600);border-radius:50%;animation:rotate .8s linear infinite}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--color-primary-600);animation:dotBounce 1.4s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}@keyframes dotBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.checkbox-animate{transition:all var(--transition-fast)}.checkbox-animate:checked{animation:checkboxPop .3s ease-out}@keyframes checkboxPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.input-focus-pulse:focus{animation:focusPulse .3s ease-out}@keyframes focusPulse{0%{box-shadow:0 0 #2563eb66}to{box-shadow:0 0 0 6px #2563eb00}}.icon-bounce{display:inline-block;transition:transform var(--transition-fast)}.icon-bounce:hover{animation:bounceSubtle .6s ease-in-out}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes heartGlow{0%{transform:translate(-50%,-50%) scale(.5);opacity:.6}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.heart-icon{display:inline-block;position:relative;animation:heartbeat 1.5s ease-in-out infinite;transform-origin:center;z-index:1;filter:brightness(0) invert(1);margin-right:.5rem}.heart-icon:before{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;background:radial-gradient(circle,#fffc,#fff0 70%);border-radius:50%;transform:translate(-50%,-50%) scale(.5);animation:heartGlow 1.5s ease-out infinite;pointer-events:none;z-index:-1}a:hover .heart-icon,button:hover .heart-icon{animation-duration:.6s}a:hover .heart-icon:before,button:hover .heart-icon:before{animation-duration:.6s}.will-animate{will-change:transform,opacity}.gpu-accelerate{transform:translateZ(0);backface-visibility:hidden}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.scroll-animate,.scroll-animate-stagger{opacity:1!important;transform:none!important}}:root{--header-height: 76px;--header-height-tablet: 72px;--header-height-mobile: 68px;--container-max: 1280px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}@media(max-width:1200px){html{font-size:15px}}@media(max-width:768px){:root{--header-height: var(--header-height-tablet)}html{font-size:14px}}@media(max-width:480px){:root{--header-height: var(--header-height-mobile)}html{font-size:13px}}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-secondary);color:var(--text-primary);line-height:var(--line-height-normal);font-size:var(--font-size-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-primary)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}button:focus,button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}:root{--primary: #667eea;--primary-strong: #5647d6;--surface: #ffffff;--surface-muted: #f8fafc;--border: #e2e8f0;--shadow-soft: 0 14px 40px rgba(15, 23, 42, .12);--radius-md: 12px;--radius-lg: 18px}body{background:var(--surface-muted);color:#0f172a}a{color:inherit;text-decoration:none;transition:color .2s ease,transform .2s ease}a:hover{color:var(--primary-strong)}button,input,select,textarea{font:inherit;border-radius:var(--radius-md);border:1px solid var(--border);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px #667eea33}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1.5rem}.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;background:#667eea1f;color:var(--primary-strong);border-radius:999px;font-weight:600;letter-spacing:.01em}.dev-banner{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;text-align:center;padding:.75rem 1rem;font-size:.875rem;font-weight:600;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:var(--z-fixed)}.dev-banner span{display:inline-flex;align-items:center;gap:.5rem}.layout{min-height:100vh;display:flex;flex-direction:column}.skip-to-content{position:absolute;top:-100px;left:0;background:var(--color-primary-600);color:var(--color-white);padding:var(--space-3) var(--space-6);text-decoration:none;font-weight:var(--font-weight-semibold);z-index:var(--z-modal);border-radius:0 0 var(--radius-md) 0;transition:top var(--transition-fast)}.skip-to-content:focus{top:0;outline:3px solid var(--color-accent-500);outline-offset:2px}.header{color:var(--color-white);height:var(--header-height);box-shadow:var(--shadow-lg);top:0;z-index:var(--z-sticky);-webkit-backdrop-filter:blur(var(--blur-base));backdrop-filter:blur(var(--blur-base));display:flex;align-items:center;transition:all var(--transition-base)}.header-inner{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--space-6);display:flex;justify-content:space-between;align-items:center;width:100%}.site-logo{text-decoration:none;color:var(--color-white);transition:transform var(--transition-base);display:inline-flex;align-items:center;gap:var(--space-3)}.site-logo:hover{transform:scale(1.05)}.site-logo h1{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:#2a3da8}.logo-img{width:40px;height:40px;object-fit:contain;display:block;border-radius:var(--radius-lg)}@media(max-width:640px){.site-logo h1{font-size:var(--font-size-lg)}.logo-img{width:32px;height:32px}}.nav{display:flex;gap:var(--space-8);align-items:center}.btn-donate-header{background:#2a3da8;color:var(--color-white);padding:var(--space-3) var(--space-6);border-radius:.5rem;text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all var(--transition-base);box-shadow:var(--shadow-sm);border:2px solid transparent;position:relative;overflow:hidden}.btn-donate-header:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:#f59e0b;border-color:#f59e0b}.nav-link{color:#2a3da8;text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);position:relative;transition:all var(--transition-base);padding:var(--space-2) 0}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--color-white);transition:width var(--transition-base);border-radius:var(--radius-full)}.nav-link:hover{transform:translateY(-2px);opacity:.9}.nav-link:hover:after{width:100%}.main{flex:1}.footer{background:linear-gradient(135deg,var(--color-gray-800) 0%,var(--color-gray-900) 100%);color:var(--color-white);padding:var(--space-16) 0 var(--space-6);margin-top:auto;border-top:4px solid var(--color-primary-500)}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:var(--space-12);margin-bottom:var(--space-12);text-align:left}.footer-section h3{font-size:var(--font-size-2xl);margin-bottom:var(--space-4);color:var(--color-white);font-weight:var(--font-weight-bold)}.footer-section h4{font-size:var(--font-size-xl);margin-bottom:var(--space-4);color:var(--color-primary-100);font-weight:var(--font-weight-bold)}.footer-tagline{margin:var(--space-3) 0 var(--space-6);opacity:.9;font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-gray-300)}.social-links{display:flex;gap:var(--space-4);margin-top:var(--space-6)}.social-links a{background:#ffffff1a;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-white);text-decoration:none;transition:all var(--transition-base);border:1px solid rgba(255,255,255,.15)}.social-links a:hover{background:#2a3da8;transform:translateY(-3px);border-color:#2a3da8;box-shadow:var(--shadow-md)}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:.75rem}.footer-section ul li a,.footer-section p{color:#ffffffd9;text-decoration:none;transition:color .3s ease,transform .3s ease;display:inline-block;font-size:.95rem}.footer-section ul li a:hover{color:#a78bfa;transform:translate(5px)}.certifications{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.cert-badge{background:#a78bfa33;padding:.375rem .875rem;border-radius:20px;font-size:.85rem;font-weight:600;border:1px solid rgba(167,139,250,.3)}.footer-coming-soon{font-size:.85rem;color:#fff9;font-style:italic;margin-top:.75rem}.footer-location{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.footer-location:first-of-type{border-top:none;padding-top:.5rem}.location-label{margin-bottom:.25rem;color:#fffffff2}.location-line{margin:.125rem 0;font-size:.9rem;color:#fffc}.location-postal,.location-mobile{margin-top:.25rem;font-size:.9rem;color:#fffc}.footer-loading{color:#fff9;font-style:italic}.footer-error-note{font-size:.85rem;color:#ffffff80;font-style:italic;margin-top:.5rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;padding-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.privacy-link{color:#ffffffd9;text-decoration:none;font-size:.875rem;transition:color .3s ease;font-weight:400}.privacy-link:hover{color:#fff;text-decoration:underline}.footer-social-links{display:flex;gap:1.5rem;align-items:center}.footer-social-links a{color:#ffffffd9;font-size:1.5rem;transition:color .3s ease,transform .3s ease;display:flex;align-items:center;justify-content:center}.footer-social-links a:hover{color:#fff;transform:scale(1.15)}.copyright{color:#ffffffd9;font-size:.875rem;font-weight:400;margin:0}@media(max-width:968px){.footer-content{grid-template-columns:1fr 1fr;gap:2rem}}@media(max-width:640px){.footer-content{grid-template-columns:1fr;gap:2rem;text-align:center}.social-links,.certifications{justify-content:center}.footer-section ul li a:hover{transform:none}}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:1.5rem;animation:fadeIn .3s ease}.featured-modal{background:#fff;border-radius:20px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;display:grid;grid-template-columns:1fr 1fr;animation:slideUp .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;background:#fff;border:none;font-size:1.75rem;line-height:1;cursor:pointer;z-index:10;transition:all .3s ease;color:#475569;box-shadow:0 4px 12px #00000026}.modal-close:hover{background:#f1f5f9;color:#dc2626}.modal-image-section{position:relative;overflow:hidden;border-radius:20px 0 0 20px}.modal-image{width:100%;height:100%;object-fit:cover;display:block}.modal-badge{position:absolute;top:1.5rem;left:1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:.5rem 1rem;border-radius:50px;font-size:.85rem;font-weight:700;box-shadow:0 4px 12px #f59e0b66}.modal-content-section{padding:2.5rem;display:flex;flex-direction:column;gap:1.5rem}.modal-header{display:flex;align-items:center;justify-content:center;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.modal-logos{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:#64748b}.modal-logo{font-size:1.5rem}.modal-support-text{font-weight:500;font-style:italic}.modal-org-logo{font-weight:700;color:#667eea;font-size:1rem}.modal-title{color:#1e293b;font-size:1.75rem;font-weight:800;line-height:1.3;margin:0}.modal-active-notice{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0}.modal-notice-icon{font-size:1.5rem;flex-shrink:0}.modal-notice-text{color:#78350f;font-size:.9rem;line-height:1.6;margin:0}.modal-notice-text strong{color:#92400e;display:block;margin-bottom:.25rem}.modal-description{color:#475569;font-size:.95rem;line-height:1.7;margin:0}.modal-progress{display:flex;flex-direction:column;gap:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:1.5rem;border-radius:12px;border:2px solid #e2e8f0}.modal-progress-bar{width:100%;height:8px;background:#e2e8f0;border-radius:50px;overflow:hidden}.modal-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:50px;transition:width .8s ease}.modal-progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.modal-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.modal-stat-value{font-size:1.25rem;font-weight:800;color:#1e293b}.modal-stat-label{font-size:.8rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.modal-actions{display:flex;gap:1rem}.modal-btn-primary,.modal-btn-secondary{flex:1;padding:.875rem 1.5rem;border-radius:50px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s ease;border:none;text-align:center}.modal-btn-primary{background:#2a3da8;color:#fff;box-shadow:0 4px 15px #2a3da866;position:relative;overflow:hidden;border-radius:1rem}.modal-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b80;background:#f59e0b}.modal-btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea}.modal-btn-secondary:hover{background:#667eea;color:#fff}.modal-campaigns-selector{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.modal-selector-label{font-size:.9rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.modal-explore-text{font-size:.875rem;color:#64748b;line-height:1.6;margin:.5rem 0 1rem}.modal-link-btn{background:none;border:none;color:#667eea;font-weight:700;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit;transition:color .3s ease}.modal-link-btn:hover{color:#764ba2}.modal-campaign-select{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;font-weight:600;color:#1e293b;background:#fff;cursor:pointer;transition:all .3s ease}.modal-campaign-select:hover{border-color:#667eea}.modal-campaign-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-footer-note{display:flex;align-items:center;justify-content:center;gap:.5rem;padding-top:1rem;border-top:1px solid #e2e8f0;color:#64748b;font-size:.85rem}.modal-secure-icon{font-size:1rem}.modal-loading,.modal-no-campaigns,.modal-error{padding:3rem;text-align:center;grid-column:1 / -1}.modal-loading{color:#64748b;font-size:1.1rem}.modal-error{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.modal-error-icon{font-size:3rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.modal-error-text{color:#64748b;font-size:1.1rem;margin:0;max-width:400px}.modal-no-campaigns{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.modal-no-campaigns p{color:#64748b;font-size:1.1rem;margin:0}@media(max-width:768px){.featured-modal{grid-template-columns:1fr;max-height:95vh}.modal-image-section{border-radius:20px 20px 0 0;min-height:250px}.modal-content-section{padding:1.5rem;gap:1.25rem}.modal-title{font-size:1.5rem}.modal-actions{flex-direction:column}.modal-progress-stats{grid-template-columns:repeat(3,1fr);gap:.75rem}.modal-stat-value{font-size:1.1rem}}.featured-modal::-webkit-scrollbar{width:8px}.featured-modal::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.featured-modal::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.featured-modal::-webkit-scrollbar-thumb:hover{background:#94a3b8}.admin-dashboard-new{display:flex;min-height:100vh;background:#f8fafc}.admin-sidebar{width:280px;background:linear-gradient(180deg,#2a3da8,#1e3a8a);color:#fff;padding:2rem 0;position:fixed;height:100vh;overflow-y:auto;box-shadow:4px 0 20px #0000001a;transition:transform .3s ease}.sidebar-header{padding:0 1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.2);margin-bottom:2rem}.sidebar-header h1{margin:0 0 .5rem;font-size:var(--font-size-2xl);font-weight:800}.sidebar-header .user-info{font-size:var(--font-size-sm);opacity:.9;margin-top:.5rem}.sidebar-menu{list-style:none;padding:0;margin:0}.sidebar-menu-item{margin:.25rem .75rem}.sidebar-menu-button{width:100%;padding:.875rem 1rem;background:none;border:none;color:#fff;text-align:left;font-size:var(--font-size-base);font-weight:600;cursor:pointer;border-radius:12px;transition:all .3s ease;display:flex;align-items:center;gap:.75rem}.sidebar-menu-button:hover{background:#ffffff26;transform:translate(5px)}.sidebar-menu-button.active{background:#ffffff40;box-shadow:0 4px 12px #0003}.menu-icon{font-size:var(--font-size-xl);width:24px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.header-icon{display:inline-block;vertical-align:middle;margin-right:.5rem}.sidebar-footer{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;border-top:1px solid rgba(255,255,255,.2)}.btn-logout-sidebar{width:100%;padding:.875rem;background:#dc2626e6;color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-logout-sidebar:hover{background:#b91c1c;transform:translateY(-2px)}.admin-main-content{margin-left:280px;flex:1;padding:2rem;min-height:100vh}@media(max-width:960px){.admin-sidebar{position:fixed;transform:translate(-100%);z-index:20;width:240px}.admin-sidebar.open{transform:translate(0)}.admin-main-content{margin-left:0;padding:1.5rem 1rem 2rem}}@media(max-width:640px){.admin-header,.content-header{padding:1.25rem;flex-direction:column;align-items:flex-start;gap:.75rem}.header-actions{width:100%;flex-wrap:wrap;gap:.5rem}.admin-tabs{flex-wrap:wrap;gap:.75rem}.tab{width:100%;text-align:center}.admin-section{padding:1.5rem}.admin-table{overflow-x:auto}}.content-header{background:#fff;padding:2rem;border-radius:16px;margin-bottom:2rem;box-shadow:0 4px 15px #00000014}.content-header h2{margin:0 0 .5rem;color:#1e293b;font-size:var(--font-size-3xl);font-weight:800}.content-header p{margin:0;color:#64748b;font-size:var(--font-size-base)}.content-body{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 15px #00000014;min-height:500px}.create-operator-form{max-width:800px}.form-section-title{font-size:var(--font-size-xl);font-weight:700;color:#1e293b;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group-full{grid-column:1 / -1}.form-group label{display:block;font-weight:700;color:#1e293b;margin-bottom:.5rem;font-size:var(--font-size-sm)}.form-group input,.form-group select{width:100%;padding:.875rem;border:2px solid #e2e8f0;border-radius:12px;font-size:var(--font-size-base);transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2a3da8;box-shadow:0 0 0 3px #667eea1a}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #e2e8f0}.btn-primary{padding:1rem 2rem;background:linear-gradient(135deg,#2a3da8,#1e3a8a);color:#fff;border:none;border-radius:12px;font-size:var(--font-size-base);font-weight:700;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px #667eea80}.btn-secondary{padding:1rem 2rem;background:#e2e8f0;color:#475569;border:none;border-radius:12px;font-size:var(--font-size-base);font-weight:700;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#cbd5e1}.success-message{padding:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12px;margin-bottom:1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.error-message{padding:1rem;background:#fee2e2;color:#dc2626;border-radius:12px;margin-bottom:1.5rem;font-weight:600;border-left:4px solid #dc2626}.info-box{background:linear-gradient(135deg,#f0f4ff,#e0e7ff);padding:1.5rem;border-radius:12px;border-left:4px solid #2a3da8;margin-bottom:1.5rem}.info-box strong{color:#2a3da8;display:block;margin-bottom:.5rem}.data-table{width:100%;border-collapse:collapse;margin-top:1rem}.data-table th{text-align:left;padding:1rem;background:linear-gradient(135deg,#2a3da8,#1e3a8a);color:#fff;font-weight:700;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.data-table th:first-child{border-radius:12px 0 0}.data-table th:last-child{border-radius:0 12px 0 0}.data-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:#475569}.data-table tr:hover{background:#f8fafc}.table-actions{display:flex;gap:.5rem}.btn-edit,.btn-delete,.btn-view{padding:.5rem 1rem;border:none;border-radius:8px;font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all .3s ease}.btn-edit{background:#3b82f6;color:#fff}.btn-edit:hover{background:#2563eb;transform:translateY(-2px)}.btn-delete{background:#dc2626;color:#fff}.btn-delete:hover{background:#b91c1c;transform:translateY(-2px)}.btn-view{background:#10b981;color:#fff}.btn-view:hover{background:#059669;transform:translateY(-2px)}.btn-add-new{padding:1rem 2rem;background:linear-gradient(135deg,#2a3da8,#1e3a8a);color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.btn-add-new:hover{transform:translateY(-3px);box-shadow:0 8px 30px #667eea80}@media(max-width:768px){.admin-sidebar{width:100%;position:relative;height:auto}.admin-main-content{margin-left:0}.form-row{grid-template-columns:1fr}}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:12px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.success,.status-badge.completed{background:#dcfce7;color:#166534}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.failed,.status-badge.cancelled{background:#fee2e2;color:#991b1b}.donations-section{width:100%}.table-container{overflow-x:auto}.dashboard-container{width:100%}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.card-icon{font-size:var(--font-size-4xl);line-height:1}.card-content h3{margin:0;font-size:var(--font-size-sm);color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.card-value{margin:.5rem 0 0;font-size:var(--font-size-3xl);font-weight:700;color:#0f172a}.dashboard-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.dashboard-section h2{margin:0 0 1.5rem;font-size:var(--font-size-xl);color:#0f172a}.campaigns-chart{display:flex;flex-direction:column;gap:1.5rem}.campaign-bar-item{display:flex;flex-direction:column;gap:.5rem}.campaign-bar-header{display:flex;align-items:center;gap:.75rem;font-size:var(--font-size-sm)}.campaign-rank{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#2a3da8,#1e3a8a);color:#fff;border-radius:8px;font-weight:700;font-size:var(--font-size-sm)}.campaign-name{flex:1;font-weight:600;color:#0f172a}.campaign-stats{display:flex;align-items:center;gap:.5rem;color:#10b981;font-weight:600}.donation-count{color:#64748b;font-weight:400;font-size:var(--font-size-xs)}.progress-bar-container{position:relative;width:100%;height:32px;background:#f1f5f9;border-radius:8px;overflow:hidden}.progress-bar-fill{height:100%;display:flex;align-items:center;justify-content:flex-end;padding:0 .75rem;transition:width .8s ease;position:relative}.progress-label{color:#fff;font-weight:600;font-size:var(--font-size-xs);text-shadow:0 1px 2px rgba(0,0,0,.2)}.campaign-target{font-size:var(--font-size-xs);color:#64748b;text-align:right}.recent-donations-list{display:flex;flex-direction:column;gap:.75rem}.recent-donation-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:8px;transition:background .2s}.recent-donation-item:hover{background:#f1f5f9}.donation-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2a3da8,#1e3a8a);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-xl)}.donation-details{flex:1;display:flex;flex-direction:column;gap:.25rem}.donation-details strong{color:#0f172a;font-size:var(--font-size-sm)}.donation-campaign{color:#64748b;font-size:var(--font-size-xs)}.donation-amount-badge{padding:.5rem 1rem;background:#dcfce7;color:#166534;border-radius:8px;font-weight:700;font-size:var(--font-size-sm)}.campaigns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.campaign-performance-card{background:#f8fafc;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:transform .2s,box-shadow .2s;border:1px solid #e2e8f0}.campaign-performance-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.campaign-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.campaign-card-header h3{margin:0;font-size:var(--font-size-base);color:#0f172a;flex:1}.badge-featured,.badge-urgent{padding:.25rem .5rem;border-radius:6px;font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.badge-featured{background:#fef3c7;color:#92400e}.badge-urgent{background:#fee2e2;color:#991b1b}.campaign-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:var(--font-size-xs);color:#64748b;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:var(--font-size-base);font-weight:700;color:#0f172a}.campaign-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.status-indicator{font-size:var(--font-size-xs);font-weight:600;padding:.25rem .75rem;border-radius:6px}.status-indicator.active{background:#dcfce7;color:#166534}.status-indicator.inactive{background:#fee2e2;color:#991b1b}@media(max-width:768px){.dashboard-cards,.campaigns-grid,.campaign-card-stats{grid-template-columns:1fr}}.hamburger-button{display:none;position:fixed;top:1rem;left:1rem;z-index:1001;width:48px;height:48px;background:#fff;border:none;border-radius:12px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;box-shadow:0 4px 12px #00000026;transition:all .3s ease}.hamburger-button:hover{transform:scale(1.05);box-shadow:0 6px 16px #0003}.hamburger-button:active{transform:scale(.95)}.hamburger-button span{display:block;width:24px;height:3px;background:#2a3da8;border-radius:2px;transition:all .3s ease}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:1023px){.hamburger-button{display:flex}.sidebar-overlay{display:block}.admin-sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .3s ease;z-index:1000;width:280px}.admin-sidebar.open{transform:translate(0)}.admin-main-content{margin-left:0;padding:5rem 1rem 1rem}}@media(min-width:768px)and (max-width:1023px){.admin-main-content{padding:5rem 2rem 2rem}}.admin-top-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--color-border);padding:1rem 2rem;display:flex;justify-content:flex-end;align-items:center;box-shadow:0 2px 4px #0000000d}.header-spacer{flex:1}.user-profile-dropdown{position:relative}.profile-trigger{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);cursor:pointer;transition:all .2s ease}.profile-trigger:hover{background:var(--color-bg-secondary);border-color:var(--color-primary);box-shadow:0 2px 8px #2a3da81a}.profile-trigger:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2a3da81a}.profile-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--color-primary),#667eea);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.profile-info{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem}.profile-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);line-height:1}.profile-role{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1}.dropdown-arrow{font-size:1.25rem;color:var(--color-text-secondary);transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-overlay{position:fixed;inset:0;z-index:200;background:transparent}.profile-dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;width:280px;background:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:0 8px 24px #0000001f;z-index:201;animation:dropdownSlideIn .2s ease}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;align-items:center;gap:.75rem;padding:1rem}.dropdown-user-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--color-primary),#667eea);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.dropdown-user-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.dropdown-user-info strong{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-user-info small{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:var(--color-border);margin:0}.dropdown-item-group{padding:.75rem 1rem}.dropdown-info-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.info-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.role-badge{padding:.25rem .75rem;border-radius:12px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.admin{background:#fee;color:#c33}.role-badge.editor{background:#efe;color:#3c3}.role-badge.viewer{background:#eef;color:#33c}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all .2s ease}.dropdown-item:hover{background:var(--color-bg-secondary)}.dropdown-item:focus{outline:none;background:var(--color-bg-secondary);box-shadow:inset 0 0 0 2px var(--color-primary)}.dropdown-item svg{font-size:1.25rem;color:var(--color-text-secondary)}.logout-item{color:var(--color-error);font-weight:600}.logout-item svg{color:var(--color-error)}.logout-item:hover{background:#fee}.admin-content-wrapper{padding:1.5rem 2rem 2rem}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(42,61,168,.2);border-radius:50%;border-top-color:var(--color-primary);animation:spinner .8s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}.loading-spinner-large{width:40px;height:40px;border-width:4px}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#fff;padding:.5rem 1rem;text-decoration:none;border-radius:0 0 var(--border-radius-md) 0;z-index:9999}.skip-to-main:focus{top:0}@media(max-width:768px){.admin-top-header{padding:.75rem 1rem}.profile-info{display:none}.profile-trigger{padding:.5rem}.profile-dropdown-menu{right:-.5rem;width:260px}.admin-content-wrapper{padding:1rem}}.config-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-md, 1rem);padding:var(--space-2xl, 2rem);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.config-loader p{font-size:1.125rem;font-weight:500;margin:0;animation:pulse 2s ease-in-out infinite}.config-loader-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}
