.pwa-card[hidden],.pwa-card [hidden],.pwa-status[hidden]{display:none!important}
.pwa-tools{text-align:center;padding:4px 16px 18px;font-size:13px}.pwa-tools button{margin:0 8px;min-height:44px}.pwa-tools p{margin:4px;color:#17392f}.pwa-tools [hidden]{display:none!important}.app-shell .pwa-card{bottom:calc(82px + env(safe-area-inset-bottom))}.pwa-card{max-height:75vh;overflow-y:auto}
.pwa-card{position:fixed;z-index:1000;bottom:max(16px,env(safe-area-inset-bottom));right:16px;display:flex;gap:14px;width:min(430px,calc(100% - 32px));padding:20px;background:#fff;border:1px solid #b8c7bd;border-radius:16px;box-shadow:0 10px 40px #17392f30;color:#17392f}
.pwa-card img{border-radius:12px}.pwa-card p{font-size:14px;line-height:1.5;margin:6px 0 12px}.pwa-card button{min-height:44px}.pwa-status{padding:12px 20px;background:#fff0cd;color:#614318;text-align:center;position:fixed;top:0;left:0;right:0;z-index:999}.app-version{font-size:12px;letter-spacing:.02em;color:#65746e}.mobile-menu-toggle{display:none}
@media(max-width:800px){
 body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
 .workspace .app-main{min-width:0;padding:22px 16px}.workspace .panel{min-width:0;overflow-wrap:anywhere}.workspace .form-grid{grid-template-columns:1fr}.workspace input:not([type=checkbox]):not([type=radio]),.workspace select,.workspace textarea{max-width:100%;font-size:16px}.workspace .two-col>*{min-width:0}
 .sidebar{position:relative!important;height:auto!important;max-height:none!important}.mobile-menu-toggle{display:block;position:absolute;right:20px;top:20px;min-height:44px;padding:8px 14px;border:1px solid #a7b9ae;border-radius:6px;background:white;color:#17392f}
 .sidebar.mobile-ready:not(.mobile-open)>nav,.sidebar.mobile-ready:not(.mobile-open)>.portal-switch,.sidebar.mobile-ready:not(.mobile-open)>.sidebar-bottom{display:none!important}
 .sidebar.mobile-open nav{display:flex;flex-direction:column;overflow:visible}.sidebar.mobile-open nav a{min-height:44px;font-size:16px;white-space:normal}.sidebar.mobile-open .sidebar-bottom{display:block}.sidebar nav[hidden]{display:none!important}
 .workspace table{display:block;max-width:100%;overflow-x:auto}.workspace .tabs{max-width:100%;overflow-x:auto}.site-header{flex-wrap:wrap}.site-header nav{flex-wrap:wrap}.site-header nav .quiet{overflow-wrap:anywhere;max-width:100%}
}


/* Navigation for signed-in mobile screens. */
.mobile-app-header,.mobile-tab-bar,.mobile-drawer-close,.mobile-menu-backdrop{display:none}
@media(max-width:800px){
 body.app-shell{--app-bottom:calc(76px + env(safe-area-inset-bottom));background:#f3f5f1;padding-top:calc(60px + env(safe-area-inset-top));padding-bottom:var(--app-bottom);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
 .app-shell .mobile-app-header{display:flex;position:fixed;inset:0 0 auto;z-index:80;height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;align-items:center;justify-content:space-between;gap:12px;background:#f8f9f6f5;border-bottom:1px solid #e1e7df;backdrop-filter:blur(16px)}
 .mobile-app-header strong{font-size:17px;letter-spacing:-.02em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mobile-icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:8px;background:transparent;border:0;color:#17392f;border-radius:12px}.mobile-icon-button img{border-radius:11px}.app-shell .mobile-menu-toggle{position:static;min-height:44px}.mobile-icon-button:active{background:#dfe8dd}
 .app-shell .mobile-tab-bar{position:fixed;inset:auto 0 0;z-index:85;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;min-height:var(--app-bottom);padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #dfe6dc;background:#fffffff5;backdrop-filter:blur(18px);box-shadow:0 -4px 24px #17392f06}
 .mobile-tab-bar>a,.mobile-tab-bar>button{border:0;background:transparent;color:#6a776f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;padding:5px 2px;border-radius:14px;text-decoration:none;font-size:11px;font-weight:600;line-height:1.2}.mobile-tab-bar [aria-current=page],.mobile-tab-bar .current-section{color:#17392f;background:#eaf0e7}.mobile-tab-bar .mobile-create-tab svg{background:#17392f;color:white;border-radius:12px;width:32px;height:32px;padding:5px;margin-top:-5px}.mobile-tab-bar svg{flex-shrink:0}.mobile-tab-bar a:active,.mobile-tab-bar button:active{background:#e1eadd;transform:scale(.96)}
 .app-shell .sidebar.mobile-ready{position:fixed!important;z-index:1100;inset:0 0 0 auto;width:min(360px,88vw)!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto;overscroll-behavior:contain;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));border:0;border-radius:24px 0 0 24px;background:#fff;visibility:hidden;transform:translateX(100%);transition:transform .2s ease,visibility .2s;box-shadow:-12px 0 50px #17392f15}
 .app-shell .sidebar.mobile-open{visibility:visible;transform:translateX(0)}.app-shell .sidebar.mobile-ready>nav:not([hidden]){display:flex!important;flex-direction:column;gap:4px;overflow:visible}.app-shell .sidebar.mobile-ready>.portal-switch{display:flex!important;flex-wrap:wrap;margin-top:28px}.app-shell .sidebar.mobile-ready>.sidebar-bottom{display:block!important;margin-top:28px}.app-shell .sidebar nav a{font-size:15px;min-height:46px;padding:12px 14px;border-radius:12px;white-space:normal}.app-shell .sidebar nav a:hover{background:#edf2e9;text-decoration:none}.app-shell .sidebar>.brand{padding-right:40px}.app-shell .mobile-drawer-close{display:flex;position:absolute;right:14px;top:calc(20px + env(safe-area-inset-top))}.app-shell .mobile-menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:1090;background:#10251b66;backdrop-filter:blur(3px)}.mobile-menu-open{overflow:hidden}
 .app-shell .app-main{padding:24px 18px 16px;margin:0}.app-shell .app-main>.topline{display:none}.app-shell .app-main h1{font-size:32px;letter-spacing:-.04em;line-height:1.15}.app-shell .page-heading{gap:16px;margin:0 0 24px}.app-shell .page-heading .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:10px}.app-shell .page-heading p{font-size:14px;line-height:1.6}.app-shell .page-heading>.button{width:100%}.app-shell .panel,.app-shell .event-card{border-radius:18px;border-color:#e0e7dc;box-shadow:0 4px 20px #17392f04}.app-shell .panel{padding:20px}.app-shell .button{border-radius:12px;min-height:48px}.app-shell input:not([type=checkbox]):not([type=radio]),.app-shell select,.app-shell textarea{border-radius:12px;min-height:48px}.app-shell .stats{gap:10px;margin:20px 0 28px}.app-shell .stats article{border-radius:16px;background:white;padding:16px 14px}.app-shell .stats strong{font-size:28px}.app-shell .stats small{font-size:11px;line-height:1.4}.app-shell .event-grid{gap:18px}.app-shell .event-cover{min-height:160px}.app-shell .event-card-body{padding:20px}.app-shell .section-heading h2{font-size:23px}.app-shell .section{padding:0}.app-shell>.app-version{font-size:11px}
 .app-shell .pwa-card{bottom:calc(var(--app-bottom) + 12px)}.app-shell .pwa-status{top:calc(60px + env(safe-area-inset-top));font-size:13px}.app-shell.mobile-keyboard-open .mobile-tab-bar{display:none}.app-shell.mobile-keyboard-open .pwa-card{bottom:12px}
}
@media(prefers-reduced-motion:reduce){.app-shell .sidebar.mobile-ready{transition:none}.mobile-tab-bar a:active,.mobile-tab-bar button:active{transform:none}}
.guest-upload-form .upload-error{color:#a32924;background:#fff1ee;border:1px solid #e6aaa0;border-radius:8px;padding:10px 12px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}

/* Keep dense event tools readable on a phone. */
@media(max-width:800px){
 .app-shell .table-wrap{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:12px}
 .app-shell #guest-table{display:table;width:max-content;min-width:920px;table-layout:auto}
 .app-shell #guest-table th,.app-shell #guest-table td{min-width:90px;max-width:240px;white-space:normal;word-break:normal;overflow-wrap:normal;line-height:1.45;padding:10px 12px}
 .app-shell #guest-table th:first-child,.app-shell #guest-table td:first-child{min-width:55px}
 .app-shell #guest-table th:nth-child(2),.app-shell #guest-table td:nth-child(2){min-width:180px}
 .app-shell #guest-table td:nth-child(2) small{overflow-wrap:anywhere}
 .app-shell #guest-table th:nth-child(6),.app-shell #guest-table td:nth-child(6){min-width:145px}
 .app-shell .event-grid{gap:12px}
 .app-shell .event-cover{height:auto;min-height:125px;padding:16px}
 .app-shell .event-cover h2{font-size:clamp(1.5rem,6vw,2rem);line-height:1.15;margin:12px 0;max-width:80%}
 .app-shell .event-symbol{font-size:4rem;right:8px;bottom:-18px}
 .app-shell .event-card-body{padding:14px 16px}
 .app-shell .event-card-body h3{font-size:1.25rem;line-height:1.2;margin:5px 0}
 .app-shell .event-card-body p{margin:6px 0 10px}
 .app-shell .mobile-tab-bar>a,.app-shell .mobile-tab-bar>button{font-size:10px;line-height:1.15;gap:3px;padding:4px 1px;text-align:center}
 .app-shell .mobile-tab-bar svg{width:23px;height:23px}
 .app-shell .mobile-tab-bar .mobile-create-tab svg{width:30px;height:30px}
 .app-shell .website-editor-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
 .app-shell .website-editor-tab{min-width:0;display:flex;flex-wrap:wrap;align-content:start;align-items:center;gap:6px 10px;padding:10px;border:1px solid #dce3dc;border-radius:10px}
 .app-shell .website-editor-tab>a{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 100%;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
 .app-shell .website-editor-tab>a small{display:block;font-size:11px;line-height:1.3;color:#65746e}
 .app-shell .website-editor-tab .text-button{font-size:12px;padding:0;min-height:32px}
 .app-shell .website-editor-tab form,.app-shell .website-editor-tab details{margin:0}
 .app-shell .website-editor-tab .website-menu-rename form{padding:10px}
}

/* Long event records scroll horizontally instead of collapsing into vertical text. */
@media(max-width:800px){
 .app-shell .table-wrap table{display:table;width:max-content;max-width:none;table-layout:auto}
 .app-shell .table-wrap th,.app-shell .table-wrap td{min-width:110px;white-space:normal;word-break:normal;overflow-wrap:normal;line-height:1.4}
 .app-shell .rsvp-test-table{min-width:760px}
 .app-shell .rsvp-test-table th:first-child,.app-shell .rsvp-test-table td:first-child{min-width:125px}
 .app-shell .rsvp-test-table th:nth-child(5),.app-shell .rsvp-test-table td:nth-child(5){min-width:230px;max-width:300px}
 .app-shell .message-history-table{min-width:620px}
 .app-shell .message-history-table th:first-child,.app-shell .message-history-table td:first-child{min-width:240px;max-width:300px}
 .app-shell .message-history-table th:nth-child(2),.app-shell .message-history-table td:nth-child(2){min-width:90px}
 .app-shell .host-media-row{display:grid;grid-template-columns:28px 72px minmax(0,1fr);gap:8px 12px;align-items:start}
 .app-shell .host-media-row .media-select{grid-column:1;margin:0}
 .app-shell .host-media-row .media-thumbnail{grid-column:2}
 .app-shell .host-media-row .media-details{grid-column:3;min-width:0;overflow-wrap:anywhere}
 .app-shell .host-media-row>a{grid-column:2/4}
 .app-shell .host-media-row>form{grid-column:2/4;margin:0;flex-wrap:wrap}
 .app-shell .media-bulk-actions{flex-wrap:wrap}
}
.back-to-top{position:fixed;right:18px;bottom:24px;z-index:75;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #b8c7bd;border-radius:50%;background:#17392f;color:#fff;font-size:25px;line-height:1;box-shadow:0 5px 20px #17392f35;cursor:pointer}
.back-to-top[hidden]{display:none!important}
.back-to-top:hover,.back-to-top:focus-visible{background:#285845;outline-offset:3px}
@media(max-width:800px){.app-shell .back-to-top{bottom:calc(90px + env(safe-area-inset-bottom))}}
