/* Administration uses the public portal's palette; authentication keeps its own layout. */
@font-face{font-family:AsnJakarta;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/plus-jakarta-600.ttf') format('truetype')}
@font-face{font-family:AsnJakarta;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/plus-jakarta-700.ttf') format('truetype')}
.fi-body:has(.fi-layout){background:#f7f9fe;color:#102235}
.fi-layout{--asn-green:#064e3b;--asn-ink:#102235;--asn-muted:#64748b;--asn-line:#e4eaf0;font-family:Inter,system-ui,sans-serif}
.fi-layout .fi-topbar{background:#fff;border-bottom:1px solid var(--asn-line);box-shadow:none}
.fi-layout .fi-sidebar{background:#fff;border-right:1px solid var(--asn-line);color:var(--asn-ink)}
.fi-layout .fi-sidebar-header{background:#fff;border-bottom:1px solid var(--asn-line);box-shadow:none}
.fi-layout .fi-sidebar-item-label,.fi-layout .fi-sidebar-item-icon{color:#44534c}
.fi-layout .fi-sidebar-item-btn{border-radius:6px;min-height:44px;padding:11px 13px;transition:background .15s,color .15s}
.fi-layout .fi-sidebar-item-btn:hover{background:#e9f5ef}
.fi-layout .fi-sidebar-item.fi-active>.fi-sidebar-item-btn{background:var(--asn-green);box-shadow:inset 3px 0 #d99b42}
.fi-layout .fi-sidebar-item.fi-active>.fi-sidebar-item-btn .fi-sidebar-item-label,.fi-layout .fi-sidebar-item.fi-active>.fi-sidebar-item-btn .fi-sidebar-item-icon{color:#fff}
.fi-layout .fi-sidebar-group-label{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#73817c;font-weight:700}
.fi-layout .fi-sidebar-item-label{font-size:13px;font-weight:550}
.fi-layout .fi-sidebar-nav{padding-inline:12px}
.fi-layout .fi-main{width:100%;max-width:none}
.fi-layout .fi-page,.fi-layout .fi-page-content{min-width:0}
.fi-layout .fi-header-heading{font-family:AsnJakarta,Inter,sans-serif;font-size:28px;font-weight:700;letter-spacing:-.035em;color:var(--asn-ink)}
.fi-layout .fi-section,.fi-layout .fi-ta{border:1px solid var(--asn-line);border-radius:10px;background:#fff;box-shadow:0 2px 5px #10223503}
.fi-layout .fi-section-header{border-color:var(--asn-line)}
.fi-layout .fi-section-header-heading{font-family:AsnJakarta,Inter,sans-serif;color:var(--asn-ink);font-size:16px}
.fi-layout .fi-input-wrp{background:#fff;border-radius:6px;box-shadow:0 0 0 1px #dbe3e9}
.fi-layout .fi-input{font-size:13px;color:var(--asn-ink)}
.fi-layout .fi-input-wrp:focus-within{box-shadow:0 0 0 2px #368565}
.fi-layout .fi-btn{border-radius:6px;font-size:12px;box-shadow:none}
.fi-layout .fi-btn:focus-visible{outline:2px solid #d99b42;outline-offset:3px}
.fi-layout .fi-pagination{padding:12px 0}
.asn-panel-brand{display:flex;align-items:center;gap:10px;min-width:0}
.asn-panel-brand img{object-fit:contain;flex-shrink:0}
.asn-panel-brand strong{font-family:AsnJakarta,Inter,sans-serif;color:#064e3b;font-size:17px;font-weight:700;display:block;line-height:1.4;letter-spacing:-.03em}
.asn-panel-brand small{display:block;color:#67756f;font:400 10px/1.6 Inter,system-ui,sans-serif;letter-spacing:.02em}
.asn-portal-link{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#eef3ff;color:#064e3b;border:1px solid #e2e9f5;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}
.asn-portal-link:hover{background:#e4eee9}.asn-portal-link .icon{width:17px;height:17px}
.asn-dashboard-intro{display:grid;gap:22px;min-width:0}
.asn-admin-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:10px;background:#003527;color:white;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.asn-admin-hero:after{content:'';position:absolute;z-index:-1;right:-65px;top:-170px;width:420px;height:420px;border:1px solid #ffffff17;box-shadow:0 0 0 35px #ffffff04,0 0 0 80px #ffffff04,0 0 0 120px #ffffff04;border-radius:50%;pointer-events:none}
.asn-admin-eyebrow{font-size:10px;font-weight:650;letter-spacing:.12em;color:#e8b66d}
.asn-admin-hero h2{font-family:AsnJakarta,Inter,sans-serif;font-size:27px;font-weight:700;line-height:1.45;letter-spacing:-.035em;margin:10px 0;overflow-wrap:anywhere}
.asn-admin-hero p{font-size:13px;color:#b9d7ca;line-height:1.8;max-width:620px}
.asn-admin-role{display:inline-flex;align-items:center;gap:7px;margin-top:18px;padding:5px 10px;background:#ffffff13;border:1px solid #ffffff1c;border-radius:5px;color:#d8eee5;font-size:11px}
.asn-admin-role .icon{width:14px;height:14px}
.asn-admin-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;white-space:nowrap;padding:11px 16px;border:1px solid #f3b34c;background:#f7ac46;color:#392207;border-radius:6px;font-size:12px;font-weight:650}
.asn-admin-action:hover{background:#ffc36c}.asn-admin-action .icon{width:17px;height:17px}
.asn-admin-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px}
.asn-shortcut{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #e4eaf0;border-radius:9px;padding:20px;transition:box-shadow .2s,border-color .2s;min-width:0}
.asn-shortcut:hover{border-color:#a9cbb8;box-shadow:0 4px 16px #10223508}
.asn-shortcut-icon{height:42px;width:42px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;color:#064e3b;background:#e3f3ea}
.asn-shortcut-gold{background:#fff1d8;color:#a26712}
.asn-shortcut-icon .icon{width:22px;height:22px}.asn-shortcut>div{flex:1;min-width:0}
.asn-shortcut strong{font-family:AsnJakarta,Inter,sans-serif;font-size:13px;font-weight:700;color:#102235;display:block}
.asn-shortcut p{font-size:11px;line-height:1.7;color:#64748b;margin:5px 0 0}
.asn-shortcut>.icon{width:16px;height:16px;color:#7b9488;flex-shrink:0}
.fi-layout .mengaji-report-table-wrapper{background:#fff;border-color:var(--asn-line);border-radius:8px}
.fi-layout .mengaji-report-table thead{background:#f2f6fa}
.fi-layout .mengaji-report-table th{font-family:AsnJakarta,Inter,sans-serif;font-size:11px;color:#566a79;font-weight:600}
.fi-layout .mengaji-report-table td{font-size:12px;color:var(--asn-ink)}
.fi-layout .mengaji-report-table tbody tr{border-color:#edf1f5}
.fi-layout .mengaji-report-table tbody tr:hover{background:#f8fcfa}
.fi-layout .mengaji-report-table small{color:var(--asn-muted)}
.fi-layout .mengaji-report-filters{padding:18px;background:#fff;border:1px solid var(--asn-line);border-radius:8px}
.fi-layout .mengaji-report-filters>label{font-size:12px;color:#566879}
.fi-layout .activity-report-form{gap:10px;margin-top:20px;max-width:880px}
.fi-layout .activity-report-form>label{font-size:12px;font-weight:600;color:#455b6b;margin-top:5px}
.fi-layout .activity-report-description{background:#fff;border:1px solid #dbe3e9;border-radius:6px;color:var(--asn-ink);font-size:13px;line-height:1.8;padding:12px}
.fi-layout .activity-report-description:focus{outline:2px solid #368565;outline-offset:0}
.fi-layout .activity-report-card h2{font-family:AsnJakarta,Inter,sans-serif;font-size:16px;font-weight:700;color:var(--asn-green)}
.fi-layout .activity-report-card p{font-size:12px;color:#64748b;line-height:1.8}
.fi-layout .activity-report-text{color:#334155!important}
.fi-layout .activity-report-link{display:inline-block;color:var(--asn-green);font-size:12px;font-weight:600;margin-bottom:14px}
.fi-layout .activity-report-video{background:#edf4f0;border-radius:8px}
.asn-report-intro{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid #dcece3;background:#eff8f3;border-radius:9px}
.asn-report-intro-icon{height:42px;width:42px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:#caebdb;color:#064e3b}
.asn-report-intro h2{font-family:AsnJakarta,Inter,sans-serif;font-size:16px;font-weight:700;color:#064e3b;margin:0 0 4px}
.asn-report-intro p{font-size:12px;color:#5d7467;line-height:1.7}
.fi-layout .asn-profile-intro h2{font-family:AsnJakarta,Inter,sans-serif;color:#064e3b;font-size:21px}
.fi-layout .asn-profile-header{padding:20px;background:#f2f6fc;border:1px solid #e4eaf0;border-radius:8px}
.fi-layout .asn-profile-photo{border-radius:8px;border:1px solid #dce5e0}
.fi-layout .asn-profile-groups h3{font-family:AsnJakarta,Inter,sans-serif;color:#064e3b;font-size:14px}
.fi-layout .asn-profile-fields>div{border-color:#edf1f5}
.fi-layout .asn-profile-fields dt{color:#64748b;opacity:1;font-size:11px}
.fi-layout .asn-profile-fields dd{color:#253e50;font-size:13px}
.fi-layout .asn-profile-note{opacity:1;color:#64748b;line-height:1.8}
@media(min-width:1024px){.fi-layout .fi-main{padding-inline:28px}}
@media(max-width:767px){.fi-layout .fi-header-heading{font-size:23px}.asn-admin-hero{padding:24px;align-items:flex-start;flex-direction:column;gap:20px}.asn-admin-hero h2{font-size:23px}.asn-admin-hero p{font-size:12px}.asn-admin-eyebrow{font-size:8px}.asn-admin-action{width:100%;font-size:11px}.asn-admin-shortcuts{grid-template-columns:1fr;gap:12px}.asn-shortcut{padding:17px}.asn-dashboard-intro{gap:18px}.asn-panel-brand strong{font-size:15px}.asn-panel-brand img{width:28px;height:35px}.asn-panel-brand small{font-size:9px}.asn-portal-link{font-size:11px;padding:7px 9px}.fi-layout .mengaji-report-filters{grid-template-columns:1fr;padding:14px}.asn-report-intro{padding:16px;align-items:flex-start}.asn-report-intro h2{font-size:14px}.asn-report-intro p{font-size:11px}.fi-layout .asn-profile-header{padding:16px;gap:16px}.fi-layout .asn-profile-intro h2{font-size:18px}.fi-layout .activity-report-card{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.fi-layout *{scroll-behavior:auto!important;transition:none!important}}

.fi-layout .fi-topbar-end .asn-portal-link{margin-inline-end:14px;flex-shrink:0}
.asn-overview{display:grid;gap:22px;min-width:0}.asn-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.asn-overview-eyebrow{font-size:9px;letter-spacing:.1em;font-weight:700;color:#537566}.asn-overview h2{font-family:AsnJakarta,Inter,sans-serif;font-size:21px;line-height:1.5;font-weight:700;color:#102235;margin:4px 0}.asn-overview-heading p,.asn-overview-panel-heading p{font-size:11px;color:#64748b;line-height:1.7;margin-top:5px}.asn-overview-period{font-size:11px;color:#537566;white-space:nowrap;background:#e9f5ef;padding:7px 10px;border-radius:5px}.asn-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.asn-overview-stats article{background:#fff;border:1px solid #e4eaf0;border-top:3px solid #b6c9bf;border-radius:8px;padding:20px;min-width:0}.asn-overview-stats article.asn-stat-featured{background:#eff8f3;border-top-color:#16805d}.asn-overview-stats article>span{display:block;color:#536b5e;font-size:11px;font-weight:600}.asn-overview-stats strong{font-size:32px;font-family:AsnJakarta,Inter,sans-serif;color:#064e3b;display:block;margin:12px 0 7px;line-height:1.3;font-variant-numeric:tabular-nums}.asn-overview-stats small{font-size:10px;color:#64748b;display:block;line-height:1.7}.asn-reporting-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid #dcece3;border-radius:9px;padding:24px}.asn-reporting-panel>div:first-child{flex:1;min-width:0}.asn-overview h3{font-family:AsnJakarta,Inter,sans-serif;font-size:16px;color:#102235;font-weight:700;line-height:1.5;margin:5px 0}.asn-reporting-panel p{font-size:12px;color:#64748b;line-height:1.8}.asn-reporting-panel progress{display:block;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;margin-top:16px;background:#e7efeb;accent-color:#16805d}.asn-reporting-panel progress::-webkit-progress-bar{background:#e7efeb}.asn-reporting-panel progress::-webkit-progress-value{background:#16805d}.asn-reporting-panel progress::-moz-progress-bar{background:#16805d}.asn-reporting-numbers{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.asn-reporting-numbers strong{font-size:32px;font-weight:700;line-height:1.2;color:#064e3b}.asn-reporting-numbers small{font-size:18px}.asn-reporting-numbers>span{font-size:10px;background:#fff2dd;color:#925508;padding:5px 9px;border-radius:5px}.asn-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.asn-overview-panel{background:#fff;border:1px solid #e4eaf0;border-radius:9px;padding:24px;min-width:0}.asn-overview-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.asn-overview-panel-heading>.icon{width:23px;height:23px;color:#698573}.asn-overview-badge{display:inline-block;white-space:nowrap;font-size:10px;font-weight:600;background:#e9f5ef;color:#064e3b;border-radius:4px;padding:4px 8px}.asn-overview-badge-gold{background:#fff2dd;color:#925508}.asn-overview-search{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #dce5e0;background:#f7f9fe;border-radius:6px;margin-bottom:12px}.asn-overview-search .icon{width:16px;height:16px;color:#64748b}.asn-overview-search input{border:0;background:transparent;outline:0;flex:1;min-width:0;font-size:12px;color:#102235}.asn-overview-search:focus-within{outline:2px solid #368565;outline-offset:1px}.asn-overview-unit-list{margin:0;padding:0;list-style:none;max-height:300px;overflow-y:auto;scrollbar-width:thin}.asn-overview-unit-list li{padding:12px 0;border-bottom:1px solid #edf1f5;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.7;overflow-wrap:anywhere}.asn-overview-unit-list li:last-child{border-bottom:0}.asn-overview-link{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#064e3b;font-weight:600;text-decoration:none}.asn-overview-link:hover{text-decoration:underline}.asn-overview-link .icon{width:15px;height:15px}.asn-overview-panel>.asn-overview-link{margin-top:18px}.asn-overview-empty{padding:24px 12px!important;color:#64748b;font-size:12px;text-align:center}.asn-operator-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.asn-operator-stats>div{background:#f4f7fc;border:1px solid #edf1f5;border-radius:7px;padding:16px}.asn-operator-stats strong{display:block;font-size:28px;line-height:1.3;color:#064e3b;font-weight:700}.asn-operator-stats>div:last-child strong{color:#a66812}.asn-operator-stats span{font-size:11px;color:#64748b;display:block;margin-top:9px;line-height:1.7}.asn-overview-note{font-size:10px;color:#64748b;line-height:1.8;margin:16px 0}.asn-operator-details summary{cursor:pointer;color:#064e3b;font-size:11px;font-weight:600}.asn-operator-details ul{margin-top:10px}.asn-upload-action{margin-top:20px;width:100%}.asn-overview-table-scroll{overflow-x:auto;max-width:100%}.asn-overview-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.7;text-align:left}.asn-overview-table th{font-size:10px;font-weight:600;color:#64748b;background:#f4f7fc;padding:12px;white-space:nowrap}.asn-overview-table td{padding:14px 12px;border-bottom:1px solid #edf1f5;vertical-align:top}.asn-overview-table tr:last-child td{border-bottom:0}.asn-overview-table td strong{font-size:12px;font-weight:600;color:#102235}.asn-rank-number{display:inline-grid;place-items:center;width:28px;height:28px;background:#edf5ef;color:#064e3b;font-size:12px;font-weight:700;border-radius:6px}.asn-overview-table tbody tr:first-child .asn-rank-number{background:#fff0ce;color:#975b08}@media(max-width:1200px){.asn-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.asn-overview-grid{grid-template-columns:1fr}}@media(max-width:767px){.asn-overview{gap:18px}.asn-overview-heading{align-items:flex-start;flex-direction:column}.asn-overview h2{font-size:18px}.asn-overview-stats{gap:12px}.asn-overview-stats article{padding:16px}.asn-overview-stats strong{font-size:27px}.asn-overview-stats article>span{font-size:10px}.asn-overview-stats small{font-size:9px}.asn-overview-panel{padding:18px}.asn-overview h3{font-size:15px}.asn-reporting-panel{padding:18px;flex-wrap:wrap;gap:18px}.asn-reporting-panel>div:first-child{flex-basis:100%}.asn-reporting-numbers{align-items:flex-start}.asn-overview-table{min-width:610px}.asn-overview-table td,.asn-overview-table th{padding:11px}.asn-overview-unit-list li{font-size:11px}.asn-overview-unit-list .asn-overview-badge{font-size:8px;padding:4px 6px}.asn-operator-stats{gap:10px}.asn-operator-stats>div{padding:12px}.asn-operator-stats span{font-size:10px}.asn-overview-eyebrow{font-size:8px}.asn-overview-panel-heading{flex-wrap:wrap}.asn-overview-panel .asn-admin-action{font-size:11px}}
