*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f5f7fb;color:#172033}
.topbar{min-height:76px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 5%;box-shadow:0 2px 18px #18233a12;position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#172033}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#173d75;color:#fff;font-size:25px}.brand small{display:block;letter-spacing:3px;color:#b68a2d;margin-top:2px}
nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}nav a{padding:10px 12px;text-decoration:none;color:#344158;border-radius:10px}.primary,.button{background:#173d75!important;color:white!important}
.hero{max-width:1180px;margin:55px auto;padding:55px;display:grid;grid-template-columns:1.3fr .7fr;gap:45px;align-items:center;background:linear-gradient(135deg,#fff,#eef3fb);border-radius:30px;box-shadow:0 18px 60px #1b315517}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:2px;color:#b1842e}.hero h1,.page h1{font-size:48px;line-height:1.08;margin:14px 0}.hero p,.page p{font-size:18px;line-height:1.7;color:#5a6577}.actions{display:flex;gap:12px;margin-top:28px}.button{display:inline-block;padding:13px 20px;border-radius:12px;text-decoration:none;font-weight:700}.ghost{background:white!important;color:#173d75!important;border:1px solid #ccd6e6}
.hero-card{padding:40px 30px;text-align:center;border-radius:25px;background:#173d75;color:#fff}.cross{font-size:65px;color:#e1bd65}.hero-card p{color:#dce7f7}
.features{max-width:1180px;margin:0 auto 55px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.features a{background:#fff;padding:25px;border-radius:18px;text-decoration:none;color:#172033;box-shadow:0 8px 30px #1b31550d}.features b,.features span{display:block}.features b{font-size:19px;margin-bottom:10px}.features span{color:#667185;line-height:1.5}
.page{max-width:850px;margin:70px auto;background:#fff;padding:55px;border-radius:25px;box-shadow:0 15px 50px #1b315512}footer{text-align:center;padding:30px;color:#778196}
@media(max-width:900px){.topbar{align-items:flex-start;gap:15px;flex-direction:column}.hero{margin:20px;grid-template-columns:1fr;padding:32px}.hero h1,.page h1{font-size:36px}.features{margin:20px;grid-template-columns:1fr 1fr}.page{margin:20px;padding:32px}}
@media(max-width:520px){.features{grid-template-columns:1fr}nav a{padding:8px}.hero{padding:24px}.hero h1,.page h1{font-size:31px}}

.user-chip{padding:9px 12px;background:#eef3fb;border-radius:12px;color:#173d75;font-weight:700}
.flash-wrap{max-width:900px;margin:18px auto 0;padding:0 20px}.flash{padding:13px 16px;border-radius:12px;margin-bottom:8px;background:#eef3fb}.flash.error{background:#fff0f0;color:#9d2424}.flash.success{background:#eef9f1;color:#23653a}
.auth-shell{max-width:620px;margin:48px auto;padding:0 20px}.auth-card{background:#fff;padding:42px;border-radius:26px;box-shadow:0 18px 60px #1b315517}.auth-card h1{font-size:38px;margin:10px 0}.auth-card>p{color:#667185;line-height:1.6}.form{display:grid;gap:9px;margin-top:25px}.form label{font-weight:700;margin-top:7px}.form input{width:100%;padding:14px 15px;border:1px solid #d6deea;border-radius:12px;font-size:16px;outline:none}.form input:focus{border-color:#173d75;box-shadow:0 0 0 3px #173d7514}.form-button{border:0;font-size:16px;margin-top:14px;cursor:pointer}.auth-foot{text-align:center;margin-top:22px!important}.auth-foot a{color:#173d75;font-weight:700}

.profile-shell{max-width:1180px;margin:32px auto 60px;padding:0 20px}
.cover{height:330px;border-radius:28px 28px 0 0;background:linear-gradient(135deg,#173d75,#305e9e);background-size:cover;background-position:center;position:relative;overflow:hidden}
.cover-overlay{position:absolute;inset:0;background:linear-gradient(to top,#102c54cc,transparent 60%)}
.profile-card{background:#fff;border-radius:0 0 28px 28px;box-shadow:0 18px 60px #1b315517;padding:0 34px 34px}
.profile-top{display:flex;align-items:flex-end;gap:24px;margin-top:-58px;position:relative;z-index:2}
.avatar{width:142px;height:142px;border-radius:50%;border:6px solid #fff;background:#e8eef7;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;box-shadow:0 8px 28px #15294b28}
.avatar img{width:100%;height:100%;object-fit:cover}.avatar span{font-size:52px;font-weight:800;color:#173d75}
.profile-main{flex:1;padding-bottom:9px}.profile-main h1{margin:0;font-size:34px}.profile-main h2{margin:6px 0 0;font-size:20px;color:#173d75}.profile-field{margin:5px 0 0;color:#69758a}
.profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:32px}.info-box,.section-card{border:1px solid #e4eaf2;border-radius:18px;padding:22px}.info-box h3,.section-card h3{margin-top:0}.info-box p,.section-card p{color:#5f6a7c;line-height:1.65}
.profile-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.auth-shell.wide{max-width:900px}.two-col{grid-template-columns:1fr 1fr;column-gap:18px}.two-col .full{grid-column:1/-1}.form textarea{width:100%;padding:14px 15px;border:1px solid #d6deea;border-radius:12px;font-size:16px;font-family:inherit;resize:vertical}.form-actions{display:flex;gap:10px;align-items:center}
@media(max-width:800px){.profile-top{align-items:flex-start;flex-wrap:wrap}.profile-grid,.profile-sections,.two-col{grid-template-columns:1fr}.two-col .full{grid-column:auto}.cover{height:230px}.avatar{width:115px;height:115px}.profile-main h1{font-size:28px}}

.feed-shell{max-width:1180px;margin:32px auto 60px;padding:0 20px;display:grid;grid-template-columns:minmax(0,760px) 1fr;gap:22px;align-items:start}
.feed-main{display:grid;gap:18px}.composer,.post-card,.side-card,.empty-feed{background:#fff;border-radius:20px;box-shadow:0 10px 36px #1b31550e;padding:22px}
.composer-head,.post-author{display:flex;align-items:center;gap:12px}.composer textarea{width:100%;margin:16px 0 10px;padding:15px;border:1px solid #dbe2ec;border-radius:14px;font:inherit;resize:vertical}.composer>input{width:100%;padding:12px 14px;border:1px solid #dbe2ec;border-radius:12px}.composer-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;color:#687489}
.mini-avatar{width:46px;height:46px;border-radius:50%;background:#e8eef7;color:#173d75;display:grid;place-items:center;font-weight:800;text-decoration:none;overflow:hidden;flex:0 0 auto}.mini-avatar img{width:100%;height:100%;object-fit:cover}.mini-avatar.small{width:34px;height:34px;font-size:13px}
.post-author>div:nth-child(2){display:grid}.post-author small{color:#7a8494;margin-top:2px}.author-name{font-weight:800;color:#172033;text-decoration:none}.post-delete{margin-left:auto}.post-delete button{border:0;background:none;color:#a24b4b;cursor:pointer}
.post-content{font-size:17px;line-height:1.65;white-space:pre-wrap;margin:18px 0}.post-image{width:100%;max-height:620px;object-fit:cover;border-radius:15px;display:block}
.post-stats{display:flex;justify-content:space-between;color:#6d788a;padding:13px 2px;border-bottom:1px solid #edf0f4}.post-actions{display:flex;gap:30px;padding:9px 0;border-bottom:1px solid #edf0f4;align-items:center}.post-actions button{border:0;background:none;padding:8px 10px;font-weight:700;cursor:pointer;color:#4c586a}.post-actions button.liked{color:#173d75}.comments{padding-top:12px}.comment{display:flex;gap:9px;margin:10px 0}.comment>div:last-child{background:#f2f5f9;border-radius:14px;padding:8px 12px}.comment p{margin:4px 0 0;line-height:1.45}.comment-form{display:flex;gap:8px;margin-top:12px}.comment-form input{flex:1;padding:11px 13px;border:1px solid #dbe2ec;border-radius:18px}.comment-form button{border:0;border-radius:18px;background:#173d75;color:#fff;padding:0 16px;cursor:pointer}
.side-card{margin-bottom:18px}.side-card p{color:#687489;line-height:1.6}.login-note a{font-weight:800;color:#173d75}.member-posts{margin-top:28px;max-width:760px}.member-posts>h2{margin-bottom:16px}.member-posts .post-card{border:1px solid #e7ebf1;box-shadow:none;margin-bottom:16px}.empty-inline{color:#7b8492}
@media(max-width:900px){.feed-shell{grid-template-columns:1fr}.feed-side{order:-1}.composer-actions{align-items:flex-start;flex-direction:column}}

.market-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}
.market-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#eef3fb);padding:32px;border-radius:24px;margin-bottom:18px}
.market-hero h1{margin:8px 0;font-size:38px}.market-hero p{margin:0;color:#687489}
.market-filter{display:grid;grid-template-columns:1fr 220px auto;gap:10px;background:#fff;padding:14px;border-radius:16px;box-shadow:0 8px 28px #1b31550d;margin-bottom:20px}
.market-filter input,.market-filter select,.form select{padding:13px 14px;border:1px solid #d7dfeb;border-radius:12px;background:#fff;font:inherit}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 35px #1b31550d;border:1px solid #edf0f4}
.product-thumb{display:block;height:210px;background:#eef3f9}.product-thumb img{width:100%;height:100%;object-fit:cover;display:block}.product-placeholder{height:100%;display:grid;place-items:center;font-size:54px;color:#8794a8}.product-placeholder.large{min-height:430px}
.product-body{padding:16px}.product-meta{display:flex;justify-content:space-between;gap:8px;color:#7b8492;font-size:12px;margin-bottom:8px}.product-name{display:block;color:#182238;text-decoration:none;font-weight:800;font-size:18px;line-height:1.35}.product-price,.detail-price{color:#173d75;font-size:21px;font-weight:900;margin:9px 0}.product-price small,.detail-price small{font-size:13px;font-weight:600;color:#748094}.product-body p{color:#687489;line-height:1.5;font-size:14px}.seller-line{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edf0f4;padding-top:11px;font-size:13px}.seller-line a{color:#173d75;text-decoration:none;font-weight:700}
.empty-market{grid-column:1/-1;background:#fff;padding:44px;border-radius:20px;text-align:center}
.product-detail-shell{max-width:1100px;margin:34px auto 70px;padding:0 20px}.product-detail-card{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 14px 46px #1b315514}.detail-image{background:#eef3f9;min-height:520px}.detail-image img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}.detail-info{padding:36px}.detail-info h1{font-size:36px;margin:8px 0}.detail-status{display:flex;gap:18px;color:#687489;margin:15px 0}.status.ok{color:#2c7d46}.status.no{color:#a23d3d}.status.muted{color:#818a98}.detail-description{white-space:pre-wrap;line-height:1.7;color:#505c6d}.seller-box{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#f5f7fb;border-radius:16px;padding:17px;margin-top:22px}.seller-box>div{display:grid;gap:4px}.seller-box span{font-size:14px;color:#687489}.owner-actions{display:flex;gap:10px;margin-top:22px}.owner-actions form{margin:0}.danger-button{border:0;background:#a23d3d;color:#fff;border-radius:12px;padding:13px 18px;font-weight:700;cursor:pointer}
.product-comments-card{background:#fff;border-radius:20px;padding:24px;margin-top:20px;box-shadow:0 10px 35px #1b31550d}.product-comment-form{margin-top:18px}.member-products{margin-top:28px}.member-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.product-grid.compact{grid-template-columns:repeat(3,1fr)}.product-grid.compact .product-thumb{height:175px}
@media(max-width:980px){.product-grid{grid-template-columns:repeat(2,1fr)}.product-detail-card{grid-template-columns:1fr}.detail-image,.detail-image img{min-height:360px}.product-grid.compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.market-hero{align-items:flex-start;flex-direction:column}.market-filter{grid-template-columns:1fr}.product-grid,.product-grid.compact{grid-template-columns:1fr}.seller-box{align-items:flex-start;flex-direction:column}.detail-info{padding:24px}.detail-info h1{font-size:30px}}

.members-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}
.members-hero{background:linear-gradient(135deg,#fff,#eef3fb);padding:32px;border-radius:24px;margin-bottom:18px}.members-hero h1{font-size:38px;margin:8px 0}.members-hero p{color:#687489;margin:0}
.member-search{display:grid;grid-template-columns:1fr auto;gap:10px;background:#fff;padding:14px;border-radius:16px;box-shadow:0 8px 28px #1b31550d;margin-bottom:20px}.member-search input{padding:13px 14px;border:1px solid #d7dfeb;border-radius:12px;font:inherit}
.member-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.member-card{background:#fff;border-radius:20px;box-shadow:0 10px 35px #1b31550d;border:1px solid #edf0f4;overflow:hidden}.member-avatar{height:190px;background:linear-gradient(135deg,#e8eef7,#f7f9fc);display:grid;place-items:center;text-decoration:none;overflow:hidden}.member-avatar img{width:100%;height:100%;object-fit:cover}.member-avatar span{font-size:62px;font-weight:900;color:#173d75}
.member-card-body{padding:18px}.member-title{font-size:20px;font-weight:900;color:#172033;text-decoration:none}.member-card h3{margin:6px 0;color:#173d75}.member-field,.member-address,.member-bio{color:#687489;line-height:1.5}.member-bio{min-height:42px}.member-stats{font-size:13px;color:#7a8492;border-top:1px solid #edf0f4;padding-top:10px}.member-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.member-actions form,.profile-connect-actions form{margin:0}
.follow-button,.message-button{border:0;border-radius:12px;padding:12px 14px;font-weight:800;text-decoration:none;cursor:pointer}.follow-button{background:#edf3fb;color:#173d75}.follow-button.active{background:#173d75;color:#fff}.message-button{background:#b58a2b;color:#fff;display:inline-flex;align-items:center}.empty-members{grid-column:1/-1;background:#fff;padding:44px;border-radius:20px;text-align:center}
.profile-connect-actions{display:flex;gap:8px;align-items:center}.profile-social-stats{display:flex;gap:28px;margin:18px 0 0 166px;color:#687489}.profile-social-stats b{color:#172033}.seller-buttons{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:980px){.member-grid{grid-template-columns:repeat(2,1fr)}.profile-social-stats{margin-left:0}}
@media(max-width:650px){.member-grid{grid-template-columns:1fr}.member-search{grid-template-columns:1fr}.profile-connect-actions{width:100%;flex-wrap:wrap}}

.messages-shell{max-width:900px;margin:34px auto 70px;padding:0 20px}
.messages-head{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#fff,#eef3fb);padding:28px;border-radius:22px;margin-bottom:18px}
.messages-head h1{font-size:36px;margin:8px 0}.messages-head p{margin:0;color:#687489}.unread-total{background:#173d75;color:#fff;border-radius:999px;padding:10px 14px;font-weight:800}
.conversation-list{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 35px #1b31550d}.conversation-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:17px 20px;text-decoration:none;color:#172033;border-bottom:1px solid #edf0f4}.conversation-row:hover{background:#f8fafc}.conversation-main{min-width:0}.conversation-title{display:flex;align-items:center;gap:8px}.conversation-main small{color:#7b8492}.conversation-main p{margin:5px 0 0;color:#687489;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-time{font-size:12px;color:#8790a0}.unread-badge{background:#b58a2b;color:#fff;min-width:24px;height:24px;border-radius:999px;display:inline-grid;place-items:center;font-size:12px}.empty-conversations{padding:50px;text-align:center}
.chat-shell{max-width:960px;margin:28px auto 60px;padding:0 20px}.chat-card{background:#fff;border-radius:24px;box-shadow:0 14px 46px #1b315514;overflow:hidden}.chat-header{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 20px;border-bottom:1px solid #e9edf3}.chat-person{display:flex;align-items:center;gap:12px;text-decoration:none;color:#172033}.chat-person>div:last-child{display:grid}.chat-person small{color:#7b8492}.chat-header-actions{display:flex;gap:8px;align-items:center}.chat-header-actions form{margin:0}.chat-messages{height:58vh;min-height:420px;overflow-y:auto;padding:22px;background:#f5f7fb}.message-line{display:flex;margin:10px 0}.message-line.mine{justify-content:flex-end}.message-line.theirs{justify-content:flex-start}.message-bubble{max-width:min(72%,620px);padding:11px 14px;border-radius:18px;background:#fff;box-shadow:0 3px 12px #1b31550c}.message-line.mine .message-bubble{background:#173d75;color:#fff;border-bottom-right-radius:6px}.message-line.theirs .message-bubble{border-bottom-left-radius:6px}.message-text{white-space:pre-wrap;line-height:1.5}.message-bubble small{display:block;margin-top:6px;font-size:11px;opacity:.72}.chat-composer{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border-top:1px solid #e9edf3}.chat-composer textarea{resize:none;border:1px solid #d7dfeb;border-radius:14px;padding:12px 14px;font:inherit;outline:none}.chat-empty{text-align:center;color:#7a8492;margin-top:80px}
@media(max-width:650px){.messages-head{align-items:flex-start;flex-direction:column}.conversation-row{grid-template-columns:auto 1fr}.conversation-time{grid-column:2}.chat-header{align-items:flex-start;flex-direction:column}.chat-header-actions{width:100%;flex-wrap:wrap}.chat-messages{height:55vh;min-height:360px}.message-bubble{max-width:88%}.chat-composer{grid-template-columns:1fr}}

.nav-badge-link{position:relative;display:inline-flex;align-items:center;gap:6px}.nav-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#173d75;color:#fff;font-size:11px;display:inline-grid;place-items:center;font-weight:900}.nav-badge.gold{background:#b58a2b}
.notifications-shell{max-width:900px;margin:34px auto 70px;padding:0 20px}.notifications-head{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#fff,#eef3fb);padding:28px;border-radius:22px;margin-bottom:18px}.notifications-head h1{font-size:36px;margin:8px 0}.notifications-head p{margin:0;color:#687489}.notifications-head form{margin:0}
.notification-list{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 35px #1b31550d}.notification-row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:17px 20px;text-decoration:none;color:#172033;border-bottom:1px solid #edf0f4}.notification-row:hover{background:#f8fafc}.notification-row.unread{background:#f4f8ff}.notification-row.unread:hover{background:#edf4ff}.notification-main p{margin:5px 0;color:#687489}.notification-main small{color:#8790a0}.notification-title{display:flex;align-items:center;gap:8px}.new-dot{width:9px;height:9px;border-radius:50%;background:#b58a2b;display:inline-block}.empty-notifications{padding:50px;text-align:center}
@media(max-width:650px){.notifications-head{align-items:flex-start;flex-direction:column}}

.groups-shell,.group-detail-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}.groups-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#fff,#eef3fb);padding:32px;border-radius:24px;margin-bottom:18px}.groups-hero h1{font-size:38px;margin:8px 0}.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.group-card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid #edf0f4;box-shadow:0 10px 35px #1b31550d}.group-cover{height:170px;background:#eaf0f8;display:grid;place-items:center;font-size:55px}.group-cover img{width:100%;height:100%;object-fit:cover}.group-body{padding:18px}.group-body h2{margin:7px 0}.group-body h2 a{text-decoration:none;color:#172033}.group-body p{color:#687489;line-height:1.5}.group-meta{display:flex;gap:15px;flex-wrap:wrap;color:#687489;font-size:13px;margin:10px 0}.group-detail-head{background:#fff;border-radius:24px;overflow:hidden;padding:28px;box-shadow:0 10px 35px #1b31550d}.group-detail-head>img{width:100%;height:280px;object-fit:cover;border-radius:16px;margin-bottom:20px}.group-detail-head h1{font-size:38px;margin:7px 0}.group-layout{display:grid;grid-template-columns:minmax(0,760px) 1fr;gap:20px;margin-top:20px}.group-layout main{display:grid;gap:16px}.group-layout .side-card{position:sticky;top:20px}.muted{color:#7a8492}@media(max-width:900px){.group-grid{grid-template-columns:repeat(2,1fr)}.group-layout{grid-template-columns:1fr}.group-layout .side-card{position:static}}@media(max-width:620px){.groups-hero{align-items:flex-start;flex-direction:column}.group-grid{grid-template-columns:1fr}}

.group-manage-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}.manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.manage-card{background:#fff;border-radius:20px;padding:22px;box-shadow:0 10px 35px #1b31550d}.manage-card h2{margin-top:0}.manage-member{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0f4}.manage-info{display:grid;gap:3px}.manage-info small{color:#7a8492}.role-pill{display:inline-flex;width:max-content;margin-top:4px;background:#eef3fb;color:#173d75;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.manage-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.manage-actions form{margin:0}.compact-btn{padding:9px 12px}.group-admin-link{margin:14px 0}@media(max-width:850px){.manage-grid{grid-template-columns:1fr}.manage-member{grid-template-columns:auto 1fr}.manage-actions{grid-column:1/-1;justify-content:flex-start}}

.group-filter{display:grid;grid-template-columns:1.4fr repeat(3,1fr) auto;gap:9px;background:#fff;padding:14px;border-radius:16px;box-shadow:0 8px 28px #1b31550d;margin-bottom:20px}.group-filter input,.group-filter select{padding:12px 13px;border:1px solid #d7dfeb;border-radius:12px;background:#fff;font:inherit}.group-head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:14px}.group-head-actions form{margin:0}.group-post-tools{margin-left:auto;display:flex;gap:8px;align-items:center}.group-post-tools a,.group-post-tools button{border:0;background:none;color:#6d7787;text-decoration:none;font-size:13px;cursor:pointer;padding:4px}.group-post-tools a:hover,.group-post-tools button:hover{color:#173d75}@media(max-width:950px){.group-filter{grid-template-columns:1fr 1fr}}@media(max-width:650px){.group-filter{grid-template-columns:1fr}}

.admin-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#fff,#eef3fb);padding:30px;border-radius:24px;margin-bottom:18px}.admin-hero h1{font-size:38px;margin:7px 0}.admin-links{display:flex;gap:8px}.admin-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:18px}.admin-stats>div{background:#fff;border-radius:16px;padding:18px;text-align:center;box-shadow:0 8px 28px #1b31550d}.admin-stats b{display:block;font-size:28px;color:#173d75}.admin-stats span{font-size:12px;color:#748094}.report-row,.audit-row,.admin-user-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 0;border-bottom:1px solid #edf0f4}.report-row p,.audit-row p{margin:4px 0;color:#687489}.report-row form,.admin-user-row form{display:flex;gap:6px;align-items:center;margin:0}.report-row input,.admin-user-row input,.admin-user-row select{padding:9px 10px;border:1px solid #d7dfeb;border-radius:10px}.admin-user-row>div:first-child{display:grid;gap:4px}.report-link{color:#a25b32;text-decoration:none;font-size:13px;font-weight:700;margin-left:auto}@media(max-width:1000px){.admin-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.admin-hero,.report-row,.audit-row,.admin-user-row{align-items:flex-start;flex-direction:column}.admin-stats{grid-template-columns:repeat(2,1fr)}}

.upload-preview{display:block;margin-top:10px;border-radius:14px;border:1px solid #e0e6ef;object-fit:cover}.avatar-preview{width:120px;height:120px;border-radius:50%}.cover-preview{width:100%;max-height:260px}.product-preview{width:220px;max-height:220px}.form input[type=file]{background:#f8fafc;padding:12px}

.multi-image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:8px}.multi-image-grid img{width:100%;height:260px;object-fit:cover;border-radius:12px}.multi-image-grid.count-1{grid-template-columns:1fr}.multi-image-grid.count-1 img{height:auto;max-height:620px}.product-gallery-strip{grid-column:1/-1;display:flex;gap:8px;padding:12px 18px;background:#fff;overflow-x:auto;border-bottom:1px solid #edf0f4}.gallery-thumb-wrap{position:relative;flex:0 0 auto}.gallery-thumb{width:82px;height:82px;object-fit:cover;border-radius:10px;border:1px solid #e0e6ef}.gallery-thumb-wrap form,.photo-tile form{position:absolute;right:5px;top:5px;margin:0}.gallery-thumb-wrap button,.photo-tile button{width:25px;height:25px;border:0;border-radius:50%;background:#9c3333;color:#fff;cursor:pointer}.album-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}.albums-head{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#fff,#eef3fb);padding:28px;border-radius:22px;margin-bottom:18px}.albums-head h1{margin:7px 0}.album-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.album-card{background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:#172033;box-shadow:0 8px 28px #1b31550d}.album-card>div:last-child{padding:14px}.album-card h3{margin:0 0 5px}.album-card p{margin:0;color:#7a8492}.album-cover{height:180px;background:#eaf0f8;display:grid;place-items:center;font-size:48px}.album-cover img{width:100%;height:100%;object-fit:cover}.album-uploader{display:flex;gap:10px;align-items:center;background:#fff;padding:14px;border-radius:14px;margin-bottom:18px}.photo-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.photo-tile{position:relative}.photo-tile img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;display:block}@media(max-width:900px){.album-grid,.photo-wall{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.albums-head,.album-uploader{align-items:flex-start;flex-direction:column}.album-grid,.photo-wall{grid-template-columns:1fr 1fr}.multi-image-grid img{height:180px}}

.business-professional-card{margin-top:24px;border:1px solid #e4eaf2;border-radius:20px;padding:24px;background:linear-gradient(135deg,#fff,#f7f9fc)}.business-brand{display:flex;gap:18px;align-items:center}.business-logo{width:96px;height:96px;border-radius:18px;object-fit:cover;border:1px solid #dfe6ef}.business-brand h2{margin:5px 0}.business-brand p{margin:0;color:#687489}.rating-line{display:flex;gap:8px;align-items:center;margin-top:8px}.stars,.stars-small{color:#b58a2b;letter-spacing:2px}.business-contact-grid{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.business-contact-grid a,.business-contact-grid span{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;text-decoration:none;color:#39465c}.business-services{margin-top:18px}.business-services h3{margin-bottom:6px}.business-services p{white-space:pre-wrap;color:#596579;line-height:1.6}.reviews-card{margin-top:26px;border-top:1px solid #edf0f4;padding-top:22px}.review-form{display:grid;grid-template-columns:150px 1fr auto;gap:9px;margin:14px 0}.review-form select,.review-form input{padding:12px;border:1px solid #d7dfeb;border-radius:12px}.review-row{padding:13px 0;border-bottom:1px solid #edf0f4}.review-row>div{display:flex;justify-content:space-between;gap:10px}.review-row p{margin:6px 0;color:#687489}@media(max-width:700px){.business-brand{align-items:flex-start;flex-direction:column}.review-form{grid-template-columns:1fr}}

.business-directory-shell,.global-search-shell,.home-feature-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}.business-directory-hero,.search-hero{background:linear-gradient(135deg,#fff,#eef3fb);padding:30px;border-radius:24px;margin-bottom:18px}.business-directory-hero h1,.search-hero h1{font-size:38px;margin:7px 0}.business-filter{display:grid;grid-template-columns:1.4fr repeat(3,1fr) auto;gap:9px;background:#fff;padding:14px;border-radius:16px;box-shadow:0 8px 28px #1b31550d;margin-bottom:20px}.business-filter input,.business-filter select,.global-search-form input{padding:12px 13px;border:1px solid #d7dfeb;border-radius:12px;background:#fff;font:inherit}.business-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.business-directory-card{background:#fff;border-radius:20px;border:1px solid #edf0f4;box-shadow:0 10px 35px #1b31550d;overflow:hidden}.business-card-logo{height:185px;background:#eef3f9;display:grid;place-items:center;text-decoration:none}.business-card-logo img{width:100%;height:100%;object-fit:cover}.business-card-logo span{font-size:60px;font-weight:900;color:#173d75}.business-directory-body{padding:18px}.business-directory-body h2{margin:6px 0}.business-directory-body h2 a{text-decoration:none;color:#172033}.owner-line{font-size:13px;color:#7a8492}.business-directory-body p{color:#687489;line-height:1.5}.business-card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #edf0f4;padding-top:12px}.global-search-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:16px}.search-section{margin-top:28px}.search-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.search-result-card{display:grid;gap:5px;background:#fff;border:1px solid #edf0f4;border-radius:14px;padding:16px;text-decoration:none;color:#172033}.search-result-card span,.search-result-card small{color:#687489}.home-section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.home-section-head h2{margin:5px 0}.featured-business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.featured-business-card{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #edf0f4;border-radius:16px;padding:14px;text-decoration:none;color:#172033}.featured-business-logo{width:70px;height:70px;border-radius:14px;background:#eef3f9;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.featured-business-logo img{width:100%;height:100%;object-fit:cover}.featured-business-card>div:last-child{display:grid;gap:3px}.featured-business-card span,.featured-business-card small{color:#687489}.global-nav-search{display:flex;gap:5px;align-items:center}.global-nav-search input{width:170px;padding:8px 10px;border:1px solid #d7dfeb;border-radius:10px}.global-nav-search button{border:0;background:#eef3fb;border-radius:10px;padding:8px;cursor:pointer}@media(max-width:980px){.business-directory-grid,.featured-business-grid,.search-card-grid{grid-template-columns:repeat(2,1fr)}.business-filter{grid-template-columns:1fr 1fr}.global-nav-search{width:100%}.global-nav-search input{flex:1;width:auto}}@media(max-width:650px){.business-directory-grid,.featured-business-grid,.search-card-grid{grid-template-columns:1fr}.business-filter,.global-search-form{grid-template-columns:1fr}.home-section-head{align-items:flex-start;flex-direction:column}}

.business-utility-actions,.product-utility-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0}.business-utility-actions form,.product-utility-actions form{margin:0}.share-button{border:0;border-radius:12px;padding:12px 14px;background:#b58a2b;color:#fff;font-weight:800;cursor:pointer}.interest-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}.interest-head{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#fff,#eef3fb);padding:28px;border-radius:22px;margin-bottom:18px}.interest-head h1{margin:7px 0}@media(max-width:650px){.interest-head{align-items:flex-start;flex-direction:column}}

.purchase-box{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#f7f9fc;border:1px solid #e5ebf3;border-radius:14px;padding:14px;margin:14px 0}.purchase-box form{display:flex;gap:8px;align-items:end;margin:0}.purchase-box label{font-size:12px;font-weight:700}.purchase-box input{width:90px;padding:11px;border:1px solid #d7dfeb;border-radius:10px}.order-shell{max-width:1100px;margin:34px auto 70px;padding:0 20px}.order-head{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(135deg,#fff,#eef3fb);padding:28px;border-radius:22px;margin-bottom:18px}.order-head h1{margin:7px 0}.order-card{background:#fff;border-radius:18px;padding:20px;box-shadow:0 8px 28px #1b31550d}.cart-row{display:grid;grid-template-columns:1.5fr auto auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0f4}.cart-product{display:flex;gap:12px;align-items:center}.cart-product img{width:68px;height:68px;object-fit:cover;border-radius:10px}.cart-product>div{display:grid;gap:3px}.cart-product small,.cart-product span{color:#687489}.cart-qty{display:flex;gap:6px;align-items:center}.cart-qty input{width:80px;padding:9px;border:1px solid #d7dfeb;border-radius:9px}.cart-total{font-weight:900;color:#173d75}.cart-summary{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff;border-radius:18px;padding:20px;margin-top:15px;box-shadow:0 8px 28px #1b31550d}.cart-summary>div{display:grid}.cart-summary b{font-size:24px;color:#173d75}.order-list{display:grid;gap:10px}.order-row{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff;border-radius:16px;padding:18px;text-decoration:none;color:#172033;box-shadow:0 8px 28px #1b31550d}.order-row>div{display:grid;gap:4px}.order-row span,.order-row small{color:#687489}.order-detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.order-item{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf0f4}.order-item>div{display:grid;gap:4px}.order-item small{color:#687489}.order-grand-total{display:flex;justify-content:space-between;font-size:20px;padding-top:18px}.order-grand-total b{color:#173d75}.status-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:18px}.status-form select{padding:11px;border:1px solid #d7dfeb;border-radius:10px}.payment-bank-box{display:grid;gap:5px;background:#f7f9fc;border:1px solid #e3e9f1;border-radius:14px;padding:14px;margin:12px 0}.payment-bank-box img{width:150px;height:150px;object-fit:contain;background:#fff;border-radius:10px;margin-top:8px}.order-head-actions{display:flex;gap:8px}@media(max-width:800px){.cart-row{grid-template-columns:1fr}.order-detail-grid{grid-template-columns:1fr}.order-row,.cart-summary,.order-head{align-items:flex-start;flex-direction:column}.status-form{grid-template-columns:1fr}}

.payment-bank-box b{color:#173d75}.payment-bank-box span{line-height:1.5}.payment-bank-box img{border:1px solid #e1e7ef;padding:6px}

/* B22 - Payment receipts, history and reconciliation */
.payment-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.receipt-button{background:#b1842e!important}.payment-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}.payment-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#fff,#eef3fb);padding:28px;border-radius:22px;margin-bottom:18px}.payment-hero h1{margin:7px 0}.payment-hero p{margin:0;color:#687489}.payment-table-card{background:#fff;border-radius:18px;padding:14px;box-shadow:0 8px 28px #1b31550d}.payment-table-wrap{overflow-x:auto}.payment-table{width:100%;border-collapse:collapse}.payment-table th,.payment-table td{padding:12px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}.payment-table th{font-size:12px;letter-spacing:.5px;color:#657186;background:#f7f9fc}.payment-table a{color:#173d75;font-weight:800;text-decoration:none}.payment-status{display:inline-block;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#eef2f7;color:#4f5d73}.payment-status.reported{background:#fff4d8;color:#8b6417}.payment-status.paid{background:#eaf8ef;color:#247040}.payment-status.unpaid{background:#fff0f0;color:#9d3333}.receipt-link{color:#9a711f!important}.empty-cell{text-align:center!important;color:#7a8492;padding:30px!important}.reconcile-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.reconcile-summary>div{background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 28px #1b31550d;display:grid;gap:6px}.reconcile-summary span{color:#687489;font-size:13px}.reconcile-summary b{font-size:20px;color:#173d75}.reconcile-filter{display:grid;grid-template-columns:1fr 210px auto auto;gap:9px;background:#fff;padding:14px;border-radius:16px;margin-bottom:16px}.reconcile-filter input,.reconcile-filter select{padding:11px;border:1px solid #d7dfeb;border-radius:10px;font:inherit}@media(max-width:850px){.reconcile-summary{grid-template-columns:1fr 1fr}.reconcile-filter{grid-template-columns:1fr}.payment-hero{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.reconcile-summary{grid-template-columns:1fr}}

/* B23 - verified transaction reviews */
.verified-review-entry{margin:14px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.verified-review-entry small,.review-note{opacity:.75}.review-shell{max-width:980px}.verified-review-card{margin-bottom:18px}.verified-review-card form{display:grid;gap:10px}.verified-review-card select,.verified-review-card textarea{width:100%;padding:12px;border:1px solid #d8dee8;border-radius:10px;background:#fff}.verified-badge{display:inline-block;margin-top:4px;padding:4px 8px;border-radius:999px;background:#eef8f1;font-weight:700}.trust-score{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:999px;background:#fff7df;font-weight:800}.verified-product-reviews .review-row{padding:12px 0;border-bottom:1px solid #edf0f4}.verified-product-reviews .review-row:last-child{border-bottom:0}

/* B24 - Events, QR tickets and check-in */
.event-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}.event-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#fff,#eef3fb);padding:30px;border-radius:24px;margin-bottom:18px}.event-hero h1{margin:6px 0;font-size:38px}.event-hero p{margin:0;color:#687489}.event-search{display:grid;grid-template-columns:1fr auto;gap:9px;background:#fff;padding:13px;border-radius:16px;margin-bottom:18px}.event-search input{padding:12px 14px;border:1px solid #d7dfeb;border-radius:11px;font:inherit}.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.event-card{display:flex;gap:16px;background:#fff;border:1px solid #edf0f4;border-radius:19px;padding:18px;box-shadow:0 9px 30px #1b31550c}.event-date{width:78px;height:78px;flex:0 0 auto;border-radius:16px;background:#173d75;color:#fff;display:grid;place-items:center;align-content:center}.event-date b{font-size:30px;line-height:1}.event-date span{font-size:12px;margin-top:5px}.event-card-body{flex:1}.event-card-body h2{margin:6px 0}.event-card-body h2 a{text-decoration:none;color:#172033}.event-card-body p,.event-card-body small{color:#687489}.event-meta{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edf0f4;padding-top:10px;margin-top:10px;font-size:13px}.event-detail{display:grid;grid-template-columns:1.45fr .55fr;gap:18px}.event-detail-main,.event-action-card{background:#fff;border-radius:22px;padding:28px;box-shadow:0 10px 35px #1b31550d}.event-detail-main h1{font-size:38px;margin:8px 0 22px}.event-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.event-info-grid>div{background:#f7f9fc;border-radius:13px;padding:14px;display:grid;gap:5px}.event-info-grid span,.event-info-grid small{color:#687489}.event-description{white-space:pre-wrap;line-height:1.7;margin-top:22px}.event-action-card{display:flex;flex-direction:column;gap:10px;align-self:start}.event-action-card form{margin:0}.event-action-card hr{width:100%;border:0;border-top:1px solid #edf0f4}.ticket-ok{background:#eaf8ef;color:#247040;border-radius:12px;padding:12px;font-weight:800}.ticket-shell,.checkin-shell{max-width:720px;margin:34px auto 70px;padding:0 20px}.ticket-card,.checkin-card{background:#fff;border-radius:24px;padding:32px;text-align:center;box-shadow:0 14px 46px #1b315514}.ticket-brand{font-weight:900;color:#173d75}.ticket-card h1{letter-spacing:2px}.ticket-card h2{margin-bottom:18px}.ticket-qr{width:250px;height:250px;object-fit:contain;border:1px solid #e2e8f0;border-radius:14px}.ticket-card code{display:block;margin:8px;font-weight:900}.ticket-person,.ticket-event-info{display:grid;gap:5px;margin:16px 0}.ticket-event-info{background:#f7f9fc;padding:14px;border-radius:13px}.ticket-checked{font-size:20px;font-weight:900;color:#247040;border:2px solid #247040;border-radius:12px;padding:10px;margin:12px 0}.event-head-actions,.scan-actions{display:flex;gap:8px;flex-wrap:wrap}.event-head-actions form{margin:0}.scanner-wrap{background:#10151d;border-radius:18px;min-height:280px;overflow:hidden;display:grid;place-items:center;margin:18px 0;color:#fff;position:relative}.scanner-wrap video{width:100%;max-height:400px}.scanner-wrap #scanMsg{position:absolute;bottom:12px;background:#000a;padding:8px 12px;border-radius:10px}.scan-actions{justify-content:center}.checkin-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin:18px 0}.checkin-form input{padding:13px;border:1px solid #d7dfeb;border-radius:11px;font:inherit}.checkin-result{background:#eaf8ef;border-radius:14px;padding:18px;display:grid;gap:5px;margin:14px 0;color:#247040}@media(max-width:800px){.event-grid,.event-detail,.event-info-grid{grid-template-columns:1fr}.event-hero{align-items:flex-start;flex-direction:column}.checkin-form{grid-template-columns:1fr}}@media print{header,footer,.ticket-card button{display:none!important}.ticket-shell{margin:0 auto}.ticket-card{box-shadow:none;border:1px solid #ddd}}

/* B25 - Membership dues, community funds and donations */
.finance-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}.finance-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#fff,#eef3fb);padding:30px;border-radius:24px;margin-bottom:18px}.finance-hero h1{margin:6px 0;font-size:38px}.finance-hero p,.muted{color:#687489}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.finance-summary>div{background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 28px #1b31550d;display:grid;gap:5px}.finance-summary span{font-size:13px;color:#687489}.finance-summary b{font-size:22px;color:#173d75}.finance-grid,.finance-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.finance-card{background:#fff;border-radius:20px;padding:22px;box-shadow:0 9px 30px #1b31550d;margin-bottom:18px}.finance-card h2{margin-top:0}.finance-row{padding:15px 0;border-bottom:1px solid #edf0f4}.finance-row>div{display:grid;gap:4px}.finance-row small,.fund-list small,.simple-list-row small{color:#687489}.finance-row form,.donation-form,.admin-fin-form{display:grid;grid-template-columns:1fr 160px 1fr auto;gap:8px;margin-top:10px}.finance-row input,.finance-row select,.donation-form input,.donation-form select,.donation-form textarea,.admin-fin-form input,.admin-fin-form textarea{padding:11px;border:1px solid #d7dfeb;border-radius:10px;font:inherit}.donation-form,.admin-fin-form{grid-template-columns:1fr}.fund-list,.simple-list-row{display:grid;gap:8px}.fund-list>div,.simple-list-row{padding:11px 0;border-bottom:1px solid #edf0f4}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.receipt-grid>div{background:#f7f9fc;border-radius:12px;padding:12px;display:grid;gap:4px}.receipt-grid span{color:#687489;font-size:12px}.finance-receipt .ticket-qr{margin:14px auto}@media(max-width:850px){.finance-grid,.finance-admin-grid,.finance-summary{grid-template-columns:1fr}.finance-hero{align-items:flex-start;flex-direction:column}.finance-row form{grid-template-columns:1fr}.receipt-grid{grid-template-columns:1fr}}@media print{.finance-receipt .scan-actions,header,footer{display:none!important}}


/* B26 - Organization structure, terms and appointments */
.org-shell{max-width:1180px;margin:34px auto 70px;padding:0 20px}.org-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#fff,#eef3fb);padding:30px;border-radius:24px;margin-bottom:18px}.org-hero h1{font-size:38px;margin:7px 0}.org-hero p{margin:0;color:#687489}.org-term-filter{display:flex;align-items:center;gap:12px;background:#fff;padding:14px 18px;border-radius:16px;margin-bottom:16px}.org-term-filter select{padding:11px 13px;border:1px solid #d7dfeb;border-radius:11px;background:#fff}.org-term-banner,.org-unit,.org-form-card,.org-manage-section{background:#fff;border-radius:20px;padding:22px;box-shadow:0 9px 30px #1b31550d;margin-bottom:18px}.org-term-banner{display:grid;gap:5px}.org-term-banner b{font-size:22px;color:#173d75}.org-term-banner span,.org-term-banner p{color:#687489}.org-unit-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #edf0f4;margin-bottom:16px;padding-bottom:12px}.org-unit-head h2{margin:4px 0}.org-unit-head p{max-width:600px;color:#687489;margin:0}.org-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.org-person{display:flex;gap:13px;border:1px solid #e8edf4;border-radius:16px;padding:15px;background:#fbfcfe}.org-avatar{width:66px;height:66px;border-radius:50%;overflow:hidden;background:#e7eef8;display:grid;place-items:center;text-decoration:none;flex:0 0 auto}.org-avatar img{width:100%;height:100%;object-fit:cover}.org-avatar span{font-size:27px;font-weight:900;color:#173d75}.org-person h3{margin:5px 0}.org-person p,.org-person small{color:#687489}.org-position{color:#b17818;font-size:13px}.org-history{background:#fff;border-radius:18px;padding:18px}.org-history summary{font-weight:800;cursor:pointer}.org-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.org-form-card h2{margin-top:0}.org-form-card form{display:grid;gap:9px}.org-form-card input,.org-form-card select,.org-form-card textarea{padding:12px;border:1px solid #d7dfeb;border-radius:10px;font:inherit;background:#fff}.org-form-card textarea{min-height:82px}.org-form-card.emphasis{border:2px solid #e6c878}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px}.org-chip-wrap{display:flex;gap:8px;flex-wrap:wrap}.org-chip{display:flex;gap:6px;align-items:center;background:#f4f7fb;border-radius:999px;padding:8px 12px}.org-chip form{display:inline}.org-chip button{border:0;background:none;color:#a23d3d;cursor:pointer;font-weight:700}@media(max-width:900px){.org-grid,.org-admin-grid{grid-template-columns:1fr}.org-hero,.org-unit-head{flex-direction:column}.two-col{grid-template-columns:1fr}}

/* B26.2 - Nhà riêng Giáo hạt */
.deanery-logo{width:112px;height:112px;border-radius:24px;object-fit:cover;background:#fff;padding:5px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.deanery-hero-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.deanery-hero-stats span,.deanery-link-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.84rem}
.deanery-columns{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(260px,.75fr);gap:22px;align-items:start}.deanery-main,.deanery-side{min-width:0}.deanery-side{position:sticky;top:90px}
.announcement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.announcement-card{background:#fff;border:1px solid #e6e9ef;border-left:5px solid #97a2b4;border-radius:16px;padding:16px;box-shadow:0 7px 24px rgba(20,32,55,.06)}.announcement-card.priority-important{border-left-color:#e99518}.announcement-card.priority-urgent{border-left-color:#c53535}.announcement-card small{display:block;color:#667085;margin-top:4px}.announcement-card h3{margin:10px 0 6px}.announcement-card p{white-space:pre-wrap;margin:0}
.deanery-member-list{display:flex;flex-direction:column;gap:5px}.deanery-member-list>a{display:flex;gap:10px;align-items:center;padding:9px;border-radius:12px;text-decoration:none;color:inherit}.deanery-member-list>a:hover{background:#f4f6fa}.deanery-member-list small{display:block;color:#667085}.reg-mini{border-top:1px solid #e9edf3;padding:12px 0}.reg-mini:first-child{border-top:0}.reg-mini small{display:block;color:#667085;margin:4px 0 7px}.event-grid.compact{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
@media(max-width:980px){.deanery-columns{grid-template-columns:1fr}.deanery-side{position:static}}


/* B27 - Lời nguyện DNCG trong ngày */
body.prayer-open{overflow:hidden}.prayer-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 50% 16%,rgba(238,205,117,.22),transparent 34%),linear-gradient(145deg,rgba(6,20,45,.97),rgba(20,48,83,.96));backdrop-filter:blur(7px)}.prayer-overlay.show{display:flex;animation:prayerFade .5s ease}.prayer-modal{position:relative;overflow:hidden;width:min(760px,96vw);max-height:94vh;overflow-y:auto;padding:34px 42px 30px;border:1px solid rgba(224,188,102,.55);border-radius:28px;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.985),rgba(248,244,232,.985));box-shadow:0 32px 100px rgba(0,0,0,.42),inset 0 0 0 5px rgba(255,255,255,.45)}.prayer-glow{position:absolute;top:-100px;left:50%;width:360px;height:230px;transform:translateX(-50%);background:radial-gradient(circle,rgba(223,185,82,.28),transparent 68%);pointer-events:none}.prayer-cross{position:relative;font-size:52px;line-height:1;color:#bd8a26;text-shadow:0 4px 18px rgba(189,138,38,.24);margin-bottom:10px}.prayer-cross.large{font-size:64px}.prayer-kicker{display:block;font-size:12px;font-weight:900;letter-spacing:2.2px;color:#996f1e}.prayer-modal h2,.daily-prayer-card h1{margin:9px 0 5px;color:#15355f;font-family:Georgia,'Times New Roman',serif;font-size:31px}.prayer-date{margin:0 0 12px;color:#778196;font-weight:700}.prayer-reading-ref{display:inline-block;margin:7px auto 12px;padding:9px 14px;border-radius:999px;background:#173d75;color:#fff;font-weight:800;font-size:14px}.prayer-modal blockquote,.daily-prayer-card blockquote{margin:12px 0 16px;padding:15px 20px;border-left:4px solid #c89a3c;border-radius:0 12px 12px 0;background:#fff9e9;color:#594619;font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.55;font-style:italic;text-align:left}.prayer-reflection,.prayer-text,.business-blessing{text-align:left;padding:14px 17px;margin:10px 0;border-radius:15px}.prayer-reflection{background:#f2f6fb;border:1px solid #e0e8f2}.prayer-text{background:#fff;border:1px solid #e9dfc4}.business-blessing{background:linear-gradient(135deg,#fff6d9,#f7ecd0);border:1px solid #e5cb86}.prayer-reflection b,.prayer-text b,.business-blessing b{display:block;color:#173d75;margin-bottom:5px}.prayer-reflection p,.prayer-text p,.business-blessing p{margin:0;white-space:pre-wrap;line-height:1.62;color:#354158}.prayer-amen{margin-top:14px;padding:14px 25px;border:0;border-radius:999px;background:linear-gradient(135deg,#173d75,#245b9f);box-shadow:0 10px 24px rgba(23,61,117,.25);color:#fff;font:800 14px Segoe UI,Arial;letter-spacing:.8px;cursor:pointer}.prayer-amen:hover{transform:translateY(-1px)}.prayer-note{display:block;margin-top:13px;color:#8c7746}.daily-prayer-page{max-width:900px;margin:42px auto 70px;padding:0 20px}.daily-prayer-card{position:relative;overflow:hidden;text-align:center;background:linear-gradient(180deg,#fff,#fbf7ea);border:1px solid #ead8a8;border-radius:28px;padding:45px;box-shadow:0 18px 60px rgba(26,45,79,.13)}.prayer-page-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}.prayer-admin-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.prayer-editor{display:grid;gap:11px}.prayer-editor label{display:grid;gap:6px;font-weight:700;color:#344158}.prayer-editor input,.prayer-editor textarea,.prayer-editor select{width:100%;padding:11px 12px;border:1px solid #d7dfeb;border-radius:10px;font:inherit;background:#fff}.prayer-editor textarea{resize:vertical;line-height:1.5}.prayer-admin-list{display:grid;gap:8px;max-height:740px;overflow:auto}.prayer-admin-list a{display:grid;gap:3px;padding:12px;border:1px solid #e6ebf2;border-radius:12px;text-decoration:none;color:#273449}.prayer-admin-list a:hover{background:#f6f8fb}.prayer-admin-list small{color:#6b7688}@keyframes prayerFade{from{opacity:0}to{opacity:1}}@media(max-width:800px){.prayer-modal{padding:26px 20px 22px}.prayer-modal h2,.daily-prayer-card h1{font-size:26px}.prayer-admin-grid{grid-template-columns:1fr}.daily-prayer-card{padding:28px 20px}.prayer-modal blockquote,.daily-prayer-card blockquote{font-size:16px}}

/* B30.2 - Hướng dẫn sử dụng & Contact */
.help-shell,.contact-shell{max-width:1180px;margin:36px auto 70px;padding:0 20px}.help-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px;border-radius:24px;background:linear-gradient(135deg,#fff,#eef4fb);margin-bottom:18px}.help-hero h1,.contact-card h1{margin:6px 0 8px;color:#173d75;font-size:36px}.help-hero p,.contact-lead{color:#687489;line-height:1.65}.eyebrow{font-size:12px;font-weight:900;letter-spacing:1.8px;color:#a7771c}.help-icon{font-size:54px}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.help-card{background:#fff;border:1px solid #e6ebf2;border-radius:18px;padding:20px;box-shadow:0 8px 28px rgba(27,49,85,.06)}.help-card.owner{border-top:4px solid #b58a2b;background:linear-gradient(180deg,#fff,#fffaf0)}.help-card h2{margin:0 0 8px;color:#173d75;font-size:19px}.help-card p{margin:0;color:#596579;line-height:1.65}.help-card a{color:#1f5ca7;font-weight:700}.contact-card{max-width:820px;margin:0 auto;padding:38px;border-radius:28px;background:linear-gradient(180deg,#fff,#fbf7ea);border:1px solid #ead8a8;box-shadow:0 18px 60px rgba(26,45,79,.13);text-align:center}.contact-cross{font-size:52px;color:#b58a2b}.contact-list{display:grid;gap:10px;text-align:left;margin:24px 0}.contact-list>div{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:14px 16px;background:#fff;border:1px solid #e6ebf2;border-radius:14px}.contact-list span{color:#687489}.contact-list a{color:#173d75;text-decoration:none}.contact-note{margin:18px 0;padding:15px 17px;text-align:left;background:#fff6d9;border:1px solid #e5cb86;border-radius:14px;color:#5b4a23}.contact-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.primary-btn,.secondary-btn{display:inline-block;padding:12px 17px;border-radius:12px;text-decoration:none;font-weight:800}.primary-btn{background:#173d75;color:#fff}.secondary-btn{background:#eef3fb;color:#173d75}.site-footer{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.footer-links{display:flex;gap:8px;align-items:center}.footer-links a{color:inherit;font-weight:700}@media(max-width:760px){.help-grid{grid-template-columns:1fr}.help-hero{align-items:flex-start}.help-icon{font-size:40px}.contact-card{padding:26px 18px}.contact-list>div{grid-template-columns:1fr;gap:4px}.help-hero h1,.contact-card h1{font-size:28px}}

/* B30.4 - Nhận diện Trang chủ DNCG Hà Tĩnh */
.identity-hero{position:relative;overflow:hidden;border-radius:0 0 34px 34px;min-height:500px;background:linear-gradient(135deg,#0c2942,#123f63 55%,#6f5320);background-image:linear-gradient(90deg,rgba(7,27,43,.92),rgba(12,47,73,.74),rgba(52,40,15,.62)),var(--hero-cover,none);background-size:cover;background-position:center;color:#fff;margin:-24px -24px 28px;padding:70px 34px 48px}.identity-shade{position:absolute;inset:0;background:radial-gradient(circle at 77% 25%,rgba(235,193,87,.18),transparent 28%);pointer-events:none}.identity-inner{position:relative;z-index:1;max-width:1220px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:36px;align-items:center}.identity-title-row{display:flex;align-items:center;gap:20px;margin:16px 0}.identity-logo{width:108px;height:108px;object-fit:contain;border-radius:24px;background:rgba(255,255,255,.96);padding:8px;box-sizing:border-box;box-shadow:0 12px 34px rgba(0,0,0,.25)}.identity-logo.fallback{display:grid;place-items:center;color:#d7aa42;font-size:56px}.identity-copy h1{font-size:clamp(36px,5vw,66px);line-height:1.02;margin:0;letter-spacing:-1.2px;color:#fff}.identity-motto{font-size:20px;font-weight:800;color:#f0c864;margin:8px 0 0}.identity-intro{max-width:810px;font-size:18px;line-height:1.7;color:#edf5fa}.identity-actions{display:flex;gap:10px;flex-wrap:wrap}.button.ghost.light{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.08)}.button.ghost.light:hover{background:rgba(255,255,255,.16)}.identity-prayer-card{background:rgba(7,23,37,.66);backdrop-filter:blur(8px);border:1px solid rgba(238,199,91,.45);border-radius:24px;padding:28px;text-align:center;box-shadow:0 20px 55px rgba(0,0,0,.22)}.identity-prayer-card .identity-cross{font-size:54px;color:#efc65e}.identity-prayer-card b{font-family:Georgia,serif;font-size:23px;color:#f5d77d}.identity-prayer-card p{line-height:1.7;color:#e7eef3}.identity-prayer-card a{color:#f7d77c;font-weight:800;text-decoration:none}.home-stats-strip{max-width:1180px;margin:-58px auto 34px;position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:20px;box-shadow:0 14px 40px rgba(16,48,72,.14);overflow:hidden;border:1px solid #e2e8ed}.home-stats-strip div{text-align:center;padding:18px 12px;border-right:1px solid #e7edf1}.home-stats-strip div:last-child{border:0}.home-stats-strip strong{display:block;font-size:30px;color:#173f60}.home-stats-strip span{font-size:13px;color:#677d8d;font-weight:700}.quick-identity-links{grid-template-columns:repeat(6,1fr)}.quick-identity-links a{text-align:center}.spiritual-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.spiritual-guide-card{display:flex;gap:16px;align-items:center;padding:20px;border-radius:18px;background:linear-gradient(135deg,#fffdf6,#f5f9fc);border:1px solid #e3e8eb}.guide-avatar{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#173f60;color:#e8c45e;font-size:34px;flex:none}.guide-avatar img{width:100%;height:100%;object-fit:cover}.spiritual-guide-card span{font-size:11px;letter-spacing:1px;color:#9a7625;font-weight:900}.spiritual-guide-card h3{margin:4px 0;color:#153d5d}.spiritual-guide-card p,.spiritual-guide-card small{margin:2px 0;color:#657887}.deanery-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.deanery-home-card{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid #e0e8ed;border-radius:16px;text-decoration:none;background:#fff;color:#173d5c;transition:.18s ease}.deanery-home-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(22,61,92,.09)}.deanery-home-card img,.deanery-mark{width:54px;height:54px;border-radius:12px;object-fit:contain;background:#f3f7f9;display:grid;place-items:center;font-size:26px;flex:none}.deanery-home-card div{display:grid;gap:3px}.deanery-home-card small{color:#6c8190}.deanery-home-card span{font-size:12px;color:#98711d}.empty-home-note{color:#778a98;padding:12px}
@media(max-width:1000px){.identity-inner{grid-template-columns:1fr}.identity-prayer-card{max-width:560px}.quick-identity-links{grid-template-columns:repeat(3,1fr)}.deanery-home-grid{grid-template-columns:repeat(2,1fr)}.spiritual-guide-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.identity-hero{margin:-16px -12px 24px;padding:48px 18px 52px}.identity-title-row{align-items:flex-start}.identity-logo{width:76px;height:76px;border-radius:17px}.identity-copy h1{font-size:34px}.identity-motto{font-size:16px}.home-stats-strip{grid-template-columns:1fr 1fr;margin:-48px 8px 28px}.home-stats-strip div:nth-child(2){border-right:0}.quick-identity-links,.deanery-home-grid,.spiritual-guide-grid{grid-template-columns:1fr}.identity-actions{flex-direction:column}.identity-actions .button{text-align:center}}

/* B30.5.6 - Responsive UI / menu chuyên nghiệp / thanh cuộn đầy đủ */
html{width:100%;min-height:100%;overflow-y:scroll;scroll-behavior:smooth}
body{width:100%;min-width:0;overflow-x:auto;-webkit-text-size-adjust:100%}
main,header,footer,section,article,aside,div,form{min-width:0}
img,video,canvas,svg{max-width:100%}
input,select,textarea,button{max-width:100%}
pre,code{max-width:100%;overflow-x:auto}

.topbar{
  gap:18px;
  padding:10px clamp(12px,3vw,42px);
  background:rgba(255,255,255,.97);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid #e5eaf1;
}
.brand{flex:0 0 auto;transition:transform .18s ease,filter .18s ease}
.brand:hover{transform:translateY(-1px);filter:saturate(1.08)}
.brand-mark{box-shadow:0 7px 18px rgba(23,61,117,.20)}

.main-nav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  padding:6px 4px 10px;
  scrollbar-width:thin;
  scrollbar-color:#8b9bb0 #eef2f7;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.main-nav::-webkit-scrollbar,.responsive-table::-webkit-scrollbar{height:10px;width:10px}
.main-nav::-webkit-scrollbar-track,.responsive-table::-webkit-scrollbar-track{background:#eef2f7;border-radius:999px}
.main-nav::-webkit-scrollbar-thumb,.responsive-table::-webkit-scrollbar-thumb{background:#91a0b3;border:2px solid #eef2f7;border-radius:999px}
.main-nav::-webkit-scrollbar-thumb:hover,.responsive-table::-webkit-scrollbar-thumb:hover{background:#64768d}
.main-nav>a,.main-nav .nav-badge-link,.main-nav .user-chip{
  flex:0 0 auto;
  white-space:nowrap;
}
.main-nav>a{
  padding:10px 12px;
  color:#2d3b50;
  border:1px solid transparent;
  border-radius:11px;
  font-weight:650;
  transition:transform .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.main-nav>a:hover,.main-nav>a:focus-visible{
  transform:translateY(-2px);
  background:#e6edf7;
  color:#102f5a;
  border-color:#d3deec;
  box-shadow:0 6px 15px rgba(23,61,117,.12);
  outline:none;
}
.main-nav>a:active{transform:translateY(0);background:#dce6f3;box-shadow:0 2px 8px rgba(23,61,117,.10)}
.main-nav>a.primary:hover{background:#102f5a!important;color:#fff!important}
.main-nav .user-chip{border:1px solid #dbe5f1;box-shadow:0 3px 10px rgba(23,61,117,.07)}
.global-nav-search{flex:0 0 auto;display:flex;align-items:center;gap:5px;min-width:220px;margin:0}
.global-nav-search input{width:180px;min-width:120px;padding:9px 10px;border:1px solid #d5deea;border-radius:10px;font:inherit}
.global-nav-search button{padding:9px 11px;border:0;border-radius:10px;background:#173d75;color:#fff;cursor:pointer;transition:.16s ease}
.global-nav-search button:hover{transform:translateY(-1px);background:#102f5a;box-shadow:0 5px 12px rgba(23,61,117,.16)}

.nav-toggle{display:none;border:1px solid #d5deea;background:#f2f6fb;color:#173d75;border-radius:11px;padding:10px 13px;font:700 15px Segoe UI,Arial,sans-serif;cursor:pointer;box-shadow:0 4px 12px rgba(23,61,117,.08)}
.nav-toggle:hover{background:#e4edf8;transform:translateY(-1px)}

/* Mọi bảng rộng đều có khung cuộn ngang rõ ràng thay vì bị cắt trên iPad/điện thoại. */
.responsive-table{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;margin:10px 0 16px;padding-bottom:5px;scrollbar-width:thin;scrollbar-color:#8b9bb0 #eef2f7;-webkit-overflow-scrolling:touch}
.responsive-table>table{width:100%;min-width:680px;border-collapse:collapse}
.responsive-table th,.responsive-table td{vertical-align:top}

/* Các dải nút/hành động dài có thể co dòng thay vì tràn màn hình. */
.actions,.form-actions,.owner-actions,.chat-header-actions,.contact-actions,.prayer-page-actions,.identity-actions{flex-wrap:wrap}

@media(max-width:1100px){
  .topbar{padding-inline:16px}
  .brand b{font-size:14px}.brand small{font-size:10px;letter-spacing:2px}
  .main-nav>a{padding:9px 10px;font-size:14px}
  .global-nav-search{min-width:180px}.global-nav-search input{width:145px}
}

@media(max-width:900px){
  .topbar{position:sticky;top:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px}
  .brand{min-width:0}.brand>span:last-child{min-width:0}.brand b{display:block;white-space:normal;line-height:1.15}.brand small{white-space:nowrap}
  .nav-toggle{display:inline-flex;align-items:center;gap:7px;justify-self:end}
  .main-nav{
    display:none;
    grid-column:1/-1;
    width:100%;
    max-height:min(62vh,520px);
    overflow:auto;
    padding:10px;
    background:#f8fafc;
    border:1px solid #dce4ee;
    border-radius:14px;
    box-shadow:0 14px 34px rgba(21,41,75,.13);
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    scrollbar-width:thin;
  }
  .main-nav.open{display:grid}
  .main-nav>a,.main-nav .nav-badge-link,.main-nav .user-chip{width:100%;white-space:normal;min-height:43px;display:flex;align-items:center}
  .main-nav>a:hover,.main-nav>a:focus-visible{transform:translateY(-1px)}
  .global-nav-search{grid-column:1/-1;width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;margin-top:3px}
  .global-nav-search input{width:100%;min-width:0}
}

@media(max-width:560px){
  .topbar{padding:8px 10px}
  .brand-mark{width:39px;height:39px;border-radius:12px;font-size:22px}
  .brand b{font-size:12.5px}.brand small{font-size:9px}
  .nav-toggle{padding:9px 10px}.nav-toggle span{display:none}
  .main-nav{grid-template-columns:1fr;max-height:68vh;padding:8px}
  .main-nav>a,.main-nav .nav-badge-link,.main-nav .user-chip{font-size:14px;padding:10px}
  .responsive-table>table{min-width:620px}
  .page,.auth-card,.contact-card,.daily-prayer-card{max-width:calc(100vw - 20px)}
}

@media(hover:none){
  .main-nav>a:hover,.brand:hover,.global-nav-search button:hover,.nav-toggle:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* B30.5.7 - Chia sẻ địa chỉ cộng đồng + QR */
.share-access-shell{max-width:1120px;margin:32px auto;padding:0 18px}.share-access-card{background:#fff;border:1px solid rgba(20,53,85,.12);border-radius:24px;padding:30px;box-shadow:0 18px 46px rgba(10,34,58,.10);text-align:center}.share-access-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#173b5d;color:#f2cf76;font-size:29px;box-shadow:0 9px 22px rgba(23,59,93,.18)}.share-access-card h1{margin:8px 0 9px;color:#173b5d}.share-access-lead{max-width:720px;margin:0 auto 22px;color:#526474}.share-access-warning{text-align:left;background:#fff8df;border:1px solid #ead18a;border-radius:14px;padding:13px 15px;margin:0 auto 20px;max-width:900px;color:#705719;overflow-wrap:anywhere}.share-access-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:20px;align-items:stretch}.share-url-panel,.share-qr-panel{border:1px solid #d9e2ea;border-radius:18px;padding:22px;background:#f9fbfd;text-align:left}.share-qr-panel{text-align:center}.share-url-panel h2,.share-qr-panel h2{margin-top:0;color:#173b5d}.share-url-box{padding:15px;border-radius:12px;background:#eef4f8;border:1px solid #cbdbe7;font-weight:800;color:#173b5d;overflow-wrap:anywhere;word-break:break-word}.share-action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.share-action-row.centered{justify-content:center}.share-tip{font-size:.94rem;color:#667784}.share-qr-frame{display:inline-flex;padding:12px;background:#fff;border:1px solid #d7e0e7;border-radius:18px;box-shadow:0 8px 22px rgba(10,34,58,.08)}.share-qr-frame img{width:min(280px,70vw);height:auto;display:block}.share-qr-caption{font-weight:800;color:#173b5d;margin-top:10px}.share-use-cases{margin-top:22px;text-align:left}.share-use-cases h2{text-align:center;color:#173b5d}.share-use-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.share-use-grid>div{padding:15px;border-radius:14px;background:#f7fafc;border:1px solid #e0e8ee}.share-use-grid b,.share-use-grid span{display:block}.share-use-grid span{margin-top:6px;color:#647482;font-size:.92rem}
@media(max-width:850px){.share-access-grid{grid-template-columns:1fr}.share-use-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.share-access-card{padding:22px}}
@media(max-width:520px){.share-access-shell{padding:0 10px;margin:16px auto}.share-access-card{padding:17px;border-radius:18px}.share-url-panel,.share-qr-panel{padding:16px}.share-action-row>*{width:100%;text-align:center}.share-use-grid{grid-template-columns:1fr}}
@media print{header.topbar,.site-footer,.share-url-panel,.share-use-cases,.share-access-warning,.share-action-row{display:none!important}.share-access-shell,.share-access-card,.share-qr-panel{margin:0;padding:0;border:0;box-shadow:none}.share-qr-frame img{width:320px}.share-access-card h1,.share-access-lead{display:block}}


/* B30.5.8 - QR thành viên, thẻ đeo, RSVP và hộp thư góp ý */
.member-card-shell,.badge-page,.feedback-shell{max-width:1180px;margin:28px auto;padding:0 18px}.member-card-actions,.badge-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.member-badge{background:#fff;border:2px solid #d6e0ea;border-radius:18px;overflow:hidden;box-shadow:0 9px 24px rgba(18,52,84,.10);break-inside:avoid}.member-badge.single{max-width:520px;margin:0 auto}.badge-head{background:linear-gradient(135deg,#173d75,#24548e);color:#f4d679;text-align:center;font-weight:900;letter-spacing:.8px;padding:13px}.badge-body{padding:18px;text-align:center}.badge-name{font-size:1.45rem;font-weight:900;color:#173d75}.badge-company{font-weight:800;margin:5px 0 10px}.badge-meta{display:grid;gap:5px;text-align:left;margin:10px 0}.member-qr{width:150px;height:150px;object-fit:contain;display:block;margin:10px auto 4px}.rsvp-form textarea{width:100%;margin:8px 0;border:1px solid #d5deea;border-radius:10px;padding:10px}.rsvp-buttons{display:flex;gap:8px;flex-wrap:wrap}.rsvp-no{background:#f6f7f9;border:1px solid #d9dee5;border-radius:10px;padding:10px;font-weight:800;color:#5f6873}.feedback-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.feedback-card,.feedback-history{background:#fff;border:1px solid #dce4ec;border-radius:20px;padding:24px;box-shadow:0 10px 28px rgba(17,49,79,.08)}.feedback-card.wide{grid-column:1/-1}.feedback-form{display:grid;gap:12px}.feedback-form label{display:grid;gap:6px;font-weight:700}.feedback-form input,.feedback-form select,.feedback-form textarea,.feedback-reply input,.feedback-reply select{width:100%;padding:10px;border:1px solid #ced9e5;border-radius:10px;font:inherit}.feedback-anon{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.feedback-anon input{width:auto}.feedback-history article,.feedback-admin-list article{border:1px solid #e0e7ee;border-radius:14px;padding:14px;margin:10px 0}.feedback-response{background:#f1f6fb;border-left:4px solid #2d5d91;padding:10px;margin:10px 0}.feedback-admin-head{display:flex;justify-content:space-between;gap:10px}.feedback-reply{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:8px;margin-top:10px}
@media(max-width:800px){.badge-grid,.feedback-shell{grid-template-columns:1fr}.feedback-reply{grid-template-columns:1fr}.member-card-shell,.badge-page,.feedback-shell{padding:0 10px}}
@media print{.topbar,.site-footer,.badge-toolbar,.member-card-actions{display:none!important}.badge-page,.member-card-shell{margin:0;padding:0;max-width:none}.badge-grid{grid-template-columns:repeat(2,1fr);gap:8mm}.member-badge{box-shadow:none;border:1px solid #666;border-radius:6px;page-break-inside:avoid}.badge-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}.member-badge.single{max-width:90mm}.member-qr{width:35mm;height:35mm}}


/* B30.5.9 - Thu moi + chia se vi tri */
.invitation-page{max-width:900px;margin:26px auto;padding:0 14px}.formal-invitation{background:#fff;border:1px solid #d9dee8;border-radius:22px;padding:clamp(22px,5vw,54px);box-shadow:0 18px 55px rgba(25,45,80,.10);text-align:center}.formal-invitation header{border-bottom:1px solid #e8ebf1;padding-bottom:20px;margin-bottom:24px}.invitation-cross{font-size:30px}.invitation-org{font-weight:800;letter-spacing:.08em}.invitation-patron{font-size:.9rem;opacity:.7;margin:5px 0 14px}.formal-invitation h1{font-family:Georgia,serif;letter-spacing:.08em;margin:8px 0}.invitee{font-size:1.08rem;line-height:1.6}.invitee strong{font-size:1.55rem;font-family:Georgia,serif}.letter-body{text-align:left;line-height:1.75;margin:24px auto;max-width:680px}.invite-event-box{display:grid;gap:8px;background:#f7f9fc;border-radius:16px;padding:18px;margin:24px auto;max-width:680px}.invitation-qr img{width:160px;height:160px;object-fit:contain}.invitation-qr small{display:block}.invitation-compose textarea{line-height:1.55}.notice-card{padding:14px 16px;background:#f5f8fc;border:1px solid #dce5ef;border-radius:12px}.share-location-shell{max-width:760px;margin:30px auto;padding:0 14px}.share-location-card{background:#fff;border:1px solid #dde3eb;border-radius:22px;padding:clamp(22px,5vw,42px);box-shadow:0 14px 42px rgba(30,50,80,.08);text-align:center}.location-icon{font-size:54px}.location-result{margin-top:22px;text-align:left}.location-result input{width:100%}.location-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}@media(max-width:720px){.location-row{grid-template-columns:1fr}.formal-invitation{border-radius:14px;padding:20px}.invitee strong{font-size:1.3rem}}@media print{.no-print,.site-header,.site-footer,.flash-wrap{display:none!important}.invitation-page{margin:0;max-width:none}.formal-invitation{box-shadow:none;border:none;padding:12mm}}

/* B30.6 - Dashboard tổ chức sự kiện */
.organizer-dashboard{display:grid;gap:18px}.organizer-dashboard-head{align-items:flex-start}.event-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:12px}.event-kpi{background:linear-gradient(180deg,#fff,#f7f8fb);border:1px solid rgba(25,45,75,.12);border-radius:16px;padding:16px;box-shadow:0 7px 22px rgba(25,45,75,.07);min-height:116px}.event-kpi span{display:block;font-weight:700;color:#4b5563;font-size:.91rem}.event-kpi strong{display:block;font-size:2rem;line-height:1.1;margin:9px 0 5px;color:#17233b}.event-kpi small{color:#6b7280}.event-kpi-good{background:linear-gradient(180deg,#fff,#f0fbf5)}.event-kpi-warn{background:linear-gradient(180deg,#fff,#fff8e8)}.event-kpi-present{background:linear-gradient(180deg,#fff,#edf7ff)}.event-kpi-muted{background:linear-gradient(180deg,#fff,#fafafa)}.organizer-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:16px}.organizer-card{background:#fff;border:1px solid rgba(25,45,75,.12);border-radius:18px;padding:18px;box-shadow:0 8px 26px rgba(25,45,75,.07);min-width:0}.organizer-card h2{margin:4px 0 14px;font-size:1.18rem}.organizer-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.planning-pill{display:inline-flex;white-space:nowrap;border-radius:999px;background:#eef3fb;padding:7px 11px;font-size:.82rem;font-weight:700;color:#334d72}.logistics-grid{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:12px}.logistics-grid>div{padding:15px;border-radius:14px;background:#f7f9fc;border:1px solid rgba(25,45,75,.08)}.logistics-grid span,.logistics-grid small{display:block}.logistics-grid span{font-weight:700;color:#536177}.logistics-grid strong{display:block;font-size:1.8rem;margin:5px 0;color:#17233b}.logistics-grid small{color:#6b7280}.capacity-meter{margin-top:16px}.capacity-meter-line{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.capacity-meter progress{width:100%;height:12px}.planning-form{display:grid;gap:12px}.planning-two-col{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px}.planning-form label{display:grid;gap:5px;font-weight:700;color:#39475c}.planning-form label small{font-weight:400;color:#6b7280}.planning-form input,.planning-form textarea{width:100%;box-sizing:border-box;border:1px solid #ccd4df;border-radius:10px;padding:10px 11px;background:#fff;color:#17233b}.organizer-list-card{overflow:hidden}.organizer-table{min-width:850px}.dash-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.82rem;font-weight:700;background:#eef1f5;color:#4b5563}.dash-status.yes{background:#eaf8ef;color:#17653a}.dash-status.present{background:#e7f4ff;color:#175f91}.dash-status.no{background:#f8eeee;color:#8a3434}.dash-status.waiting{background:#fff5d9;color:#7b5a08}.dash-status.opened{background:#eef0ff;color:#454c9b}@media(max-width:1180px){.event-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.organizer-grid{grid-template-columns:1fr}.event-kpi-grid{grid-template-columns:repeat(2,1fr)}.organizer-card-title{flex-direction:column}.planning-two-col{grid-template-columns:1fr 1fr}}@media(max-width:520px){.event-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.event-kpi{padding:12px;min-height:98px}.event-kpi strong{font-size:1.55rem}.planning-two-col{grid-template-columns:1fr}.logistics-grid{grid-template-columns:1fr 1fr}.organizer-card{padding:13px}}

/* B30.6.1 · Nhà riêng kiểu hồ sơ mạng xã hội thu gọn */
.social-profile-shell{max-width:1180px}
.social-cover{height:clamp(230px,34vw,390px);border-radius:24px 24px 0 0;background-color:#244f7f;background-size:cover;background-position:center;box-shadow:0 10px 28px rgba(17,42,71,.12);position:relative}
.social-cover.cover-empty{background-image:linear-gradient(135deg,#244f7f 0%,#376ea5 48%,#6c8fb1 100%)}
.social-cover .cover-overlay{background:linear-gradient(to top,rgba(8,25,44,.56),rgba(8,25,44,.04) 62%)}
.cover-empty-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:rgba(255,255,255,.88);text-shadow:0 1px 4px rgba(0,0,0,.25);z-index:1}
.cover-empty-message span{font-size:42px}.cover-empty-message b{font-size:15px}
.cover-edit-form{position:absolute;right:18px;bottom:18px;z-index:3;margin:0}
.cover-edit-button{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);color:#173c5e;border:1px solid rgba(255,255,255,.85);border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.18);backdrop-filter:blur(8px);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.cover-edit-button:hover{transform:translateY(-2px);background:#fff;box-shadow:0 9px 24px rgba(0,0,0,.24)}
.cover-edit-button:active{transform:translateY(0)}
@media(max-width:800px){.social-cover{height:clamp(210px,54vw,300px);border-radius:18px 18px 0 0}.cover-edit-form{right:10px;bottom:10px}.cover-edit-button{padding:9px 11px}.cover-edit-button span{display:none}}
@media(max-width:480px){.profile-shell.social-profile-shell{padding:0 8px;margin-top:14px}.social-cover{height:210px}.cover-edit-button{border-radius:50%;width:42px;height:42px;padding:0;justify-content:center}}

/* B30.6.2 · Hồ sơ thành viên mạng xã hội thu gọn: avatar + nhận diện + tabs */
.social-profile-card{padding-top:0;overflow:visible}
.social-profile-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:end;margin-top:-68px;position:relative;z-index:4;padding:0 4px 18px;border-bottom:1px solid #e8edf3}
.social-avatar-wrap{position:relative;width:max-content}.social-avatar{width:156px;height:156px;border-width:6px;box-shadow:0 10px 30px rgba(19,46,74,.22)}
.avatar-edit-form{position:absolute;right:6px;bottom:8px}.avatar-edit-form label{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #d9e1e9;box-shadow:0 5px 14px rgba(0,0,0,.18);cursor:pointer;font-size:18px;transition:.18s ease}.avatar-edit-form label:hover{transform:translateY(-2px);background:#edf4fb}
.social-profile-identity{min-width:0;padding-bottom:4px}.social-profile-identity h1{font-size:clamp(28px,3.3vw,42px);line-height:1.05;margin:0 0 8px;color:#173c5e;letter-spacing:-.5px}.social-profession-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:16px;color:#5c6f80}.social-profession-line strong{color:#263f58}.deanery-profile-chip{display:inline-flex;align-items:center;gap:6px;margin-top:9px;padding:7px 11px;border-radius:999px;background:#edf4fa;color:#174d78;text-decoration:none;font-size:13px;font-weight:800;border:1px solid #dce8f2}.deanery-profile-chip:hover{background:#e0edf7}.muted-chip{color:#708090;background:#f4f6f8}.compact-social-stats{justify-content:flex-start;margin:11px 0 0;gap:18px}.social-profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-bottom:5px}.social-profile-actions form{margin:0}.social-profile-actions .report-link{font-size:13px}
.profile-tabs{display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:thin;padding:10px 0 0;margin:0 0 18px;border-bottom:1px solid #e5ebf1;position:sticky;top:62px;background:#fff;z-index:3}.profile-tab{appearance:none;border:0;background:transparent;padding:13px 18px 12px;border-radius:12px 12px 0 0;font:inherit;font-weight:800;color:#617282;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;transition:.18s ease}.profile-tab:hover{background:#f0f5f9;color:#244e72;transform:translateY(-1px)}.profile-tab.active{color:#173d75;background:#eef5fb;border-bottom-color:#2e6b9f}.profile-tab-panels{min-width:0}.profile-tab-panel{animation:profileFade .18s ease}.profile-tab-panel[hidden]{display:none!important}@keyframes profileFade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.tab-post-list{max-width:780px;margin:0 auto}.profile-post-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.profile-post-media-grid img{width:100%;height:260px;object-fit:cover;border-radius:12px}.profile-post-media-grid img:only-child{grid-column:1/-1;height:auto;max-height:520px}.profile-empty-state{padding:30px;text-align:center;border:1px dashed #ccd8e3;border-radius:16px;background:#f8fafc;color:#718090}.profile-empty-state.wide{grid-column:1/-1}
.profile-about-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.social-info-box{margin:0;min-width:0}.social-info-box h3{margin-top:0;color:#173d75}.social-info-box a{color:#1d5d91;text-decoration:none}.social-business-card,.social-products-block,.social-reviews-card{margin-top:18px}
.profile-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.profile-photo-item{display:block;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#eef2f6}.profile-photo-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.profile-photo-item:hover img{transform:scale(1.035)}
.activity-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.activity-stat{background:linear-gradient(180deg,#fff,#f4f8fb);border:1px solid #dde6ee;border-radius:16px;padding:18px;text-align:center}.activity-stat span{font-size:25px}.activity-stat strong{display:block;font-size:30px;color:#173d75;margin:4px 0}.activity-stat small{color:#718090;font-weight:700}.profile-activity-card{background:#fff;border:1px solid #e0e7ee;border-radius:18px;padding:18px}.profile-activity-card h2{margin-top:0}.profile-activity-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 4px;border-top:1px solid #eef2f5;text-decoration:none;color:#233b52}.profile-activity-row:first-of-type{border-top:0}.profile-activity-row:hover{background:#f7fafc}.activity-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#edf4fa}.profile-activity-row div{display:grid;gap:3px}.profile-activity-row small{color:#748494}.profile-activity-row em{font-style:normal;font-size:12px;font-weight:800;color:#17653a;background:#eaf8ef;padding:6px 8px;border-radius:999px;white-space:nowrap}
@media(max-width:940px){.social-profile-head{grid-template-columns:auto 1fr;margin-top:-55px}.social-profile-actions{grid-column:1/-1;justify-content:flex-start;padding-left:136px}.social-avatar{width:126px;height:126px}.profile-about-layout{grid-template-columns:1fr 1fr}.profile-photo-grid{grid-template-columns:repeat(3,1fr)}.activity-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.social-profile-card{padding-left:16px;padding-right:16px}.social-profile-head{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:-62px;gap:10px}.social-avatar{width:124px;height:124px}.social-profile-identity{display:flex;flex-direction:column;align-items:center}.social-profession-line{justify-content:center}.compact-social-stats{justify-content:center}.social-profile-actions{padding-left:0;justify-content:center}.profile-tabs{top:55px;margin-left:-16px;margin-right:-16px;padding-left:10px;padding-right:10px}.profile-about-layout{grid-template-columns:1fr}.profile-photo-grid{grid-template-columns:repeat(2,1fr)}.profile-post-media-grid img{height:190px}.profile-activity-row{grid-template-columns:auto minmax(0,1fr)}.profile-activity-row em{grid-column:2}}
@media(max-width:440px){.social-profile-card{padding-left:10px;padding-right:10px}.social-avatar{width:112px;height:112px}.social-profile-identity h1{font-size:27px}.compact-social-stats{gap:10px;font-size:13px}.profile-tab{padding:11px 13px}.activity-summary-grid{gap:8px}.activity-stat{padding:12px}.activity-stat strong{font-size:24px}.profile-photo-grid{gap:5px}.profile-photo-item{border-radius:9px}.profile-post-media-grid{grid-template-columns:1fr}.profile-post-media-grid img{height:auto;max-height:420px}.profile-tabs{margin-left:-10px;margin-right:-10px}}

/* B30.6.3 - Trình soạn bài trên Nhà riêng */
.profile-composer{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dfe8f0;border-radius:18px;padding:16px;margin:2px 0 22px;box-shadow:0 8px 24px rgba(28,56,85,.07)}
.profile-composer-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.composer-avatar{width:46px;height:46px}.profile-composer textarea{width:100%;resize:vertical;min-height:58px;border:1px solid #e1e8ee;background:#f4f7f9;border-radius:16px;padding:13px 15px;font:inherit;line-height:1.45;outline:none}.profile-composer textarea:focus{background:#fff;border-color:#9bbbd5;box-shadow:0 0 0 3px rgba(58,113,157,.1)}
.composer-extra-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.composer-extra-fields label{font-size:12px;font-weight:800;color:#536779}.composer-extra-fields input,.composer-extra-fields select{display:block;width:100%;margin-top:5px;border:1px solid #dfe6ec;border-radius:10px;padding:9px 10px;background:#fff;color:#31485c}
.profile-composer-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:10px;border-top:1px solid #edf1f4}.composer-action{border:0;background:#eef4f8;color:#28506f;border-radius:11px;padding:9px 12px;font:inherit;font-weight:800;cursor:pointer;transition:.18s ease}.composer-action:hover{background:#dfeaf2;transform:translateY(-1px)}.composer-action:disabled{opacity:.65;cursor:wait}.composer-submit{margin-left:auto}.composer-hint{font-size:12px;color:#7a8996}.composer-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0}.composer-preview img{width:100%;height:115px;object-fit:cover;border-radius:10px;border:1px solid #e2e8ed}.post-context-line{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 9px;font-size:13px;color:#617487}.post-context-line span{background:#f2f6f9;border-radius:999px;padding:5px 9px}
@media(max-width:760px){.composer-extra-fields{grid-template-columns:1fr}.composer-preview{grid-template-columns:repeat(2,1fr)}.composer-preview img{height:130px}.composer-submit{margin-left:0}}
@media(max-width:440px){.profile-composer{padding:11px;border-radius:14px}.profile-composer-top{grid-template-columns:1fr}.profile-composer-top .composer-avatar{display:none}.profile-composer-actions{gap:6px}.composer-action,.composer-submit{flex:1 1 auto;text-align:center}.composer-hint{width:100%}.composer-preview img{height:105px}}

/* B30.6.4 - thao tác bài viết + quyền riêng tư */
.post-owner-tools{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.post-owner-tools a,.post-owner-tools button{border:0;background:transparent;color:#526170;font:inherit;font-weight:700;padding:7px 9px;border-radius:9px;cursor:pointer;text-decoration:none}.post-owner-tools a:hover,.post-owner-tools button:hover{background:#eef3f6;color:#173d50}.post-owner-tools form{margin:0}.post-actions{flex-wrap:wrap}.post-actions form{margin:0}.post-actions button{cursor:pointer}.single-post-shell{width:min(820px,calc(100% - 24px));margin:28px auto 48px}.single-post-card{padding:18px}.post-edit-shell{width:min(900px,calc(100% - 24px));margin:26px auto}.post-edit-existing img{display:block;max-width:360px;max-height:260px;object-fit:cover;border-radius:14px;margin-top:8px}.post-edit-media{margin:14px 0}.edit-media-item{position:relative}.edit-media-item form{position:absolute;right:7px;bottom:7px}.edit-media-item button{border:0;border-radius:8px;padding:6px 8px;background:rgba(30,30,30,.78);color:#fff}.saved-posts-shell{width:min(1100px,calc(100% - 24px));margin:26px auto}.saved-post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.saved-post-card{padding:16px}.saved-post-card p{white-space:pre-line}.card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card-actions form{margin:0}.composer-extra-fields select{min-width:180px}
@media(max-width:700px){.post-owner-tools{width:100%;justify-content:flex-end}.single-post-shell,.post-edit-shell,.saved-posts-shell{width:min(100% - 14px,100%);margin-top:12px}.post-actions button{padding:9px 10px}.post-edit-existing img{max-width:100%}}
/* B30.6.5 - mentions, hashtags, share destinations */
.social-mention,.social-hashtag{font-weight:700;text-decoration:none}.social-mention:hover,.social-hashtag:hover{text-decoration:underline}.shared-post-preview{margin:10px 0;padding:12px 14px;border:1px solid rgba(100,116,139,.25);border-radius:12px;background:rgba(148,163,184,.08)}.post-share-destination{display:inline-flex;align-items:center;padding:7px 10px;border-radius:9px;text-decoration:none;font-size:.92rem}.post-share-destination:hover{transform:translateY(-1px);background:rgba(15,23,42,.08)}.mention-suggest{position:absolute;z-index:1000;min-width:260px;max-width:min(92vw,420px);background:#fff;border:1px solid #d9dee8;border-radius:12px;box-shadow:0 14px 35px rgba(15,23,42,.16);overflow:hidden}.mention-suggest button{display:flex;width:100%;gap:10px;align-items:center;border:0;background:#fff;padding:10px 12px;text-align:left}.mention-suggest button:hover{background:#eef2f7}.mention-suggest small{display:block;opacity:.7}@media (max-width:640px){.post-share-destination{padding:9px 10px}.shared-post-preview{font-size:.94rem}}

/* B30.6.6 - Trung tâm thông báo mạng xã hội */
.nav-badge.notification-red{
  background:#c62828;
  color:#fff;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 2px 8px rgba(198,40,40,.32);
  min-width:20px;
  height:20px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.72rem;
  font-weight:800;
  padding:0 5px;
}
.social-notification-center{max-width:980px;margin:0 auto;}
.notification-head-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;}
.notification-filter-bar{display:flex;gap:8px;overflow-x:auto;padding:8px 2px 14px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;}
.notification-filter-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid #d8dee8;background:#fff;color:#263238;border-radius:999px;padding:8px 12px;text-decoration:none;font-weight:700;font-size:.9rem;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease;}
.notification-filter-chip:hover{transform:translateY(-1px);background:#eef3f8;box-shadow:0 4px 12px rgba(22,38,55,.10);}
.notification-filter-chip.active{background:#18364d;color:#fff;border-color:#18364d;}
.notification-filter-chip span{display:inline-flex;min-width:21px;height:21px;align-items:center;justify-content:center;border-radius:999px;background:rgba(0,0,0,.08);padding:0 5px;font-size:.74rem;}
.notification-filter-chip.active span{background:rgba(255,255,255,.18);}
.notification-mode-note{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#fff7e6;border:1px solid #f1d59b;color:#674f1e;}
.notification-mode-note a{font-weight:700;}
.notification-row-card{display:flex;align-items:stretch;border:1px solid #e3e7ed;background:#fff;border-radius:14px;margin:9px 0;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;}
.notification-row-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(24,54,77,.09);border-color:#cbd5df;}
.notification-row-card.unread{background:#f3f8ff;border-left:4px solid #2563a8;}
.notification-main-link{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0;padding:14px;text-decoration:none;color:inherit;}
.notification-avatar{flex:0 0 auto;}
.notification-main{min-width:0;}
.notification-main p{margin:4px 0 5px;line-height:1.45;}
.notification-actor{display:block;color:#546574;margin-top:2px;}
.notification-row-actions{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px;padding:10px 12px;border-left:1px solid #edf0f3;}
.notification-kind{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#667783;}
.notification-read-button{border:0;background:#edf3f8;color:#24485e;border-radius:8px;padding:6px 9px;font-weight:700;cursor:pointer;}
.notification-read-button:hover{background:#dce8f1;}
.new-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d32f2f;margin-left:6px;box-shadow:0 0 0 3px rgba(211,47,47,.10);}
@media (max-width:700px){
  .notifications-head{align-items:flex-start;}
  .notification-head-actions{justify-content:flex-start;width:100%;}
  .notification-row-card{position:relative;}
  .notification-main-link{padding:12px 10px;}
  .notification-row-actions{padding:8px;border-left:0;justify-content:flex-start;}
  .notification-kind{display:none;}
  .notification-read-button{font-size:.78rem;padding:6px 7px;}
}

/* B30.6.7 - Tìm bạn & gợi ý kết nối */
.connection-shell{width:min(1180px,calc(100% - 24px));margin:26px auto 50px}.connection-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#f7fbff,#edf5fb);border:1px solid #dbe7f0}.connection-hero h1{margin:5px 0 7px;color:#173d5f;font-size:clamp(28px,3.4vw,42px)}.connection-hero p{margin:0;color:#607386;max-width:760px}.connection-search{margin:16px 0 10px}.connection-note{padding:11px 13px;border-radius:12px;background:#fff8e8;border:1px solid #eed7a3;color:#635126;font-size:.9rem;margin-bottom:14px}.connection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(315px,1fr));gap:14px}.connection-card{background:#fff;border:1px solid #e0e7ed;border-radius:18px;padding:15px;box-shadow:0 7px 22px rgba(28,56,85,.06);transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}.connection-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(28,56,85,.11);border-color:#c8d8e5}.connection-card-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.connection-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#214e72,#347ba7);color:#fff;text-decoration:none;font-size:25px;font-weight:900}.connection-avatar img{width:100%;height:100%;object-fit:cover}.connection-person{min-width:0;display:flex;flex-direction:column;gap:2px}.connection-name{font-size:1.08rem;font-weight:900;color:#173d5f;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection-person strong{font-size:.92rem;color:#344d61;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection-person small{color:#73818e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection-score{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eaf4fb;color:#17527c;font-weight:900;border:1px solid #cfe1ee}.connection-address,.connection-bio{margin:10px 0 0;color:#617080;font-size:.9rem;line-height:1.45}.connection-bio{min-height:39px}.connection-reasons{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 9px}.connection-reasons span{font-size:.76rem;font-weight:800;padding:6px 9px;border-radius:999px;background:#eef5fa;color:#24516f;border:1px solid #dce9f2}.connection-stats{font-size:.82rem;color:#768491;margin-bottom:11px}.connection-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:11px;border-top:1px solid #edf1f4}.connection-actions form{margin:0}.connection-actions .button,.connection-actions .follow-button,.connection-actions .message-button{font-size:.84rem}.connection-actions .button{padding:8px 10px}
@media(max-width:720px){.connection-shell{width:min(100% - 12px,100%);margin-top:10px}.connection-hero{align-items:flex-start;flex-direction:column;padding:16px}.connection-grid{grid-template-columns:1fr}.connection-actions>a,.connection-actions>form{flex:1 1 auto}.connection-actions form button,.connection-actions>a{width:100%;text-align:center;justify-content:center}.connection-search{display:flex;flex-wrap:wrap}.connection-search input{flex:1 1 100%}.connection-search .button{flex:1 1 auto}}

/* B30.6.8 - Người theo dõi / Đang theo dõi */
.social-stat-link{color:inherit;text-decoration:none;padding:4px 2px;border-radius:8px}.social-stat-link:hover{color:#174f79;text-decoration:underline}.relationship-shell{width:min(1050px,calc(100% - 24px));margin:26px auto 50px}.relationship-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;border:1px solid #dde8f0;border-radius:20px;background:linear-gradient(135deg,#f7fbff,#eef6fb)}.relationship-profile-mini{display:flex;align-items:center;gap:14px;min-width:0}.relationship-profile-avatar,.relationship-avatar{overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#214e72,#347ba7);color:#fff;text-decoration:none;font-weight:900;flex:0 0 auto}.relationship-profile-avatar{width:68px;height:68px;border-radius:50%;font-size:26px}.relationship-avatar{width:72px;height:72px;border-radius:50%;font-size:27px}.relationship-profile-avatar img,.relationship-avatar img{width:100%;height:100%;object-fit:cover}.relationship-hero h1{margin:4px 0 4px;color:#173d5f;font-size:clamp(27px,3vw,38px)}.relationship-hero p{margin:0;color:#657789}.relationship-search{display:flex;gap:8px;align-items:center;margin:15px 0}.relationship-search input{flex:1;min-width:0}.relationship-grid{display:grid;gap:11px}.relationship-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;background:#fff;border:1px solid #e1e8ee;border-radius:17px;box-shadow:0 5px 18px rgba(30,57,82,.05)}.relationship-card:hover{border-color:#c9dbe8;box-shadow:0 9px 24px rgba(30,57,82,.09)}.relationship-main{min-width:0;display:flex;flex-direction:column;gap:2px}.relationship-name{font-size:1.08rem;font-weight:900;color:#183e60;text-decoration:none}.relationship-main strong{color:#41576b;font-size:.91rem}.relationship-main span,.relationship-main small{color:#71808d;font-size:.84rem}.relationship-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.relationship-actions form{margin:0}.relationship-actions .button,.relationship-actions .follow-button,.relationship-actions .message-button{font-size:.82rem;padding:8px 10px}
@media(max-width:720px){.relationship-hero{align-items:flex-start;flex-direction:column}.relationship-search{align-items:stretch;flex-wrap:wrap}.relationship-search input{flex-basis:100%}.relationship-card{grid-template-columns:auto minmax(0,1fr)}.relationship-actions{grid-column:1/-1;justify-content:flex-start;padding-left:86px}}
@media(max-width:460px){.relationship-shell{width:min(100% - 14px,1050px)}.relationship-card{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:11px}.relationship-avatar{width:58px;height:58px}.relationship-actions{padding-left:68px}.relationship-actions .button,.relationship-actions .follow-button,.relationship-actions .message-button{font-size:.78rem;padding:7px 8px}}


/* B30.6.9 - Trạng thái hoạt động & liên hệ nhanh */
.member-presence{display:inline-flex;align-items:center;gap:7px;margin-top:8px;font-size:.9rem;color:#64748b}.member-presence .presence-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.14)}.member-presence.online{color:#15803d;font-weight:700}.member-presence.online .presence-dot{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.16)}
.quick-contact-bar{display:flex;flex-wrap:wrap;gap:9px;padding:14px 18px;border-top:1px solid #e8edf4;border-bottom:1px solid #e8edf4;background:#fbfdff}.quick-contact-btn{appearance:none;border:1px solid #d9e2ee;background:#fff;color:#1f2937;border-radius:12px;padding:9px 12px;display:inline-flex;align-items:center;gap:7px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.quick-contact-btn:hover{transform:translateY(-2px);background:#f1f5f9;box-shadow:0 5px 14px rgba(15,23,42,.08)}
.member-qr-card{margin:14px 18px;padding:16px;border:1px solid #dce5ef;border-radius:16px;background:#fff;display:flex;align-items:center;gap:18px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.member-qr-card[hidden]{display:none}.member-qr-card img{width:155px;height:155px;object-fit:contain;background:#fff;border-radius:10px}.member-qr-card p{margin:.35rem 0 .8rem;color:#64748b}.privacy-setting-card{border:1px solid #dce5ef;border-radius:14px;padding:14px;background:#fbfdff}.privacy-setting-card h3{margin:0 0 10px}.check-setting{display:flex!important;align-items:flex-start;gap:10px;margin:10px 0}.check-setting input{width:18px;height:18px;margin-top:2px}.check-setting span{display:flex;flex-direction:column;gap:3px}.check-setting small{color:#64748b;font-weight:400}
@media(max-width:700px){.quick-contact-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.quick-contact-btn{justify-content:center}.member-qr-card{margin:12px;flex-direction:column;text-align:center}.member-qr-card img{width:180px;height:180px}}

/* B30.7 - Danh bạ Doanh nhân Công giáo thông minh */
.smart-directory-shell{max-width:1220px;margin:28px auto;padding:0 16px}.smart-directory-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;background:linear-gradient(135deg,#173d75,#2d6199);color:#fff;border-radius:24px;padding:clamp(22px,4vw,38px);box-shadow:0 14px 34px rgba(23,61,117,.16)}.smart-directory-hero h1{margin:7px 0;font-size:clamp(1.6rem,3vw,2.35rem)}.smart-directory-hero p{margin:0;max-width:760px;color:rgba(255,255,255,.88)}.smart-directory-hero .eyebrow{color:#f0d175}.smart-directory-hero .button.ghost{background:rgba(255,255,255,.13);color:#fff;border-color:rgba(255,255,255,.34);white-space:nowrap}.smart-directory-filter{background:#fff;border:1px solid #dce4ee;border-radius:20px;padding:18px;margin:18px 0;box-shadow:0 9px 28px rgba(25,55,90,.07)}.smart-search-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.smart-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.smart-directory-filter label{display:grid;gap:6px;font-weight:700;color:#334b67}.smart-directory-filter label span{font-size:.88rem}.smart-directory-filter input,.smart-directory-filter select{width:100%;box-sizing:border-box;border:1px solid #cfd9e5;border-radius:11px;padding:11px 12px;background:#fff;font:inherit;color:#20344e}.smart-filter-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.directory-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 2px}.view-switcher{display:flex;background:#eef3f8;border-radius:12px;padding:3px}.view-switcher a{padding:8px 12px;border-radius:9px;text-decoration:none;color:#40546e;font-weight:800}.view-switcher a.active{background:#fff;color:#173d75;box-shadow:0 2px 8px rgba(20,45,75,.10)}.smart-member-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.smart-member-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;background:#fff;border:1px solid #dce4ec;border-radius:18px;padding:16px;box-shadow:0 8px 23px rgba(21,51,84,.07);transition:transform .16s ease,box-shadow .16s ease}.smart-member-card:hover{transform:translateY(-2px);box-shadow:0 12px 29px rgba(21,51,84,.11)}.smart-member-avatar{width:86px;height:86px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#2d6199,#7f9cba);display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-size:2rem;font-weight:900}.smart-member-avatar img{width:100%;height:100%;object-fit:cover}.smart-member-heading{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.smart-member-name{font-size:1.08rem;font-weight:900;color:#173d75;text-decoration:none}.smart-company{font-weight:800;margin-top:2px;color:#273c55}.follower-pill{white-space:nowrap;background:#eef4fa;color:#49627f;border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:800}.smart-member-meta{display:grid;gap:4px;margin:9px 0;color:#52647a;font-size:.9rem}.smart-member-bio{color:#5c6876;font-size:.9rem;line-height:1.45;margin:8px 0}.smart-member-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.smart-member-actions .button,.smart-member-actions .follow-button{padding:7px 9px;font-size:.82rem}.smart-member-actions form{margin:0}.smart-member-results.is-list{grid-template-columns:1fr}.smart-member-results.is-list .smart-member-card{grid-template-columns:72px minmax(0,1fr);align-items:center}.smart-member-results.is-list .smart-member-avatar{width:72px;height:72px}.smart-member-results.is-list .smart-member-body{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(260px,1.4fr) auto;gap:12px;align-items:center}.smart-member-results.is-list .smart-member-heading{display:block}.smart-member-results.is-list .follower-pill{display:inline-flex;margin-top:5px}.smart-member-results.is-list .smart-member-bio{display:none}.smart-member-results.is-list .smart-member-actions{justify-content:flex-end;margin:0}.directory-empty{grid-column:1/-1;text-align:center;background:#fff;border:1px dashed #cbd8e5;border-radius:20px;padding:48px 20px;color:#56687c}.directory-empty>div{font-size:46px}.directory-empty h2{color:#243d5a}
@media(max-width:1050px){.smart-filter-grid{grid-template-columns:repeat(2,1fr)}.smart-member-results{grid-template-columns:repeat(2,minmax(0,1fr))}.smart-member-results.is-list .smart-member-body{grid-template-columns:1fr auto}.smart-member-results.is-list .smart-member-meta{grid-column:1/-1}.smart-member-results.is-list .smart-member-actions{grid-column:2;grid-row:1}}
@media(max-width:700px){.smart-directory-shell{padding:0 10px}.smart-directory-hero{align-items:flex-start;flex-direction:column;border-radius:18px}.smart-search-main,.smart-filter-grid{grid-template-columns:1fr}.smart-member-results{grid-template-columns:1fr}.directory-toolbar{align-items:flex-start;flex-direction:column}.smart-member-card,.smart-member-results.is-list .smart-member-card{grid-template-columns:66px minmax(0,1fr);padding:12px}.smart-member-avatar,.smart-member-results.is-list .smart-member-avatar{width:66px;height:66px}.smart-member-results.is-list .smart-member-body{display:block}.smart-member-results.is-list .smart-member-actions{justify-content:flex-start;margin-top:10px}.smart-member-meta{font-size:.86rem}.smart-directory-filter{padding:13px}}

/* B30.7.1 - Danh bạ doanh nghiệp theo ngành nghề */
.business-sector-directory{max-width:1240px}.sector-hero{display:flex;justify-content:space-between;align-items:center;gap:20px}.sector-total{min-width:130px;text-align:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);border-radius:18px;padding:14px 18px}.sector-total b,.sector-total span{display:block}.sector-total b{font-size:2rem;color:#f4d77a}.sector-total span{font-size:.86rem;color:rgba(255,255,255,.86)}.sector-strip-wrap{margin:18px 0;overflow:hidden}.sector-strip{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 10px;scrollbar-width:thin;scroll-snap-type:x proximity}.sector-chip{min-width:126px;max-width:190px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:7px;padding:11px 12px;background:#fff;border:1px solid #dce5ed;border-radius:15px;text-decoration:none;color:#28445f;box-shadow:0 5px 15px rgba(20,50,80,.05);scroll-snap-align:start;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.sector-chip:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(20,50,80,.10);border-color:#b7cede}.sector-chip.active{background:#173d75;color:#fff;border-color:#173d75}.sector-chip .sector-icon{font-size:1.45rem}.sector-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sector-chip small{border-radius:999px;background:#eef4f8;color:#4b657d;padding:3px 6px;font-weight:800}.sector-chip.active small{background:rgba(255,255,255,.16);color:#fff}.sector-filter{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) minmax(190px,1fr) minmax(150px,.7fr) auto auto;gap:9px;align-items:center}.sector-filter>*{min-width:0}.sector-result-head{display:flex;justify-content:space-between;gap:14px;align-items:end;margin:20px 2px 12px}.sector-result-head h2{margin:2px 0 0;color:#183d5e}.sector-result-head>b{color:#607287}.sector-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sector-business-card{height:100%}.sector-business-meta{display:grid;gap:3px;margin:10px 0}.sector-business-meta p{margin:0;color:#566a7d;font-size:.9rem}.sector-services{color:#4e5f70;line-height:1.5}.sector-card-footer{align-items:flex-end;gap:10px;flex-wrap:wrap}.sector-quick-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.sector-quick-actions .button{padding:7px 9px;font-size:.8rem}.business-location-card{padding:14px;border:1px solid #dce5ef;border-radius:14px;background:#fbfdff}.business-location-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.form-help{margin:4px 0 9px;color:#64748b;font-size:.88rem}.business-location-card small{display:block;margin-top:7px;color:#6b7b8a}
@media(max-width:1050px){.sector-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.sector-business-grid{grid-template-columns:1fr}.business-location-row{grid-template-columns:1fr 1fr}.business-location-row .button{grid-column:1/-1}}
@media(max-width:700px){.sector-hero{align-items:flex-start;flex-direction:column}.sector-total{min-width:0;width:100%;box-sizing:border-box;display:flex;gap:8px;justify-content:center;align-items:baseline}.sector-total b,.sector-total span{display:inline}.sector-filter{grid-template-columns:1fr}.sector-result-head{align-items:flex-start;flex-direction:column}.sector-chip{min-width:116px}.sector-quick-actions{justify-content:flex-start}.business-location-row{grid-template-columns:1fr}}


/* B18.6 - Hồ sơ: chỉ giữ nút Chỉnh sửa hồ sơ, ẩn toàn bộ điều khiển thay ảnh nhanh trên ảnh bìa */
.cover-edit-form,
.cover-native-form,
.cover-file-picker,
.cover-save-button,
#coverQuickForm,
#coverQuickButton,
#coverQuickFile {
    display: none !important;
}


/* Quản trị Quy chế hoạt động */
.regulation-admin{max-width:1180px;margin:0 auto}
.regulation-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#26384b}
.regulation-form input,.regulation-form select,.regulation-form textarea{width:100%;box-sizing:border-box;border:1px solid #d7e0e8;border-radius:12px;padding:11px 12px;background:#fff;font:inherit;color:#1f2d3d}
.regulation-form textarea{resize:vertical;line-height:1.65}
.regulation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.regulation-create{margin:20px 0 26px}
.regulation-editor{margin-bottom:16px}
.regulation-editor-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.regulation-editor details{margin-top:12px}
.regulation-editor summary{cursor:pointer;font-weight:800;color:#174b7a;padding:8px 0}
.status-pill{display:inline-flex;white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:800}
.status-active{background:#e6f7ee;color:#147044}.status-draft{background:#fff4d6;color:#8a5c00}.status-archived{background:#eef1f4;color:#66717c}
.form-actions{display:flex;gap:10px;margin-top:12px}.danger-button{border:1px solid #d7a4a4;background:#fff;color:#9d2929;border-radius:10px;padding:9px 13px;font-weight:800;cursor:pointer;margin-top:10px}
@media(max-width:700px){.regulation-grid{grid-template-columns:1fr}.regulation-editor-head{flex-direction:column}.status-pill{align-self:flex-start}}

/* Cơ cấu mục vụ: phân cấp rõ ràng, ảnh tròn thống nhất */
.leadership-public{display:grid;gap:22px;margin-bottom:22px}
.leadership-level{background:#fff;border-radius:22px;padding:24px;box-shadow:0 9px 30px #1b31550d}
.leadership-level-title{text-align:center;margin-bottom:18px}
.leadership-level-title small{color:#a67820;font-weight:800;letter-spacing:.1em}
.leadership-level-title h2{margin:6px 0}
.bishop-card{max-width:760px;margin:auto;display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;padding:24px;border:1px solid #ead9aa;border-radius:22px;background:linear-gradient(135deg,#fffdf8,#f7f0df)}
.bishop-photo{width:150px;height:150px;border-radius:50%;overflow:hidden;background:#e8eef7;display:grid;place-items:center;border:5px solid #d5b25f;box-shadow:0 8px 24px #0002}
.bishop-photo img,.leadership-photo img{width:100%;height:100%;object-fit:cover}
.bishop-photo span{font-size:52px;color:#a67820}.bishop-card h2{margin:5px 0}.bishop-motto{font-style:italic;color:#8a661e}
.leadership-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.leadership-card{text-align:center;padding:20px;border:1px solid #e8edf4;border-radius:18px;background:#fbfcfe}
.leadership-photo{width:104px;height:104px;margin:0 auto 12px;border-radius:50%;overflow:hidden;background:#e8eef7;display:grid;place-items:center;border:3px solid #d7b867}
.leadership-photo span{font-size:36px;color:#173d75}
.leadership-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
.leadership-form{display:grid;gap:10px}.leadership-form input,.leadership-form select,.leadership-form textarea{padding:12px;border:1px solid #d7dfeb;border-radius:10px;font:inherit}
.leadership-list{display:grid;gap:10px}.leadership-row{display:grid;grid-template-columns:74px 1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid #e8edf4;border-radius:16px}.leadership-row .leadership-photo{width:70px;height:70px;margin:0}.leadership-info h3{margin:4px 0}.leadership-info p{margin:0;color:#687489}
@media(max-width:800px){.leadership-admin-grid,.leadership-cards{grid-template-columns:1fr}.bishop-card{grid-template-columns:1fr;text-align:center}.bishop-photo{margin:auto}.leadership-row{grid-template-columns:64px 1fr}.leadership-row form{grid-column:1/-1}.leadership-row .leadership-photo{width:60px;height:60px}}

/* Chỉnh sửa Linh hướng & Ban điều hành */
.leadership-actions,.table-actions,.edit-form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.leadership-actions form,.table-actions form{margin:0}
.small-action-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:0;border-radius:10px;background:#173d75;color:#fff!important;text-decoration:none;font-weight:800;cursor:pointer}
.danger-action{background:#8d2d32}
.secondary-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:12px;background:#edf1f7;color:#173d75!important;text-decoration:none;font-weight:800}
.edit-entity-form{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.edit-entity-form label{display:grid;gap:6px;font-weight:700}
.edit-entity-form input,.edit-entity-form select,.edit-entity-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d7dfeb;border-radius:10px;font:inherit}
.edit-entity-form .full-row{grid-column:1/-1}
.edit-photo-preview{grid-column:1/-1;width:120px;height:120px;border-radius:50%;overflow:hidden;border:4px solid #d7b867;background:#e8eef7;display:grid;place-items:center;margin:0 auto 8px}
.edit-photo-preview img{width:100%;height:100%;object-fit:cover}.edit-photo-preview span{font-size:42px;color:#173d75}
@media(max-width:700px){.edit-entity-form{grid-template-columns:1fr}.edit-entity-form .full-row,.edit-photo-preview{grid-column:1}}


/* =========================================================
   B19 - MOBILE COMMUNITY APP
   Giao diện điện thoại ưu tiên tương tác cộng đồng.
   Desktop giữ nguyên.
   ========================================================= */
.mobile-app-header,
.mobile-bottom-nav,
.mobile-community-home,
.mobile-feed-heading{display:none}

@media (max-width: 768px){
  html{scroll-behavior:smooth}
  body{background:#f5f6f8;padding-top:70px;padding-bottom:78px}
  body > .topbar{display:none}
  .site-footer{display:none}
  main{width:100%;max-width:none;margin:0;padding:0}

  .mobile-app-header{
    display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr 1fr;
    align-items:center;position:fixed;top:0;left:0;right:0;height:68px;
    background:rgba(255,255,255,.98);border-bottom:1px solid #e4e6eb;
    z-index:1200;padding:0 12px;box-sizing:border-box;
    box-shadow:0 1px 8px rgba(20,30,55,.06)
  }
  .mobile-icon-btn{
    position:relative;display:flex;align-items:center;justify-content:center;
    min-height:48px;font-size:25px;color:#7a2bbd;text-decoration:none
  }
  .mobile-icon-btn.mobile-highlight{font-size:28px}
  .mobile-plus{position:absolute;font-size:17px;margin:22px 0 0 21px;background:#fff;border-radius:50%}
  .mobile-app-logo{
    justify-self:center;width:48px;height:48px;border-radius:50%;display:grid;
    place-items:center;background:radial-gradient(circle,#fff 35%,#f6e4ff 36%,#7631bf 100%);
    color:#522090;text-decoration:none;border:1px solid #ddd;line-height:1
  }
  .mobile-app-logo span{font-size:18px}.mobile-app-logo small{font-size:8px;font-weight:900}
  .mobile-count{
    position:absolute;top:4px;right:3px;min-width:19px;height:19px;padding:0 4px;
    border-radius:999px;background:#ff3845;color:#fff;font-size:11px;display:grid;place-items:center;
    box-sizing:border-box
  }

  .mobile-bottom-nav{
    display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;
    height:72px;background:rgba(255,255,255,.98);border-top:1px solid #dedfe3;
    z-index:1200;padding-bottom:max(4px,env(safe-area-inset-bottom))
  }
  .mobile-bottom-nav a{
    position:relative;text-decoration:none;color:#8a8f98;display:flex;flex-direction:column;
    justify-content:center;align-items:center;gap:3px;font-weight:700
  }
  .mobile-bottom-nav a span{font-size:27px;line-height:1;color:#7d2bbd}
  .mobile-bottom-nav a small{font-size:11px}
  .mobile-bottom-nav .bottom-count{top:6px;right:18%}

  .mobile-community-home{display:block;background:#fff;margin-bottom:8px}
  .mobile-story-strip{
    display:flex;gap:12px;overflow-x:auto;padding:14px 14px 10px;scrollbar-width:none;
    border-bottom:1px solid #eceef2
  }
  .mobile-story-strip::-webkit-scrollbar,.mobile-suggestion-track::-webkit-scrollbar{display:none}
  .mobile-story-card{flex:0 0 88px;text-decoration:none;color:#15171a;text-align:center;font-size:12px}
  .story-circle{
    width:82px;height:82px;border-radius:24px;border:2px solid #7b31c3;display:grid;place-items:center;
    background:#fff;font-size:30px;margin:0 auto 7px;overflow:hidden
  }
  .prayer-story{background:linear-gradient(145deg,#0a4a38,#e6c45c);color:#fff}
  .mobile-story-card b{display:block;line-height:1.25;font-weight:700}

  .mobile-quick-actions{
    display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:18px 12px;
    border-bottom:1px solid #eceef2
  }
  .mobile-quick-actions a{text-decoration:none;color:#16171a;text-align:center;display:grid;gap:8px}
  .mobile-quick-actions span{
    width:54px;height:54px;border-radius:50%;margin:auto;display:grid;place-items:center;
    background:linear-gradient(145deg,#b42fb6,#682dcc);color:#fff;font-size:26px
  }
  .mobile-quick-actions b{font-size:14px}

  .mobile-suggestions{padding:16px 6px 18px;background:#fff;border-bottom:1px solid #eceef2}
  .mobile-section-title{display:flex;justify-content:space-between;align-items:center;padding:0 12px 12px}
  .mobile-section-title h2{font-size:19px;margin:0}.mobile-section-title a{color:#2491ef;font-weight:800;text-decoration:none}
  .mobile-suggestion-track{display:flex;gap:9px;overflow-x:auto;padding:0 4px;scrollbar-width:none}
  .mobile-suggestion-card{
    flex:0 0 150px;border:1px solid #dfe2e7;border-radius:9px;background:#fff;padding:14px 9px 10px;
    box-sizing:border-box;text-align:center;min-height:235px
  }
  .suggestion-avatar{width:92px;height:92px;border-radius:50%;overflow:hidden;background:#e5e6e8;display:grid;place-items:center;margin:0 auto 10px;text-decoration:none;color:#6b6f76;font-size:32px}
  .suggestion-avatar img{width:100%;height:100%;object-fit:cover}
  .suggestion-name{display:block;color:#111;text-decoration:none;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-suggestion-card small{display:block;color:#a0a3a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0 10px}
  .mobile-suggestion-card form{margin:0}
  .mobile-suggestion-card button{
    width:100%;border:0;border-radius:10px;padding:9px 8px;background:linear-gradient(180deg,#c044be,#7526c5);
    color:#fff;font-weight:800;font-size:14px
  }

  .feed-shell{display:block;margin:0;padding:0;background:#f1f2f4}
  .feed-main{width:100%;max-width:none}
  .feed-side{display:none}
  .mobile-feed-heading{
    display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;
    border-bottom:1px solid #e5e6e8;font-size:17px
  }
  .mobile-feed-heading a{color:#7b2bc0;text-decoration:none;font-weight:800}

  .composer{
    margin:0 0 8px;border-radius:0;border:0;border-bottom:1px solid #e2e4e8;
    box-shadow:none;padding:14px;background:#fff
  }
  .composer textarea{font-size:16px;min-height:82px}
  .composer-extra-fields select{max-width:100%}
  .composer-actions{gap:8px;flex-wrap:wrap}
  .composer-actions .button{margin-left:auto}

  .post-card{
    margin:0 0 8px;border-radius:0;border:0;box-shadow:none;padding:13px 14px 14px;background:#fff
  }
  .post-author{align-items:center}
  .mini-avatar{width:44px;height:44px;border-radius:50%}
  .post-author .author-name{font-size:16px;font-weight:800;color:#111}
  .post-author small{color:#8290a0;font-size:12px}
  .post-content{font-size:17px;line-height:1.48;padding:12px 0;color:#16171a;white-space:pre-wrap}
  .post-image{width:calc(100% + 28px);max-width:none;margin-left:-14px;border-radius:0}
  .multi-image-grid{margin-left:-14px;margin-right:-14px;border-radius:0}
  .post-stats{padding:10px 0 8px;color:#6e747b}
  .post-actions{
    display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #eceef2;border-bottom:1px solid #eceef2;
    padding:3px 0;gap:0
  }
  .post-actions form,.post-actions a,.post-actions span,.post-actions button{min-width:0}
  .post-actions button,.post-actions span,.post-actions a{
    display:flex;justify-content:center;align-items:center;text-align:center;border:0;background:none;
    min-height:40px;padding:5px 2px;font-size:12px;font-weight:700;color:#5f646b;text-decoration:none
  }
  .post-actions .post-share-destination{display:none}
  .comments{padding-top:8px}
  .comment-form{display:grid;grid-template-columns:1fr auto;gap:6px}
  .comment-form input{min-width:0;border-radius:999px;padding:10px 13px}
  .comment-form button{border-radius:999px;padding:8px 13px}

  .flash-wrap{position:fixed;top:70px;left:8px;right:8px;z-index:1300}
}

@media (max-width: 380px){
  .mobile-bottom-nav a small{font-size:10px}
  .mobile-story-card{flex-basis:78px}.story-circle{width:72px;height:72px}
  .mobile-suggestion-card{flex-basis:142px}
}


/* =========================================================
   B19.1 - MOBILE SOCIAL nâng cao
   ========================================================= */
@media (max-width:768px){
  .mobile-menu-trigger{
    background:none;border:0;font-size:30px;line-height:1;color:#7b2bbd
  }
  .mobile-quick-menu{
    position:fixed;inset:0;background:rgba(10,15,30,.38);z-index:1500;
    opacity:0;transition:opacity .16s ease
  }
  .mobile-quick-menu.open{opacity:1}
  .mobile-quick-menu-panel{
    position:absolute;right:10px;top:62px;width:min(320px,calc(100vw - 20px));
    background:#fff;border-radius:18px;box-shadow:0 18px 50px rgba(20,25,40,.22);
    overflow:hidden;transform:translateY(-6px);transition:transform .16s ease
  }
  .mobile-quick-menu.open .mobile-quick-menu-panel{transform:none}
  .mobile-quick-menu-head{
    display:flex;align-items:center;justify-content:space-between;padding:15px 16px;
    border-bottom:1px solid #eceef2
  }
  .mobile-quick-menu-head button{border:0;background:#f0f1f4;width:34px;height:34px;border-radius:50%}
  .mobile-quick-menu-panel>a{
    display:flex;align-items:center;justify-content:space-between;padding:13px 16px;
    color:#17181b;text-decoration:none;border-bottom:1px solid #f1f2f4;font-weight:700
  }
  .mobile-quick-menu-panel>a span{
    background:#ff3845;color:#fff;border-radius:999px;padding:2px 7px;font-size:11px
  }
  body.mobile-menu-open{overflow:hidden}

  .mobile-nav-avatar{
    width:27px;height:27px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
    border:1px solid #b987dc;background:#f6effc
  }
  .mobile-nav-avatar img{width:100%;height:100%;object-fit:cover}

  .mobile-new-post-chip{
    display:inline-flex;position:sticky;top:76px;z-index:1000;margin:8px auto -44px;
    left:50%;transform:translateX(-50%);background:#111;color:#fff;text-decoration:none;
    padding:9px 15px;border-radius:999px;font-size:13px;box-shadow:0 8px 24px #0003;
    width:max-content
  }

  .post-author{position:relative}
  .mobile-post-more{
    display:block;position:absolute;right:0;top:-4px;border:0;background:transparent;
    font-size:28px;line-height:1;padding:5px 8px;color:#1a1b1e;z-index:3
  }
  .mobile-post-menu-panel{
    position:absolute;right:12px;margin-top:48px;z-index:20;width:210px;background:#fff;
    border:1px solid #e4e6ea;border-radius:14px;box-shadow:0 12px 35px #0002;overflow:hidden
  }
  .mobile-post-menu-panel a,
  .mobile-post-menu-panel button{
    width:100%;box-sizing:border-box;display:block;text-align:left;padding:12px 14px;
    border:0;border-bottom:1px solid #f0f1f3;background:#fff;color:#1c1d20;
    text-decoration:none;font:inherit;font-weight:700
  }
  .mobile-post-menu-panel form{margin:0}

  .mobile-swipe-media{
    display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;
    scrollbar-width:none;background:#0e0f11
  }
  .mobile-swipe-media::-webkit-scrollbar{display:none}
  .mobile-swipe-media img{
    flex:0 0 100%;width:100%;max-height:72vh;object-fit:cover;scroll-snap-align:start
  }

  .post-card .report-link{display:none}
  .post-owner-tools{display:none}
}

@media (min-width:769px){
  .mobile-post-more,.mobile-post-menu-panel,.mobile-new-post-chip{display:none!important}
}


/* =========================================================
   B19.2 - MOBILE TIN NHẮN & THÔNG BÁO
   ========================================================= */
.mobile-screen-bar{display:none}
.mobile-chat-back,.mobile-profile-open{display:none}

@media(max-width:768px){
  .mobile-messages-screen,
  .mobile-chat-screen,
  .mobile-notifications-screen{
    width:100%;max-width:none;margin:0;padding:0;background:#fff;min-height:calc(100vh - 140px)
  }

  .mobile-screen-bar{
    display:grid;grid-template-columns:44px 1fr 44px;align-items:center;
    position:sticky;top:68px;z-index:800;height:52px;padding:0 8px;
    background:rgba(255,255,255,.98);border-bottom:1px solid #e6e8ec
  }
  .mobile-screen-bar>b{text-align:center;font-size:18px}
  .mobile-screen-bar>a,.mobile-screen-bar button{
    display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
    border:0;background:#f3edf9;color:#7629bd;text-decoration:none;font-size:22px
  }
  .mobile-screen-bar form{margin:0}

  .mobile-messages-screen .messages-head{padding:16px 16px 10px}
  .mobile-messages-screen .messages-head .eyebrow,
  .mobile-messages-screen .messages-head p{display:none}
  .mobile-messages-screen .messages-head h1{font-size:22px;margin:0}
  .mobile-messages-screen .unread-total{font-size:12px}

  .conversation-list{background:#fff}
  .conversation-row{
    display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;
    align-items:center;padding:12px 14px;border-radius:0;border:0;
    border-bottom:1px solid #eef0f3;text-decoration:none
  }
  .conversation-row .mini-avatar{
    width:52px;height:52px;border-radius:50%;overflow:hidden;background:#e9eaed;
    display:grid;place-items:center;font-size:20px
  }
  .conversation-row .mini-avatar img{width:100%;height:100%;object-fit:cover}
  .conversation-main{min-width:0}
  .conversation-title{display:flex;align-items:center;gap:7px}
  .conversation-title b{font-size:16px;color:#15171a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .conversation-main small{display:block;color:#87909c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .conversation-main p{
    margin:4px 0 0;color:#6e747d;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
  }
  .conversation-time{font-size:11px;color:#9298a1;text-align:right;display:grid;gap:5px}
  .conversation-open-arrow{font-size:22px;color:#b2b6bc}
  .unread-badge{background:#ec3154;color:#fff;border-radius:999px;padding:2px 6px;font-size:11px}
  .empty-conversations{padding:40px 22px;text-align:center}

  .mobile-chat-screen .chat-card{border:0;border-radius:0;box-shadow:none;min-height:calc(100vh - 140px)}
  .mobile-chat-screen .chat-header{
    position:sticky;top:68px;z-index:850;background:#fff;border-bottom:1px solid #e6e8ec;
    padding:8px 10px
  }
  .mobile-chat-screen .chat-person{min-width:0}
  .mobile-chat-screen .chat-person .mini-avatar{width:42px;height:42px}
  .mobile-chat-screen .chat-person b{font-size:15px}
  .mobile-chat-screen .chat-person small{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-chat-back,.mobile-profile-open{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
  .mobile-chat-back{font-size:22px;color:#7226bb}
  .mobile-profile-open{
    padding:7px 10px;border-radius:999px;background:#f2ecf8;color:#7226bb;font-size:12px;font-weight:800
  }
  .desktop-chat-back{display:none!important}
  .mobile-chat-screen .danger-button{font-size:0;width:34px;height:34px;border-radius:50%;padding:0}
  .mobile-chat-screen .danger-button:after{content:"⋯";font-size:20px}
  .mobile-chat-screen .chat-messages{
    padding:14px 10px 92px;min-height:calc(100vh - 250px);background:#f5f6f8
  }
  .message-line{margin:5px 0}
  .message-bubble{max-width:78%;border-radius:18px;padding:9px 11px}
  .message-line.mine .message-bubble{background:linear-gradient(135deg,#8b31c9,#5f2cb8);color:#fff}
  .message-line.theirs .message-bubble{background:#fff;border:1px solid #e2e4e8}
  .message-text{font-size:15px;line-height:1.4}
  .message-bubble small{font-size:10px;opacity:.72}
  .mobile-chat-composer{
    position:fixed;left:0;right:0;bottom:72px;z-index:850;display:grid;
    grid-template-columns:1fr 48px;gap:8px;padding:8px 10px;background:#fff;border-top:1px solid #e4e6ea
  }
  .mobile-chat-composer textarea{
    min-height:42px;max-height:110px;border-radius:22px;padding:10px 14px;resize:none;
    background:#f2f3f5;border:1px solid #e1e3e7;font-size:15px
  }
  .mobile-chat-composer .button{
    width:44px;height:44px;border-radius:50%;padding:0;display:grid;place-items:center;
    background:linear-gradient(145deg,#a936c1,#682bc0)
  }

  .mobile-notifications-screen .notifications-head{padding:15px 14px 8px}
  .mobile-notifications-screen .notifications-head .eyebrow,
  .mobile-notifications-screen .notifications-head h1{display:none}
  .mobile-notifications-screen .notifications-head p{margin:0;font-size:13px}
  .mobile-notifications-screen .notification-head-actions{display:none}
  .notification-filter-bar{
    display:flex!important;overflow-x:auto;gap:7px;padding:10px 10px;scrollbar-width:none;
    position:sticky;top:120px;background:#fff;z-index:700;border-bottom:1px solid #eceef2
  }
  .notification-filter-bar::-webkit-scrollbar{display:none}
  .notification-filter-chip{
    flex:0 0 auto;border-radius:999px;padding:8px 11px!important;font-size:12px!important
  }
  .notification-list{background:#fff}
  .notification-row-card{
    border:0!important;border-radius:0!important;border-bottom:1px solid #edf0f3!important;
    padding:10px 12px!important;box-shadow:none!important
  }
  .notification-row-card.unread{background:#faf5ff!important}
  .notification-main-link{display:grid!important;grid-template-columns:48px 1fr;gap:10px}
  .notification-avatar{width:46px!important;height:46px!important;border-radius:50%}
  .notification-title b{font-size:14px}
  .notification-main p{margin:3px 0;font-size:13px;line-height:1.35}
  .notification-main small{font-size:11px;color:#8c929b}
  .notification-row-actions{padding-left:58px;margin-top:5px}
  .notification-kind{font-size:10px}
  .notification-read-button{font-size:11px;padding:5px 8px;border-radius:999px}
}


/* =========================================================
   B19.3 - CAMERA ĐĂNG BÀI TRỰC TIẾP
   ========================================================= */
.mobile-media-picker{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}
.media-action{
  display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:12px;
  background:#f4f0f8;color:#6d28b3;font-weight:800;border:1px solid #e6daf0;
  cursor:pointer;font-size:14px
}
.clear-media-action{border:1px solid #eadfe2;background:#fff5f6;color:#a13a45}
.post-media-preview{
  display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none
}
.post-media-preview::-webkit-scrollbar{display:none}
.post-media-preview-item{
  flex:0 0 96px;width:96px;height:96px;border-radius:12px;overflow:hidden;
  border:1px solid #e1e3e7;background:#eef0f3
}
.post-media-preview-item img{width:100%;height:100%;object-fit:cover}

@media(max-width:768px){
  .mobile-media-picker{display:grid;grid-template-columns:1fr 1fr auto;gap:7px}
  .media-action{justify-content:center;min-height:42px;padding:8px 10px}
  .clear-media-action span{display:none}
  .post-media-preview-item{flex-basis:110px;width:110px;height:110px}
}


/* =========================================================
   B20 - PHIẾU THU CHI & BÁO CÁO TÀI CHÍNH
   ========================================================= */
.finance-pro-head{display:flex;justify-content:space-between;gap:18px;align-items:center}
.finance-pro-actions{display:flex;gap:8px;flex-wrap:wrap}
.finance-category-manager{margin-top:14px;border-top:1px solid #e8ebef;padding-top:12px}
.finance-category-manager summary{cursor:pointer;font-weight:800;color:#173d75}
.finance-category-manager form{display:grid;grid-template-columns:150px 90px 1fr 1.4fr auto;gap:8px;margin-top:10px}
.finance-category-manager input,.finance-category-manager select{padding:10px;border:1px solid #d8dee8;border-radius:10px}

.finance-voucher-form{background:#fff;border-radius:18px;padding:20px;box-shadow:0 10px 30px #18263b0c}
.voucher-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.voucher-form-grid label,.finance-voucher-form>label{display:grid;gap:6px;font-weight:750}
.voucher-form-grid input,.voucher-form-grid select,.finance-voucher-form textarea,.voucher-item-row input{
  width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d9dfe8;border-radius:10px;font:inherit
}
.voucher-form-grid .span-2{grid-column:1/-1}
.voucher-section{margin-top:18px;padding-top:16px;border-top:1px solid #edf0f3}
.voucher-section h2{font-size:18px;margin:0 0 12px}
.voucher-items{display:grid;gap:8px}
.voucher-item-row{display:grid;grid-template-columns:34px 1fr 190px 40px;gap:7px;align-items:center}
.item-no{width:30px;height:30px;border-radius:50%;background:#eef2f7;display:grid;place-items:center;font-weight:800}
.remove-item{width:36px;height:36px;border:0;border-radius:50%;background:#fff0f1;color:#a33139;cursor:pointer}
.voucher-total-live{text-align:right;font-size:18px;margin:12px 0}.voucher-total-live b{font-size:22px;color:#173d75}
.form-actions{display:flex;gap:9px;margin-top:18px}

.voucher-print-shell{max-width:1000px;margin:25px auto;padding:0 15px}
.voucher-print-card{background:#fff;padding:32px 38px;border:1px solid #dfe3e8;box-shadow:0 12px 35px #0000000d}
.voucher-print-card.ecclesial{border-top:7px solid #b99745}
.voucher-print-card.social{border-top:7px solid #173d75}
.voucher-print-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.voucher-org{display:grid;gap:3px}.voucher-org b{font-size:15px}.voucher-org small{color:#6e7783}
.voucher-cross{font-size:28px;color:#b58a2d}.voucher-code{text-align:right;display:grid}.voucher-code span,.voucher-code small{color:#68717c;font-size:12px}
.voucher-code b{font-size:18px}.voucher-print-card h1{text-align:center;margin:18px 0 5px;font-size:30px;letter-spacing:.08em}
.voucher-date{text-align:center;color:#505967;margin-bottom:22px}
.voucher-party{display:grid;gap:7px;margin-bottom:15px}.voucher-party p{margin:0}.voucher-party span{display:inline-block;min-width:125px;font-weight:700}
.voucher-items-table{width:100%;border-collapse:collapse;margin-top:14px}.voucher-items-table th,.voucher-items-table td{border:1px solid #777;padding:9px 10px}
.voucher-items-table th{background:#f2f3f5}.voucher-items-table th:first-child,.voucher-items-table td:first-child{width:55px;text-align:center}
.voucher-items-table th:last-child,.voucher-items-table td:last-child{width:180px;text-align:right}
.voucher-total-row{font-weight:900;background:#f7f8fa}.voucher-words,.voucher-note{margin-top:13px;line-height:1.5}
.voucher-signatures{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:34px;text-align:center}
.voucher-signatures>div{min-height:130px;display:flex;flex-direction:column}.voucher-signatures small{font-style:italic;color:#717985}.voucher-signatures span{margin-top:auto;font-weight:700}
.voucher-screen-actions{display:flex;gap:8px;justify-content:center;margin:15px 0}

.finance-report-filter{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:8px;background:#fff;padding:14px;border-radius:14px;margin-bottom:14px}
.finance-report-filter label{display:grid;gap:5px;font-size:12px;font-weight:750}.finance-report-filter input,.finance-report-filter select{padding:9px;border:1px solid #d9dfe7;border-radius:9px}
.finance-balance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}
.finance-balance-summary>div{background:#fff;padding:15px;border-radius:14px;border:1px solid #e4e8ee}.finance-balance-summary span{display:block;color:#737c87;font-size:12px}.finance-balance-summary b{display:block;margin-top:4px;font-size:20px}
.finance-balance-summary .receipt b{color:#187846}.finance-balance-summary .payment b{color:#a8323a}.finance-balance-summary .closing{background:#173d75;color:#fff}.finance-balance-summary .closing span{color:#dbe7f7}
.finance-card-title-actions{display:flex;justify-content:space-between;align-items:center}.finance-ledger td{white-space:nowrap}.finance-ledger td:nth-child(6){white-space:normal;min-width:220px}

@media(max-width:760px){
  .finance-pro-head{display:grid}.finance-pro-actions{display:grid;grid-template-columns:1fr 1fr}.finance-pro-actions .btn:last-child{grid-column:1/-1}
  .finance-category-manager form,.voucher-form-grid,.finance-report-filter,.finance-balance-summary{grid-template-columns:1fr}
  .voucher-form-grid .span-2{grid-column:auto}
  .voucher-item-row{grid-template-columns:30px 1fr 95px 34px}.voucher-item-row input{padding:9px}
  .voucher-print-card{padding:20px 16px}.voucher-signatures{grid-template-columns:repeat(2,1fr);gap:25px 10px}.voucher-print-top{display:grid}.voucher-code{text-align:left}
}
@media print{
  body{background:#fff!important;padding:0!important}
  .topbar,.mobile-app-header,.mobile-bottom-nav,.site-footer,.voucher-screen-actions,.finance-hero,.finance-report-filter,.finance-card-title-actions button{display:none!important}
  main{margin:0!important;padding:0!important}
  .voucher-print-shell{max-width:none;margin:0;padding:0}.voucher-print-card{box-shadow:none;border:0;padding:10mm}
  .finance-report-shell{padding:0!important}.finance-card,.finance-balance-summary>div{box-shadow:none!important}
}


/* B20.1 - Báo cáo tài chính nâng cao */
.finance-advanced-filter{
  display:grid;grid-template-columns:110px 150px 150px 1fr auto;gap:8px;
  background:#fff;padding:14px;border-radius:14px;margin-bottom:14px
}
.finance-advanced-filter label{display:grid;gap:5px;font-size:12px;font-weight:750}
.finance-advanced-filter input,.finance-advanced-filter select{padding:9px;border:1px solid #d9dfe7;border-radius:9px}
.finance-kpi-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}
.finance-kpi-strip>div{background:#fff;border:1px solid #e5e9ef;border-radius:13px;padding:13px}
.finance-kpi-strip span{display:block;color:#77818d;font-size:12px}.finance-kpi-strip b{display:block;margin-top:4px}
.finance-report-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.cashbook-balance-head{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.cashbook-balance-head>div{background:#fff;border:1px solid #e3e7ed;border-radius:14px;padding:16px}
.cashbook-balance-head span{display:block;color:#737d88;font-size:12px}.cashbook-balance-head b{font-size:22px;color:#173d75}
.opening-row,.closing-row{background:#f3f5f8}.closing-row{background:#173d75;color:#fff}
@media(max-width:760px){
  .finance-advanced-filter,.finance-kpi-strip,.finance-report-two-col,.cashbook-balance-head{grid-template-columns:1fr}
}
@media print{
  .finance-advanced-filter,.cashbook-filter,.finance-pro-actions{display:none!important}
}


/* B20.2 - Khóa sổ, mở năm mới, quyết toán */
.fiscal-year-select,.fiscal-action-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.fiscal-year-select label{display:grid;gap:5px;font-weight:750}
.fiscal-year-select input,.fiscal-action-form input{padding:10px;border:1px solid #d9dfe7;border-radius:9px}
.month-lock-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.month-lock-card{border:1px solid #dfe4ea;border-radius:13px;padding:13px;display:grid;gap:8px;background:#f7fbf8}
.month-lock-card.locked{background:#fff4f4;border-color:#efd2d4}.month-lock-card span{font-size:12px;color:#6f7884}
.lock-status{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.lock-status.open{background:#e7f7ec;color:#187244}.lock-status.locked{background:#ffe7e9;color:#9a3038}
.fiscal-year-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fiscal-year-actions form{display:grid;gap:8px}
.fiscal-year-actions input{padding:10px;border:1px solid #d9dfe7;border-radius:9px}.fiscal-danger-zone{border-left:5px solid #a8323a}
.settlement-title-print{text-align:center;background:#fff;padding:20px;margin-bottom:12px;border-radius:14px}.settlement-title-print h1{font-size:25px;margin:7px 0}.settlement-title-print p{margin:0;color:#77622c}
.settlement-table tfoot{background:#173d75;color:#fff}.settlement-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center;margin:35px 0 20px}.settlement-signatures>div{min-height:120px}.settlement-signatures small{display:block;font-style:italic;color:#777}
@media(max-width:760px){.month-lock-grid{grid-template-columns:repeat(2,1fr)}.fiscal-year-actions,.settlement-signatures{grid-template-columns:1fr}}
@media print{
  .settlement-shell .finance-hero{display:none!important}
  .settlement-title-print{display:block!important}
  .settlement-signatures{page-break-inside:avoid}
}


/* FIX TIẾNG VIỆT LỜI CHÚA - Unicode NFC + font có hỗ trợ dấu đầy đủ */
.prayer-modal h2,
.daily-prayer-card h1,
.prayer-modal blockquote,
.daily-prayer-card blockquote,
.prayer-reading-ref,
.prayer-reflection,
.prayer-text,
.business-blessing{
  font-family:"Segoe UI","Noto Sans","Arial",sans-serif!important;
  letter-spacing:normal!important;
  font-kerning:normal;
  font-variant-ligatures:normal;
  font-feature-settings:normal;
  text-rendering:optimizeLegibility;
  unicode-bidi:plaintext;
}
.prayer-modal blockquote,
.daily-prayer-card blockquote{
  font-style:italic;
  word-spacing:normal;
}


/* Bổ sung biểu tượng cuốn Tin Mừng trước dòng Gợi ý sống Lời Chúa */
.gospel-book-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:6px;
  font-size:1.05em;
  line-height:1;
  vertical-align:-0.05em;
}
.prayer-reflection b .gospel-book-icon{
  font-size:1.12em;
}


/* FIX QUY CHẾ - hiển thị nội dung rõ ràng và có trang đọc toàn văn */
.regulation-public-card,.regulation-document{
  background:#fff;border:1px solid #e1e5eb;border-radius:18px;padding:22px;
  margin-bottom:16px;box-shadow:0 9px 28px rgba(24,38,59,.06)
}
.regulation-public-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#747d88;font-size:12px;font-weight:800}
.regulation-public-card h2{margin:9px 0 12px}
.regulation-preview-text,.regulation-admin-preview,.regulation-full-content{
  white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;color:#27303c
}
.regulation-preview-text{max-height:360px;overflow:hidden}
.regulation-public-actions,.regulation-admin-actions,.regulation-doc-actions{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px
}
.regulation-admin-actions form{margin:0}
.regulation-admin-preview{
  padding:13px 14px;border-radius:12px;background:#f7f8fa;border:1px solid #eceff3;
  margin:10px 0
}
.warning-text{color:#a1373f}
.regulation-detail-shell{max-width:980px}
.regulation-doc-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #e5e8ed;padding-bottom:15px;margin-bottom:18px}
.regulation-doc-head h1{margin:7px 0}
.regulation-full-content{font-size:16px;min-height:120px}
@media(max-width:760px){
  .regulation-doc-head{display:grid}
  .regulation-public-card,.regulation-document{padding:16px}
}
@media print{
  .regulation-doc-actions,.topbar,.mobile-app-header,.mobile-bottom-nav,.site-footer{display:none!important}
  .regulation-document{box-shadow:none;border:0;padding:0}
}


/* GIÁO XỨ · GIỜ LỄ · NHÀ THỜ GẦN NHẤT */
.parish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.parish-card{display:grid;grid-template-columns:66px 1fr;gap:14px;background:#fff;border:1px solid #e4e8ee;border-radius:17px;padding:18px;box-shadow:0 8px 26px #1720330a}
.parish-card-icon,.parish-big-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#f3ecdf;font-size:30px}
.parish-card h2{margin:4px 0}.parish-card p{margin:4px 0;color:#65707e}.parish-card-actions,.parish-profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.parish-profile-hero{display:grid;grid-template-columns:90px 1fr;gap:18px;background:linear-gradient(135deg,#fff,#f5f0e6);padding:24px;border-radius:20px;margin-bottom:15px}.parish-big-icon{width:82px;height:82px;font-size:38px}
.today-parish-schedule{background:#173d75;color:#fff;border-radius:20px;padding:20px;margin-bottom:15px}.today-schedule-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.today-schedule-head span{font-size:11px;letter-spacing:2px;color:#f0cf78}.today-schedule-head h2{margin:4px 0}.today-schedule-head a{color:#fff}
.schedule-cards{display:grid;gap:8px;margin-top:12px}.schedule-card{display:grid;grid-template-columns:78px 1fr;gap:12px;background:#fff;color:#172033;border-radius:14px;padding:12px}.schedule-card time{font-size:23px;font-weight:900;color:#8b6721}.schedule-card p,.schedule-card small{margin:3px 0;display:block;color:#6e7783}.schedule-card.activity time{color:#365eaa}
.parish-schedule-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.weekly-day{border-bottom:1px solid #eceff3;padding:10px 0}.weekly-day>b{display:block;color:#173d75;margin-bottom:5px}.weekly-day div{display:grid;grid-template-columns:62px 1fr;padding:4px 0}.weekly-day time{font-weight:900}.special-schedule{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid #eceff3}
.nearby-church-shell{max-width:920px;margin:22px auto;padding:0 16px}.nearby-hero{text-align:center;background:linear-gradient(150deg,#173d75,#28568e);color:#fff;border-radius:24px;padding:28px}.nearby-radar{font-size:45px}.nearby-hero h1{margin:8px 0}.nearby-hero p{max-width:650px;margin:6px auto 16px}.nearby-hero small{display:block;margin-top:10px;color:#dce7f5}.nearby-locate-btn{background:#fff!important;color:#173d75!important;font-size:16px}
.nearby-status{text-align:center;margin:13px;color:#66717e}.nearest-featured{background:#fff;border:2px solid #d6b45b;border-radius:20px;padding:20px;box-shadow:0 10px 34px #17203312}.nearest-badge{display:inline-block;background:#f5df9c;color:#614a12;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.nearest-title{display:grid;grid-template-columns:52px 1fr;gap:10px;margin:13px 0}.nearest-title>span{font-size:38px}.nearest-title h2{margin:2px 0}.nearest-title p{margin:3px 0;color:#697380}.nearest-today{background:#f5f7fa;border-radius:13px;padding:12px}.nearest-today h3{margin:0 0 8px}.nearby-schedule-row{display:grid;grid-template-columns:58px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid #e4e8ee}.nearby-schedule-row small{grid-column:2}.nearest-actions{display:flex;gap:8px;margin-top:12px}.nearby-list h2{font-size:18px}.nearby-church-row{display:flex;justify-content:space-between;gap:15px;background:#fff;border:1px solid #e3e7ed;border-radius:14px;padding:14px;margin:8px 0}.nearby-church-row small{display:block;color:#6c7682}.nearby-church-row p{margin:4px 0}.nearby-church-row>div:last-child{display:grid;gap:4px;text-align:right}
.parish-manage-form,.schedule-manage-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.parish-manage-form label,.schedule-manage-form label{display:grid;gap:5px;font-weight:750}.parish-manage-form input,.parish-manage-form select,.parish-manage-form textarea,.schedule-manage-form input,.schedule-manage-form select{width:100%;box-sizing:border-box;padding:10px;border:1px solid #d8dee7;border-radius:10px}.span-2{grid-column:1/-1}.parish-admin-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.parish-admin-head h2{margin:3px 0}.parish-manager-assign{margin-top:13px;border-top:1px solid #eceff3;padding-top:10px}.parish-manager-assign form{display:grid;grid-template-columns:1fr 220px auto;gap:8px;margin-top:8px}.parish-manager-assign select{padding:10px;border:1px solid #d8dee7;border-radius:10px}
.schedule-admin-list{display:grid;gap:8px}.schedule-admin-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px;border:1px solid #e4e8ed;border-radius:12px}.schedule-admin-row span,.schedule-admin-row small{display:block;color:#6b7580;margin-top:3px}

@media(max-width:760px){
  .parish-grid,.parish-schedule-columns{grid-template-columns:1fr}.parish-card{grid-template-columns:50px 1fr}.parish-card-icon{width:48px;height:48px;font-size:24px}
  .parish-profile-hero{grid-template-columns:64px 1fr;padding:16px}.parish-big-icon{width:58px;height:58px;font-size:27px}
  .today-schedule-head{display:grid}.schedule-card{grid-template-columns:65px 1fr}.schedule-card time{font-size:19px}
  .nearby-church-row{display:grid}.nearby-church-row>div:last-child{display:flex;text-align:left;gap:12px}
  .parish-manage-form,.schedule-manage-form,.parish-manager-assign form{grid-template-columns:1fr}.span-2{grid-column:auto}
}


/* LỜI CHÚA 0H + TRẢI LÒNG RIÊNG TƯ */
.daily-word-heart-btn{
  width:100%;margin:10px 0 4px;padding:12px;border:0;border-radius:14px;
  background:linear-gradient(135deg,#f4d77b,#e6b84d);color:#4d3b0d;font-weight:900;
  cursor:pointer;font-size:15px
}
.daily-word-heart-overlay{
  position:fixed;inset:0;z-index:12000;display:none;align-items:center;justify-content:center;
  padding:18px;background:rgba(5,14,30,.65);backdrop-filter:blur(5px)
}
.daily-word-heart-overlay.show{display:flex}
.daily-word-heart-dialog{
  width:min(620px,96vw);background:#fff;border-radius:22px;padding:24px;
  box-shadow:0 28px 80px rgba(0,0,0,.3);text-align:center
}
.heart-dialog-icon{font-size:42px}.daily-word-heart-dialog h2{margin:8px 0}.daily-word-heart-dialog p{color:#5f6874;line-height:1.6}
.daily-word-heart-dialog textarea,.daily-word-page-invite textarea{
  width:100%;box-sizing:border-box;border:1px solid #d9dfe8;border-radius:14px;padding:13px;
  font:inherit;line-height:1.55;resize:vertical
}
.heart-dialog-note{font-size:12px;color:#75808d;text-align:left;margin-top:8px}
.heart-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.daily-word-page-invite{margin:18px 0;padding:18px;background:#fff9e9;border:1px solid #ead79e;border-radius:16px}
.daily-word-page-invite h2{font-size:20px;margin:0 0 7px}.daily-word-page-invite form{display:grid;gap:9px}
.daily-word-response-shell,.daily-word-history-shell{max-width:900px;margin:24px auto;padding:0 15px}
.daily-word-response-card,.daily-word-history-card{background:#fff;border:1px solid #e3e7ed;border-radius:19px;padding:22px;margin-bottom:13px;box-shadow:0 8px 28px #1720330b}
.response-scripture-icon{font-size:42px}.daily-word-response-card blockquote{font-family:"Segoe UI","Noto Sans",Arial,sans-serif;line-height:1.65;background:#fff9e9;border-left:4px solid #c89a3c;padding:14px}
.my-heart-text,.ai-companion-reply,.faith-blessing{padding:14px 16px;border-radius:14px;margin:11px 0}
.my-heart-text{background:#f3f5f8}.ai-companion-reply{background:#eef5ff;border:1px solid #dce9f8}.faith-blessing{background:#fff7dd;border:1px solid #ead79d}
.my-heart-text p,.ai-companion-reply p,.faith-blessing p{white-space:pre-wrap;line-height:1.65;margin:6px 0}
.response-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.daily-word-history-card h2{margin:5px 0 10px}.daily-word-history-card p{white-space:pre-wrap;line-height:1.55}


/* TÁCH RIÊNG LỜI CHÚA MỖI NGÀY */
.daily-word-page-shell{max-width:860px;margin:24px auto;padding:0 15px}
.daily-word-main-card{
  background:linear-gradient(180deg,#fff,#fbf7ed);border:1px solid #e8dcc0;
  border-radius:24px;padding:28px;box-shadow:0 14px 42px rgba(45,36,18,.08);text-align:center
}
.daily-word-book{font-size:52px;margin-bottom:4px}
.daily-word-main-card h1{margin:8px 0 4px;color:#173d75}
.daily-word-date{color:#7a8390;font-weight:700}
.daily-word-reference{
  display:inline-block;margin:10px auto 14px;padding:9px 14px;border-radius:999px;
  background:#173d75;color:#fff;font-weight:800
}
.daily-word-key-label{font-size:11px;letter-spacing:1.7px;color:#9b7426;font-weight:900;margin-top:8px}
.daily-word-key-quote{
  margin:8px 0 16px;padding:18px 20px;background:#fff9e8;border-left:5px solid #c89a3c;
  border-radius:0 14px 14px 0;text-align:left;font-family:"Segoe UI","Noto Sans",Arial,sans-serif;
  font-size:21px;line-height:1.65;color:#503f18
}
.daily-word-reflection{
  text-align:left;background:#f1f6fb;border:1px solid #dde8f3;border-radius:15px;padding:16px;margin:12px 0
}
.daily-word-reflection p{white-space:pre-wrap;line-height:1.7;margin:7px 0 0}
.daily-word-read-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}

.daily-word-question-overlay{
  position:fixed;inset:0;z-index:12500;display:none;align-items:center;justify-content:center;
  padding:18px;background:rgba(6,16,34,.68);backdrop-filter:blur(5px)
}
.daily-word-question-overlay.show{display:flex}
.daily-word-question-box{
  width:min(520px,95vw);background:#fff;border-radius:22px;padding:24px;text-align:center;
  box-shadow:0 30px 85px rgba(0,0,0,.34)
}
.daily-word-question-box h2{margin:8px 0}.daily-word-question-box p{line-height:1.65;color:#5f6875}
.daily-word-question-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}

@media(max-width:700px){
  .daily-word-main-card{padding:18px}
  .daily-word-key-quote{font-size:18px;padding:15px}
}


/* LỜI CHÚA MỖI NGÀY - NGĂN TRANG CHỦ + ĐỌC BÀI ĐỌC */
.opening-daily-word{margin:12px 0 14px;text-align:left}
.opening-daily-word>b{display:block;text-align:center;color:#8b681d;margin-bottom:6px}
.opening-daily-word blockquote{
  margin:0;padding:14px 16px;background:#fff9e9;border-left:4px solid #c89a3c;
  border-radius:0 12px 12px 0;font-family:"Segoe UI","Noto Sans",Arial,sans-serif;
  line-height:1.6;color:#594619
}
.home-daily-word-card{
  max-width:1180px;margin:22px auto 14px;padding:20px 24px;display:grid;
  grid-template-columns:72px 1fr;gap:16px;align-items:start;background:linear-gradient(135deg,#fffdf7,#f5efe0);
  border:1px solid #eadcaf;border-radius:22px;box-shadow:0 12px 34px rgba(46,34,12,.07)
}
.home-word-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:#173d75;color:#fff;font-size:34px}
.home-word-main h2{margin:4px 0 8px;color:#173d75}.home-word-main blockquote{margin:7px 0 12px;font-family:"Segoe UI","Noto Sans",Arial,sans-serif;font-size:18px;line-height:1.55;color:#53431e}

.daily-readings-overlay{
  position:fixed;inset:0;z-index:12600;display:none;align-items:center;justify-content:center;
  background:rgba(5,15,31,.72);backdrop-filter:blur(5px);padding:16px
}
.daily-readings-overlay.show{display:flex}
.daily-readings-dialog{
  width:min(850px,96vw);max-height:92vh;background:#fff;border-radius:22px;padding:20px;
  box-shadow:0 30px 90px rgba(0,0,0,.38);display:grid;grid-template-rows:auto 1fr auto;gap:10px
}
.daily-readings-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #e6e9ed;padding-bottom:10px}
.daily-readings-head h2{margin:4px 0}.daily-readings-x{border:0;background:#eef1f5;border-radius:50%;width:38px;height:38px;font-size:18px;cursor:pointer}
.daily-readings-scroll{overflow:auto;padding-right:5px}
.reading-block{padding:15px 2px;border-bottom:1px solid #eceff2}.reading-block h3{margin:0 0 6px;color:#173d75}.reading-block.gospel h3{color:#8b641a}
.reading-text{white-space:pre-wrap;line-height:1.75;margin-top:9px;font-family:"Segoe UI","Noto Sans",Arial,sans-serif;font-size:16px}
.daily-readings-close{justify-self:center;min-width:130px}
.daily-word-thanks-overlay{
  position:fixed;inset:0;z-index:12700;display:none;align-items:center;justify-content:center;
  background:rgba(5,15,31,.68);backdrop-filter:blur(5px);padding:16px
}
.daily-word-thanks-overlay.show{display:flex}
.reading-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reading-editor-grid .wide{grid-column:1/-1}

@media(max-width:700px){
  .home-daily-word-card{margin:12px 10px;grid-template-columns:52px 1fr;padding:15px}
  .home-word-icon{width:48px;height:48px;font-size:26px;border-radius:14px}
  .home-word-main blockquote{font-size:16px}
  .daily-readings-dialog{padding:14px}
  .reading-editor-grid{grid-template-columns:1fr}.reading-editor-grid .wide{grid-column:auto}
}


/* HIỆP THÔNG GIÁO PHẬN - CHIA ĐÔI GIÁM MỤC / LINH HƯỚNG */
.diocesan-communion-block{margin:18px 0 24px}
.diocesan-shared-title{text-align:center;margin-bottom:12px}
.diocesan-shared-title h2{margin:4px 0 0}
.diocesan-two-column{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch
}
.diocesan-person-panel{
  background:linear-gradient(180deg,#fff,#fbfaf6);
  border:1px solid #e5e1d8;border-radius:20px;padding:18px;
  box-shadow:0 10px 30px rgba(25,35,50,.07)
}
.diocesan-panel-heading{
  display:flex;align-items:center;gap:10px;padding-bottom:12px;
  margin-bottom:12px;border-bottom:1px solid #ece8df
}
.diocesan-panel-heading small{display:block;color:#8a7337;font-weight:900;letter-spacing:1.2px}
.diocesan-panel-heading h3{margin:3px 0 0;color:#173d75}
.panel-symbol{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:#173d75;color:#fff;font-size:22px;flex:0 0 auto
}
.diocesan-person-card{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:start}
.diocesan-person-photo{
  width:108px;height:128px;border-radius:16px;overflow:hidden;
  background:#f0ece2;display:grid;place-items:center;font-size:34px
}
.diocesan-person-photo img{width:100%;height:100%;object-fit:cover}
.diocesan-person-info b{color:#8a6a22}
.diocesan-person-info h2{margin:5px 0 8px;color:#173d75;font-size:22px}
.diocesan-person-info p{margin:5px 0;line-height:1.55;color:#5d6670}
.diocesan-biography{font-size:14px}
.chaplain-stack{display:grid;gap:14px}
.diocesan-empty{padding:18px;border-radius:12px;background:#f5f6f8;color:#78818c;text-align:center}

@media(max-width:800px){
  .diocesan-two-column{grid-template-columns:1fr}
}
@media(max-width:520px){
  .diocesan-person-card{grid-template-columns:86px 1fr;gap:12px}
  .diocesan-person-photo{width:84px;height:104px}
  .diocesan-person-info h2{font-size:19px}
}


/* FIX HỘP THOẠI TRẢI LÒNG SAU KHI ĐÓNG LỜI CHÚA */
.daily-word-question-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:30000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:rgba(5,15,31,.72)!important;
  backdrop-filter:blur(5px);
}
.daily-word-question-overlay.show{display:flex!important}
.daily-word-question-box{
  width:min(540px,95vw);
  background:#fff;
  border-radius:22px;
  padding:24px;
  text-align:center;
  box-shadow:0 30px 90px rgba(0,0,0,.38)
}
.daily-word-question-box h2{margin:8px 0;color:#173d75}
.daily-word-question-box p{font-size:16px;line-height:1.65;color:#59636f}
body.modal-open{overflow:hidden}


/* KHÔI PHỤC HỘP TRẢI LÒNG TOÀN CỤC SAU KHI ĐÓNG LỜI CHÚA/LỜI NGUYỆN */
.daily-word-question-overlay,
.daily-word-heart-overlay,
.daily-word-thanks-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:40000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:rgba(5,15,31,.72)!important;
  backdrop-filter:blur(5px)
}
.daily-word-question-overlay.show,
.daily-word-heart-overlay.show,
.daily-word-thanks-overlay.show{
  display:flex!important
}
.daily-word-question-box,
.daily-word-heart-dialog{
  width:min(560px,95vw);
  background:#fff;
  border-radius:22px;
  padding:24px;
  text-align:center;
  box-shadow:0 30px 90px rgba(0,0,0,.4)
}
.daily-word-question-box h2,
.daily-word-heart-dialog h2{margin:8px 0;color:#173d75}
.daily-word-question-box p,
.daily-word-heart-dialog p{line-height:1.65;color:#5f6874}
.daily-word-heart-dialog textarea{
  width:100%;box-sizing:border-box;border:1px solid #d9dfe8;border-radius:14px;
  padding:13px;font:inherit;line-height:1.55;resize:vertical
}
body.modal-open{overflow:hidden}

/* Lời Chúa mỗi ngày - hiển thị rõ Bài đọc và Tin Mừng */
.daily-reading-block{
  margin:18px 0;
  padding:18px 20px;
  border:1px solid rgba(30,64,175,.16);
  border-radius:16px;
  background:rgba(255,255,255,.88);
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.daily-reading-heading{
  font-weight:800;
  letter-spacing:.02em;
  margin-bottom:10px;
  color:#1e3a8a;
}
.daily-reading-text{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.06rem;
  line-height:1.78;
  color:#172033;
  white-space:normal;
}
.daily-gospel-block{
  border-width:2px;
}


/* Trang Lời Chúa: hộp hỏi Trải lòng luôn nằm trên mọi modal toàn cục */
.daily-word-page-dialog-layer{z-index:60000!important}
.daily-word-page-dialog-layer.show{display:flex!important}

/* B30.6.7 - Trải lòng render từ SERVER: không phụ thuộc JS, hash hay :target */
.daily-word-server-dialog{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:rgba(5,15,31,.82)!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.daily-word-server-dialog .daily-word-question-box,
.daily-word-server-dialog .daily-word-heart-dialog{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:2147483647!important;
  width:min(600px,95vw)!important;
  max-height:90vh!important;
  overflow:auto!important;
}


/* B30.6.8 - FIX DỨT ĐIỂM: bỏ xung đột display:none từ cơ chế :target cũ */
#trai-long-voi-chua-hoi.daily-word-server-dialog,
#trai-long-voi-chua-viet.daily-word-server-dialog{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}


/* B30.6.9 - Hộp Trải lòng cưỡng bức hiển thị, độc lập hoàn toàn modal cũ */
.spiritual-share-force-screen{
  position:fixed!important;inset:0!important;z-index:2147483647!important;
  display:grid!important;place-items:center!important;visibility:visible!important;opacity:1!important;
  pointer-events:auto!important;padding:18px!important;background:rgba(4,12,28,.88)!important;
}
.spiritual-share-force-card{
  display:block!important;position:relative!important;width:min(600px,96vw)!important;max-height:92vh!important;
  overflow:auto!important;background:#fff!important;border-radius:24px!important;padding:28px!important;
  box-sizing:border-box!important;text-align:center!important;box-shadow:0 32px 100px rgba(0,0,0,.48)!important;
  visibility:visible!important;opacity:1!important;
}
.spiritual-share-force-icon{font-size:46px;line-height:1;margin-bottom:8px}
.spiritual-share-force-card h2{margin:8px 0 10px;color:#173d75;font-size:26px}
.spiritual-share-force-card p{font-size:17px;line-height:1.65;color:#566170}
.spiritual-share-force-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.spiritual-share-force-write textarea{width:100%;box-sizing:border-box;border:1px solid #ccd4df;border-radius:14px;padding:14px;font:inherit;line-height:1.55;resize:vertical;margin-top:8px}
.daily-readings-x{text-decoration:none;display:grid;place-items:center;color:inherit}
