/*
 * HNA AGM-specific CSS. The main HNA appearance (header, banner, container,
 * cards, buttons, footer and typography) comes from /assets/css/style.css.
 * Everything here is scoped to .agm-page to avoid disturbing the home page.
 */
.agm-page { --agm-accent: var(--hsmc-teal, #2f6f9f); --agm-border: #d9e2e8; --agm-subtle: #f3f8fb; }
.agm-page .agm-skip-link { position: absolute; left:-9999px; top:0; background:#fff; color:#163f5b; padding:10px; z-index:100; }
.agm-page .agm-skip-link:focus { left:10px; }
.agm-page .logo { width:auto; height:54px; display:block; }
.agm-page .brand { display:flex; align-items:center; gap:14px; text-decoration:none; }
.agm-page .brand-text { display:flex; flex-direction:column; }
.agm-page .brand-text small { font-size:.85rem; color:var(--muted, #60727c); }
.agm-page .page-banner.compact.agm-banner { padding:2.5rem 0 1.5rem; }
.agm-page .agm-banner .association-intro { max-width:900px; line-height:1.6; }
.agm-page .agm-banner .association-intro p { max-width:none; margin:0 0 .8rem; color:#2f6f9f!important; font-weight:500; }
.agm-page .agm-banner .association-intro p:last-child { margin-bottom:0; }
.agm-page .agm-meeting-panel { margin:0 0 1.5rem; border-left:4px solid var(--agm-accent); }
.agm-page .agm-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.agm-page .agm-detail { min-width:0; }
.agm-page .agm-detail-label { display:block; text-transform:uppercase; font-weight:700; color:#586f7e; letter-spacing:.04em; font-size:.78rem; margin-bottom:.3rem; }
.agm-page .agm-detail strong { color:#244f6d; display:block; font-size:1.03rem; overflow-wrap:anywhere; }
.agm-page .agm-panel-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; margin-top:1.35rem; }
.agm-page .agm-secondary-button { background:#fff; color:var(--agm-accent); border:1px solid #acc6d6; }
.agm-page .agm-pending { background:#ebf1f5; color:#3d647b; padding:.7rem 1rem; border-radius:8px; font-weight:600; }
.agm-page .agm-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(255px,1fr); gap:1.5rem; align-items:start; }
.agm-page .agm-main-column, .agm-page .agm-side-column { min-width:0; display:flex; flex-direction:column; gap:1.5rem; }
.agm-page .agm-notice h2, .agm-page .agm-links-card h2, .agm-page .agm-contact-card h2, .agm-page .agm-proxy-section h2 { margin-top:0; }
.agm-page .agm-notice h3 { margin-top:1.55rem; color:#2f6f9f; }
.agm-page .agm-notice p { line-height:1.65; }
.agm-page .agm-notice p:last-child { margin-bottom:0; }
.agm-page .agm-speaker-box { border-left:4px solid var(--agm-accent); background:var(--agm-subtle); border-radius:4px; padding:.85rem 1.1rem; margin:1.5rem 0; }
.agm-page .agm-speaker-box strong { display:block; font-size:1.02rem; }
.agm-page .agm-signoff { font-weight:700; }
.agm-page .agm-link-list { border-top:1px solid var(--agm-border); }
.agm-page .agm-resource { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:.95rem 0; text-decoration:none; color:var(--agm-accent); border-bottom:1px solid var(--agm-border); font-weight:650; }
.agm-page .agm-resource small { display:block; margin-top:.18rem; color:var(--muted, #667784); font-size:.85rem; font-weight:400; }
.agm-page .agm-resource:hover { text-decoration:underline; }
.agm-page .agm-resource.agm-unavailable { color:#677780; font-weight:600; cursor:default; }
.agm-page .agm-resource.agm-unavailable:hover { text-decoration:none; }
.agm-page .agm-contact-card a { overflow-wrap:anywhere; }
.agm-page .agm-proxy-section { scroll-margin-top:1rem; }
.agm-page .agm-message { padding:1rem 1.15rem; border:1px solid; border-radius:8px; margin:1rem 0; }
.agm-page .agm-message ul { margin:.5rem 0 0; padding-left:1.5rem; }
.agm-page .agm-success { background:#eff9ef; border-color:#b7dbbf; }
.agm-page .agm-error { background:#fff2f2; border-color:#e8b8b6; }
.agm-page .agm-info { background:#eef5fa; border-color:#bfd7e6; }
.agm-page .agm-form { display:flex; flex-direction:column; gap:1.3rem; margin-top:1.25rem; }
.agm-page .agm-form fieldset { border:0; padding:0; margin:0; min-width:0; }
.agm-page .agm-form legend { width:100%; font-weight:700; color:#2f6f9f; border-bottom:1px solid var(--agm-border); margin:0 0 .85rem; padding-bottom:.5rem; }
.agm-page .agm-field { margin:0 0 .9rem; }
.agm-page .agm-field label { display:block; font-weight:600; margin-bottom:.35rem; }
.agm-page .agm-field input { font:inherit; width:100%; box-sizing:border-box; border:1px solid #c0ced7; border-radius:8px; padding:.7rem .8rem; color:inherit; background:#fff; }
.agm-page .agm-optional { font-size:.88rem; font-weight:400; color:var(--muted, #697983); }
.agm-page .agm-form-help { font-size:.9rem; color:var(--muted, #5c6f7b); margin:.6rem 0 0; }
.agm-page .agm-choice { display:flex; align-items:flex-start; gap:.7rem; margin:.55rem 0; padding:.75rem; border:1px solid var(--agm-border); border-radius:8px; cursor:pointer; }
.agm-page .agm-choice input { margin-top:.25rem; flex:none; accent-color:var(--agm-accent); }
.agm-page .agm-other-proxy { border-left:3px solid var(--agm-accent); background:var(--agm-subtle); padding:1rem 1rem .1rem; margin:.75rem 0; }
.agm-page .agm-other-proxy[hidden] { display:none; }
.agm-page .agm-authorise { display:flex; align-items:flex-start; gap:.7rem; }
.agm-page .agm-authorise input { margin-top:.35rem; flex:none; accent-color:var(--agm-accent); }
.agm-page .agm-privacy { font-size:.85rem; color:var(--muted, #62727d); margin:-.6rem 0 0; }
.agm-page .agm-honeypot { position:absolute!important; left:-10000px!important; height:1px; width:1px; overflow:hidden; }
.agm-page a:focus-visible, .agm-page button:focus-visible, .agm-page input:focus-visible { outline:3px solid #e7a94d; outline-offset:2px; }
@media(max-width:900px) { .agm-page .agm-layout { grid-template-columns:1fr; } .agm-page .agm-side-column { grid-row:1; } }
@media(max-width:640px) { .agm-page .agm-detail-grid { grid-template-columns:1fr; gap:.8rem; } .agm-page .agm-panel-actions .button { width:100%; } }
