.portal-body{background:#f4f6f3}.portal-header{height:68px;background:#fff;border-bottom:1px solid #e3e8e5;padding:0 38px;display:flex;align-items:center;justify-content:space-between}.account{display:flex;align-items:center;gap:15px;font-size:13px;color:#53666c}.account .install-button{padding:9px 12px;font-size:12px;border-radius:7px;margin-top:0}.account button,.close-button{border:0;background:none;color:#52717c;font:600 12px "DM Sans";cursor:pointer}.premium-badge{color:#755213;background:#fbefcf;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:700;letter-spacing:.7px}.portal-layout{display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 68px)}.portal-sidebar{background:#0d3b4d;padding:28px 16px;display:flex;flex-direction:column;color:#dfeceb}.church-mini{border-bottom:1px solid #ffffff24;padding:0 10px 24px;margin-bottom:16px}.church-mini div{background:#e6b65b;color:#0d3b4d;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-size:19px;margin-bottom:10px}.church-mini strong,.church-mini small{display:block}.church-mini strong{font-size:13px;color:#fff}.church-mini small{font-size:11px;margin-top:4px;color:#a8c2c6}.portal-sidebar nav{display:flex;flex-direction:column;gap:3px;align-items:stretch}.portal-sidebar .tab{background:transparent;border:0;color:#c5d8da;text-align:left;border-radius:6px;padding:11px 12px;font:500 13px "DM Sans";cursor:pointer}.portal-sidebar .tab:hover,.portal-sidebar .tab.active{background:#ffffff17;color:#fff}.portal-sidebar>a{margin:22px 12px 0;color:#b8d1d3;text-decoration:none;font-size:12px}.portal-main{max-width:1120px;width:100%;padding:48px clamp(26px,5vw,72px);margin:0 auto}.tab-page{display:none}.tab-page.active{display:block}.portal-main h1{font:700 35px/1.1 "Playfair Display";margin:0;color:#0d3b4d;letter-spacing:-.8px}.muted{color:#6f7f83;font-size:14px;margin:10px 0 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:33px 0}.stats article,.quick-card,.form-card,.plan-card,.event-item,.empty-state{background:#fff;border:1px solid #e1e7e2;border-radius:9px}.stats article{padding:19px}.stats span,.stats strong,.stats small{display:block}.stats span{font-size:18px}.stats strong{font-size:26px;color:#0d3b4d;margin:9px 0 2px}.stats small{font-size:11px;color:#718087}.quick-card{padding:25px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid #e6b65b}.quick-card h2,.form-title h2,.plan-card h2,.empty-state h2{margin:0;color:#0d3b4d;font:700 21px "Playfair Display"}.quick-card p{font-size:13px;color:#6f7f83;margin:7px 0 0}.portal-button{background:#0d3b4d;color:#fff;border:0;border-radius:6px;padding:12px 16px;font:700 13px "DM Sans";cursor:pointer;white-space:nowrap}.portal-button:hover{background:#15566b}.form-card{padding:26px;margin-top:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-card label{display:block;font-size:12px;font-weight:700;color:#3f585e}.form-card input,.form-card select,.form-card textarea{display:block;width:100%;border:1px solid #d9e0dc;border-radius:5px;padding:10px;margin-top:6px;color:#213e47;background:#fff;font:14px "DM Sans";outline-color:#6c9ca9}.form-card>label{margin-top:18px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:22px}.saved-message{font-size:12px;color:#29754f}.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.form-title{display:flex;justify-content:space-between;align-items:center}.close-button{font-size:25px}.events-list{display:grid;gap:12px;margin-top:20px}.event-item{padding:18px 20px;display:grid;grid-template-columns:46px 1fr auto;gap:15px;align-items:center}.event-date{background:#e9f0ed;color:#0d3b4d;border-radius:6px;text-align:center;padding:7px 3px}.event-date strong,.event-date small{display:block}.event-date strong{font-size:18px}.event-date small{font-size:10px;font-weight:700;text-transform:uppercase}.event-info h2{font-size:16px;margin:0;color:#0d3b4d}.event-info p{font-size:12px;color:#6f7f83;margin:5px 0 0}.event-actions{display:flex;gap:8px}.small-button,.outline-button{border:1px solid #c9d8d4;border-radius:5px;background:#fff;padding:8px 10px;color:#245063;font:700 12px "DM Sans";cursor:pointer}.delete{color:#a94d45}.empty-state{text-align:center;padding:48px 20px;margin-top:20px}.empty-state span{font-size:30px;color:#9eb5b5}.empty-state p{font-size:13px;color:#6f7f83}.plan-card{max-width:480px;padding:28px;margin-top:25px}.plan-card h2{font-size:29px;margin:17px 0 9px}.plan-card p,.plan-card li{font-size:13px;color:#65797d;line-height:1.5}.plan-card ul{padding-left:18px;margin:19px 0}.login-wrap{min-height:100vh;background:#0d3b4d;padding:34px;display:grid;place-items:center}.login-wrap[hidden]{display:none}.login-wrap>.brand{position:absolute;top:30px;left:38px;color:#fff}.login-card{background:#fff;border-radius:11px;max-width:455px;padding:39px;width:100%;box-shadow:0 25px 70px #00000042}.login-card h1{color:#0d3b4d;font:700 36px "Playfair Display";margin:0}.login-card>p:not(.eyebrow){color:#6c7e83;font-size:14px;line-height:1.55;margin:12px 0 25px}.login-card label{display:block;font-size:12px;font-weight:700;color:#3d575f;margin:14px 0}.login-card input{display:block;border:1px solid #d7e0dc;border-radius:5px;padding:11px;width:100%;margin-top:6px;font:14px "DM Sans"}.login-card .portal-button{width:100%;margin-top:9px}.login-card small{display:block;color:#748287;text-align:center;margin-top:17px;font-size:11px}@media(max-width:730px){.portal-header{padding:0 18px}.account{gap:8px}.account>span:not(.premium-badge){display:none}.portal-layout{display:block}.portal-sidebar{padding:13px 15px}.church-mini{display:none}.portal-sidebar nav{flex-direction:row;overflow:auto}.portal-sidebar .tab{white-space:nowrap}.portal-sidebar>a{display:none}.portal-main{padding:33px 20px}.stats{grid-template-columns:1fr 1fr}.quick-card,.page-title{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.event-item{grid-template-columns:42px 1fr}.event-actions{grid-column:2}.login-wrap>.brand{left:22px;top:22px}.login-card{margin-top:50px;padding:29px 23px}}

.link-button { background: none; border: 0; color: #0d3b4d; font: 700 12px "DM Sans"; cursor: pointer; margin-top: 14px; padding: 0; }

.mini-card { background: #fff; border: 1px solid #e1e7e2; border-radius: 9px; padding: 22px; margin-top: 20px; }
.mini-card h2 { margin: 0 0 12px; color: #0d3b4d; font: 700 16px "DM Sans"; }
.mini-list { display: grid; gap: 10px; }
.mini-row { display: flex; justify-content: space-between; font-size: 13px; color: #2c454d; padding: 10px 12px; background: #f4f6f3; border-radius: 6px; }
.mini-row span { color: #718087; font-size: 12px; }

.range-switch { display: flex; gap: 8px; margin: 20px 0 6px; }
.range { border: 1px solid #d9e0dc; background: #fff; color: #4c6169; font: 700 12px "DM Sans"; padding: 8px 14px; border-radius: 20px; cursor: pointer; }
.range.active { background: #0d3b4d; color: #fff; border-color: #0d3b4d; }

.stats-wide article { position: relative; }
.trend { position: absolute; top: 19px; right: 19px; font: 700 10px "DM Sans"; color: #29754f; font-style: normal; }

.stat-bars { display: grid; gap: 12px; }
.stat-bar-row { display: grid; grid-template-columns: 110px 1fr 40px; align-items: center; gap: 10px; font-size: 12px; color: #4c6169; }
.stat-bar-track { height: 8px; background: #eef1ee; border-radius: 99px; overflow: hidden; }
.stat-bar-fill { height: 100%; background: #e6b65b; border-radius: 99px; }
.stat-bar-row strong { text-align: right; color: #0d3b4d; font-size: 12px; }

.inline-form { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; align-items: center; }
.inline-form input, .inline-form select { border: 1px solid #d9e0dc; border-radius: 6px; padding: 10px 12px; font: 14px "DM Sans"; color: #213e47; flex: 1; min-width: 150px; }
.inline-form .portal-button { flex-shrink: 0; }

.schedule-list { display: grid; gap: 10px; margin-top: 18px; }
.schedule-row { display: flex; align-items: center; gap: 12px; background: #f4f6f3; border-radius: 8px; padding: 12px 14px; font-size: 13px; color: #213e47; }
.schedule-row.next { background: #0d3b4d; color: #fff; }
.schedule-day { font-weight: 700; min-width: 80px; }
.next-badge { background: #e6b65b; color: #382a0d; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 99px; }
.icon-remove { margin-left: auto; border: 0; background: none; color: inherit; opacity: 0.6; font-size: 16px; cursor: pointer; line-height: 1; }
.icon-remove:hover { opacity: 1; }

.photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; margin-top: 20px; }
.photo-item { position: relative; border-radius: 9px; overflow: hidden; background: #eef1ee; border: 1px solid #e1e7e2; }
.photo-item img { width: 100%; height: 120px; object-fit: cover; display: block; background: #e1e7e2; }
.photo-item.broken img { opacity: 0; }
.photo-item figcaption { font-size: 11px; color: #4c6169; padding: 8px 10px; }
.photo-item .icon-remove { position: absolute; top: 6px; right: 6px; background: #00000066; color: #fff; width: 22px; height: 22px; border-radius: 50%; opacity: 1; }

.team-list { display: grid; gap: 10px; margin-top: 20px; }
.team-row { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #e1e7e2; border-radius: 9px; padding: 13px 16px; }
.team-avatar { width: 34px; height: 34px; border-radius: 50%; background: #e6b65b; color: #0d3b4d; display: grid; place-items: center; font-weight: 700; font-size: 14px; flex-shrink: 0; }
.team-info { flex: 1; }
.team-info strong { display: block; font-size: 13px; color: #0d3b4d; }
.team-info small { color: #718087; font-size: 11px; }
.team-role { background: #edf4f2; color: #37626e; font-size: 10px; font-weight: 700; padding: 4px 9px; border-radius: 99px; }

.support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
.support-card { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid #e1e7e2; border-radius: 9px; padding: 18px; text-decoration: none; }
.support-card span { font-size: 20px; }
.support-card strong { color: #0d3b4d; font-size: 14px; }
.support-card small { color: #718087; font-size: 12px; }

.faq-list { display: grid; gap: 8px; margin-top: 14px; }
.faq-list details { background: #f4f6f3; border-radius: 8px; padding: 12px 14px; }
.faq-list summary { cursor: pointer; font-weight: 700; font-size: 13px; color: #213e47; }
.faq-list p { margin: 8px 0 0; font-size: 12px; color: #5f7278; line-height: 1.5; }

.form-card-title { margin: 0 0 6px; font-size: 16px; color: #0d3b4d; }

@media (max-width: 730px) {
  .support-grid { grid-template-columns: 1fr; }
  .stat-bar-row { grid-template-columns: 90px 1fr 34px; }
  .inline-form { flex-direction: column; align-items: stretch; }
  .inline-form input, .inline-form select { min-width: 0; }
}
