/* Server-backed workflows share the existing palette and readable type scale. */
.header-account { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.notification-link { position:relative; width:36px; height:36px; display:grid; place-items:center; color:#28679f; }
.badge { position:absolute; top:-2px; right:-4px; min-width:18px; height:18px; padding:1px 4px; border-radius:10px; background:#28679f; color:white; font-size:12px; text-align:center; }
.avatar { overflow:hidden; }
.avatar img { display:block; width:100%; height:100%; object-fit:cover; }
.post-options { margin-left:auto; }
.post-caption { white-space:pre-wrap; overflow-wrap:anywhere; margin-top:14px!important; }
.post-images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:14px; }
.post-images.images-1 { grid-template-columns:1fr; }
.post-images a { display:block; min-width:0; }
.post-images img { display:block; width:100%; max-height:420px; object-fit:contain; border-radius:5px; background:#f4f7fa; }
.post-images:not(.images-1) img { height:240px; object-fit:cover; }
.verified-badge { color:#28679f; font-size:.8em; }
.comment-item { border-bottom:1px solid #e8e8e8; padding:10px 0; font-size:14px; }
.comment-item p { margin:6px 0!important; white-space:pre-wrap; overflow-wrap:anywhere; }
.comment-date { display:block; color:#555; font-size:12px; margin-top:3px; }
.reply-item { margin-left:22px; padding-left:12px; border-left:2px solid #d4e2ee; }
.comment-box form { margin-top:12px; }
.social-heading select,.account-switch select { font:inherit; font-size:14px; border:1px solid #ddd; border-radius:6px; padding:8px; background:white; max-width:100%; }
.feed-explanation,.field-help { color:#555; font-size:13px; line-height:1.5; }
.setup-panel { background:#f4f8fc; border-color:#d4e2ee; }
.team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:15px; }
.team-person { display:flex; gap:10px; align-items:center; }
.team-person p { margin:4px 0 0; }
.business-hours { margin-top:15px; font-size:14px; }
.business-hours summary { cursor:pointer; color:#28679f; }
.business-hours dl { max-width:400px; }
.business-hours dl>div { display:flex; justify-content:space-between; gap:15px; padding:5px 0; }
.business-hours dd { margin:0; }
.profile-facts a { display:inline-flex; align-items:center; gap:5px; color:#28679f; overflow-wrap:anywhere; }
.editor-form label,.inline-form label,.narrow-form label { display:flex; flex-direction:column; gap:7px; font-size:14px; font-weight:600; min-width:0; }
.editor-form input,.editor-form textarea,.editor-form select,.inline-form input,.narrow-form input,.account-switch select { width:100%; min-width:0; padding:10px 12px; border:1px solid #ccc; border-radius:6px; background:white; font:inherit; font-size:15px; color:#111; }
.editor-form textarea { min-height:100px; resize:vertical; }
.editor-form h2 { margin:24px 0 14px; }
.editor-logo { display:flex; gap:18px; align-items:center; margin-bottom:20px; }
.editor-logo .avatar { border:1px solid #ddd; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.full-width { grid-column:1/-1; }
.hours-editor { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.team-editor-row { display:grid; grid-template-columns:40px minmax(0,1fr) minmax(0,1fr) auto 30px; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #eee; }
.team-editor-row:last-child { margin-bottom:12px; }
.form-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.inline-form { display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; margin:18px 0; }
.inline-form label { flex:1; min-width:200px; }
.file-button { position:relative; display:inline-flex!important; flex-direction:row!important; cursor:pointer; overflow:hidden; }
.file-button input[type=file] { position:absolute; inset:0; opacity:0; width:100%; height:100%; padding:0; cursor:pointer; }
.file-button:focus-within { outline:3px solid #87aaff; outline-offset:3px; }
.upload-previews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
.upload-previews>div { position:relative; }
.upload-previews img { width:100%; height:140px; object-fit:cover; border-radius:6px; }
.upload-previews button { position:absolute; top:3px; right:3px; background:white; color:#111; }
.form-error { padding:10px 12px; border:1px solid #a23232; background:#fff5f5; color:#7e2020!important; border-radius:5px; font-size:14px; }
[aria-busy=true] { opacity:.75; }
button:disabled { cursor:wait; opacity:.6; }
.checkbox-label { display:flex!important; align-items:flex-start; gap:10px; font-weight:400; }
.checkbox-label input { width:18px; height:18px; margin:2px 0 0; flex-shrink:0; }
.auth-links { display:flex; flex-wrap:wrap; gap:15px; margin-top:20px; }
.narrow-form { max-width:500px; }
.narrow-form .button { margin-top:18px; }
.member-list>div,.admin-business { display:flex; align-items:center; gap:12px; justify-content:space-between; border-bottom:1px solid #eee; padding:14px 0; }
.member-list small { display:block; font-size:13px; color:#555; margin-top:5px; }
.notification-item { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.notification-item.unread { border-left:4px solid #478ac9; background:#f4f8fc; }
.admin-business>div { flex:1; min-width:0; }
.admin-business p { margin:4px 0; }
.admin-report { border-top:1px solid #ddd; padding:18px 0; }
.admin-report h3 { margin:12px 0 7px; }
.admin-report small { color:#555; }
.admin-report blockquote { margin:12px 0; padding:10px 15px; background:#f7f7f7; border-left:3px solid #478ac9; white-space:pre-wrap; overflow-wrap:anywhere; }
.account-switch { display:block; padding:10px; font-size:13px; }
.account-switch select { margin-top:7px; }
.danger { color:#872626; }
@media(max-width:760px){
 .sidebar .header-account { grid-column:2; grid-row:1; justify-self:end; gap:6px; }
 .form-grid { grid-template-columns:1fr; }
 .hours-editor { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .team-editor-row { grid-template-columns:40px minmax(0,1fr) 30px; gap:10px; }
 .team-editor-row label { grid-column:2; }
 .team-editor-row .avatar { grid-column:1; grid-row:1; }
 .team-editor-row>.icon-button { grid-column:3; grid-row:1; }
 .team-editor-row .file-button { justify-self:start; }
 .notification-item { align-items:flex-start; flex-direction:column; gap:10px; }
 .admin-business { flex-wrap:wrap; }
 .admin-business .button { margin-left:auto; }
}
@media(max-width:480px){
 .social-heading { align-items:center; gap:10px; }
 .social-heading h1 { font-size:26px; }
 .social-heading select { font-size:13px; padding:7px; max-width:130px; }
 .hours-editor { grid-template-columns:1fr; }
 .profile-actions { max-width:230px; }
 .profile-actions .button { font-size:12px; }
 .post-images:not(.images-1) img { height:150px; }
 .member-list>div { align-items:flex-start; flex-direction:column; }
 .inline-form { align-items:stretch; }
 .inline-form label { min-width:0; flex-basis:100%; }
 .team-grid { grid-template-columns:1fr; }
 .comment-box form { flex-wrap:wrap; }
 .comment-box input { min-width:120px; }
}

.private-entrance{margin:32px auto;max-width:440px}.private-entrance form{display:grid;gap:16px}.private-entrance h1{font-size:28px}.private-entrance .auth-links{display:grid;justify-items:start;gap:12px}

.public-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:32px;max-width:1180px;margin:20px auto;align-items:start}
.library-introduction{min-width:0}.introduction-banner{background:#478ac9;border-radius:8px;padding:24px 28px}.introduction-banner p{margin:0 0 12px;color:#111;font-size:16px;font-weight:600}.introduction-banner h1{margin:0;color:white;font-size:46px;line-height:1.14;letter-spacing:0;font-weight:600}.introduction-summary{font-size:18px;line-height:1.6;color:#111;margin:20px 0 8px}.introduction-features{margin:0}.introduction-features>div{border-bottom:1px solid #ddd;padding:16px 0}.introduction-features>div:last-child{border-bottom:0}.introduction-features dt{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:#111}.introduction-features dt svg{color:#28679f}.introduction-features dd{margin:7px 0 0 31px;font-size:16px;line-height:1.5;color:#222}
.public-preview .private-entrance{margin:0;width:100%;max-width:none;padding:24px}.public-preview .private-entrance h2{font-size:26px;line-height:1.2;margin:0 0 12px}.public-preview .private-entrance>p{font-size:16px;line-height:1.5;color:#222;margin:0 0 20px}.public-preview .private-entrance label{font-size:16px}.public-preview .private-entrance input{font-size:16px}.public-preview .auth-links .text-link{font-size:14px;color:#205b8d}
@media(max-width:800px){.public-preview{grid-template-columns:1fr;gap:24px;margin:4px auto}.public-preview .private-entrance{max-width:540px}.introduction-banner h1{font-size:38px}.introduction-banner{padding:22px}.introduction-summary{font-size:17px}.introduction-features dd{margin-left:0}}

.public-preview{grid-template-areas:"intro login" "features login";row-gap:0}.library-introduction{grid-area:intro}.public-preview>.introduction-features{grid-area:features}.public-preview>.private-entrance{grid-area:login}
@media(max-width:800px){.public-preview{grid-template-areas:"intro" "login" "features";row-gap:20px}.introduction-summary{margin-bottom:0}}
