:root { --red: #0d8b46; --red-dark: #086534; --red-soft: #eaf8f0; --brand-accent: #12a34e; --sidebar-top: #061c29; --sidebar-mid: #063a2a; --ink: #202431; --muted: #707586; --line: #e8e9ee; --surface: #fff; --canvas: #f6f7f9; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 276px; color: #fff; background: linear-gradient(180deg, var(--sidebar-top) 0%, var(--sidebar-mid) 42%, var(--red) 100%); border-top: 2px solid #d8eff8; box-shadow: 12px 0 34px rgba(3,27,29,.08); z-index: 1035; }
.sidebar-brand { display: flex; align-items: center; gap: 14px; min-height: 112px; padding: 25px 21px; border-bottom: 1px solid rgba(255,255,255,.14); }
.brand-mark { display: grid; place-items: center; flex: 0 0 auto; width: 53px; height: 53px; overflow: hidden; border-radius: 50%; background: #17120b; box-shadow: 0 10px 24px rgba(0,17,24,.28); }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sidebar-brand-copy { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; }
.sidebar-brand .btn-close { flex-shrink: 0; }
.sidebar-brand strong { display: block; white-space: normal; line-height: 1.25; font-size: 20px; font-weight: 760; letter-spacing: -.45px; }.sidebar-brand span { display: block; margin-top: 2px; opacity: .69; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; }
.sidebar .nav { padding-left: 16px!important; padding-right: 16px!important; margin-top: 24px!important; gap: 4px!important; }
.sidebar .nav-link { display: flex; align-items: center; gap: 16px; min-height: 54px; padding: 13px 15px; border-radius: 11px; color: rgba(255,255,255,.71); font-size: 14px; font-weight: 650; transition: color .18s ease, background .18s ease, transform .18s ease; }
.sidebar .nav-link i { display: grid; place-items: center; flex: 0 0 auto; width: 22px; font-size: 18px; }.sidebar .nav-link:hover { color: #fff; background: rgba(255,255,255,.1); transform: translateX(2px); }.sidebar .nav-link.active { color: #fff; background: rgba(220,235,232,.22); box-shadow: inset 0 0 0 1px rgba(255,255,255,.015); }
.sidebar-foot { position: absolute; bottom: 22px; left: 18px; right: 18px; display: flex; align-items: center; gap: 12px; padding: 15px 14px; border: 1px solid rgba(255,255,255,.22); border-radius: 14px; background: rgba(4,76,35,.16); }
.status-dot { width: 10px; height: 10px; border-radius: 50%; background: #46dfa0; box-shadow: 0 0 0 7px rgba(32,216,133,.13); }.sidebar-foot span,.sidebar-foot strong { display: block; font-size: 11px; }.sidebar-foot span { color: rgba(255,255,255,.63); }.sidebar-foot strong { margin-top: 2px; color: #fff; font-size: 12px; }
.main-content { margin-left: 276px; min-width: 0; }.topbar { position: sticky; top: 0; z-index: 1020; display: flex; align-items: center; min-height: 88px; padding: 17px clamp(20px,4vw,48px); background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.topbar h1 { font-size: clamp(21px,2.2vw,28px); font-weight: 750; letter-spacing: -.7px; }.eyebrow,.section-label { color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: 1.5px; }
.menu-btn,.icon-button { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 11px; background: #fff; font-size: 20px; }.menu-btn { margin-right: 14px; }.notification-badge { position: absolute; top: -6px; right: -5px; min-width: 19px; padding: 2px 5px; color: #fff; background: var(--red); border: 2px solid #fff; border-radius: 12px; font-size: 9px; font-weight: 800; }
.locale-select{width:64px;min-height:42px;padding:7px 26px 7px 9px;border-color:var(--line);border-radius:11px;font-size:11px;font-weight:800;background-color:#fff}
.notification-shell{position:relative}.notification-panel{position:absolute;z-index:1060;top:calc(100% + 12px);right:0;width:min(390px,calc(100vw - 28px));overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 55px rgba(18,35,27,.2)}.notification-panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line)}.notification-panel-head strong{display:block;font-size:15px}.notification-panel-head button{padding:5px;color:var(--red);background:none;border:0;font-size:10px;font-weight:750}.notification-cards{max-height:430px;overflow:auto;padding:8px}.notification-card{width:100%;padding:12px;text-align:left;background:#fff;border:0;border-radius:11px}.notification-card:hover{background:#f5faf7}.notification-card.unread{background:var(--red-soft)}.notification-card-head{display:flex;align-items:start;gap:9px}.notification-card-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;color:var(--red);background:#fff;border-radius:9px}.notification-card-copy{min-width:0;flex:1}.notification-card-copy strong,.notification-card-copy small{display:block}.notification-card-copy strong{font-size:11px}.notification-card-copy small{margin-top:3px;color:var(--muted);font-size:9px}.notification-card-detail{display:none;margin:10px 0 0 43px;padding:9px 10px;white-space:pre-line;color:#3f4b44;background:#fff;border:1px solid #dcebe2;border-radius:9px;font-size:10px;line-height:1.55}.notification-card.expanded .notification-card-detail{display:block}.notification-empty{padding:30px;text-align:center;color:var(--muted);font-size:11px}.comment-reply-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:7px 10px;color:var(--muted);background:#f5faf7;border-radius:8px;font-size:11px}
.user-chip { align-items: center; gap: 9px; padding: 5px 6px 5px 5px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-size: 13px; font-weight: 700; }.avatar { display: grid; place-items: center; width: 33px; height: 33px; color: #fff; background-color: var(--red); background-position:center; background-size:cover; border-radius: 9px; }.verified-badge{color:#168653;font-size:16px}.verified-inline{margin-left:5px;color:#168653;font-size:12px;vertical-align:-1px}
.dashboard-body { max-width: 1560px; margin: auto; padding: 32px clamp(20px,4vw,48px) 24px; }.hero-panel { position: relative; overflow: hidden; display: flex; justify-content: space-between; align-items: flex-end; min-height: 190px; padding: clamp(25px,4vw,42px); color: #fff; background: linear-gradient(118deg, var(--red-dark), var(--brand-accent)); border-radius: 20px; box-shadow: 0 15px 35px rgba(8,113,58,.18); }
.hero-panel::after { content:""; position:absolute; width:320px; height:320px; right:-65px; top:-160px; border:45px solid rgba(255,255,255,.08); border-radius:50%; }.hero-kicker { display: inline-flex; gap: 8px; padding: 7px 11px; margin-bottom: 19px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.15); border-radius: 20px; font-size: 11px; font-weight: 700; }.hero-panel h2 { margin-bottom: 10px; font-size: clamp(27px,4vw,42px); font-weight: 780; letter-spacing: -1.5px; }.hero-panel p { max-width: 650px; margin: 0; opacity: .77; font-size: 14px; }.hero-date { z-index: 1; display:flex; gap:9px; align-items:center; white-space:nowrap; padding:10px 14px; background:rgba(0,0,0,.12); border-radius:10px; font-size:12px; }
.metric-grid { margin-top: 8px; }.metric-grid>div{position:relative}.metric-card { position:relative;display:flex;gap:15px;align-items:center;min-height:126px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 7px 22px rgba(28,32,45,.04);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.metric-card:has(.metric-detail:not([hidden])){cursor:help}.metric-card:has(.metric-detail:not([hidden])):hover,.metric-card:has(.metric-detail:not([hidden])):focus{z-index:20;border-color:#a8d9bd;box-shadow:0 14px 34px rgba(8,101,52,.14);transform:translateY(-2px);outline:0}.metric-icon { display:grid; place-items:center; flex: 0 0 auto; width:47px; height:47px; border-radius:13px; font-size:20px; }.metric-icon.red{color:#0d8b46;background:#eaf8f0}.metric-icon.orange{color:#198754;background:#edf8f2}.metric-icon.blue{color:#168653;background:#eaf9f1}.metric-icon.green{color:#08713a;background:#e4f7ec}.metric-card span,.metric-card small { display:block; color:var(--muted); }.metric-card span{font-size:12px;font-weight:650}.metric-card strong{display:block;margin:1px 0;font-size:29px;line-height:1.05}.metric-card small{font-size:10px}.metric-detail{position:absolute;z-index:25;top:calc(100% + 10px);left:0;width:max(100%,280px);padding:10px;background:#fff;border:1px solid #d9ebe0;border-radius:13px;box-shadow:0 18px 42px rgba(12,52,32,.17);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .16s ease,visibility .16s ease,transform .16s ease}.metric-card:hover .metric-detail,.metric-card:focus .metric-detail,.metric-card:focus-within .metric-detail{opacity:1;visibility:visible;transform:translateY(0)}.metric-detail::before{content:"";position:absolute;top:-6px;left:27px;width:11px;height:11px;background:#fff;border-top:1px solid #d9ebe0;border-left:1px solid #d9ebe0;transform:rotate(45deg)}.metric-detail-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:9px;border-radius:9px}.metric-detail-item+.metric-detail-item{border-top:1px solid #eef3f0;border-radius:0}.metric-detail-item strong{overflow:hidden;margin:0;font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.metric-detail-item span{grid-column:1/-1;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.metric-detail-item .badge-soft{grid-column:auto;grid-row:1;margin:auto 0;font-size:8px}.metric-detail-empty{padding:10px;color:var(--muted);font-size:10px;text-align:center}.metric-detail-more{padding:7px 9px 2px;color:var(--red);font-size:9px;font-weight:750;text-align:center}
.metric-detail-item .badge-soft{color:var(--red-dark);background:var(--red-soft)}
.metric-detail{width:max(100%,360px)}.metric-detail-filters{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:7px;padding:2px 2px 8px}.metric-detail-filters .form-control{min-height:34px;padding:6px 8px;font-size:10px}.metric-detail-results{max-height:240px;overflow-y:auto}@media(max-width:575.98px){.metric-detail-filters{grid-template-columns:1fr 128px}}
.panel { overflow:hidden; background:var(--surface); border:1px solid var(--line); border-radius:16px; box-shadow:0 7px 22px rgba(28,32,45,.035); }.panel-heading { display:flex; align-items:center; justify-content:space-between; padding:22px 23px 17px; }.panel-heading h3 { margin:3px 0 0; font-size:18px;font-weight:750;letter-spacing:-.35px; }.refresh-button { color:var(--muted);border:1px solid var(--line)}
.table>:not(caption)>*>*{padding:14px 23px;border-color:#f0f1f4}.table thead th{color:#8a8e9b;background:#fafafb;font-size:10px;letter-spacing:.7px;text-transform:uppercase}.table tbody td{font-size:12px}.item-title{font-weight:700}.badge-soft{padding:5px 8px;color:var(--red-dark);background:var(--red-soft);border-radius:7px;font-size:9px;font-weight:800;text-transform:uppercase}.loading-cell,.empty-state{padding:35px!important;text-align:center;color:#9296a2!important;font-size:13px}.empty-state i{display:block;margin-bottom:8px;font-size:25px;color:#c7c9d0}.empty-state p{margin:0}
.readiness-panel{text-align:center}.score-ring{--score:0deg;display:grid;place-items:center;width:142px;height:142px;margin:10px auto 17px;border-radius:50%;background:conic-gradient(var(--red) var(--score),#f0f1f4 0);position:relative}.score-ring::before{content:"";position:absolute;inset:12px;background:#fff;border-radius:50%}.score-ring div{z-index:1}.score-ring strong{font-size:35px}.score-ring span{display:block;color:var(--muted);font-size:11px}.readiness-panel>p{padding:0 25px;color:var(--muted);font-size:12px}.readiness-list{display:grid;gap:7px;padding:0 25px 24px;text-align:left;max-height:350px;overflow-y:auto;scroll-behavior:smooth}.check-item{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;background:#f8f9fa;border-radius:8px;font-size:11px}.check-item i.ok{color:#15945c}.check-item i.fail{color:var(--red)}
.stack-list{padding:0 21px 17px;max-height:350px;overflow-y:auto;scroll-behavior:smooth}.stack-item{display:flex;align-items:center;gap:13px;padding:13px 2px;border-top:1px solid #f0f1f4}.stack-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;color:var(--red);background:var(--red-soft)}.stack-copy{min-width:0;flex:1}.stack-copy strong,.stack-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stack-copy strong{font-size:12px}.stack-copy span{margin-top:3px;color:var(--muted);font-size:10px}.stack-value{font-size:11px;font-weight:750}.meeting-list-container{padding:0}.meeting-list-items{display:flex;flex-direction:column;max-height:420px;overflow-y:auto;scroll-behavior:smooth}.meeting-row{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:15px;padding:16px 22px;border-bottom:1px solid var(--line);background:#fff;transition:background .18s ease}.meeting-row:hover{background:#f8f9fa}.date-block{text-align:center;padding:7px;color:var(--red);background:var(--red-soft);border-radius:10px}.date-block strong,.date-block span{display:block}.date-block strong{font-size:18px}.date-block span{font-size:9px;font-weight:800}.meeting-row h4{margin:0 0 4px;font-size:13px}.meeting-row p{margin:0;color:var(--muted);font-size:10px}footer{text-align:center;padding:28px 0 4px;color:#9a9da7;font-size:11px}footer span{margin:0 7px;color:var(--red)}
.login-card{border:0;border-radius:18px;box-shadow:0 25px 70px rgba(25,20,22,.2)}.modal-header,.modal-body,.modal-footer{padding-left:28px;padding-right:28px}.modal-header{padding-top:27px}.modal-title{margin-top:3px;font-size:22px;font-weight:780}.form-label{font-size:11px;font-weight:750}.input-group-text,.form-control{min-height:47px;border-color:#e2e3e8}.input-group-text{color:#999ca7;background:#f7f7f9}.form-control:focus{border-color:#6bc494;box-shadow:0 0 0 .2rem rgba(13,139,70,.1)}.btn-danger{background:var(--red);border-color:var(--red)}.btn-danger:hover{background:var(--red-dark);border-color:var(--red-dark)}.login-alert{padding:10px 12px;margin-bottom:15px;color:#086534;background:var(--red-soft);border-radius:8px;font-size:12px}
.management-heading{border-bottom:1px solid var(--line)}.management-tabs{display:flex;gap:5px;padding:12px 18px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:thin}.management-tabs button{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:9px 12px;color:var(--muted);background:transparent;border:0;border-radius:8px;font-size:11px;font-weight:700}.management-tabs button:hover{color:var(--red);background:var(--red-soft)}.management-tabs button.active{color:#fff;background:var(--red)}.management-table td:last-child,.management-table th:last-child{text-align:right}.management-actions{display:flex;justify-content:flex-end;gap:5px}.action-button{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#fff}.action-button:hover{color:var(--red);border-color:#efabb3;background:var(--red-soft)}.form-help{display:block;margin-top:5px;color:var(--muted);font-size:9px}.delete-icon{display:grid;place-items:center;width:62px;height:62px;margin:auto;color:var(--red);background:var(--red-soft);border-radius:18px;font-size:25px}.record-textarea{min-height:105px}.management-panel .empty-state{min-height:150px;display:grid;place-content:center}.management-panel .empty-state i{margin:auto auto 8px}
.management-pagination{display:flex;justify-content:center;padding:15px;border-top:1px solid var(--line)}.management-pagination .page-link{min-width:32px;color:var(--red);border-color:var(--line);text-align:center}.management-pagination .page-item.active .page-link{color:#fff;background:var(--red);border-color:var(--red)}.management-pagination .page-link:focus{box-shadow:0 0 0 .15rem rgba(13,139,70,.12)}
.loan-editor{padding:12px;background:#f8f9fa;border:1px solid var(--line);border-radius:11px}.loan-row{display:grid;grid-template-columns:minmax(0,1fr) 80px 80px 38px;gap:8px;margin-bottom:8px}.loan-row .form-select,.loan-row .form-control{min-height:40px;font-size:12px}.return-button{color:#168653}.return-button:hover{color:#0e6b40;border-color:#9bd7ba;background:#eaf9f1}@media(max-width:575.98px){.loan-row{grid-template-columns:minmax(0,1fr) 60px 60px 38px}}
.checklist-editor{padding:12px;background:#f8f9fa;border:1px solid var(--line);border-radius:11px}.checklist-row{display:grid;grid-template-columns:25px minmax(0,1fr) 38px;align-items:center;gap:8px;margin-bottom:8px}.checklist-row .form-check-input{width:18px;height:18px;margin:0}.checklist-row .form-control{min-height:40px;font-size:12px}.checklist-row:has(.form-check-input:checked) .form-control{text-decoration:line-through;color:var(--muted);background:#f1f3f2}
.finance-date{padding:6px 9px;color:var(--muted);background:#f5f7f6;border-radius:7px;font-size:10px;font-weight:700}.finance-card{height:100%;padding:18px;border:1px solid #dfece4;border-radius:13px;background:linear-gradient(145deg,#fff,#f4fbf7)}.finance-card-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:700}.finance-card-head i{margin-right:5px;color:var(--red)}.finance-card-head small{font-size:9px;font-weight:600}.finance-card>strong{display:block;margin:14px 0 12px;color:var(--red-dark);font-size:24px;letter-spacing:-.6px}.finance-card>div:last-child{display:flex;flex-wrap:wrap;gap:8px;font-size:10px;font-weight:750}.finance-card .income{color:#078342}.finance-card .expense{color:#c44141}.finance-panel .finance-gate{min-height:130px}
.budget-overview{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:18px;padding:22px;color:#fff;background:linear-gradient(120deg,var(--red-dark),var(--brand-accent));border-radius:15px;box-shadow:0 12px 28px rgba(7,95,52,.15)}.budget-symbol{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:rgba(255,255,255,.15);font-size:24px}.budget-primary span,.budget-primary small{display:block}.budget-primary span{font-size:11px;font-weight:750;opacity:.75}.budget-primary strong{display:block;margin:3px 0;font-size:30px;letter-spacing:-1px}.budget-primary small{font-size:9px;opacity:.68}.budget-flow{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:10px}.budget-flow>div{padding:10px 12px;background:rgba(0,0,0,.11);border-radius:9px}.budget-flow span,.budget-flow strong{display:block}.budget-flow span{font-size:8px;text-transform:uppercase;letter-spacing:.5px;opacity:.67}.budget-flow strong{margin-top:4px;font-size:11px}.budget-flow .income{color:#b9ffd7}.budget-flow .expense{color:#ffd0d0}@media(max-width:767.98px){.budget-overview{grid-template-columns:auto 1fr}.budget-flow{grid-column:1/-1;grid-template-columns:1fr}.budget-primary strong{font-size:24px}}
.media-editor{padding:12px;background:#f8f9fa;border:1px solid var(--line);border-radius:11px}.media-row{display:grid;grid-template-columns:100px minmax(180px,1.6fr) minmax(130px,1fr) 38px;gap:8px;margin-bottom:8px}.media-row .form-select,.media-row .form-control{min-height:40px;font-size:11px}.attachment-icon{display:grid;place-items:center;width:40px;height:40px;color:var(--red);background:#fff;border:1px solid var(--line);border-radius:8px}.media-row[data-attachment-row]{grid-template-columns:40px minmax(140px,1fr) minmax(220px,1.5fr) 38px}.content-title-button{display:flex;align-items:center;gap:9px;padding:0;color:var(--ink);background:none;border:0;text-align:left;font-weight:700}.content-thumb{display:grid;place-items:center;width:34px;height:34px;overflow:hidden;color:var(--red);background:var(--red-soft);border-radius:8px}.content-thumb img{width:100%;height:100%;object-fit:cover}.content-preview-card{overflow:hidden;border:0;border-radius:18px}.content-preview-card .modal-body{padding:0 28px 30px}.content-carousel{overflow:hidden;margin-bottom:22px;border-radius:14px;background:#edf2ef}.content-carousel .carousel-item{height:min(52vw,520px)}.content-carousel img{width:100%;height:100%;object-fit:cover}.content-carousel .carousel-caption{right:5%;bottom:12px;left:5%;padding:8px 12px;background:rgba(0,0,0,.46);border-radius:8px;font-size:11px}.content-summary{padding:13px 15px;margin:0 0 15px;color:var(--red-dark);background:var(--red-soft);border-radius:10px;font-size:13px;font-weight:650}.content-body{white-space:pre-wrap;color:#444b55;font-size:13px;line-height:1.75}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;margin-top:22px}.video-frame{overflow:hidden;aspect-ratio:16/9;background:#101415;border-radius:12px}.video-frame iframe,.video-frame video{width:100%;height:100%;border:0;object-fit:contain}.video-caption{margin-top:6px;color:var(--muted);font-size:10px}@media(max-width:767.98px){.media-row,.media-row[data-attachment-row]{grid-template-columns:40px 1fr 38px}.media-row [data-media-caption],.media-row [data-attachment-url]{grid-column:1/4}.content-preview-card .modal-body{padding:0 16px 22px}}
.religious-list-container{padding:0}.religious-list-table{display:flex;flex-direction:column;max-height:380px;overflow-y:auto;scroll-behavior:smooth}.religious-list-header{display:grid;grid-template-columns:2fr 1fr 0.8fr 1fr;gap:16px;padding:12px 22px;background:#fafafb;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);font-size:10px;font-weight:800;text-transform:uppercase;color:#8a8e9b;letter-spacing:.7px}.religious-list-row{display:grid;grid-template-columns:2fr 1fr 0.8fr 1fr;gap:16px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line);background:#fff;transition:background .18s ease}.religious-list-row:hover{background:#f8f9fa}.col-title,.col-type,.col-status,.col-date{min-width:0}.col-title{display:flex;align-items:center;min-width:0}.col-title .content-title-button{margin:0;text-align:left;color:var(--ink);font-weight:700}.col-title .content-thumb{width:34px;height:34px;min-width:34px}.col-type{font-size:12px;color:var(--muted)}.col-status .badge-soft{margin:0}.col-date{font-size:11px;color:var(--muted);white-space:nowrap}
.comment-section{padding-top:24px;margin-top:28px;border-top:1px solid var(--line)}.comment-heading{display:flex;align-items:center;justify-content:space-between}.comment-heading h4{margin:2px 0 0;font-size:17px}.comment-heading small{color:var(--muted);font-size:10px}.comment-list{display:grid;gap:9px;margin:14px 0;max-height:350px;overflow-y:auto;scroll-behavior:smooth}.comment-card{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:11px;background:#f7faf8;border-radius:11px}.comment-card.comment-reply{margin-left:28px}.comment-avatar{display:grid;place-items:center;width:36px;height:36px;color:#fff;background:var(--red);background-position:center;background-size:cover;border-radius:10px;font-size:12px;font-weight:800}.comment-copy strong{font-size:11px}.comment-copy time{margin-left:7px;color:var(--muted);font-size:8px}.comment-copy p{margin:4px 0 0;white-space:pre-wrap;font-size:11px}.comment-form textarea{min-height:76px;resize:vertical;font-size:12px}.comment-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.emoji-picker{display:flex;gap:3px}.emoji-picker button{display:grid;place-items:center;width:31px;height:31px;padding:0;background:#fff;border:1px solid var(--line);border-radius:8px}.emoji-picker button:hover{background:var(--red-soft)}.comment-signin{display:block;margin-top:7px;color:var(--muted)}
.modal-scaffold{display:flex;flex-direction:column;max-height:calc(100vh - 3rem)}.modal-scaffold .modal-header{flex-shrink:0}.modal-form-wrapper{display:flex;flex-direction:column;min-height:0;overflow:hidden}.modal-form-wrapper .modal-body{flex:1;overflow-y:auto;min-height:0}.modal-form-wrapper .modal-footer{flex-shrink:0}.modal-body-scrollable{flex:1;overflow-y:auto;min-height:0}
@media(max-width:991.98px){.sidebar{position:fixed}.main-content{margin-left:0}.hero-date{display:none}.topbar{min-height:77px}.user-chip span{display:none}}
@media(max-width:575.98px){.dashboard-body{padding-top:20px}.hero-panel{min-height:175px}.metric-card{display:block;min-height:145px;padding:15px}.metric-icon{width:38px;height:38px;margin-bottom:10px}.metric-card strong{font-size:25px}.metric-detail{position:fixed;top:auto;right:14px;bottom:14px;left:14px;width:auto}.metric-detail::before{display:none}.topbar .btn-danger{font-size:0;width:42px;height:42px;padding:0!important}.topbar .btn-danger i{margin:0!important;font-size:17px}.meeting-row{grid-template-columns:52px 1fr}.meeting-row>.badge-soft{display:none}}
.management-search{max-width:560px;padding:12px 18px;border-bottom:1px solid var(--line)}.management-search .form-control{min-height:38px}.activity-group-row td{padding:8px 14px!important;color:var(--red-dark);background:var(--red-soft)!important;text-align:left!important;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.complete-button{color:#168653}
.brand-logo-control{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:12px}.brand-logo-preview{display:grid;place-items:center;width:74px;height:74px;overflow:hidden;background:#f5f8f6;border:1px solid var(--line);border-radius:14px}.brand-logo-preview img{width:100%;height:100%;object-fit:contain}.brand-color-control{display:grid;grid-template-columns:58px minmax(90px,1fr);align-items:center;gap:12px;min-height:47px;padding:6px 10px;border:1px solid #e2e3e8;border-radius:.375rem}.brand-color-control .form-control-color{width:48px;min-height:35px;padding:3px;border:0}.brand-color-control output{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;text-transform:uppercase}@media(max-width:575.98px){.brand-logo-control{grid-template-columns:58px minmax(0,1fr)}.brand-logo-preview{width:58px;height:58px}}
.activity-filter-grid{display:grid;grid-template-columns:minmax(150px,210px) minmax(280px,1fr);gap:9px}.activity-filter-grid>.form-select{min-height:38px;border-color:var(--line);font-size:11px}@media(max-width:575.98px){.activity-filter-grid{grid-template-columns:1fr}}
.dashboard-list-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(145px,190px);gap:9px;padding:0 18px 14px}.dashboard-list-filters .form-control{min-height:38px;border-color:var(--line);font-size:11px}@media(max-width:575.98px){.dashboard-list-filters{grid-template-columns:1fr;padding:0 12px 12px}}
.attendance-summary-list{display:flex;flex-direction:column;gap:0;padding:0;max-height:420px;overflow-y:auto;scroll-behavior:smooth}.attendance-list-item{border-bottom:1px solid var(--line)}.attendance-list-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px 22px;cursor:pointer;background:#fff;transition:background .18s ease}.attendance-list-row:hover{background:#f8f9fa}.attendance-item-title{display:flex;align-items:center;gap:12px;min-width:0}.attendance-item-title i{display:grid;place-items:center;width:20px;height:20px;color:var(--muted);transition:transform .18s ease;font-size:16px}.attendance-item-title i.rotated{transform:rotate(90deg)}.attendance-item-title strong{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-item-stats{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}.attendance-item-stats .badge-soft{padding:4px 8px;font-size:9px}.attendance-item-stats span{color:var(--muted);font-size:11px;font-weight:600}.attendance-details{padding:12px 22px 16px;background:#f8f9fa;border-top:1px solid #f0f1f4}.attendance-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}.attendance-counts div{padding:9px 6px;text-align:center;background:#fff;border:1px solid #e8efeb;border-radius:8px}.attendance-counts strong,.attendance-counts span{display:block}.attendance-counts strong{font-size:18px;color:var(--red-dark)}.attendance-counts span{font-size:8px;color:var(--muted);text-transform:uppercase}.attendance-names{padding:12px;background:#fff;border:1px solid #e2ebe6;border-radius:10px}.attendance-names-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.attendance-names-header strong{font-size:11px;color:var(--ink)}.attendance-names-header span{color:var(--muted);font-size:9px;font-weight:650}.attendance-names p{margin:0;color:var(--muted);font-size:10px}.attendance-name-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;padding:0;margin:0;list-style:none}.attendance-name-list li{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 10px;background:#f4faf6;border:1px solid #e2f0e7;border-radius:9px}.attendance-name-avatar{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;color:#fff;background:var(--red);border-radius:50%;font-size:10px;font-weight:800}.attendance-name-text{min-width:0;overflow:hidden;color:#25332b;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700}.attendance-progress{height:6px;margin:12px 0 7px;background:#e7eeea;border-radius:6px;overflow:hidden}.attendance-progress span{display:block;height:100%;background:var(--red)}.attendance-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}@media(max-width:575.98px){.attendance-list-row{grid-template-columns:1fr}.attendance-item-stats{justify-content:flex-start;padding-left:32px}.attendance-details{padding:12px}.attendance-counts{grid-template-columns:1fr}.attendance-name-list{grid-template-columns:1fr}}
.meeting-response{display:flex;align-items:center;gap:6px;margin-top:8px}.meeting-response small{color:var(--muted);text-transform:capitalize}

.loan-row [data-loan-cost]{grid-column:1/-1}
@media(max-width:575.98px){.loan-row [data-asset-id]{grid-column:1/-1}}

/* Dashboard category layout: preserve the existing controls and brand tokens. */
.sidebar {
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar-top) 4%, white), color-mix(in srgb, var(--sidebar-mid) 5%, white));
  color: var(--ink);
  border-top: 0;
  border-right: 1px solid var(--line);
  box-shadow: none;
}
.sidebar-brand { min-height: 106px; border-bottom: 1px solid var(--line); }
.sidebar-brand strong { font-size: 19px; }
.sidebar-brand span { color: var(--muted); opacity: 1; letter-spacing: .6px; }
.sidebar-brand .btn-close { filter: none; }
.brand-mark { box-shadow: none; }
.sidebar .nav { flex: 1 1 auto; flex-wrap: nowrap; overflow-y: auto; overflow-x: hidden; min-height: 0; margin-top: 14px!important; padding-bottom: 16px; }
.sidebar-nav-group { flex: 0 0 auto; width: 100%; min-width: 0; }
.sidebar-nav-group + .sidebar-nav-group { margin-top: 18px; }
.nav-category { margin: 0 14px 7px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; }
.sidebar .nav-link { min-height: 44px; margin: 3px 0; padding: 11px 14px; gap: 12px; color: var(--muted); font-weight: 500; border-radius: 9px; }
.sidebar .nav-link:hover { color: var(--red-dark); background: var(--red-soft); transform: none; }
.sidebar .nav-link.active { color: var(--red); background: var(--surface); box-shadow: inset 3px 0 var(--red); font-weight: 650; }
.sidebar-foot { position: static; flex-shrink: 0; margin: 8px 18px 18px; border-color: var(--line); background: var(--surface); border-radius: 10px; }
.sidebar-foot span { color: var(--muted); }
.sidebar-foot strong { color: var(--ink); }
.topbar { box-shadow: none; }
.dashboard-body { max-width: 1760px; }
.hero-panel { min-height: 145px; padding: 26px 30px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); box-shadow: none; align-items: center; gap: 20px; }
.hero-panel::after { display: none; }
.hero-kicker { margin-bottom: 12px; padding: 0; border: 0; background: none; color: var(--red); }
.hero-panel h2 { font-size: clamp(24px, 2.5vw, 34px); letter-spacing: -.8px; }
.hero-panel p { color: var(--muted); opacity: 1; line-height: 1.7; }
.hero-date { background: var(--red-soft); color: var(--red-dark); }
.metric-card { min-height: 142px; border-radius: 11px; box-shadow: none; padding: 24px; }
.panel { border-radius: 12px; box-shadow: none; }
.panel-heading { padding: 22px 24px; border-bottom: 1px solid var(--line); }
.panel-heading h3 { line-height: 1.4; }
.section-label { display: inline-block; margin-bottom: 5px; letter-spacing: 1px; }
#managementTabs.management-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 20px 24px; overflow: visible; background: var(--canvas); border-bottom: 1px solid var(--line); }
.resource-category { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.resource-category:not(:has([data-resource]:not(.d-none))) { display: none; }
.resource-category-title { margin: 0 0 12px; color: var(--muted); font-size: 11px; font-weight: 750; letter-spacing: .65px; text-transform: uppercase; }
.resource-category-title [lang="id"] { display: none; }
html[lang^="id"] .resource-category-title [lang="en"] { display: none; }
html[lang^="id"] .resource-category-title [lang="id"] { display: inline; }
.resource-category-items { display: grid; gap: 5px; }
#managementTabs button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; padding: 10px 12px; text-align: left; white-space: normal; line-height: 1.45; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--ink); font-size: 12px; font-weight: 500; }
#managementTabs button i { flex: 0 0 18px; color: var(--muted); font-size: 15px; }
#managementTabs button:hover { background: var(--canvas); border-color: var(--line); }
#managementTabs button.active { color: var(--red-dark); background: var(--red-soft); border-color: color-mix(in srgb, var(--red) 20%, white); font-weight: 700; }
#managementTabs button.active i { color: var(--red); }
#managementTabs button:focus-visible, .sidebar .nav-link:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
@media (min-width: 1600px) { #managementTabs.management-tabs { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 1199.98px) { #managementTabs.management-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
  .hero-panel { padding: 22px; align-items: flex-start; flex-direction: column; }
  .metric-card { padding: 18px; min-height: 128px; }
  .panel-heading { padding: 18px; }
  #managementTabs.management-tabs { padding: 16px; gap: 10px; }
}
@media (max-width: 575.98px) {
  #managementTabs.management-tabs { grid-template-columns: minmax(0, 1fr); }
  .resource-category { padding: 14px; }
}

/* Existing management selectors nested below their sidebar parent. */
.manage-data-toggle { display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 3px 0; padding: 11px 14px; border-radius: 9px; color: var(--muted); font-size: 14px; font-weight: 500; cursor: pointer; list-style: none; }
.manage-data-toggle::-webkit-details-marker { display: none; }
.manage-data-toggle > i:first-child { width: 22px; text-align: center; font-size: 18px; }
.manage-data-chevron { margin-left: auto; font-size: 12px; transition: transform .18s ease; }
.manage-data-menu[open] > .manage-data-toggle .manage-data-chevron { transform: rotate(180deg); }
.manage-data-toggle:hover { background: var(--red-soft); color: var(--red-dark); }
.manage-data-toggle.active { color: var(--red); background: var(--surface); box-shadow: inset 3px 0 var(--red); font-weight: 650; }
.manage-data-toggle:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
.manage-data-menu #managementTabs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin: 8px 0 12px 24px; padding: 0 0 0 12px; border: 0; border-left: 1px solid var(--line); background: transparent; }
.manage-data-menu .resource-category { padding: 0; border: 0; border-radius: 0; background: transparent; }
.manage-data-menu .resource-category-title { margin: 7px 8px; font-size: 9px; line-height: 1.5; }
.manage-data-menu .resource-category-items { gap: 2px; }
.manage-data-menu #managementTabs button { padding: 8px; min-height: 36px; font-size: 12px; }
#management { scroll-margin-top: 110px; }
.comment-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:5px}.comment-reaction.active{font-weight:700}
