:root{--deep:#073D48;--teal:#367E7B;--sage:#9ABDB3;--olive:#6F8767;--gold:#D5A03C;--cream:#FCFAF5;--ink:#244C52;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--deep);background:var(--cream)}*{box-sizing:border-box}body{margin:0}.app{min-height:100vh;display:flex;flex-direction:column}.top{padding:12px clamp(20px,5vw,72px);display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #dce7e1}.brand{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:27px;color:var(--deep);font-weight:700;text-decoration:none}.brand img{object-fit:contain;border-radius:50%}.preview{font-size:12px;color:#617e7c}main{width:min(1040px,100%);margin:auto;padding:22px 22px 40px}.hero{text-align:center;padding:12px 0 30px}.hero-logo{display:block;width:min(300px,74vw);height:auto;margin:0 auto 12px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:750;color:var(--teal)}.hero h1{font-family:Georgia,serif;font-size:clamp(30px,4.4vw,48px);font-weight:500;max-width:780px;margin:13px auto;color:var(--deep);line-height:1.18}.hero>p:not(.eyebrow){font-size:17px;line-height:1.65;max-width:610px;margin:16px auto;color:#4b6c6e}button{background:var(--deep);color:#fff;border:1px solid var(--deep);border-radius:9px;padding:14px 24px;font:inherit;font-weight:650;cursor:pointer;transition:background .15s}button:hover{background:var(--teal)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.workspace{background:white;border:1px solid #dbe7e2;border-radius:18px;padding:clamp(20px,4vw,36px);margin:0 auto 28px;box-shadow:0 8px 30px #073d480b}.workspace-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.workspace h2{font:500 clamp(24px,3vw,32px)/1.2 Georgia,serif;margin:7px 0 10px}.workspace-head p:not(.eyebrow){color:#536f70;line-height:1.55;max-width:610px}.lock{white-space:nowrap;background:#f5f0df;color:#66501f;border-radius:30px;padding:8px 12px;font-size:12px;font-weight:700}.workspace label{display:block;font-size:14px;font-weight:700;margin-bottom:9px}.invite-row{display:flex;gap:10px}.invite-row input{flex:1;min-width:0;padding:14px;border:1px solid #a9c2bc;border-radius:9px;font:inherit}.note{min-height:22px;font-size:13px;color:#5b7774;line-height:1.5}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.features article{background:#fff;border:1px solid #dbe7e2;border-top:3px solid var(--gold);border-radius:14px;padding:24px;text-align:center}.features article span{font-size:28px;color:var(--teal)}.features h2{font-family:Georgia,serif;color:var(--deep);font-weight:500}.features p{line-height:1.6;color:#536f70}.footnote{text-align:center;font-size:13px;color:#607b78;margin-top:30px}footer{text-align:center;padding:22px;font-size:12px;color:#647d7a}@media(max-width:650px){.features{grid-template-columns:1fr}.workspace-head{flex-direction:column}.invite-row{flex-direction:column}.invite-row button{width:100%}.preview{font-size:10px}.hero{padding-top:4px}.hero-logo{width:min(260px,78vw)}main{padding-top:12px}}
/* Account and private community screens */
.workspace h3{font:500 23px Georgia,serif;margin:22px 0 12px}.workspace input,.workspace select,.workspace textarea{width:100%;padding:13px;border:1px solid #a9c2bc;border-radius:9px;font:inherit;margin-bottom:13px}.workspace form>button{margin-top:8px}.workspace .invite-row input{margin-bottom:0}.secondary{background:white;color:var(--deep);margin:5px;border-color:var(--teal);padding:9px 13px}.secondary:hover{color:white}.community-entry{border:1px solid #dbe7e2;padding:16px;margin:12px 0;border-radius:12px}.community-entry p{color:#536f70}.member-panel{padding:8px;border-top:1px solid #dbe7e2;overflow-wrap:anywhere}.member-panel button{padding:6px 10px}.community-entry textarea{margin-top:10px} [hidden]{display:none!important}

.admin-nav{display:flex;align-items:center;gap:12px;margin:14px 0}.admin-nav span{font-weight:700}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.toolbar button{padding:9px 13px}.invite-code-display{padding:13px;border:1px solid #b8cfc6;border-radius:8px;overflow-wrap:anywhere;background:#f5faf7;font-family:monospace;font-size:13px}.item-card{padding:15px;border:1px solid #dbe7e2;border-radius:10px;margin:12px 0}.item-card p{white-space:pre-wrap;overflow-wrap:anywhere}.page-form{border-top:1px solid #dbe7e2;padding-top:15px;margin-top:18px}.page-form textarea{min-height:90px}.item-card button{margin-right:8px}.muted{color:#617e7c;font-size:13px}

/* Unified member Today feed */
#today-page>h2{font:500 34px Georgia,serif;margin:10px 0}#today-feed>h3{margin:24px 0 12px}.today-card{border:1px solid #dbe7e2;border-radius:14px;overflow:hidden;margin:12px 0 18px;background:#fff;box-shadow:0 4px 16px #073d480a}.today-card-head{padding:16px 19px;background:var(--community-accent);color:white}.today-card-head small{font-size:12px;font-weight:700;letter-spacing:.04em}.today-card-head h3{color:white;font:500 22px Georgia,serif;margin:8px 0 2px}.today-card>p{white-space:pre-wrap;padding:0 19px;line-height:1.6}.today-card>button{margin:0 19px 18px}.today-card .zoom-link{display:inline-block;margin:0 19px 10px;color:var(--deep);font-weight:700}.today-card .muted{font-size:12px}

/* Manna-inspired, sectioned administrative editors */
.manna-editor{background:#fff;border:1px solid #dbe7e2;border-radius:14px;padding:20px;margin:20px 0}.manna-editor .editor-section{border:1px solid #dbe7e2;border-radius:12px;margin:16px 0;padding:18px;min-width:0}.manna-editor legend{font-family:Georgia,serif;font-size:20px;color:var(--deep);padding:0 8px}.manna-editor label{margin-top:10px}.manna-editor textarea{min-height:110px;resize:vertical}.editor-record-list{margin-top:18px}.manna-editor .toolbar{justify-content:flex-end}@media(max-width:650px){.manna-editor{padding:12px}.manna-editor .editor-section{padding:12px}}

/* Dedicated, community-branded administration workspace */
.admin-active .hero{display:none}.admin-active main{width:min(1320px,100%)}.admin-active .workspace{padding:0;overflow:hidden}.admin-active .workspace-head{display:none}.admin-workspace{--admin-accent:#367E7B;min-height:65vh}.admin-workspace-header{display:flex;align-items:center;gap:18px;padding:20px 24px;background:var(--admin-accent);color:white}.admin-workspace-title{flex:1;min-width:0}.admin-workspace-title small{font-size:11px;letter-spacing:.13em;opacity:.85}.admin-workspace-title h2{color:white;margin:4px 0;font:500 clamp(20px,3vw,30px) Georgia,serif}.admin-hamburger{display:flex;align-items:center;gap:8px;background:#ffffff20;border:1px solid #ffffff80;white-space:nowrap}.admin-hamburger:hover{background:#ffffff35}.admin-workspace-header .secondary{background:white;color:var(--deep);margin:0}.admin-workspace-body{display:flex;align-items:stretch;min-height:58vh}.admin-menu{width:265px;flex-shrink:0;padding:20px 16px;background:#f5f8f6;border-right:1px solid #dbe7e2}.admin-menu label{font-size:12px}.admin-menu select{margin-bottom:18px}.admin-menu-links{display:grid;gap:5px}.admin-menu-link{width:100%;text-align:left;display:block;background:transparent;color:var(--deep);border:0;border-radius:8px;padding:12px 10px;font-weight:600}.admin-menu-link:hover{background:var(--admin-accent);color:white}.admin-menu-footer{margin-top:22px;border-top:1px solid #dbe7e2;padding-top:12px}.admin-menu-footer button{width:100%;margin:5px 0}.admin-workspace-content{flex:1;min-width:0;padding:24px}.admin-dashboard h3{margin-top:0}.admin-dashboard-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:24px}.admin-dashboard-shortcuts button{min-height:68px;background:white;color:var(--deep);border:1px solid #dbe7e2;text-align:left}.admin-dashboard-shortcuts button:hover{border-color:var(--admin-accent);background:#f5f8f6}.admin-active .features,.admin-active .footnote{display:none}@media(max-width:700px){.admin-workspace-header{padding:14px;gap:10px;flex-wrap:wrap}.admin-workspace-header .secondary{padding:8px}.admin-workspace-body{display:block}.admin-menu{width:100%;border-right:0;border-bottom:1px solid #dbe7e2}.admin-workspace-content{padding:15px}.admin-hamburger{padding:10px}.admin-dashboard-shortcuts{grid-template-columns:1fr 1fr}} 
/* Admin workspace button hover */
.admin-workspace button:hover,
.admin-workspace .admin-menu-item:hover {
  background-color: #164F59;
  color: #FFFFFF;
  border-color: #164F59;
}

/* Keep the large Upheld marketing banner on the sign-in page only. */
body:has(#signed-in:not([hidden])) .hero,
body:has(#signed-in:not([hidden])) .features,
body:has(#signed-in:not([hidden])) .footnote,
body:has(#signed-in:not([hidden])) .workspace-head {
  display: none;
}
body:has(#signed-in:not([hidden])) main {
  padding-top: 16px;
}


/* White-label community identity and appearance editor */
.community-brand-header{display:flex;align-items:center;gap:10px;font:600 24px Georgia,serif;color:var(--community-primary,#073D48)}.community-brand-header img{height:38px;width:38px;object-fit:contain;border-radius:6px}.hosted-by{margin-top:52px;border-top:1px solid #dbe7e2;padding:22px 0 8px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#607b78}.hosted-by img{width:26px;height:26px;object-fit:contain}.hosted-by a{color:#526d6c}.branding-editor{max-width:850px}.branding-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px}.branding-colors input[type=color]{height:46px;padding:4px;cursor:pointer}.branding-image-control{padding:12px 0;border-bottom:1px solid #dbe7e2}.branding-upload-preview{display:block;max-height:150px;max-width:100%;object-fit:contain;margin:10px 0}.branding-live-preview{border:1px solid #dbe7e2;border-radius:14px;overflow:hidden;padding-bottom:18px;min-height:190px}.branding-live-preview>p,.branding-preview-feature{margin:16px;padding:10px}.branding-preview-header{color:white;padding:22px;min-height:90px}.branding-preview-header h3,.branding-preview-header p{color:white;margin:5px 0}.branding-preview-logo{height:54px;width:54px;object-fit:contain;float:left;margin-right:14px}.branding-preview-banner{display:block;width:100%;max-height:190px;object-fit:cover;margin-bottom:12px}.branding-preview-feature{border:2px solid;border-radius:10px}.today-community-logo{width:40px;height:40px;object-fit:contain;float:right}.community-banner{width:100%;max-height:260px;object-fit:cover;border-radius:12px;margin:8px 0 16px}.admin-dashboard-shortcuts button:hover{background:#164F59;color:#fff;border-color:#164F59}

/* Private R2 profile and trip galleries */
.media-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:12px 0}
.media-tile{border:1px solid #d9dfdc;border-radius:12px;overflow:hidden;padding:8px}
.media-tile img{width:100%;height:145px;object-fit:cover;border-radius:8px}
.media-tile .toolbar{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.media-tile button{font-size:.78rem;padding:6px 8px}

/* Community branding: synchronized color picker, editable HEX codes, and preset swatches */
.branding-color-field{min-width:0}.branding-color-controls{display:flex;align-items:center;gap:8px}.branding-color-controls input[type=color]{width:56px;min-width:56px;flex:none}.branding-color-controls .branding-hex-input{min-width:0;width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;letter-spacing:.025em}.branding-color-hint{display:block;font-size:11px;color:#607b78;margin:5px 0 7px}.branding-hex-invalid{border-color:#b42318!important;outline-color:#b42318!important}.branding-swatches{display:flex;flex-wrap:wrap;gap:6px}.branding-swatch{width:25px;height:25px;border-radius:6px;border:1px solid #aebdb9;cursor:pointer;padding:0;min-height:0}.branding-swatch:hover,.branding-swatch:focus-visible{outline:2px solid #083D48;outline-offset:2px}

/* Community identity: a clearly visible logo in the signed-in header. */
.community-brand-header{gap:18px;min-height:82px;max-width:100%;min-width:0}
.community-brand-header img{width:96px;height:76px;max-width:28vw;object-fit:contain;border-radius:0;flex-shrink:0}
.community-brand-header strong{font-size:clamp(18px,2.3vw,28px);overflow-wrap:anywhere}
@media(max-width:650px){.community-brand-header{gap:10px;min-height:64px}.community-brand-header img{width:70px;height:58px;max-width:24vw}}
/* Dashboard is explanatory only; no shortcut buttons. */
.admin-dashboard-shortcuts{display:block;margin-top:24px}
.admin-notices-section{background:#f5f8f6;border:1px solid #dbe7e2;border-radius:12px;padding:18px;margin:22px 0}
.admin-notices-section h4{margin:0 0 12px}
.platform-notice{background:white;border-left:4px solid var(--admin-accent,#083D48);border-radius:8px;padding:12px 16px;margin:12px 0;white-space:pre-wrap}
.platform-notice h4{margin:0 0 8px}.platform-notice p{margin:0;line-height:1.5}
.admin-dashboard-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:14px}
.admin-guide-entry{border:1px solid #dbe7e2;border-radius:10px;padding:16px;background:#fff}
.admin-guide-entry p{margin:8px 0 0;color:#536f70;line-height:1.5;font-size:14px}
.admin-workspace .admin-menu-link:hover{background:#164F59;color:white}

/* Independently customizable app header and administration heading bar. */
body:has(#signed-in:not([hidden])) .top{background:var(--app-header-bg,#fff);color:var(--app-header-text,#083D48);border-bottom-color:color-mix(in srgb,var(--app-header-text,#083D48) 18%,transparent)}
body:has(#signed-in:not([hidden])) .community-brand-header,body:has(#signed-in:not([hidden])) .community-brand-header strong{color:var(--app-header-text,#083D48)}
body:has(#signed-in:not([hidden])) .top .preview{color:var(--app-header-text,#083D48);opacity:.75}
.admin-workspace-header{background:var(--app-header-bg,var(--admin-accent));color:var(--app-header-text,#fff)}
.admin-workspace-title h2{color:var(--app-header-text,#fff)}
.admin-workspace-header .admin-hamburger{background:var(--app-header-button,#083D48);color:var(--app-header-button-text,#fff);border-color:var(--app-header-button,#083D48)}
.admin-workspace-header .admin-hamburger:hover,.admin-workspace-header .admin-hamburger:focus-visible{background:var(--app-header-hover,#164F59);border-color:var(--app-header-hover,#164F59);color:var(--app-header-button-text,#fff)}
.admin-workspace-header .secondary{background:var(--app-header-button,#083D48);color:var(--app-header-button-text,#fff);border-color:var(--app-header-button,#083D48)}
.admin-workspace-header .secondary:hover,.admin-workspace-header .secondary:focus-visible{background:var(--app-header-hover,#164F59);border-color:var(--app-header-hover,#164F59);color:var(--app-header-button-text,#fff)}
.branding-preview-appbar{display:flex;align-items:center;gap:12px;padding:15px 18px;min-height:96px}
.branding-preview-appbar img{width:90px;height:68px;object-fit:contain;flex:none}
.branding-preview-identity{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.branding-preview-identity strong{font:600 21px Georgia,serif;overflow-wrap:anywhere}
.branding-preview-identity small{font-size:12px;opacity:.8}
.branding-preview-menu-icon{font-size:22px;line-height:1}
.branding-preview-header-button{padding:9px 13px;border-radius:8px;font-weight:650;font-size:13px}
.branding-preview-header-button:hover{background:var(--preview-hover)!important}
@media(max-width:650px){.branding-preview-appbar{gap:8px;padding:12px}.branding-preview-appbar img{width:58px;height:48px}.branding-preview-identity strong{font-size:16px}.branding-preview-header-button{padding:8px}}

/* Permanent administration navigation: never collapse into a hamburger. */
.admin-workspace-header .admin-hamburger{display:none!important}
.admin-workspace-body{display:flex;align-items:stretch}
.admin-workspace-body .admin-menu{display:block!important;width:265px;flex:0 0 265px}
.admin-menu-link:hover,.admin-menu-link:focus-visible{background:#164F59!important;color:#fff!important}
@media(max-width:700px){
 .admin-workspace-body{display:flex;flex-direction:column}
 .admin-workspace-body .admin-menu{width:100%;flex:auto;border-right:0;border-bottom:1px solid #dbe7e2}
 .admin-menu-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:5px}
}

/* Adjustable community logo, proportional to the community name. */
.community-brand-header{gap:14px;min-height:0}
.community-brand-header img{width:var(--community-logo-size,110px);height:auto;max-height:var(--community-logo-size,110px);max-width:min(30vw,var(--community-logo-size,110px));object-fit:contain;flex:0 0 auto}
.community-brand-header strong{font-size:clamp(20px,2.4vw,30px);line-height:1.2}
.branding-logo-size-control{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0;padding:14px;border:1px solid #dbe7e2;border-radius:10px}
.branding-logo-size-control label{width:100%;margin:0}
.branding-logo-size-control input[type=range]{flex:1;min-width:140px;accent-color:#083D48}
.branding-logo-size-control output{min-width:52px;font-weight:650}
.branding-logo-size-control small{width:100%}
.branding-preview-appbar img{max-width:30%;max-height:110px;object-fit:contain}
@media(max-width:650px){.community-brand-header img{width:min(var(--community-logo-size,110px),24vw);max-height:min(var(--community-logo-size,110px),76px)}}

/* Separate community page text from app header text. */
.branding-live-preview .branding-preview-header h3,
.branding-live-preview .branding-preview-header p{color:inherit}
.community-member-page{background:var(--page-background,#FCFAF5);color:var(--page-text,#244C52);border-radius:12px;padding:18px}
.community-member-page>h3,.community-member-page>p{color:inherit}

/* The app header shows only the selected community logo. */
#community-brand-name{display:none!important}
body:has(#signed-in:not([hidden])) .workspace{--active-page-bg:var(--page-background,#FCFAF5);--active-page-text:var(--page-text,#244C52)}
#today-page,#settings-page,.community-member-page{background:var(--page-background,#FCFAF5);color:var(--page-text,#244C52)}
#today-page,#settings-page{border-radius:12px;padding:18px}
#today-page>h2,#settings-page>h3{color:inherit}
#today-community-switch{max-width:360px;margin:4px 0 18px}
#settings-communities select{max-width:400px;margin-bottom:10px}
#settings-communities button{display:block;margin:6px 0 18px}
