.group-registration-identifier{margin:.5rem 0 .25rem}.group-registration-identifier strong{letter-spacing:.03em}.group-payment-notice{margin-top:1rem}
/* ROLCtoGather | Version 1.0.48 | File: src/css/app.css */
:root{--navy:#293f70;--navy-2:#1e2e52;--gold:#c8a24a;--ink:#172033;--muted:#667085;--bg:#f5f7fb;--line:#e4e7ec;--white:#fff;--danger:#b42318;--success:#027a48;--shadow:0 18px 55px rgba(25,39,70,.12)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.view{display:none;min-height:100vh}.view.active{display:flex}
#login-view{align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at 15% 10%,rgba(200,162,74,.18),transparent 30%),radial-gradient(circle at 85% 90%,rgba(41,63,112,.16),transparent 34%),linear-gradient(145deg,#eef2f8,#fafbfc)}
.login-shell{width:min(540px,100%);text-align:center}.login-brand{margin-bottom:22px}.login-brand img{width:300px;height:auto;max-width:80vw;filter:drop-shadow(0 10px 22px rgba(41,63,112,.16))}
.login-card{width:min(480px,100%);margin:0 auto;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid rgba(228,231,236,.9);border-radius:24px;padding:32px;text-align:left;box-shadow:var(--shadow)}
.login-card h1{margin:0 0 7px;text-align:center;font-size:2rem;letter-spacing:-.03em}.muted{color:var(--muted);line-height:1.55;text-align:center}.stack{display:grid;gap:4px;margin-top:24px}
label{display:block;margin:0 0 13px;font-size:.82rem;font-weight:750;color:#344054}input,select{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;outline:0;transition:.18s;border-bottom:2px solid #d0d5dd}input:focus,select:focus{border-color:var(--navy);border-bottom-color:var(--navy);box-shadow:0 0 0 3px rgba(41,63,112,.09)}
button{border:0;border-radius:12px;padding:12px 16px;font-weight:750;transition:transform .12s,box-shadow .12s,background .12s}button:active{transform:translateY(1px)}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(41,63,112,.2)}.primary:hover{background:var(--navy-2);box-shadow:0 10px 24px rgba(41,63,112,.25)}.ghost{background:transparent;color:var(--navy)}.status{min-height:1.3em;margin:8px 0 0;color:var(--danger);font-size:.84rem}
.login-app-title{margin:0;color:#7b8495;font-weight:400;font-size:.68rem;letter-spacing:0;line-height:1.55}.login-app-title span{color:inherit;font-weight:400}
.login-partners{display:flex;align-items:center;justify-content:center;gap:42px;margin:2px 0 8px}.login-partners img{height:auto;max-height:80px;object-fit:contain;object-position:center;filter:drop-shadow(0 5px 10px rgba(25,39,70,.08))}.login-partners img:first-child{width:150px}.login-partners img:last-child{width:180px}
.login-verse{margin:0 8px;color:var(--navy);text-align:center}.login-verse p{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:.92rem;line-height:1.6;font-style:italic}.login-verse span{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--gold);font-style:normal;font-size:.78rem;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.login-reserve{margin:16px 12px 0;color:#7b8495;font-size:.68rem;line-height:1.55;text-align:center}
#app-view{flex-direction:column}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 22px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.brand-home{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0}.brand-home:hover{color:inherit;text-decoration:none}.brand-mini img{width:200px;height:auto;max-width:32vw;object-fit:contain}.topbar strong{display:block;font-size:.92rem}.topbar-left div:last-child span{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}.sync-pill{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.72rem;color:var(--muted);background:#fff}.sync-pill i{width:7px;height:7px;border-radius:50%;background:#98a2b3}.sync-pill.online i{background:var(--success)}#main-content{width:min(1120px,100%);margin:0 auto;padding:28px 22px 40px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h1{margin:0;font-size:1.9rem;letter-spacing:-.03em}.page-head p{margin:5px 0 0}.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 7px 25px rgba(25,39,70,.05)}.event-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:20px}.event-button{display:flex;align-items:center;justify-content:space-between;text-align:left;background:#fff;border:1px solid var(--line);padding:17px 18px;color:var(--ink);box-shadow:0 4px 14px rgba(25,39,70,.04)}.event-button:hover{border-color:#b8c2d5;box-shadow:0 9px 24px rgba(25,39,70,.08);transform:translateY(-1px)}.event-button strong{display:block}.event-button span{color:var(--muted);font-size:.78rem;margin-left:12px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:20px 0}.metric{padding:17px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,#fff,#fafbfd)}.metric strong{display:block;font-size:1.65rem;letter-spacing:-.03em}.metric span{color:var(--muted);font-size:.76rem;text-transform:capitalize}.empty{text-align:center;padding:34px 16px;color:var(--muted)}.section-title{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#667085;margin:0 0 12px}
@media(max-width:600px){.topbar{padding:9px 14px}.topbar-right{gap:5px}.sync-pill{display:flex;gap:4px;padding:5px 7px;font-size:.65rem;white-space:nowrap;flex-shrink:0}#main-content{padding:18px 13px 30px}.login-card{padding:25px 21px;border-radius:20px}.login-brand img{width:160px}.login-app-title{font-size:.98rem}.login-partners{gap:24px}.login-partners img:first-child{width:120px}.login-partners img:last-child{width:144px}.login-verse{margin-left:4px;margin-right:4px}.login-verse p{font-size:.84rem}.login-verse span{font-size:.7rem}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:1.6rem}.event-list{grid-template-columns:1fr}.card{padding:18px}.login-partners{gap:18px}}

.workspace{max-width:1100px;margin:0 auto;padding:32px 20px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.form-grid,.payment-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.payment-actions{grid-template-columns:1fr 1fr auto}.inset{margin-top:20px;background:#f8fafc}.member-card{margin-top:20px;padding:20px;border:1px solid #e4e8ef;border-radius:14px}.balance{font-size:30px;font-weight:700;margin:16px 0}.balance span{font-size:14px;font-weight:400}.scan-success,.scan-block{margin-top:20px;padding:24px;border-radius:14px;border:1px solid #dfe5ed}.scan-success{background:#f3faf5}.scan-block{background:#fff8f2}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}@media(max-width:700px){.form-grid,.payment-actions,.action-grid{grid-template-columns:1fr}.section-head{flex-direction:column}.workspace{padding:20px 12px}}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.42);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal-card{width:min(500px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 24px 70px rgba(15,23,42,.2)}.modal-card h2{margin:0 0 10px}.modal-card p{color:var(--muted);line-height:1.6;white-space:normal}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.modal-actions .primary{width:auto;min-width:150px}.modal-actions .ghost{border:1px solid var(--line)}
.review-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.review-row:last-child{border-bottom:0}.review-row span{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}.review-actions{display:flex;gap:6px;white-space:nowrap}.group-edit{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.group-config{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.group-member-input{width:calc(100% - 90px);display:inline-block}.group-find{margin-left:8px}.group-selected{display:block;color:var(--muted);font-size:.72rem;margin:4px 0 10px}@media(max-width:600px){.review-row,.review-actions{flex-direction:column;align-items:stretch}.group-edit{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}.group-member-input{width:100%}.group-find{margin:0 0 8px;width:100%}}
.qr-video{display:none;width:100%;max-height:320px;object-fit:cover;border-radius:14px;margin:14px 0;background:#111}.qr-video.active{display:block}.scanner-card{max-width:640px;margin:0 auto}.scanner-card #camera{width:100%;border:1px solid var(--line);margin-bottom:8px}
.event-button{gap:18px}.event-button>span:first-child{min-width:0}.event-button>span:first-child>span{display:block;margin:5px 0 0}.event-state{flex:0 0 auto;font-size:.7rem;font-weight:800;letter-spacing:.06em;color:var(--muted);padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#f8fafc}.event-status-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.event-status-row .primary,.event-status-row .ghost{width:auto;min-width:120px;justify-content:center}@media(max-width:600px){.event-status-row{align-items:stretch;flex-direction:column}.event-status-row button{width:100%}}

/* Mobile application layout — intentionally distinct from desktop */
.mobile-nav{display:none}
@media(min-width:701px){
  #mobile-nav{display:none!important}
}
@media(max-width:700px){
  body{background:#f1f4f8}
  .topbar{height:58px;padding:7px 12px;background:#fff;border-bottom:1px solid #dfe4ec}
  .topbar-left{gap:8px;min-width:0}.brand-home{gap:8px}.brand-mini img{width:92px;max-width:none}
  .topbar-left>div:last-child{min-width:0}.topbar-left strong{font-size:.82rem;white-space:nowrap}
  .topbar-left div:last-child span{font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar-right .sync-pill{display:flex;gap:4px;padding:5px 7px;font-size:.65rem;white-space:nowrap;flex-shrink:0}.topbar-right .ghost{padding:8px 9px;font-size:.72rem}
  #main-content{padding:0 0 82px;width:100%}
  .workspace{max-width:none;padding:16px 12px 24px}
  .section-head{margin:3px 2px 16px;gap:10px}
  .section-head h1,.page-head h1{font-size:1.42rem;letter-spacing:-.025em}
  .section-head p.muted{font-size:.8rem;text-align:left}
  .card{border-radius:16px;padding:16px;box-shadow:0 3px 12px rgba(25,39,70,.05)}
  .card.inset{margin-top:12px}
  .action-grid{grid-template-columns:1fr;gap:9px;margin-top:14px}
  .action-grid button{min-height:48px}
  .event-list{grid-template-columns:1fr;gap:8px;margin-top:12px}
  .event-button{min-height:62px;padding:13px 14px;border-radius:14px;box-shadow:none}
  .event-button strong{font-size:.9rem}.event-button span{font-size:.7rem}
  .event-state{font-size:.62rem;padding:5px 7px}
  .metrics{grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}
  .metric{padding:13px;border-radius:13px}.metric strong{font-size:1.35rem}.metric span{font-size:.68rem}
  .form-grid,.payment-actions{grid-template-columns:1fr;gap:9px}
  .workspace label{font-size:.76rem}
  .workspace input,.workspace select{padding:12px 13px;font-size:16px}
  .member-card{margin-top:12px;padding:15px;border-radius:14px}
  .balance{font-size:26px;margin:12px 0}
  .review-row{padding:13px 0}
  .review-actions button{min-height:44px}
  .event-status-row{gap:12px}
  .event-status-row button{min-height:46px}
  .scanner-card{max-width:none}
  .scanner-card .primary{min-height:52px;font-size:1rem}
  .qr-video{max-height:280px}
  .modal-backdrop{padding:12px}.modal-card{border-radius:16px;padding:20px}
  .modal-actions button{min-height:46px}
  .mobile-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:50;display:flex;align-items:stretch;gap:4px;padding:6px;background:rgba(255,255,255,.96);border:1px solid #dfe4ec;border-radius:18px;box-shadow:0 10px 30px rgba(25,39,70,.16);backdrop-filter:blur(16px)}
  .mobile-nav button{flex:1;min-width:0;min-height:52px;padding:7px 4px;border-radius:12px;background:transparent;color:#667085;font-size:.65rem;font-weight:800}
  .mobile-nav button::before{display:block;font-size:1.05rem;line-height:1.1;margin-bottom:2px}
  .mobile-nav button[data-nav="home"]::before{content:"⌂"}
  .mobile-nav button[data-nav="finance"]::before{content:"₱"}
  .mobile-nav button[data-nav="scanner"]::before{content:"▣"}
  .mobile-nav button[data-nav="admin"]::before{content:"⚙"}
  .mobile-nav button:active,.mobile-nav button.active{background:#edf1f7;color:var(--navy)}
  .mobile-nav button[hidden]{display:none}
  .login-shell{width:100%;padding:0 4px}
  #login-view{padding:18px 13px;align-items:flex-start;overflow:auto}
  .login-brand{margin:10px 0 16px}.login-brand img{width:145px}
  .login-card{width:100%;padding:22px 18px;border-radius:18px;box-shadow:0 6px 22px rgba(25,39,70,.08)}
  .login-card h1{font-size:1.55rem}.login-card .muted{font-size:.82rem}
  .login-partners{gap:15px;margin-top:14px}.login-partners img:first-child{width:105px}.login-partners img:last-child{width:126px}
  .login-verse{margin-top:14px}.login-verse p{font-size:.76rem}
  .login-reserve{font-size:.61rem;margin-top:12px}
  .login-app-title{font-size:.62rem}
}


/* Admin event workspace — global controls above event-specific workspace */
.admin-workspace{max-width:1280px}
.admin-global-nav{display:flex;align-items:center;gap:6px;padding:7px;margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 4px 16px rgba(25,39,70,.05)}
.admin-nav-link{padding:10px 13px;border-radius:10px;background:transparent;color:#475467;font-size:.78rem;font-weight:800;white-space:nowrap}
.admin-nav-link:hover{background:#f5f7fb;color:var(--navy)}
.admin-nav-link.active{background:var(--navy);color:#fff}
.admin-nav-link:disabled{opacity:.42;cursor:not-allowed}
.admin-nav-spacer{flex:1}.admin-role-chip{font-size:.7rem;font-weight:800;color:var(--muted);padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fafbfc}
.admin-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:stretch}
.event-rail{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 7px 25px rgba(25,39,70,.05);position:sticky;top:84px}
.event-rail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 2px 12px;border-bottom:1px solid var(--line)}
.event-rail-head .section-title{margin:0;font-size:1.05rem;letter-spacing:.08em}.event-rail-head>div>span{display:none}
.compact{padding:7px 9px;font-size:.7rem;border:1px solid var(--line)}
.admin-event-list{display:grid;gap:6px;margin-top:10px;max-height:calc(100vh - 190px);overflow:auto}
.admin-event-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:11px 10px;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:12px}
.admin-event-row:hover{background:#f7f9fc;border-color:#e6eaf0;transform:none;box-shadow:none}.admin-event-row.selected{background:#eef2f8;border-color:#d5ddea;color:var(--navy)}
.admin-event-row strong{display:block;font-size:.8rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-event-row small{display:block;color:var(--muted);font-size:.67rem;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#c7ced8}.event-dot.active{background:var(--success)}
.admin-empty{padding:18px 8px;font-size:.78rem}.admin-event-area{min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 7px 25px rgba(25,39,70,.05)}.admin-event-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:4px 2px 16px}.admin-event-header h1{margin:0;font-size:1.8rem;letter-spacing:-.03em}.admin-event-header p{margin:5px 0 0}
.event-state{display:inline-flex;align-items:center;white-space:nowrap}.event-state.active{color:var(--success);border-color:#b7dec9;background:#f0faf4}
.admin-event-status{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.admin-event-status .primary,.admin-event-status .ghost{width:auto;min-width:110px;justify-content:center}
.admin-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.admin-dashboard-head .section-title{margin-bottom:3px}.admin-dashboard-head .ghost{white-space:nowrap}
.admin-event-dashboard .metrics{margin:14px 0 0}.admin-event-dashboard{background:#f7f9fc;border:1px solid #dfe6f0}.admin-event-dashboard .metric{background:#eef3fa;border-color:#d9e2ee}.admin-event-tools{margin-top:16px}.admin-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-tool-grid button{min-height:48px;text-align:left;background:#fbf8ef;border:1px solid #e7ddc3;color:var(--navy)}.admin-tool-grid button:hover{background:#f3ecd9;border-color:#d9c89e;box-shadow:0 5px 14px rgba(200,162,74,.12)}
.admin-welcome{min-height:300px;display:flex;flex-direction:column;justify-content:center}.admin-welcome h1{margin:0 0 8px}
@media(max-width:850px){.admin-layout{grid-template-columns:1fr}.event-rail{position:static}.admin-event-list{display:flex;overflow-x:auto;max-height:none;padding-bottom:2px}.admin-event-row{min-width:210px;flex:0 0 210px}.admin-global-nav{overflow-x:auto}.admin-nav-spacer{display:none}.admin-role-chip{margin-left:auto}.admin-event-header{align-items:flex-start;flex-direction:column}.admin-event-tools{margin-bottom:20px}}
@media(max-width:600px){.admin-event-area{padding:14px;border-radius:15px}.admin-workspace{padding:12px 10px 24px}.admin-global-nav{border-radius:13px;padding:5px;gap:3px}.admin-nav-link{padding:9px 10px;font-size:.68rem}.admin-role-chip{display:none}.event-rail{border-radius:15px;padding:11px}.event-rail-head{padding-bottom:9px}.admin-event-list{gap:5px}.admin-event-row{min-width:190px;flex-basis:190px;padding:10px}.admin-event-header h1{font-size:1.5rem}.admin-event-status{align-items:stretch;flex-direction:column}.admin-event-status button{width:100%}.admin-dashboard-head{align-items:stretch;flex-direction:column}.admin-dashboard-head .ghost{width:100%}.admin-tool-grid{grid-template-columns:1fr}.admin-event-dashboard{padding:14px}.admin-event-status{padding:14px}}


/* Event workspace status control: action above the current Active/Inactive state. */
.admin-event-state-controls{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:120px}
.admin-event-state-controls button{width:100%;justify-content:center}
.admin-event-state-controls .event-state{justify-content:center}
.event-status-row{flex-direction:column;align-items:flex-start}
.event-status-row .event-state{order:2}
.event-status-row #toggle-event{order:1;min-width:120px}
@media(max-width:600px){.admin-event-state-controls{width:100%;min-width:0}.admin-event-state-controls button{width:100%}.event-status-row{align-items:stretch}.event-status-row #toggle-event{width:100%}}

/* Responsive navigation: desktop hover menu, mobile bottom bar. */
.desktop-nav-wrap{position:relative;display:flex;align-items:center;margin-left:auto;z-index:30}
.desktop-nav-trigger{width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center}
.desktop-nav-trigger:hover,.desktop-nav-trigger[aria-expanded="true"]{background:#f5f7fb;border-color:#d5dce8}
.desktop-nav-wrap::after{content:"";position:absolute;right:0;top:100%;width:175px;height:10px}.desktop-nav-menu{position:absolute;right:0;top:calc(100% + 8px);width:175px;padding:6px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 35px rgba(25,39,70,.16);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .14s,transform .14s,visibility .14s;pointer-events:none}
.desktop-nav-menu.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.desktop-nav-menu a{display:flex;align-items:center;width:100%;padding:11px 12px;border-radius:9px;color:#475467;text-decoration:none;font-size:.78rem;font-weight:800}
.desktop-nav-menu a:hover{background:#f5f7fb;color:var(--navy)}
.desktop-nav-menu a.active{background:#edf1f7;color:var(--navy)}
.desktop-nav-menu a[hidden]{display:none}
.event-rail-actions{display:flex;align-items:center;gap:4px}
@media(max-width:700px){
  .desktop-nav-wrap{display:none}
}
@media(min-width:701px){
  .mobile-nav{display:none!important}
}

@media(max-width:700px){.desktop-nav-wrap{display:none}}
@media(min-width:701px){.mobile-nav{display:none!important}}

/* Desktop header navigation layout. */
.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.topbar-actions .topbar-right{display:flex;align-items:center;gap:12px}
@media(min-width:701px){
  .desktop-nav-wrap{display:flex!important;position:relative;align-items:center;z-index:30}
  .desktop-nav-trigger{display:flex!important;visibility:visible!important;opacity:1!important;width:42px;height:42px;padding:0;border:1px solid #d0d5dd;border-radius:11px;background:#fff;color:var(--navy);font-size:1.15rem;line-height:1;align-items:center;justify-content:center;cursor:pointer}
}
@media(max-width:700px){.topbar-actions{margin-left:auto}.desktop-nav-wrap{display:none!important}}

/* Finance Google Sheet action */
.finance-sheet-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);text-decoration:none;font:inherit;font-size:.76rem;font-weight:800;letter-spacing:.01em;white-space:nowrap;box-shadow:0 3px 10px rgba(25,39,70,.04);transition:border-color .14s,background .14s,box-shadow .14s,transform .12s}.finance-sheet-action:hover{background:#f7f9fc;border-color:#cfd7e4;color:var(--navy);text-decoration:none;box-shadow:0 6px 16px rgba(25,39,70,.08);transform:translateY(-1px)}.finance-sheet-action:active{transform:translateY(0)}.finance-sheet-action[aria-disabled="true"]{opacity:.55;pointer-events:none}.finance-sheet-icon{font-size:1rem;line-height:1}.finance-sheet-arrow{font-size:.9rem;line-height:1;margin-left:1px}@media(max-width:700px){.finance-sheet-action{min-height:38px;padding:8px 11px;font-size:.7rem}.finance-sheet-icon{font-size:.95rem}}\n\n/* Finance lookup spacing */
.finance-head{margin-bottom:8px}.finance-head h1{margin-top:2px}.finance-lookup-card{margin-top:0;padding:16px 18px}.finance-lookup-card .form-grid{margin-bottom:10px}.finance-lookup-card>.primary{margin-top:0;width:auto;min-width:150px;justify-content:center}
@media(max-width:700px){.finance-head{margin-bottom:6px}.finance-lookup-card{padding:14px}.finance-lookup-card .form-grid{gap:9px;margin-bottom:9px}.finance-lookup-card>.primary{width:100%}}

/* Finance final spacing and member summary */
.finance-head{margin-bottom:2px}.finance-head h1{margin-top:0}.finance-lookup-card{margin-top:0;padding:12px 18px}.finance-lookup-card .form-grid{margin-bottom:7px}.finance-lookup-card label{margin-bottom:7px}.member-card{margin-top:12px;text-align:left}.member-card h2{margin:0;font-size:1.45rem;line-height:1.2;text-align:left}.member-card .member-meta{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin:4px 0 8px;color:var(--muted);font-size:.78rem;text-align:left}.member-card .member-meta span+span::before{content:"•";margin-right:8px;color:#98a2b3}.member-card .balance{margin:8px 0 16px;font-size:2.8rem;font-weight:800;line-height:1;color:var(--navy);text-align:center}.member-card .payment-type-choice{text-align:left;margin-top:12px}.member-card .payment-actions label{text-align:left}.member-card .payment-type-choice .section-title{margin-bottom:8px}.member-card .radio-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px}.member-card .radio-row label{display:flex;align-items:center;gap:6px;margin:0;font-size:.82rem}.member-card .radio-row input{width:auto;margin:0;padding:0}.member-card .payment-actions{margin-top:12px}
@media(max-width:700px){.finance-head{margin-bottom:1px}.finance-lookup-card{padding:10px 14px}.finance-lookup-card .form-grid{gap:7px;margin-bottom:7px}.member-card{margin-top:10px;padding:15px}.member-card .balance{font-size:2.5rem}.member-card .radio-row{gap:9px}}


/* ROLCtoGather Scanner UI — V2 visual structure, ToGather shell/business logic | Version 1.0.38 */
.tg-scanner-shell{width:100%;max-width:980px;margin:0 auto;position:relative}
.tg-scanner-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.tg-scanner-head h1{margin:0;line-height:1.15}
.tg-scanner-head .muted{margin:0}
.tg-scanner-user{display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:700;color:var(--navy);white-space:nowrap}
.tg-scanner-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 7px rgba(22,163,74,.45)}
.tg-scanner-dot.offline{background:#d97706;box-shadow:0 0 7px rgba(217,119,6,.35)}
.tg-scanner-conn{display:none;padding:8px 12px;margin-bottom:10px;border:1px solid #f3d49a;border-radius:10px;background:#fff8e8;color:#8a5a00;text-align:center;font-size:.75rem;font-weight:700}
.tg-scanner-conn.show{display:block}
.tg-camera-stage{position:relative;width:100%;height:min(62vh,620px);min-height:360px;overflow:hidden;background:#0b1020;border-radius:18px;border:1px solid #1f2937;box-shadow:0 14px 40px rgba(15,23,42,.16)}
.tg-scan-area{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tg-scan-area video{width:100%;height:100%;object-fit:cover;display:none;background:#080b12}
.tg-scan-area video.active{display:block}
.tg-scan-frame{position:absolute;width:min(66vw,310px);height:min(66vw,310px);max-width:310px;max-height:310px;border:2px solid rgba(255,255,255,.35);border-radius:22px;box-shadow:0 0 0 999px rgba(0,0,0,.18);pointer-events:none}
.tg-scan-frame span{position:absolute;width:34px;height:34px;border-color:#fff;border-style:solid}
.tg-scan-frame span:nth-child(1){top:-2px;left:-2px;border-width:4px 0 0 4px;border-radius:20px 0 0 0}
.tg-scan-frame span:nth-child(2){top:-2px;right:-2px;border-width:4px 4px 0 0;border-radius:0 20px 0 0}
.tg-scan-frame span:nth-child(3){bottom:-2px;left:-2px;border-width:0 0 4px 4px;border-radius:0 0 0 20px}
.tg-scan-frame span:nth-child(4){bottom:-2px;right:-2px;border-width:0 4px 4px 0;border-radius:0 0 20px 0}
.tg-camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;pointer-events:none;background:radial-gradient(circle at center,rgba(36,52,128,.42),rgba(8,11,18,.82))}
.tg-camera-placeholder .tg-camera-icon{font-size:2.2rem;margin-bottom:10px;opacity:.9}
.tg-camera-placeholder p{font-size:.85rem;opacity:.85}
.tg-camera-placeholder strong{color:#fff}
.tg-camera-stage.camera-active .tg-camera-placeholder{display:none}
.tg-scan-status{position:absolute;left:14px;right:14px;bottom:14px;padding:8px 12px;border-radius:10px;background:rgba(7,12,24,.78);backdrop-filter:blur(8px);color:#fff;text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;z-index:2}
.tg-scan-status.idle{color:#dbeafe}.tg-scan-status.scanning{color:#bbf7d0}.tg-scan-status.error{color:#fecaca}
.tg-camera-flip{position:absolute;right:16px;top:16px;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,0,0,.42);color:#fff;font-size:1.25rem;z-index:3;cursor:pointer}
.tg-scan-controls{margin-top:12px}
.tg-btn-scan{width:100%;border:0;background:linear-gradient(135deg,#3a4fa0,#243480);color:#fff;box-shadow:0 7px 22px rgba(36,52,128,.28)}
.tg-btn-scan.scanning{background:linear-gradient(135deg,#b42318,#8f1d14)}
@media(max-width:700px){
 .tg-scanner-head{align-items:flex-start}.tg-scanner-user{padding-top:4px}.tg-scanner-head h1{font-size:1.25rem}
 .tg-camera-stage{height:calc(100dvh - 280px);min-height:330px;border-radius:14px}
 .tg-scan-frame{width:70vw;height:70vw;max-width:280px;max-height:280px}
 .tg-scan-controls{grid-template-columns:1fr 1fr}
 .tg-btn-scan{min-height:50px;font-size:.72rem}
}


/* Scanner manual entry — V2-style popup */
.tg-manual-toggle{width:100%;margin-top:10px;min-height:48px;border:1px solid #d7dce5;border-radius:14px;background:#fff;color:var(--navy);font-family:inherit;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.tg-manual-modal{width:min(100%,520px)}
.tg-manual-form{display:grid;gap:12px;margin-top:16px}
.tg-manual-form label{display:grid;gap:6px}
.tg-manual-form select{width:100%;padding:12px 13px;font-size:16px}
.tg-manual-modal .modal-actions{margin-top:16px}
.tg-manual-modal .status{margin-top:12px}
@media(max-width:700px){.tg-manual-modal{padding:18px}.tg-manual-form{gap:10px}}

.tg-scan-result-ok{width:100%;margin-top:14px;min-height:46px}

.tg-scan-result-backdrop{z-index:1200}.tg-scan-result-modal{width:min(92vw,440px);text-align:center}.tg-scan-result-modal .scan-success,.tg-scan-result-modal .scan-block{margin:0}.tg-scan-result-modal .tg-scan-result-ok{margin-top:18px;width:100%;min-height:48px}
.group-payment-summary{margin-top:12px;padding:12px 14px;border:1px solid #dfe3ea;border-radius:12px;background:#f8fafc;display:grid;gap:8px}.group-payment-summary>div{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.84rem;color:var(--muted)}.group-payment-summary strong{color:var(--navy);font-weight:800}.group-payment-summary .group-payment-total{margin-top:2px;padding-top:8px;border-top:1px solid #dfe3ea;font-size:.9rem;color:var(--navy)}.group-payment-summary .group-payment-total strong{font-size:1rem}@media(max-width:700px){.group-payment-summary{padding:11px 12px}}
.group-paid-mark{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#e8f5e9;color:#1b5e20;font-weight:800;font-size:.84rem;white-space:nowrap}.group-paid-mark::first-letter{font-size:1rem}
/* Finance Group Payment workspace | Version 1.0.40 */
.finance-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.finance-mode-switch .finance-mode{width:100%;justify-content:center;text-align:center}.finance-mode-card{padding:10px}.finance-lookup-card{padding:20px}.group-workspace-head{margin-bottom:4px}.group-workspace-head h2,.group-search-head h2{margin:2px 0 6px;color:var(--navy)}.group-workspace-head .muted,.group-search-head .muted{text-align:left;margin:0;max-width:760px}.group-buddy-select{max-width:520px;margin-top:8px}.group-search-head{padding:4px 2px 14px}.group-search-head .eyebrow{margin-bottom:5px}.group-registration-list{margin-top:0}.group-empty-state{margin-top:0;padding:24px 20px;border:1px dashed #d0d5dd;border-radius:14px;background:#fff}.group-empty-state p{margin:0 0 5px;text-align:left}.group-new-action{margin-top:16px}.group-new-action .primary{justify-content:center;text-align:center}@media(max-width:700px){.finance-mode-switch{grid-template-columns:1fr}.finance-mode-switch .finance-mode{min-height:48px}.finance-lookup-card{padding:14px}.group-workspace-head .muted,.group-search-head .muted{text-align:left}.group-new-action .primary{width:100%}}

/* Styled application notifications */
.notify-backdrop{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.48);backdrop-filter:blur(3px);animation:notifyFadeIn .16s ease-out}
.notify-card{width:min(430px,100%);display:flex;gap:16px;align-items:flex-start;padding:22px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.22);animation:notifyPopIn .18s ease-out}
.notify-icon{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eef2f8;color:var(--navy);font-size:1.25rem;font-weight:900}
.notify-success .notify-icon{background:#e8f5e9;color:#18794e}.notify-error .notify-icon{background:#fef0ef;color:#b42318}.notify-warning .notify-icon{background:#fff5df;color:#946200}
.notify-content{min-width:0;flex:1}.notify-content h2{margin:2px 0 7px;color:var(--navy);font-size:1.08rem;line-height:1.25}.notify-content p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6;white-space:normal}.notify-actions{display:flex;justify-content:flex-end;margin-top:18px}.notify-actions .primary{width:auto;min-width:92px;justify-content:center;padding:10px 18px}
@keyframes notifyFadeIn{from{opacity:0}to{opacity:1}}@keyframes notifyPopIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.notify-backdrop{padding:14px}.notify-card{gap:12px;padding:18px;border-radius:18px}.notify-icon{width:40px;height:40px;flex-basis:40px}.notify-content h2{font-size:1rem}.notify-content p{font-size:.86rem}.notify-actions{margin-top:15px}.notify-actions .primary{width:100%;min-height:46px}}

.queue-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#293F70;color:#fff;font-size:.68rem;font-weight:800;line-height:1;box-sizing:border-box}

/* Prevent a false login flash while a saved session is being restored. */
body.session-restoring #login-view,body.session-restoring #app-view{display:none!important}
body.session-restoring::before{content:'Restoring your session…';position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(145deg,#eef2f8,#fafbfc);color:#293f70;font-size:1rem;font-weight:750;text-align:center}
