:root{--primary:#003c6e;--primary-light:#386fa0;--primary-lighter:#5a8fc4;--primary-dark:#002952;--accent:#10b981;--accent-light:#34d399;--accent-dark:#059669;--color-orange:#f97316;--color-orange-light:#fb923c;--color-orange-dark:#ea580c;--color-violet:#a78bfa;--color-violet-light:#c4b5fd;--color-violet-dark:#7c3aed;--color-rose:#fb7185;--color-rose-light:#fda4af;--color-rose-dark:#e11d48;--accent-secondary:var(--color-orange);--bg-light:#faf8f5;--bg-white:white;--bg-paper:#fefdfb;--bg-lighter:#f5f3f0;--bg-overlay:#faf8f5e0;--bg-modal-overlay:#91897d66;--text-primary:#1a1a1a;--text-secondary:#4a5568;--text-tertiary:#57534e;--text-muted:#78716c;--text-inverse:white;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--success:var(--color-success);--warning:var(--color-warning);--danger:var(--color-error);--color-danger:var(--color-error);--info:var(--color-info);--bg-secondary:#e2e8f0;--bg-primary-xlight:#003c6e05;--bg-primary-light:#003c6e1a;--bg-success-light:#10b9811a;--bg-warning-light:#f973161a;--bg-danger-light:#ef44441a;--bg-info-light:#3b82f61a;--bg-violet-light:#a78bfa1a;--bg-rose-light:#fb71851a;--bg-hover:#0000000a;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--category-official:var(--primary);--category-musical:var(--accent);--category-financial:var(--color-orange);--category-legal:var(--color-violet);--category-education:var(--color-rose);--category-misc:var(--text-tertiary);--stat-bg-blue:var(--bg-primary-light);--stat-bg-green:var(--bg-success-light);--stat-bg-orange:var(--bg-warning-light);--stat-bg-violet:var(--bg-violet-light);--stat-bg-rose:var(--bg-rose-light);--success-dark:#065f46;--warning-dark:#92400e;--danger-dark:#991b1b;--info-dark:#1e40af;--badge-success-bg:var(--bg-success-light);--badge-success-text:#065f46;--badge-warning-bg:var(--bg-warning-light);--badge-warning-text:#7c2d12;--badge-error-bg:var(--bg-danger-light);--badge-error-text:#991b1b;--badge-info-bg:var(--bg-info-light);--badge-info-text:#1e40af;--badge-neutral-bg:#64748b1a;--badge-neutral-text:#44403c;--badge-violet-bg:var(--bg-violet-light);--badge-violet-text:#5b21b6;--badge-rose-bg:var(--bg-rose-light);--badge-rose-text:#9f1239;--gradient-blue:linear-gradient(135deg, var(--primary), var(--primary-light));--gradient-green:linear-gradient(135deg, var(--accent-dark), var(--accent-light));--gradient-amber:linear-gradient(135deg, var(--color-orange), var(--color-orange-light));--gradient-violet:linear-gradient(135deg, var(--color-violet-dark), var(--color-violet));--gradient-red:linear-gradient(135deg, #c53030, var(--color-error));--gradient-mixed:linear-gradient(135deg, var(--primary), var(--accent));--gradient-overlay:linear-gradient(180deg, transparent, #000000b3);--gradient-hero:linear-gradient(135deg, #003c6ecc, #386fa0b3);--bg-dark:#1e293b;--border-light:#f0ede8;--border-medium:#e5e0d8;--border-dark:#d4cdc2;--border-danger:#ef44444d;--shadow-xs:0 1px 2px #8b73550f;--shadow-sm:0 4px 16px #8b73551f;--shadow-md:0 8px 24px #8b735529;--shadow-lg:0 12px 32px #8b735533;--shadow-primary-xs:0 2px 8px #003c6e26;--shadow-primary-sm:0 2px 8px #003c6e4d;--shadow-primary-md:0 4px 12px #003c6e66;--shadow-warning-sm:0 2px 8px #f59e0b4d;--shadow-warning-md:0 4px 12px #f59e0b66;--focus-ring-primary:0 0 0 3px #003c6e1a;--focus-ring-error:0 0 0 3px #ef44441a;--focus-ring-success:0 0 0 3px #10b9811a;--spacing-2xs:.125rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-ms:.75rem;--spacing-md:1rem;--spacing-ml:1.25rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--spacing-4xl:6rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl-max:20px;--radius-xl:var(--radius-xl-max);--radius-2xl-max:30px;--radius-2xl:var(--radius-2xl-max);--radius-pill:9999px;--transition-fast:.15s var(--ease-3);--transition-base:.3s var(--ease-3);--transition-slow:.5s var(--ease-3);--animation-duration-fast:.3s;--animation-duration-base:.5s;--animation-duration-slow:.75s;--animation-duration-slower:1s;--font-family:"Quicksand", -apple-system, blinkmacsystemfont, "Segoe UI", sans-serif;--font-mono:"Consolas", "Menlo", monospace;--font-size-2xs:.625rem;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-h5:1.25rem;--font-size-h4:clamp(1.125rem, 1rem + .5vw, 1.5rem);--font-size-h3:clamp(1.25rem, 1rem + 1vw, 1.75rem);--font-size-h2:clamp(1.5rem, 1.125rem + 1.5vw, 2.1875rem);--font-size-h1:clamp(1.75rem, 1.25rem + 2vw, 2.625rem);--font-size-2xl:clamp(1.75rem, 1.5rem + 1.5vw, 2rem);--font-size-3xl:clamp(2rem, 1.5rem + 2.5vw, 3rem);--font-size-4xl:clamp(2.5rem, 2rem + 3vw, 4rem);--font-size-5xl:clamp(3rem, 2rem + 4vw, 5rem);--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.7;--letter-spacing-tight:-.3px;--letter-spacing-normal:0;--letter-spacing-wide:.5px;--breakpoint-mobile:768px;--breakpoint-tablet:1024px;--breakpoint-desktop:1440px;--glass-bg:#ffffffb8;--glass-bg-warm:#faf8f5e0;--glass-blur:20px;--glass-blur-light:8px;--glass-border:#fff6;--glass-border-strong:#fff9;--glass-shadow:0 4px 30px #00000014;--glass-highlight:inset 0 1px 0 #ffffff80;--shadow-inset:inset 0 2px 4px #0000000f;--shadow-inset-highlight:inset 0 -1px 0 #fffc;--shadow-inset-focus:inset 0 1px 3px #003c6e1a;--card-bg:var(--bg-white);--card-bg-hover:#fffdfa;--card-glow-primary:0 0 0 3px #003c6e14;--card-glow-accent:0 0 0 3px #10b98114;--modal-bg:#fffdfae0;--modal-border:#ffffff8c;--modal-shadow:0 25px 50px -12px #8b735540, 0 0 0 1px #ffffff1f;--tooltip-bg:#fffdfad9;--tooltip-border:#00000014;--dropdown-bg:#fffdfad9;--dropdown-border:#ffffff80;--dropdown-shadow:0 10px 40px #8b735533;--footer-border:#8b735526;--footer-highlight:#fff9;--shadow-footer:0 -2px 20px #8b735514;--loader-color:var(--primary);--loader-shadow:#8b735566;--loader-text:var(--text-secondary);--z-base:1;--z-above:10;--z-sticky:100;--z-dropdown:1000;--z-modal:2000;--z-notification:3000;--z-loading:4000}*{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-md);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;scrollbar-width:auto;scrollbar-color:var(--border-medium) var(--bg-light);overflow-anchor:none}body{font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--text-secondary);background:var(--bg-light);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--text-primary);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}h5{font-size:var(--font-size-h5)}h6{font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-normal)}p{margin-bottom:var(--spacing-md);color:var(--text-secondary);line-height:var(--line-height-normal)}a{color:var(--primary-light);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary)}p a:hover,li a:hover,td a:hover,dd a:hover{text-decoration:underline}strong,b{font-weight:var(--font-weight-bold)}em,i{font-style:italic}small{font-size:var(--font-size-sm);color:var(--text-tertiary)}.hidden{display:none!important}.required{color:var(--color-danger);font-weight:var(--font-weight-semibold)}.divider-musical{height:24px;margin:var(--spacing-xl) 0;opacity:.3;justify-content:center;align-items:center;gap:3px;display:flex}.divider-musical:before,.divider-musical:after{content:"";background:var(--border-medium);flex:1;height:1px}.divider-musical span{align-items:center;gap:2px;display:flex}.divider-musical span i{background:var(--primary);border-radius:var(--radius-pill);width:3px;animation:divider-wave 1.2s var(--ease-in-out-3) infinite;display:block}.divider-musical span i:first-child{height:8px;animation-delay:0s}.divider-musical span i:nth-child(2){height:14px;animation-delay:.1s}.divider-musical span i:nth-child(3){height:20px;animation-delay:.2s}.divider-musical span i:nth-child(4){height:14px;animation-delay:.3s}.divider-musical span i:nth-child(5){height:8px;animation-delay:.4s}@keyframes divider-wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}.auth-page:before,.auth-page:after{content:"";width:var(--dots-size,12px);height:var(--dots-size,12px);border-radius:var(--radius-round);background:var(--primary);opacity:var(--dots-opacity,.06);pointer-events:none;z-index:0;animation:float var(--dots-speed,6s) var(--ease-3) infinite;position:fixed}.auth-page:before{left:var(--dots-left-x,6%);top:var(--dots-left-y,15%);width:var(--dots-left-size,12px);height:var(--dots-left-size,12px);opacity:var(--dots-left-opacity,.07);box-shadow:0 0 0 currentcolor, 0 calc(var(--dots-left-size,12px) * 2.3) 0 currentcolor, 0 calc(var(--dots-left-size,12px) * 4.6) 0 currentcolor, 0 calc(var(--dots-left-size,12px) * 6.9) 0 currentcolor;animation-duration:var(--dots-left-speed,6s)}.auth-page:after{right:var(--dots-right-x,7%);top:var(--dots-right-y,60%);width:var(--dots-right-size,10px);height:var(--dots-right-size,10px);opacity:var(--dots-right-opacity,.05);box-shadow:0 0 0 currentcolor, 0 calc(var(--dots-right-size,10px) * 2.3) 0 currentcolor, 0 calc(var(--dots-right-size,10px) * 4.6) 0 currentcolor;animation-duration:var(--dots-right-speed,8s);animation-direction:reverse}.auth-page.dots-swap:before{box-shadow:0 0 0 currentcolor, 0 calc(var(--dots-left-size,12px) * 2.3) 0 currentcolor, 0 calc(var(--dots-left-size,12px) * 4.6) 0 currentcolor}.auth-page.dots-swap:after{box-shadow:0 0 0 currentcolor, 0 calc(var(--dots-right-size,10px) * 2.3) 0 currentcolor, 0 calc(var(--dots-right-size,10px) * 4.6) 0 currentcolor, 0 calc(var(--dots-right-size,10px) * 6.9) 0 currentcolor}@media (width<=768px){.auth-page:before,.auth-page:after{display:none}}.spinner-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);z-index:var(--z-loading);justify-content:center;align-items:center;display:none;position:fixed;inset:0}.spinner-content{align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.spinner{border:4px solid #003c6e26;border-top-color:var(--primary);border-radius:var(--radius-round);width:48px;height:48px;animation:.8s linear infinite spin}.loading-page-block{z-index:calc(var(--z-loading) - 1);cursor:wait;background:0 0;position:fixed;inset:0}.loading-message{bottom:var(--spacing-lg);backdrop-filter:blur(var(--glass-blur-light));color:var(--text-secondary);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-pill);font-size:var(--font-size-sm);z-index:var(--z-loading);box-shadow:var(--shadow-md);animation:slide-up-subtle .25s var(--ease-out-3);background:#ffffffd9;position:fixed;left:50%;translate:-50%}.loading-message.hiding{animation:slide-out-down-subtle .2s var(--ease-in-3) forwards}.form-warning{color:#92400e;border-left:4px solid var(--color-warning);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background-color:#fef3c7;align-items:center;gap:.5rem;margin-top:.5rem;padding:.75rem 1rem;display:flex}.form-warning i{font-size:var(--font-size-md);color:var(--color-warning)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.1s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{background:var(--primary);color:#fff;border-radius:var(--radius-md);z-index:var(--z-loading);font-weight:var(--font-weight-semibold);transition:top .2s var(--ease-3);padding:.75rem 1.5rem;text-decoration:none;position:absolute;top:-100%;left:50%;transform:translate(-50%)}.skip-link:focus{outline:3px solid var(--primary-dark);outline-offset:2px;top:1rem}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-ms) var(--spacing-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);text-align:center;border-radius:var(--radius-pill);transition:all var(--transition-base);white-space:nowrap;border:none;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--shadow-sm);text-decoration:none;transform:translateY(-2px)scale(1.02)}.btn:active{transform:translateY(0)scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--gradient-blue);color:var(--bg-white);box-shadow:var(--shadow-primary-sm)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-primary-md);color:var(--bg-white)}.btn-accent{background:var(--accent);color:var(--bg-white)}.btn-accent:hover{background:var(--accent-light);color:var(--bg-white)}.btn-success{background:var(--color-success);color:var(--bg-white)}.btn-success:hover{color:var(--bg-white)}.btn-danger{background:var(--color-error);color:var(--bg-white)}.btn-danger:hover{color:var(--bg-white)}.btn-warning{background:var(--gradient-amber);color:var(--bg-white);box-shadow:var(--shadow-warning-sm)}.btn-warning:hover:not(:disabled){box-shadow:var(--shadow-warning-md);color:var(--bg-white)}.btn-outline{border:2px solid var(--primary);color:var(--primary);background:0 0}.btn-outline:hover{background:var(--primary);color:var(--bg-white)}.btn-ghost{color:var(--text-secondary);background:0 0;border:1px solid #0000}.btn-ghost:hover{background:var(--bg-lighter);color:var(--primary);border-color:var(--primary-light);box-shadow:var(--shadow-primary-xs)}.btn-secondary{background-color:var(--bg-light);color:var(--text-primary);border:1px solid var(--border-medium)}.btn-secondary:hover{background-color:var(--bg-lighter);border-color:var(--primary-light);color:var(--primary)}.btn-secondary-danger{background-color:var(--bg-light);color:var(--color-error);border:1px solid var(--border-medium)}.btn-secondary-danger:hover{background-color:var(--bg-danger-light);border-color:var(--color-error);color:var(--color-error);box-shadow:var(--shadow-sm)}.btn-link{align-items:center;gap:var(--spacing-xs);color:var(--primary);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);transition:color .2s var(--ease-3);background:0 0;border:none;display:inline-flex}.btn-link:hover{color:var(--primary-dark);box-shadow:none;text-decoration:underline;transform:none}.btn-link:hover:has(i){text-decoration:none}.btn-link:hover:has(i) span{text-decoration:underline}.btn-group{gap:0;display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.btn-group .btn:last-child{border-radius:0 var(--radius-pill) var(--radius-pill) 0}.btn-group .btn:only-child{border-radius:var(--radius-pill)}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-block{width:100%}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);display:block}.form-control{width:100%;padding:var(--spacing-ms) var(--spacing-md);font-size:var(--font-size-md);font-family:var(--font-family);color:var(--text-primary);background:var(--bg-white);border:2px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-inset-highlight);transition:all var(--transition-fast)}.form-control:focus{border-color:var(--primary);box-shadow:var(--shadow-inset-focus), 0 0 0 3px #003c6e1f;outline:none}.form-control:disabled{background:var(--bg-light);color:var(--text-secondary);cursor:not-allowed;opacity:.6}.form-control-error{border-color:var(--color-error)}.form-control-error:focus{box-shadow:var(--focus-ring-error)}.form-control-success{border-color:var(--color-success)}.form-control-success:focus{box-shadow:var(--focus-ring-success)}select.form-control{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}select.form-control:disabled{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M2 4l4 4 4-4'/%3E%3C/svg%3E")}.form-error{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-error)}.turnstile-placeholder{justify-content:center;align-items:center;min-height:65px;display:flex}.form-help{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-muted)}.field-feedback{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-muted);min-height:1.5em}.field-feedback.checking{color:var(--color-info);animation:pulse-subtle 1.5s var(--ease-in-out-3) infinite}.field-feedback.success{color:var(--color-success)}.field-feedback.error{color:var(--color-error)}.field-feedback.warning{color:var(--color-warning)}.field-feedback i{margin-right:.25rem}.field-feedback .suggestion-link{color:var(--primary);font-weight:var(--font-weight-semibold);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.field-feedback .suggestion-link:hover{color:var(--primary-dark)}.form-floating{margin-bottom:var(--spacing-lg);position:relative}.form-floating .form-control{height:56px;padding:var(--spacing-lg) var(--spacing-md) var(--spacing-sm)}.form-floating textarea.form-control{height:auto;min-height:100px;padding-top:var(--spacing-xl)}.form-floating label{top:50%;left:var(--spacing-md);padding:0 var(--spacing-xs);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);color:var(--text-muted);pointer-events:none;transition:top var(--transition-fast), transform var(--transition-fast), font-size var(--transition-fast), color var(--transition-fast), background var(--transition-fast);transform-origin:0;background:0 0;margin:0;position:absolute;transform:translateY(-50%)}.form-floating textarea.form-control~label{top:var(--spacing-lg);transform:translateY(0)}.form-floating .form-control:focus~label,.form-floating .form-control:not(:placeholder-shown)~label{top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--primary);background:var(--bg-white);transform:translateY(0)scale(.85)}.form-floating textarea.form-control:focus~label,.form-floating textarea.form-control:not(:placeholder-shown)~label{top:var(--spacing-xs)}.form-floating .form-control-error~label{color:var(--color-error)}.form-floating .form-control-success~label{color:var(--color-success)}.form-floating .form-control:disabled~label{color:var(--text-muted);background:var(--bg-light);opacity:.6}.form-floating select.form-control{padding-top:var(--spacing-lg)}.form-floating select.form-control~label{top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-white);transform:translateY(0)scale(.85)}.form-floating select.form-control:focus~label{color:var(--primary)}.toggle-switch{align-items:center;gap:var(--spacing-sm);cursor:pointer;display:inline-flex;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{background-color:var(--border-medium);border-radius:var(--radius-pill);width:52px;height:28px;transition:background-color var(--transition-base);flex-shrink:0;display:inline-block;position:relative}.toggle-slider:before{content:"";background-color:var(--bg-white);border-radius:var(--radius-round);width:22px;height:22px;box-shadow:var(--shadow-xs);transition:transform var(--transition-base);position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-success)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-switch input:focus-visible+.toggle-slider{outline:2px solid var(--primary);outline-offset:2px}.toggle-switch:hover .toggle-slider{background-color:var(--border-dark)}.toggle-switch:hover input:checked+.toggle-slider{background-color:var(--accent-dark)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-switch:has(input:disabled){cursor:not-allowed}.toggle-label{font-size:var(--font-size-md);color:var(--text-primary);user-select:none}.toggle-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.toggle-group .toggle-label{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-lighter);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;display:flex}.toggle-group .toggle-label:hover{background:var(--bg-hover)}.toggle-group .toggle-label:has(input:checked){background:var(--bg-primary-light);border-color:var(--primary)}.toggle-group .toggle-label input[type=radio]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.error-text{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);align-items:center;gap:var(--spacing-xs);display:flex}.error-text:before{content:"";font-family:"Font Awesome 7 Free",sans-serif;font-weight:var(--font-weight-black);font-size:var(--font-size-xs)}.required-asterisk{color:var(--color-error);font-weight:var(--font-weight-bold);margin-left:2px}.loading{pointer-events:none;opacity:.6;position:relative}.loading:after{content:"";background:var(--bg-overlay);border-radius:inherit;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.card{z-index:var(--z-base);background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:background var(--transition-fast), box-shadow var(--transition-base), transform var(--transition-base);position:relative;overflow:hidden}.card:hover{background:var(--card-bg-hover);box-shadow:var(--shadow-md)}.card-clickable{cursor:pointer;transition:all var(--transition-base)}.card-clickable:before{content:"";background:var(--primary);transform-origin:0;height:4px;transition:transform var(--transition-base);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.card-clickable:hover{box-shadow:var(--shadow-md), var(--card-glow-primary);transform:translateY(-4px)}.card-clickable:hover:before{transform:scaleX(1)}.card-clickable:hover .card-icon{transform:scale(1.05)}.card-icon{background:var(--gradient-blue);border-radius:var(--radius-pill);width:80px;height:80px;margin-bottom:var(--spacing-lg);transition:transform var(--transition-base);justify-content:center;align-items:center;display:flex}.card-icon i{font-size:var(--font-size-2xl);color:var(--bg-white)}.card-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-medium)}.card-header h3{font-size:var(--font-size-h4);color:var(--primary);margin:0}.card-body{padding:var(--spacing-lg)}.stat-card{align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl);display:flex}.stat-card-icon{font-size:var(--font-size-3xl);opacity:.8}.stat-card-content{flex:1}.stat-card-value{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--primary)}.stat-card-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-xs)}.stat-card-primary{border-left:4px solid var(--primary)}.stat-card-success{border-left:4px solid var(--color-success)}.stat-card-warning{border-left:4px solid var(--color-warning)}.stat-card-danger{border-left:4px solid var(--color-error)}@media (width<=768px){.stat-card{text-align:center;padding:var(--spacing-lg);flex-direction:column}}.card-link--disabled{cursor:default;opacity:.8}.card-link--disabled:hover{transform:none}.card-link--disabled img,.card-link--disabled .artist-logo,.card-link--disabled .member-photo{filter:grayscale(30%)}.alert{padding:var(--spacing-ms) var(--spacing-lg);border-radius:var(--radius-md);box-shadow:inset 3px 0 0 var(--color-info);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);background:#3b82f60d}.alert-success{box-shadow:inset 3px 0 0 var(--color-success);color:var(--color-success);background:#22c55e0d}.alert-error,.alert-danger{box-shadow:inset 3px 0 0 var(--color-error);color:var(--color-error);background:#ef44440d}.alert-warning{box-shadow:inset 3px 0 0 var(--color-warning);color:var(--color-warning);background:#f59e0b0d}.alert-info .alert-icon,.alert-info>i{color:var(--color-info)}.alert:has(.alert-icon){gap:0 var(--spacing-sm);grid-template-columns:auto 1fr;display:grid}.alert-icon{align-items:center;height:1lh;display:flex}.alert-content{grid-column:2}.alert-title{font-weight:var(--font-weight-semibold)}.alert-title+.alert-text{margin-top:var(--spacing-xs)}.badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.025em;align-items:center;padding:.375rem .75rem;line-height:1;display:inline-flex}.badge-sm{font-size:var(--font-size-2xs);padding:.25rem .5rem}.badge-success{background:var(--badge-success-bg);color:var(--badge-success-text)}.badge-warning{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.badge-danger{background:var(--badge-error-bg);color:var(--badge-error-text)}.badge-info{background:var(--badge-info-bg);color:var(--badge-info-text)}.badge-secondary{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.badge-violet{background:var(--badge-violet-bg);color:var(--badge-violet-text)}.badge-rose{background:var(--badge-rose-bg);color:var(--badge-rose-text)}.badge-primary{background:var(--primary-dark);color:#fff}.badge-muted{background:var(--text-secondary);color:#fff}.filter-badge{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-white);border:1px solid var(--border-medium);border-radius:var(--radius-pill);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.filter-badge:hover{border-color:var(--primary-light);color:var(--primary-dark)}.filter-badge.active{background:var(--primary-dark);color:var(--bg-white);border-color:var(--primary-dark)}.table-responsive{scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;width:100%;overflow-x:auto}.table{border-collapse:collapse;background:var(--bg-white);border-radius:var(--radius-lg);width:100%;overflow:hidden}.table thead{background:var(--bg-light)}.table th{padding:var(--spacing-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-primary);border-bottom:2px solid var(--border-medium)}.table td{padding:var(--spacing-md);border-bottom:1px solid var(--border-light)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.table tbody tr:hover{box-shadow:var(--shadow-xs);transform:translateY(-2px)}.table-actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}.table-actions .btn{padding:.5rem}.pagination{gap:var(--spacing-sm);margin:var(--spacing-xl) 0;justify-content:center;align-items:center;display:flex}.image-placeholder{background:var(--bg-dark);width:100%;height:100%;color:var(--text-muted);font-size:var(--font-size-3xl);justify-content:center;align-items:center;display:flex}.image-placeholder--lg{font-size:var(--font-size-5xl)}.placeholder-gradient--blue{background:var(--gradient-blue);color:#fff}.placeholder-gradient--warm{background:var(--gradient-amber);color:#fff}.placeholder-gradient--violet{background:var(--gradient-violet);color:#fff}.placeholder-gradient--green{background:var(--gradient-green);color:#fff}.tabs-container{gap:var(--spacing-lg);flex-direction:column;display:flex}.tabs-nav{gap:var(--spacing-xs);border-bottom:2px solid var(--border-light);scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;display:flex;overflow:auto hidden}.tab-button{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-ms) var(--spacing-ml);color:var(--text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;background:0 0;border:none;display:flex;position:relative}.tab-button:after{content:"";background:var(--primary);width:100%;height:3px;transition:transform var(--transition-base);position:absolute;bottom:0;left:0;transform:scaleX(0)}.tab-button i{font-size:var(--font-size-md)}.tab-button:hover{color:var(--primary-dark);background:var(--bg-light)}.tab-button:focus{outline:2px solid var(--primary);outline-offset:-2px}.tab-button:hover:after{transform:scaleX(.5)}.tab-button.active{color:var(--primary-dark);font-weight:var(--font-weight-semibold)}.tab-button.active:after{transform:scaleX(1)}.tabs-content{position:relative}.tab-panel{animation:slide-up .3s var(--ease-out-3);display:none}.tab-panel.active{display:block}@media (width<=768px){.tabs-nav{border-bottom:none;border-right:3px solid var(--border-light);flex-direction:column;gap:0;overflow-x:hidden}.tab-button{padding:var(--spacing-ms) var(--spacing-md);justify-content:flex-start}.tab-button:after{width:3px;height:100%;inset:0 0 auto auto;transform:scaleY(0)}.tab-button:hover:after{transform:scaleY(.5)}.tab-button.active:after{transform:scaleY(1)}}.tabs-nav-desktop{gap:var(--spacing-xs);border-bottom:2px solid var(--border-light);scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;display:flex;overflow:auto hidden}.tabs-nav-mobile{border-bottom:2px solid var(--border-light);display:none;position:relative}.tabs-dropdown-toggle{width:100%;padding:var(--spacing-md);background:var(--gray-50);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;transition:background .3s var(--ease-3);border:none;justify-content:space-between;align-items:center;display:flex}.tabs-dropdown-toggle:hover{background:var(--gray-100)}.tabs-dropdown-label{align-items:center;gap:var(--spacing-xs);display:flex}.tabs-dropdown-label i{color:var(--primary)}.tabs-dropdown-toggle>i:last-child{transition:transform .3s var(--ease-3);color:var(--text-secondary)}.tabs-dropdown-toggle.open>i:last-child{transform:rotate(180deg)}.tabs-dropdown-menu{background:var(--dropdown-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--dropdown-border);box-shadow:var(--dropdown-shadow);z-index:var(--z-sticky);border-top:none;max-height:400px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.tabs-dropdown-item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);text-align:left;font-size:var(--font-size-md);color:var(--text-secondary);cursor:pointer;transition:all .3s var(--ease-3);background:0 0;border:none;border-left:3px solid #0000;display:flex}.tabs-dropdown-item:hover{background:var(--gray-50);color:var(--primary)}.tabs-dropdown-item.active{color:var(--primary);border-left-color:var(--primary);background:var(--gray-50)}.tabs-dropdown-item i{text-align:center;width:20px}@media (width<=768px){.tabs-nav-desktop{display:none}.tabs-nav-mobile{display:block}}.session-badge,.session-banner{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;transition:all .3s var(--ease-3);border-radius:20px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.session-badge i,.session-banner i{font-size:var(--font-size-md)}.session-badge.session-normal,.session-banner.session-normal{background:var(--bg-info-light);color:var(--color-info);border:1px solid var(--color-info)}.session-badge.session-warning,.session-banner.session-warning{background:var(--bg-warning-light);color:var(--color-warning);border:1px solid var(--color-warning)}.session-badge.session-critical,.session-banner.session-critical,.session-banner.session-danger{background:var(--bg-danger-light);color:var(--color-error);border:1px solid var(--color-error);animation:pulse-subtle 2s var(--ease-in-out-3) infinite}.session-badge.session-expired,.session-banner.session-expired{background:var(--color-error);color:#fff;border:1px solid var(--color-error);animation:pulse 1.5s var(--ease-in-out-3) infinite}@media (width<=768px){.session-badge,.session-banner{justify-content:center;width:100%}}.avatar{border-radius:var(--radius-round);background:var(--bg-lighter);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.avatar-xs{width:24px;height:24px;font-size:var(--font-size-2xs)}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar-md{width:40px;height:40px;font-size:var(--font-size-sm)}.avatar-lg{width:48px;height:48px;font-size:var(--font-size-md)}.avatar-xl{width:56px;height:56px;font-size:var(--font-size-lg)}.avatar-2xl{width:64px;height:64px;font-size:var(--font-size-xl)}.avatar-3xl{width:96px;height:96px;font-size:var(--font-size-h3)}.avatar-img{object-fit:cover;width:100%;height:100%}.avatar-status{border-radius:var(--radius-round);border:2px solid var(--bg-white);width:12px;height:12px;position:absolute;bottom:0;right:0}.avatar-status-online,.avatar-status-active{background-color:var(--success)}.avatar-status-offline,.avatar-status-inactive{background-color:var(--text-muted)}.avatar-status-away,.avatar-status-expired{background-color:var(--warning)}.avatar-status-busy{background-color:var(--danger)}.avatar:has(.avatar-notification){overflow:visible}.avatar:has(.avatar-notification) .avatar-img,.avatar:has(.avatar-notification) .avatar-initials{border-radius:inherit}.avatar-notification{border-radius:var(--radius-pill);background-color:var(--danger);color:#fff;min-width:18px;height:18px;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);border:2px solid var(--bg-white);justify-content:center;align-items:center;padding:0 5px;display:flex;position:absolute;top:-4px;right:-4px}.avatar-xs .avatar-status,.avatar-small .avatar-status{border-width:1px;width:8px;height:8px}.avatar-sm .avatar-status{border-width:2px;width:10px;height:10px}.avatar-xl .avatar-status,.avatar-2xl .avatar-status,.avatar-large .avatar-status{border-width:2px;width:14px;height:14px}.avatar-3xl .avatar-status,.avatar-xlarge .avatar-status{border-width:3px;width:18px;height:18px}.avatar .avatar-initials{width:100%;height:100%;font-size:inherit;border-radius:0}.avatar-initials{background:var(--gradient-blue);color:#fff;font-weight:var(--font-weight-semibold);border-radius:var(--radius-round);justify-content:center;align-items:center;display:flex}.avatar-initials--xs{width:24px;height:24px;font-size:var(--font-size-xs)}.avatar-initials--sm{width:32px;height:32px;font-size:var(--font-size-sm)}.avatar-initials--md{width:40px;height:40px;font-size:var(--font-size-md)}.avatar-initials--lg{width:50px;height:50px;font-size:var(--font-size-lg)}.avatar-initials--xl{width:64px;height:64px;font-size:var(--font-size-xl)}.avatar-initials--warm{background:var(--gradient-amber)}.avatar-initials--violet{background:var(--gradient-violet)}.avatar-initials--green{background:var(--gradient-green)}.avatar-initials--admin{background:var(--gradient-red)}.info-section{margin-bottom:24px}.info-section:last-child{margin-bottom:0}.info-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md);align-items:center;gap:var(--spacing-sm);display:flex}.info-section-title i{color:var(--primary-dark)}.info-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px;display:grid}.info-item{flex-direction:column;gap:6px;display:flex}.info-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:var(--font-size-md);color:var(--text-primary);font-weight:var(--font-weight-medium)}.info-value.empty{color:var(--text-muted);font-style:italic}.info-image{grid-column:span 2}.info-grid--card{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.info-item--card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem}.info-item--card .info-label{margin-bottom:.25rem;display:block}.info-item--card .info-value{display:block}.info-grid--list{flex-direction:column;gap:0;display:flex}.info-item--list{border-bottom:1px solid var(--border-medium);flex-direction:row;justify-content:space-between;align-items:center;padding:.75rem 0}.info-item--list:last-child{border-bottom:none}.info-item--list a{color:var(--primary-dark);justify-content:space-between;align-items:center;width:100%;text-decoration:none;transition:color .2s;display:flex}.info-item--list a:hover{color:var(--primary-light)}@media (width<=600px){.info-grid{grid-template-columns:1fr}.info-image{grid-column:span 1}}.selectable-list{border:var(--border-medium);border-radius:var(--radius-md);max-height:300px;overflow-y:auto}.selectable-item{cursor:pointer;border-bottom:var(--border-light);align-items:center;gap:1rem;padding:1rem;transition:background-color .2s;display:flex}.selectable-item:last-child{border-bottom:none}.selectable-item:hover{background:var(--bg-hover)}.selectable-item.selected{background:var(--bg-primary-light)}.selectable-item-icon{font-size:var(--font-size-h4);color:var(--text-muted);text-align:center;width:2rem}.selectable-item.selected .selectable-item-icon{color:var(--primary)}.selectable-item-content{flex:1;min-width:0}.selectable-item-title{font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.selectable-item-meta{font-size:var(--font-size-sm);color:var(--text-muted)}.selectable-item-check{color:var(--primary);font-size:var(--font-size-xl);opacity:0;transition:opacity .2s}.selectable-item.selected .selectable-item-check{opacity:1}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.my-xs{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.my-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-danger{color:var(--color-error)}.text-success{color:var(--color-success)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.optional{font-size:var(--font-size-sm);color:var(--text-muted);font-weight:var(--font-weight-regular);margin-left:var(--spacing-xs)}.page-loading>:not(.loader-musical){display:none!important}.loader-musical{justify-content:center;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-2xl);flex-direction:column;flex:1;min-height:200px;display:flex}.loader-musical-notes{justify-content:center;align-items:flex-end;gap:.4rem;height:48px;display:flex}.loader-musical-notes svg{width:21px;height:28px;color:var(--loader-color);animation:march .65s var(--ease-in-out-3) infinite;animation-delay:-.5s}.loader-musical-notes svg:nth-child(2){animation-delay:-.35s}.loader-musical-notes svg:nth-child(3){animation-delay:-.2s}.loader-musical-text{color:var(--loader-text);font-size:var(--font-size-sm);font-style:italic}.tooltip{z-index:var(--z-loading);padding:var(--spacing-sm) var(--spacing-ms);max-width:250px;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--tooltip-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--tooltip-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow), var(--glass-highlight);opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast);pointer-events:none;line-height:1.4;position:fixed;transform:translateY(4px)}.tooltip.visible{opacity:1;transform:translateY(0)}.tooltip:before{content:"";border:6px solid #0000;position:absolute}.tooltip[data-position=top]:before{border-top-color:#fffdfad9;top:100%;left:50%;transform:translate(-50%)}.tooltip[data-position=bottom]:before{border-bottom-color:#fffdfad9;bottom:100%;left:50%;transform:translate(-50%)}.tooltip[data-position=left]:before{border-left-color:#fffdfad9;top:50%;left:100%;transform:translateY(-50%)}.tooltip[data-position=right]:before{border-right-color:#fffdfad9;top:50%;right:100%;transform:translateY(-50%)}.loader-musical--error .loader-musical-notes svg{color:var(--color-error);animation:give-up 5.5s var(--ease-in-out-3) infinite;animation-delay:-.5s}.loader-musical--error .loader-musical-notes svg:nth-child(2){animation-delay:-.3s}.loader-musical--error .loader-musical-notes svg:nth-child(3){animation-delay:-.1s}.loader-musical--error .loader-musical-text{color:var(--text-secondary);font-style:normal}@keyframes give-up{0%{opacity:.8;transform:translateY(0)rotate(0)scaleY(.82)scaleX(1.12)}7%{opacity:.95;transform:translateY(-18px)rotate(0)scaleY(1.12)scaleX(.92)}14%{opacity:.7;transform:translateY(0)rotate(0)scaleY(.78)scaleX(1.15)}20%{opacity:.48;transform:translateY(-1px)rotate(0)scaleY(1)scaleX(1)}28%{opacity:.35;transform:translateY(5px)rotate(-6deg)scaleY(1)scaleX(1)}38%{opacity:.25;transform:translateY(10px)rotate(-12deg)scaleY(1)scaleX(1)}76%{opacity:.25;transform:translateY(10px)rotate(-12deg)scaleY(1)scaleX(1)}86%{opacity:.55;transform:translateY(2px)rotate(-2deg)scaleY(1)scaleX(1)}94%{opacity:.8;transform:translateY(-1px)rotate(0)scaleY(1.02)scaleX(.99)}to{opacity:.8;transform:translateY(0)rotate(0)scaleY(.82)scaleX(1.12)}}.btn-loading{pointer-events:none;position:relative}.btn-loading>.btn-loading-content{visibility:hidden}.btn-loading-dots{justify-content:center;align-items:center;gap:.25em;padding-top:.15em;display:flex;position:absolute;inset:0}.btn-loading-dots>span{border-radius:var(--radius-round);width:.35em;height:.35em;animation:march-dots .65s var(--ease-in-out-3) infinite;background:currentColor;animation-delay:-.5s}.btn-loading-dots>span:nth-child(2){animation-delay:-.35s}.btn-loading-dots>span:nth-child(3){animation-delay:-.2s}.autocomplete-loading{right:var(--spacing-sm);color:var(--text-muted);position:absolute;top:50%;transform:translateY(-50%)}.indicator-danger{color:var(--color-error)}.indicator-warning{color:var(--color-warning)}.indicator-primary{color:var(--primary-dark)}.indicator-muted{color:var(--text-secondary)}.deep-link-highlight{animation:deep-link-glow 2.5s var(--ease-out-3)}@keyframes deep-link-glow{0%{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 40%, transparent), 0 0 20px color-mix(in srgb, var(--primary) 30%, transparent)}to{box-shadow:0 0 #0000,0 0 #0000}}.progress-bar{background:var(--bg-secondary);border-radius:var(--radius-pill);width:100%;height:10px;overflow:hidden}.progress-bar.progress-bar-sm{height:8px}.progress-bar.progress-bar-lg{height:12px}.progress-fill{border-radius:var(--radius-pill);height:100%;transition:width .3s var(--ease-3)}.progress-success{background:linear-gradient(90deg, var(--success), var(--success-dark,var(--success)))}.progress-warning{background:linear-gradient(90deg, var(--warning), var(--warning-dark,var(--warning)))}.progress-danger{background:linear-gradient(90deg, var(--danger), var(--danger-dark,var(--danger)))}.page{flex-direction:column;min-height:100vh;display:flex}.page>main{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);max-width:1200px;padding-inline:var(--spacing-lg);flex-direction:column;flex:1;width:100%;margin:0 auto;display:flex;position:relative}.page>main.layout-narrow{max-width:1000px}.page>main.layout-wide{max-width:1400px}.public-page>main{max-width:none;padding-inline:0}.section-container{width:100%;max-width:1200px;padding:0 var(--spacing-lg);margin:0 auto}.navbar{z-index:var(--z-dropdown);background:var(--glass-bg);-webkit-backdrop-filter:saturate(1.8)blur(20px);box-shadow:var(--glass-shadow);position:sticky;top:0}.navbar--compact .navbar-container{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.navbar--compact .navbar-brand img,.navbar--compact .navbar-brand-icon{height:32px}.navbar--compact .navbar-brand-text{font-size:var(--font-size-md)}.navbar--compact .navbar-menu{font-size:var(--font-size-sm)}.navbar-container{padding:var(--spacing-md) var(--spacing-lg);max-width:1400px;transition:padding var(--transition-base);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar-brand{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--primary);text-decoration:none;display:flex}.navbar-brand:hover{text-decoration:none}.navbar-brand img,.navbar-brand-icon{width:auto;height:40px;transition:height var(--transition-base)}.navbar-brand:hover img,.navbar-brand:hover .navbar-brand-icon{animation:tilt var(--animation-duration-base) var(--ease-out-3)}.navbar-brand-text{transition:color var(--transition-fast), font-size var(--transition-base), transform var(--transition-fast)}.navbar-brand:hover .navbar-brand-text{color:var(--primary-light);transform:translate(2px)scale(1.03)}.navbar-menu{align-items:center;gap:var(--spacing-lg);transition:font-size var(--transition-base);list-style:none;display:flex}.navbar-menu a{color:var(--text-secondary);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) 0;transition:color var(--transition-fast), transform var(--transition-fast);text-decoration:none;position:relative}.navbar-menu a:after{content:"";background:var(--primary);border-radius:var(--radius-pill);width:0;height:2px;transition:width var(--transition-base) var(--ease-out-4), left var(--transition-base) var(--ease-out-4);position:absolute;bottom:-2px;left:50%}.navbar-menu a:hover{color:var(--primary);text-decoration:none;transform:translateY(-1px)scale(1.03)}.navbar-menu a:hover:after{width:100%;left:0}.navbar-menu a.active{color:var(--primary);text-decoration:none}.navbar-menu a.active:after{width:100%;left:0}.navbar-menu a:not(:hover,.active):after{transition:width var(--transition-fast), left var(--transition-fast)}.navbar-user{align-items:center;gap:var(--spacing-md);display:flex}.navbar-toggle{cursor:pointer;padding:var(--spacing-sm);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;display:none}.navbar-toggle span{background:var(--text-primary);width:24px;height:2px;margin:var(--spacing-xs) 0;transition:transform var(--transition-base) var(--ease-out-4), opacity var(--transition-fast), background-color var(--transition-fast);display:block}.navbar-toggle:hover span{background-color:var(--primary)}.navbar-toggle.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.navbar-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(7px,-6px)}.notification-bell{width:40px;height:40px;color:var(--text-secondary);font-size:var(--font-size-xl);transition:transform var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.notification-bell:hover{color:var(--primary);text-decoration:none;transform:scale(1.08)}.notification-badge,.messaging-badge,.contact-badge{background:var(--accent);min-width:18px;height:18px;color:var(--bg-white);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);text-align:center;border-radius:var(--radius-pill);border:2px solid var(--bg-white);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;padding:0 5px;line-height:18px;display:flex;position:absolute;top:2px;right:2px}.badge--bounce{animation:pulse-pop .4s var(--ease-elastic-out-3)}.icon--ring{animation:bell-ring .6s var(--ease-out-3)}.notification-dropdown{margin-top:var(--spacing-sm);background:var(--bg-white);border-radius:var(--radius-lg);width:380px;max-height:500px;box-shadow:var(--shadow-md);z-index:var(--z-dropdown);position:absolute;top:100%;right:0;overflow:hidden}.notification-dropdown-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-light);background:var(--bg-lighter);justify-content:space-between;align-items:center;display:flex}.notification-dropdown-header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.notification-dropdown-header a{color:var(--text-secondary);font-size:var(--font-size-lg);transition:color var(--transition-fast);text-decoration:none}.notification-dropdown-header a:hover{color:var(--primary)}.notification-list{max-height:380px;overflow-y:auto}.notification-item{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-light);transition:background var(--transition-fast);cursor:pointer;display:flex}.notification-item:last-child{border-bottom:none}.notification-item:hover,.notification-item.unread{background:var(--bg-lighter)}.notification-item.unread .notification-title{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.notification-item.read{background:var(--bg-white)}.notification-item.read .notification-title,.notification-item.read .notification-message,.notification-item.read .notification-date{color:var(--text-tertiary)}.notification-checkbox{cursor:pointer;width:20px;height:20px;transition:color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.notification-item.unread .notification-checkbox{color:var(--accent)}.notification-item.read .notification-checkbox{color:var(--text-tertiary)}.notification-checkbox:hover{color:var(--primary)}.notification-content{flex:1;min-width:0}.notification-title{font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);line-height:1.4}.notification-message{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--spacing-xs);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.notification-date{font-size:var(--font-size-xs);color:var(--text-tertiary)}.notification-delete{width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.notification-delete:hover{color:var(--color-error)}.notification-dropdown-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-light);text-align:center;background:var(--bg-lighter)}.notification-dropdown-footer a{color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);text-decoration:none}.notification-dropdown-footer a:hover{color:var(--primary-light);text-decoration:underline}.notification-empty{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.notification-empty i{font-size:var(--font-size-3xl);color:var(--text-tertiary);margin-bottom:var(--spacing-md)}.notification-empty p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.user-badge{display:inline-block;position:relative}.user-avatar{border-radius:var(--radius-round);cursor:pointer;width:40px;height:40px;transition:box-shadow var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border:2px solid #0000;display:block;overflow:hidden}.user-avatar .avatar-initials{width:100%;height:100%;font-size:var(--font-size-sm)}.user-avatar img{object-fit:cover;width:100%;height:100%}.user-avatar:hover{box-shadow:0 0 0 3px var(--primary-lighter);transform:scale(1.05)}.user-dropdown{border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:var(--z-dropdown);border:1px solid var(--border-light);background:#fff;position:absolute;top:calc(100% + .5rem);right:0;transform:translateY(-10px)}.user-badge:hover .user-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.user-dropdown-header{border-bottom:1px solid var(--border-light);background:var(--bg-light);border-radius:var(--radius-md) var(--radius-md) 0 0;padding:1rem}.user-dropdown-name{font-weight:var(--font-weight-bold);color:var(--text-primary);font-size:var(--font-size-md);margin:0 0 .25rem}.user-dropdown-email{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.user-dropdown-menu{margin:0;padding:.5rem 0;list-style:none}.user-dropdown-item{margin:0}.user-dropdown-link{color:var(--text-primary);transition:background var(--transition-base);font-size:var(--font-size-md);align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;display:flex}.user-dropdown-link:hover{background:var(--bg-light);color:var(--primary);text-decoration:none}.user-dropdown-link:hover span{text-decoration:underline}.user-dropdown-link i{text-align:center;width:20px;color:var(--text-secondary)}.user-dropdown-link:hover i{color:var(--primary)}.user-dropdown-divider{background:var(--border-light);height:1px;margin:.5rem 0}.user-dropdown-link.logout{color:var(--color-error)}.user-dropdown-link.logout:hover{background:#f443361a}.user-dropdown-link.logout i{color:var(--color-error)}.navbar-mobile-overlay{background:var(--bg-modal-overlay);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity var(--transition-base), visibility var(--transition-base);z-index:calc(var(--z-dropdown) - 1);position:fixed;inset:0}.navbar-mobile-overlay.active{opacity:1;visibility:visible}.navbar-mobile-panel{background:var(--glass-bg);width:min(320px,85vw);-webkit-backdrop-filter:saturate(1.8)blur(20px);transition:transform var(--transition-base) var(--ease-out-4);z-index:var(--z-dropdown);will-change:transform;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-4px 0 30px #00000026}.navbar-mobile-panel.active{transform:translate(0)}.navbar-mobile-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border);justify-content:flex-end;display:flex}.navbar-mobile-close{width:44px;height:44px;color:var(--text-secondary);font-size:var(--font-size-xl);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.navbar-mobile-close:hover{background:var(--bg-lighter);color:var(--text-primary)}.navbar-mobile-nav{padding:var(--spacing-lg);gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex;overflow-y:auto}.navbar-mobile-link{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);min-height:44px;transition:background var(--transition-fast), color var(--transition-fast);text-decoration:none;display:flex}.navbar-mobile-link:hover,.navbar-mobile-link.active{background:var(--bg-lighter);color:var(--primary);text-decoration:none}.navbar-mobile-link i{text-align:center;width:24px;color:var(--text-muted);transition:color var(--transition-fast)}.navbar-mobile-link:hover i,.navbar-mobile-link.active i{color:var(--primary)}.navbar-mobile-profile{border-top:1px solid var(--glass-border);padding:var(--spacing-lg)}.navbar-mobile-profile-header{align-items:center;gap:var(--spacing-md);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light);display:flex}.navbar-mobile-profile-avatar-container{flex-shrink:0;position:relative}.navbar-mobile-profile-avatar{border-radius:var(--radius-round);object-fit:cover;width:48px;height:48px}.navbar-mobile-profile-info{flex:1;min-width:0}.navbar-mobile-profile-name{font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.navbar-mobile-profile-role{font-size:var(--font-size-sm);color:var(--text-muted)}.navbar-mobile-profile-actions{gap:var(--spacing-xs);flex-direction:column;display:flex}.navbar-mobile-profile-link{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm);border-radius:var(--radius-sm);min-height:44px;transition:background var(--transition-fast), color var(--transition-fast);text-decoration:none;display:flex}.navbar-mobile-profile-link:hover{background:var(--bg-lighter);color:var(--primary);text-decoration:none}.navbar-mobile-profile-link i{text-align:center;width:20px}.navbar-mobile-profile-link.logout{color:var(--color-error)}.navbar-mobile-profile-link.logout:hover{background:#ef44441a}body.navbar-mobile-open{overflow:hidden}.footer{z-index:var(--z-base);background:var(--glass-bg);-webkit-backdrop-filter:saturate(1.8)blur(20px);border-top:1px solid var(--footer-border);box-shadow:inset 0 1px 0 var(--footer-highlight), var(--shadow-footer);padding:var(--spacing-2xl) 0 var(--spacing-xl);margin-top:auto;position:relative}.footer-content{gap:var(--spacing-2xl);margin-bottom:var(--spacing-xl);grid-template-columns:1.5fr repeat(3,1fr);display:grid}.footer-logo{width:auto;height:40px;margin-bottom:var(--spacing-md)}.footer-logo:hover{animation:pulse var(--animation-duration-fast) var(--ease-out-3)}.footer-section{flex-direction:column;display:flex}.footer-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--primary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.footer-section p{margin-bottom:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.footer-description{color:var(--text-tertiary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.footer-list{gap:var(--spacing-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.footer-list li{margin:0}.footer-list a{align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-xs) 0;transition:color var(--transition-fast), transform var(--transition-fast);text-decoration:none;display:inline-flex;position:relative}.footer-list a:after{content:"";background:var(--primary);transform-origin:0;width:100%;height:1px;transition:transform var(--transition-base);position:absolute;bottom:0;left:0;transform:scaleX(0)}.footer-list a:hover:after{transform:scaleX(1)}.footer-list a:hover{color:var(--primary);text-decoration:none;transform:translate(3px)}.footer-list a i{text-align:center;width:16px;color:var(--text-muted);transition:color var(--transition-fast)}.footer-list a:hover i{color:var(--primary)}.footer-bottom{align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light);flex-direction:column;display:flex}.footer-bottom p{color:var(--text-muted);font-size:var(--font-size-xs);margin:0}.footer-social{align-items:center;gap:var(--spacing-md);display:flex}.footer-social a{width:40px;height:40px;color:var(--text-secondary);font-size:var(--font-size-lg);border-radius:var(--radius-round);background:var(--bg-lighter);transition:color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:flex}.footer-social a:hover{color:var(--bg-white);background:var(--primary);text-decoration:none;transform:translateY(-3px)}.footer-legal{justify-content:center;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.footer-legal a{color:var(--text-tertiary);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);text-decoration:none}.footer-legal a:hover{color:var(--primary);background:var(--bg-lighter);text-decoration:none}.footer-legal-separator{color:var(--text-muted);font-size:var(--font-size-xs);user-select:none}.footer-copyright{color:var(--text-muted);font-size:var(--font-size-xs)}.footer-minimal{z-index:var(--z-base);background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--footer-border);box-shadow:inset 0 1px 0 var(--footer-highlight);padding:var(--spacing-md) var(--spacing-lg);margin-top:auto;position:relative}@supports not (backdrop-filter:blur(1px)){.navbar{background:#faf8f5f7}.footer,.footer-minimal{background:#fffdfafa}.modal-content,.toast,.tabs-dropdown-menu,.notification-dropdown{background:var(--bg-white)}.tooltip{background:var(--text-primary)}}.footer-minimal-content{justify-content:center;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.footer-minimal-text{color:var(--text-secondary);font-size:var(--font-size-xs)}.footer-minimal-separator{color:var(--border-medium);font-size:var(--font-size-xs);user-select:none}.footer-minimal-link{color:var(--text-tertiary);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);text-decoration:none}.footer-minimal-link:hover{color:var(--primary);background:var(--bg-lighter);text-decoration:none}.section{background:var(--bg-white);border-radius:var(--radius-xl) / var(--radius-xl-max);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);position:relative}.section-compact{padding:var(--spacing-lg)}.hero{min-height:50vh;padding:var(--spacing-4xl) var(--spacing-lg);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-background{z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.hero-background img{object-fit:cover;width:100%;height:100%}.hero-overlay{width:100%;height:100%;z-index:var(--z-base);background:var(--gradient-hero);position:absolute;top:0;left:0}.hero-content{z-index:calc(var(--z-base) + 1);text-align:center;max-width:800px;margin:0 auto;position:relative}.hero-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--bg-white);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--spacing-md);text-shadow:0 2px 8px #0003}.hero-subtitle{font-size:var(--font-size-lg);color:#ffffffe6;line-height:var(--line-height-relaxed)}@media (width<=768px){.page>main{padding-inline:var(--spacing-md)}.section-container{padding:0 var(--spacing-md)}h1{font-size:var(--font-size-h2)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}.navbar-menu,.navbar-user>:not(.navbar-toggle){display:none}.navbar-toggle{display:flex}.card{border-radius:var(--radius-md)}.card-header,.card-body{padding:var(--spacing-md)}.table-responsive{border-radius:var(--radius-md)}.table{font-size:var(--font-size-sm)}.table th,.table td{padding:var(--spacing-sm)}.btn-mobile-block{width:100%}.footer{padding:var(--spacing-xl) 0 var(--spacing-lg)}.footer-content{gap:var(--spacing-xl);text-align:center;grid-template-columns:1fr}.footer-section,.footer-list{align-items:center}.footer-list a:hover{transform:none}.footer-social a{width:44px;height:44px}.footer-legal{gap:var(--spacing-xs)}.footer-legal a{padding:var(--spacing-sm);align-items:center;min-height:44px;display:flex}.footer-minimal{padding:var(--spacing-md)}.footer-minimal-content{gap:var(--spacing-xs)}.footer-minimal-link{padding:var(--spacing-sm);align-items:center;min-height:44px;display:flex}.pagination{gap:var(--spacing-xs);flex-wrap:wrap}.form-group label{font-size:var(--font-size-sm)}.form-control{font-size:var(--font-size-md)}}@media (width>768px){.navbar-mobile-overlay,.navbar-mobile-panel{display:none!important}}@media (width>=768px) and (width<=1024px){.section-container{padding:0 var(--spacing-xl)}.card-header,.card-body{padding:var(--spacing-lg)}.navbar-menu{gap:var(--spacing-md)}}@media (width>=1024px){.card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.table th,.table td{padding:var(--spacing-lg)}.stat-card-icon{font-size:var(--font-size-4xl)}}@media (width>=1440px){.section-container{max-width:1400px}h1{font-size:var(--font-size-h2)}h2{font-size:var(--font-size-2xl)}}@media print{.navbar,.footer,.btn,.modal-overlay,.toast-container,.spinner-overlay{display:none!important}body{color:#000;background:#fff}.card{box-shadow:none;break-inside:avoid;border:1px solid #ccc}a{color:#000;text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slide-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes slide-down-subtle{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up-subtle{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-up-subtle{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes slide-out-down-subtle{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes zoom-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes reveal{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulse-pop{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.8}}@keyframes tilt{0%{transform:rotate(0)scale(1)}50%{transform:rotate(-8deg)scale(1.05)}to{transform:rotate(0)scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes wobble{0%,to{transform:translate(0)rotate(0)}15%{transform:translate(-10px)rotate(-5deg)}30%{transform:translate(10px)rotate(5deg)}45%{transform:translate(-10px)rotate(-3deg)}60%{transform:translate(10px)rotate(3deg)}75%{transform:translate(-5px)rotate(-1deg)}}@keyframes heart-beat{0%,to{transform:scale(1)}10%,30%{transform:scale(.9)}20%,40%{transform:scale(1.15)}}@keyframes bell-ring{0%,to{transform:rotate(0)}10%,30%,50%,70%{transform:rotate(15deg)}20%,40%,60%,80%{transform:rotate(-15deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spinner-grow{0%{opacity:0;transform:scale(0)}50%{opacity:1}to{opacity:0;transform:scale(1)}}@keyframes march{0%{transform:translateY(0)scaleY(.8)scaleX(1.15)}25%{transform:translateY(-12px)scaleY(1.1)scaleX(.95)}50%{transform:translateY(-16px)scaleY(1.05)scaleX(1)}75%{transform:translateY(-8px)scaleY(1.1)scaleX(.95)}to{transform:translateY(0)scaleY(.8)scaleX(1.15)}}@keyframes march-dots{0%,to{transform:translateY(0)scaleY(.75)scaleX(1.25)}20%{transform:translateY(-.3em)scaleY(1)scaleX(1)}50%{transform:translateY(-.65em)scaleY(1)scaleX(1)}80%{transform:translateY(-.3em)scaleY(1)scaleX(1)}}@keyframes vinyl-rotate{0%{rotate:0deg}to{rotate:360deg}}@keyframes vinyl-tilt{0%,to{filter:drop-shadow(0 6px 10px var(--loader-shadow));transform:rotateX(15deg)}50%{filter:drop-shadow(0 -3px 8px #8b73554d);transform:rotateX(-10deg)}}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes reveal-bottom{0%{opacity:0;transform:translateY(60px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes reveal-left{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes reveal-right{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes reveal-zoom{0%{opacity:0;transform:scale(.85)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}.animate-fade-in{animation:fade-in var(--animation-duration-base) var(--ease-out-3) backwards}.animate-slide-up{animation:slide-up var(--animation-duration-slow) var(--ease-out-3) backwards}.animate-slide-left{animation:slide-left var(--animation-duration-base) var(--ease-out-3) backwards}.animate-slide-right{animation:slide-right var(--animation-duration-base) var(--ease-out-3) backwards}.animate-scale-in{animation:scale-in var(--animation-duration-base) var(--ease-out-3) backwards}.animate-zoom-in{animation:zoom-in var(--animation-duration-base) var(--ease-out-3) backwards}.animate-reveal{animation:reveal var(--animation-duration-slow) var(--ease-out-3) backwards}.animate-shake{animation:shake-x var(--animation-duration-base) var(--ease-out-3)}.hover-bounce:hover{animation:bounce var(--animation-duration-base) var(--ease-out-3)}.hover-pulse:hover{animation:pulse var(--animation-duration-fast) var(--ease-out-3)}.hover-wiggle:hover{animation:wiggle var(--animation-duration-base) var(--ease-out-3)}.hover-wobble:hover{animation:wobble var(--animation-duration-base) var(--ease-out-3)}.hover-tilt:hover{animation:tilt var(--animation-duration-base) var(--ease-out-3)}.hover-float:hover{animation:float 2s var(--ease-in-out-3) infinite}.icon-heart-beat{animation:heart-beat var(--animation-duration-slower) var(--ease-out-3) infinite}.icon-bell-ring{animation:bell-ring var(--animation-duration-slow) var(--ease-out-3)}.action-download:hover i,.action-download:hover,button:hover>.action-download,.btn:hover>.action-download,.btn-icon:hover>.action-download,a:hover>.action-download{animation:bounce var(--animation-duration-base) var(--ease-bounce-2)}.action-delete:hover i,.action-delete:hover,button:hover>.action-delete,.btn:hover>.action-delete,.btn-icon:hover>.action-delete,a:hover>.action-delete{animation:wobble var(--animation-duration-base) var(--ease-out-3)}.action-edit:hover i,.action-edit:hover,button:hover>.action-edit,.btn:hover>.action-edit,.btn-icon:hover>.action-edit,a:hover>.action-edit{animation:pulse var(--animation-duration-fast) var(--ease-out-3)}.scroll-reveal{opacity:0}.scroll-reveal.is-visible{animation:reveal-bottom var(--animation-duration-slow) var(--ease-out-3) forwards}.scroll-reveal-left{opacity:0}.scroll-reveal-left.is-visible{animation:reveal-left var(--animation-duration-slow) var(--ease-out-3) forwards}.scroll-reveal-right{opacity:0}.scroll-reveal-right.is-visible{animation:reveal-right var(--animation-duration-slow) var(--ease-out-3) forwards}.scroll-reveal-zoom{opacity:0}.scroll-reveal-zoom.is-visible{animation:reveal-zoom var(--animation-duration-slow) var(--ease-out-3) forwards}.scroll-stack-container{position:relative}.scroll-stack-card{margin-bottom:var(--spacing-2xl);border-radius:var(--radius-2xl) / var(--radius-2xl-max);padding:var(--spacing-2xl);box-shadow:var(--shadow-md);transition:transform .3s var(--ease-3), box-shadow .3s var(--ease-3);background:#fff;position:sticky;top:80px}.scroll-stack-card:first-child{z-index:var(--z-above)}.scroll-stack-card:nth-child(2){z-index:9;top:90px}.scroll-stack-card:nth-child(3){z-index:8;top:100px}.scroll-stack-card:nth-child(4){z-index:7;top:110px}.scroll-stack-card:nth-child(5){z-index:6;top:120px}.scroll-stack-card:hover{box-shadow:var(--shadow-lg);transform:scale(1.02)}.scroll-stack-card.is-stacking{opacity:.8;filter:brightness(.95);transform:scale(.95)}.scroll-stack-card.is-unstacked{opacity:.5;transform:scale(.9)}.scroll-stack-card.color-1{background:var(--gradient-blue);color:#fff}.scroll-stack-card.color-2{background:var(--gradient-green);color:#fff}.scroll-stack-card.color-3{background:var(--gradient-amber);color:#fff}.scroll-stack-card.color-4{background:var(--gradient-violet);color:#fff}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.animate-fast{animation-duration:.3s!important}.animate-slow{animation-duration:1s!important}.animate-slower{animation-duration:1.5s!important}.animate-infinite{animation-iteration-count:infinite}.animate-fade-in,.animate-slide-up,.animate-slide-left,.animate-slide-right,.animate-scale-in,.animate-zoom-in,.animate-reveal,.scroll-reveal,.scroll-reveal-left,.scroll-reveal-right,.scroll-reveal-zoom{will-change:opacity, transform}@keyframes branch-signal-rtl{0%{background-position:33% 0}to{background-position:100% 0}}@keyframes branch-signal-ltr{0%{background-position:67% 0}to{background-position:0 0}}@keyframes branch-signal-down{0%{background-position:0 33%}to{background-position:0 100%}}@keyframes branch-signal-up{0%{background-position:0 67%}to{background-position:0 0}}.fac{vertical-align:-.125em;background-color:currentColor;flex-shrink:0;width:1em;height:1em;font-style:normal;display:inline-block}.fac-shield-xmark{mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--%20Custom%20icon:%20shield%20with%20xmark%20cutout.%20Shield%20path:%20Font%20Awesome%20Free%207.1.0%20(CC%20BY%204.0)%20X%20mark:%20two%20stroked%20lines%20with%20round%20linecaps,%20masked%20out%20of%20the%20shield.%20--%3e%3cdefs%3e%3cmask%20id='shield-xmark-mask'%3e%3crect%20width='512'%20height='512'%20fill='white'/%3e%3cline%20x1='206'%20y1='190'%20x2='306'%20y2='290'%20stroke='black'%20stroke-width='48'%20stroke-linecap='round'/%3e%3cline%20x1='306'%20y1='190'%20x2='206'%20y2='290'%20stroke='black'%20stroke-width='48'%20stroke-linecap='round'/%3e%3c/mask%3e%3c/defs%3e%3cpath%20mask='url(%23shield-xmark-mask)'%20fill='currentColor'%20d='M256%200c4.6%200%209.2%201%2013.4%202.9L457.8%2082.8c22%209.3%2038.4%2031%2038.3%2057.2-.5%2099.2-41.3%20280.7-213.6%20363.2-16.7%208-36.1%208-52.8%200-172.4-82.5-213.1-264-213.6-363.2-.1-26.2%2016.3-47.9%2038.3-57.2L242.7%202.9C246.9%201%20251.4%200%20256%200z'%20/%3e%3c/svg%3e") 50%/contain no-repeat}.fac-calendar-music{mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--%20Custom%20icon:%20calendar%20with%20music%20note%20cutout.%20Calendar%20path:%20Font%20Awesome%20Free%207.1.0,%20solid/calendar.svg%20(CC%20BY%204.0)%20Music%20path:%20Font%20Awesome%20Free%207.1.0,%20solid/music.svg%20(CC%20BY%204.0),%20masked%20out%20--%3e%3cdefs%3e%3cmask%20id='calendar-music-mask'%3e%3crect%20width='448'%20height='512'%20fill='white'/%3e%3c!--%20Music%20note%20cut%20out%20from%20calendar%20body,%20centered%20in%20lower%20area%20--%3e%3cg%20transform='translate(117,%20245)%20scale(0.42)'%3e%3cpath%20d='M468%207c7.6%206.1%2012%2015.3%2012%2025l0%20304c0%2044.2-43%2080-96%2080s-96-35.8-96-80%2043-80%2096-80c11.2%200%2022%201.6%2032%204.6l0-116.7-224%2049.8%200%20206.3c0%2044.2-43%2080-96%2080s-96-35.8-96-80%2043-80%2096-80c11.2%200%2022%201.6%2032%204.6L128%2096c0-15%2010.4-28%2025.1-31.2l288-64c9.5-2.1%2019.4%20.2%2027%206.3z'%20fill='black'/%3e%3c/g%3e%3c/mask%3e%3c/defs%3e%3cpath%20mask='url(%23calendar-music-mask)'%20fill='currentColor'%20d='M128%200C110.3%200%2096%2014.3%2096%2032l0%2032-32%200C28.7%2064%200%2092.7%200%20128l0%2048%20448%200%200-48c0-35.3-28.7-64-64-64l-32%200%200-32c0-17.7-14.3-32-32-32s-32%2014.3-32%2032l0%2032-128%200%200-32c0-17.7-14.3-32-32-32zM0%20224L0%20416c0%2035.3%2028.7%2064%2064%2064l320%200c35.3%200%2064-28.7%2064-64l0-192-448%200z'%20/%3e%3c/svg%3e") 50%/contain no-repeat}.fac-user-music{mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20600%20560'%3e%3c!--%20Custom%20icon:%20user%20with%20music%20note%20badge%20(bottom-right).%20User%20path:%20Font%20Awesome%20Free%207.1.0,%20solid/user.svg%20(CC%20BY%204.0)%20Music%20path:%20Font%20Awesome%20Free%207.1.0,%20solid/music.svg%20(CC%20BY%204.0),%20scaled%20--%3e%3cdefs%3e%3c!--%20Two-shape%20mask:%201.%20Rectangle%20—%20clears%20user%20in%20the%20stem+beam%20zone%20of%20the%20note%202.%20Circle%20—%20clears%20user%20for%20the%20left%20note-head%20that%20sits%20below/left%20of%20the%20rectangle%20--%3e%3cmask%20id='user-music-mask'%3e%3crect%20width='600'%20height='560'%20fill='white'/%3e%3c!--%20Zone%201:%20rectangle%20for%20stem%20+%20beam%20(upper-right%20portion%20of%20badge)%20--%3e%3crect%20x='320'%20y='248'%20width='200'%20height='2000'%20fill='black'/%3e%3c!--%20Zone%202:%20ellipse%20for%20left%20note-head%20(slightly%20wider%20than%20tall,%20like%20a%20note%20head)%20--%3e%3cellipse%20cx='355'%20cy='494'%20rx='115'%20ry='95'%20fill='black'/%3e%3c/mask%3e%3c/defs%3e%3c!--%20User%20silhouette%20with%20transparent%20cutouts%20where%20the%20note%20badge%20sits%20--%3e%3cpath%20mask='url(%23user-music-mask)'%20fill='currentColor'%20d='M224%20248a120%20120%200%201%200%200-240%20120%20120%200%201%200%200%20240zm-29.7%2056C95.8%20304%2016%20383.8%2016%20482.3%2016%20498.7%2029.3%20512%2045.7%20512l356.6%200c16.4%200%2029.7-13.3%2029.7-29.7%200-98.5-79.8-178.3-178.3-178.3l-59.4%200z'%20/%3e%3c!--%20Music%20note%20badge,%20drawn%20on%20top%20of%20the%20cleared%20zone%20--%3e%3cg%20transform='translate(288,%20240)%20scale(0.635)'%3e%3cpath%20fill='currentColor'%20d='M468%207c7.6%206.1%2012%2015.3%2012%2025l0%20304c0%2044.2-43%2080-96%2080s-96-35.8-96-80%2043-80%2096-80c11.2%200%2022%201.6%2032%204.6l0-116.7-224%2049.8%200%20206.3c0%2044.2-43%2080-96%2080s-96-35.8-96-80%2043-80%2096-80c11.2%200%2022%201.6%2032%204.6L128%2096c0-15%2010.4-28%2025.1-31.2l288-64c9.5-2.1%2019.4%20.2%2027%206.3z'%20/%3e%3c/g%3e%3c/svg%3e") 50%/contain no-repeat}
