/* NCMBS Clean CSS */
:root{--color-primary:#1a3a5c;--color-accent:#b8860b;--color-accent-light:#daa520;--color-text:#1a1a1a;--color-text-light:#4a4a4a;--color-bg:#fff;--color-bg-alt:#f5f3ef;--color-bg-dark:#1a3a5c;--color-border:#d4cfc8;--color-focus:#b8860b;--color-link:#1a5a8a;--font-body:Georgia,Times New Roman,serif;--font-heading:Palatino,Georgia,serif;--font-size-base:20px;--font-size-sm:18px;--font-size-lg:24px;--font-size-xl:32px;--font-size-xxl:42px;--font-size-hero:48px;--line-height:1.7;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-xxl:5rem;--max-width:1200px;--content-width:800px;--border-radius:8px;--border-radius-lg:12px;--shadow-sm:0 1px 3px rgba(0,0,0,0.12);--shadow-md:0 4px 12px rgba(0,0,0,0.15)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:var(--font-size-base);scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-text);background:var(--color-bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-link)}
a:hover,a:focus{color:var(--color-accent)}
a:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}
.skip-nav{position:absolute;top:-1000px;left:-1000px;background:var(--color-bg-dark);color:#fff;padding:1rem 2rem;z-index:10000;font-size:var(--font-size-lg)}
.skip-nav:focus{top:0;left:0}
.banner{position:relative;width:100%;overflow:hidden;background:var(--color-bg-dark)}.banner img{width:100%;height:auto}
.banner-overlay{position:absolute;inset:0;background:linear-gradient(rgba(26,58,92,0.35),rgba(26,58,92,0.15))}
.main-nav{background:var(--color-bg-dark);position:sticky;top:0;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,0.2)}
.nav-container{max-width:var(--max-width);margin:0 auto;padding:0.5rem var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
.nav-logo{display:flex;align-items:center;gap:var(--spacing-md);text-decoration:none;color:#fff}.nav-logo img{width:50px;height:50px;object-fit:contain}
.nav-logo span{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:700;color:#fff}
.nav-links{display:flex;list-style:none;gap:0.75rem;align-items:center;flex-wrap:wrap}
.nav-links a{color:#e0d8cc;text-decoration:none;padding:0.6rem 1.2rem;border-radius:var(--border-radius);font-size:var(--font-size-sm);white-space:nowrap;font-weight:600;transition:background-color 0.2s,color 0.2s}
.nav-links a:hover,.nav-links a:focus{background:rgba(255,255,255,0.15);color:#fff}
.nav-links a.active{background:var(--color-accent);color:#fff;box-shadow:0 2px 8px rgba(184,134,11,0.4);padding:0.6rem 1.4rem}
.nav-toggle{display:none;background:none;border:2px solid rgba(255,255,255,0.6);color:#fff;font-size:28px;padding:0.5rem 1rem;border-radius:var(--border-radius);cursor:pointer}
.member-status{display:flex;align-items:center;gap:var(--spacing-md);color:#e0d8cc;font-size:16px;margin-left:1rem}
.member-status .status-dot{width:10px;height:10px;border-radius:50%;background:#4caf50;display:inline-block}
.member-status .status-dot.logged-out{background:#9e9e9e}
.member-status a{color:var(--color-accent-light)}
main{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg)}
section{padding:var(--spacing-xxl) 0;scroll-margin-top:100px}
section:nth-child(even){background:var(--color-bg-alt);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:calc(50vw - 50% + var(--spacing-lg));padding-right:calc(50vw - 50% + var(--spacing-lg))}
section:nth-child(odd){margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:calc(50vw - 50% + var(--spacing-lg));padding-right:calc(50vw - 50% + var(--spacing-lg))}
.section-header{text-align:center;margin-bottom:var(--spacing-xl)}
.section-header h2{font-family:var(--font-heading);font-size:var(--font-size-xxl);color:var(--color-bg-dark);margin-bottom:var(--spacing-md);display:inline-block}
.section-header h2::after{content:'';display:block;width:80px;height:4px;background:var(--color-accent);margin:var(--spacing-md) auto 0;border-radius:2px}
.section-header p{font-size:var(--font-size-lg);color:var(--color-text-light);max-width:var(--content-width);margin:0 auto}
.section-content{max-width:var(--content-width);margin:0 auto;font-size:var(--font-size-lg);color:var(--color-text);line-height:var(--line-height)}
.section-content p{margin-bottom:var(--spacing-lg)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl);max-width:var(--max-width);margin:0 auto}
.card{background:var(--color-bg-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);border:1px solid var(--color-border)}
.card h3{font-family:var(--font-heading);font-size:var(--font-size-xl);color:var(--color-bg-dark);margin-bottom:var(--spacing-md)}
.card p{color:var(--color-text-light);margin-bottom:var(--spacing-md);font-size:var(--font-size-lg)}
.btn{display:inline-block;padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg);font-family:var(--font-body);border:none;border-radius:var(--border-radius);cursor:pointer;text-decoration:none;text-align:center;min-height:55px;line-height:1.3}
.btn-primary{background:var(--color-bg-dark);color:#fff}.btn-primary:hover{background:#2c5f8a;color:#fff}
.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{background:var(--color-accent-light);color:#fff}
.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--spacing-sm);color:var(--color-bg-dark)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--spacing-md);font-size:var(--font-size-lg);font-family:var(--font-body);border:2px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-bg);min-height:55px}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 3px rgba(184,134,11,0.2)}
.form-group textarea{min-height:150px;resize:vertical}
.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius);font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg);border-left:5px solid}
.alert-success{background:#e8f5e9;color:#2e7d32;border-color:#2e7d32}.alert-error{background:#ffebee;color:#c62828;border-color:#c62828}
.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-lg);margin:var(--spacing-xl) 0}
.data-table th,.data-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}
.data-table th{background:var(--color-bg-dark);color:#fff;font-weight:700}
.data-table tr:nth-child(even){background:var(--color-bg-alt)}
.dates-list{list-style:none}
.dates-list li{padding:var(--spacing-lg);border-left:4px solid var(--color-accent);background:var(--color-bg-card);margin-bottom:var(--spacing-md);border-radius:0 var(--border-radius) var(--border-radius) 0;box-shadow:var(--shadow-sm);font-size:var(--font-size-lg)}
.dates-list .date-label{font-weight:700;color:var(--color-bg-dark);display:block;margin-bottom:0.25rem}
.dates-list .date-value{color:var(--color-accent);font-weight:700}.dates-list .location-value{display:block;margin-top:0.25rem;color:var(--color-text-light)}
footer{background:var(--color-bg-dark);color:#d4cfc8;padding:var(--spacing-xl) 0;margin-top:var(--spacing-xxl)}
.footer-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg);display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-xl)}
.footer-section h3{font-family:var(--font-heading);font-size:var(--font-size-lg);color:#fff;margin-bottom:var(--spacing-md)}
.footer-section p,.footer-section a{font-size:18px;line-height:1.8;color:#c0b8a8}.footer-section a:hover{color:var(--color-accent-light)}
.footer-bottom{text-align:center;padding:var(--spacing-lg) var(--spacing-lg) 0;border-top:1px solid rgba(255,255,255,0.1);margin-top:var(--spacing-xl);font-size:18px}
.page-header{background:var(--color-bg-dark);color:#fff;padding:var(--spacing-xl) 0;text-align:center}
.page-header h1{font-family:var(--font-heading);font-size:var(--font-size-xxl);margin-bottom:var(--spacing-sm)}
.page-header p{font-size:var(--font-size-lg);color:#e0d8cc}
.member-nav{background:var(--color-bg-alt);padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border)}
.member-nav ul{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg);list-style:none;display:flex;gap:var(--spacing-md)}
.member-nav a{color:var(--color-bg-dark);font-size:var(--font-size-lg);text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);font-weight:600}.member-nav a:hover{background:rgba(26,58,92,0.1)}
[contenteditable="true"]{outline:2px dashed var(--color-accent);outline-offset:4px;padding:var(--spacing-sm);border-radius:var(--border-radius);cursor:text;background:rgba(184,134,11,0.05);min-height:1.5em}
[contenteditable="true"]:focus{outline:2px solid var(--color-accent);background:rgba(184,134,11,0.1)}
.edit-toolbar{background:var(--color-bg-dark);color:#fff;padding:var(--spacing-md);display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;border-radius:var(--border-radius) var(--border-radius) 0 0;font-size:18px}
.edit-toolbar button{background:rgba(255,255,255,0.15);color:#fff;border:1px solid rgba(255,255,255,0.3);padding:0.25rem 1rem;border-radius:var(--border-radius);cursor:pointer;font-size:18px;min-height:40px}
.edit-toolbar .save-btn{background:var(--color-accent);border-color:var(--color-accent);font-weight:700}.edit-toolbar .save-btn:hover{background:var(--color-accent-light)}
.edit-badge{display:inline-block;background:var(--color-accent);color:#fff;padding:2px 10px;border-radius:4px;font-size:16px;font-weight:700;margin-left:var(--spacing-sm)}
@media(max-width:768px){
  :root{--font-size-base:18px;--font-size-sm:16px;--font-size-lg:20px;--font-size-xl:26px;--font-size-xxl:32px;--font-size-hero:36px}
  .nav-links{display:none;width:100%;flex-direction:column;padding:var(--spacing-md) 0;gap:0.5rem}
  .nav-links.show{display:flex}.nav-toggle{display:block}
  .nav-links a{width:100%;text-align:center;padding:0.8rem}
  section{padding:var(--spacing-xl) 0}.card-grid{grid-template-columns:1fr}
  .footer-container{grid-template-columns:1fr;text-align:center}
  .data-table{font-size:var(--font-size-base)}.nav-logo span{font-size:var(--font-size-base)}
  .member-status{margin-left:0;margin-top:0.5rem}
}
@media(max-width:480px){:root{--font-size-base:16px;--font-size-lg:18px}}
@media print{.main-nav,.member-nav,.edit-toolbar,.btn{display:none}}
