:root{--brand-primary:#417690;--brand-primary-dark:#356578;--brand-primary-darker:#2e5670;--brand-primary-light:#f0f8ff;--brand-success:#28a745;--brand-success-dark:#218838;--brand-success-darker:#1e7e34;--brand-success-bg:#d4edda;--brand-success-border:#c3e6cb;--brand-success-text:#155724;--brand-warning:#ffc107;--brand-warning-dark:#e0a800;--brand-warning-darker:#d39e00;--brand-warning-bg:#fff3cd;--brand-warning-border:#ffeeba;--brand-warning-alt-border:#ffeaa7;--brand-warning-text:#856404;--brand-danger:#dc3545;--brand-danger-dark:#c82333;--brand-danger-darker:#bd2130;--brand-danger-bg:#f8d7da;--brand-danger-border:#f5c6cb;--brand-danger-text:#721c24;--brand-danger-alt:#b00020;--brand-info:#17a2b8;--brand-info-dark:#138496;--brand-info-darker:#117a8b;--brand-info-bg:#d1ecf1;--brand-info-light-bg:#e7f3ff;--brand-info-border:#bee5eb;--brand-info-text:#0c5460;--material-blue-500:#2196F3;--material-blue-700:#1976D2;--material-blue-800:#0d47a1;--neutral-white:#ffffff;--neutral-50:#f8f9fa;--neutral-100:#e9ecef;--neutral-200:#dee2e6;--neutral-300:#ced4da;--neutral-400:#bdc3c7;--neutral-500:#95a5a6;--neutral-600:#6c757d;--neutral-600-dark:#5a6268;--neutral-650:#67615a;--neutral-700:#495057;--neutral-800:#2c3e50;--neutral-850:#2c5282;--neutral-900:#212529;--neutral-black:#000000;--text-primary:#2c3e50;--text-secondary:#495057;--text-muted:#666666;--text-light:#999999;--text-inverse:#ffffff;--text-inverse-muted:rgba(255,255,255,0.9);--bg-white:#ffffff;--bg-light:#f8f9fa;--bg-gray:#e9ecef;--bg-dark:#2c3e50;--bg-hover:rgba(0,0,0,0.05);--border-light:#dee2e6;--border-medium:#e1e5e9;--border-medium-alt:#ddd;--border-dark:#ced4da;--border-gray:#999;--badge-secondary-bg:#e2e3e5;--badge-secondary-text:#6c757d;--directory-paper:#f7f4ef;--directory-ink:#2b2b2b;--directory-card:#ffffff;--directory-rule:#e7e1d6;--directory-muted:#67615a;--intake-primary:#4a9eff;--intake-primary-hover:#3b82f6;--intake-success:#22c55e;--intake-success-dark:#16a34a;--intake-success-darker:#15803d;--intake-success-bg:#f0fdf4;--intake-danger:#ef4444;--intake-danger-bg:#fef2f2;--intake-disabled:#cbd5e1;--intake-bg-field:#fafafa;--intake-text-dark:#333;--landing-bg-page:#faf8f5;--landing-bg-card:#ffffff;--landing-border-default:#e1d5c7;--landing-border-hover:#417690;--landing-text-primary:#2c3e50;--landing-text-secondary:#5a6c7d;--landing-text-muted:#6c757d;--landing-brand-primary:var(--brand-primary);--landing-brand-primary-hover:var(--brand-primary-darker);--landing-accent-success:var(--brand-success);--landing-shadow-sm:0 2px 4px rgba(0,0,0,0.08);--landing-shadow-md:0 4px 12px rgba(65,118,144,0.15);--landing-shadow-lg:0 6px 16px rgba(65,118,144,0.2);--landing-radius-sm:6px;--landing-radius-md:8px;--landing-radius-lg:12px;--space-0:0;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--font-family-system:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-family-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--font-size-xs:0.75rem;--font-size-sm:0.85rem;--font-size-base:0.9rem;--font-size-md:1rem;--font-size-lg:1.1rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.1;--line-height-normal:1.5;--line-height-relaxed:1.6;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:14px;--radius-full:50%;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 2px 4px rgba(0,0,0,0.1);--shadow-lg:0 4px 6px rgba(0,0,0,0.1);--shadow-xl:0 8px 16px rgba(0,0,0,0.15);--shadow-focus:0 0 0 3px rgba(65,118,144,0.1);--shadow-focus-ring:0 0 0 3px rgba(65,118,144,0.25);--shadow-directory:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06);--shadow-directory-hover:0 2px 3px rgba(0,0,0,.05),0 10px 26px rgba(0,0,0,.08);--shadow-directory-focus:0 0 0 3px rgba(199,191,174,.45),0 8px 24px rgba(0,0,0,.08);--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--max-width-xs:480px;--max-width-sm:640px;--max-width-md:768px;--max-width-lg:1024px;--max-width-xl:1200px;--max-width-2xl:1400px;--max-content-width:1200px;--max-image-width:900px;--header-offset:96px;--step-number-size:50px;--breakpoint-sm:600px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--brand-primary:#5a9ab8;--brand-primary-dark:#4a8ba8;--brand-primary-darker:#3a7a98;--brand-primary-light:#1a2a3a;--brand-success:#4ade80;--brand-success-dark:#22c55e;--brand-success-bg:rgba(74,222,128,0.15);--brand-success-border:rgba(74,222,128,0.3);--brand-success-text:#86efac;--brand-warning:#fbbf24;--brand-warning-dark:#f59e0b;--brand-warning-bg:rgba(251,191,36,0.15);--brand-warning-border:rgba(251,191,36,0.3);--brand-warning-text:#fcd34d;--brand-danger:#f87171;--brand-danger-dark:#ef4444;--brand-danger-bg:rgba(248,113,113,0.15);--brand-danger-border:rgba(248,113,113,0.3);--brand-danger-text:#fca5a5;--brand-info:#38bdf8;--brand-info-dark:#0ea5e9;--brand-info-bg:rgba(56,189,248,0.15);--brand-info-border:rgba(56,189,248,0.3);--brand-info-text:#7dd3fc;--neutral-white:#1a1a1a;--neutral-50:#242424;--neutral-100:#2d2d2d;--neutral-200:#383838;--neutral-300:#4a4a4a;--neutral-400:#6b6b6b;--neutral-500:#8b8b8b;--neutral-600:#a1a1a1;--neutral-700:#c7c7c7;--neutral-800:#e5e5e5;--neutral-900:#f5f5f5;--neutral-black:#ffffff;--text-primary:#f0f0f0;--text-secondary:#d0d0d0;--text-muted:#a0a0a0;--text-light:#808080;--text-inverse:#1a1a1a;--bg-white:#1a1a1a;--bg-light:#242424;--bg-gray:#2d2d2d;--bg-dark:#0d0d0d;--bg-hover:rgba(255,255,255,0.05);--border-light:#333333;--border-medium:#3d3d3d;--border-dark:#4a4a4a;--directory-paper:#1a1a1a;--directory-ink:#e5e5e5;--directory-card:#242424;--directory-rule:#333333;--directory-muted:#a0a0a0;--landing-bg-page:#1a1a1a;--landing-bg-card:#242424;--landing-border-default:#333333;--landing-text-primary:#f0f0f0;--landing-text-secondary:#c0c0c0;--landing-text-muted:#909090;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 2px 4px rgba(0,0,0,0.4);--shadow-lg:0 4px 6px rgba(0,0,0,0.4);--shadow-xl:0 8px 16px rgba(0,0,0,0.5);--shadow-focus:0 0 0 3px rgba(90,154,184,0.3);--shadow-directory:0 1px 2px rgba(0,0,0,0.2),0 8px 24px rgba(0,0,0,0.3);--shadow-directory-hover:0 2px 3px rgba(0,0,0,0.25),0 10px 26px rgba(0,0,0,0.35)}}:root[data-theme="dark"]{--brand-primary:#5a9ab8;--brand-primary-dark:#4a8ba8;--brand-primary-darker:#3a7a98;--brand-primary-light:#1a2a3a;--brand-success:#4ade80;--brand-success-dark:#22c55e;--brand-success-bg:rgba(74,222,128,0.15);--brand-success-border:rgba(74,222,128,0.3);--brand-success-text:#86efac;--brand-warning:#fbbf24;--brand-warning-dark:#f59e0b;--brand-warning-bg:rgba(251,191,36,0.15);--brand-warning-border:rgba(251,191,36,0.3);--brand-warning-text:#fcd34d;--brand-danger:#f87171;--brand-danger-dark:#ef4444;--brand-danger-bg:rgba(248,113,113,0.15);--brand-danger-border:rgba(248,113,113,0.3);--brand-danger-text:#fca5a5;--brand-info:#38bdf8;--brand-info-dark:#0ea5e9;--brand-info-bg:rgba(56,189,248,0.15);--brand-info-border:rgba(56,189,248,0.3);--brand-info-text:#7dd3fc;--neutral-white:#1a1a1a;--neutral-50:#242424;--neutral-100:#2d2d2d;--neutral-200:#383838;--neutral-300:#4a4a4a;--neutral-400:#6b6b6b;--neutral-500:#8b8b8b;--neutral-600:#a1a1a1;--neutral-700:#c7c7c7;--neutral-800:#e5e5e5;--neutral-900:#f5f5f5;--neutral-black:#ffffff;--text-primary:#f0f0f0;--text-secondary:#d0d0d0;--text-muted:#a0a0a0;--text-light:#808080;--text-inverse:#1a1a1a;--bg-white:#1a1a1a;--bg-light:#242424;--bg-gray:#2d2d2d;--bg-dark:#0d0d0d;--bg-hover:rgba(255,255,255,0.05);--border-light:#333333;--border-medium:#3d3d3d;--border-dark:#4a4a4a;--directory-paper:#1a1a1a;--directory-ink:#e5e5e5;--directory-card:#242424;--directory-rule:#333333;--directory-muted:#a0a0a0;--landing-bg-page:#1a1a1a;--landing-bg-card:#242424;--landing-border-default:#333333;--landing-text-primary:#f0f0f0;--landing-text-secondary:#c0c0c0;--landing-text-muted:#909090;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 2px 4px rgba(0,0,0,0.4);--shadow-lg:0 4px 6px rgba(0,0,0,0.4);--shadow-xl:0 8px 16px rgba(0,0,0,0.5);--shadow-focus:0 0 0 3px rgba(90,154,184,0.3);--shadow-directory:0 1px 2px rgba(0,0,0,0.2),0 8px 24px rgba(0,0,0,0.3);--shadow-directory-hover:0 2px 3px rgba(0,0,0,0.25),0 10px 26px rgba(0,0,0,0.35)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:1.5;text-align:center;text-decoration:none;cursor:pointer;min-height:44px;transition:background var(--transition-base),transform var(--transition-fast),box-shadow var(--transition-base);box-shadow:var(--shadow-sm)}.btn:hover{filter:brightness(0.98);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn:focus{outline:none;box-shadow:var(--shadow-focus)}.btn:disabled{opacity:0.6;cursor:not-allowed;transform:none}.btn-primary{background:var(--brand-primary);color:var(--text-inverse);border-color:var(--brand-primary)}.btn-primary:hover{background:var(--brand-primary-darker);border-color:var(--brand-primary-darker);filter:none}.btn-secondary{background:var(--neutral-600);color:var(--text-inverse);border-color:var(--neutral-600)}.btn-secondary:hover{background:var(--neutral-700);border-color:var(--neutral-700);filter:none}.btn-success{background:var(--brand-success);color:var(--text-inverse);border-color:var(--brand-success)}.btn-success:hover{background:var(--brand-success-dark);filter:none}.btn-danger{background:var(--brand-danger);color:var(--text-inverse);border-color:var(--brand-danger)}.btn-danger:hover{background:var(--brand-danger-dark);filter:none}.btn-warning{background:var(--brand-warning);color:var(--brand-warning-text);border-color:var(--brand-warning)}.btn-warning:hover{background:var(--brand-warning-dark);filter:none}.btn-info{background:var(--brand-info);color:var(--text-inverse);border-color:var(--brand-info)}.btn-info:hover{background:var(--brand-info-dark);filter:none}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);min-height:32px}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg);min-height:48px}.btn-row{display:grid;grid-auto-flow:column;gap:var(--space-sm);justify-content:start}.chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.chip{display:inline-block;padding:0.35rem 0.6rem;border-radius:var(--radius-pill);background:var(--bg-white);border:1px solid var(--border-light);text-decoration:none;color:var(--text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:background var(--transition-fast)}.chip:hover{background:var(--bg-light)}.chip.active{background:var(--brand-primary);color:var(--text-inverse);border-color:var(--brand-primary)}.form-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-xl);margin:0 auto var(--space-xl);max-width:560px}.form-grid{display:grid;gap:var(--space-lg)}.form-field,.field{display:flex;flex-direction:column;gap:var(--space-xs)}.form-label,.field .label{display:block;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-xs);font-size:var(--font-size-base)}.form-input,.input,input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="password"],input[type="number"],select,textarea{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit;line-height:1.5;background:var(--bg-white);color:var(--text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.form-input:focus,.input:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:var(--shadow-focus)}.form-input:disabled,input:disabled,select:disabled,textarea:disabled{background:var(--bg-light);color:var(--text-muted);cursor:not-allowed}.form-help,.field .help{display:block;color:var(--text-muted);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.form-field.error .form-input,.form-field.error input,.form-field.error select,.form-field.error textarea{border-color:var(--brand-danger)}.form-error{color:var(--brand-danger);font-size:var(--font-size-sm);margin-top:var(--space-xs)}fieldset{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg)}legend{font-weight:var(--font-weight-semibold);color:var(--text-primary);padding:0 var(--space-sm);font-size:var(--font-size-lg)}.alert{padding:var(--space-md);margin-bottom:var(--space-lg);border-radius:var(--radius-sm);border:1px solid;font-size:var(--font-size-base);line-height:var(--line-height-normal)}.alert-success{background:var(--brand-success-bg);border-color:var(--brand-success-border);color:var(--brand-success-text)}.alert-error,.alert-danger{background:var(--brand-danger-bg);border-color:var(--brand-danger-border);color:var(--brand-danger-text)}.alert-warning{background:var(--brand-warning-bg);border-color:var(--brand-warning-border);color:var(--brand-warning-text)}.alert-info{background:var(--brand-info-bg);border-color:var(--brand-info-border);color:var(--brand-info-text)}.messages{list-style:none;padding:0;margin:0 0 var(--space-lg) 0}.message{padding:var(--space-md);margin-bottom:var(--space-sm);border-radius:var(--radius-sm);border:1px solid}.message.success{background:var(--brand-success-bg);border-color:var(--brand-success-border);color:var(--brand-success-text)}.message.error{background:var(--brand-danger-bg);border-color:var(--brand-danger-border);color:var(--brand-danger-text)}.message.warning{background:var(--brand-warning-bg);border-color:var(--brand-warning-border);color:var(--brand-warning-text)}.message.info{background:var(--brand-info-bg);border-color:var(--brand-info-border);color:var(--brand-info-text)}.site-footer{background:var(--neutral-800);color:var(--neutral-100);padding:var(--space-2xl) var(--space-md) var(--space-lg) var(--space-md);margin-top:var(--space-3xl);max-width:100%;box-sizing:border-box}.footer-container{max-width:var(--max-width-xl);margin:0 auto}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-xl);margin-bottom:var(--space-xl)}.footer-section h3{font-size:var(--font-size-xl);margin-bottom:var(--space-md);color:var(--neutral-white);font-weight:var(--font-weight-semibold)}.footer-section p{line-height:var(--line-height-relaxed);color:var(--neutral-400);font-size:var(--font-size-base)}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:var(--space-xs)}.footer-section a{color:var(--neutral-400);text-decoration:none;font-size:var(--font-size-base);transition:color var(--transition-base)}.footer-section a:hover{color:var(--brand-primary-light)}.footer-copyright{border-top:1px solid var(--neutral-700);padding-top:var(--space-lg);text-align:center}.footer-copyright p{color:var(--neutral-500);font-size:var(--font-size-sm);margin:0}@media (max-width:768px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}}@media (max-width:500px){.footer-grid{grid-template-columns:1fr;gap:var(--space-md)}.site-footer{padding:var(--space-lg) var(--space-md) var(--space-md) var(--space-md)}}@keyframes htmx-spinner{to{transform:rotate(360deg)}}.btn.htmx-request,button.htmx-request{position:relative;color:transparent!important;pointer-events:none}.btn.htmx-request::after,button.htmx-request::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:htmx-spinner 0.6s linear infinite;opacity:0.8}.btn-primary.htmx-request::after{border-color:var(--text-inverse);border-right-color:transparent}.btn-secondary.htmx-request::after{border-color:var(--text-inverse);border-right-color:transparent}.btn-danger.htmx-request::after{border-color:var(--text-inverse);border-right-color:transparent}.form-card.htmx-request,.card.htmx-request{position:relative;pointer-events:none}.form-card.htmx-request::before,.card.htmx-request::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,0.7);border-radius:inherit;z-index:10}.form-card.htmx-request::after,.card.htmx-request::after{content:"";position:absolute;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border:3px solid var(--brand-primary);border-right-color:transparent;border-radius:50%;animation:htmx-spinner 0.6s linear infinite;z-index:11}.htmx-indicator{display:none}.htmx-indicator.htmx-request{display:inline-flex;align-items:center;gap:var(--space-xs)}.htmx-indicator::before{content:"";width:16px;height:16px;border:2px solid var(--brand-primary);border-right-color:transparent;border-radius:50%;animation:htmx-spinner 0.6s linear infinite}.skeleton{background:linear-gradient(90deg,var(--bg-light) 25%,var(--bg-gray) 50%,var(--bg-light) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:var(--space-xs)}.skeleton-image{aspect-ratio:4/3}[hx-target].htmx-request{opacity:0.6;transition:opacity var(--transition-fast)}.was-validated input:invalid,.was-validated select:invalid,.was-validated textarea:invalid,input.is-invalid,select.is-invalid,textarea.is-invalid{border-color:var(--brand-danger);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--space-sm) center;background-size:20px 20px;padding-right:calc(var(--space-md) + 24px)}.was-validated input:valid,.was-validated select:valid,.was-validated textarea:valid,input.is-valid,select.is-valid,textarea.is-valid{border-color:var(--brand-success);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--space-sm) center;background-size:20px 20px;padding-right:calc(var(--space-md) + 24px)}.was-validated input:invalid:focus,input.is-invalid:focus{border-color:var(--brand-danger);box-shadow:0 0 0 3px rgba(220,53,69,0.2)}.was-validated input:valid:focus,input.is-valid:focus{border-color:var(--brand-success);box-shadow:0 0 0 3px rgba(40,167,69,0.2)}.valid-feedback,.invalid-feedback{display:none;font-size:var(--font-size-sm);margin-top:var(--space-xs)}.valid-feedback{color:var(--brand-success-text)}.invalid-feedback{color:var(--brand-danger-text)}.was-validated input:valid ~ .valid-feedback,.was-validated select:valid ~ .valid-feedback,.was-validated textarea:valid ~ .valid-feedback,input.is-valid ~ .valid-feedback,select.is-valid ~ .valid-feedback,textarea.is-valid ~ .valid-feedback{display:block}.was-validated input:invalid ~ .invalid-feedback,.was-validated select:invalid ~ .invalid-feedback,.was-validated textarea:invalid ~ .invalid-feedback,input.is-invalid ~ .invalid-feedback,select.is-invalid ~ .invalid-feedback,textarea.is-invalid ~ .invalid-feedback{display:block}.form-label.required::after,.field .label.required::after{content:" *";color:var(--brand-danger)}.char-counter{font-size:var(--font-size-xs);color:var(--text-muted);text-align:right;margin-top:var(--space-xs)}.char-counter.warning{color:var(--brand-warning-text)}.char-counter.error{color:var(--brand-danger-text)}.password-strength{height:4px;background:var(--bg-gray);border-radius:2px;margin-top:var(--space-xs);overflow:hidden}.password-strength-bar{height:100%;width:0;transition:width var(--transition-base),background var(--transition-base)}.password-strength-bar.weak{width:25%;background:var(--brand-danger)}.password-strength-bar.fair{width:50%;background:var(--brand-warning)}.password-strength-bar.good{width:75%;background:var(--brand-info)}.password-strength-bar.strong{width:100%;background:var(--brand-success)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;padding:0.125rem;background:var(--directory-paper);color:var(--directory-ink);line-height:var(--line-height-normal)}@supports (padding:max(0px)){body{padding-top:max(0.125rem,env(safe-area-inset-top));padding-bottom:max(0.125rem,env(safe-area-inset-bottom));padding-left:max(0.125rem,env(safe-area-inset-left));padding-right:max(0.125rem,env(safe-area-inset-right))}}#detail-panel{scroll-margin-top:var(--header-offset)}.grid-wrap{max-width:var(--max-content-width);margin:0 auto}.grid{display:grid;gap:0.25rem;grid-template-columns:1fr}.card-wrap{display:flex;flex-direction:column;gap:0.6rem}.card{background:var(--directory-card);color:var(--directory-ink);border:1px solid var(--directory-rule);border-radius:var(--radius-xl);padding:0.25rem;min-height:44px;box-shadow:var(--shadow-directory);text-decoration:none;transition:box-shadow var(--transition-fast),filter var(--transition-fast),transform var(--transition-fast)}.card:hover{cursor:pointer;filter:brightness(0.99);box-shadow:var(--shadow-directory-hover);transform:translateY(-2px)}.card:active{transform:translateY(0)}.card:focus-visible{outline:none;box-shadow:var(--shadow-directory-focus)}.photo{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-md);background:var(--neutral-100);height:auto;cursor:zoom-in}.name{margin:0.6rem 0 0.25rem;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);line-height:var(--line-height-tight);color:var(--directory-ink);text-align:center;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.children,.muted{color:var(--directory-muted);font-size:var(--font-size-base);text-align:center}.children-names{color:var(--directory-muted);font-size:var(--font-size-sm);text-align:center;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.inline-detail{background:transparent}.detail-card{background:var(--directory-card);color:var(--directory-ink);border:1px solid var(--directory-rule);border-radius:var(--radius-xl);padding:0.9rem;max-width:var(--max-content-width);margin:0 auto;display:flex;flex-direction:column;box-shadow:var(--shadow-directory);position:relative}.detail-photo{width:100%;max-width:var(--max-image-width);aspect-ratio:4 / 3;height:auto;max-height:70vh;object-fit:contain;border-radius:var(--radius-md);display:block;margin:0 auto}.detail-photo.zoom-out{cursor:zoom-out}.directory-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-left:var(--space-xs);padding-right:var(--space-xs);flex-wrap:wrap;gap:var(--space-md)}.header-left{text-align:left}.org-name{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--directory-ink);margin:0;line-height:var(--line-height-tight)}.subtitle{font-size:var(--font-size-xl);color:var(--directory-muted);margin:0.1rem 0 0}.header-right{margin-top:var(--space-xs)}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--directory-muted);margin-bottom:var(--space-xs)}.breadcrumb a{color:var(--brand-primary);text-decoration:none;transition:color var(--transition-fast)}.breadcrumb a:hover{color:var(--brand-primary-dark);text-decoration:underline}.breadcrumb-separator{color:var(--directory-muted);opacity:0.5}.breadcrumb-current{font-weight:var(--font-weight-medium);color:var(--directory-ink)}.directory-cta{display:flex;justify-content:center;margin-bottom:var(--space-lg)}.directory-cta-btn{display:inline-flex;align-items:center;gap:var(--space-xs)}.directory-cta-btn svg{flex-shrink:0}.last-updated{font-size:var(--font-size-sm);opacity:0.8}.search-box{background:var(--directory-card);border:1px solid var(--directory-rule);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);min-height:44px;box-shadow:var(--shadow-directory);color:var(--directory-ink);transition:box-shadow var(--transition-fast),border-color var(--transition-fast);font-size:16px;width:100%;max-width:100%}.search-box:focus{outline:none;border-color:var(--directory-rule);box-shadow:var(--shadow-directory-focus)}.input,textarea{background:var(--directory-card);border:1px solid var(--directory-rule);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-directory);color:var(--directory-ink);transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.input:focus,textarea:focus{border-color:var(--directory-rule);box-shadow:var(--shadow-directory-focus)}.pagination-wrapper{display:flex;justify-content:space-between;align-items:center;margin:var(--space-lg) 0;padding:var(--space-md) var(--space-lg);background:var(--directory-card);border:1px solid var(--directory-rule);border-radius:var(--radius-xl);box-shadow:var(--shadow-directory);flex-wrap:wrap;gap:var(--space-md)}.pagination-info{color:var(--directory-muted);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.pagination{display:flex;list-style:none;padding:0;margin:0;gap:0.4rem}.page-item{display:inline-block}.page-link{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm);min-width:44px;min-height:44px;text-align:center;background:var(--directory-paper);border:1px solid var(--directory-rule);color:var(--directory-ink);text-decoration:none;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);font-size:var(--font-size-base)}.page-link:hover{background:var(--directory-card);border-color:var(--directory-rule);filter:brightness(0.98);box-shadow:var(--shadow-sm)}.page-link:focus{outline:none;box-shadow:var(--shadow-directory-focus)}.page-link.current{background:var(--directory-ink);color:var(--directory-card);border-color:var(--directory-ink);cursor:default;font-weight:var(--font-weight-semibold)}.page-link.current:hover{background:var(--directory-ink);filter:none}#lightbox{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(0,0,0,0.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-slow)}#lightbox:not(.hidden){opacity:1;visibility:visible}#lightbox .detail-card{max-width:min(1200px,96vw);max-height:92vh;overflow:auto;padding:var(--space-md)}#lightbox .detail-photo{max-width:min(900px,90vw);max-height:75vh;cursor:zoom-out;opacity:0;transform:scale(0.985);will-change:opacity,transform}#lightbox:not(.hidden) .detail-photo{animation:photoIn 0.25s ease 0.08s forwards}@keyframes photoIn{from{opacity:0;transform:scale(0.985)}to{opacity:1;transform:scale(1)}}.lightbox-close-btn{position:absolute;top:var(--space-sm);right:var(--space-sm);z-index:20;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--neutral-100);border:1px solid var(--directory-rule);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.lightbox-close-btn:hover{background:var(--neutral-200);transform:scale(1.05)}.lightbox-close-btn:active{transform:scale(0.95)}.lightbox-close-btn:focus{outline:none;box-shadow:var(--shadow-focus)}.lightbox-close-btn svg{color:var(--directory-ink)}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-white);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-md);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast);-webkit-tap-highlight-color:transparent}.lightbox-nav-btn.prev{left:var(--space-sm)}.lightbox-nav-btn.next{right:var(--space-sm)}.lightbox-nav-btn:hover:not(.disabled){background:var(--neutral-200);transform:translateY(-50%) scale(1.05)}.lightbox-nav-btn:active:not(.disabled){transform:translateY(-50%) scale(0.95)}.lightbox-nav-btn:focus{outline:none;box-shadow:var(--shadow-focus)}.lightbox-nav-btn svg{color:var(--directory-ink)}.lightbox-nav-btn.disabled{opacity:0.3;cursor:not-allowed}@media (max-width:600px){.lightbox-nav-btn{display:none}}.family-hero{position:relative}.fullscreen-btn{position:absolute;bottom:var(--space-xs);right:var(--space-xs);z-index:10;background:rgba(0,0,0,0.15);border:none;border-radius:var(--radius-sm);padding:var(--space-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;width:44px;height:44px;transition:background var(--transition-base);-webkit-tap-highlight-color:transparent}.fullscreen-btn:hover{background:rgba(0,0,0,0.3)}.fullscreen-btn:active{background:rgba(0,0,0,0.7)}.fullscreen-btn svg{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.5))}.hidden{display:none!important}.mt-3{margin-top:var(--space-sm)}.directory-editions-header{text-align:center;padding:var(--space-xl) var(--space-md) var(--space-md)}.directory-editions-header .directory-header{max-width:600px;margin:0 auto}.directory-editions-header .org-name{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-3xl);color:var(--directory-ink)}.directory-editions-header .subtitle{color:var(--directory-muted);font-size:var(--font-size-base);margin:0}.edition-list{display:grid;gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-width:800px;margin:0 auto;padding:var(--space-lg);list-style:none;justify-content:center}.directory-card{display:block;text-decoration:none;color:inherit;background:var(--directory-card);border:1px solid var(--directory-rule);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-directory);transition:all var(--transition-base);cursor:pointer;text-align:center}.directory-card:hover{box-shadow:var(--shadow-directory-hover);transform:translateY(-4px);border-color:var(--brand-primary)}.directory-card:active{transform:translateY(0);box-shadow:var(--shadow-directory)}.directory-card:focus-visible{outline:none;box-shadow:var(--shadow-directory-focus)}.book-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.book-3d{position:relative;width:130px;height:163px;flex-shrink:0;perspective:600px}.book-transform{position:relative;width:100%;height:100%;transform:rotateY(-15deg);transform-style:preserve-3d}.book-spine{position:absolute;left:0;top:0;bottom:0;width:18px;background:linear-gradient(to right,var(--brand-primary-darker),var(--brand-primary-dark));transform:rotateY(-90deg);transform-origin:left;box-shadow:-2px 0 4px rgba(0,0,0,0.25)}.book-cover{position:absolute;width:100%;height:100%;background:linear-gradient(145deg,var(--brand-primary) 0%,var(--brand-primary-dark) 100%);border-radius:2px;box-shadow:2px 4px 12px rgba(0,0,0,0.2);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-sm);border:1px solid rgba(255,255,255,0.15)}.book-year{color:white;font-size:1.85rem;font-weight:var(--font-weight-bold);text-shadow:0 2px 4px rgba(0,0,0,0.3);margin-bottom:0.35rem}.book-label{color:rgba(255,255,255,0.9);font-size:0.7rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:0.5px}.book-pages{position:absolute;right:-6px;top:3px;bottom:3px;width:6px;background:white;box-shadow:1px 0 3px rgba(0,0,0,0.15);border-radius:0 1px 1px 0}.book-page-lines{position:absolute;top:0;bottom:0;width:100%;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,0.05) 2px,rgba(0,0,0,0.05) 3px)}.family-count-badge{display:inline-flex;align-items:center;background:var(--brand-primary-light);padding:0.5rem var(--space-md);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--brand-primary-dark);border:1px solid rgba(65,118,144,0.2)}.family-count-badge svg{margin-right:0.4rem;color:var(--brand-primary)}.no-editions{text-align:center;color:var(--directory-muted)}@media (max-width:599px){.name{margin:0.4rem 0 0.2rem;font-size:var(--font-size-md)}.children,.muted{font-size:var(--font-size-sm)}.directory-header{margin-bottom:var(--space-md)}.grid-wrap{padding:0}#lightbox{padding:0.25rem}#lightbox .detail-card{max-width:100vw;max-height:96vh;padding:0.25rem}#lightbox .detail-photo{max-width:98vw;max-height:85vh}}@media (min-width:600px){body{padding:var(--space-md)}.directory-header{padding-left:var(--space-lg);padding-right:var(--space-lg)}.grid{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.card{padding:0.375rem}.search-box{width:300px}}@media (min-width:768px){body{padding:var(--space-xs)}.directory-header{padding-left:var(--space-md);padding-right:var(--space-md)}.grid{grid-template-columns:repeat(3,1fr);gap:var(--space-xs)}.card{padding:0.25rem}.name{font-size:var(--font-size-base);line-height:var(--line-height-tight);margin:0.3rem 0 0.15rem}.children-names,.parent-first-names{font-size:var(--font-size-sm)}.detail-card{max-width:800px}}@media (min-width:1024px){body{padding:0.625rem}.directory-header{padding-left:var(--space-lg);padding-right:var(--space-lg)}.grid{grid-template-columns:repeat(3,1fr);gap:0.625rem}.card{padding:0.375rem}.name{font-size:var(--font-size-md);line-height:var(--line-height-tight);margin:0.35rem 0 0.15rem}.children-names,.parent-first-names{font-size:var(--font-size-base)}.detail-card{max-width:900px}}@media (min-width:1280px){body{padding:var(--space-xl)}.directory-header{padding-left:var(--space-2xl);padding-right:var(--space-2xl)}.grid{grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.card{padding:0.375rem}.name{font-size:var(--font-size-xl);margin:0.7rem 0 0.3rem}.children-names,.parent-first-names{font-size:var(--font-size-md)}.org-name{font-size:var(--font-size-4xl)}.subtitle{font-size:var(--font-size-lg)}}@media (max-width:600px){.pagination-wrapper{flex-direction:column;text-align:center;padding:var(--space-md);gap:var(--space-sm)}.pagination{justify-content:center;flex-wrap:wrap}.pagination-info{margin-bottom:0}}@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.card:hover,.btn:hover{transform:none}.card:active,.btn:active{transform:none}#lightbox .detail-photo{opacity:1;transform:none}}.skip-link{position:absolute;top:-100px;left:0;background:var(--brand-primary);color:var(--text-inverse);padding:var(--space-sm) var(--space-md);z-index:10000;text-decoration:none;font-weight:var(--font-weight-medium);border-radius:0 0 var(--radius-sm) 0;transition:top 0.2s ease}.skip-link:focus{top:0;outline:2px solid var(--brand-primary-dark);outline-offset:2px}.mb-0{margin-bottom:0}.mb-05{margin-bottom:0.5rem}.mb-1{margin-bottom:1rem}.mb-15{margin-bottom:1.5rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}.mb-lg{margin-bottom:var(--space-lg)}.mb-md{margin-bottom:var(--space-md)}.mt-0{margin-top:0}.mt-05{margin-top:0.5rem}.mt-1{margin-top:1rem}.mt-15{margin-top:1.5rem}.mt-2{margin-top:2rem}.ml-2{margin-left:2rem}.ml-1{margin-left:1rem}.ml-05{margin-left:0.5rem}.mr-05{margin-right:0.5rem}.mr-1{margin-right:1rem}.m-0{margin:0}.m-auto{margin:0 auto}.p-15{padding:1.5rem}.p-1{padding:1rem}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-none{display:none}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.max-w-480{max-width:480px;margin:0 auto;padding:1.5rem}.fs-small{font-size:0.85rem}.fs-normal{font-size:1rem}.fs-med{font-size:1.1rem}.fs-large{font-size:1.2rem}.fs-lg{font-size:var(--font-size-lg)}.fs-18{font-size:1.8rem}.fs-25{font-size:2.5rem}.fs-2{font-size:2rem}.fs-09{font-size:0.9rem}.fs-075{font-size:0.75rem}.fw-normal{font-weight:normal}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-bold{font-weight:bold}.lh-16{line-height:1.6}.lh-18{line-height:1.8}.text-no-decoration{text-decoration:none}.text-primary{color:var(--brand-primary)}.text-dark{color:var(--text-primary)}.text-gray{color:var(--text-muted)}.text-muted{color:var(--text-muted)}.text-danger{color:var(--brand-danger)}.text-error{color:var(--brand-danger-alt)}.text-success{color:var(--brand-success)}.text-warning{color:var(--brand-warning-text)}.bg-light{background:var(--bg-light)}.bg-info{background:var(--brand-info-bg)}.bg-warning{background:var(--brand-warning-bg)}.bg-danger{background:var(--brand-danger-bg)}.border-primary{border:1px solid var(--brand-primary)}.border-light{border:1px solid var(--border-medium)}.border-warning{border:1px solid var(--brand-warning-alt-border)}.border-danger{border:1px solid var(--brand-danger-border)}.border-info{border:1px solid var(--brand-info-border)}.border-none{border:none}.border-bottom{border-bottom:1px solid var(--border-medium)}.rounded{border-radius:4px}.rounded-lg{border-radius:8px}.flex-wrap{flex-wrap:wrap}.flex-gap-1{gap:1rem}.align-items-center{align-items:center}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed;opacity:0.5}.opacity-06{opacity:0.6}.opacity-09{opacity:0.9}.w-100{width:100%}.w-auto{width:auto}.min-w-200{min-width:200px}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.box-shadow{box-shadow:0 2px 4px rgba(0,0,0,0.1)}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.heading-lg{font-size:2.5rem;margin-bottom:1rem;color:var(--text-primary)}.heading-md{font-size:1.8rem;margin-bottom:1rem;color:var(--text-primary)}.heading-sm{font-size:1.2rem;margin-bottom:1rem;color:var(--text-primary)}.text-body{line-height:1.6;margin-bottom:1rem}.text-body-no-margin{line-height:1.6;margin:0}.label-text{display:block;margin-bottom:0.5rem;font-weight:600}.help-text{color:var(--text-muted);font-size:0.85rem;margin-top:0.5rem}.error-text{color:var(--brand-danger);font-size:0.85rem;margin-top:0.5rem}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.container-center{max-width:480px;margin:0 auto;padding:1.5rem}.container-narrow{max-width:800px;margin:0 auto}@media (max-width:768px){.form-row-2col{grid-template-columns:1fr}.hide-mobile{display:none}}.photo-placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-light);background:var(--neutral-100);aspect-ratio:4/3;border-radius:var(--radius-md)}.photo-loading{background:linear-gradient(90deg,var(--neutral-100) 25%,#f0f0f0 50%,var(--neutral-100) 75%);background-size:200% 100%;animation:photo-shimmer 1.5s ease-in-out infinite}@keyframes photo-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.photo-loaded{animation:none;background:none}.children-names{font-size:0.95em;color:var(--text-muted);margin:0.1rem 0 0 0;font-weight:normal;text-align:center}.actions{margin-bottom:1rem;text-align:center}.filter-group-flex-2{flex:2}.d-flex-gap-xs{display:flex;gap:var(--space-xs)}.col-w-40{width:40px}.col-w-60{width:60px}.col-w-150{width:150px}.pagination-text{padding:var(--space-xs) var(--space-md);color:var(--color-text-muted)}.location-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:2rem}.location-card{display:block;padding:1.5rem;text-decoration:none;color:inherit;border:2px solid var(--border-medium);border-radius:8px}.location-card-heading{margin:0 0 0.5rem 0;color:var(--brand-primary)}.stats{color:var(--text-muted)}.footer-p-mb-1{margin-bottom:1rem}.footer-p-mb-05{margin-bottom:0.5rem}.footer-p-m-0{margin:0}.subscription-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.section-title-mb-05{margin-bottom:0.5rem}.text-p-m-0{margin:0;color:var(--color-text-muted);font-size:var(--font-size-base)}.text-p-mt-025{margin:0.25rem 0 0 0;color:var(--color-text-muted);font-size:var(--font-size-base)}.form-m-0{margin:0}.text-warning-color{color:var(--color-warning-text)}.progress-bar-container{background:var(--color-bg-gray);height:24px;border-radius:12px;overflow:hidden;margin-bottom:var(--space-sm)}.progress-bar-fill{height:100%;width:var(--progress-width,0%);transition:width 0.3s}.progress-bar-fill-primary{background:var(--color-primary)}.progress-bar-fill-warning{background:var(--color-warning)}.progress-bar-fill-danger{background:var(--color-danger)}.storage-stats{display:flex;justify-content:space-between;font-size:var(--font-size-base);color:var(--color-text-muted)}.strong-primary{color:var(--color-text-primary)}.strong-success{color:var(--color-success)}.strong-warning{color:var(--color-warning-text)}.strong-danger{color:var(--color-danger)}.alert-mt-md{margin-top:var(--space-md)}.link-danger{color:var(--color-danger-text);text-decoration:underline}.link-warning{color:var(--color-warning-text);text-decoration:underline}.orphaned-header{margin:0 0 var(--space-sm) 0;color:var(--color-warning-text);display:flex;align-items:center;gap:var(--space-xs)}.orphaned-desc{margin:0 0 var(--space-md) 0;color:var(--color-warning-text)}.orphaned-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.orphaned-tip{color:var(--color-warning-text);font-size:var(--font-size-base);align-self:center}.recent-list-center{text-align:center;margin-top:var(--space-md)}.empty-state-text-lg{font-size:var(--font-size-lg);margin-bottom:var(--space-md)}.empty-state-desc{margin-bottom:var(--space-lg)}.overage-header{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-2xl);display:flex;align-items:center;gap:var(--space-xs)}.overage-icon-lg{font-size:var(--font-size-3xl)}.overage-desc{margin:0 0 var(--space-md) 0;font-size:var(--font-size-lg)}.grace-period-box{background:rgba(255,255,255,0.5);padding:var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.grace-period-text{margin:0 0 var(--space-xs) 0;font-weight:600}.grace-period-desc{margin:0;font-size:var(--font-size-base)}.grace-expired-box{background:rgba(255,255,255,0.3);padding:var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.grace-expired-text{margin:0;font-weight:600}.recommended-action{margin:0 0 var(--space-md) 0}.btn-warning-upgrade{background:var(--color-warning);color:var(--neutral-black);font-weight:600;font-size:var(--font-size-lg)}.trial-expired-banner{background:var(--color-danger);color:white;padding:var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-xl);max-width:800px}.trial-expired-header{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-2xl)}.trial-expired-desc{margin:0 0 var(--space-md) 0;font-size:var(--font-size-lg)}.trial-usage-box{margin:0 0 var(--space-md) 0;background:rgba(255,255,255,0.2);padding:var(--space-sm);border-radius:var(--radius-sm)}.trial-btn-white{display:inline-block;background:white;color:var(--color-danger);padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:var(--font-size-lg)}.alert-mt-lg{margin-top:var(--space-lg)}.alert-span-base{font-size:var(--font-size-base)}.form-container-mt-xl{margin-top:var(--space-xl)}.form-inline-block{display:inline-block;margin-right:var(--space-md)}.form-inline-block-nm{display:inline-block}.help-text-mt-xs{margin-top:var(--space-xs)}.trial-warning-lg{font-size:var(--font-size-lg);font-weight:600}.trial-warning-base{font-size:var(--font-size-base)}.recommended-plan-box{background:var(--brand-info-light-bg);border-left:4px solid var(--material-blue-500);padding:var(--space-lg);margin-top:var(--space-md);border-radius:var(--radius-sm)}.recommended-plan-header{margin:0 0 var(--space-sm) 0;color:var(--material-blue-700);font-size:var(--font-size-lg);display:flex;align-items:center;gap:var(--space-xs)}.recommended-plan-icon{font-size:var(--font-size-2xl)}.recommended-plan-title{margin:0 0 var(--space-sm) 0;color:var(--material-blue-800);font-size:var(--font-size-md)}.recommended-plan-desc{margin:0 0 var(--space-md) 0;color:var(--material-blue-800);font-size:var(--font-size-base)}.recommended-plan-btn{background:var(--material-blue-500);color:var(--text-inverse)}.breadcrumb-separator{margin:0 0.5rem}.page-subtitle-desc{color:var(--text-muted);margin:0.5rem 0 0 0}.bulk-assign-form{margin:0;display:flex;gap:0.5rem;align-items:center}.directory-select-width{width:auto;min-width:200px}.action-link-button{border:none;cursor:pointer}.col-w-100{width:100px}.col-w-120{width:120px}.form-help-block{display:block}.danger-icon-xl{font-size:var(--font-size-2xl)}.delete-account-muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.form-label-m-0{margin:0}.form-help-mt-025{margin-top:0.25rem}.form-help-pl-15{margin-top:0.5rem;padding-left:1.5rem}.alert-mb-lg{margin-bottom:var(--space-lg)}.church-list-mt{margin-top:2rem}.church-group{margin-bottom:2rem;padding:1.5rem;border:1px solid var(--border-medium);border-radius:8px}.church-group-heading{margin:0 0 1rem 0;color:var(--brand-primary)}.church-group-link{text-decoration:none;color:inherit}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.location-card-link{padding:0.75rem;background:var(--bg-light);border-radius:4px;text-decoration:none;color:inherit;display:block}.location-info{font-size:0.9em;color:var(--text-muted);margin-top:0.25rem}.single-location-link{text-decoration:none;color:var(--text-muted)}.empty-state-center{text-align:center;padding:3rem}.empty-state-text-muted{color:var(--text-muted);font-size:1.1em}.empty-state-action{margin-top:1rem}.alert-mb-1{margin-bottom:1rem}.card-centered{max-width:480px;margin:0 auto;padding:1.5rem}.form-actions-center{margin-top:1rem;display:flex;gap:0.5rem;justify-content:center}.btn-link-none{text-decoration:none}.form-footer-invite{margin-top:1rem;text-align:center;font-size:0.9em;color:var(--text-muted)}.footer-minimal{background:var(--bg-light);border-top:1px solid var(--border-light);padding:1.5rem 1rem;margin-top:3rem;text-align:center}.footer-minimal-container{max-width:800px;margin:0 auto}.footer-minimal-text{color:var(--neutral-600);font-size:0.875rem;margin-bottom:0.75rem}.footer-minimal-link{color:var(--brand-primary);text-decoration:none;font-weight:600}.footer-minimal-links{color:var(--neutral-600);font-size:0.8rem;margin:0}.footer-minimal-link-item{color:var(--neutral-600);text-decoration:none;margin:0 0.5rem}.footer-minimal-separator{color:var(--border-light)}.sr-only-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.form-error-text{color:var(--brand-danger-alt)}.grid-gap-75{display:grid;gap:0.75rem}.legal-container{max-width:900px;margin:0 auto;padding:2rem 1rem}.legal-heading{font-size:2.5rem;margin-bottom:1rem;color:var(--text-primary)}.legal-date{color:var(--text-muted);margin-bottom:2rem}.legal-info-box{background:var(--bg-light);padding:1.5rem;border-radius:8px;margin-bottom:2rem}.legal-info-box p{margin:0}.legal-info-box p + p{margin-top:0.5rem}.legal-intro{margin-bottom:2rem;line-height:1.6}.legal-section{margin-bottom:3rem}.legal-section-heading{font-size:1.8rem;margin-bottom:1rem;color:var(--text-primary)}.legal-p{line-height:1.6;margin-bottom:1rem}.legal-list{line-height:1.8;margin-left:2rem;margin-bottom:1rem}.legal-address p{line-height:1.6;margin:0}.legal-address p:first-child{margin-bottom:0.5rem}.legal-footer{text-align:center;padding:2rem 0;border-top:1px solid var(--border-medium);margin-top:3rem}.legal-footer p{color:var(--text-muted);margin-bottom:1rem}.legal-footer p:last-child{margin:0}.legal-footer a{color:var(--brand-primary);margin:0 1rem}.emoji-5xl{font-size:5rem}.link-brand{color:var(--brand-primary)}.form-error-banner{max-width:560px;margin:0 auto 1rem;color:var(--brand-danger-alt)}.admin-form-wrapper{margin-left:200px;margin-top:10px}.admin-form-row-spaced{margin-top:15px}.admin-cancel-link{margin-right:20px}.admin-site-name{display:flex;align-items:center;gap:12px}.admin-logo-box{background:linear-gradient(135deg,var(--brand-primary),var(--neutral-850));width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:white;font-weight:bold;font-size:18px}.admin-brand-link{color:var(--brand-primary);text-decoration:none;font-size:24px;font-weight:600}.admin-subtitle{font-size:12px;color:var(--text-muted);margin-top:-2px}.htmx-swapping{opacity:0;transition:opacity 200ms ease-out}.htmx-settling{opacity:0}.htmx-added{opacity:0}.htmx-indicator{opacity:0;transition:opacity 200ms ease-in}.htmx-request .htmx-indicator{opacity:1}.htmx-request.htmx-indicator{opacity:1}@media (max-width:768px){.subscription-header{flex-direction:column;align-items:flex-start}.storage-stats{flex-direction:column;gap:0.5rem}.orphaned-actions{flex-direction:column;align-items:flex-start;gap:0.75rem}.orphaned-tip{font-size:var(--font-size-sm)}}@media (max-width:480px){.subscription-header>div:first-child{width:100%}.subscription-header form{width:100%}.subscription-header .btn{width:100%}}.fullscreen-viewer{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;background:#000;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.fullscreen-viewer-img{display:block;max-width:100%;max-height:100%;object-fit:contain;user-select:none}.fullscreen-viewer-controls{position:absolute;top:1rem;right:1rem;opacity:0.9}.fullscreen-close-btn{background:rgba(255,255,255,0.9);border:none;border-radius:50%;width:44px;height:44px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.3);transition:background 0.2s}.fullscreen-close-btn:hover{background:#fff}.fullscreen-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.9);border:none;border-radius:50%;width:48px;height:48px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.3);transition:background 0.2s,opacity 0.2s;z-index:10001}.fullscreen-nav-btn:hover{background:#fff}.fullscreen-nav-btn.prev{left:1rem}.fullscreen-nav-btn.next{right:1rem}.fullscreen-nav-btn.disabled{opacity:0.3;cursor:not-allowed}.fullscreen-nav-btn svg{width:24px;height:24px;stroke:#333}@media (max-width:768px){.fullscreen-nav-btn{width:44px;height:44px}.fullscreen-nav-btn.prev{left:0.5rem}.fullscreen-nav-btn.next{right:0.5rem}}.zoom-out-cursor{cursor:zoom-out}.zoom-in-cursor{cursor:zoom-in}.plan-container .plan-header{border:1px solid #e1e5e9;border-bottom:none;background:#f8f9fa;transition:all 0.2s ease}.plan-container .plan-option{border:1px solid #e1e5e9;border-bottom:none;border-top:none;border-radius:0;background:white;transition:all 0.2s ease}.plan-container .plan-option:last-child{border-radius:0 0 4px 4px}.plan-container .plan-option:first-child{border-top:none}.plan-container.plan-selected .plan-header{border:2px solid var(--brand-primary);border-bottom:none;background:var(--brand-primary-light)}.plan-container.plan-selected .plan-option{border:2px solid var(--brand-primary);border-bottom:none;border-top:none}.plan-container.plan-selected .plan-option:last-child{border-radius:0 0 4px 4px}.plan-container.plan-selected .plan-option:first-child{border-top:none}.plan-option:hover{background:#f8f9fa}.photo-preview-visible{display:block!important}.photo-preview-hidden{display:none!important}.photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.photo-preview-message{color:#999;padding:1rem;display:block;text-align:center}.photo-status-success{display:block!important;color:#22c55e!important;font-weight:bold!important}.photo-status-hidden{display:none!important}.field-error-visible{display:block!important}.field-error-hidden{display:none!important}.validation-icon-visible{display:block!important}.validation-icon-hidden{display:none!important}.auto-save-indicator-visible{display:flex!important}.auto-save-indicator-hidden{display:none!important}.submit-btn-disabled{opacity:0.6;cursor:not-allowed}.temp-copy-input{position:fixed;left:-9999px;top:0}.js-hidden{display:none!important}.js-visible{display:block!important}.js-flex-visible{display:flex!important}.sr-only-js{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}