/* PIKE chapter brand: Pantone 188C, 8383C, 7503C, 432C. */
:root{--garnet:#79242F;--gold:#9E8959;--light-gold:#AA9767;--navy:#323E48;--bg:#f7f8f9;--surface:#fff;--fg:#323E48;--muted:#4c5862;--line:#d9dee2;--soft:#f5f2eb}
html{scroll-padding-top:150px}body{font-size:14px;line-height:1.65}button,input,select,textarea{font-family:'Public Sans',Arial,sans-serif}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{min-height:40px;border-radius:9px;font-weight:600}button:disabled{cursor:wait}button.primary{background:var(--garnet);border-color:var(--garnet)}button.primary:not(:disabled):hover{background:var(--navy);border-color:var(--navy)}button:not(:disabled):hover{transform:none}a{color:var(--garnet);text-underline-offset:3px}input,select,textarea{min-height:44px;font-size:16px}input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--garnet)}input:focus,textarea:focus,select:focus{border-color:var(--garnet);box-shadow:0 0 0 3px #79242f18}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
h1,h2,h3{letter-spacing:.01em}h2{font-size:32px}p{overflow-wrap:anywhere}.card,.beta-panel,.beta-record{border-radius:14px;border-color:var(--line);box-shadow:0 3px 14px #323e4806}.card,.beta-panel{padding:22px}.chip,.beta-tag{background:var(--soft);color:var(--garnet)}.evtag{background:var(--soft);color:var(--navy)}.dow{background:var(--soft);color:var(--navy)}.day.selected,.day:not(.other):hover,.day:not(.other):focus-visible{background:var(--soft)}.day.today{outline-color:var(--garnet)}.beta-main{max-width:1240px}.page-bar{padding:14px 0 20px}.page-bar .eyebrow{color:var(--garnet)}.rich-text{max-width:78ch;font-size:15px;line-height:1.85}.rich-text h1,.rich-text h2,.rich-text h3{scroll-margin-top:160px}.hub-minutes-outline{display:flex;flex-wrap:wrap;gap:8px 18px;border-block:1px solid var(--line);padding:14px 0;margin-bottom:22px;font-size:13px}.hub-minutes-outline a{color:var(--garnet)}
.charlie-header,.beta-header{background:var(--garnet);background-image:none}.charlie-header .brand-mark,.brand-mark{background:transparent;border-color:var(--light-gold);color:#fff}.charlie-header h1 span,header h1 span{color:var(--light-gold)}.charlie-hero,.beta-hero{background:var(--garnet);background-image:none;color:#fff}.charlie-tile-icon,.beta-tool-icon,.member-tool-icon{color:var(--garnet);background:var(--soft)}.charlie-tile,.beta-tool{border-color:var(--line)}.charlie-nav button.active,.charlie-nav button[aria-current=page]{border-bottom-color:var(--light-gold);font-weight:700;opacity:1}.charlie-nav-group[data-active-group=true]>summary{box-shadow:inset 0 -3px var(--light-gold)}.charlie-nav-section button.active{background:var(--soft);color:var(--garnet)}.charlie-mobile-tabs button.active{background:var(--soft);color:var(--garnet)}#hub-menu-toggle{display:none}.charlie-nav-group summary{min-height:40px}.notify-menu{max-width:min(390px,calc(100vw - 28px));color:var(--fg);background:var(--surface)}.notify-item{white-space:normal;overflow-wrap:anywhere}.notify-item:not(.seen){border-left:3px solid var(--garnet)}
.hub-auth{max-width:1100px;min-height:calc(100svh - 70px);display:grid;grid-template-columns:1fr 1fr;gap:0;align-content:center;padding:35px 24px;margin:auto}.hub-auth-brand{display:flex;flex-direction:column;justify-content:space-between;gap:36px;background:var(--garnet);color:#fff;padding:40px;border-radius:20px 0 0 20px}.hub-public-link{color:#fff;text-decoration:none;font-size:13px}.hub-auth-brand .eyebrow{color:#fff;letter-spacing:.14em;font-size:10px}.hub-auth-letters{font:72px Georgia,serif;letter-spacing:-.07em;color:var(--light-gold);margin-bottom:24px}.hub-auth-brand h2{font:42px/1.15 Georgia,serif;letter-spacing:-.03em;text-transform:none;margin:0 0 20px}.hub-auth-brand p{max-width:32ch}.hub-auth-brand>p:last-child{font-size:12px}.hub-auth-card{margin:0;padding:48px 40px;border-radius:0 20px 20px 0;display:flex;flex-direction:column;justify-content:center;box-shadow:none}.hub-auth-card .eyebrow{letter-spacing:.14em;color:var(--garnet);font-size:10px}.hub-auth-card h1{font-size:40px;color:var(--navy);text-transform:none;letter-spacing:-.02em}.hub-auth-card>p{margin:10px 0 22px}.hub-auth-card form{display:grid;gap:14px}.hub-auth-card label{font-size:13px;color:var(--navy)}.hub-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.hub-auth-card .actions{margin:6px 0 0}.hub-auth-card .actions .primary{flex:1;min-height:46px}.hub-auth-links{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0}.hub-auth-links button{background:transparent;border:0;padding:6px 0;margin-right:18px;text-decoration:underline;text-underline-offset:4px;color:var(--garnet)}.hub-auth-card .muted{font-size:11px;margin-top:16px}.hub-auth-footer{font-size:12px}.hub-status-page{max-width:700px;padding-top:12vh}.hub-status-page h1{text-transform:none}.hub-feedback{padding:13px 16px;border-left:4px solid var(--garnet);border-radius:8px;background:var(--soft);color:var(--fg);margin-bottom:14px;font-size:14px;overflow-wrap:anywhere}.hub-feedback[data-kind=success]{border-color:var(--gold)}[aria-busy=true]{cursor:progress}.hub-loader{padding:30px;text-align:center}.hub-loader:before{content:'';display:inline-block;width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--garnet);border-radius:50%;margin-right:12px;vertical-align:middle;animation:hub-spin .8s linear infinite}@keyframes hub-spin{to{transform:rotate(360deg)}}
table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;max-width:100%}th,td{padding:11px 12px;vertical-align:top}th{font-weight:700;text-align:left;background:var(--soft);color:var(--fg)}td{border-bottom:1px solid var(--line)}.beta-empty{padding:38px 24px}.beta-empty strong{color:var(--fg)}.calendar-modal-backdrop{z-index:80}.calendar-modal{max-height:85svh}.calendar-modal:focus{outline:3px solid var(--gold)}.beta-record .line,.card .line{flex-wrap:wrap}.beta-record .line>div,.card .line>div{min-width:0}.beta-form,.grid{min-width:0}#content{outline:none}.bar,.line,.actions{gap:12px}.charlie-filter-bar{gap:16px}.charlie-filter-bar label{flex:1;min-width:180px}
html[data-charlie-theme=dark]{--bg:#263039;--surface:#323E48;--fg:#fff;--muted:#d9dee2;--line:#64717a;--soft:#263039}html[data-charlie-theme=dark] a,html[data-charlie-theme=dark] .chip,html[data-charlie-theme=dark] .beta-tag,html[data-charlie-theme=dark] .page-bar .eyebrow{color:#fff}html[data-charlie-theme=dark] .hub-auth-card h1,html[data-charlie-theme=dark] .hub-auth-card label{color:#fff}html[data-charlie-theme=dark] button{color:var(--fg);background:var(--surface)}html[data-charlie-theme=dark] button.primary{background:var(--garnet);color:#fff}
@media(prefers-color-scheme:dark){html[data-charlie-theme=system]{--bg:#263039;--surface:#323E48;--fg:#fff;--muted:#d9dee2;--line:#64717a;--soft:#263039}html[data-charlie-theme=system] a,html[data-charlie-theme=system] .chip,html[data-charlie-theme=system] .beta-tag{color:#fff}}
@media(max-width:850px){.hub-auth{grid-template-columns:.8fr 1fr}.hub-auth-brand{padding:28px}.hub-auth-brand h2{font-size:34px}.hub-auth-card{padding:35px 28px}.beta-user{flex-wrap:wrap;justify-content:flex-end}#hub-menu-toggle{display:inline-flex}.charlie-nav{display:none!important}.charlie-nav.hub-menu-open{display:flex!important;flex-direction:column;overflow:visible;align-items:stretch;max-height:65svh;overflow-y:auto}.charlie-nav-group>div{position:static!important;min-width:0!important;box-shadow:none!important}.charlie-nav-group[open]{z-index:auto}.charlie-nav-group summary{padding:12px}.charlie-nav-section button{width:100%;text-align:left}.charlie-nav-group{width:100%}.top{align-items:flex-start}.header-search-btn kbd{display:none}.charlie-header .brand h1{font-size:24px}.beta-main{padding-top:14px}.charlie-columns{grid-template-columns:1fr}.charlie-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.beta-panel{padding:17px}.charlie-mobile-tabs button{min-height:48px}.charlie-mobile-tabs{padding-bottom:env(safe-area-inset-bottom,0px)}}
@media(max-width:600px){html{scroll-padding-top:165px}.hub-auth{display:block;min-height:0;padding:20px 16px}.hub-auth-brand{border-radius:16px 16px 0 0;padding:22px 25px;gap:0}.hub-auth-brand>div{display:none}.hub-auth-brand>p:last-child{display:none}.hub-auth-card{border-radius:0 0 16px 16px;padding:28px 24px}.hub-auth-card h1{font-size:34px}.charlie-header .top{flex-direction:column;gap:16px}.beta-user{width:100%;justify-content:flex-start}.user-name{display:none}.brand small{font-size:9px}.charlie-grid{grid-template-columns:1fr}.day{min-height:72px;padding:4px}.evtag{font-size:10px;line-height:1.5}.num{font-size:13px}.calendar-head strong{font-size:23px}.calendar-modal{padding:16px}.notify-anchor{position:static}.notify-menu{position:absolute;left:14px;right:14px;top:auto;width:auto}.grid{grid-template-columns:1fr}.charlie-filter-bar{display:grid;grid-template-columns:1fr}.page-bar h2{font-size:28px}.hub-minutes-outline{flex-direction:column}.day[role=button]{min-height:78px}.actions button{min-height:44px}.checks label{min-height:44px}.beta-tool-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Brand colors are invariant across light, dark, and system themes.
   These selectors deliberately match the specificity of the legacy theme. */
:root,:root[data-charlie-theme]{
 --garnet:#79242F;--gold:#9E8959;--light-gold:#AA9767;--navy:#323E48;
 --charlie-garnet:#79242F;--charlie-gold:#9E8959;
 --charlie-ui-primary:#79242F;--charlie-ui-primary-hover:#323E48;
 --charlie-ui-accent:#79242F;
}
:root[data-charlie-theme] .charlie-header,
:root[data-charlie-theme] .beta-header,
:root[data-charlie-theme] .charlie-hero,
:root[data-charlie-theme] .beta-hero{background:#79242F;color:#fff}
:root[data-charlie-theme] .charlie-hero small,
:root[data-charlie-theme] .charlie-hero p{color:#fff}
:root[data-charlie-theme] .charlie-hero{border-bottom-color:#9E8959}
:root[data-charlie-theme] .page-bar h2,
:root[data-charlie-theme] .beta-stat b,
:root[data-charlie-theme] .beta-panel h3,
:root[data-charlie-theme] .charlie-tile b,
:root[data-charlie-theme] .page-bar .eyebrow{color:var(--fg)}
:root[data-charlie-theme] .charlie-tile-icon{background:var(--soft);color:var(--fg)}
:root[data-charlie-theme=dark]{--charlie-ui-accent:#fff}
@media(prefers-color-scheme:dark){:root[data-charlie-theme=system]{--charlie-ui-accent:#fff}}

/* The notification panel is a content surface inside the colored header.
   Its controls must not inherit the header's pale button labels. */
:root[data-charlie-theme] .beta-header .notify-menu{background:var(--surface);color:var(--fg);border-color:var(--line)}
:root[data-charlie-theme] .beta-header .notify-menu button{
 background:var(--surface);color:var(--fg);text-shadow:none;opacity:1;
}
:root[data-charlie-theme] .beta-header .notify-menu button:hover,
:root[data-charlie-theme] .beta-header .notify-menu button:focus-visible{
 background:var(--soft);color:var(--fg);
}
:root[data-charlie-theme] .beta-header .notify-menu .mini-btn{
 background:var(--soft);color:var(--fg);border:1px solid var(--line);
 font-size:12px;min-height:38px;
}
:root[data-charlie-theme] .beta-header .notify-item strong{
 color:var(--fg);font-size:14px;line-height:1.5;opacity:1;
}
:root[data-charlie-theme] .beta-header .notify-item small{
 color:var(--muted);font-size:13px;line-height:1.5;letter-spacing:normal;
}
:root[data-charlie-theme] .beta-header .notify-item span{
 color:var(--muted);font-size:12px;line-height:1.5;letter-spacing:normal;
}
