:root{--brand: #006b54;--brand-600: #005443;--brand-contrast: #ffffff;--brand-rgb: 0, 107, 84;--accent: #F2B705;--accent-600: #D09E05;--accent-contrast: #1f2937;--purple: #7B68A6;--purple-600: #6B5896;--purple-contrast: #ffffff;--navy: #1E3A5F;--navy-600: #152B47;--navy-contrast: #ffffff;--success: #10b981;--success-600: #059669;--warning: #f59e0b;--warning-600: #d97706;--danger: #ef4444;--danger-600: #dc2626;--info: #3b82f6;--info-600: #2563eb;--bg: #f9fafb;--surface: #ffffff;--neutral-50: #f9fafb;--neutral-100: #f3f4f6;--neutral-200: #e5e7eb;--neutral-300: #d1d5db;--neutral-400: #9ca3af;--neutral-500: #6b7280;--neutral-600: #4b5563;--neutral-700: #374151;--neutral-800: #1f2937;--neutral-900: #111827;--text-primary: #1f2937;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--link: var(--brand);--link-hover: var(--brand-600);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--bg-primary: var(--surface);--bg-secondary: var(--neutral-50);--border: var(--neutral-200)}[data-theme=dark]{--brand: #00a87e;--brand-600: #006b54;--brand-contrast: #ffffff;--brand-rgb: 0, 168, 126;--accent: #F2B705;--accent-600: #D09E05;--accent-contrast: #0b1114;--purple: #8F7BB8;--purple-600: #7B68A6;--purple-contrast: #ffffff;--navy: #3B5A87;--navy-600: #2A4566;--navy-contrast: #ffffff;--success: #10b981;--success-600: #059669;--warning: #f59e0b;--warning-600: #d97706;--danger: #ef4444;--danger-600: #dc2626;--info: #3b82f6;--info-600: #2563eb;--bg: #0b1114;--surface: #1f2937;--neutral-50: #1f2937;--neutral-100: #374151;--neutral-200: #4b5563;--neutral-300: #6b7280;--neutral-400: #9ca3af;--neutral-500: #d1d5db;--neutral-600: #e5e7eb;--neutral-700: #f3f4f6;--neutral-800: #f9fafb;--neutral-900: #ffffff;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--link: #00B8C4;--link-hover: #00D4E0;--bg-primary: var(--surface);--bg-secondary: var(--neutral-50);--border: var(--neutral-200)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text-primary);font-size:16px;line-height:1.6;-webkit-overflow-scrolling:touch}button,a,input[type=button],input[type=submit],input[type=checkbox],input[type=radio],select{min-height:44px;min-width:44px;cursor:pointer}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=url],textarea{min-height:44px;min-width:auto}h1,h2,h3,h4,h5,h6{color:var(--navy);font-weight:700;line-height:1.3;letter-spacing:-.02em;margin-bottom:.5em}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6{color:var(--text-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}a:focus-visible{outline:2px solid rgba(var(--brand-rgb),.5);outline-offset:2px;border-radius:2px}@media (max-width: 768px){body{font-size:16px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}}@media (max-width: 1024px) and (min-width: 769px){h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}}.toast{display:flex;align-items:center;gap:var(--space-md, 1rem);min-width:300px;max-width:500px;padding:var(--space-md, 1rem) var(--space-lg, 1.5rem);background:var(--bg-primary, #ffffff);border-radius:var(--radius-lg, .5rem);box-shadow:var(--shadow-lg, 0 10px 15px rgba(0, 0, 0, .1)),0 0 0 1px #0000000d;animation:toast-enter .3s cubic-bezier(.21,1.02,.73,1) forwards;pointer-events:auto}[data-theme=dark] .toast{background:var(--gray-800, #1f2937);box-shadow:var(--shadow-lg, 0 10px 15px rgba(0, 0, 0, .3)),0 0 0 1px #ffffff1a}@keyframes toast-enter{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast__message{flex:1;font-size:var(--text-sm, .875rem);line-height:var(--leading-normal, 1.5);color:var(--text-primary);word-break:break-word}[data-theme=dark] .toast__message{color:var(--text-primary-dark, #f9fafb)}.toast__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;color:var(--text-secondary, #6b7280);cursor:pointer;border-radius:var(--radius-sm, .25rem);transition:var(--transition-fast, .15s ease-in-out);transition-property:color,background-color}.toast__close:hover{color:var(--text-primary);background:var(--gray-100, #f3f4f6)}[data-theme=dark] .toast__close:hover{color:var(--text-primary-dark, #f9fafb);background:var(--gray-700, #374151)}.toast__close:focus-visible{outline:2px solid var(--brand, #0e6c55);outline-offset:2px}.toast--success{border-left:4px solid var(--success, #10b981)}.toast--success .toast__icon{color:var(--success, #10b981)}.toast--error{border-left:4px solid var(--danger, #ef4444)}.toast--error .toast__icon{color:var(--danger, #ef4444)}.toast--warning{border-left:4px solid var(--warning, #f59e0b)}.toast--warning .toast__icon{color:var(--warning, #f59e0b)}.toast--info{border-left:4px solid var(--info, #3b82f6)}.toast--info .toast__icon{color:var(--info, #3b82f6)}@media (max-width: 640px){.toast{min-width:auto;max-width:calc(100vw - 2rem);padding:var(--space-sm, .5rem) var(--space-md, 1rem)}.toast__message{font-size:var(--text-xs, .75rem)}}.toast-container{position:fixed;top:5rem;right:1rem;z-index:var(--z-tooltip, 1070);display:flex;flex-direction:column;gap:var(--space-md, 1rem);pointer-events:none;max-width:calc(100vw - 2rem)}@media (max-width: 640px){.toast-container{top:4.5rem;right:.5rem;left:.5rem;max-width:none}}.skip-link{position:absolute;top:-40px;left:0;background:var(--brand);color:var(--brand-contrast);padding:.5rem 1rem;text-decoration:none;font-weight:600;z-index:var(--z-tooltip, 1070);border-radius:0 0 var(--radius-md) 0}.skip-link:focus{top:0;outline:2px solid var(--brand);outline-offset:2px}.navigation{background:var(--brand);box-shadow:0 2px 8px #00000026;position:sticky;top:0;z-index:100}.nav-container{max-width:1280px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-brand{font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none;letter-spacing:-.02em;display:flex;align-items:center;gap:.75rem}.nav-brand:hover{color:#fff;text-decoration:none;opacity:.9}.nav-brand-text{white-space:nowrap}.mobile-menu-toggle{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:6px;transition:background .2s ease;width:44px;height:44px;align-items:center;justify-content:center}.mobile-menu-toggle:hover{background:#ffffff26}.mobile-menu-toggle:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.nav-right{display:flex;align-items:center;gap:1.25rem}.nav-right a{color:#fff;font-weight:500;text-decoration:none;padding:.5rem .75rem;border-radius:6px;transition:all .2s ease}.nav-right a:hover{color:#fff;background:#ffffff26;text-decoration:none}.nav-user{color:#fff;display:flex;align-items:center;gap:.5rem;font-weight:500}.admin-badge{background:var(--purple);color:#fff;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.nav-logout{padding:.5rem 1rem;background:var(--danger);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease}.nav-logout:hover{background:var(--danger-600);transform:translateY(-1px);box-shadow:0 2px 6px #ef44444d}.nav-login{color:var(--brand);font-weight:600;text-decoration:none;padding:.5rem 1rem;background:rgba(var(--brand-rgb),.1);border-radius:6px;transition:all .2s ease}.nav-login:hover{background:rgba(var(--brand-rgb),.2);color:var(--brand);text-decoration:none}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s ease}.theme-toggle:hover{border-color:#fff6;background:#ffffff26;color:#fff}.theme-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (max-width: 768px){.nav-container{padding:.875rem 1rem;position:relative}.nav-brand{font-size:1.25rem;flex:1}.nav-brand-text{font-size:1.125rem}.mobile-menu-toggle{display:flex}.nav-right{position:absolute;top:100%;left:0;right:0;background:var(--brand);flex-direction:column;align-items:stretch;padding:1rem;gap:.5rem;box-shadow:0 4px 12px #00000026;max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .3s ease,padding .3s ease}.nav-right.mobile-menu-open{max-height:500px;opacity:1;padding:1rem}.nav-right a{color:#fff;font-size:1rem;padding:.75rem 1rem;border-radius:6px;text-align:left;width:100%;display:block}.nav-right a:hover{background:#ffffff26}.theme-toggle{width:44px;height:44px;align-self:flex-start}.nav-user{padding:1rem 1rem .75rem;display:block;width:100%;color:#fff;border-top:1px solid rgba(255,255,255,.2);margin-top:.5rem}.admin-badge{display:block;margin-top:.5rem;width:fit-content}.nav-logout{padding:.75rem 1rem;font-size:1rem;width:100%;margin-top:.5rem}}@media (max-width: 1024px) and (min-width: 769px){.nav-container{padding:.875rem 1.5rem}.nav-brand-text{display:none}.nav-right{gap:1rem}.nav-right a{font-size:.9375rem;padding:.5rem .75rem}}.form-field{margin-bottom:var(--space-lg, 1.5rem);width:100%}.form-field__label{display:block;font-size:var(--text-sm, .875rem);font-weight:var(--font-medium, 500);color:var(--text-primary);margin-bottom:var(--space-sm, .5rem);line-height:var(--leading-tight, 1.25)}.form-field__required{color:var(--danger, #ef4444);margin-left:.25rem;font-weight:var(--font-semibold, 600)}.form-field__input-wrapper{position:relative;display:flex;align-items:center}.form-field__input,.form-field__textarea{width:100%;padding:.625rem 1rem;font-size:var(--text-base, 1rem);line-height:var(--leading-normal, 1.5);color:var(--text-primary);background:var(--input-bg, #ffffff);border:1px solid var(--input-border, #d1d5db);border-radius:var(--radius-md, .375rem);transition:var(--transition-base, .2s ease-in-out);transition-property:border-color,box-shadow,background-color}[data-theme=dark] .form-field__input,[data-theme=dark] .form-field__textarea{background:var(--input-bg-dark, #1f2937);border-color:var(--input-border-dark, #374151);color:var(--text-primary-dark, #f9fafb)}.form-field__input:focus,.form-field__textarea:focus{outline:none;border-color:var(--brand, #0e6c55);box-shadow:0 0 0 3px #0e6c551a}.form-field__input:disabled,.form-field__textarea:disabled{background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280);cursor:not-allowed;opacity:.7}[data-theme=dark] .form-field__input:disabled,[data-theme=dark] .form-field__textarea:disabled{background:var(--gray-800, #1f2937);color:var(--gray-400, #9ca3af)}.form-field--success .form-field__input{border-color:var(--success, #10b981);padding-right:2.5rem}.form-field--success .form-field__input:focus{border-color:var(--success, #10b981);box-shadow:0 0 0 3px #10b9811a}.form-field__success-icon{position:absolute;right:.75rem;display:flex;align-items:center;color:var(--success, #10b981);pointer-events:none}.form-field--error .form-field__input,.form-field--error .form-field__textarea{border-color:var(--danger, #ef4444)}.form-field--error .form-field__input:focus,.form-field--error .form-field__textarea:focus{border-color:var(--danger, #ef4444);box-shadow:0 0 0 3px #ef44441a}.form-field__error{margin-top:var(--space-sm, .5rem);font-size:var(--text-sm, .875rem);color:var(--danger, #ef4444);display:flex;align-items:flex-start;gap:.375rem;line-height:var(--leading-normal, 1.5)}.form-field__error svg{flex-shrink:0;margin-top:.125rem}.form-field__helper{margin-top:var(--space-sm, .5rem);font-size:var(--text-sm, .875rem);color:var(--text-secondary, #6b7280);line-height:var(--leading-normal, 1.5)}[data-theme=dark] .form-field__helper{color:var(--text-secondary-dark, #9ca3af)}.form-field__textarea{resize:vertical;min-height:100px}@media (max-width: 640px){.form-field{margin-bottom:var(--space-md, 1rem)}.form-field__input,.form-field__textarea{font-size:16px}}.password-field{margin-bottom:var(--space-lg, 1.5rem);width:100%}.password-field__label{display:block;font-size:var(--text-sm, .875rem);font-weight:var(--font-medium, 500);color:var(--text-primary);margin-bottom:var(--space-sm, .5rem);line-height:var(--leading-tight, 1.25)}.password-field__required{color:var(--danger, #ef4444);margin-left:.25rem;font-weight:var(--font-semibold, 600)}.password-field__input-wrapper{position:relative;display:flex;align-items:center}.password-field__input{width:100%;padding:.625rem 3rem .625rem 1rem;font-size:var(--text-base, 1rem);line-height:var(--leading-normal, 1.5);color:var(--text-primary);background:var(--input-bg, #ffffff);border:1px solid var(--input-border, #d1d5db);border-radius:var(--radius-md, .375rem);transition:var(--transition-base, .2s ease-in-out);transition-property:border-color,box-shadow,background-color}[data-theme=dark] .password-field__input{background:var(--input-bg-dark, #1f2937);border-color:var(--input-border-dark, #374151);color:var(--text-primary-dark, #f9fafb)}.password-field__input:focus{outline:none;border-color:var(--brand, #0e6c55);box-shadow:0 0 0 3px #0e6c551a}.password-field__input:disabled{background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280);cursor:not-allowed;opacity:.7}[data-theme=dark] .password-field__input:disabled{background:var(--gray-800, #1f2937);color:var(--gray-400, #9ca3af)}.password-field__toggle{position:absolute;right:.75rem;display:flex;align-items:center;justify-content:center;padding:.375rem;background:none;border:none;color:var(--text-secondary, #6b7280);cursor:pointer;border-radius:var(--radius-sm, .25rem);transition:var(--transition-fast, .15s ease-in-out);transition-property:color,background-color}.password-field__toggle:hover:not(:disabled){color:var(--text-primary);background:var(--gray-100, #f3f4f6)}[data-theme=dark] .password-field__toggle:hover:not(:disabled){background:var(--gray-700, #374151);color:var(--text-primary-dark, #f9fafb)}.password-field__toggle:focus-visible{outline:2px solid var(--brand, #0e6c55);outline-offset:2px}.password-field__toggle:disabled{opacity:.5;cursor:not-allowed}.password-field--error .password-field__input{border-color:var(--danger, #ef4444)}.password-field--error .password-field__input:focus{border-color:var(--danger, #ef4444);box-shadow:0 0 0 3px #ef44441a}.password-field__error{margin-top:var(--space-sm, .5rem);font-size:var(--text-sm, .875rem);color:var(--danger, #ef4444);display:flex;align-items:flex-start;gap:.375rem;line-height:var(--leading-normal, 1.5)}.password-field__error svg{flex-shrink:0;margin-top:.125rem}.password-field__helper{margin-top:var(--space-sm, .5rem);font-size:var(--text-sm, .875rem);color:var(--text-secondary, #6b7280);line-height:var(--leading-normal, 1.5)}[data-theme=dark] .password-field__helper{color:var(--text-secondary-dark, #9ca3af)}.password-field__strength{margin-top:var(--space-sm, .5rem);display:flex;align-items:center;gap:var(--space-sm, .5rem)}.password-field__strength-bars{display:flex;gap:.25rem;flex:1}.password-field__strength-bar{height:4px;flex:1;background:var(--gray-200, #e5e7eb);border-radius:var(--radius-full, 9999px);transition:background-color var(--transition-base, .2s ease-in-out)}[data-theme=dark] .password-field__strength-bar{background:var(--gray-700, #374151)}.password-field__strength-label{font-size:var(--text-xs, .75rem);font-weight:var(--font-medium, 500);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}@media (max-width: 640px){.password-field{margin-bottom:var(--space-md, 1rem)}.password-field__input{font-size:16px}}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm, .5rem);font-family:inherit;font-weight:var(--font-semibold, 600);text-align:center;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-md, .375rem);cursor:pointer;transition:var(--transition-base, .2s ease-in-out);transition-property:background-color,border-color,color,box-shadow,transform;-webkit-user-select:none;user-select:none}.button:focus-visible{outline:2px solid var(--brand, #0e6c55);outline-offset:2px}.button--small{padding:.375rem .75rem;font-size:var(--text-sm, .875rem);line-height:var(--leading-tight, 1.25)}.button--medium{padding:.625rem 1.25rem;font-size:var(--text-base, 1rem);line-height:var(--leading-normal, 1.5)}.button--large{padding:.75rem 1.5rem;font-size:var(--text-lg, 1.125rem);line-height:var(--leading-normal, 1.5)}.button--primary{background:var(--brand, #0e6c55);color:var(--brand-contrast, #ffffff);border-color:var(--brand, #0e6c55)}.button--primary:hover:not(:disabled){background:var(--brand-hover, #0a5443);border-color:var(--brand-hover, #0a5443);transform:translateY(-1px);box-shadow:0 2px 8px #0e6c554d}.button--primary:active:not(:disabled){transform:translateY(0)}.button--secondary{background:var(--gray-100, #f3f4f6);color:var(--text-primary, #111827);border-color:var(--gray-300, #d1d5db)}[data-theme=dark] .button--secondary{background:var(--gray-700, #374151);color:var(--text-primary-dark, #f9fafb);border-color:var(--gray-600, #4b5563)}.button--secondary:hover:not(:disabled){background:var(--gray-200, #e5e7eb);border-color:var(--gray-400, #9ca3af)}[data-theme=dark] .button--secondary:hover:not(:disabled){background:var(--gray-600, #4b5563);border-color:var(--gray-500, #6b7280)}.button--danger{background:var(--danger, #ef4444);color:#fff;border-color:var(--danger, #ef4444)}.button--danger:hover:not(:disabled){background:var(--danger-600, #dc2626);border-color:var(--danger-600, #dc2626);transform:translateY(-1px);box-shadow:0 2px 8px #ef44444d}.button--ghost{background:transparent;color:var(--text-primary);border-color:transparent}.button--ghost:hover:not(:disabled){background:var(--gray-100, #f3f4f6)}[data-theme=dark] .button--ghost{color:var(--text-primary-dark, #f9fafb)}[data-theme=dark] .button--ghost:hover:not(:disabled){background:var(--gray-700, #374151)}.button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.button--loading{cursor:wait}.button__spinner{display:inline-flex;animation:button-spin 1s linear infinite}@keyframes button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button__content--loading{opacity:.7}.button--full-width{width:100%}@media (max-width: 640px){.button--small{min-height:36px}.button--medium{min-height:44px}.button--large{min-height:48px}}.modal-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop, 1040);display:flex;align-items:center;justify-content:center;padding:var(--space-md, 1rem);animation:modal-backdrop-enter .2s ease-out}@keyframes modal-backdrop-enter{0%{opacity:0}to{opacity:1}}[data-theme=dark] .modal-backdrop{background:#000000b3}.modal{background:#fff;border-radius:var(--radius-lg, .5rem);box-shadow:var(--shadow-xl, 0 20px 25px rgba(0, 0, 0, .15));max-height:calc(100vh - 2rem);display:flex;flex-direction:column;animation:modal-enter .3s cubic-bezier(.21,1.02,.73,1);opacity:1}@keyframes modal-enter{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}[data-theme=dark] .modal{background:var(--gray-800, #1f2937)}.modal:focus{outline:none}.modal--small{width:100%;max-width:400px}.modal--medium{width:100%;max-width:600px}.modal--large{width:100%;max-width:900px}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md, 1rem);padding:var(--space-lg, 1.5rem);border-bottom:1px solid var(--gray-200, #e5e7eb);background:#fff}[data-theme=dark] .modal__header{border-bottom-color:var(--gray-700, #374151);background:#1f2937}.modal__title{margin:0;font-size:var(--text-xl, 1.25rem);font-weight:var(--font-semibold, 600);color:#1f2937;line-height:var(--leading-tight, 1.25)}[data-theme=dark] .modal__title{color:#f9fafb}.modal__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:none;border:none;color:var(--text-secondary, #6b7280);cursor:pointer;border-radius:var(--radius-md, .375rem);transition:var(--transition-fast, .15s ease-in-out);transition-property:color,background-color}.modal__close:hover{color:var(--text-primary);background:var(--gray-100, #f3f4f6)}[data-theme=dark] .modal__close{color:var(--text-secondary-dark, #9ca3af)}[data-theme=dark] .modal__close:hover{color:var(--text-primary-dark, #f9fafb);background:var(--gray-700, #374151)}.modal__close:focus-visible{outline:2px solid var(--brand, #0e6c55);outline-offset:2px}.modal__content{padding:var(--space-lg, 1.5rem);overflow-y:auto;flex:1;background:#fff}[data-theme=dark] .modal__content{background:#1f2937}.modal__content>:first-child{margin-top:0}.modal__content>:last-child{margin-bottom:0}.modal__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-md, 1rem);padding-top:var(--space-lg, 1.5rem);margin-top:var(--space-lg, 1.5rem);border-top:1px solid var(--gray-200, #e5e7eb)}[data-theme=dark] .modal__actions{border-top-color:var(--gray-700, #374151)}@media (max-width: 640px){.modal-backdrop{padding:var(--space-sm, .5rem)}.modal--small,.modal--medium,.modal--large{max-width:none}.modal__header,.modal__content{padding:var(--space-md, 1rem)}.modal__title{font-size:var(--text-lg, 1.125rem)}.modal__actions{flex-direction:column-reverse;gap:var(--space-sm, .5rem)}.modal__actions>*{width:100%}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--brand) 0%,var(--navy) 100%);padding:1rem}.login-card{background:var(--surface);padding:2.5rem;border-radius:12px;box-shadow:0 8px 24px #00000026;width:100%;max-width:420px}.login-card h1{color:var(--navy);text-align:center;margin-bottom:.5rem;font-size:2rem;font-weight:700}[data-theme=dark] .login-card h1{color:var(--brand)}.login-card h2{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:1.125rem;font-weight:500}.session-expired-notice{color:var(--warning-700, #92400e);background:#f59e0b26;border:1px solid var(--warning, #f59e0b);padding:.875rem;border-radius:8px;margin-bottom:1.25rem;font-weight:500;text-align:center;font-size:.9375rem}[data-theme=dark] .session-expired-notice{color:var(--warning-300, #fcd34d);background:#f59e0b33}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-group input{width:100%;padding:.875rem;border:1px solid var(--neutral-300);border-radius:8px;font-size:1rem;box-sizing:border-box;background:var(--surface);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00a3ad1a}.forgot-password-link{background:none;border:none;color:var(--brand);cursor:pointer;text-decoration:underline;font-size:.9375rem;padding:0;margin-bottom:1.25rem;display:block;text-align:center;width:100%;font-weight:500}.forgot-password-link:hover{color:var(--brand-600)}.login-notice{margin-top:1.5rem;padding:1rem;background:#00a3ad1a;border:1px solid rgba(0,163,173,.2);border-radius:8px;text-align:center}.login-notice p{color:var(--text-secondary);font-size:.875rem;margin:0;line-height:1.5}[data-theme=dark] .login-notice{background:#00a3ad26;border-color:#00a3ad4d}.modal-description{margin:0 0 var(--space-lg, 1.5rem);font-size:var(--text-sm, .875rem);color:var(--text-secondary);line-height:var(--leading-normal, 1.5)}[data-theme=dark] .modal-description{color:var(--text-secondary-dark, #9ca3af)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--surface);padding:2rem;border-radius:12px;box-shadow:0 8px 32px #0003;width:100%;max-width:480px;margin:1rem}.modal-content h2{color:var(--navy);margin-bottom:1rem;font-size:1.5rem;font-weight:600}[data-theme=dark] .modal-content h2{color:var(--text-primary)}.modal-content p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.modal-actions button{flex:1}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{width:100%;padding:.875rem;background:var(--brand);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;font-weight:600;margin-bottom:1rem;transition:all .2s ease;box-shadow:0 2px 4px #00a3ad33}.btn-secondary{width:100%;padding:.875rem;background:transparent;color:var(--brand);border:2px solid var(--brand);border-radius:8px;font-size:1rem;cursor:pointer;font-weight:600;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#00a3ad0d;border-color:var(--brand-600)}@media (max-width: 480px){.login-card{padding:2rem 1.5rem}.login-card h1{font-size:1.75rem}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl, 4rem) var(--space-xl, 2rem);text-align:center;min-height:20rem}.empty-state-icon{font-size:4rem;margin-bottom:var(--space-lg, 1.5rem);opacity:.5;line-height:1}.empty-state-icon svg{width:4rem;height:4rem;color:var(--text-secondary, #6b7280)}.empty-state-title{font-size:var(--text-2xl, 1.5rem);font-weight:var(--font-semibold, 600);margin:0 0 var(--space-md, 1rem) 0;color:var(--text-primary, #111827)}[data-theme=dark] .empty-state-title{color:var(--text-primary-dark, #f9fafb)}.empty-state-description{font-size:var(--text-base, 1rem);color:var(--text-secondary, #6b7280);max-width:32rem;margin:0 0 var(--space-xl, 2rem) 0;line-height:var(--leading-relaxed, 1.75)}[data-theme=dark] .empty-state-description{color:var(--text-secondary-dark, #9ca3af)}.empty-state-actions{display:flex;gap:var(--space-md, 1rem);flex-wrap:wrap;justify-content:center}.empty-state-actions button{min-width:8rem}@media (max-width: 640px){.empty-state{padding:var(--space-2xl, 3rem) var(--space-md, 1rem);min-height:16rem}.empty-state-icon{font-size:3rem}.empty-state-icon svg{width:3rem;height:3rem}.empty-state-title{font-size:var(--text-xl, 1.25rem)}.empty-state-description{font-size:var(--text-sm, .875rem)}.empty-state-actions{flex-direction:column;width:100%}.empty-state-actions button{width:100%}}.skeleton{background:linear-gradient(90deg,var(--skeleton-base, #f0f0f0) 25%,var(--skeleton-shimmer, #e0e0e0) 50%,var(--skeleton-base, #f0f0f0) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm, .25rem)}[data-theme=dark] .skeleton{--skeleton-base: #2d3748;--skeleton-shimmer: #4a5568}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem;width:100%;margin-bottom:.5rem}.skeleton-text:last-child{margin-bottom:0}.skeleton-circular{border-radius:50%;width:3rem;height:3rem}.skeleton-rectangular{width:100%;height:8rem}.skeleton-card-wrapper{border-radius:var(--radius-md, .5rem);overflow:hidden;background:var(--bg-secondary, #ffffff);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}[data-theme=dark] .skeleton-card-wrapper{background:var(--bg-secondary-dark, #1f2937)}.skeleton-card-image{width:100%;height:12rem;border-radius:0}.skeleton-card-content{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.skeleton-comment-wrapper{display:flex;gap:1rem;padding:1rem;background:var(--bg-secondary, #ffffff);border-radius:var(--radius-md, .5rem);margin-bottom:1rem}[data-theme=dark] .skeleton-comment-wrapper{background:var(--bg-secondary-dark, #1f2937)}.skeleton-comment-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin:1.5rem 0}.skeleton-list{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}@media (max-width: 640px){.skeleton-card-image{height:10rem}.skeleton-comment-wrapper{gap:.75rem;padding:.75rem}.skeleton-circular{width:2rem;height:2rem}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:var(--skeleton-base, #f0f0f0)}}.dashboard{padding:2rem;max-width:1280px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.dashboard h1{color:var(--navy);margin-bottom:.5rem;font-size:2.5rem;font-weight:700;letter-spacing:-.02em}[data-theme=dark] .dashboard h1{color:var(--text-primary)}.dashboard h2{color:var(--navy);margin-bottom:1.5rem;margin-top:2rem;font-size:1.75rem;font-weight:600}[data-theme=dark] .dashboard h2{color:var(--text-primary)}.dashboard h3{color:var(--navy);margin-bottom:1rem;font-size:1.5rem;font-weight:600}[data-theme=dark] .dashboard h3{color:var(--text-primary)}.loading{display:flex;justify-content:center;align-items:center;min-height:50vh;font-size:1.2rem;color:var(--brand)}.group-switcher{display:flex;align-items:center;gap:.75rem}.group-switcher label{font-weight:500;color:var(--text-primary)}.group-select{padding:.625rem 1rem;border:1px solid var(--neutral-300);border-radius:8px;font-size:1rem;background:var(--surface);color:var(--text-primary);cursor:pointer;transition:all .2s ease;min-width:200px}[data-theme=dark] .group-select{border-color:var(--neutral-700)}.group-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00a3ad1a}.current-group-header{background:linear-gradient(135deg,var(--brand) 0%,var(--purple) 100%);padding:2rem;border-radius:12px;margin-bottom:2rem;color:#fff}.current-group-header h2{color:#fff;margin:0 0 .5rem}.current-group-header p{color:#ffffffe6;margin-bottom:1rem}.group-actions{display:flex;gap:1rem;margin-top:1rem}.btn-secondary{background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.625rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.9375rem;font-weight:600;transition:all .2s ease;text-decoration:none;display:inline-block}.btn-secondary:hover{background-color:#ffffff4d;border-color:#ffffff80}.latest-comments-section{background:var(--surface);padding:2rem;border-radius:12px;margin-bottom:2.5rem;box-shadow:0 2px 12px #00000014;border:1px solid var(--neutral-200)}[data-theme=dark] .latest-comments-section{border-color:var(--neutral-700)}.no-comments{color:var(--text-secondary);font-style:italic;text-align:center;padding:2rem}.comments-list{display:flex;flex-direction:column;gap:1rem}.comment-card{background:var(--surface);padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--brand);transition:transform .2s,box-shadow .2s}.comment-card:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001f}.comment-animal-info{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--neutral-200)}[data-theme=dark] .comment-animal-info{border-bottom-color:var(--neutral-700)}.animal-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--brand);font-weight:600;transition:color .2s ease}.animal-link:hover{color:var(--brand-600)}.comment-animal-thumbnail{width:40px;height:40px;border-radius:8px;object-fit:cover}.comment-content{color:var(--text-primary);line-height:1.6;margin-bottom:1rem}.comment-content p{margin:0 0 .5rem}.comment-image{max-width:100%;border-radius:8px;margin-top:.75rem}.comment-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.comment-tag{padding:.25rem .75rem;border-radius:12px;font-size:.8125rem;font-weight:500;color:#fff}.comment-meta{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--text-secondary);padding-top:.75rem;border-top:1px solid var(--neutral-200)}[data-theme=dark] .comment-meta{border-top-color:var(--neutral-700)}.comment-author{font-weight:500}.comment-date{color:var(--text-tertiary)}.animals-section{background:var(--surface);padding:2rem;border-radius:12px;margin-bottom:2.5rem;box-shadow:0 2px 12px #00000014;border:1px solid var(--neutral-200)}[data-theme=dark] .animals-section{border-color:var(--neutral-700)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.btn-link{color:var(--brand);text-decoration:none;font-weight:600;transition:color .2s ease}.btn-link:hover{color:var(--brand-600)}.animals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.animal-card-mini{background:var(--surface);border-radius:12px;box-shadow:0 2px 8px #00000014;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;overflow:hidden;border:1px solid var(--neutral-200)}[data-theme=dark] .animal-card-mini{border-color:var(--neutral-700)}.animal-card-mini:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00a3ad26;border-color:var(--brand)}.animal-card-mini img{width:100%;height:140px;object-fit:cover}.animal-info h4{margin:0 0 .5rem;color:var(--text-primary);font-size:1rem;font-weight:600}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-available{background-color:#22c55e33;color:#16a34a}.status-foster{background-color:#3b82f633;color:#2563eb}.status-bite_quarantine{background-color:#ef444433;color:#dc2626}.status-archived{background-color:#9ca3af33;color:#6b7280}.announcements-section{background:var(--surface);padding:2rem;border-radius:12px;margin-bottom:2.5rem;box-shadow:0 2px 12px #00000014;border:1px solid var(--neutral-200)}[data-theme=dark] .announcements-section{border-color:var(--neutral-700)}.announcements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.announcements-header h2,.announcements-header h3{margin:0;flex:1}.btn-primary{background-color:var(--brand);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.9375rem;font-weight:600;transition:all .2s ease;white-space:nowrap;flex-shrink:0;width:auto;max-width:fit-content;box-shadow:0 2px 4px #00a3ad33}.btn-primary:hover{background-color:var(--brand-600);transform:translateY(-2px);box-shadow:0 4px 8px #00a3ad4d}.btn-primary:disabled{background-color:var(--neutral-300);cursor:not-allowed;transform:none;box-shadow:none}.announcement-form{background:var(--surface);padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000f;border:1px solid var(--neutral-200)}[data-theme=dark] .announcement-form{border-color:var(--neutral-700)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input[type=text],.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--neutral-300);border-radius:6px;font-size:1rem;font-family:inherit;background:var(--surface);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00a3ad1a}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-primary)}.checkbox-group input[type=checkbox]{width:auto;cursor:pointer}.no-announcements{color:var(--text-secondary);font-style:italic;text-align:center;padding:2rem}.announcements-list{display:flex;flex-direction:column;gap:1rem}.announcement-card{background:var(--surface);padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--brand);transition:transform .2s,box-shadow .2s}.announcement-card:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001f}.announcement-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.announcement-card h3{color:var(--brand);margin:0;font-size:1.25rem;font-weight:600}.btn-delete{background:none;border:none;color:var(--danger);font-size:1.5rem;cursor:pointer;padding:0;width:28px;height:28px;line-height:1;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-delete:hover{background-color:#ef44441a}.announcement-content{color:var(--text-primary);line-height:1.6;white-space:pre-wrap;margin-bottom:1rem}.announcement-meta{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--text-secondary);padding-top:.75rem;border-top:1px solid var(--neutral-200)}[data-theme=dark] .announcement-meta{border-top-color:var(--neutral-700)}.announcement-author{font-weight:500}.announcement-date{color:var(--text-tertiary)}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.group-card{background:var(--surface);border-radius:12px;box-shadow:0 2px 12px #00000014;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--neutral-200)}[data-theme=dark] .group-card{border-color:var(--neutral-700)}.group-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00a3ad26;border-color:var(--brand)}.group-card-image{height:140px;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,var(--brand) 0%,var(--purple) 100%)}.group-emoji{font-size:4rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.group-card-content{padding:1.5rem;flex:1}.group-card h3{color:var(--brand);margin:0 0 .5rem;text-transform:capitalize;font-size:1.25rem;font-weight:600}.group-card p{color:var(--text-secondary);line-height:1.5;margin:0;font-size:.9375rem}@media (max-width: 768px){.dashboard{padding:1rem}.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard h1{font-size:2rem}.dashboard h2{font-size:1.5rem}.dashboard h3{font-size:1.25rem}.group-switcher{width:100%}.group-select{flex:1}.groups-grid{grid-template-columns:1fr}.animals-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.announcements-section,.latest-comments-section,.animals-section,.current-group-header{padding:1.5rem}}.activity-item{background:var(--card-background, #ffffff);border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease;border:1px solid var(--border-color, #e5e7eb)}.activity-item:hover{box-shadow:0 4px 6px #0000001a}.activity-item:focus-within{outline:2px solid var(--primary-color, #0e6c55);outline-offset:2px}.activity-item__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.activity-item__user-info{display:flex;align-items:center;gap:.75rem}.activity-item__avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.activity-item__meta{display:flex;flex-direction:column;gap:.125rem}.activity-item__username{font-weight:600;font-size:.9375rem;color:var(--text-primary, #1f2937)}.activity-item__username--link{text-decoration:none;color:var(--brand, #0e6c55);transition:color .2s ease}.activity-item__username--link:hover{color:var(--brand-600, #0a5443);text-decoration:underline}.activity-item__username--link:focus{outline:2px solid var(--brand, #0e6c55);outline-offset:2px;border-radius:2px}.activity-item__timestamp{font-size:.8125rem;color:var(--text-secondary, #6b7280)}.activity-item__type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500;text-transform:capitalize}.activity-item__type-badge--announcement{background:#fef3c7;color:#92400e}.activity-item__type-badge--comment{background:#dbeafe;color:#1e40af}.activity-item__content{margin-bottom:1rem}.activity-item__title{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1f2937);margin-bottom:.5rem;line-height:1.4}.activity-item__animal-link{margin-bottom:.75rem}.activity-item__animal-name{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--background-secondary, #f3f4f6);border-radius:.375rem;text-decoration:none;color:var(--primary-color, #0e6c55);font-weight:500;font-size:.9375rem;transition:all .2s ease}.activity-item__animal-name:hover{background:var(--primary-color-light, #d1fae5);transform:translate(2px)}.activity-item__animal-name:focus{outline:2px solid var(--primary-color, #0e6c55);outline-offset:2px}.activity-item__animal-thumbnail{width:2rem;height:2rem;border-radius:.25rem;object-fit:cover}.activity-item__text{font-size:.9375rem;line-height:1.6;color:var(--text-primary, #374151);white-space:pre-wrap;word-break:break-word;margin:0}.activity-item__image-wrapper{margin-top:1rem;margin-bottom:1rem}.activity-item__image{max-width:100%;height:auto;max-height:30rem;border-radius:.5rem;cursor:pointer;transition:transform .2s ease;display:block}.activity-item__image:hover{transform:scale(1.01)}.activity-item__image:focus{outline:3px solid var(--primary-color, #0e6c55);outline-offset:3px}.activity-item__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.activity-item__tag{display:inline-block;padding:.25rem .625rem;border-radius:.375rem;font-size:.8125rem;font-weight:500}.activity-item__footer{display:flex;justify-content:flex-end;padding-top:.75rem;border-top:1px solid var(--border-color, #e5e7eb)}.activity-item__action-link{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:transparent;border:1px solid var(--border-color, #e5e7eb);border-radius:.375rem;color:var(--text-primary, #374151);text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease}.activity-item__action-link:hover{background:var(--background-secondary, #f3f4f6);border-color:var(--primary-color, #0e6c55);color:var(--primary-color, #0e6c55)}.activity-item__action-link:focus{outline:2px solid var(--primary-color, #0e6c55);outline-offset:2px}[data-theme=dark] .activity-item{--card-background: #1f2937;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--border-color: #374151;--background-secondary: #374151}[data-theme=dark] .activity-item__avatar{background:linear-gradient(135deg,#4c51bf,#6b46c1)}[data-theme=dark] .activity-item__type-badge--announcement{background:#78350f;color:#fef3c7}[data-theme=dark] .activity-item__type-badge--comment{background:#1e3a8a;color:#dbeafe}[data-theme=dark] .activity-item__animal-name{background:#374151}[data-theme=dark] .activity-item__animal-name:hover{background:#064e3b}@media (max-width: 640px){.activity-item{padding:1rem}.activity-item__avatar{width:2rem;height:2rem;font-size:.875rem}.activity-item__title{font-size:1rem}.activity-item__text{font-size:.875rem}.activity-item__image{max-height:20rem}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.activity-item--new{animation:slideIn .3s ease-out}.activity-feed{width:100%;max-width:48rem;margin:0 auto}.activity-feed__list{display:flex;flex-direction:column}.activity-feed__skeleton{display:flex;flex-direction:column;gap:1rem}.activity-feed__loading-more{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem 1rem;color:var(--text-secondary, #6b7280);font-size:.9375rem}.activity-feed__spinner{animation:spin 1s linear infinite}.activity-feed__end-message{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;color:var(--text-secondary, #6b7280);font-size:.875rem;font-weight:500}.activity-feed__end-message svg{color:var(--success-color, #10b981)}.activity-feed__image-modal{display:flex;justify-content:center;align-items:center;max-height:80vh;overflow:hidden}.activity-feed__image-modal img{max-width:100%;max-height:80vh;height:auto;border-radius:.5rem}.activity-feed__load-trigger{height:1px;width:100%;visibility:hidden}@media (prefers-color-scheme: dark){.activity-feed{--text-secondary: #9ca3af}}@media (max-width: 768px){.activity-feed{max-width:100%}.activity-feed__loading-more,.activity-feed__end-message{padding:1.5rem 1rem}}@media (prefers-reduced-motion: reduce){.activity-feed__spinner{animation:none}}.announcement-form{background:var(--surface, #ffffff);border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--neutral-200, #e5e7eb)}.announcement-form__header{margin-bottom:1.5rem}.announcement-form__header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1f2937);margin:0 0 .5rem}.announcement-form__description{font-size:.875rem;color:var(--text-secondary, #6b7280);margin:0}.announcement-form__fields{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.announcement-form__field{display:flex;flex-direction:column;gap:.5rem}.announcement-form__label{font-size:.875rem;font-weight:500;color:var(--text-primary, #1f2937)}.announcement-form__required{color:var(--danger, #ef4444)}.announcement-form__input,.announcement-form__textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--neutral-300, #d1d5db);border-radius:.375rem;font-size:.9375rem;font-family:inherit;color:var(--text-primary, #1f2937);background:var(--surface, #ffffff);transition:all .2s ease}.announcement-form__input:focus,.announcement-form__textarea:focus{outline:none;border-color:var(--brand, #0e6c55);box-shadow:0 0 0 3px rgba(var(--brand-rgb, 14, 108, 85),.1)}.announcement-form__input:disabled,.announcement-form__textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--neutral-100, #f3f4f6)}.announcement-form__textarea{resize:vertical;min-height:120px;line-height:1.5}.announcement-form__char-count{font-size:.75rem;color:var(--text-secondary, #6b7280);text-align:right}.announcement-form__upload-section{display:flex;flex-direction:column;gap:.5rem}.announcement-form__file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.announcement-form__upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--neutral-100, #f3f4f6);border:1px dashed var(--neutral-300, #d1d5db);border-radius:.375rem;color:var(--text-primary, #1f2937);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;width:fit-content}.announcement-form__upload-button:hover{background:var(--neutral-200, #e5e7eb);border-color:var(--brand, #0e6c55)}.announcement-form__upload-button:focus{outline:2px solid var(--brand, #0e6c55);outline-offset:2px}.announcement-form__upload-hint{font-size:.75rem;color:var(--text-secondary, #6b7280);margin:0}.announcement-form__image-preview{position:relative;width:fit-content;max-width:100%}.announcement-form__image-preview img{max-width:100%;max-height:300px;border-radius:.375rem;display:block}.announcement-form__remove-image{position:absolute;top:.5rem;right:.5rem;padding:.5rem;background:#000000b3;border:none;border-radius:.25rem;color:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.announcement-form__remove-image:hover{background:#000000e6;transform:scale(1.1)}.announcement-form__remove-image:focus{outline:2px solid white;outline-offset:2px}.announcement-form__actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--neutral-200, #e5e7eb)}.announcement-form__button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:.375rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.announcement-form__button:disabled{opacity:.6;cursor:not-allowed}.announcement-form__button--primary{background:var(--brand, #0e6c55);color:#fff}.announcement-form__button--primary:hover:not(:disabled){background:var(--brand-600, #0a5443);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.announcement-form__button--primary:focus{outline:2px solid var(--brand, #0e6c55);outline-offset:2px}.announcement-form__button--secondary{background:transparent;color:var(--text-primary, #1f2937);border:1px solid var(--neutral-300, #d1d5db)}.announcement-form__button--secondary:hover:not(:disabled){background:var(--neutral-100, #f3f4f6)}.announcement-form__button--secondary:focus{outline:2px solid var(--brand, #0e6c55);outline-offset:2px}.announcement-form__spinner{width:1.25rem;height:1.25rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}[data-theme=dark] .announcement-form__remove-image{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}[data-theme=dark] .announcement-form__remove-image:hover{background:#ffffff4d}@media (max-width: 640px){.announcement-form{padding:1rem}.announcement-form__actions{flex-direction:column-reverse}.announcement-form__button{width:100%;justify-content:center}}@media (prefers-reduced-motion: reduce){.announcement-form__spinner{animation:none}.announcement-form__button:hover:not(:disabled){transform:none}.announcement-form__remove-image:hover{transform:none}}.announcement-form__checkbox-label{display:flex;align-items:flex-start;gap:12px;padding:16px;background-color:var(--neutral-100, #f3f4f6);border-radius:8px;cursor:pointer;transition:background-color .2s}.announcement-form__checkbox-label:hover{background-color:var(--neutral-50, #f9fafb)}.announcement-form__checkbox-label input[type=checkbox]{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0}.announcement-form__checkbox-text{display:flex;flex-direction:column;gap:4px;font-weight:500;color:var(--text-primary, #1f2937)}.announcement-form__checkbox-description{font-size:.875rem;font-weight:400;color:var(--text-secondary, #6b7280)}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl, 4rem) var(--space-xl, 2rem);text-align:center;min-height:20rem}.error-state-icon{font-size:4rem;margin-bottom:var(--space-lg, 1.5rem);color:var(--color-danger, #ef4444);line-height:1}.error-state-icon svg{width:4rem;height:4rem}.error-state-title{font-size:var(--text-2xl, 1.5rem);font-weight:var(--font-semibold, 600);margin:0 0 var(--space-md, 1rem) 0;color:var(--text-primary, #111827)}[data-theme=dark] .error-state-title{color:var(--text-primary-dark, #f9fafb)}.error-state-message{font-size:var(--text-base, 1rem);color:var(--text-secondary, #6b7280);max-width:32rem;margin:0 0 var(--space-xl, 2rem) 0;line-height:var(--leading-relaxed, 1.75)}[data-theme=dark] .error-state-message{color:var(--text-secondary-dark, #9ca3af)}.error-state-actions{display:flex;gap:var(--space-md, 1rem);flex-wrap:wrap;justify-content:center}.error-state-actions button{min-width:8rem}@media (max-width: 640px){.error-state{padding:var(--space-2xl, 3rem) var(--space-md, 1rem);min-height:16rem}.error-state-icon{font-size:3rem}.error-state-icon svg{width:3rem;height:3rem}.error-state-title{font-size:var(--text-xl, 1.25rem)}.error-state-message{font-size:var(--text-sm, .875rem)}.error-state-actions{flex-direction:column;width:100%}.error-state-actions button{width:100%}}.confirm-dialog-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in-out}.confirm-dialog{background:var(--bg-primary);border-radius:12px;padding:2rem;max-width:400px;width:90%;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease-out;text-align:center}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-dialog:focus{outline:none}.confirm-dialog__icon{margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center}.confirm-dialog--danger .confirm-dialog__icon svg{color:var(--danger)}.confirm-dialog--warning .confirm-dialog__icon svg{color:var(--warning)}.confirm-dialog--info .confirm-dialog__icon svg{color:var(--brand)}.confirm-dialog__title{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary)}.confirm-dialog__message{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin:0 0 2rem}.confirm-dialog__actions{display:flex;gap:1rem;justify-content:center}.confirm-dialog__actions button{flex:1;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:focus{outline:2px solid var(--brand);outline-offset:2px}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-danger:focus{outline:2px solid var(--danger);outline-offset:2px}.btn-warning{background:var(--warning);color:#fff}.btn-warning:hover{background:#ea580c}.btn-warning:focus{outline:2px solid var(--warning);outline-offset:2px}.btn-info{background:var(--brand);color:#fff}.btn-info:hover{background:var(--brand-hover)}.btn-info:focus{outline:2px solid var(--brand);outline-offset:2px}@media (max-width: 480px){.confirm-dialog{padding:1.5rem}.confirm-dialog__actions{flex-direction:column}.confirm-dialog__actions button{width:100%}}.protocols-list{padding:2rem 0}.protocols-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.protocols-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.protocols-header .btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--brand);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:.9375rem;transition:all .2s ease;white-space:nowrap;border:none;cursor:pointer;box-shadow:0 2px 4px #00a3ad33;font-family:inherit}.protocols-header .btn-primary:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 8px #00a3ad4d}.protocols-header .btn-primary:focus{outline:2px solid var(--brand);outline-offset:2px}.protocols-header .btn-primary:active{transform:translateY(0)}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--brand);color:var(--brand)}.btn-danger{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--danger);color:#fff;border:none;border-radius:8px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-danger:hover{background:var(--danger-600)}.protocols-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.protocol-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.protocol-card-clickable{cursor:pointer;flex:1;display:flex;flex-direction:column}.protocol-card-clickable:hover{opacity:.95}.protocol-card-clickable:focus{outline:2px solid var(--brand);outline-offset:2px}.protocol-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.protocol-image{width:100%;height:200px;overflow:hidden;background:var(--bg-secondary)}.protocol-image img{width:100%;height:100%;object-fit:cover}.protocol-content{padding:1.5rem}.protocol-content h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.25rem}.protocol-text{color:var(--text-secondary);line-height:1.6;white-space:pre-wrap}.protocol-text-preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.protocol-view-more{margin-top:1rem;color:var(--brand);font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.25rem}.protocol-expand-btn{margin-top:.5rem;background:none;border:none;color:var(--brand);cursor:pointer;font-size:.9rem;padding:0}.protocol-expand-btn:hover{text-decoration:underline}.protocol-actions{display:flex;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.protocol-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem}.protocol-form{display:flex;flex-direction:column;gap:1.5rem;background:#fff;padding:0}.protocol-form .form-group{display:flex;flex-direction:column;gap:.5rem}.protocol-form label{font-weight:600;color:#1f2937;font-size:.95rem;margin-bottom:.25rem}[data-theme=dark] .protocol-form label{color:var(--text-primary-dark, #f9fafb)}.protocol-form input[type=text],.protocol-form input[type=number],.protocol-form textarea{padding:.75rem;border:1px solid var(--border-color, #d1d5db);border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;color:#1f2937;transition:border-color .2s ease,box-shadow .2s ease}.protocol-form input[type=text]:focus,.protocol-form input[type=number]:focus,.protocol-form textarea:focus{outline:none;border-color:var(--brand, #0e6c55);box-shadow:0 0 0 3px #0e6c551a}[data-theme=dark] .protocol-form input[type=text],[data-theme=dark] .protocol-form input[type=number],[data-theme=dark] .protocol-form textarea{background:var(--gray-800, #1f2937);color:var(--text-primary-dark, #f9fafb);border-color:var(--gray-600, #4b5563)}.protocol-form textarea{resize:vertical;min-height:150px}.protocol-form input[type=file]{padding:.5rem;border:1px solid var(--border-color, #d1d5db);border-radius:8px;background:#fff;color:#1f2937;font-size:.95rem;cursor:pointer}[data-theme=dark] .protocol-form input[type=file]{background:var(--gray-800, #1f2937);color:var(--text-primary-dark, #f9fafb);border-color:var(--gray-600, #4b5563)}.protocol-form small{color:var(--text-secondary, #6b7280);font-size:.875rem;display:block;margin-top:.25rem}[data-theme=dark] .protocol-form small{color:var(--text-secondary-dark, #9ca3af)}.upload-status{color:var(--brand);font-size:.9rem;margin-top:.5rem}.image-preview{position:relative;width:200px;height:200px;margin-top:.5rem;border-radius:8px;overflow:hidden}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-image{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;border-radius:50%;background:#000000b3;color:#fff;border:none;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-image:hover{background:#000000e6}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.form-actions .btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--brand, #0e6c55);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;font-family:inherit;box-shadow:0 2px 4px #00a3ad33}.form-actions .btn-primary:hover:not(:disabled){background:var(--brand-600, #0a5a47);transform:translateY(-1px);box-shadow:0 4px 8px #00a3ad4d}.form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-actions .btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1f2937);border:1px solid var(--border-color, #d1d5db);border-radius:8px;font-weight:500;font-size:1rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.form-actions .btn-secondary:hover:not(:disabled){background:var(--bg-secondary, #f9fafb);border-color:var(--brand, #0e6c55);color:var(--brand, #0e6c55)}.form-actions .btn-secondary:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .form-actions .btn-secondary{background:var(--gray-800, #1f2937);color:var(--text-primary-dark, #f9fafb);border-color:var(--gray-600, #4b5563)}[data-theme=dark] .form-actions .btn-secondary:hover:not(:disabled){background:var(--gray-700, #374151);border-color:var(--brand, #0e6c55)}.protocol-view{display:flex;flex-direction:column;gap:1.5rem}.protocol-view-image{width:100%;max-height:400px;overflow:hidden;border-radius:8px;background:var(--bg-secondary)}.protocol-view-image img{width:100%;height:100%;object-fit:contain}.protocol-view-content{line-height:1.6;color:var(--text-primary)}.protocol-view-content p{margin:0;white-space:pre-wrap;word-wrap:break-word}.protocol-view-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color)}.protocol-view-actions button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:8px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s ease;font-family:inherit}@media (max-width: 768px){.protocols-grid{grid-template-columns:1fr}.protocols-header{flex-direction:column;align-items:flex-start;gap:1rem}.protocols-header button{width:100%}.protocol-actions,.form-actions{flex-direction:column}.form-actions button{width:100%}}.group-page{padding:2rem;max-width:1280px;margin:0 auto}.group-hero-image{width:100%;height:300px;background-size:cover;background-position:center;border-radius:12px;margin-bottom:2rem;box-shadow:0 4px 12px #00000026}[data-theme=dark] .group-hero-image{box-shadow:0 4px 12px #0000004d}.group-header{margin-bottom:2rem}.group-header-title{display:flex;align-items:center;gap:1.5rem;margin-bottom:.75rem}.group-switcher{display:flex;align-items:center;gap:.5rem}.group-switcher .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}.group-select{padding:.5rem 2rem .5rem .75rem;border:1px solid var(--neutral-300);border-radius:6px;background:var(--surface);color:var(--text-primary);font-size:.9375rem;font-weight:500;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:all .2s ease}.group-select:hover{border-color:var(--brand)}.group-select:focus{outline:2px solid var(--brand);outline-offset:2px;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}[data-theme=dark] .group-select:focus{box-shadow:0 0 0 3px rgba(var(--brand-rgb),.2)}[data-theme=dark] .group-select{background:var(--neutral-800);border-color:var(--neutral-700);color:var(--text-primary);background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}[data-theme=dark] .group-select:hover{border-color:var(--brand)}.group-description{color:var(--text-secondary);font-size:1.0625rem;line-height:1.6}.back-link{color:var(--brand);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9375rem;font-weight:500;transition:color .2s ease}.back-link:hover{color:var(--brand-600);text-decoration:none}.back-link:focus{outline:2px solid var(--brand);outline-offset:4px;border-radius:4px}.group-header h1{color:var(--navy);margin-bottom:.75rem;text-transform:capitalize;font-size:2.5rem;font-weight:700;letter-spacing:-.02em}[data-theme=dark] .group-header h1{color:var(--text-primary)}.group-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--neutral-200);padding-bottom:0}[data-theme=dark] .group-tabs{border-bottom-color:var(--neutral-700)}.group-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;bottom:-2px;font-family:inherit}.group-tab:hover{color:var(--brand);background:var(--neutral-50)}[data-theme=dark] .group-tab:hover{background:var(--neutral-800)}.group-tab:focus{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.group-tab--active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.quick-actions-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--surface);border-radius:12px;border:1px solid var(--neutral-200);margin-bottom:2rem}[data-theme=dark] .quick-actions-bar{border-color:var(--neutral-700)}.quick-actions-bar__filters{display:flex;gap:.75rem;align-items:center}.quick-actions-bar__select{padding:.5rem .75rem;border:1px solid var(--neutral-300);border-radius:8px;font-size:.875rem;background:var(--surface);color:var(--text-primary);cursor:pointer;transition:border-color .2s ease}.quick-actions-bar__select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00a3ad1a}.quick-actions-bar__actions{display:flex;gap:.75rem}.quick-actions-bar__button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.quick-actions-bar__button:focus{outline:2px solid var(--brand);outline-offset:2px}.quick-actions-bar__button--primary{background:var(--brand);color:#fff;box-shadow:0 2px 4px #00a3ad33}.quick-actions-bar__button--primary:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 8px #00a3ad4d}.quick-actions-bar__button--secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--neutral-300)}.quick-actions-bar__button--secondary:hover{background:var(--neutral-50);border-color:var(--brand)}[data-theme=dark] .quick-actions-bar__button--secondary:hover{background:var(--neutral-800)}.group-admin-links{display:flex;gap:.75rem;padding:1rem 1.5rem;background:var(--surface);border-radius:12px;border:1px solid var(--neutral-200);margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}[data-theme=dark] .group-admin-links{border-color:var(--neutral-700)}.group-admin-links__title{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-right:.5rem}.group-admin-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--neutral-300);border-radius:8px;text-decoration:none;color:var(--text-primary);font-size:.875rem;font-weight:500;transition:all .2s ease;background:var(--surface)}.group-admin-link:hover{border-color:var(--brand);background:#00a3ad0d;color:var(--brand)}.group-admin-link svg{width:16px;height:16px;color:var(--brand)}[data-theme=dark] .group-admin-link{border-color:var(--neutral-600)}[data-theme=dark] .group-admin-link:hover{border-color:var(--brand);background:#00a3ad1a}.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}.group-content{margin-top:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.section-header h2{color:var(--navy);font-size:1.75rem;font-weight:600}[data-theme=dark] .section-header h2{color:var(--text-primary)}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--brand);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:.9375rem;transition:all .2s ease;white-space:nowrap;border:none;cursor:pointer;box-shadow:0 2px 4px #00a3ad33}.btn-primary:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 8px #00a3ad4d;text-decoration:none}.btn-primary:focus{outline:2px solid var(--brand);outline-offset:2px}.filters-section{display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:var(--surface);border-radius:12px;border:1px solid var(--neutral-200);flex-wrap:wrap}[data-theme=dark] .filters-section{border-color:var(--neutral-700)}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.filter-group select,.filter-group input[type=text]{padding:.625rem;border:1px solid var(--neutral-300);border-radius:8px;font-size:.9375rem;min-width:200px;background:var(--surface);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}.filter-group select:focus,.filter-group input[type=text]:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00a3ad1a}.animals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.animal-card{background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;border:1px solid var(--neutral-200)}[data-theme=dark] .animal-card{border-color:var(--neutral-700)}.animal-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00a3ad26;border-color:var(--brand)}.animal-card:focus{outline:2px solid var(--brand);outline-offset:2px}.animal-card-image{width:100%;height:220px;object-fit:cover}.animal-info{padding:1.25rem;flex:1;display:flex;flex-direction:column}.animal-header-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.animal-info h3{color:var(--navy);margin:0;font-size:1.25rem;font-weight:600}[data-theme=dark] .animal-info h3{color:var(--text-primary)}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:600;line-height:1.2;white-space:nowrap}.badge-duplicate{background:#fbbf24;color:#78350f;border:1px solid #f59e0b}[data-theme=dark] .badge-duplicate{background:#92400e;color:#fef3c7;border-color:#b45309}.animal-info .breed{color:var(--text-secondary);font-size:.9375rem;margin-bottom:.25rem;font-weight:500}.animal-info .age{color:var(--text-secondary);font-size:.9375rem;margin-bottom:.75rem}.status{display:inline-block;padding:.375rem .875rem;border-radius:20px;font-size:.8125rem;font-weight:600;text-transform:capitalize;letter-spacing:.02em}.status.available{background:#10b9811a;color:var(--success-600);border:1px solid var(--success)}.status.adopted{background:#3b82f61a;color:var(--info-600);border:1px solid var(--info)}.status.fostered{background:#f59e0b1a;color:var(--warning-600);border:1px solid var(--warning)}.status.archived{background:#6b72801a;color:var(--neutral-600);border:1px solid var(--neutral-400)}.status.bite_quarantine{background:#ef44441a;color:var(--danger-600);border:1px solid var(--danger)}.status.foster{background:#f59e0b1a;color:var(--warning-600);border:1px solid var(--warning)}.quarantine-end-date{font-size:.8125rem;color:var(--danger-600);font-weight:600;margin-top:.5rem;padding:.25rem .5rem;background:#ef44440d;border-radius:4px;border-left:3px solid var(--danger)}[data-theme=dark] .quarantine-end-date{background:#ef444426}.animal-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.animal-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:600;border:1px solid;white-space:nowrap;transition:transform .15s}.animal-tag:hover{transform:scale(1.05)}@media (max-width: 768px){.group-page{padding:1rem}.group-header h1{font-size:2rem}.group-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.group-tab{white-space:nowrap}.quick-actions-bar{flex-direction:column;align-items:stretch;padding:1rem}.quick-actions-bar__filters,.quick-actions-bar__actions{flex-direction:column}.quick-actions-bar__select,.quick-actions-bar__button{width:100%;justify-content:center}.section-header{flex-direction:column;align-items:flex-start}.filters-section{padding:1rem;gap:1rem}.filter-group select,.filter-group input[type=text]{min-width:100%}.animals-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.animal-card:hover,.quick-actions-bar__button--primary:hover,.btn-primary:hover{transform:none}}.image-editor-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-editor-modal{background:#fff;border-radius:12px;width:90vw;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 80px #0000004d,0 0 0 1px #0000000d;overflow:hidden;position:relative;z-index:10001}.image-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;background:#fff}.image-editor-header h2{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:.25px;color:var(--text-primary)}.close-button{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.close-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.image-editor-container{position:relative;width:100%;height:400px;background:#000;flex-shrink:0}.image-editor-controls{padding:1.5rem;background:#fff;overflow-y:auto;flex:1}.control-group{margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.control-group:last-child{margin-bottom:0}.control-group label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.control-row{display:flex;align-items:center;gap:.75rem}.control-icon{font-size:1.25rem;flex-shrink:0}.control-slider{flex:1;height:8px;border-radius:4px;background:#e5e7eb;outline:none;-webkit-appearance:none;appearance:none;box-shadow:inset 0 1px 2px #0000001a}[data-theme=dark] .control-slider{background:var(--gray-700)}.control-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--brand);cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 4px #0003;border:2px solid white}.control-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 8px #0e6c5566}.control-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--brand);cursor:pointer;border:2px solid white;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 4px #0003}.control-slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 2px 8px #0e6c5566}.control-value{font-size:.875rem;font-weight:700;color:var(--brand);min-width:50px;text-align:right;background:#fff;padding:.25rem .5rem;border-radius:4px;border:1px solid var(--border)}[data-theme=dark] .control-value{background:var(--gray-800);border-color:var(--gray-700)}.rotation-shortcuts{display:flex;gap:.5rem;margin-top:.75rem}.rotation-shortcuts button{flex:1;padding:.625rem;background:#fff;border:2px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #0000000d}[data-theme=dark] .rotation-shortcuts button{background:var(--gray-800);border-color:var(--gray-700)}.rotation-shortcuts button:hover{background:var(--brand);border-color:var(--brand);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0e6c5533}.rotation-shortcuts button.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700;box-shadow:0 2px 4px #0e6c554d}.aspect-ratio-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.5rem}.aspect-ratio-buttons button{padding:.75rem;background:#fff;border:2px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #0000000d}[data-theme=dark] .aspect-ratio-buttons button{background:var(--gray-800);border-color:var(--gray-700)}.aspect-ratio-buttons button:hover{background:var(--brand);border-color:var(--brand);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0e6c5533}.aspect-ratio-buttons button.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700;box-shadow:0 2px 4px #0e6c554d}.image-editor-actions{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#fff}.image-editor-actions .btn-secondary,.image-editor-actions .btn-primary{flex:1;padding:.85rem 1.75rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.image-editor-actions .btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.image-editor-actions .btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--text-secondary);color:var(--text-primary)}.image-editor-actions .btn-primary{background:var(--brand);border:none;color:#fff;box-shadow:0 2px 4px #0e6c5533}.image-editor-actions .btn-primary:hover:not(:disabled){background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 12px #0e6c554d}.image-editor-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.image-editor-modal{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;border:none}.image-editor-container{height:300px}.aspect-ratio-buttons{grid-template-columns:1fr}.rotation-shortcuts{flex-wrap:wrap}.rotation-shortcuts button{flex:1 1 calc(50% - .25rem)}}[data-theme=dark] .image-editor-modal{background:#1f2937;box-shadow:0 25px 80px #0009,0 0 0 1px #ffffff14}[data-theme=dark] .image-editor-header{background:#1f2937;border-bottom-color:#374151}[data-theme=dark] .image-editor-header h2{color:#fff}[data-theme=dark] .image-editor-controls{background:#1f2937}[data-theme=dark] .image-editor-actions{background:#1f2937;border-top-color:#374151}[data-theme=dark] .image-editor-actions .btn-secondary{border-color:var(--gray-700);color:var(--text-secondary)}[data-theme=dark] .image-editor-actions .btn-secondary:hover:not(:disabled){background:var(--gray-800);border-color:var(--gray-600)}[data-theme=dark] .image-editor-actions .btn-primary{background:var(--brand)}[data-theme=dark] .image-editor-actions .btn-primary:hover:not(:disabled){background:var(--brand-600)}@media (max-width: 480px){.image-editor-header,.image-editor-controls{padding:1rem}.image-editor-actions{padding:1rem;flex-direction:column}.control-group{margin-bottom:1rem}}.form-page{padding:2rem;max-width:960px;margin:0 auto}.form-container{background:var(--surface);padding:2.5rem;border-radius:12px;box-shadow:0 2px 12px #00000014;border:1px solid var(--neutral-200)}[data-theme=dark] .form-container{border-color:var(--neutral-700)}.form-container h1{color:var(--navy);margin-bottom:2rem;font-size:2rem;font-weight:700;letter-spacing:-.02em}[data-theme=dark] .form-container h1{color:var(--text-primary)}.form-group{margin-bottom:1.75rem}.form-group label{display:block;margin-bottom:.625rem;color:var(--text-primary);font-weight:600;font-size:.9375rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.875rem;border:1px solid var(--neutral-300);border-radius:8px;font-size:1rem;box-sizing:border-box;font-family:inherit;background:var(--surface);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00a3ad1a}.form-group textarea{resize:vertical;min-height:140px;line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.75rem}.form-actions{display:flex;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:2px solid var(--neutral-200)}.btn-primary:disabled{background:var(--neutral-300);cursor:not-allowed;transform:none;box-shadow:none}.btn-danger{padding:.875rem 1.75rem;background:var(--danger);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;font-weight:600;transition:all .2s ease;box-shadow:0 2px 4px #ef444433}.btn-danger:hover:not(:disabled){background:var(--danger-600);transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.btn-danger:active:not(:disabled){transform:translateY(0)}.btn-danger:disabled{background:var(--neutral-300);cursor:not-allowed;transform:none;box-shadow:none}.upload-label{display:block;margin-top:1rem;margin-bottom:.75rem;color:var(--text-primary);font-weight:600;font-size:.9375rem}.image-preview{margin-top:1.5rem;padding:1.5rem;background:var(--bg);border:2px solid var(--neutral-200);border-radius:12px}[data-theme=dark] .image-preview{border-color:var(--neutral-700)}.image-preview label{display:block;margin-bottom:1rem;color:var(--text-primary);font-weight:600;font-size:1rem}.image-preview img{width:100%;max-width:600px;height:auto;max-height:500px;object-fit:contain;border-radius:12px;border:1px solid var(--neutral-300);box-shadow:0 4px 12px #0000001a;display:block}@media (max-width: 768px){.form-page{padding:1rem}.form-container{padding:1.5rem}.form-container h1{font-size:1.75rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}.image-preview img{max-width:100%}}.tag-categories{margin-top:.75rem;display:flex;flex-direction:column;gap:1.5rem}.tag-category h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.tag-selection-grid{display:flex;flex-wrap:wrap;gap:.75rem}.tag-checkbox{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.tag-checkbox input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.tag-label{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:500;border:2px solid;transition:all .2s ease;text-transform:capitalize}.tag-checkbox:hover .tag-label{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.tag-checkbox input[type=checkbox]:focus+.tag-label{outline:2px solid var(--brand);outline-offset:2px}[data-theme=dark] .tag-checkbox:hover .tag-label{box-shadow:0 2px 12px #0006}.duplicate-warning{background:#fef3c7;border:2px solid #f59e0b;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem;color:#78350f}[data-theme=dark] .duplicate-warning{background:#451a03;border-color:#b45309;color:#fef3c7}.duplicate-warning-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.75rem}.duplicate-warning-header svg{flex-shrink:0;color:#f59e0b}[data-theme=dark] .duplicate-warning-header svg{color:#fbbf24}.duplicate-warning-header strong{font-size:1rem;font-weight:700}.duplicate-warning p{margin:.75rem 0;font-size:.9375rem;line-height:1.5}.duplicate-animals-list{margin:1rem 0;padding:.75rem;background:#f59e0b1a;border-radius:6px;border:1px solid rgba(245,158,11,.2)}[data-theme=dark] .duplicate-animals-list{background:#b4530933;border-color:#b453094d}.duplicate-animal-item{display:flex;flex-direction:column;gap:.25rem;padding:.625rem 0;border-bottom:1px solid rgba(245,158,11,.2)}.duplicate-animal-item:last-child{border-bottom:none;padding-bottom:0}.duplicate-animal-name{font-weight:600;font-size:.9375rem}.duplicate-animal-details{font-size:.8125rem;opacity:.9}.duplicate-more{margin-top:.5rem;font-size:.875rem;font-style:italic;opacity:.8}.duplicate-warning-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(245,158,11,.3);font-size:.875rem;font-weight:500}[data-theme=dark] .duplicate-warning-footer{border-top-color:#b4530966}.checkbox-label{display:flex;align-items:center;gap:.625rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--brand, #0e6c55)}.checkbox-label:hover{color:var(--brand, #0e6c55)}.image-upload-options{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.label-badge{display:inline-block;background:var(--brand);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:.5rem}.image-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;padding:1rem 0;max-height:500px;overflow-y:auto}.selectable-image{transition:transform .2s,box-shadow .2s}.selectable-image:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.selectable-image.current{box-shadow:0 4px 16px #0e6c554d}@media (max-width: 768px){.image-upload-options{flex-direction:column}.image-selector-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}}.animal-detail-page{padding:2rem;max-width:900px;margin:0 auto}.animal-detail-container{background:var(--bg-primary)}.breadcrumb{margin-bottom:1.5rem}.breadcrumb-list{display:flex;align-items:center;list-style:none;padding:0;margin:0;flex-wrap:wrap;gap:.5rem}.breadcrumb-item{display:flex;align-items:center}.breadcrumb-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--brand, #0e6c55);text-decoration:none;font-size:.9375rem;font-weight:500;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease}.breadcrumb-link:hover{background:#0e6c551a;color:var(--brand-600, #0a5443)}.breadcrumb-link:focus{outline:2px solid var(--brand);outline-offset:2px}.breadcrumb-link svg{width:16px;height:16px}.breadcrumb-separator{color:var(--text-secondary, #6b7280);font-size:1.125rem;-webkit-user-select:none;user-select:none}.breadcrumb-current{color:var(--text-primary, #1f2937);font-size:.9375rem;font-weight:600;padding:.25rem .5rem}[data-theme=dark] .breadcrumb-link{color:var(--teal, #14b8a6)}[data-theme=dark] .breadcrumb-link:hover{background:#14b8a61a;color:var(--teal-400, #2dd4bf)}.back-link{color:var(--link);text-decoration:none;display:inline-block;margin-bottom:1.5rem;font-size:.95rem}.animal-header{margin-bottom:2rem}.animal-main-info{background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}[data-theme=dark] .animal-main-info{box-shadow:0 2px 8px #0000004d}.animal-main-image{width:100%;max-height:400px;object-fit:contain}.animal-details{padding:2rem}.animal-details h1{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem}.animal-meta{color:var(--text-secondary);font-size:1.1rem;margin-bottom:1rem}.animal-description{color:var(--text-primary);line-height:1.6;margin:1rem 0;font-size:1rem}.status-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.status{display:inline-block;padding:.4rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;text-transform:capitalize}.badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:16px;font-size:.8125rem;font-weight:600;line-height:1.2;white-space:nowrap}.badge-returning{background:#06b6d4;color:#083344;border:1px solid #0891b2}[data-theme=dark] .badge-returning{background:#164e63;color:#cffafe;border-color:#0e7490}.status.available{background:#c6f6d5;color:#22543d}.status.foster{background:#feebc8;color:#7c2d12}.status.bite_quarantine{background:#fed7d7;color:#742a2a}.status.archived{background:#e2e8f0;color:#4a5568}.status.adopted{background:#bee3f8;color:#2c5282}.status.fostered{background:#feebc8;color:#7c2d12}.animal-action-buttons{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.btn-view-gallery-large{padding:.7rem 1.5rem;background:var(--brand);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.btn-view-gallery-large:hover{background:var(--brand-600);color:#fff}.btn-edit{padding:.7rem 1.5rem;background:var(--brand);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.btn-edit:hover{background:var(--brand-600)}.comments-section{margin-top:2rem}.comments-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.comments-header-title{display:flex;flex-direction:column;gap:.5rem}.comments-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.date-range-info{font-size:.85rem;color:var(--text-secondary);font-weight:400;font-style:italic}.comments-header-actions{display:flex;gap:.75rem;align-items:center}.btn-toggle-form{padding:.6rem 1.2rem;background:var(--surface);color:var(--text-primary);border:1px solid var(--neutral-300);border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}[data-theme=dark] .btn-toggle-form{background:var(--neutral-100);border-color:var(--neutral-200);color:var(--text-primary)}.btn-toggle-form:hover{background:var(--neutral-100);border-color:var(--brand)}[data-theme=dark] .btn-toggle-form:hover{background:var(--neutral-200);border-color:var(--brand)}.btn-export{padding:.6rem 1.2rem;background:#f59e0b;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap;font-size:.95rem}.btn-export:hover{background:#d97706}.btn-view-gallery{padding:.6rem 1.2rem;background:var(--brand);color:#fff;text-decoration:none;border-radius:6px;font-weight:500;font-size:.95rem;transition:background .2s;white-space:nowrap}.btn-view-gallery:hover{background:var(--brand-600)}.comments-controls{margin-bottom:1.5rem}.comments-count-and-sort{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-top:1px solid var(--neutral-200);gap:1rem;flex-wrap:wrap}[data-theme=dark] .comments-count-and-sort{border-top-color:var(--neutral-700)}.comments-count{font-size:.95rem;color:var(--text-secondary);font-weight:500}.comments-count strong{color:var(--text-primary);font-weight:600}.load-more-hint{color:var(--brand);font-size:.85rem;font-weight:400}.btn-sort{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:var(--surface);color:var(--text-primary);border:1px solid var(--neutral-300);border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}[data-theme=dark] .btn-sort{background:var(--neutral-100);border-color:var(--neutral-200)}.btn-sort:hover{background:var(--neutral-100);border-color:var(--brand);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}[data-theme=dark] .btn-sort:hover{background:var(--neutral-200);border-color:var(--brand);box-shadow:0 2px 4px #0000004d}.btn-sort:focus{outline:2px solid var(--brand);outline-offset:2px}.tag-filters{display:flex;gap:.5rem;flex-wrap:wrap;padding:1rem 0;border-bottom:1px solid var(--neutral-200)}[data-theme=dark] .tag-filters{border-top-color:var(--neutral-700);border-bottom-color:var(--neutral-700)}.tag-filter{padding:.4rem .8rem;border:2px solid var(--neutral-200);border-radius:20px;background:var(--surface);color:var(--text-primary);cursor:pointer;font-size:.9rem;transition:all .2s}[data-theme=dark] .tag-filter{border-color:var(--neutral-700);background:var(--neutral-800)}.tag-filter:hover{border-color:var(--brand)}.tag-filter.active{background:var(--brand);color:#fff;border-color:var(--brand)}.filter-hint{color:var(--text-secondary);font-size:.85rem;font-style:italic;padding:.4rem .8rem;align-self:center}.comment-tags-selection{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;background:transparent}.tag-select-label{font-weight:500;color:var(--text-primary);font-size:.95rem}[data-theme=dark] .tag-select-label{color:var(--text-primary)}.tag-multi-select{width:100%;max-width:400px;padding:.5rem;border:1px solid var(--neutral-300);border-radius:6px;background:var(--bg);color:var(--text-primary);font-family:inherit;font-size:.95rem;cursor:pointer}[data-theme=dark] .tag-multi-select{background:var(--neutral-100);border-color:var(--neutral-200);color:var(--text-primary)}.tag-multi-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}[data-theme=dark] .tag-multi-select:focus{box-shadow:0 0 0 3px rgba(var(--brand-rgb),.2)}.tag-multi-select option{padding:.4rem;cursor:pointer;background:var(--bg);color:var(--text-primary)}[data-theme=dark] .tag-multi-select option{background:var(--neutral-100);color:var(--text-primary)}[data-theme=dark] .tag-multi-select option:checked{background:var(--brand);color:#fff}.tag-select-hint{font-size:.85rem;color:var(--text-secondary);font-style:italic}[data-theme=dark] .tag-select-hint{color:var(--text-secondary)}.selected-tags-preview{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.remove-tag{background:none;border:none;color:#fff;font-size:1.2rem;line-height:1;padding:0 0 0 .3rem;margin-left:.2rem;cursor:pointer;opacity:.8;transition:opacity .2s}.remove-tag:hover{opacity:1}.tag-label{padding:.3rem .7rem;border-radius:12px;color:#fff;font-size:.85rem;font-weight:500}.comment-tags{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.tag-badge{padding:.25rem .6rem;border-radius:12px;color:#fff;font-size:.8rem;font-weight:600}.comment-form{background:var(--surface);padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem;border:2px solid var(--neutral-200)}[data-theme=dark] .comment-form{background:var(--surface);border-color:var(--neutral-200);box-shadow:0 2px 8px #0000004d;color:var(--text-primary)}.comment-form textarea{width:100%;padding:1rem;border:1px solid var(--neutral-300);border-radius:8px;font-family:inherit;font-size:1rem;resize:vertical;margin-bottom:1rem;background:var(--bg);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}[data-theme=dark] .comment-form textarea{background:var(--neutral-100);border-color:var(--neutral-200);color:var(--text-primary)}.comment-form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}[data-theme=dark] .comment-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.2)}.comment-image-preview{position:relative;display:inline-block;margin-bottom:1rem}.comment-image-preview img{max-width:300px;max-height:200px;border-radius:8px;object-fit:cover}.remove-image{position:absolute;top:8px;right:8px;background:#0009;color:#fff;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.remove-image:hover{background:#000c}.form-section-header{margin-bottom:.75rem}.form-hint{font-size:.9rem;color:var(--text-secondary);font-weight:500;display:block}.comment-form-actions{display:flex;gap:1rem;align-items:center;margin-top:1rem}.btn-post{padding:.7rem 2rem;background:var(--brand);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s;margin-left:auto}.btn-post:hover:not(:disabled){background:var(--brand-600)}.btn-post:disabled{opacity:.5;cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:1.5rem}.no-comments{text-align:center;color:var(--text-secondary);padding:3rem 1rem;font-size:1.1rem}.comment-card{background:var(--surface);padding:1.5rem;border-radius:12px;box-shadow:0 2px 6px #00000014;border:1px solid var(--neutral-200)}[data-theme=dark] .comment-card{background:var(--surface);border-color:var(--neutral-700);box-shadow:0 2px 6px #0000004d}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:.5rem}.comment-author{font-weight:600;color:var(--text-primary);font-size:1rem}.comment-author--link{text-decoration:none;color:var(--brand, #0e6c55);transition:color .2s ease}.comment-author--link:hover{color:var(--brand-600, #0a5443);text-decoration:underline}.comment-author--link:focus{outline:2px solid var(--brand, #0e6c55);outline-offset:2px;border-radius:2px}.comment-date{color:var(--text-secondary);font-size:.9rem;flex-grow:1}.btn-delete-comment{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;opacity:.6;transition:all .2s;border-radius:4px}.btn-delete-comment:hover{opacity:1;background:#ff00001a;transform:scale(1.1)}.btn-delete-comment:active{transform:scale(.95)}.comment-content{color:var(--text-primary);line-height:1.6;margin-bottom:1rem;white-space:pre-wrap}.comment-image{width:100%;max-height:400px;object-fit:cover;border-radius:8px;margin-top:.5rem}.load-more-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0}.btn-load-more{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;background:var(--brand);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:200px;box-shadow:0 2px 8px #0e6c5533}.btn-load-more:hover:not(:disabled){background:var(--brand-600);transform:translateY(-2px);box-shadow:0 4px 12px #0e6c554d}.btn-load-more:focus{outline:2px solid var(--brand);outline-offset:2px}.btn-load-more:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-load-more .remaining-count{font-size:.85rem;opacity:.95;font-weight:400}.btn-scroll-to-top-inline{padding:.75rem 1.5rem;background:var(--neutral-100);color:var(--text-primary);border:1px solid var(--neutral-300);border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-scroll-to-top-inline:hover{background:var(--neutral-200);border-color:var(--brand);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}[data-theme=dark] .btn-scroll-to-top-inline{background:var(--neutral-800);border-color:var(--neutral-700)}[data-theme=dark] .btn-scroll-to-top-inline:hover{background:var(--neutral-700);border-color:var(--brand)}.btn-scroll-to-top-floating{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;background:var(--brand);color:#fff;border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 12px #0e6c554d;transition:all .3s ease;z-index:1000;display:flex;align-items:center;justify-content:center}.btn-scroll-to-top-floating:hover{background:var(--brand-600);transform:translateY(-4px);box-shadow:0 6px 16px #0e6c5566}.btn-scroll-to-top-floating:active{transform:translateY(-2px)}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.end-of-comments{text-align:center;padding:2rem 1rem;color:var(--text-secondary);font-size:.95rem;font-style:italic;border-top:1px solid var(--neutral-200);margin-top:1rem}[data-theme=dark] .end-of-comments{border-top-color:var(--neutral-700)}@media (max-width: 768px){.animal-detail-page{padding:1rem}.breadcrumb-list{font-size:.875rem;gap:.375rem}.breadcrumb-link,.breadcrumb-current{font-size:.875rem;padding:.125rem .375rem}.breadcrumb-link svg{width:14px;height:14px}.breadcrumb-separator{font-size:1rem}.animal-details{padding:1.5rem}.animal-details h1{font-size:1.5rem}.comment-form{padding:1rem}.comment-form-actions{flex-direction:column;align-items:stretch}.btn-post{margin-left:0}.comment-image-preview img{max-width:100%}.comments-count-and-sort{flex-direction:column;align-items:flex-start;gap:.75rem}.btn-sort{width:100%;justify-content:center}.btn-load-more{width:100%;font-size:.95rem;padding:.75rem 1.5rem}.btn-load-more .remaining-count{display:block;font-size:.85rem}.btn-scroll-to-top-inline{width:100%}.btn-scroll-to-top-floating{bottom:1rem;right:1rem;width:44px;height:44px;font-size:1.25rem}.comments-header-title{width:100%}.date-range-info{font-size:.8rem}.load-more-container{padding:1.5rem 0;gap:.75rem}}.quarantine-info{margin-top:1rem;padding:1rem;background:#ef44441a;border:2px solid var(--danger);border-radius:8px}.quarantine-notice{color:var(--danger);font-size:1rem;margin:0 0 .5rem}.quarantine-dates{color:var(--text-primary);font-size:.9rem;margin:.25rem 0}[data-theme=dark] .quarantine-info{background:#ef444433;border-color:#ef4444}[data-theme=dark] .quarantine-dates{color:var(--text-secondary)}.animal-tags-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--neutral-200)}[data-theme=dark] .animal-tags-section{border-top-color:var(--neutral-700)}.animal-tags-section h3{font-size:.9rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.animal-tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.animal-tag{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500;color:#fff;text-transform:capitalize;box-shadow:0 1px 2px #0000001a;transition:transform .2s ease}.animal-tag:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000026}[data-theme=dark] .animal-tag{box-shadow:0 1px 3px #0000004d}.name-history-section{margin-top:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.name-history-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.name-history-list{display:flex;flex-direction:column;gap:.5rem}.name-history-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--bg-primary);border-radius:6px;font-size:.875rem}.deleted-comments-section{background:var(--neutral-100);border:2px solid var(--neutral-300);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.deleted-comments-section h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem}[data-theme=dark] .deleted-comments-section{background:#1f2937cc;border-color:#ef4444}.deleted-comment{position:relative;opacity:.85;border:2px solid #fca5a5!important;background:#fef2f2!important}[data-theme=dark] .deleted-comment{opacity:1;background:#7f1d1d33!important;border-color:#ef4444!important}[data-theme=dark] .deleted-comment .comment-author{color:#f3f4f6}[data-theme=dark] .deleted-comment .comment-content{color:#e5e7eb}[data-theme=dark] .deleted-comment .comment-date{color:#d1d5db}.deleted-badge{position:absolute;top:.5rem;right:.5rem;background:#ef4444;color:#fff;padding:.35rem .85rem;border-radius:6px;font-size:.75rem;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 4px #ef44444d}.comment-meta{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--neutral-300);color:var(--text-secondary);font-size:.85rem;font-style:italic}[data-theme=dark] .comment-meta{border-top-color:#374151;color:#9ca3af}.name-history-old{color:var(--text-secondary);font-weight:500;text-decoration:line-through}.name-history-arrow{color:var(--text-tertiary)}.name-history-new{color:var(--text-primary);font-weight:600}.name-history-date{margin-left:auto;color:var(--text-tertiary);font-size:.8125rem}.photo-gallery-page{padding:2rem;max-width:1400px;margin:0 auto}.photo-gallery-container{background:var(--bg-primary)}.gallery-header{margin-bottom:2rem}.gallery-header h1{color:var(--text-primary);font-size:2rem;margin:1rem 0 .5rem}.gallery-header-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.photo-count{color:var(--text-secondary);font-size:1rem;margin:0}.back-link{color:var(--link);text-decoration:none;display:inline-block;margin-bottom:.5rem;font-size:.95rem}.back-link:hover{text-decoration:underline}.no-photos{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.no-photos p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:2rem}[data-theme=dark] .no-photos{background:var(--gray-800);box-shadow:0 2px 8px #0000004d}[data-theme=dark] .no-photos p{color:var(--gray-400)}.btn-primary{display:inline-block;padding:.8rem 2rem;background:var(--brand);color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:background .2s}.btn-primary:hover{background:var(--brand-600)}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.photo-card{background:#fff;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;border:1px solid rgba(0,0,0,.08)}.photo-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026;border-color:#0000001f}[data-theme=dark] .photo-card{background:var(--gray-800);box-shadow:0 2px 8px #0000004d;border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .photo-card:hover{box-shadow:0 4px 16px #0006;border-color:#ffffff26}.photo-card img{width:100%;height:250px;object-fit:cover;display:block}.profile-badge{position:absolute;top:.5rem;right:.5rem;background:var(--brand);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;z-index:10}.photo-caption{padding:0 1rem 1rem;color:var(--text-primary);font-size:.9rem;line-height:1.4;font-weight:500}.photo-info{padding:1rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,.06);background:#00000005}.photo-author{font-weight:700;color:var(--text-primary);font-size:.95rem;letter-spacing:.3px}.photo-date{color:var(--text-secondary);font-size:.85rem}[data-theme=dark] .photo-info{border-top-color:#ffffff14;background:#ffffff08}[data-theme=dark] .photo-author{color:#fff;font-weight:700}[data-theme=dark] .photo-date{color:var(--gray-300)}[data-theme=dark] .photo-caption{color:var(--gray-300);font-weight:500}.photo-tags{padding:0 1rem 1rem;display:flex;gap:.5rem;flex-wrap:wrap}.tag-badge{padding:.25rem .6rem;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600}.lightbox{position:fixed;inset:0;background:#000000f2;z-index:9999;display:flex;align-items:center;justify-content:center;padding:2rem}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;gap:2rem}.lightbox-close{position:absolute;top:-3rem;right:0;background:transparent;border:none;color:#fff;font-size:2.5rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s;z-index:10000}.lightbox-close:hover{opacity:1}.lightbox-nav{background:#fff3;border:none;color:#fff;font-size:3rem;cursor:pointer;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.lightbox-nav:hover:not(:disabled){background:#ffffff4d}.lightbox-nav:disabled{opacity:.3;cursor:not-allowed}.lightbox-prev{margin-right:1rem}.lightbox-next{margin-left:1rem}.lightbox-image-container{display:flex;flex-direction:column;max-width:70vw;max-height:85vh}.lightbox-image-container img{max-width:100%;max-height:calc(85vh - 200px);object-fit:contain;border-radius:8px}.lightbox-info{background:#000000b3;padding:1.5rem;border-radius:8px;margin-top:1rem;color:#fff}.lightbox-caption{font-size:1rem;line-height:1.6;margin-bottom:1rem;white-space:pre-wrap}.lightbox-meta{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#fffc;margin-bottom:1rem}.lightbox-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.lightbox-counter{text-align:center;color:#fffc;font-size:.9rem;margin:0}.profile-badge-large{background:var(--brand);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:600;margin-bottom:1rem;text-align:center}.lightbox-actions{display:flex;gap:1rem;margin-bottom:1rem}.btn-danger{padding:.6rem 1.2rem;background:#dc3545;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.btn-danger:hover{background:#c82333}.btn-secondary{padding:.6rem 1.2rem;background:#6c757d;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#5a6268}.modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:2rem}.modal-content{background:#fff;border-radius:12px;padding:0;max-width:500px;width:100%;box-shadow:0 25px 80px #0000004d,0 0 0 1px #0000000d;position:relative;overflow:hidden;display:flex;flex-direction:column;z-index:10000}.modal-content h2{color:var(--text-primary)!important;margin:0;font-weight:700;font-size:1.25rem;letter-spacing:.25px}.modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;background:#fff}.modal-body{padding:1.5rem;flex:1;overflow-y:auto;background:#fff}.image-preview{display:flex;gap:1rem;align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.75rem}.image-preview-thumb{position:relative;width:110px;height:110px;border-radius:6px;overflow:hidden;background:#000;flex-shrink:0;box-shadow:0 2px 6px #00000026}.image-preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}.image-preview-badge{position:absolute;bottom:4px;right:4px;background:var(--brand);color:#fff;font-size:.65rem;padding:.25rem .5rem;border-radius:4px;font-weight:600;letter-spacing:.5px}.image-preview-meta{flex:1;display:flex;flex-direction:column;gap:.35rem}.image-name{font-size:.85rem;font-weight:600;margin:0;color:var(--text-primary)}.image-details{margin:0;font-size:.75rem;color:var(--text-secondary)}.image-preview-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.btn-secondary.small{padding:.4rem .75rem;font-size:.7rem;border-radius:4px}[data-theme=dark] .modal-content{background:#1f2937;box-shadow:0 25px 80px #0009,0 0 0 1px #ffffff14}[data-theme=dark] .modal-header{background:#1f2937;border-bottom-color:#374151}[data-theme=dark] .modal-body{background:#1f2937}[data-theme=dark] .modal-content:before{background:var(--brand)}[data-theme=dark] .modal-content h2{color:#fff;font-weight:700}[data-theme=dark] .form-field{margin-bottom:1.25rem}[data-theme=dark] .form-field label{color:#fff;font-weight:600;display:block;margin-bottom:.5rem;font-size:.95rem}[data-theme=dark] .form-field input[type=file]{background:var(--gray-800);border-color:var(--brand);color:#fff;border-width:2px}[data-theme=dark] .form-field input[type=file]::file-selector-button{background:var(--brand);color:#fff;font-weight:600}[data-theme=dark] .form-field input[type=file]:hover{background:var(--gray-750);border-color:var(--brand-600);box-shadow:0 0 0 4px #0e6c5526}[data-theme=dark] .form-field input[type=file]:focus{box-shadow:0 0 0 4px #0e6c5533;outline:none}[data-theme=dark] .form-field textarea{background:var(--gray-800);border-color:var(--gray-600);color:#fff;font-size:.95rem;border-width:2px}[data-theme=dark] .form-field textarea::placeholder{color:var(--gray-500)}[data-theme=dark] .form-field textarea:hover{border-color:var(--brand)}[data-theme=dark] .form-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0e6c5533;outline:none}[data-theme=dark] .image-preview{background:var(--gray-800);border-color:var(--gray-700)}[data-theme=dark] .image-name{color:#fff}[data-theme=dark] .image-details{color:var(--gray-400)}[data-theme=dark] .modal-content .btn-primary{background:var(--brand);color:#fff;font-weight:600}[data-theme=dark] .modal-content .btn-primary:hover:not(:disabled){background:var(--brand-600)}[data-theme=dark] .modal-content .btn-secondary{border-color:var(--gray-700);color:var(--gray-300);font-weight:600}[data-theme=dark] .modal-content .btn-secondary:hover:not(:disabled){background:var(--gray-800);border-color:var(--gray-600);color:#fff}@media (max-width: 480px){.image-preview{flex-direction:column}.image-preview-thumb{width:100%;height:160px}.image-preview-actions{justify-content:flex-start}}.form-field label{display:block;color:var(--text-primary);font-weight:700;margin-bottom:.625rem;font-size:.95rem;letter-spacing:.2px}.form-field input[type=file]{width:100%;padding:1.25rem;border:2px dashed var(--brand);border-radius:10px;background:linear-gradient(to bottom,#fff,#fafafa);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s;text-align:center}.form-field input[type=file]::file-selector-button{padding:.625rem 1.5rem;background:var(--brand);color:#fff;border:none;border-radius:6px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;margin-right:1rem}.form-field input[type=file]::file-selector-button:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 2px 8px #0e6c5540}.form-field input[type=file]:hover{background:#fff;border-color:var(--brand-600);box-shadow:0 0 0 4px #0e6c5514}.form-field input[type=file]:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px #0e6c551f}.form-field textarea{width:100%;padding:.875rem;border:2px solid var(--border);border-radius:8px;background:#fff;color:var(--text-primary);font-family:inherit;resize:vertical;font-size:.9rem;line-height:1.6;transition:all .2s}.form-field textarea::placeholder{color:var(--text-secondary);opacity:.6}.form-field textarea:hover{border-color:var(--brand)}.form-field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #0e6c551a}.modal-actions{display:flex;justify-content:flex-end;gap:.875rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#fff}[data-theme=dark] .modal-actions{background:#1f2937;border-top-color:#374151}.modal-content .btn-primary{padding:.8rem 2rem;background:var(--brand);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .15s;box-shadow:0 1px 3px #0e6c5533}.modal-content .btn-primary:hover:not(:disabled){background:var(--brand-600);transform:translateY(-1px);box-shadow:0 3px 8px #0e6c5540}.modal-content .btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0e6c5533}.modal-content .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-content .btn-secondary{padding:.8rem 1.5rem;background:transparent;color:var(--text-secondary);border:none;border-radius:8px;font-weight:500;font-size:.9375rem;cursor:pointer;transition:all .15s}.modal-content .btn-secondary:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}@media (max-width: 768px){.photo-gallery-page{padding:1rem}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.photo-card img{height:180px}.lightbox{padding:1rem}.lightbox-content{flex-direction:column;gap:1rem}.lightbox-image-container{max-width:90vw}.lightbox-image-container img{max-height:calc(90vh - 250px)}.lightbox-nav{width:40px;height:40px;font-size:2rem}.lightbox-close{top:-2.5rem;font-size:2rem}.lightbox-info{padding:1rem}}.admin-section{margin-bottom:1.5rem}.btn-toggle-deleted{background:var(--neutral-200);border:1px solid var(--neutral-300);padding:.75rem 1rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;color:var(--text-primary);transition:all .2s;width:100%;text-align:left}.btn-toggle-deleted:hover{background:var(--neutral-300);border-color:var(--neutral-400)}[data-theme=dark] .btn-toggle-deleted{background:var(--neutral-700);border-color:var(--neutral-600)}[data-theme=dark] .btn-toggle-deleted:hover{background:var(--neutral-600);border-color:var(--neutral-500)}.deleted-photos-section{background:var(--neutral-100);border:2px solid var(--neutral-300);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.deleted-photos-section h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem}[data-theme=dark] .deleted-photos-section{background:#1f2937cc;border-color:#ef4444}.deleted-photo{position:relative;opacity:.85;border:2px solid #fca5a5!important;cursor:default!important}.deleted-photo:hover{transform:none!important}[data-theme=dark] .deleted-photo{opacity:1;border-color:#ef4444!important;background:#7f1d1d1a!important}.deleted-badge{position:absolute;top:.5rem;right:.5rem;background:#ef4444;color:#fff;padding:.35rem .85rem;border-radius:6px;font-size:.75rem;font-weight:700;letter-spacing:.5px;z-index:10;box-shadow:0 2px 4px #ef44444d}.photo-meta{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--neutral-300);color:var(--text-secondary);font-size:.75rem;font-style:italic}[data-theme=dark] .photo-meta{border-top-color:#374151;color:#9ca3af}.home{display:flex;flex-direction:column}.hero{position:relative;min-height:clamp(400px,60vh,660px);background-size:cover;background-position:center;background-color:var(--navy)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000004d,#0006)}.hero-content{position:relative;z-index:1;max-width:960px;margin:0 auto;padding:6rem 2rem 5rem;text-align:center;color:#fff}.hero h1{font-size:3.5rem;line-height:1.1;margin-bottom:1.25rem;font-weight:700;letter-spacing:-.02em;text-shadow:0 2px 4px rgba(0,0,0,.8),0 4px 8px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.9);color:#fff}.hero p{font-size:1.375rem;margin-bottom:2.5rem;line-height:1.6;text-shadow:0 2px 4px rgba(0,0,0,.7),0 3px 6px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.8);color:#fff;opacity:.98}.hero-cta .btn{padding:1rem 2rem;border-radius:8px;font-weight:600;font-size:1.125rem;transition:all .2s ease;box-shadow:0 4px 12px #0003}.btn.btn-primary{background-color:var(--brand);color:#fff;text-decoration:none;border:none;cursor:pointer}.btn.btn-primary:hover{background-color:var(--brand-600);transform:translateY(-2px);box-shadow:0 6px 16px #00a3ad66;text-decoration:none}.btn.btn-primary:active{transform:translateY(0)}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;max-width:1200px;margin:3rem auto 4rem;padding:0 2rem;position:relative;z-index:2}.feature{background:var(--surface);border-radius:12px;box-shadow:0 4px 16px #00000014;padding:2rem;border-top:6px solid var(--accent);border:1px solid var(--neutral-200);transition:all .2s ease}[data-theme=dark] .feature{border-color:var(--neutral-700);border-top:6px solid var(--accent)}.feature:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00a3ad26}.feature h3{color:var(--navy);margin-bottom:.75rem;font-size:1.25rem;font-weight:600}[data-theme=dark] .feature h3{color:var(--text-primary)}.feature p{color:var(--text-secondary);line-height:1.6}@media (max-width: 768px){.hero-content{padding:4rem 1.5rem 3rem}.hero h1{font-size:2.5rem}.hero p{font-size:1.125rem}.hero-cta .btn{padding:.875rem 1.5rem;font-size:1rem}.features{gap:1.5rem;padding:0 1rem;margin:2rem auto 3rem}.feature{padding:1.5rem}}@media (max-width: 480px){.hero h1{font-size:2rem}.hero p{font-size:1rem}.features{grid-template-columns:1fr}}.users-page{max-width:1280px;margin:2rem auto;padding:2rem;background:var(--surface);border-radius:12px;box-shadow:0 2px 12px #00000014;border:1px solid var(--neutral-200)}[data-theme=dark] .users-page{border-color:var(--neutral-700)}.users-page h1{color:var(--navy);margin-bottom:1.5rem;font-size:2rem;font-weight:700;letter-spacing:-.02em}[data-theme=dark] .users-page h1{color:var(--text-primary)}.users-table{width:100%;border-collapse:collapse;margin-top:1.5rem;background:var(--surface);border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000a}.users-table th,.users-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--neutral-200)}[data-theme=dark] .users-table th,[data-theme=dark] .users-table td{border-bottom-color:var(--neutral-700)}.users-table th{background:var(--navy);color:#fff;font-weight:600;font-size:.9375rem;text-transform:uppercase;letter-spacing:.05em}.users-table tbody tr{transition:background-color .2s ease}.users-table tbody tr:hover{background:#00a3ad0d}.users-table tbody tr:nth-child(2n){background:var(--bg)}.users-table tbody tr:nth-child(2n):hover{background:#00a3ad14}.users-table tr:last-child td{border-bottom:none}.users-table td{color:var(--text-primary)}.users-loading,.users-error{margin:2rem 0;text-align:center;font-size:1.125rem;font-weight:500}.users-loading{color:var(--brand)}.users-error{color:var(--danger)}.users-create-bar{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.users-filters{background:var(--surface);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014;border:1px solid var(--neutral-200)}[data-theme=dark] .users-filters{border-color:var(--neutral-700)}.users-create-form{background:var(--surface);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014;border:1px solid var(--neutral-200)}[data-theme=dark] .users-create-form{border-color:var(--neutral-700)}.users-create-form>div{margin-bottom:1rem}.users-create-form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.users-create-form input[type=text],.users-create-form input[type=email],.users-create-form input[type=password]{width:100%;padding:.625rem;border:1px solid var(--neutral-300);border-radius:6px;font-size:1rem;background:var(--surface);color:var(--text-primary)}.users-create-form input[type=text]:focus,.users-create-form input[type=email]:focus,.users-create-form input[type=password]:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00a3ad1a}.group-list{list-style:none;padding:0;margin:.5rem 0}.group-list li{padding:.5rem 0}.group-list label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.users-success{color:var(--success-600);background:#10b9811a;border:1px solid var(--success);padding:.875rem;border-radius:8px;margin-top:1rem;font-weight:500}.user-action-btn{padding:.5rem 1rem;border:1px solid var(--brand);background:transparent;color:var(--brand);border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease;min-height:44px}.user-action-btn:hover:not(:disabled){background:var(--brand);color:#fff}.user-action-btn:disabled{opacity:.5;cursor:not-allowed}.user-action-btn.danger{border-color:var(--danger);color:var(--danger)}.user-action-btn.danger:hover:not(:disabled){background:var(--danger);color:#fff}.user-actions{display:flex;gap:.5rem;flex-wrap:wrap}.group-link{color:var(--brand);text-decoration:none;font-weight:500;transition:all .2s ease;border-bottom:1px solid transparent}.group-link:hover{color:var(--brand-600);border-bottom-color:var(--brand-600)}.group-link:focus{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}[data-theme=dark] .group-link{color:var(--teal)}[data-theme=dark] .group-link:hover{color:var(--teal-400);border-bottom-color:var(--teal-400)}.username-link{color:var(--brand);text-decoration:none;font-weight:600;transition:all .2s ease;border-bottom:1px solid transparent}.username-link:hover{color:var(--brand-600);border-bottom-color:var(--brand-600)}.username-link:focus{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}[data-theme=dark] .username-link{color:var(--teal)}[data-theme=dark] .username-link:hover{color:var(--teal-400);border-bottom-color:var(--teal-400)}.group-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.group-modal{background:var(--surface);padding:2rem;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.group-modal h2{color:var(--text-primary);margin-bottom:1.5rem}.users-table button{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.875rem;transition:all .2s ease}.users-table button.btn-primary{background:var(--brand);color:#fff}.users-table button.btn-primary:hover{background:var(--brand-600);transform:translateY(-1px)}.users-table button.btn-danger{background:var(--danger);color:#fff}.users-table button.btn-danger:hover{background:var(--danger-600);transform:translateY(-1px)}.role-badge{display:inline-block;padding:.375rem .875rem;border-radius:20px;font-size:.8125rem;font-weight:600;text-transform:capitalize;letter-spacing:.02em}.role-badge.admin{background:#7b68a61a;color:var(--purple-600);border:1px solid var(--purple)}.role-badge.volunteer{background:#00a3ad1a;color:var(--brand-600);border:1px solid var(--brand)}@media (max-width: 768px){.users-page{padding:1rem;margin:1rem}.users-page h1{font-size:1.75rem}.users-table{display:none}.users-mobile-cards{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.user-card{background:var(--surface);padding:1.25rem;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid var(--neutral-200)}[data-theme=dark] .user-card{border-color:var(--neutral-700)}.user-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--neutral-200)}[data-theme=dark] .user-card-header{border-bottom-color:var(--neutral-700)}.user-card-title{flex:1}.user-card-name{font-weight:600;font-size:1.125rem;color:var(--text-primary);margin-bottom:.25rem}.user-card-email{font-size:.9375rem;color:var(--text-secondary)}.user-card-info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.user-card-info-row{display:flex;justify-content:space-between;align-items:center}.user-card-info-label{font-weight:500;color:var(--text-secondary);font-size:.875rem}.user-card-info-value{color:var(--text-primary);font-weight:500}.user-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.user-card-actions button{flex:1;min-width:calc(50% - .25rem);padding:.625rem 1rem;font-size:.875rem}}@media (min-width: 769px){.users-mobile-cards{display:none}.users-table{display:table}}.user-stat{font-size:.9375rem;color:var(--text-secondary, #6b7280);white-space:nowrap}.group-admin-controls{display:flex;flex-direction:column;gap:.5rem}.group-admin-controls.mobile{gap:.375rem}.group-admin-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.group-admin-group-name{color:var(--text-secondary);font-weight:500;min-width:80px}[data-theme=dark] .group-admin-group-name{color:var(--dark-text-secondary)}.group-admin-toggle-btn{padding:.25rem .75rem;border-radius:6px;font-size:.8125rem;font-weight:600;border:1px solid;cursor:pointer;transition:all .2s ease;white-space:nowrap}.group-admin-toggle-btn.is-admin{background:var(--brand);color:#fff;border-color:var(--brand)}.group-admin-toggle-btn.is-admin:hover:not(:disabled){background:var(--brand-darker);border-color:var(--brand-darker)}.group-admin-toggle-btn.not-admin{background:var(--surface);color:var(--text-secondary);border-color:var(--neutral-300)}.group-admin-toggle-btn.not-admin:hover:not(:disabled){background:var(--brand);color:#fff;border-color:var(--brand)}.group-admin-toggle-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .group-admin-toggle-btn.is-admin{background:var(--teal);border-color:var(--teal)}[data-theme=dark] .group-admin-toggle-btn.is-admin:hover:not(:disabled){background:var(--brand);border-color:var(--brand)}[data-theme=dark] .group-admin-toggle-btn.not-admin{background:var(--dark-surface-alt);color:var(--dark-text-secondary);border-color:var(--neutral-700)}[data-theme=dark] .group-admin-toggle-btn.not-admin:hover:not(:disabled){background:var(--teal);color:var(--dark-text-primary);border-color:var(--teal)}.user-card-info .group-admin-controls{margin-top:.25rem}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;margin-top:1.5rem}@media (max-width: 768px){.users-grid{grid-template-columns:1fr;gap:1rem}}.user-card-new{background:var(--surface);border-radius:12px;padding:1.25rem;border:1px solid var(--neutral-200);transition:all .2s ease;display:flex;flex-direction:column;gap:1rem}.user-card-new:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.user-card-new.deleted{opacity:.7;background:var(--neutral-100)}[data-theme=dark] .user-card-new{border-color:var(--neutral-700);background:var(--dark-surface)}[data-theme=dark] .user-card-new:hover{box-shadow:0 4px 16px #0000004d}[data-theme=dark] .user-card-new.deleted{background:var(--dark-surface-alt)}.user-card-header-new{display:flex;align-items:center;gap:.875rem}.user-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--brand) 0%,var(--teal) 100%);color:#fff;font-weight:700;font-size:1.125rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.user-name-link{font-weight:600;font-size:1rem;color:var(--text-primary);text-decoration:none;transition:color .15s ease}.user-name-link:hover{color:var(--brand)}[data-theme=dark] .user-name-link{color:var(--dark-text-primary)}[data-theme=dark] .user-name-link:hover{color:var(--teal)}.user-email{font-size:.875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .user-email{color:var(--dark-text-secondary)}.badge{padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-admin{background:var(--brand);color:#fff}.badge-deleted{background:var(--danger);color:#fff}[data-theme=dark] .badge-admin{background:var(--teal)}.user-groups-section{min-height:32px}.group-list-simple{display:flex;flex-direction:column;gap:.625rem}.group-item-simple{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.05)}.group-item-simple:last-child{border-bottom:none}[data-theme=dark] .group-item-simple{border-bottom-color:#ffffff0d}.group-name{color:var(--brand);font-weight:500;font-size:.9375rem;text-decoration:none;transition:opacity .15s ease}.group-name:hover{opacity:.8}[data-theme=dark] .group-name{color:var(--teal)}.admin-toggle{padding:.375rem .875rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.admin-toggle:hover:not(:disabled){background:#0e6c551a;border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.admin-toggle.is-admin{background:#0e6c5526;border-color:var(--brand);color:var(--brand);font-weight:600}.admin-toggle:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .admin-toggle{background:var(--dark-surface-alt);border-color:var(--neutral-700);color:var(--dark-text-secondary)}[data-theme=dark] .admin-toggle:hover:not(:disabled){background:#14b8a626;border-color:var(--teal);color:var(--teal)}[data-theme=dark] .admin-toggle.is-admin{background:#14b8a633;border-color:var(--teal);color:var(--teal)}.admin-label{padding:.375rem .875rem;background:#0e6c5526;border:1px solid var(--brand);border-radius:6px;color:var(--brand);font-size:.8125rem;font-weight:500}[data-theme=dark] .admin-label{background:#14b8a633;border-color:var(--teal);color:var(--teal)}.no-groups{font-size:.875rem;color:var(--text-tertiary, #9ca3af);font-style:italic}[data-theme=dark] .no-groups{color:var(--dark-text-tertiary, #6b7280)}.user-stats-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-top:1px solid var(--neutral-100);border-bottom:1px solid var(--neutral-100)}[data-theme=dark] .user-stats-row{border-color:var(--neutral-800)}.stat-item{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary)}.stat-item svg{color:var(--brand);flex-shrink:0}[data-theme=dark] .stat-item{color:var(--dark-text-secondary)}[data-theme=dark] .stat-item svg{color:var(--teal)}.stat-item.last-seen{margin-left:auto;font-size:.75rem}.stat-item .inactive{color:var(--text-tertiary);font-style:italic}.user-card-actions-new{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto}.action-btn{padding:.5rem .875rem;border-radius:6px;font-size:.8125rem;font-weight:500;border:1px solid var(--neutral-300);background:#fff;color:var(--text-primary);cursor:pointer;transition:all .15s ease;text-decoration:none;text-align:center}.action-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand);transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.action-btn.secondary{background:#fff;border-color:var(--neutral-300);color:var(--text-primary)}.action-btn.secondary:hover:not(:disabled){background:var(--brand);color:#fff;border-color:var(--brand)}.action-btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.action-btn.primary:hover:not(:disabled){background:var(--brand-darker, #0a5443);border-color:var(--brand-darker, #0a5443)}.action-btn.full-width{width:100%}.action-btn.danger{color:var(--danger);border-color:var(--danger-light, #fecaca);background:#fff}.action-btn.danger:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger)}.action-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .action-btn,[data-theme=dark] .action-btn.secondary{background:var(--dark-surface-alt);border-color:var(--neutral-700);color:var(--dark-text-primary)}[data-theme=dark] .action-btn:hover:not(:disabled),[data-theme=dark] .action-btn.secondary:hover:not(:disabled){background:var(--teal);border-color:var(--teal);color:var(--dark-surface)}[data-theme=dark] .action-btn.primary{background:var(--teal);border-color:var(--teal);color:var(--dark-surface)}[data-theme=dark] .action-btn.danger{background:var(--dark-surface-alt);color:var(--danger);border-color:var(--neutral-700)}.users-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}[data-theme=dark] .users-empty{color:var(--dark-text-secondary)}.users-create-form{background:var(--surface);padding:2rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 4px 16px #0000001a;border:2px solid var(--brand);animation:slideDown .3s ease-out}[data-theme=dark] .users-create-form{background:var(--dark-surface-alt);border-color:var(--teal);box-shadow:0 4px 16px #0000004d}.create-form-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--neutral-200)}[data-theme=dark] .create-form-header{border-bottom-color:var(--neutral-700)}.create-form-header h2{color:var(--navy);margin:0 0 .5rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}[data-theme=dark] .create-form-header h2{color:var(--dark-text-primary)}.form-description{color:var(--text-secondary);font-size:.9375rem;margin:0;line-height:1.5}[data-theme=dark] .form-description{color:var(--dark-text-secondary)}.form-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media (min-width: 768px){.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid .form-field:last-child{grid-column:1 / -1}}.form-field{display:flex;flex-direction:column}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary);font-size:.9375rem}[data-theme=dark] .form-label{color:var(--dark-text-primary)}.required{color:var(--danger);font-weight:700;margin-left:.125rem}.form-input{width:100%;padding:.75rem 1rem;border:2px solid var(--neutral-300);border-radius:8px;font-size:1rem;background:var(--surface);color:var(--text-primary);transition:all .2s ease;font-family:inherit}.form-input:hover{border-color:var(--neutral-400)}.form-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px #0e6c551a}.form-input::placeholder{color:var(--text-tertiary)}.form-input.input-error{border-color:var(--danger);background:#ef44440d}.form-input.input-error:focus{box-shadow:0 0 0 4px #ef44441a}[data-theme=dark] .form-input{background:var(--dark-surface);border-color:var(--neutral-700);color:var(--dark-text-primary)}[data-theme=dark] .form-input:hover{border-color:var(--neutral-600)}[data-theme=dark] .form-input:focus{border-color:var(--teal);box-shadow:0 0 0 4px #14b8a61a}[data-theme=dark] .form-input.input-error{background:#ef44441a}.field-hint{display:block;margin-top:.5rem;font-size:.8125rem;color:var(--text-secondary);line-height:1.4}[data-theme=dark] .field-hint{color:var(--dark-text-secondary)}.field-error{display:flex;align-items:center;gap:.375rem;margin-top:.5rem;font-size:.8125rem;color:var(--danger);font-weight:500}.field-error svg{flex-shrink:0}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:3rem}.password-toggle{position:absolute;right:.5rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.password-toggle:hover{background:var(--neutral-100);color:var(--text-primary)}.password-toggle:focus{outline:none;box-shadow:0 0 0 3px #0e6c551a}[data-theme=dark] .password-toggle{color:var(--dark-text-secondary)}[data-theme=dark] .password-toggle:hover{background:var(--neutral-800);color:var(--dark-text-primary)}.password-strength{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.strength-bar{flex:1;height:6px;background:var(--neutral-200);border-radius:3px;overflow:hidden}[data-theme=dark] .strength-bar{background:var(--neutral-700)}.strength-fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:3px}.strength-fill.strength-weak{background:#ef4444}.strength-fill.strength-medium{background:#f59e0b}.strength-fill.strength-strong{background:#10b981}.strength-label{font-size:.8125rem;font-weight:600;white-space:nowrap}.checkbox-field{padding:1.25rem;background:#0e6c550d;border:2px solid var(--brand);border-radius:8px;margin-bottom:1.5rem}[data-theme=dark] .checkbox-field{background:#14b8a61a;border-color:var(--teal)}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input{position:absolute;opacity:0;width:0;height:0}.checkbox-box{position:relative;width:20px;height:20px;min-width:20px;border:2px solid var(--neutral-300);border-radius:4px;background:#fff;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin-top:.125rem}[data-theme=dark] .checkbox-box{background:var(--dark-surface);border-color:var(--neutral-700)}.checkbox-icon{opacity:0;transform:scale(.7);transition:all .15s ease}.checkbox-input:checked+.checkbox-box{background:var(--brand);border-color:var(--brand)}.checkbox-input:checked+.checkbox-box .checkbox-icon{opacity:1;transform:scale(1)}[data-theme=dark] .checkbox-input:checked+.checkbox-box{background:var(--teal);border-color:var(--teal)}.checkbox-input:focus+.checkbox-box{outline:none;box-shadow:0 0 0 3px #0e6c551a}[data-theme=dark] .checkbox-input:focus+.checkbox-box{box-shadow:0 0 0 3px #14b8a61a}.checkbox-text strong{color:var(--text-primary);font-weight:600}[data-theme=dark] .checkbox-text strong{color:var(--dark-text-primary)}.checkbox-description{font-size:.8125rem;color:var(--text-secondary);line-height:1.4}[data-theme=dark] .checkbox-description{color:var(--dark-text-secondary)}.group-checkboxes{display:grid;grid-template-columns:1fr;gap:.75rem;padding:1rem;background:var(--bg);border:1px solid var(--neutral-200);border-radius:8px;max-height:300px;overflow-y:auto}@media (min-width: 640px){.group-checkboxes{grid-template-columns:repeat(2,1fr)}}[data-theme=dark] .group-checkboxes{background:var(--dark-surface);border-color:var(--neutral-700)}.group-checkbox-label{display:flex;align-items:center;gap:.625rem;padding:.75rem;background:#fff;border:1px solid var(--neutral-200);border-radius:6px;cursor:pointer;transition:all .2s ease}.group-checkbox-label:hover{border-color:var(--brand);box-shadow:0 2px 4px #0000000d}[data-theme=dark] .group-checkbox-label{background:var(--dark-surface-alt);border-color:var(--neutral-700)}[data-theme=dark] .group-checkbox-label:hover{border-color:var(--teal)}.group-name{font-weight:600;color:var(--text-primary);font-size:.9375rem}[data-theme=dark] .group-name{color:var(--dark-text-primary)}.group-description{font-size:.8125rem;color:var(--text-secondary);margin-left:auto}[data-theme=dark] .group-description{color:var(--dark-text-secondary)}.no-groups-message{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--text-secondary);font-size:.9375rem;grid-column:1 / -1}[data-theme=dark] .no-groups-message{color:var(--dark-text-secondary)}.form-alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;font-weight:500;font-size:.9375rem;margin-bottom:1rem;animation:alertSlideIn .3s ease-out}@keyframes alertSlideIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.form-alert svg{flex-shrink:0}.alert-error{background:#ef44441a;border:2px solid var(--danger);color:#b91c1c}[data-theme=dark] .alert-error{background:#ef444426;color:#fca5a5}.alert-success{background:#10b9811a;border:2px solid var(--success);color:#047857}[data-theme=dark] .alert-success{background:#10b98126;color:#6ee7b7}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:2px solid var(--neutral-200);margin-top:1rem}[data-theme=dark] .form-actions{border-top-color:var(--neutral-700)}.btn-primary,.btn-secondary{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;border-radius:8px;font-size:1rem;font-weight:600;border:2px solid;cursor:pointer;transition:all .2s ease;min-height:48px;min-width:140px}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-darker, #0a5443);border-color:var(--brand-darker, #0a5443);transform:translateY(-1px);box-shadow:0 4px 12px #0e6c554d}[data-theme=dark] .btn-primary{background:var(--teal);border-color:var(--teal);color:var(--dark-surface)}[data-theme=dark] .btn-primary:hover:not(:disabled){background:#0d9488;border-color:#0d9488;box-shadow:0 4px 12px #14b8a64d}.btn-secondary{background:#fff;border-color:var(--neutral-300);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-400);transform:translateY(-1px)}[data-theme=dark] .btn-secondary{background:var(--dark-surface-alt);border-color:var(--neutral-700);color:var(--dark-text-primary)}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:var(--dark-surface);border-color:var(--neutral-600)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary:focus,.btn-secondary:focus{outline:none;box-shadow:0 0 0 4px #0e6c5533}[data-theme=dark] .btn-primary:focus{box-shadow:0 0 0 4px #14b8a633}.spinner{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 767px){.users-create-form{padding:1.5rem 1rem}.create-form-header h2{font-size:1.5rem}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}.group-checkboxes{grid-template-columns:1fr}}.admin-settings-page{padding:2rem;max-width:1200px;margin:0 auto}.admin-settings-container{background:var(--surface);border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.admin-settings-container h1{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem}.settings-tabs{display:flex;gap:.5rem;border-bottom:2px solid var(--neutral-200);margin-bottom:2rem}.tab-button{background:none;border:none;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s ease}.tab-button:hover{color:var(--text-primary);background:var(--neutral-50)}.tab-button.active{color:var(--brand);border-bottom-color:var(--brand)}.tab-content{animation:fadeIn .3s ease}.tab-panel h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem}.section-description{color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.settings-link-card{margin-top:2rem;padding:1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.link-card-content{display:flex;align-items:center;gap:1rem}.link-card-icon{font-size:2rem}.link-card-text h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.link-card-text p{font-size:.9rem;color:var(--text-secondary);margin:0}.link-card-button{padding:.625rem 1.25rem;background:var(--brand);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;text-decoration:none;transition:all .2s ease}.link-card-button:hover{background:var(--brand-600);transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.admin-settings-page{padding:1rem}.admin-settings-container{padding:1.5rem}.admin-settings-container h1{font-size:1.5rem}.settings-tabs{overflow-x:auto}.tab-button{padding:.75rem 1rem;font-size:.9rem;white-space:nowrap}.settings-link-card{flex-direction:column;align-items:stretch;text-align:center}.link-card-content{flex-direction:column;gap:.75rem}.link-card-button{width:100%;text-align:center}}.settings-page{padding:2rem;max-width:900px;margin:0 auto}.settings-container{background:var(--surface);border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.settings-container h1{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem}.settings-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}.settings-form{display:flex;flex-direction:column;gap:2rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:1rem;display:flex;flex-direction:column;gap:.25rem}.label-hint{font-weight:400;font-size:.9rem;color:var(--text-secondary)}.form-group input[type=url]{padding:.75rem 1rem;border:1px solid var(--neutral-300);border-radius:8px;font-size:1rem;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.form-group input[type=url]:focus{outline:none;border-color:var(--brand)}.field-help{font-size:.875rem;color:var(--text-secondary);margin:0}.field-help a{color:var(--brand);text-decoration:none}.field-help a:hover{text-decoration:underline}.image-preview{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--neutral-200)}.preview-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem}.image-preview .hero{min-height:200px;max-height:200px}.message{padding:1rem;border-radius:8px;font-size:.95rem}.message.success{background:#c6f6d5;color:#22543d;border:1px solid #9ae6b4}.message.error{background:#fed7d7;color:#742a2a;border:1px solid #fc8181}.form-actions{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--neutral-200)}.btn-save{padding:.875rem 2rem;background:var(--brand);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.btn-save:hover:not(:disabled){background:var(--brand-600);transform:translateY(-2px);box-shadow:0 4px 12px #00a3ad4d}.btn-save:disabled{opacity:.5;cursor:not-allowed}.loading{text-align:center;padding:3rem;color:var(--text-secondary);font-size:1.1rem}@media (max-width: 768px){.settings-page{padding:1rem}.settings-container{padding:1.5rem}.settings-container h1{font-size:1.5rem}.image-preview .hero{min-height:150px;max-height:150px}}.announcements-tab{max-width:900px;margin:0 auto}.announcements-tab h2{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.tab-description{color:var(--text-secondary);margin-bottom:2rem}.announcement-form{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;padding:2rem;margin-bottom:3rem}.form-field{margin-bottom:1.5rem}.form-field label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.required{color:var(--danger)}.form-input,.form-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;font-family:inherit;background:var(--input-background);color:var(--text-primary);transition:border-color .2s}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0e6c551a}.form-input:disabled,.form-textarea:disabled{opacity:.6;cursor:not-allowed}.form-textarea{resize:vertical;min-height:150px}.char-count{display:block;font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.delivery-options{margin:2rem 0;padding:1.5rem;background:var(--hover-background);border-radius:8px}.delivery-options h3{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.delivery-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.checkbox-group{display:flex;flex-direction:column;gap:1rem}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:6px;transition:background-color .2s}.checkbox-label:hover{background-color:var(--card-background)}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0}.checkbox-text{display:flex;flex-direction:column;gap:.25rem}.checkbox-description{font-size:.875rem;color:var(--text-secondary);font-weight:400}.groupme-info{margin-top:1rem;padding:1rem;background:var(--card-background);border-radius:6px;border-left:3px solid var(--primary)}.groupme-info strong{display:block;margin-bottom:.5rem;color:var(--text-primary)}.groupme-info ul{list-style:none;padding:0;margin:0}.groupme-info li{padding:.25rem 0;color:var(--text-secondary)}.groupme-info li:before{content:"→ ";color:var(--primary);margin-right:.5rem}.groupme-notice{display:flex;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:1rem;background:var(--warning-light, #fef3c7);border:1px solid var(--warning, #f59e0b);border-radius:6px;color:var(--warning-dark, #92400e)}.groupme-notice svg{flex-shrink:0;margin-top:2px}.form-actions{display:flex;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.announcements-list{margin-top:3rem}.empty-message{text-align:center;color:var(--text-secondary);padding:2rem}.announcements-grid{display:grid;gap:1.5rem}.announcement-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:box-shadow .2s}.announcement-card:hover{box-shadow:0 4px 12px #0000001a}.announcement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.announcement-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.btn-delete{background:none;border:none;color:var(--danger);cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s}.btn-delete:hover{background-color:var(--danger-light, #fee2e2)}.announcement-content{color:var(--text-secondary);margin-bottom:1rem;white-space:pre-wrap;word-wrap:break-word}.announcement-meta{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.announcement-date{font-size:.875rem;color:var(--text-secondary)}.announcement-delivery{display:flex;gap:.5rem}.delivery-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.delivery-badge.email{background-color:var(--primary-light, #d1fae5);color:var(--primary-dark, #065f46)}.delivery-badge.groupme{background-color:var(--info-light, #dbeafe);color:var(--info-dark, #1e40af)}.announcement-author{display:block;font-size:.875rem;color:var(--text-secondary);margin-top:.5rem;font-style:italic}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.announcement-form{padding:1.5rem}.announcement-meta{flex-direction:column;align-items:flex-start;gap:.75rem}}.developer-tab{max-width:900px;margin:0 auto}.developer-section{margin-bottom:2rem}.section-description{color:var(--text-secondary);margin-bottom:1.5rem}.developer-card{background:var(--card-bg);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border-color)}.developer-card.danger-zone{border-color:var(--danger, #ef4444);border-width:2px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header h3{margin:0;font-size:1.25rem}.dev-only-badge{background:var(--warning-color);color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.card-description{color:var(--text-secondary);margin-bottom:1rem}.seed-info-list{list-style-type:disc;padding-left:1.5rem;margin:1rem 0;color:var(--text-secondary)}.seed-info-list li{margin:.5rem 0}.demo-accounts-info{background:var(--bg-secondary);border-radius:6px;padding:1rem;margin:1rem 0}.demo-accounts-info strong{display:block;margin-bottom:.5rem;color:var(--text-primary)}.demo-accounts-info ul{list-style:none;padding:0;margin:0}.demo-accounts-info li{padding:.25rem 0;font-family:Courier New,monospace;font-size:.9rem;color:var(--text-secondary)}.demo-accounts-info code{background:var(--bg-primary);padding:.125rem .5rem;border-radius:3px;font-size:.85rem}.button-instructions{margin-top:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:4px;border-left:3px solid var(--primary-color)}.button-instructions p{margin:0;color:var(--text-primary)}.seed-button{display:block;width:100%;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s;margin-top:1rem}.danger-button{background:var(--danger, #ef4444);color:#fff;border:none}.danger-button:hover:not(:disabled){background:var(--danger-600, #dc2626);transform:translateY(-1px);box-shadow:0 2px 4px #0003}.danger-button:disabled{opacity:.6;cursor:not-allowed}.modal-overlay .modal-content{max-width:400px}.modal-overlay .modal-content h2{margin-bottom:1rem;color:var(--danger, #ef4444)}.modal-warning{background:#ef44441a;border-left:3px solid var(--danger, #ef4444);padding:.75rem 1rem;margin:1rem 0;border-radius:4px}.modal-warning p{margin:0;color:var(--danger, #ef4444)}.modal-warning strong{font-weight:700}.modal-body{color:var(--text-secondary);margin:1rem 0}.modal-section{margin:1.5rem 0}.modal-section p{margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.modal-section ul{list-style-type:disc;padding-left:1.5rem;margin:.5rem 0}.modal-section li{margin:.4rem 0;color:var(--text-secondary)}.modal-section ul ul{list-style-type:circle;margin-top:.25rem}.modal-section code{background:var(--bg-secondary);padding:.125rem .4rem;border-radius:3px;font-size:.9rem;font-family:Courier New,monospace}.modal-final-warning{background:var(--danger-bg, rgba(239, 68, 68, .1));border:2px solid var(--danger-color);padding:.75rem 1rem;margin:1rem 0;border-radius:4px;text-align:center}.modal-final-warning strong{color:var(--danger-color);font-size:1.1rem}.modal-instruction{margin-top:1rem;font-weight:500;color:var(--text-primary);text-align:center}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button{flex:1;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.cancel-button{background:#fff;color:var(--text-primary, #1f2937);border:2px solid var(--neutral-300, #d1d5db)}.cancel-button:hover:not(:disabled){background:var(--neutral-50, #f9fafb);border-color:var(--neutral-400, #9ca3af)}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.confirm-button:disabled{opacity:.6;cursor:not-allowed}.admin-tags-page{max-width:1400px;margin:0 auto;padding:2rem}.admin-tags-page.loading{display:flex;align-items:center;justify-content:center;min-height:50vh;font-size:1.125rem;color:var(--text-secondary)}.page-header{margin-bottom:2rem}.page-header-content h1{font-size:2rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}.page-subtitle{color:var(--text-secondary);font-size:1rem;margin:0;line-height:1.5}.group-selector{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem;background:var(--surface);border-radius:12px;border:1px solid var(--border)}.breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem}.breadcrumb-link{color:var(--brand);text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-separator{color:var(--text-tertiary)}.breadcrumb-current{color:var(--text-secondary)}.group-selector label{font-weight:600;color:var(--text-primary);white-space:nowrap}.group-select{flex:1;max-width:300px;padding:.75rem 2.5rem .75rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface) 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='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 1rem center;color:var(--text-primary);font-size:1rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}[data-theme=dark] .group-select{background:var(--surface) 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='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 1rem center}.group-select option{background-color:var(--surface);color:var(--text-primary)}.group-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.loading-indicator{text-align:center;padding:1rem;color:var(--text-secondary);font-style:italic}.section-tabs{display:none;gap:0;margin-bottom:1.5rem;border-radius:12px;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border)}.section-tab{flex:1;padding:1rem;border:none;background:transparent;color:var(--text-secondary);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.section-tab.active{background:var(--brand);color:#fff}.tags-layout{display:flex;flex-direction:column;gap:0}.section-divider{display:flex;align-items:center;justify-content:center;padding:2rem 0}.divider-line{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.tag-section{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.section-title h2{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}.section-description{color:var(--text-secondary);font-size:.9rem;margin:0;line-height:1.5;max-width:500px}.error-message{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3);padding:1rem;border-radius:8px;margin-bottom:1.5rem}[data-theme=dark] .error-message{background:#ef444426;color:#f87171}.tag-categories{display:flex;flex-direction:column;gap:2rem}.tag-category{background:var(--bg-secondary);border-radius:12px;padding:1.25rem}.category-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.category-header h3{font-size:1.125rem;font-weight:600;margin:0;color:var(--text-primary)}.category-count{font-size:.8rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .75rem;border-radius:12px;font-weight:500}.category-description{font-size:.85rem;color:var(--text-secondary);margin:0 0 1rem;line-height:1.4}.tags-grid{display:flex;flex-wrap:wrap;gap:.75rem}.no-tags{color:var(--text-secondary);font-style:italic;font-size:.9rem}.tag-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;background:var(--surface);border-radius:8px;border:1px solid var(--border);transition:all .2s ease}.tag-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.tag-display{display:flex;align-items:center}.tag-badge{display:inline-flex;align-items:center;padding:.4rem .875rem;border-radius:9999px;color:#fff;font-weight:600;font-size:.8rem;text-transform:capitalize;box-shadow:0 2px 4px #00000026}.tag-actions{display:flex;gap:.25rem}.comment-tags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.empty-state{text-align:center;padding:2rem;background:var(--bg-secondary);border-radius:12px;grid-column:1 / -1}.empty-hint{color:var(--text-secondary);font-size:.85rem;margin-top:.5rem}.comment-tag-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;transition:all .2s ease}.comment-tag-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.tag-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tag-preview{padding:.5rem 1rem;border-radius:16px;color:#fff;font-weight:600;font-size:.875rem;text-shadow:0 1px 2px rgba(0,0,0,.2);flex:1;text-align:center}.tag-stats{display:flex;flex-direction:column;gap:.4rem;padding-top:.5rem;border-top:1px solid var(--border);font-size:.8rem}.tag-stat-item{display:flex;justify-content:space-between;align-items:center}.tag-stat-label{color:var(--text-secondary);font-weight:500}.tag-stat-value{color:var(--text-primary);font-weight:600}.no-usage{color:var(--neutral-400);font-style:italic;text-align:center;padding:.25rem}.btn-primary{background:var(--brand);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.btn-primary.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-primary:hover{background:var(--brand-600);transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border);padding:.75rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.btn-secondary:hover{background:var(--bg-tertiary)}.btn-text{padding:.2rem .4rem;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.75rem;font-weight:500}.btn-text:hover{color:var(--text-primary);background:#0000000d}[data-theme=dark] .btn-text:hover{background:#ffffff1a}.btn-text.btn-danger{color:#f87171}.btn-text.btn-danger:hover{color:#ef4444;background:#ef44441a}.btn-delete{background:var(--danger);color:#fff;border:none;border-radius:4px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;transition:all .2s ease;flex-shrink:0}.btn-delete:hover{background:var(--danger-600);transform:scale(1.1)}.tag-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:.9rem}.form-hint{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;line-height:1.4}.form-group input[type=text],.form-group select{padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:1rem;font-family:inherit}[data-theme=dark] .form-group input[type=text],[data-theme=dark] .form-group select{background:#1f2937;color:#f9fafb;border-color:#374151}.form-group input[type=text]::placeholder{color:var(--text-secondary);opacity:.7}.form-group input[type=text]:focus,.form-group select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #0e6c5526}.color-picker{display:flex;flex-direction:column;gap:.75rem}.color-input{width:60px;height:40px;border:none;border-radius:8px;cursor:pointer;padding:0}.color-presets{display:flex;flex-wrap:wrap;gap:.5rem}.color-preset{width:26px;height:26px;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s ease}.color-preset:hover{transform:scale(1.15)}.color-preset.selected{border-color:#fff;box-shadow:0 0 0 2px var(--text-primary)}.tag-form .tag-preview{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-tertiary);border-radius:8px}.tag-form .tag-preview>span:first-child{color:var(--text-secondary);font-weight:500;font-size:.9rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}@media (max-width: 768px){.admin-tags-page{padding:1rem}.page-header-content h1{font-size:1.5rem}.section-tabs{display:flex}.tag-section{display:none}.tag-section.active{display:block}.section-divider{display:none}.section-header{flex-direction:column;align-items:flex-start}.section-header .btn-primary{width:100%}.tags-grid{justify-content:center}.comment-tags-grid{grid-template-columns:1fr}}@media (min-width: 1024px){.tags-layout{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:start}.section-divider{display:flex;flex-direction:column;padding:0 1.5rem;align-self:stretch}.divider-line{width:1px;flex:1;background:linear-gradient(180deg,transparent,var(--border) 10%,var(--border) 90%,transparent)}.tag-section{align-self:start}.animal-tags-section,.comment-tags-section{margin-top:0}}.groups-page{max-width:900px;margin:2rem auto;padding:2rem;background:var(--surface, #fff);border-radius:1rem;box-shadow:0 2px 12px #00000012}.groups-page h1{color:var(--brand, #0e6c55);margin-bottom:1.5rem}.groups-header{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem}.groups-filters{background:var(--surface);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014;border:1px solid var(--neutral-200)}[data-theme=dark] .groups-filters{border-color:var(--neutral-700)}.filter-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.search-box{position:relative;flex:1;min-width:250px;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;color:var(--text-secondary, #6b7280);pointer-events:none}.search-input{width:100%;padding:.75rem 2.5rem .75rem 3rem;border:1px solid var(--neutral-300, #d1d5db);border-radius:.5rem;font-size:1rem;background:var(--surface, white);color:var(--text-primary, #1f2937);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--brand, #0e6c55);box-shadow:0 0 0 3px #0e6c551a}[data-theme=dark] .search-input{background:var(--dark-surface-alt, #111827);border-color:var(--dark-border, #374151);color:var(--dark-text-primary, #f9fafb)}[data-theme=dark] .search-input:focus{border-color:var(--teal, #14b8a6);box-shadow:0 0 0 3px #14b8a61a}.clear-search{position:absolute;right:.75rem;background:transparent;border:none;color:var(--text-secondary, #6b7280);font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:.25rem;transition:all .2s ease}.clear-search:hover{background:var(--neutral-100, #f3f4f6);color:var(--text-primary, #1f2937)}[data-theme=dark] .clear-search:hover{background:var(--dark-border, #374151);color:var(--dark-text-primary, #f9fafb)}.filter-select{padding:.75rem 1rem;border:1px solid var(--neutral-300, #d1d5db);border-radius:.5rem;font-size:.9375rem;background:var(--surface, white);color:var(--text-primary, #1f2937);cursor:pointer;transition:all .2s ease}.filter-select:focus{outline:none;border-color:var(--brand, #0e6c55);box-shadow:0 0 0 3px #0e6c551a}[data-theme=dark] .filter-select{background:var(--dark-surface-alt, #111827);border-color:var(--dark-border, #374151);color:var(--dark-text-primary, #f9fafb)}[data-theme=dark] .filter-select:focus{border-color:var(--teal, #14b8a6);box-shadow:0 0 0 3px #14b8a61a}.sort-order-btn{padding:.75rem;border:1px solid var(--neutral-300, #d1d5db);border-radius:.5rem;background:var(--surface, white);color:var(--text-primary, #1f2937);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sort-order-btn:hover{background:var(--neutral-50, #f9fafb);border-color:var(--brand, #0e6c55)}.sort-order-btn:focus{outline:none;border-color:var(--brand, #0e6c55);box-shadow:0 0 0 3px #0e6c551a}[data-theme=dark] .sort-order-btn{background:var(--dark-surface-alt, #111827);border-color:var(--dark-border, #374151);color:var(--dark-text-primary, #f9fafb)}[data-theme=dark] .sort-order-btn:hover{background:var(--dark-surface, #1f2937);border-color:var(--teal, #14b8a6)}[data-theme=dark] .sort-order-btn:focus{border-color:var(--teal, #14b8a6);box-shadow:0 0 0 3px #14b8a61a}.filter-summary{color:var(--text-secondary, #6b7280);font-size:.9375rem;padding:.5rem 0}[data-theme=dark] .filter-summary{color:var(--dark-text-secondary, #9ca3af)}.filter-summary span{font-weight:600;color:var(--text-primary, #374151)}[data-theme=dark] .filter-summary span{color:var(--dark-text-primary, #e5e7eb)}.groups-table{width:100%;border-collapse:collapse;background:var(--surface, #fff);border-radius:.5rem;overflow:hidden;box-shadow:0 1px 4px #0000000a}.groups-table th,.groups-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--neutral-200, #e5e7eb)}.groups-table th{background:var(--neutral-100, #f8fafc);color:var(--brand, #0e6c55);font-weight:600}.groups-table tr:last-child td{border-bottom:none}.groups-table .group-name{font-weight:500;color:var(--text-primary, #1f2937)}.group-name-link{color:var(--brand, #0e6c55);text-decoration:none;font-weight:600;font-size:1rem;transition:all .2s ease;border-bottom:1px solid transparent;padding-bottom:2px}.group-name-link:hover{color:var(--brand-600, #0a5443);border-bottom-color:var(--brand-600, #0a5443)}.group-name-link:focus{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}[data-theme=dark] .group-name-link{color:var(--teal, #14b8a6)}[data-theme=dark] .group-name-link:hover{color:var(--teal-400, #2dd4bf);border-bottom-color:var(--teal-400, #2dd4bf)}.groups-table .group-description{color:var(--text-secondary, #6b7280);max-width:400px;white-space:normal;word-wrap:break-word}.groups-table .group-image{width:80px;padding:.5rem}.groups-table .group-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:.5rem;display:block}.groups-table .no-image{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--neutral-100, #f3f4f6);border-radius:.5rem;font-size:.75rem;color:var(--text-secondary, #6b7280);text-align:center;padding:.25rem}.group-actions{display:flex;gap:.5rem;flex-wrap:wrap}.group-action-btn{padding:.5rem 1rem;border:1px solid var(--brand, #0e6c55);background:var(--brand, #0e6c55);color:#fff;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;text-decoration:none;display:inline-block;text-align:center}.group-action-btn:hover{background:var(--brand-600, #0a5443);border-color:var(--brand-600, #0a5443)}.group-action-btn.view{background:transparent;color:var(--brand, #0e6c55)}.group-action-btn.view:hover{background:var(--brand, #0e6c55);color:#fff}.group-action-btn.secondary{background:var(--neutral-100, #f3f4f6);color:var(--text-primary, #1f2937);border-color:var(--neutral-300, #d1d5db)}.group-action-btn.secondary:hover{background:var(--neutral-200, #e5e7eb)}.group-action-btn.danger{background:var(--danger, #ef4444);border-color:var(--danger, #ef4444)}.group-action-btn.danger:hover{background:#dc2626;border-color:#dc2626}.group-action-btn:disabled{opacity:.5;cursor:not-allowed}.groups-loading,.groups-error,.groups-empty{margin:2rem 0;text-align:center;padding:2rem}.groups-loading{color:var(--brand, #0e6c55)}.groups-error{color:var(--danger, #ef4444);background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:1rem}.groups-empty{color:var(--text-secondary, #6b7280)}.group-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.group-modal{background:var(--surface, #fff);border-radius:1rem;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.group-modal h2{margin-bottom:1.5rem;color:var(--brand, #0e6c55)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary, #1f2937);font-weight:500}.form-group .required{color:var(--danger, #ef4444)}.form-group input,.form-group textarea{width:100%;padding:.625rem .75rem;border:1px solid var(--neutral-300, #d1d5db);border-radius:.375rem;font-size:1rem;font-family:inherit;background:var(--surface, #fff);color:var(--text-primary, #1f2937);transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--brand, #0e6c55);box-shadow:0 0 0 3px #0e6c551a}.form-group textarea{resize:vertical;min-height:100px}.form-group .upload-label{display:block;margin-top:.5rem;margin-bottom:.25rem;font-size:.875rem;color:var(--text-secondary, #6b7280)}.form-group input[type=file]{padding:.5rem;font-size:.875rem;cursor:pointer}.form-group .image-preview{margin-top:1rem;padding:.75rem;border:1px solid var(--neutral-300, #d1d5db);border-radius:.375rem;background:var(--neutral-50, #f9fafb)}.form-group .image-preview label{margin-bottom:.5rem;font-size:.875rem;color:var(--text-secondary, #6b7280)}.form-group .image-preview img{max-width:100%;max-height:200px;border-radius:.375rem;display:block;object-fit:contain}.animal-selector{margin-top:1rem;padding:1rem;border:1px solid var(--neutral-300, #d1d5db);border-radius:.375rem;background:var(--neutral-50, #f9fafb)}.animal-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.animal-image-option{cursor:pointer;text-align:center;border:2px solid transparent;border-radius:.375rem;padding:.5rem;transition:all .2s}.animal-image-option:hover{border-color:var(--brand, #0e6c55);background:var(--surface, #fff);transform:scale(1.05)}.animal-image-option img{width:100%;height:80px;object-fit:cover;border-radius:.25rem;margin-bottom:.25rem}.animal-image-option span{display:block;font-size:.75rem;color:var(--text-primary, #1f2937);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .animal-selector{background:var(--neutral-800, #1f2937);border-color:var(--neutral-700, #374151)}[data-theme=dark] .animal-image-option:hover{background:var(--surface, #1f2937)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}[data-theme=dark] .groups-page,[data-theme=dark] .group-modal,[data-theme=dark] .groups-table{background:var(--surface, #1f2937)}[data-theme=dark] .groups-table th{background:var(--neutral-800, #1f2937)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group textarea{background:var(--neutral-800, #111827);border-color:var(--neutral-700, #374151);color:var(--text-primary, #f9fafb)}[data-theme=dark] .groups-error{background:#ef44441a;border-color:#ef44444d}@media (max-width: 768px){.groups-page{padding:1rem;margin:1rem}.groups-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:1.5rem}.groups-table{display:block;overflow-x:auto;min-width:600px}.groups-table th,.groups-table td{padding:.625rem .75rem;font-size:.875rem}.group-thumbnail,.no-image{width:48px;height:48px}.group-action-btn{padding:.5rem .75rem;font-size:.8125rem;min-height:44px}.group-modal{padding:1.5rem;margin:.5rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.groups-header{flex-wrap:wrap}.animal-images-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.animal-image-option img{height:60px}}.group-stat{font-size:.9375rem;color:var(--text-secondary, #6b7280);white-space:nowrap}.stat-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--neutral-100, #f3f4f6);border-radius:1rem;font-weight:500;color:var(--text-primary, #374151);transition:all .2s ease}.stat-badge svg{flex-shrink:0;color:var(--brand, #0e6c55)}.stat-badge:hover{background:var(--neutral-200, #e5e7eb)}.last-activity{color:var(--text-secondary, #6b7280);font-size:.875rem}.no-activity{color:var(--neutral-400, #9ca3af);font-style:italic;font-size:.875rem}[data-theme=dark] .stat-badge{background:var(--dark-surface-alt, #1f2937);color:var(--dark-text-primary, #e5e7eb)}[data-theme=dark] .stat-badge svg{color:var(--teal, #14b8a6)}[data-theme=dark] .stat-badge:hover{background:var(--dark-surface-elevated, #374151)}[data-theme=dark] .last-activity{color:var(--dark-text-secondary, #9ca3af)}[data-theme=dark] .no-activity{color:var(--dark-text-tertiary, #6b7280)}.bulk-edit-page{min-height:100vh;background:var(--bg-primary);padding-bottom:3rem}.page-container{max-width:1400px;margin:0 auto;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.header-content h1{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:var(--text-primary)}.page-subtitle{margin:0;color:var(--text-secondary);font-size:1rem}.header-actions{display:flex;gap:.75rem;flex-shrink:0}.btn-icon{display:flex;align-items:center;gap:.5rem}.btn-icon svg{flex-shrink:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .2s}.stat-card:hover{border-color:var(--brand);box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-icon.available{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-icon.foster{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stat-icon.quarantine{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.stat-icon.archived{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.stat-icon.avg-stay{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.stat-content{flex:1;min-width:0}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem;font-weight:500}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.filters-section{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.filters-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.btn-text{background:none;border:none;color:var(--brand);font-weight:500;cursor:pointer;font-size:.875rem;padding:.25rem .5rem;transition:color .2s}.btn-text:hover{color:var(--brand-600);text-decoration:underline}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.filter-field{display:flex;flex-direction:column;gap:.5rem}.filter-field label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.filter-select,.search-input{padding:.625rem .875rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.9375rem;transition:all .2s}.filter-select:hover,.search-input:hover{border-color:var(--brand)}.filter-select:focus,.search-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #0e6c551a}.search-input-wrapper{position:relative}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.search-input{padding-left:2.5rem;padding-right:2.5rem}.clear-search{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.clear-search:hover{background:var(--bg-secondary);color:var(--text-primary)}.view-toggle{display:flex;background:var(--bg-secondary);border-radius:8px;padding:.25rem;gap:.25rem}.view-toggle button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.view-toggle button:hover{color:var(--text-primary);background:var(--bg-primary)}.view-toggle button.active{background:var(--brand);color:#fff;box-shadow:0 2px 4px #0e6c5533}.bulk-actions-bar{position:sticky;top:0;z-index:100;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-600) 100%);border-radius:12px;padding:1rem 1.5rem;margin-bottom:2rem;box-shadow:0 4px 12px #0e6c5533;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bulk-actions-content{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.selection-info{display:flex;align-items:center;gap:.75rem;color:#fff;font-weight:600}.select-all-checkbox{width:20px;height:20px;cursor:pointer;accent-color:white}.selected-count{font-size:1rem}.bulk-actions-controls{display:flex;align-items:center;gap:.75rem;flex:1;justify-content:flex-end}.bulk-select{padding:.625rem .875rem;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:150px}.bulk-select:hover{background:#ffffff40;border-color:#ffffff80}.bulk-select:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px #fff3}.bulk-select option{background:var(--bg-primary);color:var(--text-primary)}.bulk-action-buttons{display:flex;gap:.5rem}.bulk-action-buttons .btn-secondary,.bulk-action-buttons .btn-primary{min-width:100px}.bulk-action-buttons .btn-secondary{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bulk-action-buttons .btn-secondary:hover{background:#ffffff40;border-color:#ffffff80}.bulk-action-buttons .btn-primary{background:#fff;color:var(--brand)}.bulk-action-buttons .btn-primary:hover{background:#f9fafb;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.animals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.animal-card{background:var(--bg-primary);border:2px solid var(--border);border-radius:12px;overflow:hidden;transition:all .3s;position:relative}.animal-card:hover{border-color:var(--brand);box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.animal-card.selected{border-color:var(--brand);background:linear-gradient(135deg,#0e6c550d,#0e6c5505);box-shadow:0 0 0 3px #0e6c551a}.animal-card.updating{opacity:.6;pointer-events:none}.animal-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-secondary)}.animal-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--brand)}.status-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize;letter-spacing:.025em}.status-badge.status-available{background:#d1fae5;color:#065f46}.status-badge.status-foster{background:#fef3c7;color:#92400e}.status-badge.status-bite_quarantine{background:#fee2e2;color:#991b1b}.status-badge.status-archived{background:#e5e7eb;color:#374151}[data-theme=dark] .status-badge.status-available{background:#065f46;color:#d1fae5}[data-theme=dark] .status-badge.status-foster{background:#92400e;color:#fef3c7}[data-theme=dark] .status-badge.status-bite_quarantine{background:#991b1b;color:#fee2e2}[data-theme=dark] .status-badge.status-archived{background:#374151;color:#e5e7eb}.animal-card-image{width:100%;height:200px;overflow:hidden;background:var(--bg-secondary)}.animal-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.animal-card:hover .animal-card-image img{transform:scale(1.05)}.animal-card-body{padding:1.25rem}.animal-name{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary);text-decoration:none;margin-bottom:.5rem;transition:color .2s}.animal-name:hover{color:var(--brand)}.animal-meta{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.animal-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.info-item{display:flex;flex-direction:column;gap:.375rem}.info-item.full-width{grid-column:1 / -1}.info-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:.875rem;font-weight:500;color:var(--text-primary)}.info-value.quarantine-date{color:#dc2626;font-weight:600}.info-select{padding:.5rem .625rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.info-select:hover:not(:disabled){border-color:var(--brand)}.info-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #0e6c551a}.info-select:disabled{opacity:.5;cursor:not-allowed}.animals-table-container{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;overflow:hidden}.animals-table{width:100%;border-collapse:collapse}.animals-table thead{background:var(--bg-secondary);position:sticky;top:0;z-index:10}.animals-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--text-secondary);border-bottom:2px solid var(--border);white-space:nowrap}.animals-table th.checkbox-col{width:40px;text-align:center}.animals-table td{padding:1rem;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.875rem}.animals-table td.checkbox-col{text-align:center}.animals-table tbody tr{transition:background-color .2s}.animals-table tbody tr:hover{background:var(--bg-secondary)}.animals-table tbody tr.updating{opacity:.5;pointer-events:none}.animals-table tbody tr:last-child td{border-bottom:none}.table-link{color:var(--brand);text-decoration:none;font-weight:500;transition:color .2s}.table-link:hover{color:var(--brand-600);text-decoration:underline}.table-select{padding:.375rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;cursor:pointer;transition:all .2s;min-width:110px}.table-select:hover:not(:disabled){border-color:var(--brand)}.table-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #0e6c551a}.table-select:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0e6c5533}.btn-primary:hover:not(:disabled){background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 12px #0e6c554d}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border);padding:.625rem 1.25rem;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--brand);color:var(--brand)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.import-modal-content{padding:0}.import-description{margin:0 0 1rem;color:var(--text-primary)}.csv-format{display:block;background:var(--bg-secondary);padding:.75rem 1rem;border-radius:6px;font-family:Courier New,monospace;font-size:.875rem;border:1px solid var(--border);margin-bottom:1rem;overflow-x:auto}.import-note{background:linear-gradient(135deg,#0e6c550d,#0e6c5505);padding:1rem;border-radius:8px;border-left:3px solid var(--brand);margin-bottom:1.5rem}.import-note strong{color:var(--brand)}.import-note code{background:#0e6c551a;padding:.125rem .375rem;border-radius:3px;font-family:monospace;font-size:.875rem}.file-upload-area{margin-bottom:1.5rem}.file-input{display:none}.file-label{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;border:2px dashed var(--border);border-radius:12px;background:var(--bg-secondary);cursor:pointer;transition:all .2s;font-weight:500;color:var(--text-secondary)}.file-label:hover{border-color:var(--brand);background:linear-gradient(135deg,#0e6c550d,#0e6c5505);color:var(--brand)}.file-label svg{flex-shrink:0}.import-result{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.result-success{display:flex;align-items:center;gap:.5rem;color:#059669;font-weight:600;margin-bottom:.75rem}.result-success svg{flex-shrink:0}.result-warnings{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.result-warnings strong{color:#f59e0b;display:block;margin-bottom:.5rem}.result-warnings ul{margin:0;padding-left:1.5rem;color:var(--text-secondary)}.result-warnings li{margin-bottom:.25rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(3,1fr)}.filters-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.page-container{padding:1rem}.page-header{flex-direction:column;align-items:stretch}.header-actions{width:100%}.header-actions button{flex:1;font-size:.875rem;padding:.625rem .75rem}.btn-icon span{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1.5rem}.filters-grid{grid-template-columns:1fr}.bulk-actions-bar{padding:1rem}.bulk-actions-content,.bulk-actions-controls{flex-direction:column;align-items:stretch}.bulk-select,.bulk-action-buttons{width:100%}.bulk-action-buttons button{flex:1}.animals-grid{grid-template-columns:1fr}.animals-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.animals-table{min-width:800px}.animals-table th,.animals-table td{padding:.75rem .5rem;font-size:.8125rem}}@media (max-width: 480px){.page-subtitle{font-size:.875rem}.stats-grid{grid-template-columns:1fr}.stat-card{padding:1rem}.stat-icon{width:40px;height:40px}.stat-label{font-size:.8125rem}.stat-value{font-size:1.25rem}.filters-section{padding:1rem}.view-toggle button span{display:none}.animal-info-grid{grid-template-columns:1fr}}[data-theme=dark] .bulk-actions-bar{background:linear-gradient(135deg,var(--brand-600) 0%,var(--brand) 100%)}[data-theme=dark] .stat-card:hover{box-shadow:0 2px 8px #ffffff0d}[data-theme=dark] .animal-card:hover{box-shadow:0 4px 16px #ffffff0d}.settings-container{min-height:100vh;background:var(--bg);padding:2rem}.settings-card{max-width:860px;margin:0 auto;background:var(--surface);border-radius:12px;box-shadow:0 2px 12px #00000014;padding:2.5rem;border:1px solid var(--neutral-200)}[data-theme=dark] .settings-card{border-color:var(--neutral-700)}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:2px solid var(--neutral-200)}[data-theme=dark] .settings-header{border-bottom-color:var(--neutral-700)}.settings-header h1{color:var(--navy);margin:0;font-size:2rem;font-weight:700;letter-spacing:-.02em}[data-theme=dark] .settings-header h1{color:var(--text-primary)}.btn-back{padding:.625rem 1.25rem;background:transparent;color:var(--brand);border:2px solid var(--brand);border-radius:8px;cursor:pointer;font-size:.9375rem;font-weight:600;transition:all .2s ease}.btn-back:hover{background:var(--brand);color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #00a3ad4d}.settings-section{margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--neutral-200)}[data-theme=dark] .settings-section{border-bottom-color:var(--neutral-700)}.settings-section:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.settings-section h2{color:var(--navy);font-size:1.5rem;margin-bottom:.75rem;font-weight:600}[data-theme=dark] .settings-section h2{color:var(--text-primary)}.settings-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--bg);border-radius:8px;margin-bottom:1rem;border:1px solid var(--neutral-200)}[data-theme=dark] .setting-item{border-color:var(--neutral-700)}.setting-info{flex:1}.setting-info label{display:block;color:var(--text-primary);margin-bottom:.5rem;font-weight:600}.setting-help{color:var(--text-secondary);font-size:.9375rem;margin:0;line-height:1.5}.setting-input-wrapper{margin-left:2rem;flex:0 1 350px}.setting-input{width:100%;padding:.75rem 1rem;border:1px solid var(--neutral-300);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit}[data-theme=dark] .setting-input{border-color:var(--neutral-600)}.setting-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #00a3ad1a}.setting-input:disabled{opacity:.5;cursor:not-allowed;background:var(--bg)}.toggle-wrapper{margin-left:2rem}.toggle{position:relative;display:inline-block;width:56px;height:32px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--neutral-300);transition:.3s ease;border-radius:32px;box-shadow:inset 0 2px 4px #0000001a}.toggle-slider:before{position:absolute;content:"";height:24px;width:24px;left:4px;bottom:4px;background-color:#fff;transition:.3s ease;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle input:checked+.toggle-slider{background-color:var(--brand)}.toggle input:checked+.toggle-slider:before{transform:translate(24px)}.toggle input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle:hover .toggle-slider:not(.toggle input:disabled+.toggle-slider){box-shadow:inset 0 2px 4px #00000026}.settings-actions{margin-top:1.5rem}.error{color:var(--danger-contrast);background:#ef44441a;border:1px solid var(--danger);padding:.875rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.success{color:var(--success-600);background:#10b9811a;border:1px solid var(--success);padding:.875rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.btn-primary{padding:.875rem 1.75rem;background:var(--brand);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;font-weight:600;transition:all .2s ease;box-shadow:0 2px 4px #00a3ad33}.btn-primary:hover:not(:disabled){background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 8px #00a3ad4d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.info-box{background:#00a3ad0d;padding:1.5rem;border-radius:8px;border-left:4px solid var(--brand)}.info-box p{color:var(--text-primary);margin-bottom:1rem;line-height:1.6}.info-box ul{color:var(--text-secondary);margin-left:1.5rem;margin-bottom:1rem}.info-box li{margin-bottom:.5rem;line-height:1.5}@media (max-width: 768px){.settings-container{padding:1rem}.settings-card{padding:1.5rem}.settings-header{flex-direction:column;align-items:flex-start;gap:1rem}.settings-header h1{font-size:1.75rem}.setting-item{flex-direction:column;align-items:flex-start}.setting-input-wrapper{margin-left:0;margin-top:1rem;width:100%;flex:1}.toggle-wrapper{margin-left:0;margin-top:1rem}}.user-profile-page{min-height:100vh;background:var(--background, #f9fafb)}.profile-header{background:#fff;border-bottom:1px solid var(--border, #e5e7eb);padding:2rem 0;margin-bottom:2rem}.profile-header .container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--brand, #0e6c55);font-size:.9375rem;font-weight:500;cursor:pointer;padding:.5rem 0;margin-bottom:1.5rem;transition:all .2s ease}.back-button:hover{color:var(--brand-600, #0a5443);gap:.75rem}.back-button:focus{outline:2px solid var(--brand, #0e6c55);outline-offset:2px;border-radius:4px}.profile-info{display:flex;align-items:center;gap:1.5rem}.profile-avatar{width:80px;height:80px;background:linear-gradient(135deg,var(--brand, #0e6c55) 0%,var(--brand-600, #0a5443) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.profile-details h1{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1f2937);margin:0 0 .25rem}.profile-email,.profile-phone{color:var(--text-secondary, #6b7280);margin:0 0 .5rem;font-size:1rem}.admin-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;background:var(--brand, #0e6c55);color:#fff;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.member-since{color:var(--text-secondary, #6b7280);font-size:.875rem;margin:.5rem 0 0}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem 3rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:.5rem;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 6px #0000000d;transform:translateY(-2px)}.stat-icon{width:48px;height:48px;background:#0e6c551a;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:var(--brand, #0e6c55);flex-shrink:0}.stat-content{flex:1}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1f2937);line-height:1.2}.stat-label{font-size:.875rem;color:var(--text-secondary, #6b7280);margin-top:.25rem}.profile-section{background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.profile-section h2{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1f2937);margin:0 0 1.25rem}.groups-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.group-card{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border, #e5e7eb);border-radius:.5rem;text-decoration:none;transition:all .2s ease}.group-card:hover{border-color:var(--brand, #0e6c55);box-shadow:0 2px 4px #0000000d;transform:translateY(-1px)}.group-card:focus{outline:2px solid var(--brand, #0e6c55);outline-offset:2px}.group-image{width:48px;height:48px;border-radius:.375rem;object-fit:cover;flex-shrink:0}.group-info h3{font-size:1rem;font-weight:600;color:var(--text-primary, #1f2937);margin:0 0 .25rem}.group-info p{font-size:.875rem;color:var(--text-secondary, #6b7280);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.most-active-group{display:flex;align-items:center;gap:1rem;padding:1rem;background:#0e6c550d;border-radius:.5rem}.group-link{color:var(--brand, #0e6c55);text-decoration:none;font-weight:600;transition:color .2s ease}.group-link:hover{color:var(--brand-600, #0a5443);text-decoration:underline}.comment-count{color:var(--text-secondary, #6b7280);font-size:.9375rem}.animal-card{display:flex;flex-direction:column;border:1px solid var(--border, #e5e7eb);border-radius:.5rem;overflow:hidden;text-decoration:none;transition:all .2s ease}.animal-card:hover{border-color:var(--brand, #0e6c55);box-shadow:0 4px 6px #0000000d;transform:translateY(-2px)}.animal-card:focus{outline:2px solid var(--brand, #0e6c55);outline-offset:2px}.animal-image{width:100%;aspect-ratio:1;object-fit:cover}.animal-image-placeholder{width:100%;aspect-ratio:1;background:var(--neutral-100, #f3f4f6);display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #6b7280)}.animal-info{padding:1rem}.animal-info h3{font-size:1rem;font-weight:600;color:var(--text-primary, #1f2937);margin:0 0 .25rem}.animal-info .group-name{font-size:.875rem;color:var(--text-secondary, #6b7280);margin:0 0 .5rem}.animal-stats{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary, #6b7280)}.activity-list{display:flex;flex-direction:column;gap:1.25rem}.activity-item{padding-bottom:1.25rem;border-bottom:1px solid var(--border, #e5e7eb)}.activity-item:last-child{border-bottom:none;padding-bottom:0}.activity-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem;font-size:.875rem}.animal-link{font-weight:600;color:var(--brand, #0e6c55);text-decoration:none;transition:color .2s ease}.animal-link:hover{color:var(--brand-600, #0a5443);text-decoration:underline}.activity-group{color:var(--text-secondary, #6b7280)}.activity-time{color:var(--text-secondary, #9ca3af);margin-left:auto}.activity-type{font-weight:500;color:var(--text-secondary, #6b7280)}.activity-content p{color:var(--text-primary, #374151);margin:0 0 .75rem;line-height:1.6}.activity-image{max-width:100%;max-height:400px;border-radius:.5rem;object-fit:cover}.empty-state{text-align:center;padding:3rem 1.5rem}.empty-state svg{color:var(--text-secondary, #9ca3af);margin-bottom:1rem}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1f2937);margin:0 0 .5rem}.empty-state p{color:var(--text-secondary, #6b7280);margin:0}[data-theme=dark] .user-profile-page{background:var(--dark-background, #111827)}[data-theme=dark] .profile-header{background:var(--dark-surface, #1f2937);border-bottom-color:var(--dark-border, #374151)}[data-theme=dark] .back-button{color:var(--teal, #14b8a6)}[data-theme=dark] .back-button:hover{color:var(--teal-400, #2dd4bf)}[data-theme=dark] .profile-avatar{background:linear-gradient(135deg,var(--teal, #14b8a6) 0%,var(--teal-600, #0d9488) 100%)}[data-theme=dark] .profile-details h1{color:var(--dark-text-primary, #f9fafb)}[data-theme=dark] .profile-email,[data-theme=dark] .member-since{color:var(--dark-text-secondary, #9ca3af)}[data-theme=dark] .stat-card,[data-theme=dark] .profile-section{background:var(--dark-surface, #1f2937);border-color:var(--dark-border, #374151)}[data-theme=dark] .stat-icon{background:#14b8a61a;color:var(--teal, #14b8a6)}[data-theme=dark] .stat-value,[data-theme=dark] .profile-section h2,[data-theme=dark] .group-info h3,[data-theme=dark] .animal-info h3{color:var(--dark-text-primary, #f9fafb)}[data-theme=dark] .stat-label,[data-theme=dark] .group-info p,[data-theme=dark] .animal-info .group-name,[data-theme=dark] .comment-count,[data-theme=dark] .activity-group,[data-theme=dark] .empty-state p{color:var(--dark-text-secondary, #9ca3af)}[data-theme=dark] .group-card,[data-theme=dark] .animal-card,[data-theme=dark] .activity-item{border-color:var(--dark-border, #374151)}[data-theme=dark] .group-card:hover,[data-theme=dark] .animal-card:hover{border-color:var(--teal, #14b8a6)}[data-theme=dark] .most-active-group{background:#14b8a61a}[data-theme=dark] .group-link,[data-theme=dark] .animal-link{color:var(--teal, #14b8a6)}[data-theme=dark] .group-link:hover,[data-theme=dark] .animal-link:hover{color:var(--teal-400, #2dd4bf)}[data-theme=dark] .animal-image-placeholder{background:var(--dark-surface-alt, #111827);color:var(--dark-text-secondary, #6b7280)}[data-theme=dark] .activity-content p{color:var(--dark-text-primary, #e5e7eb)}[data-theme=dark] .activity-time,[data-theme=dark] .animal-stats{color:var(--dark-text-secondary, #6b7280)}[data-theme=dark] .empty-state h3{color:var(--dark-text-primary, #f9fafb)}@media (max-width: 768px){.profile-header{padding:1.5rem 0;margin-bottom:1.5rem}.profile-info{flex-direction:column;align-items:flex-start;gap:1rem}.profile-avatar{width:64px;height:64px}.profile-avatar svg{width:48px;height:48px}.profile-details h1{font-size:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.stat-card{padding:1rem;flex-direction:column;align-items:flex-start}.stat-icon{width:40px;height:40px}.stat-icon svg{width:20px;height:20px}.stat-value{font-size:1.5rem}.groups-list,.animals-grid{grid-template-columns:1fr}.activity-meta{flex-direction:column;align-items:flex-start;gap:.25rem}.activity-time{margin-left:0}}.limited-profile-notice{background:var(--warning-bg, #fffbeb);border:1px solid var(--warning-border, #fbbf24);border-radius:.5rem;padding:1rem 1.5rem;margin-bottom:2rem}.limited-profile-notice p{margin:0;color:var(--warning-text, #92400e);font-size:.9375rem}@media (prefers-color-scheme: dark){.limited-profile-notice{background:#fbbf241a;border-color:#fbbf244d}.limited-profile-notice p{color:#fbbf24}}.admin-dashboard{max-width:1400px;margin:0 auto;padding:2rem 1.5rem 3rem;background:var(--background, #f9fafb);min-height:100vh}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{font-size:2rem;font-weight:700;color:var(--text-primary, #1f2937);margin:0 0 .5rem}.dashboard-subtitle{color:var(--text-secondary, #6b7280);margin:0;font-size:1rem}.quick-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:.75rem;padding:1.5rem;display:flex;gap:1rem;transition:all .2s ease}.stat-card:hover{box-shadow:0 8px 16px #00000014;transform:translateY(-2px)}.stat-icon{width:56px;height:56px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.users{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.stat-icon.groups{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-icon.animals{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stat-icon.comments{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.stat-content{flex:1;display:flex;flex-direction:column}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary, #1f2937);line-height:1.2}.stat-label{font-size:.9375rem;color:var(--text-secondary, #6b7280);margin-top:.25rem;margin-bottom:.5rem}.stat-link{color:var(--brand, #0e6c55);text-decoration:none;font-size:.875rem;font-weight:600;transition:color .2s ease;margin-top:auto}.stat-link:hover{color:var(--brand-600, #0a5443)}.dashboard-section{background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem}.dashboard-section h2{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1f2937);margin:0 0 1.25rem}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.health-card{padding:1rem;background:#0e6c550d;border-radius:.5rem;text-align:center}.health-value{font-size:2rem;font-weight:700;color:var(--brand, #0e6c55)}.health-label{font-size:.875rem;color:var(--text-secondary, #6b7280);margin-top:.25rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem}.user-list,.group-list{display:flex;flex-direction:column;gap:.75rem}.user-item{display:flex;align-items:center;gap:1rem;padding:.75rem;border:1px solid var(--border, #e5e7eb);border-radius:.5rem;text-decoration:none;transition:all .2s ease}.user-item:hover{border-color:var(--brand, #0e6c55);background:#0e6c5505}.user-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--brand, #0e6c55) 0%,var(--brand-600, #0a5443) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.user-info{flex:1}.user-name{font-weight:600;color:var(--text-primary, #1f2937);margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.admin-badge{display:inline-flex;padding:.125rem .5rem;background:var(--brand, #0e6c55);color:#fff;border-radius:.25rem;font-size:.75rem;font-weight:600}.user-meta{font-size:.875rem;color:var(--text-secondary, #6b7280)}.group-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:1px solid var(--border, #e5e7eb);border-radius:.5rem;text-decoration:none;transition:all .2s ease}.group-item:hover{border-color:var(--brand, #0e6c55);background:#0e6c5505}.group-name{font-weight:600;color:var(--text-primary, #1f2937);margin-bottom:.25rem}.group-stats{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary, #6b7280)}.group-activity{font-size:.875rem;color:var(--text-secondary, #9ca3af);flex-shrink:0}.animals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.animal-alert-card{display:flex;flex-direction:column;border:1px solid var(--border, #e5e7eb);border-radius:.5rem;overflow:hidden;text-decoration:none;transition:all .2s ease}.animal-alert-card:hover{border-color:#ef4444;box-shadow:0 4px 8px #ef444433;transform:translateY(-2px)}.animal-alert-image{width:100%;aspect-ratio:1;object-fit:cover}.animal-alert-placeholder{width:100%;aspect-ratio:1;background:var(--neutral-100, #f3f4f6);display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #6b7280)}.animal-alert-info{padding:1rem}.animal-alert-info h3{font-size:1rem;font-weight:600;color:var(--text-primary, #1f2937);margin:0 0 .25rem}.animal-alert-group{font-size:.875rem;color:var(--text-secondary, #6b7280);margin:0 0 .5rem}.alert-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}.alert-tag{padding:.25rem .5rem;background:#fee2e2;color:#991b1b;border-radius:.25rem;font-size:.75rem;font-weight:600}.animal-alert-time{font-size:.8125rem;color:var(--text-secondary, #9ca3af);margin:0}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.quick-link-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;border:2px solid var(--border, #e5e7eb);border-radius:.5rem;text-decoration:none;color:var(--text-primary, #1f2937);transition:all .2s ease}.quick-link-card:hover{border-color:var(--brand, #0e6c55);background:#0e6c5505;transform:translateY(-2px)}.quick-link-card svg{color:var(--brand, #0e6c55)}.quick-link-card span{font-weight:600;text-align:center}.empty-message{color:var(--text-secondary, #6b7280);text-align:center;padding:2rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.spinner{width:48px;height:48px;border:4px solid var(--neutral-200, #e5e7eb);border-top-color:var(--brand, #0e6c55);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{color:var(--text-secondary, #6b7280);font-size:1rem}[data-theme=dark] .admin-dashboard{background:var(--dark-background, #111827)}[data-theme=dark] .dashboard-header h1,[data-theme=dark] .stat-value,[data-theme=dark] .dashboard-section h2,[data-theme=dark] .user-name,[data-theme=dark] .group-name,[data-theme=dark] .animal-alert-info h3,[data-theme=dark] .quick-link-card{color:var(--dark-text-primary, #f9fafb)}[data-theme=dark] .dashboard-subtitle,[data-theme=dark] .stat-label,[data-theme=dark] .health-label,[data-theme=dark] .user-meta,[data-theme=dark] .group-stats,[data-theme=dark] .group-activity,[data-theme=dark] .animal-alert-group,[data-theme=dark] .animal-alert-time,[data-theme=dark] .empty-message{color:var(--dark-text-secondary, #9ca3af)}[data-theme=dark] .stat-card,[data-theme=dark] .dashboard-section,[data-theme=dark] .user-item,[data-theme=dark] .group-item,[data-theme=dark] .animal-alert-card,[data-theme=dark] .quick-link-card{background:var(--dark-surface, #1f2937);border-color:var(--dark-border, #374151)}[data-theme=dark] .health-card{background:#14b8a61a}[data-theme=dark] .health-value{color:var(--teal, #14b8a6)}[data-theme=dark] .user-avatar{background:linear-gradient(135deg,var(--teal, #14b8a6) 0%,var(--teal-600, #0d9488) 100%)}[data-theme=dark] .admin-badge{background:var(--teal, #14b8a6)}[data-theme=dark] .stat-link{color:var(--teal, #14b8a6)}[data-theme=dark] .stat-link:hover{color:var(--teal-400, #2dd4bf)}[data-theme=dark] .user-item:hover,[data-theme=dark] .group-item:hover,[data-theme=dark] .quick-link-card:hover{border-color:var(--teal, #14b8a6);background:#14b8a60d}[data-theme=dark] .quick-link-card svg{color:var(--teal, #14b8a6)}[data-theme=dark] .animal-alert-placeholder{background:var(--dark-surface-alt, #111827)}[data-theme=dark] .spinner{border-color:var(--dark-border, #374151);border-top-color:var(--teal, #14b8a6)}@media (max-width: 768px){.admin-dashboard{padding:1.5rem 1rem 2rem}.dashboard-header h1{font-size:1.5rem}.quick-stats-grid{grid-template-columns:1fr}.stat-card{padding:1rem}.stat-icon{width:48px;height:48px}.stat-value{font-size:1.75rem}.health-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.animals-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.quick-links{grid-template-columns:1fr}.group-item{flex-direction:column;align-items:flex-start;gap:.5rem}.group-activity{margin-top:.5rem}}#root{min-height:100vh}
