:root{--bnb-ink: #111827;--bnb-navy: #0f172a;--bnb-gold: #d6a63f;--bnb-gold-deep: #be8924;--bnb-surface: rgba(255, 255, 255, .9);font-family:Instrument Sans,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--bnb-ink);background:radial-gradient(circle at top left,rgba(214,166,63,.3),transparent 28%),radial-gradient(circle at 85% 0%,rgba(15,23,42,.15),transparent 35%),linear-gradient(180deg,#fffef9,#f8fafc 62%,#f4f7fb);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--bnb-ink)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}#root,.app-shell{min-height:100vh}.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding:1rem 2rem;border-bottom:1px solid rgba(15,23,42,.1);background:#ffffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}.brand-lockup,.auth-brand{display:flex;gap:1rem;align-items:center}.brand-logo{width:76px;height:auto;display:block}.brand-logo-login{width:132px}.brand-link{display:inline-flex;align-items:center;justify-content:center;width:86px;height:54px;border-radius:14px;border:1px solid rgba(15,23,42,.12);background:#ffffffc2;transition:border-color .18s ease,background .18s ease}.brand-link:hover{border-color:#be892473;background:#fffffff2}.auth-switch{display:inline-flex;gap:.35rem;padding:.3rem;background:#f1f5f9;border-radius:999px;margin:1rem 0 1.25rem}.auth-switch-button{border:none;background:transparent;color:#475569;border-radius:999px;padding:.65rem 1rem;font-weight:700;cursor:pointer}.auth-switch-button.active{background:#fff;color:#0f172a;box-shadow:0 6px 18px #0f172a14}.topnav,.subnav,.topbar-meta,.chips,.inline-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.topnav a,.subnav a{padding:.58rem 1rem;border-radius:999px;color:#334155;border:1px solid transparent;font-weight:600;transition:border-color .18s ease,background .18s ease,color .18s ease}.topnav a:hover,.subnav a:hover{border-color:#be892459;background:#d6a63f1f}.topnav a.active,.subnav a.active{background:var(--bnb-navy);color:#fff}.topbar-meta{justify-content:flex-end;flex-wrap:nowrap;min-width:0}.topbar-user{display:flex;align-items:center;gap:.75rem;min-width:0;padding:.5rem .72rem;border-radius:999px;background:#fffffff2;border:1px solid rgba(148,163,184,.26);text-decoration:none}.topbar-user:hover{border-color:#be892466}.topbar-user-icon{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:999px;background:#d6a63f33;font-size:.86rem}.topbar-user-name{display:block;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bnb-navy)}.topbar-user .chips{flex-wrap:nowrap;gap:.4rem}.topbar-user .chip{padding:.28rem .58rem;font-size:.75rem}.page{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem}.app-footer{display:flex;justify-content:center;gap:.75rem;align-items:center;flex-wrap:wrap;padding:0 0 1.5rem}.footer-link{font-size:.85rem;color:#64748b;text-decoration:underline;text-underline-offset:.18rem}.footer-version{font-size:.8rem;color:#94a3b8}.field-error{font-size:.82rem;color:#b91c1c}.info-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.success-copy{font-size:.85rem;color:#166534;font-weight:700}.section-label{font-size:.95rem}.page-empty{min-height:18rem}.auth-layout{min-height:100vh;display:grid;align-content:start;position:relative;isolation:isolate;padding:1.5rem}.auth-layout:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#1118278c,#1118276b),var(--auth-bg-image) center/cover no-repeat}.auth-layout:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 8% 10%,rgba(214,166,63,.28),transparent 30%),radial-gradient(circle at 85% 75%,rgba(214,166,63,.17),transparent 32%)}.auth-header{position:absolute;top:1.25rem;left:1.5rem;z-index:2}.auth-card{width:100%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-main{width:min(1320px,100%);margin:5rem auto 0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,480px);align-items:start;gap:1rem}.auth-content-panel{min-height:65vh;overflow:auto}.auth-form-panel{position:sticky;top:1.2rem}.auth-visual{width:100%;height:220px;object-fit:cover;border-radius:20px;border:1px solid rgba(148,163,184,.18)}.auth-card,.panel,.hero-card,.info-card,.empty-state{background:var(--bnb-surface);border:1px solid rgba(148,163,184,.18);border-radius:24px;box-shadow:0 20px 50px #0f172a14}.auth-card,.panel,.hero-card{padding:1.5rem}.hero-card{padding:2rem}.eyebrow{margin:0 0 .35rem;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bnb-gold-deep)}.brand,h1,h2,h3{margin:0;line-height:1.05}h1{font-size:clamp(2.4rem,4vw,4rem)}h2{font-size:clamp(1.8rem,3vw,2.6rem)}h3{font-size:1.2rem}.muted{color:#64748b}.stack-xl,.stack-lg,.stack-md,.stack-sm,.section-stack{display:grid;gap:1rem}.stack-xl{gap:1.5rem}.stack-lg{gap:1.25rem}.stack-md,.stack-sm,.section-stack{gap:.9rem}.stack-sm{gap:.5rem}.panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:end}.form-hero{display:grid;gap:.35rem;padding-bottom:.35rem}.form-section{padding:1.25rem;border-radius:22px;border:1px solid #e2e8f0;background:linear-gradient(180deg,#fffffff0,#f8fafce6)}.form-section-header{display:grid;gap:.25rem}.button{border:none;border-radius:999px;background:linear-gradient(135deg,var(--bnb-navy) 0%,#283855 100%);color:#fff;padding:.85rem 1.25rem;cursor:pointer;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #0f172a29;filter:saturate(1.05)}.button:disabled{opacity:.55;cursor:not-allowed}.button-secondary{background:#f1f5f9;color:var(--bnb-navy);border:1px solid rgba(148,163,184,.35)}.button-attend{background:linear-gradient(135deg,#0f766e,#0891b2)}.button-cancel{background:linear-gradient(135deg,#9f1239,#e11d48)}.button-icon-only{min-width:3rem;padding-inline:.95rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem}.calendar-provider-list{display:grid;gap:.7rem}.calendar-provider-link{display:inline-flex;align-items:center;gap:.75rem;padding:.8rem .9rem;border-radius:12px;border:1px solid rgba(148,163,184,.24);background:#f8fafc}.external-link-mark{margin-left:auto;font-size:.88rem;color:#64748b}.external-link{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;font-size:.86rem;color:#0f766e;text-decoration:underline;text-underline-offset:.15rem}.calendar-provider-icon{font-size:1rem}.calendar-url-input{min-width:min(440px,100%);font-size:.92rem;color:#334155;background:#f8fafc}.qr-modal-card{width:min(560px,100%)}.qr-preview-wrap{display:grid;place-items:center;padding:.6rem;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}.qr-preview-image{width:min(320px,100%);height:auto;border-radius:12px;border:1px solid #e2e8f0;background:#fff}.button-danger{background:linear-gradient(135deg,#991b1b,#dc2626)}label{display:grid;gap:.45rem;font-weight:600}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:.9rem 1rem;background:#fff}textarea{resize:vertical;min-height:11rem}fieldset{border:1px solid #e2e8f0;border-radius:18px;padding:1rem}legend{padding:0 .5rem;font-weight:700}.checkbox{display:flex;align-items:center;gap:.5rem;font-weight:500}.checkbox-start{align-items:flex-start}.checkbox input{width:auto}.text-button{border:none;background:transparent;color:#0f766e;padding:0;cursor:pointer;font-weight:700;text-decoration:underline;text-underline-offset:.15rem}.chips{gap:.5rem}.chip,.badge,.select-chip{border-radius:999px;padding:.45rem .8rem;font-weight:700}.chip{background:#d6a63f33;color:#7a560f}.role-chip-admin{background:#fee2e2;color:#991b1b}.role-chip-manager{background:#dbeafe;color:#1d4ed8}.role-chip-partner{background:#fae8ff;color:#86198f}.role-chip-resident{background:#dcfce7;color:#166534}.role-chip-guest{background:#e0f2fe;color:#0369a1}.chip-event-type{background:#fef3c7;color:#92400e}.chip-event-audience-guests{background:#dcfce7;color:#166534}.chip-event-audience-residents{background:#e0f2fe;color:#075985}.chip-event-status-published{background:#dbeafe;color:#1d4ed8}.chip-event-status-draft{background:#f1f5f9;color:#475569}.chip-event-registration-available{background:#d1fae5;color:#065f46}.chip-event-registration-registered,.chip-event-registered{background:#ede9fe;color:#5b21b6}.chip-event-registration-requires-resident-membership{background:#ffedd5;color:#9a3412}.chip-event-registration-past-event,.chip-event-past{background:#e2e8f0;color:#334155}.chip-event-registration-unavailable{background:#fee2e2;color:#991b1b}.release-date{color:#475569;font-weight:700;font-size:.85rem}.badge-active{background:#dcfce7;color:#166534}.badge-archived{background:#fee2e2;color:#991b1b}.badge-planned{background:#dbeafe;color:#1d4ed8}.select-chip{display:flex;gap:.45rem;align-items:center;background:#eff6ff}.business-option-chip{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.55rem;line-height:1.2;white-space:nowrap;overflow:hidden;padding:.35rem .6rem;border-radius:12px}.business-option-chip input{margin-top:0;flex:0 0 auto}.business-options-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.business-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.feed-change{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.75rem 0;border-radius:0;background:#f8fafc;border:none;border-top:1px solid #e2e8f0}.feed-badge{border-radius:999px;padding:.3rem .6rem;font-weight:700;white-space:nowrap;font-size:.75rem}.feed-badge-added{background:#dcfce7;color:#166534}.feed-badge-updated{background:#dbeafe;color:#1d4ed8}.feed-badge-removed{background:#fee2e2;color:#991b1b}.feed-header{display:flex;align-items:center}.feed-panel{padding:1rem 1.25rem;gap:.75rem}.article-panel{padding:1.25rem 1.5rem}.article-copy{color:#334155;line-height:1.75;font-size:1rem;white-space:normal}.welcome-layout{gap:1rem}.welcome-hero{background:linear-gradient(180deg,#fffffff2,#f8fafcf0),radial-gradient(circle at top right,rgba(214,166,63,.18),transparent 40%);border-color:#94a3b838}.welcome-summary{font-size:1.02rem;line-height:1.5;font-weight:700;color:#1e293b}.welcome-copy{line-height:1.8}.welcome-card h2{font-size:clamp(1.35rem,2vw,1.9rem)}.city-info-block{background:linear-gradient(180deg,#fffffff5,#f8fafcf0),radial-gradient(circle at 88% 8%,rgba(15,118,110,.16),transparent 36%)}.city-info-copy{margin:0;font-weight:600;color:#334155;line-height:1.65}.city-info-link{width:fit-content;text-decoration:none}.feed-version{margin:0 0 .2rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0f766e}.feed-change-list{display:grid}.compact-copy{margin:.2rem 0 0;font-size:.92rem}.selectable-grid{display:flex;gap:.75rem;flex-wrap:wrap}.form-grid,.contact-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.address-card{border:1px solid #e2e8f0;border-radius:18px;padding:1rem;display:grid;gap:1rem}.table-wrap{overflow-x:auto}.filter-bar,.event-grid,.speaker-grid{display:grid;gap:1rem}.scope-switch{display:inline-flex;gap:.35rem;padding:.3rem;background:#f1f5f9;border-radius:999px;width:fit-content}.scope-button{border:none;background:transparent;color:#475569;border-radius:999px;padding:.65rem 1rem;font-weight:700;cursor:pointer}.scope-button.active{background:#0f172a;color:#fff}.event-grid{grid-template-columns:1fr}.speaker-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.feedback-layout{display:grid;gap:1rem;grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.feedback-list{display:grid;gap:.75rem}.feedback-list-item{display:grid;gap:.2rem;text-align:left;border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:1rem;cursor:pointer}.feedback-list-item.active{border-color:#0f766e;background:#ecfeff}.feedback-preview,.feedback-message{white-space:pre-wrap;color:#334155;line-height:1.7}.feedback-preview{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.event-card{display:grid;gap:.65rem;padding:.95rem}.event-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.event-card-title-block{min-width:0;display:grid;gap:.3rem}.event-card-title-line{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}.event-description{margin:0;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.event-inline-meta{display:grid;gap:.55rem}.event-meta-line{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.2rem .75rem;padding:.45rem .7rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;font-size:.88rem}.event-meta-line strong{grid-row:1 / -1;align-self:center;font-size:.85rem;color:#334155}.event-meta-line-time{background:linear-gradient(135deg,#eff6ff,#f8fafc);border-color:#bfdbfe}.event-time-primary{font-size:1.02rem;font-weight:800;color:#0f172a}.event-time-secondary{font-size:.9rem;color:#334155}.event-time-secondary-inline{font-size:.82rem;font-weight:600;color:#475569;white-space:nowrap}.event-meta-line-place{background:linear-gradient(135deg,#eff6ff,#f8fafc);border-color:#bfdbfe}.event-place-secondary-link-inline{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:#475569;text-decoration:underline;text-underline-offset:.15rem;white-space:nowrap}.event-gmap-icon{width:.92rem;height:.92rem;flex:0 0 auto}.event-meta-line-guests{background:linear-gradient(135deg,#eff6ff,#f8fafc);border-color:#bfdbfe}.event-person-link{color:#0f766e;text-decoration:underline;text-underline-offset:.15rem}.event-meta-grid,.participant-add-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.profile-mini-card{display:grid;gap:.35rem;padding:1rem;border-radius:18px;border:1px solid #e2e8f0;background:#f8fafcbf}.info-card-private{border:1px solid rgba(194,65,12,.18);background:#fff7ede6}.people-table{width:100%;border-collapse:collapse}.people-table th,.people-table td{padding:1rem;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:middle}.table-row-button{cursor:pointer}.table-row-button:hover{background:#f1f5f9a6}.loading-screen,.loading-block,.empty-state{display:grid;place-items:center;gap:.75rem;min-height:220px;padding:2rem}.loading-screen{min-height:100vh}.spinner{width:2rem;height:2rem;border-radius:999px;border:3px solid rgba(15,23,42,.12);border-top-color:#0f766e;animation:spin .8s linear infinite}.error-banner{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:#7f1d1d;color:#fff}.error-banner.warning{background:#92400e}.info-card{padding:1rem;display:grid;gap:.35rem}.modal-backdrop{position:fixed;inset:0;background:#0f172a7a;display:grid;place-items:center;padding:1rem;z-index:40}.modal-card{width:min(720px,100%);max-height:min(80vh,900px);overflow:auto;padding:1.5rem;border-radius:24px;background:#fff;border:1px solid rgba(148,163,184,.18);box-shadow:0 24px 70px #0f172a3d;display:grid;gap:1rem}.modal-copy{white-space:pre-wrap;color:#334155;line-height:1.75}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1120px){.topbar{grid-template-columns:auto 1fr;gap:1rem}.topbar-meta{grid-column:1 / -1;justify-content:flex-start}}@media(max-width:840px){.topbar{grid-template-columns:1fr}.topbar-meta{justify-content:flex-start;flex-wrap:wrap}.topbar-user{flex-wrap:wrap;border-radius:18px}.topbar-user-name{max-width:100%}.page{width:min(100% - 1rem,1120px)}.auth-header{top:1rem;left:1rem}.brand-logo-login{width:110px}.auth-layout{padding:1rem}.auth-main{margin-top:4rem;grid-template-columns:1fr;gap:.75rem}.auth-form-panel{order:1;position:static}.auth-content-panel{order:2;min-height:0}.feed-change{grid-template-columns:1fr}.event-card-head{flex-direction:column;align-items:stretch}.feedback-layout{grid-template-columns:1fr}}
