﻿:root{--color-navy-950:#080F19;--color-navy-900:#0D1620;--color-navy-800:#121E30;--color-navy-700:#1B2A4A;--color-navy-600:#243858;--color-navy-500:#2E4A70;--color-navy-400:#4A6899;--color-navy-300:#7B9BBD;--color-navy-200:#B0C6DC;--color-navy-100:#D8E5F0;--color-navy-50:#EEF4FA;--color-gold-950:#3D2900;--color-gold-900:#614000;--color-gold-800:#8F5F00;--color-gold-700:#C08A0E;--color-gold-600:#D9A62E;--color-gold-500:#E3B94A;--color-gold-400:#EAC978;--color-gold-300:#F0D9A0;--color-gold-200:#F5E7C4;--color-gold-100:#FAF2E0;--color-gold-50:#FDFAF2;--color-forest-950:#071410;--color-forest-900:#0C2018;--color-forest-800:#123024;--color-forest-700:#1A4635;--color-forest-600:#235943;--color-forest-500:#2E7057;--color-forest-400:#4B9075;--color-forest-300:#7DB59D;--color-forest-200:#B2D6C5;--color-forest-100:#D9EDE3;--color-forest-50:#F0F9F5;--color-heather-950:#180B22;--color-heather-900:#261233;--color-heather-800:#391B4C;--color-heather-700:#4F2A68;--color-heather-600:#653784;--color-heather-500:#7C46A0;--color-heather-400:#9A6BB9;--color-heather-300:#BC9AD3;--color-heather-200:#D8C3E7;--color-heather-100:#EDE1F4;--color-heather-50:#F8F1FB;--color-neutral-950:#0A0A0A;--color-neutral-900:#171717;--color-neutral-800:#262626;--color-neutral-700:#3D3D3D;--color-neutral-600:#525252;--color-neutral-500:#737373;--color-neutral-400:#A3A3A3;--color-neutral-300:#D4D4D4;--color-neutral-200:#E5E5E5;--color-neutral-100:#F5F5F5;--color-neutral-50:#FAFAFA;--color-primary:var(--color-forest-700);--color-primary-dark:var(--color-forest-800);--color-primary-hover:var(--color-forest-600);--color-accent:var(--color-gold-700);--color-accent-dark:var(--color-gold-800);--color-accent-hover:var(--color-gold-600);--color-accent-light:var(--color-gold-50);--color-success:#1A7340;--color-success-text:#145730;--color-success-bg:#D4EDDA;--color-success-border:#A3D9B8;--color-warning:#9A6108;--color-warning-text:#7D4E07;--color-warning-bg:#FFF3CD;--color-warning-border:#FFDF7E;--color-danger:#C62828;--color-danger-text:#991F1F;--color-danger-bg:#FDECEA;--color-danger-border:#F4B8B8;--color-info:#0055A5;--color-info-text:#003D7A;--color-info-bg:#CCE0FF;--color-info-border:#99C0FF;--color-festive-board:#8B5E3C;--color-purple-bg:#EDE9FE;--color-purple-text:#5B21B6;--color-purple-border:#C4B5FD;--color-surface:#FFFFFF;--color-surface-2:#F8F8F6;--color-surface-3:#F0F0EC;--color-surface-4:#E8E8E4;--color-bg-subtle:var(--color-surface-2);--color-text-primary:var(--color-neutral-900);--color-text-secondary:var(--color-neutral-600);--color-text-muted:#6B6B6B;--color-text-disabled:var(--color-neutral-300);--color-text-inverse:#FFFFFF;--color-text-on-primary:#FFFFFF;--color-text-on-accent:var(--color-navy-900);--color-border:var(--color-neutral-200);--color-border-strong:var(--color-neutral-300);--color-border-focus:var(--color-accent);--font-display:'Cormorant Garamond',Georgia,'Times New Roman',serif;--font-body:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--font-mono:'JetBrains Mono','Fira Code','Courier New',monospace;--text-xs:clamp(0.75rem,0.70rem + 0.25vw,0.80rem);--text-sm:clamp(0.875rem,0.83rem + 0.23vw,0.95rem);--text-base:clamp(1rem,0.95rem + 0.25vw,1.075rem);--text-lg:clamp(1.125rem,1.05rem + 0.38vw,1.25rem);--text-xl:clamp(1.25rem,1.15rem + 0.50vw,1.5rem);--text-2xl:clamp(1.5rem,1.35rem + 0.75vw,1.875rem);--text-3xl:clamp(1.875rem,1.65rem + 1.13vw,2.5rem);--text-4xl:clamp(2.25rem,1.90rem + 1.75vw,3.5rem);--text-5xl:clamp(2.75rem,2.30rem + 2.25vw,4.5rem);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-none:1;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--letter-spacing-tighter:-0.05em;--letter-spacing-tight:-0.025em;--letter-spacing-normal:0em;--letter-spacing-wide:0.025em;--letter-spacing-wider:0.05em;--letter-spacing-widest:0.1em;--space-0:0;--space-px:1px;--space-0-5:0.125rem;--space-1:0.25rem;--space-1-5:0.375rem;--space-2:0.5rem;--space-2-5:0.625rem;--space-3:0.75rem;--space-3-5:0.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-11:2.75rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--space-32:8rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.06);--shadow-md:0 4px 6px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px rgba(0,0,0,0.08),0 4px 6px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px rgba(0,0,0,0.09),0 10px 10px rgba(0,0,0,0.04);--shadow-2xl:0 25px 50px rgba(0,0,0,0.15);--shadow-inner:inset 0 2px 4px rgba(0,0,0,0.06);--shadow-none:none;--shadow-focus:0 0 0 3px rgba(192,138,14,0.35);--shadow-glow:0 0 0 4px rgba(192,138,14,0.20);--overlay-white-08:rgba(255,255,255,0.08);--overlay-white-60:rgba(255,255,255,0.6);--overlay-white-80:rgba(255,255,255,0.8);--overlay-black-15:rgba(0,0,0,0.15);--overlay-black-55:rgba(0,0,0,0.55);--glass-bg:var(--overlay-white-80);--glass-border:var(--overlay-white-60);--glass-blur:blur(12px);--ease-default:cubic-bezier(0.4,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--transition-fast:150ms var(--ease-default);--transition-base:250ms var(--ease-default);--transition-slow:400ms var(--ease-default);--transition-spring:500ms var(--ease-spring);--z-below:-1;--z-base:0;--z-raised:10;--z-dropdown:100;--z-overlay:200;--z-modal:300;--z-toast:400;--z-nav:500;--sidebar-width:260px;--sidebar-width-collapsed:64px;--topbar-height:64px;--content-max-width:1440px;--bp-sm:576px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1536px;--avatar-sm:32px;--avatar-md:48px;--avatar-lg:72px;--avatar-xl:96px;--input-height-sm:36px;--input-height-md:44px;--input-height-lg:52px;--nav-item-height:44px}[data-theme="dark"]{--color-surface:#0C1525;--color-surface-2:#131F32;--color-surface-3:#1A2840;--color-surface-4:#213350;--color-text-primary:#EEF2F7;--color-text-secondary:#94A3B8;--color-text-muted:#7E8CA3;--color-text-disabled:#3D4D60;--color-border:rgba(255,255,255,0.08);--color-border-strong:rgba(255,255,255,0.14);--shadow-sm:0 1px 3px rgba(0,0,0,0.40);--shadow-md:0 4px 6px rgba(0,0,0,0.35);--shadow-lg:0 10px 15px rgba(0,0,0,0.40);--glass-bg:rgba(19,31,50,0.72);--glass-border:rgba(255,255,255,0.10);--color-success:#4ADE80;--color-success-text:#86EFAC;--color-success-bg:#0F2E1D;--color-success-border:#1F5C3B;--color-warning:#FBBF24;--color-warning-text:#FDE68A;--color-warning-bg:#3D2E05;--color-warning-border:#6B4F0A;--color-danger:#F87171;--color-danger-text:#FCA5A5;--color-danger-bg:#3A1414;--color-danger-border:#6B2020;--color-info:#60A5FA;--color-info-text:#93C5FD;--color-info-bg:#0F2038;--color-info-border:#1E3A5F;--color-navy-50:#1A2840;--color-gold-50:#2A2410;--color-forest-50:#122A20;--color-heather-50:#241733;--color-festive-board:#C99A6B}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--color-surface:#0C1525;--color-surface-2:#131F32;--color-surface-3:#1A2840;--color-surface-4:#213350;--color-text-primary:#EEF2F7;--color-text-secondary:#94A3B8;--color-text-muted:#7E8CA3;--color-text-disabled:#3D4D60;--color-border:rgba(255,255,255,0.08);--color-border-strong:rgba(255,255,255,0.14);--shadow-sm:0 1px 3px rgba(0,0,0,0.40);--shadow-md:0 4px 6px rgba(0,0,0,0.35);--shadow-lg:0 10px 15px rgba(0,0,0,0.40);--color-success:#4ADE80;--color-success-text:#86EFAC;--color-success-bg:#0F2E1D;--color-success-border:#1F5C3B;--color-warning:#FBBF24;--color-warning-text:#FDE68A;--color-warning-bg:#3D2E05;--color-warning-border:#6B4F0A;--color-danger:#F87171;--color-danger-text:#FCA5A5;--color-danger-bg:#3A1414;--color-danger-border:#6B2020;--color-info:#60A5FA;--color-info-text:#93C5FD;--color-info-bg:#0F2038;--color-info-border:#1E3A5F;--color-navy-50:#1A2840;--color-gold-50:#2A2410;--color-forest-50:#122A20;--color-heather-50:#241733;--color-festive-board:#C99A6B;--color-purple-bg:#241B3D;--color-purple-text:#C4B5FD;--color-purple-border:#4C3A7A}}[data-constitution="english"]{--color-primary:var(--color-navy-700);--color-primary-dark:var(--color-navy-800);--color-primary-hover:var(--color-navy-600)}[data-constitution="scottish"]{--color-primary:var(--color-heather-700);--color-primary-dark:var(--color-heather-800);--color-primary-hover:var(--color-heather-600)}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0.01ms;--transition-base:0.01ms;--transition-slow:0.01ms;--transition-spring:0.01ms}}﻿ *,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;tab-size:4;scroll-behavior:smooth}body{min-height:100vh;line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}table{border-collapse:collapse}ol,ul{list-style:none}a{color:inherit;text-decoration:none}button{cursor:pointer;background:none;border:none}fieldset{border:none}hr{border:none;height:1px;background:var(--color-border)}[hidden]{display:none !important}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}﻿ html{overflow-x:hidden}body{overflow-x:hidden;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-surface-2)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{font-size:var(--text-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary)}.lead{font-size:var(--text-lg);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}small,.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}strong,b{font-weight:var(--font-weight-semibold)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-dark);text-decoration:underline}ul.list,ol.list{list-style:revert;padding-left:var(--space-6)}ul.list li,ol.list li{margin-bottom:var(--space-1)}code,kbd,samp{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-surface-3);padding:var(--space-0-5) var(--space-1-5);border-radius:var(--radius-sm);border:1px solid var(--color-border)}pre{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-surface-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow-x:auto}pre code{background:none;border:none;padding:0}hr{background-color:var(--color-border);height:1px;margin:var(--space-6) 0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);transform:translateY(calc(-100% - var(--space-4)));transition:transform var(--transition-fast)}.skip-link:focus{transform:translateY(0)}.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}::selection{background:var(--color-gold-200);color:var(--color-navy-900)}﻿ .app-shell{display:flex;flex-direction:column;min-height:100vh;min-width:0;margin-left:var(--sidebar-width);transition:margin-left var(--transition-base)}.app-shell--collapsed{margin-left:var(--sidebar-width-collapsed)}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--color-primary);display:flex;flex-direction:column;z-index:var(--z-nav);transition:width var(--transition-base),transform var(--transition-base);overflow:hidden;overflow-y:auto;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar--collapsed{width:var(--sidebar-width-collapsed)}.sidebar--collapsed .sidebar__logo-text,.sidebar--collapsed .sidebar__user-info,.sidebar--collapsed .sidebar__nav-label,.sidebar--collapsed .sidebar__section-label{opacity:0;pointer-events:none;width:0;overflow:hidden;white-space:nowrap}.sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-4);border-bottom:1px solid var(--overlay-white-08);min-height:var(--topbar-height);flex-shrink:0}.sidebar__logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;min-width:0}.sidebar__logo-img{width:32px;height:32px;object-fit:contain;flex-shrink:0}.sidebar__logo-text{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-accent);letter-spacing:var(--letter-spacing-wide);white-space:nowrap;transition:opacity var(--transition-base),width var(--transition-base)}.sidebar__toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--overlay-white-60);transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.sidebar__toggle:hover{background:rgba(255,255,255,0.1);color:rgba(255,255,255,1)}.sidebar__user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--overlay-white-08);flex-shrink:0}img.sidebar__user-avatar,img.topbar__user-avatar{object-fit:cover;object-position:center}.sidebar__user-avatar{width:var(--avatar-md);height:var(--avatar-md);border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-text-on-accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--text-lg);flex-shrink:0;letter-spacing:var(--letter-spacing-wide)}.sidebar__user-info{min-width:0;transition:opacity var(--transition-base)}.sidebar__user-name{display:block;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__user-role{display:block;font-size:var(--text-xs);color:rgba(255,255,255,0.55);white-space:nowrap;text-transform:capitalize;letter-spacing:var(--letter-spacing-wide)}.sidebar__footer{border-top:1px solid var(--overlay-white-08);padding:var(--space-2) 0;flex-shrink:0}.topbar{position:sticky;top:0;z-index:var(--z-dropdown);display:flex;align-items:center;justify-content:space-between;height:var(--topbar-height);padding:0 var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);gap:var(--space-4)}.topbar__left{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.topbar__right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.topbar__menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:1.25rem;transition:background var(--transition-fast),color var(--transition-fast)}.topbar__menu-btn:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.topbar__icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:1.125rem;transition:background var(--transition-fast),color var(--transition-fast)}.topbar__icon-btn:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.topbar__badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 3px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:var(--font-weight-bold);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;line-height:1}.topbar__user-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);overflow:hidden}.topbar__user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--font-weight-semibold);font-size:var(--text-sm);cursor:pointer;transition:opacity var(--transition-fast)}.topbar__user-avatar:hover{opacity:0.85}.breadcrumb{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;list-style:none;margin:0;padding:0}.breadcrumb__item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.breadcrumb__item:last-child{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.breadcrumb__separator{color:var(--color-text-muted);font-size:var(--text-xs)}.breadcrumb__link{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.breadcrumb__link:hover{color:var(--color-accent);text-decoration:none}.main-content{flex:1;min-width:0;padding:var(--space-8) var(--space-8);max-width:var(--content-max-width);width:100%}.page-header{margin-bottom:var(--space-8)}.page-header__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin-bottom:var(--space-1)}.page-header__subtitle{font-size:var(--text-base);color:var(--color-text-secondary)}.page-header__actions{display:flex;align-items:center;gap:var(--space-3)}.page-header__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.d-flex.justify-content-between.align-items-center.mb-4,.d-flex.align-items-center.justify-content-between.mb-4{flex-wrap:wrap;gap:var(--space-3)}.sidebar-overlay{display:none;position:fixed;inset:0;background:var(--overlay-black-55);z-index:calc(var(--z-nav) - 1);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.sidebar-overlay--visible{opacity:1;pointer-events:auto}.auth-layout{display:flex;min-height:100vh}.auth-layout__panel--brand{display:none;flex:0 0 45%;background:var(--color-primary);position:relative;overflow:hidden}.auth-layout__panel--form{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-surface);padding:var(--space-12) var(--space-8)}.auth-layout__brand-content{position:relative;z-index:1;padding:var(--space-16);display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.auth-layout__brand-logo{width:120px;height:120px;object-fit:contain;margin-bottom:var(--space-8)}.auth-layout__brand-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);color:var(--color-accent);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-3)}.auth-layout__brand-subtitle{font-size:var(--text-base);color:var(--overlay-white-60);line-height:var(--line-height-relaxed);max-width:320px}.auth-layout__brand-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(192,138,14,0.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(192,138,14,0.06) 0%,transparent 50%);pointer-events:none}.auth-layout__quote-carousel{margin-top:var(--space-12);min-height:var(--space-16)}.auth-layout__quote{font-family:var(--font-display);font-size:var(--text-xl);color:rgba(255,255,255,0.45);font-style:italic;text-align:center;animation:fadeInUp var(--transition-slow) both}.auth-layout__brand-quote{margin-top:var(--space-10);padding:var(--space-5) var(--space-6);border-left:3px solid var(--color-accent);text-align:left}.auth-layout__brand-quote p{font-family:var(--font-display);font-size:var(--text-lg);color:rgba(255,255,255,0.65);font-style:italic;margin:0;line-height:var(--line-height-relaxed)}.auth-layout__constitutions{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-8)}.auth-layout__mobile-logo{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8)}.auth-layout__mobile-lodge-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--color-primary)}@media (min-width:1024px){.auth-layout__mobile-logo{display:none}}.auth-layout__form-inner{width:100%;max-width:420px}@media (min-width:1024px){.auth-layout__panel--brand{display:flex}.topbar__menu-btn{display:none}}@media (max-width:1023px){.app-shell{margin-left:0}.app-shell--collapsed{margin-left:0}.sidebar{transform:translateX(-100%)}.sidebar--mobile-open{transform:translateX(0)}.sidebar-overlay{display:block}.topbar__menu-btn{display:flex}}@media (max-width:767px){.main-content{padding:var(--space-6) var(--space-4)}.topbar{padding:0 var(--space-4)}.auth-layout__panel--form{padding:var(--space-8) var(--space-4)}}﻿ .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);height:var(--input-height-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:1;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);user-select:none;-webkit-user-select:none}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled,.btn[aria-disabled="true"]{opacity:0.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:0 1px 2px rgba(0,0,0,0.2)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px);color:var(--color-text-on-primary);text-decoration:none}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-gold{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent);box-shadow:0 1px 2px var(--overlay-black-15)}.btn-gold:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:0 4px 12px rgba(192,138,14,0.35);transform:translateY(-1px);color:var(--color-text-on-accent);text-decoration:none}.btn-gold:active{transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-secondary{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover{background:var(--color-navy-50);transform:translateY(-1px);color:var(--color-primary);text-decoration:none}.btn-secondary:active{transform:translateY(0)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--color-surface-3);color:var(--color-text-primary);text-decoration:none}.btn-outline-secondary{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border-strong)}.btn-outline-secondary:hover{background:var(--color-surface-3);color:var(--color-text-primary);border-color:var(--color-neutral-400);text-decoration:none}.btn-outline-primary{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline-primary:hover{background:var(--color-navy-50);color:var(--color-primary);text-decoration:none}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger);box-shadow:0 1px 2px var(--overlay-black-15)}.btn-danger:hover{background:var(--color-danger-text);border-color:var(--color-danger-text);box-shadow:var(--shadow-md);transform:translateY(-1px);color:#fff;text-decoration:none}.btn-danger:active{transform:translateY(0)}.btn-outline-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn-outline-danger:hover{background:var(--color-danger-bg);color:var(--color-danger-text);text-decoration:none}.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-success:hover{background:var(--color-success-text);border-color:var(--color-success-text);transform:translateY(-1px);color:#fff;text-decoration:none}.btn-link{background:transparent;color:var(--color-accent);border-color:transparent;padding-left:0;padding-right:0;height:auto}.btn-link:hover{color:var(--color-accent-dark);text-decoration:underline}.btn-xs{height:28px;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-sm{height:var(--input-height-sm);padding:var(--space-1-5) var(--space-4);font-size:var(--text-xs)}.btn-lg{height:var(--input-height-lg);padding:var(--space-3) var(--space-8);font-size:var(--text-base)}.btn-xl{height:60px;padding:var(--space-4) var(--space-10);font-size:var(--text-lg)}.btn-block{width:100%}.btn-icon{width:var(--input-height-md);height:var(--input-height-md);padding:0;border-radius:var(--radius-md);flex-shrink:0}.btn-icon.btn-sm{width:var(--input-height-sm);height:var(--input-height-sm)}@media (max-width:767px){.btn-sm{min-height:44px}.btn-icon.btn-sm{width:44px;min-height:44px}}.btn-icon.btn-lg{width:var(--input-height-lg);height:var(--input-height-lg)}.btn--loading{pointer-events:none;position:relative;color:transparent !important}.btn--loading::after{content:'';position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,0.4);border-top-color:currentColor;border-radius:var(--radius-full);animation:btn-spin 0.65s linear infinite;color:inherit}.btn-primary.btn--loading::after,.btn-gold.btn--loading::after{border-color:rgba(255,255,255,0.3);border-top-color:#fff}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-group{display:inline-flex;align-items:center}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.btn-group .btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.btn-group .btn+.btn{margin-left:-1px}.btn.w-100{width:100%}.btn.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}﻿ .card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card--elevated{box-shadow:var(--shadow-md)}.card--constrained{max-width:640px}.card--interactive{cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base)}.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);background:var(--color-primary);color:var(--color-text-on-primary);border-bottom:none;gap:var(--space-3)}.card-header__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:inherit;margin:0}.card-header__action{flex-shrink:0}.card-body{padding:var(--space-6)}.card-body--flush{padding:0}.card-footer{padding:var(--space-4) var(--space-6);background:var(--color-surface-2);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base)}@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){.kpi-card{background:var(--glass-bg);border-color:var(--glass-border);-webkit-backdrop-filter:var(--glass-blur,blur(12px));backdrop-filter:var(--glass-blur,blur(12px))}}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi-card__icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-navy-50);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:var(--space-4)}.kpi-card__value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:var(--line-height-none);margin-bottom:var(--space-1)}.kpi-card__label{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest)}.kpi-card__trend{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);margin-top:var(--space-2)}.kpi-card__trend--up{color:var(--color-success)}.kpi-card__trend--down{color:var(--color-danger)}.kpi-card__trend--neutral{color:var(--color-text-muted)}.member-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--space-4);transition:transform var(--transition-base),box-shadow var(--transition-base)}.member-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.member-card--featured{border-left:4px solid var(--color-accent)}.member-card__avatar{width:var(--avatar-lg);height:var(--avatar-lg);border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--color-border);flex-shrink:0}.member-card__avatar--initials{background:var(--color-primary);color:var(--color-text-on-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-bold)}.member-card__info{flex:1;min-width:0}.member-card__name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-card__role{font-size:var(--text-sm);color:var(--color-text-secondary)}.event-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition-base),box-shadow var(--transition-base)}.event-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.event-card__header{display:flex;gap:var(--space-4);padding:var(--space-5) var(--space-5) 0}.event-card__date-block{background:var(--color-accent);color:var(--color-text-on-accent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);text-align:center;flex-shrink:0;min-width:52px}.event-card__date-day{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-none);display:block}.event-card__date-month{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);display:block}.event-card__meta{flex:1;min-width:0}.event-card__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin-bottom:var(--space-1)}.event-card__location{font-size:var(--text-sm);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-1)}.event-card__body{padding:var(--space-4) var(--space-5);flex:1}.event-card__footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-2);display:flex;align-items:center;justify-content:space-between}.profile-hero{background:linear-gradient(135deg,var(--color-navy-700) 0%,var(--color-navy-800) 100%);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-8);margin-bottom:var(--space-6);position:relative;overflow:hidden}.profile-hero::before{content:'';position:absolute;top:-40%;right:-10%;width:300px;height:300px;border-radius:var(--radius-full);background:radial-gradient(circle,rgba(192,138,14,0.10) 0%,transparent 70%);pointer-events:none}.profile-hero__inner{display:flex;align-items:center;gap:var(--space-6);position:relative;z-index:1;flex-wrap:wrap}.profile-hero__avatar{width:var(--avatar-xl);height:var(--avatar-xl);border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--color-accent);flex-shrink:0}.profile-hero__avatar--initials{background:var(--color-accent);color:var(--color-text-on-accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-weight-bold)}.profile-hero__info{flex:1;min-width:0}.profile-hero__name{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-on-primary);margin-bottom:var(--space-2)}.profile-hero__title{font-size:var(--text-base);color:rgba(255,255,255,0.65);margin-bottom:var(--space-3)}.profile-hero__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.degree-tracker{display:flex;align-items:flex-start;justify-content:space-between;list-style:none;margin:0;padding:0;position:relative}.degree-tracker::before{content:'';position:absolute;top:22px;left:17%;right:17%;height:2px;background:var(--color-border-strong);z-index:0}.degree-tracker__stage{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1}.degree-tracker__dot{width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--text-lg);background:var(--color-surface);border:2px solid var(--color-border-strong);color:var(--color-text-muted)}.degree-tracker__stage--completed .degree-tracker__dot{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-on-accent)}.degree-tracker__stage--current .degree-tracker__dot{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-primary)}.degree-tracker__name{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-top:var(--space-2)}.degree-tracker__status{font-size:var(--text-xs);color:var(--color-text-muted)}.announcement-list{list-style:none;margin:0;padding:0}.announcement-list__item{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.announcement-list__item:last-child{border-bottom:none}.announcement-list__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.announcement-list__title{font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.announcement-list__date{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.announcement-list__excerpt{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-1) 0 0;line-height:var(--line-height-relaxed)}.upcoming-list{list-style:none;margin:0;padding:0}.upcoming-list__item{border-bottom:1px solid var(--color-border)}.upcoming-list__item:last-child{border-bottom:none}.upcoming-list__link{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-6);color:inherit;text-decoration:none}.upcoming-list__link:hover{background:var(--color-surface-2);text-decoration:none}.upcoming-list__title{font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.upcoming-list__date{font-size:var(--text-xs);color:var(--color-text-muted)}﻿ .form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1-5)}.form-label .required{color:var(--color-danger);margin-left:var(--space-1)}.form-control,.form-select{width:100%;height:var(--input-height-md);padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background:var(--color-neutral-50);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);appearance:none;-webkit-appearance:none}.form-control::placeholder{color:var(--color-text-muted)}.form-control:hover,.form-select:hover{border-color:var(--color-neutral-400)}.form-control:focus,.form-select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus);background:var(--color-surface)}.form-control:disabled,.form-select:disabled,.form-control[readonly]{background:var(--color-surface-3);color:var(--color-text-muted);cursor:not-allowed;opacity:0.75}textarea.form-control{height:auto;min-height:calc(var(--input-height-md) * 3);resize:vertical;padding-top:var(--space-3)}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23737373' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-10)}.form-control-sm,.form-select-sm{height:var(--input-height-sm);padding:var(--space-1-5) var(--space-3);font-size:var(--text-xs)}.form-control-lg,.form-select-lg{height:var(--input-height-lg);padding:var(--space-3) var(--space-5);font-size:var(--text-base)}.form-control--otp{height:64px;font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--font-weight-bold);letter-spacing:0.5em;text-align:center}.form-control.is-valid,.form-select.is-valid{border-color:var(--color-success);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%231A7340' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-10)}.form-control.is-invalid,.form-select.is-invalid{border-color:var(--color-danger);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='5' stroke='%23C62828' stroke-width='1.5' fill='none'/%3E%3Cpath d='M6 3.5v3M6 8.5v.5' stroke='%23C62828' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-10);border-left-width:3px}.form-control.is-invalid:focus,.form-select.is-invalid:focus{box-shadow:0 0 0 3px rgba(198,40,40,0.20)}.invalid-feedback,.form-error{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-danger-text);font-weight:var(--font-weight-medium)}.valid-feedback,.form-success-text{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-success-text)}.form-text,.form-hint{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.form-check{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2);cursor:pointer}.form-check-input{width:18px;height:18px;border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);flex-shrink:0;cursor:pointer;appearance:none;-webkit-appearance:none;margin-top:2px}.form-check-input[type="radio"]{border-radius:var(--radius-full)}.form-check-input:checked{background:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.form-check-input[type="radio"]:checked{background-image:none;box-shadow:inset 0 0 0 3px var(--color-primary);background:var(--color-surface);border-color:var(--color-primary)}.form-check-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.form-check-label{font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;line-height:var(--line-height-snug)}.input-group{display:flex;align-items:stretch}.input-group .form-control{border-radius:0;flex:1}.input-group .form-control:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-group .form-control:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.input-group-text{display:flex;align-items:center;padding:0 var(--space-4);background:var(--color-surface-3);border:1px solid var(--color-border-strong);font-size:var(--text-sm);color:var(--color-text-secondary)}.input-group-text:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:none}.input-group-text:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0;border-left:none}.input-group .btn-icon{border-radius:0 var(--radius-md) var(--radius-md) 0;border:1px solid var(--color-border-strong);border-left:none;height:var(--input-height-md)}.password-requirements{list-style:none;margin:var(--space-2) 0 0;padding:0;display:grid;gap:var(--space-1)}.password-requirements__item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.password-requirements__item::before{content:"\2715";color:var(--color-danger);font-weight:var(--font-weight-bold)}.password-requirements__item--met{color:var(--color-success-text)}.password-requirements__item--met::before{content:"\2713";color:var(--color-success)}﻿ .badge,.status-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-0-5) var(--space-2-5);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;white-space:nowrap;line-height:1.4;border:1px solid transparent}.badge--active,.status-pill--active,.status-pill[data-status="active"]{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge--inactive,.status-pill--inactive,.status-pill[data-status="inactive"]{background:var(--color-neutral-100);color:var(--color-neutral-600);border-color:var(--color-neutral-300)}.badge--pending,.status-pill--pending,.status-pill[data-status="pending"]{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.badge--suspended,.status-pill--suspended,.status-pill[data-status="suspended"]{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.badge--deceased,.status-pill--deceased,.status-pill[data-status="deceased"]{background:var(--color-neutral-200);color:var(--color-neutral-700);border-color:var(--color-neutral-300)}.badge--resigned,.status-pill--resigned,.status-pill[data-status="resigned"]{background:var(--color-neutral-100);color:var(--color-neutral-600);border-color:var(--color-neutral-200)}.badge--navy{background:var(--color-primary);color:var(--color-text-on-primary)}.badge--gold{background:var(--color-gold-50);color:var(--color-gold-800);border-color:var(--color-gold-300)}.badge--constitution-english{background:rgba(74,104,153,0.28);color:var(--color-navy-100);border-color:rgba(123,155,189,0.5)}.badge--constitution-scottish{background:rgba(154,107,185,0.28);color:var(--color-heather-100);border-color:rgba(188,154,211,0.5)}.badge--constitution-irish{background:rgba(75,144,117,0.28);color:var(--color-forest-100);border-color:rgba(125,181,157,0.5)}.badge--role{background:var(--color-navy-50);color:var(--color-navy-700);border-color:var(--color-navy-200)}.badge--paid,.status-pill[data-status="paid"]{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge--outstanding,.status-pill[data-status="outstanding"]{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.badge--overdue,.status-pill[data-status="overdue"]{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.badge--partial,.badge--issued,.status-pill[data-status="partial"],.status-pill[data-status="issued"]{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.badge--cancelled,.status-pill[data-status="cancelled"]{background:var(--color-neutral-100);color:var(--color-neutral-600);border-color:var(--color-neutral-300)}.badge[data-action="create"]{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge[data-action="update"]{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.badge[data-action="delete"]{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.badge[data-action="login"]{background:var(--color-purple-bg);color:var(--color-purple-text);border-color:var(--color-purple-border)}.badge[data-action="logout"]{background:var(--color-neutral-100);color:var(--color-neutral-600);border-color:var(--color-neutral-300)}.badge--accepted{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge--declined{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.badge--tentative{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.badge--draft{background:var(--color-neutral-100);color:var(--color-neutral-600);border-color:var(--color-neutral-300)}.badge--proposed{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.badge--adopted{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge--meeting{background:var(--color-navy-50);color:var(--color-navy-700);border-color:var(--color-navy-200)}.badge--social{background:var(--color-gold-50);color:var(--color-gold-800);border-color:var(--color-gold-200)}.badge--ceremony{background:var(--color-purple-bg);color:var(--color-purple-text);border-color:var(--color-purple-border)}.badge--dot::before{content:'';display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.badge--count{min-width:20px;height:20px;border-radius:var(--radius-full);padding:0 var(--space-1);background:var(--color-danger);color:var(--color-text-inverse);font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:0;text-transform:none;display:inline-flex;align-items:center;justify-content:center}﻿ .alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid transparent;border-left-width:4px;font-size:var(--text-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4)}.alert__icon{font-size:1.125rem;flex-shrink:0;margin-top:1px}.alert__body{flex:1;min-width:0}.alert__title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.alert__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);opacity:0.6;flex-shrink:0;transition:opacity var(--transition-fast),background var(--transition-fast);color:inherit}.alert__close:hover{opacity:1;background:rgba(0,0,0,0.06)}.alert-success,.alert--success{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border);border-left-color:var(--color-success)}.alert-warning,.alert--warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border);border-left-color:var(--color-warning)}.alert-danger,.alert--danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border);border-left-color:var(--color-danger)}.alert-info,.alert--info{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border);border-left-color:var(--color-info)}.alert--navy{background:var(--color-navy-50);color:var(--color-navy-800);border-color:var(--color-navy-200);border-left-color:var(--color-primary)}.alert--gold{background:var(--color-gold-50);color:var(--color-gold-800);border-color:var(--color-gold-200);border-left-color:var(--color-accent)}.alert.auto-dismiss{animation:alert-appear var(--transition-base) both}@keyframes alert-appear{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.alert-dismissible{padding-right:var(--space-12);position:relative}.alert-dismissible .btn-close{position:absolute;top:50%;right:var(--space-4);transform:translateY(-50%);opacity:0.5}.alert-dismissible .btn-close:hover{opacity:1}﻿ .u-block{display:block}.u-inline{display:inline}.u-inline-block{display:inline-block}.u-flex{display:flex}.u-inline-flex{display:inline-flex}.u-grid{display:grid}.u-hidden{display:none}.u-flex-center{align-items:center;justify-content:center}.u-flex-between{justify-content:space-between}.u-flex-end{justify-content:flex-end}.u-flex-col{flex-direction:column}.u-flex-wrap{flex-wrap:wrap}.u-flex-1{flex:1}.u-flex-shrink-0{flex-shrink:0}.u-items-center{align-items:center}.u-items-start{align-items:flex-start}.u-items-end{align-items:flex-end}.u-gap-1{gap:var(--space-1)}.u-gap-2{gap:var(--space-2)}.u-gap-3{gap:var(--space-3)}.u-gap-4{gap:var(--space-4)}.u-gap-6{gap:var(--space-6)}.u-gap-8{gap:var(--space-8)}.u-m-0{margin:0}.u-mt-0{margin-top:0}.u-mt-2{margin-top:var(--space-2)}.u-mt-4{margin-top:var(--space-4)}.u-mt-6{margin-top:var(--space-6)}.u-mt-8{margin-top:var(--space-8)}.u-mb-0{margin-bottom:0}.u-mb-2{margin-bottom:var(--space-2)}.u-mb-4{margin-bottom:var(--space-4)}.u-mb-6{margin-bottom:var(--space-6)}.u-mb-8{margin-bottom:var(--space-8)}.u-ms-auto{margin-left:auto}.u-me-auto{margin-right:auto}.u-mx-auto{margin-left:auto;margin-right:auto}.u-p-0{padding:0}.u-p-4{padding:var(--space-4)}.u-p-6{padding:var(--space-6)}.u-px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.u-px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.u-py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.u-py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.u-w-full{width:100%}.u-h-full{height:100%}.u-min-w-0{min-width:0}.u-text-left{text-align:left}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-text-primary{color:var(--color-text-primary)}.u-text-secondary{color:var(--color-text-secondary)}.u-text-muted{color:var(--color-text-muted)}.u-text-accent{color:var(--color-accent)}.u-text-navy{color:var(--color-primary)}.u-text-success{color:var(--color-success)}.u-text-warning{color:var(--color-warning)}.u-text-danger{color:var(--color-danger)}.u-text-white{color:#fff}.u-text-inverse{color:var(--color-text-inverse)}.u-font-display{font-family:var(--font-display)}.u-font-body{font-family:var(--font-body)}.u-font-mono{font-family:var(--font-mono)}.u-fw-normal{font-weight:var(--font-weight-normal)}.u-fw-medium{font-weight:var(--font-weight-medium)}.u-fw-semibold{font-weight:var(--font-weight-semibold)}.u-fw-bold{font-weight:var(--font-weight-bold)}.u-text-xs{font-size:var(--text-xs)}.u-text-sm{font-size:var(--text-sm)}.u-text-base{font-size:var(--text-base)}.u-text-lg{font-size:var(--text-lg)}.u-text-xl{font-size:var(--text-xl)}.u-uppercase{text-transform:uppercase}.u-capitalize{text-transform:capitalize}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-no-wrap{white-space:nowrap}.u-bg-surface{background:var(--color-surface)}.u-bg-surface-2{background:var(--color-surface-2)}.u-bg-primary{background:var(--color-primary)}.u-bg-accent{background:var(--color-accent)}.u-bg-navy-50{background:var(--color-navy-50)}.u-bg-gold-50{background:var(--color-gold-50)}.u-border{border:1px solid var(--color-border)}.u-border-top{border-top:1px solid var(--color-border)}.u-border-bottom{border-bottom:1px solid var(--color-border)}.u-border-none{border:none}.u-rounded{border-radius:var(--radius-md)}.u-rounded-lg{border-radius:var(--radius-lg)}.u-rounded-full{border-radius:var(--radius-full)}.u-overflow-hidden{overflow:hidden}.u-overflow-auto{overflow:auto}.u-overflow-x-auto{overflow-x:auto}.u-scroll-lock{overflow:hidden}.u-invisible{visibility:hidden}.u-visible{visibility:visible}.u-cursor-pointer{cursor:pointer}.u-cursor-default{cursor:default}.u-no-pointer{pointer-events:none}.u-opacity-0{opacity:0}.u-opacity-50{opacity:0.5}.u-opacity-75{opacity:0.75}.u-opacity-100{opacity:1}.u-shadow-sm{box-shadow:var(--shadow-sm)}.u-shadow-md{box-shadow:var(--shadow-md)}.u-shadow-lg{box-shadow:var(--shadow-lg)}.u-divider{height:1px;background:var(--color-border);margin:var(--space-4) 0}.u-admin-only{display:none}[data-user-role="super_admin"] .u-admin-only,[data-user-role="worshipful_master"] .u-admin-only{display:revert}﻿ @keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes scaleIn{from{opacity:0;transform:scale(0.94)}to{opacity:1;transform:scale(1)}}@keyframes spinGold{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes pulseGold{0%,100%{box-shadow:0 0 0 0 rgba(192,138,14,0.4)}50%{box-shadow:0 0 0 8px rgba(192,138,14,0)}}@keyframes pulseScale{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes bellShake{0%,100%{transform:rotate(0deg)}10%{transform:rotate(10deg)}30%{transform:rotate(-8deg)}50%{transform:rotate(6deg)}70%{transform:rotate(-4deg)}90%{transform:rotate(2deg)}}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) var(--animation-delay,0ms) both}.animate-fade-in-left{animation:fadeInLeft var(--transition-slow) var(--animation-delay,0ms) both}.animate-fade-in-right{animation:fadeInRight var(--transition-slow) var(--animation-delay,0ms) both}.animate-fade-in{animation:fadeIn var(--transition-base) var(--animation-delay,0ms) both}.animate-scale-in{animation:scaleIn var(--transition-spring) both}.animate-pulse-gold{animation:pulseGold 2s infinite}.animate-bell-shake{animation:bellShake 0.8s ease-in-out}.delay-50{animation-delay:50ms}.delay-100{animation-delay:100ms}.delay-150{animation-delay:150ms}.delay-200{animation-delay:200ms}.delay-300{animation-delay:300ms}.delay-400{animation-delay:400ms}.delay-500{animation-delay:500ms}.delay-600{animation-delay:600ms}.delay-700{animation-delay:700ms}.delay-800{animation-delay:800ms}[data-animate]{opacity:0}[data-animate].animated{opacity:1}.spinner-sm{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,0.35);border-top-color:currentColor;border-radius:var(--radius-full);animation:spinGold 0.65s linear infinite;flex-shrink:0}.spinner-md{display:inline-block;width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--radius-full);animation:spinGold 0.8s linear infinite}.progress-bar-top{position:fixed;top:0;left:0;height:3px;background:var(--color-accent);z-index:calc(var(--z-toast) + 1);border-radius:0 var(--radius-full) var(--radius-full) 0;transition:width var(--transition-base);box-shadow:0 0 8px rgba(192,138,14,0.4)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}[data-animate]{opacity:1}}﻿ .error-404__code{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:var(--line-height-none)}.input-group--narrow{max-width:200px}.section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin-bottom:var(--space-5)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5);margin-bottom:var(--space-8)}.content-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}.content-grid--2col{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.content-grid--3col{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.content-grid--sidebar{grid-template-columns:1fr 320px}@media (max-width:1023px){.content-grid--sidebar{grid-template-columns:1fr}}.announcement-banner{background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-navy-600) 100%);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-6);color:var(--color-text-on-primary);display:flex;align-items:center;gap:var(--space-4)}.announcement-banner__icon{color:var(--color-accent);font-size:1.5rem;flex-shrink:0}.announcement-banner__body{flex:1;min-width:0}.announcement-banner__title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.announcement-banner__text{font-size:var(--text-sm);opacity:0.8;margin:0}.announcement-banner__dismiss{color:var(--overlay-white-60);font-size:1.125rem;flex-shrink:0;transition:color var(--transition-fast)}.announcement-banner__dismiss:hover{color:rgba(255,255,255,1)}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.activity-feed{list-style:none;margin:0;padding:0}.activity-feed__item{display:flex;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.activity-feed__item:last-child{border-bottom:none}.activity-feed__icon{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-navy-50);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:0.875rem;flex-shrink:0}.activity-feed__body{flex:1;min-width:0}.activity-feed__text{font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-0-5)}.activity-feed__time{font-size:var(--text-xs);color:var(--color-text-muted)}.config-section{margin-bottom:var(--space-8)}.config-section__header{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-primary);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-accent);margin-bottom:var(--space-5)}.profile-tabs{border-bottom:2px solid var(--color-border);margin-bottom:var(--space-6);display:flex;gap:0;overflow-x:auto;scrollbar-width:none}.profile-tabs::-webkit-scrollbar{display:none}.profile-tabs__tab{padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;text-decoration:none;transition:color var(--transition-fast),border-color var(--transition-fast);cursor:pointer}.profile-tabs__tab:hover{color:var(--color-primary);text-decoration:none}.profile-tabs__tab--active{color:var(--color-primary);border-bottom-color:var(--color-accent);font-weight:var(--font-weight-semibold)}.fc .fc-toolbar-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-primary)}.fc .fc-button-primary{background:var(--color-primary);border-color:var(--color-primary);font-family:var(--font-body);font-size:var(--text-sm)}.fc .fc-button-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.fc .fc-button-primary:not(:disabled).fc-button-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-on-accent)}@media (max-width:767px){.fc .fc-toolbar{flex-wrap:wrap;gap:var(--space-2)}.fc .fc-toolbar-chunk{display:flex;justify-content:center}}.fc .fc-event{border-radius:var(--radius-sm);border-left:3px solid var(--color-accent);font-size:var(--text-xs)}.fc-event--festive-board{border-left-color:var(--color-festive-board)}.payment-timeline{list-style:none;padding:0;margin:0;position:relative}.payment-timeline::before{content:'';position:absolute;left:19px;top:0;bottom:0;width:2px;background:var(--color-border)}.payment-timeline__item{display:flex;gap:var(--space-4);padding-bottom:var(--space-5);position:relative}.payment-timeline__dot{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-success-bg);border:2px solid var(--color-success);color:var(--color-success);display:flex;align-items:center;justify-content:center;font-size:0.875rem;flex-shrink:0;z-index:1}.payment-timeline__dot--overdue{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.payment-timeline__body{flex:1;padding-top:var(--space-2)}.payment-timeline__desc{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.payment-timeline__date{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-0-5)}.payment-timeline__amount{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-success)}footer{background-color:#CCCCCC;border-top:solid 1px #000000;font-size:small;color:#000000}