/* Reference shell: navy navigation, white utility bar, warm content. */
html body.fl-ui .sidebar .side-group-toggle>span{white-space:nowrap!important}
@media(min-width: 769px){
html body.fl-ui{background:var(--fl-bg)!important}
html body.fl-ui .shell{display:block!important;max-width:none!important;margin:0!important;padding:0!important;min-height:100vh}
html body.fl-ui .sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:270px!important;min-width:270px!important;max-width:270px!important;height:100vh!important;height:100dvh!important;z-index:50!important;display:flex!important;flex-direction:column!important;background:#1e3a5f!important;border:0!important;border-right:1px solid rgba(255,255,255,0.12)!important;border-radius:0!important;box-shadow:none!important;padding:0!important;overflow:hidden!important;transform:none!important}
html body.fl-ui .sidebar:before,html body.fl-ui .sidebar:after{display:none!important}
html body.fl-ui .sidebar .portal-brand{position:sticky!important;top:0!important;z-index:20!important;flex:0 0 auto!important;background:#1e3a5f!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;padding:22px 20px 18px!important;margin:0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,0.12)!important;border-radius:0!important;min-height:94px!important}
html body.fl-ui .sidebar .brand-logo{width:56px!important;height:50px!important;object-fit:contain!important;background:#fff!important;border-radius:12px!important;padding:3px!important;flex-shrink:0!important}
html body.fl-ui .sidebar .brand-copy{display:block!important;text-align:left!important;min-width:0!important}
html body.fl-ui .sidebar .brand-copy b{font-size:16px!important;color:#fff!important;white-space:nowrap!important;display:block!important}
html body.fl-ui .sidebar .brand-copy small{font-size:11px!important;color:#b7c9e0!important;display:block!important}
html body.fl-ui .sidebar-collapse{display:none!important}
html body.fl-ui .grouped-sidebar-nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:12px 14px 16px!important;margin:0!important;border:0!important;scrollbar-width:thin;scrollbar-color:#55718f transparent;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
html body.fl-ui .side-nav-group{border:0!important;margin:0 0 10px!important;padding:0!important;background:transparent!important}
html body.fl-ui .side-group-toggle{display:flex!important;align-items:center!important;width:100%!important;border:0!important;background:transparent!important;color:#92accb!important;padding:10px 12px 6px!important;min-height:28px!important;border-radius:0!important;font-size:10px!important;letter-spacing:.08em!important;pointer-events:none}
html body.fl-ui .side-group-toggle>svg{display:none!important}
html body.fl-ui .side-group-toggle>span{text-transform:uppercase!important;color:#92accb!important;font-size:10px!important;font-weight:600!important}
html body.fl-ui .side-group-items{display:block!important;padding:2px 0 2px 6px!important;margin:0!important;border:0!important}
html body.fl-ui .sidebar .side-link{display:flex!important;align-items:center!important;gap:7px!important;margin:2px 0!important;padding:7px 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#dbe7f6!important;min-height:36px!important;text-decoration:none!important;position:relative!important;box-shadow:none!important;font-size:13px!important;width:100%!important;box-sizing:border-box!important;overflow:hidden!important}
html body.fl-ui .sidebar .side-link svg{width:18px!important;height:18px!important;color:#b7c9e0!important;stroke:currentColor!important;fill:none!important;stroke-width:1.7!important;flex-shrink:0!important}
html body.fl-ui .sidebar .side-link .side-link-label{flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:inherit!important;font-size:13px!important}
html body.fl-ui .sidebar .side-link .side-link-meta{margin-left:auto!important;display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;flex-shrink:0!important;max-width:55%!important}
html body.fl-ui .sidebar .side-link .side-link-tags{margin:0!important;display:inline-flex!important;align-items:center!important;gap:2px!important;flex-shrink:1!important;min-width:0!important;overflow:hidden!important}
html body.fl-ui .sidebar .side-link :is(.sidebar-nav-tag,.portal-important-tag){margin:0!important;padding:1px 5px!important;font-size:8px!important;line-height:14px!important;min-height:16px!important;height:16px!important;max-height:16px!important;border-radius:4px!important;letter-spacing:.02em!important;box-shadow:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:54px!important}
html body.fl-ui .sidebar .side-link .nav-badge,.sidebar .nav-badge,.nav-badge{background:#dc2626!important;color:#ffffff!important;font-weight:750!important;border-radius:999px!important;padding:0 5px!important;font-size:10.5px!important;line-height:18px!important;min-width:18px!important;height:18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 1px 4px rgba(220,38,38,0.4)!important;margin:0!important;flex-shrink:0!important;box-sizing:border-box!important}
html body.fl-ui .sidebar .side-link.active{background:#ffffff22!important;color:#fff!important;font-weight:700!important}
html body.fl-ui .sidebar .side-link.active:before{content:''!important;position:absolute!important;left:0!important;top:8px!important;bottom:8px!important;width:4px!important;background:#df7a00!important;border-radius:3px!important}
html body.fl-ui .sidebar .side-link:hover{background:#ffffff12!important}
html body.fl-ui .sidebar-foot{position:sticky!important;bottom:0!important;z-index:20!important;flex:0 0 auto!important;margin:auto 0 0 0!important;padding:14px 20px!important;background:#1e3a5f!important;border:0!important;border-top:1px solid rgba(255,255,255,0.12)!important;box-shadow:0 -4px 18px rgba(10,25,45,0.28)!important}
html body.fl-ui .sidebar-foot .account-row{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:nowrap!important;padding:0!important;border:0!important}
html body.fl-ui .sidebar-foot .account-avatar{width:38px!important;height:38px!important;border:0!important;box-shadow:none!important;background:#df7a00!important;color:#fff!important;font-size:12px!important}
html body.fl-ui .sidebar-foot .account-copy{display:flex!important;flex-direction:column!important;min-width:0!important;flex:1!important}
html body.fl-ui .sidebar-foot .account-copy b{order:-1!important;color:white!important;font-size:12px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body.fl-ui .sidebar-foot .account-copy small{color:#b7c9e0!important;font-size:10px!important}
html body.fl-ui .sidebar-signout{background:transparent!important;border:0!important;color:#b7c9e0!important;padding:0!important;min-width:24px!important}
html body.fl-ui .sidebar-signout svg{width:20px!important;height:20px!important}
html body.fl-ui .sidebar-signout span{display:none!important}
html body.fl-ui .theme-toggle{display:none!important}
html body.fl-ui .sidebar-copyright{display:none!important}
html body.fl-ui main{margin-left:270px!important;width:calc(100% - 270px)!important;min-width:0!important;padding:0!important;background:var(--fl-bg)!important}
html body.fl-ui.is-dashboard-page .topbar{height:64px!important;min-height:64px!important;padding:12px 32px!important;background:var(--fl-card,#fff)!important;border:0!important;border-bottom:1px solid var(--fl-line,#dbe2ec)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;margin:0!important;border-radius:0!important;position:sticky!important;top:0!important;z-index:40!important;box-shadow:none!important}
html body.fl-ui.is-module-page .topbar,html body.fl-ui:not(.is-dashboard-page) .topbar{display:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important}
html body.fl-ui main{padding-top:0!important}
html body.fl-ui .topbar .menu{display:none!important}
html body.fl-ui .topbar-copy{display:none!important}
.portal-search{display:flex;align-items:center;gap:10px;width:420px;max-width:45%;border:1px solid var(--fl-line);border-radius:24px;padding:8px 14px;background:var(--fl-bg)}
.portal-search svg{width:18px;height:18px;stroke:var(--fl-muted);fill:none;stroke-width:1.8}
.portal-search input{width:100%!important;min-width:0;border:0!important;box-shadow:none!important;background:transparent!important;padding:2px!important;font-size:12px!important;color:var(--fl-ink)!important;min-height:24px!important}
.portal-search button{border:0;background:none;padding:0;display:flex;cursor:pointer}
html body.fl-ui .topbar-meta{display:flex!important;align-items:center!important;gap:18px!important}
html body.fl-ui .topbar-date{order:-1;background:none!important;border:0!important;font-size:11px!important;color:var(--fl-muted)!important;padding:0!important}
html body.fl-ui .topbar-date svg{display:none!important}
html body.fl-ui .fl-header-bell{display:flex!important;background:var(--fl-bg)!important;border-radius:13px;padding:10px;color:var(--fl-navy)!important}
html body.fl-ui .fl-header-bell svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7}
html body.fl-ui .topbar-user{border:0!important;padding:0!important;gap:8px!important}
html body.fl-ui .topbar-avatar{width:40px!important;height:40px!important;background:#df7a00!important;color:white!important;border:0!important;box-shadow:none!important}
html body.fl-ui .topbar-user b{font-size:11px!important}
html body.fl-ui .topbar-user small{font-size:10px!important;color:var(--fl-muted)!important}
html body.fl-ui .content{padding:24px 32px 32px!important;background:var(--fl-bg)!important;min-height:calc(100vh - 72px)!important;margin:0!important;max-width:none!important}
.portal-page-heading{display:block;margin-bottom:20px}
.portal-page-heading h1{font-size:27px!important;margin:0 0 6px!important}
.portal-page-heading p{margin:0;color:var(--fl-muted);font-size:13px}
.portal-page-heading.finance-heading{display:none}
.fl-tabbar{display:none!important}
}
@media(max-width:768px), (max-device-width: 768px){.portal-search,.portal-page-heading{display:none}.fin-drawer-close{display:none}}
@media(max-width:0px){html body.fl-ui .shell{display:block!important;padding:0!important;margin:0!important}html body.fl-ui main{margin:0!important;width:100%!important;min-width:0!important}html body.fl-ui .sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:280px!important;z-index:100!important;transform:translateX(-105%)!important;transition:transform .2s;height:100vh!important}html body.fl-ui.nav-open .sidebar{transform:none!important;box-shadow:0 0 0 100vmax #06101e88!important}html body.fl-ui .topbar .menu{display:flex!important}html body.fl-ui .content{padding:20px!important}.fl-tabbar{display:none!important}}
@media(min-width: 769px){
html body.fl-ui{margin:0!important;padding:0!important}html body.fl-ui .sidebar{margin:0!important}html body.fl-ui .sidebar .side-group-toggle{background:transparent!important;box-shadow:none!important;color:#92accb!important}html body.fl-ui .sidebar .side-group-toggle:before,html body.fl-ui .sidebar .side-group-toggle:after{display:none!important}
html body.fl-ui .sidebar .side-link{font-weight:500!important}html body.fl-ui .sidebar .side-link.active{font-weight:700!important}
}
@media(min-width: 769px){html body.fl-ui .portal-page-heading.finance-heading{display:block}html body.fl-ui:has(.finance-hub) .portal-page-heading.finance-heading{display:none}html body.fl-ui .sidebar .side-group-toggle[aria-expanded="true"],html body.fl-ui .sidebar .side-nav-group.open>.side-group-toggle{background:transparent!important}}
html[data-portal-theme="dark"] html body.fl-ui .sidebar,
html[data-portal-theme="dark"] html body.fl-ui .sidebar .portal-brand,
html[data-portal-theme="dark"] html body.fl-ui .sidebar-foot {
  background: #142336 !important;
}

/* The main workspace is one full-width page, without an extra floating sheet. */
html body.portal-body.fl-ui .event-location-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border:1px solid var(--fl-line);border-radius:10px}
html body.portal-body.fl-ui .event-location-tools small{flex:1 1 220px;font-size:12px}
html body.portal-body.fl-ui .event-location-tools label{min-width:140px;max-width:190px}
html body.portal-body.fl-ui .attendance-auto-option{display:flex!important;align-items:center;gap:10px;padding:12px;margin:12px 0;font-size:13px!important}
html body.portal-body.fl-ui .attendance-auto-option input{width:18px!important;height:18px!important;flex:0 0 18px!important}
html body.portal-body.fl-ui .header-notification-ticker{position:absolute;left:24px;right:285px;top:18px;height:28px;line-height:28px;overflow:hidden;white-space:nowrap;color:var(--fl-ink);font-size:13px;font-weight:500;text-decoration:none;z-index:1!important;display:flex!important;align-items:center!important;pointer-events:auto}
html body.portal-body.fl-ui .header-notification-ticker[hidden]{display:none!important}
html body.portal-body.fl-ui .header-notification-track{display:inline-block!important;white-space:nowrap!important;will-change:transform!important;transform:translateZ(0)}
html body.portal-body.fl-ui .header-notification-ticker:is(:hover,:focus) .header-notification-track,
html body.portal-body.fl-ui .header-notification-track:hover{animation-play-state:paused!important;cursor:pointer}
html body.portal-body.fl-ui .header-centre-time{z-index:2!important;background:var(--fl-card,#fff);padding:4px 14px;border-radius:6px}
html body.portal-body.fl-ui .topbar-meta{position:relative;z-index:3!important;background:var(--fl-card,#fff)}
@keyframes portal-notification-scroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media(max-width:600px), (max-device-width: 600px){html body.portal-body.fl-ui .header-notification-ticker{left:48px;right:95px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html body.portal-body.fl-ui .header-notification-track{animation:none!important;padding-left:0!important;white-space:normal!important;display:block!important}html body.portal-body.fl-ui .header-notification-ticker{height:auto!important;min-height:28px;overflow:visible!important;white-space:normal!important;text-overflow:clip!important}}
html body.portal-body.fl-ui .header-centre-time{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:20px;font-weight:700;color:var(--fl-ink);font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}
@media(max-width:600px), (max-device-width: 600px){html body.portal-body.fl-ui .header-centre-time{font-size:17px}html body.portal-body.fl-ui .header-calendar-date{display:none}}
/* Compact utility header and permanently expanded navigation categories. */
html body.portal-body.fl-ui.is-dashboard-page .topbar{height:64px!important;min-height:64px!important;padding:6px 24px!important;justify-content:flex-end!important;gap:12px!important;position:sticky!important;top:0!important;z-index:40!important;display:flex!important;width:100%!important;background:var(--fl-card,#fff)!important;border-bottom:1px solid var(--fl-line,#dbe2ec)!important}
html body.portal-body.fl-ui .topbar :is(.portal-search,.topbar-copy){display:none!important}
html body.portal-body.fl-ui.is-module-page .topbar,html body.portal-body.fl-ui:not(.is-dashboard-page) .topbar{display:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important}
@media(min-width: 769px){
  html body.portal-body.fl-ui.is-dashboard-page .topbar{position:sticky!important;top:0!important;width:100%!important;z-index:40!important;overflow:visible!important;height:64px!important;min-height:64px!important;display:flex!important}
  html body.portal-body.fl-ui.is-dashboard-page main{padding-top:0!important}
  html body.portal-body.fl-ui.is-module-page .topbar,html body.portal-body.fl-ui:not(.is-dashboard-page) .topbar{display:none!important}
  html body.portal-body.fl-ui.is-module-page main,html body.portal-body.fl-ui:not(.is-dashboard-page) main{padding-top:0!important}
}
html body.portal-body.fl-ui .topbar-user{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;border:0!important;padding:0!important;min-width:54px!important}
html body.portal-body.fl-ui .topbar-avatar{display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;overflow:hidden!important;border-radius:50%!important}
html body.portal-body.fl-ui .topbar-avatar img{width:100%!important;height:100%!important;object-fit:cover!important}
html body.portal-body.fl-ui .topbar-user>span:last-child{display:block!important;text-align:center!important}
html body.portal-body.fl-ui .topbar-user b{display:none!important}
html body.portal-body.fl-ui .topbar-user small{display:block!important;font-size:10px!important;line-height:1.2!important;color:var(--fl-ink)!important;white-space:nowrap!important}
html body.portal-body.fl-ui .topbar-meta{display:flex!important;align-items:center!important;gap:14px!important;margin-left:auto!important}
html body.portal-body.fl-ui .topbar-date{display:block!important;font-size:12px!important;color:var(--fl-ink)!important;white-space:nowrap!important;font-variant-numeric:tabular-nums}
html body.portal-body.fl-ui .fl-header-bell{display:flex!important;padding:6px!important}
html body.portal-body.fl-ui .topbar-dashboard-greeting{position:absolute!important;left:24px!important;top:50%!important;transform:translateY(-50%)!important;z-index:3!important;max-width:calc(50% - 125px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--fl-ink,#1e3a5f)!important;font-size:16px!important;font-weight:750!important;letter-spacing:-.02em!important;background:var(--fl-card,#fff)!important;padding-right:12px!important}
html body.portal-body.fl-ui .topbar:has(.topbar-dashboard-greeting) .header-notification-ticker{left:210px!important}
html body.portal-body.fl-ui main>section.content{min-height:calc(100dvh - 64px)!important;padding-top:12px!important}
html body.portal-body.fl-ui .sidebar .grouped-sidebar-nav .side-nav-group>.side-group-items{display:block!important}
html body.portal-body.fl-ui .sidebar .side-group-heading{display:flex;align-items:center;gap:9px;padding:14px 12px 6px;color:#a9bed8}
html body.portal-body.fl-ui .sidebar .side-group-heading>span{font-size:11px;font-weight:600;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}
html body.portal-body.fl-ui .sidebar .side-group-heading>svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.7;fill:none;flex-shrink:0}
html body.portal-body.fl-ui .sidebar .side-group-heading>.side-group-chevron{display:none!important}
html body.portal-body.fl-ui .birthday-table th:nth-child(7),
html body.portal-body.fl-ui .birthday-table td:nth-child(7){white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;min-width:135px!important;width:1%!important}
@media(min-width: 761px){
 html body.portal-body.fl-ui .birthday-table{min-width:1100px!important}
 html body.portal-body.fl-ui .birthday-table :is(th,td):nth-child(2){width:27%!important}
 html body.portal-body.fl-ui .birthday-table :is(th,td):nth-child(8){width:24%!important}
 html body.portal-body.fl-ui .birthday-table :is(th,td):is(:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)){white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
}
/* Sidebar groups collapse independently; the current page's group opens on load. */
html body.portal-body.fl-ui .sidebar .side-group-toggle{pointer-events:auto!important;cursor:pointer!important;gap:9px!important;padding:10px 12px!important;min-height:40px!important;border-radius:8px!important}
html body.portal-body.fl-ui .sidebar .side-group-toggle:hover{background:#ffffff12!important}
html body.portal-body.fl-ui .sidebar .side-group-toggle>span{flex:1!important;font-size:11px!important;text-align:left!important;letter-spacing:.025em!important}
html body.portal-body.fl-ui .sidebar .side-group-toggle>svg{display:block!important;width:16px!important;height:16px!important;flex-shrink:0!important;stroke:currentColor!important;stroke-width:1.7!important;fill:none!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
html body.portal-body.fl-ui .sidebar .side-group-toggle>svg use{fill:none!important;stroke:currentColor!important}
html body.portal-body.fl-ui .sidebar .side-group-chevron{width:12px!important;height:12px!important;transform:rotate(-90deg)}
html body.portal-body.fl-ui .sidebar .side-nav-group.open .side-group-chevron{transform:rotate(0)}
html body.portal-body.fl-ui .sidebar .side-nav-group>.side-group-items{display:block!important}
html body.portal-body.fl-ui .sidebar .side-nav-group.open>.side-group-items{display:block!important}
.sidebar .nav-badge,.nav-badge{background:#dc2626!important;color:#ffffff!important;font-weight:700!important;border-radius:999px!important;padding:0 5px!important;font-size:11px!important;line-height:18px!important;min-width:18px!important;height:18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 2px 6px rgba(220,38,38,0.4)!important;margin:0!important;flex-shrink:0!important;box-sizing:border-box!important}
html body.portal-body.fl-ui .sidebar .side-nav-group{margin-bottom:4px!important}
/* Keep labels readable on the saturated analytics cards and navigation tabs. */
html body.portal-body.fl-ui .content :is(.service-analytics-card,.performance-kpi) :is(small,strong,span,p){color:#fff!important;opacity:1!important}
html body.portal-body.fl-ui .content :is(.sa-orange,.p-orange){background:#a95308!important}
html body.portal-body.fl-ui .content :is(.subtabs,.role-subtabs,.tabs,.attendance-hub-tabs,.fin-tabs,.crew-tabs,.crew-management-tabs,.band-tabs,.leadership-tabs,.blog-tabs,.settings-subtabs,.scout-status-tabs)>:is(a,button){
 color:var(--fl-ink,#1e3a5f)!important;font-size:13px!important;line-height:1.35!important;min-height:36px!important;width:auto!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
}
html body.portal-body.fl-ui .content :is(.subtabs,.role-subtabs,.tabs,.attendance-hub-tabs,.fin-tabs,.crew-tabs,.crew-management-tabs,.band-tabs,.leadership-tabs,.blog-tabs,.settings-subtabs,.scout-status-tabs)>:is(a,button):is(.active,[aria-selected="true"]){background:#1e3a5f!important;color:#fff!important}
html body.portal-body.fl-ui .content :is(.subtabs,.role-subtabs,.tabs,.attendance-hub-tabs,.fin-tabs,.crew-tabs,.crew-management-tabs,.band-tabs,.leadership-tabs,.blog-tabs,.settings-subtabs,.scout-status-tabs)>:is(a,button) :is(span,b,strong,small){color:inherit!important}
/* Keep numeric scout-tab badges legible when mobile tab overrides flatten them. */
html body.portal-body.fl-ui .content .scout-status-tabs a b{display:inline-grid!important;place-items:center!important;min-width:24px!important;height:24px!important;padding:0 6px!important;border-radius:999px!important;background:#e8edf3!important;color:#173f70!important;font-size:12px!important;font-weight:700!important;line-height:1!important}
html body.portal-body.fl-ui .content .scout-status-tabs a.active b{background:#fff!important;color:#173f70!important}
html body.portal-body.fl-ui .dashboard-mini-line polyline{stroke:url(#dashLine)!important;stroke-width:3!important;stroke-linecap:round;stroke-linejoin:round}
html body.portal-body.fl-ui .dashboard-mini-line circle{fill:#a855f7!important}
@media(prefers-reduced-motion:no-preference){
 html body.portal-body.fl-ui .dashboard-analytics-card{transition:box-shadow .2s ease,border-color .2s ease}
 html body.portal-body.fl-ui .dashboard-analytics-card:hover,
 html body.portal-body.fl-ui .dashboard-analytics-card:focus-within{border-color:#8da9ce!important;box-shadow:0 5px 18px rgba(30,58,95,.08)!important}
}
html body.portal-body.fl-ui .location-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))!important;gap:12px!important}
html body.portal-body.fl-ui .location-card{padding:14px!important;border-top-width:3px!important;border-radius:10px!important;box-shadow:none!important}
html body.portal-body.fl-ui .location-pin{width:28px!important;height:28px!important;font-size:19px!important;border-radius:8px!important}
html body.portal-body.fl-ui .location-card h3{margin:10px 0 5px!important;font-size:14px!important;line-height:1.35!important}
html body.portal-body.fl-ui .location-card>p{min-height:0!important;margin:0 0 10px!important;font-size:12px!important;line-height:1.4!important}
html body.portal-body.fl-ui .location-card dl{gap:8px!important;margin:0 0 10px!important}
html body.portal-body.fl-ui .location-card dl div{padding:0!important;background:transparent!important}
html body.portal-body.fl-ui .location-card dt{font-size:10px!important}
html body.portal-body.fl-ui .location-card dd{font-size:12px!important;margin:2px 0 0!important}
html body.portal-body.fl-ui .location-card .action-tabs{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;width:max-content!important;padding:0!important;background:none!important;border:0!important}
html body.portal-body.fl-ui .location-card .btn{font-size:12px!important;min-height:30px!important;padding:5px 10px!important}
html body.portal-body.fl-ui .maintenance-switch{display:flex!important;align-items:center!important;gap:10px!important}
html body.portal-body.fl-ui .maintenance-switch input[type="checkbox"]{width:18px!important;height:18px!important;flex:0 0 18px!important;margin:0!important;padding:0!important}
html body.portal-body.fl-ui .maintenance-switch>span:empty{display:none}
html body.portal-body.fl-ui main>.content{
  width:100%!important;max-width:none!important;margin:0!important;
  min-height:calc(100dvh - 72px)!important;background:var(--fl-card)!important;
}
html body.portal-body.fl-ui main>.content>.panel,
html body.portal-body.fl-ui main>.content>form>.panel{
  width:100%!important;max-width:none!important;margin:20px 0!important;
  padding:0!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;background:transparent!important;
}
@media(min-width: 761px){
  html body.portal-body.fl-ui main>.content{padding:20px 24px 32px!important}
}

/* Compact record tables: preserve readable columns and a single action row. */
@media(min-width: 761px){
  html body.portal-body.fl-ui .table-wrap{
    overflow-x:auto!important;max-width:100%!important;
    border:1px solid var(--fl-line);border-radius:12px;
  }
  html body.portal-body.fl-ui .table-wrap>table{
    width:100%!important;max-width:none!important;table-layout:auto!important;
    border-collapse:collapse!important;font-size:13px!important;
  }
  html body.portal-body.fl-ui .table-wrap>table th,
  html body.portal-body.fl-ui .table-wrap>table td{
    padding:10px 10px!important;vertical-align:middle!important;
    line-height:1.35!important;height:auto!important;
  }
  html body.portal-body.fl-ui .table-wrap>table th{
    padding-top:14px!important;padding-bottom:14px!important;
    font-size:12px!important;white-space:nowrap!important;
  }
  html body.portal-body.fl-ui .table-wrap td strong{font-size:13px!important;line-height:1.35!important}
  html body.portal-body.fl-ui .table-wrap td small{font-size:11px!important;line-height:1.35!important;margin-top:3px!important}
  html body.portal-body.fl-ui .table-wrap td .action-tabs,
  html body.portal-body.fl-ui .table-wrap td .table-actions,
  html body.portal-body.fl-ui .table-wrap td .inline-actions{
    display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
    align-items:center!important;gap:5px!important;width:max-content!important;
    min-width:max-content!important;white-space:nowrap!important;
  }
  html body.portal-body.fl-ui .table-wrap td .action-tabs form{
    display:flex!important;flex:0 0 auto!important;margin:0!important;width:auto!important;
  }
  html body.portal-body.fl-ui .table-wrap td .btn{
    width:auto!important;min-width:0!important;min-height:28px!important;
    padding:5px 8px!important;font-size:12px!important;line-height:1.2!important;
    border-radius:8px!important;flex:0 0 auto!important;white-space:nowrap!important;
  }
  html body.portal-body.fl-ui .scouts-fit-wrap>table{min-width:1180px!important}
  html body.portal-body.fl-ui .scouts-fit-wrap td[data-label="Scout"]{width:23%!important;min-width:230px!important}
  html body.portal-body.fl-ui .scouts-fit-wrap td[data-label="School / Course"]{width:22%!important;min-width:205px!important;white-space:normal!important}
  html body.portal-body.fl-ui .scouts-fit-wrap td[data-label="Actions"]{width:1%!important;min-width:215px!important;white-space:nowrap!important}
  html body.portal-body.fl-ui .scouts-fit-wrap td[data-label="Phone"],
  html body.portal-body.fl-ui .scouts-fit-wrap td[data-label="Registration"]{white-space:nowrap!important}
  html body.portal-body.fl-ui .scouts-fit-wrap td[data-label="Select"],
  html body.portal-body.fl-ui .scouts-fit-wrap td[data-label="No."],
  html body.portal-body.fl-ui .scouts-fit-wrap td[data-label="Year of study"]{width:1%!important;white-space:nowrap!important}
  html body.portal-body.fl-ui .table-wrap .member-name-cell{display:flex!important;align-items:center!important;gap:10px!important}
  html body.portal-body.fl-ui .table-wrap .member-name-copy{min-width:0!important}
  html body.portal-body.fl-ui .table-wrap .member-name-copy small{overflow-wrap:anywhere!important;white-space:normal!important}
}

/* Phone utility header: controls and announcements have separate rows on dashboard. */
@media(max-width:760px), (max-device-width: 760px){
 html body.portal-body.fl-ui.is-dashboard-page{--phone-header-height:64px}
 html body.portal-body.fl-ui.is-dashboard-page:has(.header-notification-ticker:not([hidden])){--phone-header-height:98px}
 html body.portal-body.fl-ui.is-dashboard-page .topbar{position:sticky!important;top:0!important;height:var(--phone-header-height)!important;min-height:var(--phone-header-height)!important;left:0!important;width:100%!important;padding:0!important;background:var(--fl-card,#fff)!important;color:var(--fl-ink,#1e3a5f)!important;border-radius:0!important;box-shadow:0 2px 10px rgba(15,23,42,.05)!important;display:flex!important}
 html body.portal-body.fl-ui.is-dashboard-page main{padding-top:0!important}
 html body.portal-body.fl-ui.is-dashboard-page main>section.content{min-height:calc(100dvh - var(--phone-header-height))!important}
 html body.portal-body.fl-ui.is-module-page .topbar,html body.portal-body.fl-ui:not(.is-dashboard-page) .topbar{display:none!important;height:0!important;padding:0!important;margin:0!important}
 html body.portal-body.fl-ui.is-module-page main,html body.portal-body.fl-ui:not(.is-dashboard-page) main{padding-top:0!important}
 html body.portal-body.fl-ui .topbar .menu{display:flex!important;position:absolute!important;left:12px!important;top:10px!important;width:40px!important;height:40px!important;min-height:40px!important;align-items:center!important;justify-content:center!important;padding:8px!important;border:1px solid var(--fl-line,#dbe2ec)!important;background:var(--fl-bg,#f4f7fb)!important;color:var(--fl-ink,#1e3a5f)!important;border-radius:10px!important;margin:0!important}
 html body.portal-body.fl-ui .topbar .menu svg{width:22px!important;height:22px!important;stroke:currentColor!important;fill:none!important}
 html body.portal-body.fl-ui .header-centre-time{top:30px!important;left:47%!important;font-size:18px!important;font-weight:700!important;letter-spacing:.025em!important;padding:0!important;background:none!important;border-radius:0!important;color:var(--fl-ink,#1e3a5f)!important}
 html body.portal-body.fl-ui .topbar-meta{position:absolute!important;right:12px!important;top:6px!important;margin:0!important;padding:0!important;height:50px!important;gap:8px!important;background:none!important}
 html body.portal-body.fl-ui .topbar-date{display:none!important}
 html body.portal-body.fl-ui .fl-header-bell{display:flex!important;width:38px!important;height:38px!important;align-items:center!important;justify-content:center!important;background:var(--fl-bg,#f4f7fb)!important;color:var(--fl-ink,#1e3a5f)!important;border-radius:10px!important;padding:8px!important}
 html body.portal-body.fl-ui .fl-header-bell svg{width:20px!important;height:20px!important;stroke:currentColor!important;fill:none!important}
 html body.portal-body.fl-ui .topbar-user{min-width:48px!important;max-width:70px!important;gap:2px!important;margin:0!important}
 html body.portal-body.fl-ui .topbar-user>span:last-child{display:block!important;max-width:70px!important}
 html body.portal-body.fl-ui .topbar-user small{font-size:9px!important;color:var(--fl-ink,#1e3a5f)!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:70px!important}
 html body.portal-body.fl-ui .topbar-avatar{width:30px!important;height:30px!important;min-width:30px!important;border:1px solid var(--fl-line,#dbe2ec)!important}
 html body.portal-body.fl-ui .header-notification-ticker{top:64px!important;left:12px!important;right:12px!important;height:26px!important;line-height:26px!important;background:var(--fl-bg,#f4f7fb)!important;color:var(--fl-ink,#1e3a5f)!important;font-size:12px!important;font-weight:500!important;border-radius:6px!important;z-index:2!important;display:flex!important;align-items:center!important}
}

/* Align the phone navigation brand as one compact, full-width row. */
@media(max-width:760px), (max-device-width: 760px){
 html body.portal-body.fl-ui .sidebar{padding-top:0!important}
 html body.portal-body.fl-ui .sidebar .portal-brand{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;min-height:88px!important;height:auto!important;margin:0!important;padding:16px!important;border:0!important;border-radius:0!important;box-sizing:border-box!important;flex-shrink:0!important}
 html body.portal-body.fl-ui .sidebar .brand-logo{display:block!important;width:48px!important;height:48px!important;min-width:48px!important;flex:0 0 48px!important;object-fit:contain!important;padding:4px!important;margin:0!important;border-radius:10px!important;background:#fff!important}
 html body.portal-body.fl-ui .sidebar .brand-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:3px!important;min-width:0!important;flex:1!important;margin:0!important;padding:0!important;text-align:left!important}
 html body.portal-body.fl-ui .sidebar .brand-copy b{display:block!important;font-size:16px!important;line-height:1.25!important;margin:0!important;white-space:nowrap!important;color:#fff!important}
 html body.portal-body.fl-ui .sidebar .brand-copy small{display:block!important;font-size:11px!important;line-height:1.35!important;margin:0!important;white-space:nowrap!important;color:#c5d6eb!important}
 html body.portal-body.fl-ui .sidebar-collapse{display:none!important}
 html body.portal-body.fl-ui .sidebar .side-group-heading{color:var(--fl-muted,#64748b)!important;padding-top:14px!important}
}
@media(max-width:760px), (max-device-width: 760px){
 html body.portal-body.fl-ui #portalSidebar{padding:0!important}
 html body.portal-body.fl-ui #portalSidebar .brand.portal-brand{width:100%!important;margin:0!important;padding:16px!important;min-height:88px!important;align-items:center!important;border:0!important}
}

/* Shared avatar rendering also fits the header and document review list. */
html body.portal-body.fl-ui .topbar-avatar>.member-avatar,
html body.portal-body.fl-ui .account-avatar>.member-avatar{width:100%!important;height:100%!important;min-width:0!important;border:0!important}
html body.portal-body.fl-ui .documentation-member>.member-avatar{width:34px!important;height:34px!important;min-width:34px!important;flex:0 0 34px!important}

/* Manage users: polished edit dialog and one consistent permission checkbox. */
html body.portal-body.fl-ui dialog.user-edit-permission-dialog{
 width:min(1120px,calc(100vw - 36px))!important;max-width:1120px!important;
 height:min(900px,calc(100dvh - 36px))!important;max-height:calc(100dvh - 36px)!important;
 padding:0!important;border:1px solid var(--fl-line,#dbe2ec)!important;border-radius:18px!important;
 overflow:hidden!important;background:var(--fl-card,#fff)!important;color:var(--fl-ink,#172f4f)!important;
 box-shadow:0 28px 90px rgba(12,30,52,.34)!important
}
html body.portal-body.fl-ui .user-edit-permission-form{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:0!important;width:100%!important;height:100%!important;max-height:none!important;padding:0!important;overflow:hidden!important;background:transparent!important}
html body.portal-body.fl-ui .user-edit-permission-form>.modal-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;margin:0!important;padding:18px 24px!important;border-bottom:1px solid var(--fl-line,#dbe2ec)!important;background:var(--fl-soft,#f7f9fc)!important}
html body.portal-body.fl-ui .user-edit-permission-form>.modal-head h3{margin:0!important;font-size:21px!important;font-weight:750!important;color:var(--fl-ink,#172f4f)!important}
html body.portal-body.fl-ui .user-edit-permission-form>.modal-head p{margin:4px 0 0!important;color:var(--fl-muted,#64748b)!important;font-size:13px!important}
html body.portal-body.fl-ui .user-edit-permission-scroll{min-height:0!important;overflow:auto!important;overscroll-behavior:contain!important;padding:22px 24px 26px!important;scrollbar-gutter:stable!important}
html body.portal-body.fl-ui .user-edit-permission-scroll>.form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px 18px!important;align-items:start!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .form-section-title{margin:9px 0 0!important;padding:0 0 9px!important;border-bottom:1px solid var(--fl-line,#dbe2ec)!important;color:var(--fl-ink,#172f4f)!important;font-size:17px!important;font-weight:750!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-toggle{box-sizing:border-box!important;align-items:center!important;gap:13px!important;margin:0!important;padding:14px 16px!important;border:1px solid var(--fl-line,#dbe2ec)!important;border-radius:12px!important;background:var(--fl-soft,#f7f9fc)!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-toggle input[type=checkbox],
html body.portal-body.fl-ui .user-edit-permission-scroll .custom-permission-switch input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;display:grid!important;place-items:center!important;position:static!important;flex:0 0 20px!important;width:20px!important;height:20px!important;min-width:20px!important;margin:0!important;padding:0!important;border:1.5px solid #aab9cb!important;border-radius:3px!important;background:#fff!important;box-shadow:none!important;opacity:1!important;cursor:pointer!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-toggle input[type=checkbox]:checked,
html body.portal-body.fl-ui .user-edit-permission-scroll .custom-permission-switch input[type=checkbox]:checked{border-color:#24528a!important;background:#24528a!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-toggle input[type=checkbox]:checked:after,
html body.portal-body.fl-ui .user-edit-permission-scroll .custom-permission-switch input[type=checkbox]:checked:after{content:'✓';color:#fff;font-size:14px;font-weight:800;line-height:1}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-toggle input[type=checkbox]:focus-visible,
html body.portal-body.fl-ui .user-edit-permission-scroll .custom-permission-switch input[type=checkbox]:focus-visible{outline:3px solid rgba(36,82,138,.22)!important;outline-offset:2px!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-toggle>span{display:grid!important;gap:3px!important;min-width:0!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-toggle strong,
html body.portal-body.fl-ui .user-edit-permission-scroll .custom-permission-switch strong{font-size:14px!important;color:var(--fl-ink,#172f4f)!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-toggle small,
html body.portal-body.fl-ui .user-edit-permission-scroll .custom-permission-switch small{font-size:12px!important;line-height:1.45!important;color:var(--fl-muted,#64748b)!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .custom-permission-switch{align-items:center!important;gap:13px!important;margin:0 0 18px!important;padding:14px 16px!important;border:1px solid var(--fl-line,#dbe2ec)!important;border-radius:12px!important;background:#f2f6fb!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-popup-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:18px 0 12px!important;padding:0 0 11px!important;border-bottom:1px solid var(--fl-line,#dbe2ec)!important;color:var(--fl-ink,#172f4f)!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-popup-toolbar strong{font-size:15px!important;font-weight:750!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-popup-toolbar>div{display:flex!important;gap:8px!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-card-shell{gap:20px!important;margin:12px 0 0!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-category{gap:11px!important}
html body.portal-body.fl-ui .permission-category-head{display:flex!important;align-items:center!important;gap:10px!important;padding:0 4px 10px!important;border-bottom:2px solid #e2e8f0!important;font-size:15px!important;font-weight:750!important;color:#1e3a5f!important;background:transparent!important;clip-path:none!important;border-radius:0!important}
html body.portal-body.fl-ui .permission-category-head:before,html body.portal-body.fl-ui .permission-category-head:after{display:none!important}
html body.portal-body.fl-ui .permission-category-head .permission-category-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:24px!important;color:#df7a00!important;flex-shrink:0!important}
html body.portal-body.fl-ui .permission-category-head .permission-category-icon svg{width:20px!important;height:20px!important;stroke:currentColor!important;fill:none!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-module-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))!important;gap:16px!important;width:100%!important;box-sizing:border-box!important;align-items:stretch!important}
@media(max-width:540px){html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-module-grid{grid-template-columns:1fr!important}}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-module-card{display:flex!important;flex-direction:column!important;border:1px solid var(--fl-line,#dbe2ec)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 8px rgba(30,58,95,.05)!important;overflow:hidden!important;box-sizing:border-box!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-module-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:12px 16px!important;background:#f8fafc!important;border-bottom:1px solid #e2e8f0!important;min-height:56px!important;box-sizing:border-box!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) :is(.permission-module-title>div,.permission-title-text){min-width:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:2px!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) :is(.permission-module-title strong,.permission-title-strong){display:block!important;font-size:14px!important;font-weight:700!important;color:var(--fl-ink,#172f4f)!important;line-height:1.25!important;margin:0!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) :is(.permission-module-title small,.permission-title-desc){display:block!important;font-size:11.5px!important;color:#64748b!important;line-height:1.35!important;margin:0!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 10px!important;padding:12px 14px!important;width:100%!important;box-sizing:border-box!important;align-items:center!important;flex:1 1 auto!important}
@media(max-width:480px){html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action-grid{grid-template-columns:1fr!important}}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-height:38px!important;padding:8px 10px!important;border:1px solid #e2e8f0!important;border-radius:6px!important;background:#f8fafc!important;color:#1e293b!important;box-sizing:border-box!important;transition:all .15s ease!important;user-select:none!important;width:100%!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action:hover{background:#f1f5f9!important;border-color:#cbd5e1!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action>span:last-child{display:inline-block!important;font-size:12.5px!important;font-weight:550!important;color:#1e293b!important;line-height:1.35!important;flex:1 1 auto!important;min-width:0!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;position:static!important;display:inline-block!important;vertical-align:middle!important;align-self:center!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;aspect-ratio:1/1!important;margin:0!important;padding:0!important;box-sizing:border-box!important;border:1.5px solid #94a3b8!important;border-radius:2px!important;background-color:#ffffff!important;opacity:1!important;pointer-events:auto!important;box-shadow:none!important;line-height:1!important;cursor:pointer!important;transition:background-color .15s ease,border-color .15s ease!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action input[type=checkbox]:checked{border-color:#1e3a5f!important;background-color:#1e3a5f!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='square' stroke-linejoin='miter' d='M3 8.5l3.5 3.5 6.5-7.5'/%3E%3C/svg%3E")!important;background-size:12px 12px!important;background-position:center center!important;background-repeat:no-repeat!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action input[type=checkbox]:checked:after,html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action input[type=checkbox]:checked:before,html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action input[type=checkbox]:after{content:none!important;display:none!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action input[type=checkbox]:disabled{opacity:.45!important;cursor:not-allowed!important}
html body.portal-body.fl-ui :is(.permission-card-shell,.role-permission-dialog,.user-edit-permission-scroll) .permission-action>.permission-box{display:none!important}
html body.portal-body.fl-ui .user-edit-permission-footer{display:flex!important;justify-content:flex-end!important;gap:10px!important;padding:14px 24px!important;border-top:1px solid var(--fl-line,#dbe2ec)!important;background:var(--fl-soft,#f7f9fc)!important}
html[data-portal-theme="dark"] body.portal-body.fl-ui dialog.user-edit-permission-dialog,
html[data-portal-theme="dark"] body.portal-body.fl-ui .user-edit-permission-form>.modal-head,
html[data-portal-theme="dark"] body.portal-body.fl-ui .user-edit-permission-footer,
html[data-portal-theme="dark"] body.portal-body.fl-ui .user-edit-permission-scroll .permission-toggle,
html[data-portal-theme="dark"] body.portal-body.fl-ui .user-edit-permission-scroll .custom-permission-switch,
html[data-portal-theme="dark"] body.portal-body.fl-ui .user-edit-permission-scroll .permission-module-card,
html[data-portal-theme="dark"] body.portal-body.fl-ui .user-edit-permission-scroll .permission-module-title{background:#17212b!important;color:#edf3f8!important;border-color:#354454!important}
html[data-portal-theme="dark"] body.portal-body.fl-ui .user-edit-permission-scroll .permission-module-title strong,
html[data-portal-theme="dark"] body.portal-body.fl-ui .user-edit-permission-scroll .permission-toggle strong,
html[data-portal-theme="dark"] body.portal-body.fl-ui .user-edit-permission-scroll .custom-permission-switch strong,
html[data-portal-theme="dark"] body.portal-body.fl-ui .user-edit-permission-scroll .permission-action{color:#edf3f8!important}
@media(max-width:760px), (max-device-width: 760px){
 html body.portal-body.fl-ui dialog.user-edit-permission-dialog{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important}
 html body.portal-body.fl-ui .user-edit-permission-form>.modal-head{padding:14px 16px!important}
 html body.portal-body.fl-ui .user-edit-permission-scroll{padding:16px!important;scrollbar-gutter:auto!important}
 html body.portal-body.fl-ui .user-edit-permission-scroll>.form-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 html body.portal-body.fl-ui .user-edit-permission-scroll .permission-module-grid{grid-template-columns:minmax(0,1fr)!important}
 html body.portal-body.fl-ui .user-edit-permission-scroll .permission-popup-toolbar{align-items:flex-start!important;flex-direction:column!important}
 html body.portal-body.fl-ui .user-edit-permission-scroll .permission-popup-toolbar>div{width:100%!important}
 html body.portal-body.fl-ui .user-edit-permission-scroll .permission-popup-toolbar .btn{flex:1!important}
 html body.portal-body.fl-ui .user-edit-permission-footer{padding:11px 16px calc(11px + env(safe-area-inset-bottom))!important}
 html body.portal-body.fl-ui .user-edit-permission-footer .btn{flex:1!important}
}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-sub-option{margin-top:-7px!important;background:#fff!important}
html body.portal-body.fl-ui .user-edit-permission-scroll .permission-sub-option>span{padding-left:3px!important}
html[data-portal-theme="dark"] body.portal-body.fl-ui .user-edit-permission-scroll .permission-sub-option{background:#17212b!important}
/* Audit trail: explain each recorded action before showing technical field diffs. */
html body.portal-body.fl-ui .audit-entry{align-items:start!important}
html body.portal-body.fl-ui .audit-action{min-width:0!important}
html body.portal-body.fl-ui .audit-explanation{margin:7px 0 0!important;color:var(--fl-ink,#243b57)!important;font-size:12px!important;line-height:1.5!important;overflow-wrap:anywhere!important}
html body.portal-body.fl-ui .audit-details details summary{display:inline-flex!important;align-items:center!important;min-height:30px!important;padding:5px 9px!important;border:1px solid var(--fl-line,#dbe2ec)!important;border-radius:7px!important;background:var(--fl-soft,#f7f9fc)!important;color:var(--fl-ink,#1e3a5f)!important}
html body.portal-body.fl-ui .audit-details details[open] .change-list{padding:10px!important;border:1px solid var(--fl-line,#dbe2ec)!important;border-radius:9px!important;background:var(--fl-soft,#f7f9fc)!important}
html[data-portal-theme="dark"] body.portal-body.fl-ui .audit-explanation{color:#d6e1ed!important}
html[data-portal-theme="dark"] body.portal-body.fl-ui .audit-details details summary,
html[data-portal-theme="dark"] body.portal-body.fl-ui .audit-details .change-list{background:#17212b!important;color:#edf3f8!important;border-color:#354454!important}
html body.portal-body.fl-ui .ticker-composer{display:grid!important;grid-template-columns:minmax(180px,.65fr) minmax(0,1.8fr)!important;gap:14px!important;margin:16px!important;padding:18px!important;border:1px solid var(--fl-line,#dbe2ec)!important;border-radius:12px!important;background:var(--fl-soft,#f7f9fc)!important}
html body.portal-body.fl-ui .ticker-composer label{display:grid!important;align-content:start!important;gap:6px!important;font-size:13px!important;font-weight:700!important;color:var(--fl-ink,#172f4f)!important}
html body.portal-body.fl-ui .ticker-composer small{font-size:11px!important;line-height:1.4!important;font-weight:400!important;color:var(--fl-muted,#64748b)!important}
html body.portal-body.fl-ui .ticker-composer #tickerCrewWrap[hidden],html body.portal-body.fl-ui .ticker-composer #tickerServiceWrap[hidden]{display:none!important}
html body.portal-body.fl-ui .ticker-composer .ticker-service-target{display:grid;grid-template-columns:1fr 120px;gap:10px;align-content:start}
html body.portal-body.fl-ui .ticker-composer .ticker-message-field{grid-column:1/-1}
html body.portal-body.fl-ui .ticker-compose-actions{grid-column:1/-1!important;display:flex!important;gap:9px!important;flex-wrap:wrap!important}
html body.portal-body.fl-ui .ticker-section-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:10px 16px 0!important;padding:15px 2px 0!important;border-top:1px solid var(--fl-line,#dbe2ec)!important}
html body.portal-body.fl-ui .ticker-section-heading h4{margin:0!important;color:var(--fl-ink,#172f4f)!important;font-size:15px!important}
html body.portal-body.fl-ui .ticker-section-heading p{margin:3px 0 0!important;color:var(--fl-muted,#64748b)!important;font-size:12px!important}
html body.portal-body.fl-ui .ticker-banner-heading{margin-top:22px!important}
@media(max-width:760px), (max-device-width: 760px){html body.portal-body.fl-ui .ticker-composer{grid-template-columns:minmax(0,1fr)!important;margin:12px!important;padding:14px!important}html body.portal-body.fl-ui .ticker-compose-actions{grid-column:auto!important}html body.portal-body.fl-ui .ticker-section-heading{align-items:flex-start!important;flex-direction:column!important}}
/* Keep permission inputs geometrically square; flex rows must never stretch them tall. */
html body.portal-body.fl-ui dialog.user-edit-permission-dialog .user-edit-permission-scroll input[type="checkbox"]{
 box-sizing:border-box!important;align-self:center!important;flex:0 0 18px!important;
 width:18px!important;min-width:18px!important;max-width:18px!important;
 height:18px!important;min-height:18px!important;max-height:18px!important;
 aspect-ratio:1/1!important;border-radius:2px!important;transform:none!important
}
html body.portal-body.fl-ui .banner-ticker-option{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:14px 16px!important;border:1px solid var(--fl-line,#dbe2ec)!important;border-radius:11px!important;background:var(--fl-soft,#f7f9fc)!important}
html body.portal-body.fl-ui .banner-ticker-option input[type="checkbox"]{width:19px!important;height:19px!important;min-width:19px!important;flex:0 0 19px!important;margin:2px 0 0!important;accent-color:#1e3a5f!important}
html body.portal-body.fl-ui .banner-ticker-option span{display:grid!important;gap:3px!important}
html body.portal-body.fl-ui .banner-ticker-option strong{font-size:14px!important;color:var(--fl-ink,#172f4f)!important}
html body.portal-body.fl-ui .banner-ticker-option small{font-size:12px!important;line-height:1.45!important;color:var(--fl-muted,#64748b)!important}
html body.portal-body.fl-ui .ticker-manager-list{display:grid!important;gap:10px!important;padding:16px!important}
html body.portal-body.fl-ui .ticker-manager-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:16px!important;border:1px solid var(--fl-line,#dbe2ec)!important;border-radius:12px!important;background:var(--fl-card,#fff)!important}
html body.portal-body.fl-ui .ticker-manager-copy{min-width:0!important;flex:1!important}
html body.portal-body.fl-ui .ticker-manager-copy>div{display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important}
html body.portal-body.fl-ui .ticker-manager-copy>div>strong{font-size:15px!important;color:var(--fl-ink,#172f4f)!important}
html body.portal-body.fl-ui .ticker-manager-copy p{margin:6px 0!important;color:var(--fl-ink,#334b68)!important;line-height:1.45!important}
html body.portal-body.fl-ui .ticker-manager-copy small{color:var(--fl-muted,#64748b)!important;font-size:12px!important}
html body.portal-body.fl-ui .ticker-manager-actions{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 0 auto!important}
html body.portal-body.fl-ui .ticker-manager-actions form{display:flex!important;align-items:center!important;align-self:center!important;margin:0!important;padding:0!important}
html body.portal-body.fl-ui .ticker-manager-actions>a,html body.portal-body.fl-ui .ticker-manager-actions form>.btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;min-height:44px!important;margin:0!important;white-space:nowrap!important;line-height:1.2!important}
html body.portal-body.fl-ui .ticker-manager-footnote{display:flex!important;align-items:baseline!important;gap:8px!important;flex-wrap:wrap!important;padding:14px 18px!important;border-top:1px solid var(--fl-line,#dbe2ec)!important;background:var(--fl-soft,#f7f9fc)!important;color:var(--fl-muted,#64748b)!important;font-size:12px!important}
html body.portal-body.fl-ui .ticker-manager-footnote strong{color:var(--fl-ink,#172f4f)!important;font-size:13px!important}
@media(max-width:760px), (max-device-width: 760px){html body.portal-body.fl-ui .ticker-manager-row{align-items:stretch!important;flex-direction:column!important;gap:12px!important}html body.portal-body.fl-ui .ticker-manager-actions{width:100%!important;justify-content:flex-start!important;overflow-x:auto!important;padding-bottom:2px!important}html body.portal-body.fl-ui .ticker-manager-actions form{flex:0 0 auto!important}html body.portal-body.fl-ui .ticker-manager-actions .btn{flex:0 0 auto!important;text-align:center!important}}

html body.portal-body.fl-ui.is-module-page .topbar,html body.portal-body.fl-ui:not(.is-dashboard-page) .topbar{display:none!important}
@media(max-width:760px), (max-device-width: 760px){html body.portal-body.fl-ui.is-dashboard-page .topbar{position:sticky!important;top:0!important;display:flex!important}html body.portal-body.fl-ui.is-module-page .topbar,html body.portal-body.fl-ui:not(.is-dashboard-page) .topbar{display:none!important}html body.portal-body.fl-ui.is-module-page main,html body.portal-body.fl-ui:not(.is-dashboard-page) main{padding-top:0!important}}
@media(max-width:760px), (max-device-width: 760px){html body.portal-body.fl-ui .topbar-dashboard-greeting{left:58px!important;max-width:calc(50% - 100px)!important;font-size:12px!important}html body.portal-body.fl-ui .topbar:has(.topbar-dashboard-greeting) .header-notification-ticker{left:150px!important}}
@media(max-width:380px), (max-device-width: 380px){html body.portal-body.fl-ui .topbar-dashboard-greeting{display:none!important}html body.portal-body.fl-ui .topbar:has(.topbar-dashboard-greeting) .header-notification-ticker{left:48px!important}}

/* Dashboard refresh: compact KPI row, one clear analytics focus, supporting cards. */
html body.portal-body.fl-ui .dashboard-welcome{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;margin:2px 0 20px!important;padding:4px 2px!important}
html body.portal-body.fl-ui .dashboard-welcome-kicker{display:block!important;margin-bottom:3px!important;color:var(--fl-muted,#66758a)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important}
html body.portal-body.fl-ui .dashboard-welcome h2{margin:0!important;color:var(--fl-ink,#1e3a5f)!important;font-size:25px!important;line-height:1.2!important;font-weight:750!important}
html body.portal-body.fl-ui .dashboard-welcome p{margin:4px 0 0!important;color:var(--fl-muted,#66758a)!important;font-size:13px!important}
html body.portal-body.fl-ui .dashboard-welcome .dashboard-quick-actions{justify-content:flex-end!important;flex-wrap:wrap!important;margin:0!important}
html body.portal-body.fl-ui .dashboard-welcome .dashboard-quick-actions .btn{min-height:36px!important;padding:8px 12px!important;font-size:12px!important;border-radius:9px!important}
html body.portal-body.fl-ui .dashboard-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;margin-bottom:18px!important}
html body.portal-body.fl-ui .dashboard-kpi{min-height:94px!important;padding:15px!important;border-radius:12px!important;box-shadow:0 2px 9px rgba(26,48,76,.035)!important}
html body.portal-body.fl-ui .dashboard-kpi strong{font-variant-numeric:tabular-nums!important;letter-spacing:-.025em!important}
html body.portal-body.fl-ui .dashboard-insight-layout{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr)!important;gap:14px!important;margin-bottom:16px!important;align-items:stretch!important}
html body.portal-body.fl-ui .dashboard-insight-layout>.dashboard-analytics-grid,html body.portal-body.fl-ui .dashboard-insight-layout>.dashboard-chart-strip{display:contents!important}
html body.portal-body.fl-ui .dashboard-insight-layout>.dashboard-analytics-grid>.dashboard-trend-card,html body.portal-body.fl-ui .dashboard-insight-layout>.dashboard-chart-strip>.dashboard-trend-card{grid-column:1!important;grid-row:1/span 3!important;min-height:410px!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-membership-card{grid-column:2!important;grid-row:1!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-card{grid-column:2!important;grid-row:2!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-activity-card{grid-column:2!important;grid-row:3!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-snapshot{grid-column:1/-1!important;grid-row:4!important;min-height:210px!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-analytics-card{border-color:#e2e8f0!important;border-radius:13px!important;box-shadow:0 3px 12px rgba(30,58,95,.035)!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{display:flex!important;flex-direction:column!important;overflow:hidden!important;background-color:var(--fl-card,#fff)!important;background-image:linear-gradient(to right,transparent calc(100% - 1px),rgba(148,163,184,.10) calc(100% - 1px)),linear-gradient(to bottom,transparent calc(100% - 1px),rgba(148,163,184,.10) calc(100% - 1px))!important;background-size:20% 25%!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line{height:auto!important;min-height:315px!important;flex:1!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:14px 4px 2px!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:270px!important;max-height:34vh!important;min-height:230px!important}
html body.portal-body.fl-ui .dashboard-mini-line polygon{opacity:0;animation:dash-area-in .8s ease-out .2s forwards}
html body.portal-body.fl-ui .dashboard-mini-line polyline{stroke-dasharray:1!important;stroke-dashoffset:1!important;animation:dash-line-in 1.4s cubic-bezier(.22,.8,.2,1) .15s forwards!important}
html body.portal-body.fl-ui .dashboard-mini-line circle{opacity:0;animation:dash-point-in .3s ease-out 1.3s forwards}
html body.portal-body.fl-ui .dashboard-insight-layout .crew-mini-row i{transform:scaleX(0);transform-origin:left center;animation:dash-bar-in .9s cubic-bezier(.2,.8,.2,1) .25s forwards}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-colour-columns i{transform:scaleY(0);transform-origin:center bottom;animation:dash-bar-in .9s cubic-bezier(.2,.8,.2,1) .3s forwards}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-analytics-card{animation:dash-card-in .55s cubic-bezier(.2,.7,.2,1) both}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-membership-card{animation-delay:.04s}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-card{animation-delay:.12s}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-activity-card{animation-delay:.2s}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-snapshot{animation-delay:.28s}
@keyframes dash-card-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes dash-line-in{to{stroke-dashoffset:0}}
@keyframes dash-area-in{to{opacity:1}}
@keyframes dash-point-in{to{opacity:1}}
@keyframes dash-bar-in{to{transform:scale(1)}}
@media(max-width:1100px), (max-device-width: 1100px){html body.portal-body.fl-ui .dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px), (max-device-width: 900px){html body.portal-body.fl-ui .dashboard-insight-layout{grid-template-columns:minmax(0,1fr)!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{grid-column:1!important;grid-row:auto!important;min-height:340px!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-membership-card,html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-card,html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-activity-card,html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-snapshot{grid-column:1!important;grid-row:auto!important}}
@media(max-width:640px), (max-device-width: 640px){html body.portal-body.fl-ui .dashboard-welcome{align-items:flex-start!important;flex-direction:column!important;margin-bottom:14px!important}html body.portal-body.fl-ui .dashboard-welcome .dashboard-quick-actions{width:100%!important;justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:4px!important}html body.portal-body.fl-ui .dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}html body.portal-body.fl-ui .dashboard-kpi{min-height:84px!important;padding:11px!important;gap:9px!important}html body.portal-body.fl-ui .dashboard-kpi-icon{width:34px!important;height:34px!important}html body.portal-body.fl-ui .dashboard-kpi small{font-size:11px!important}html body.portal-body.fl-ui .dashboard-kpi strong{font-size:21px!important}html body.portal-body.fl-ui .dashboard-kpi p{font-size:10px!important;line-height:1.3!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line{min-height:255px!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{min-height:190px!important;height:220px!important}}
@media(prefers-reduced-motion:reduce){html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-analytics-card,html body.portal-body.fl-ui .dashboard-mini-line polygon,html body.portal-body.fl-ui .dashboard-mini-line polyline,html body.portal-body.fl-ui .dashboard-mini-line circle,html body.portal-body.fl-ui .dashboard-insight-layout .crew-mini-row i,html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-colour-columns i{animation:none!important;opacity:1!important;stroke-dashoffset:0!important;transform:none!important}}
/* Blend the shared pastel KPI treatment with the line-and-dot analytics reference. */
html body.portal-body.fl-ui .dashboard-insight-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr)!important;grid-template-rows:auto auto auto!important;gap:12px!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{grid-column:1!important;grid-row:1/span 2!important;min-height:315px!important;padding:16px!important;background-color:#fff!important;background-image:linear-gradient(to right,transparent calc(100% - 1px),rgba(148,163,184,.09) calc(100% - 1px)),linear-gradient(to bottom,transparent calc(100% - 1px),rgba(148,163,184,.09) calc(100% - 1px))!important;background-size:25% 33.33%!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line{min-height:220px!important;padding:2px 3px 0!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:190px!important;min-height:170px!important;max-height:210px!important}
html body.portal-body.fl-ui .dashboard-mini-line polyline{stroke:#7166d9!important;stroke-width:2.1!important}
html body.portal-body.fl-ui .dashboard-mini-line circle{fill:#fff!important;stroke:#7166d9!important;stroke-width:1.3!important;vector-effect:non-scaling-stroke!important}
html body.portal-body.fl-ui .dashboard-mini-line circle.is-latest{fill:#5145cd!important;stroke:#fff!important;stroke-width:1.6!important;filter:drop-shadow(0 1px 3px #5145cd66)!important;animation:dash-latest-pulse 1.8s ease-in-out 1.5s 2!important}
html body.portal-body.fl-ui .dashboard-mini-line polygon{fill:url(#dashArea)!important;opacity:.55!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-membership-card{grid-column:2!important;grid-row:1!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-activity-card{grid-column:2!important;grid-row:2!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-card{grid-column:1!important;grid-row:3!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-snapshot{grid-column:2!important;grid-row:3!important;min-height:210px!important}
html body.portal-body.fl-ui .dashboard-renewal-summary{display:flex!important;align-items:center!important;gap:14px!important;margin:6px 0 14px!important;padding:12px!important;border-radius:12px!important;background:#f7f7ff!important}
html body.portal-body.fl-ui .dashboard-renewal-ring{width:68px!important;height:68px!important;flex:0 0 68px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;background:conic-gradient(#5145cd var(--renewal-progress),#e6e7f2 0)!important;position:relative!important;color:#211d49!important}
html body.portal-body.fl-ui .dashboard-renewal-ring:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff!important}
html body.portal-body.fl-ui .dashboard-renewal-ring span,html body.portal-body.fl-ui .dashboard-renewal-ring small{position:relative!important;z-index:1!important;color:#29244f!important}
html body.portal-body.fl-ui .dashboard-renewal-ring span{font-size:16px!important;font-weight:800!important;line-height:1.1!important}
html body.portal-body.fl-ui .dashboard-renewal-ring small{font-size:9px!important;text-transform:uppercase!important;letter-spacing:.04em!important}
html body.portal-body.fl-ui .dashboard-renewal-summary>div:last-child strong{display:block!important;color:var(--fl-ink,#1e3a5f)!important;font-size:13px!important}
html body.portal-body.fl-ui .dashboard-renewal-summary p{margin:3px 0!important;color:var(--fl-muted,#66758a)!important;font-size:11px!important;line-height:1.35!important}
html body.portal-body.fl-ui .dashboard-renewal-summary>div:last-child>small{color:#5145cd!important;font-size:11px!important;font-weight:700!important}
html body.portal-body.fl-ui .dashboard-kpi-icon,html body.portal-body.fl-ui .dashboard-card-icon,html body.portal-body.fl-ui .mini-icon{color:#5145cd!important;background:#eeedff!important}
html body.portal-body.fl-ui .dashboard-kpi{border-color:#e2e8f0!important;background:#ffffff!important}
html body.portal-body.fl-ui .dashboard-kpi-value{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin-top:2px!important}
html body.portal-body.fl-ui .dashboard-kpi-value>strong{display:inline-block!important;line-height:1.05!important}
html body.portal-body.fl-ui .dashboard-week-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:20px!important;padding:2px 7px!important;border-radius:999px!important;font-size:10px!important;line-height:1!important;font-weight:750!important;letter-spacing:.01em!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
html body.portal-body.fl-ui .dashboard-week-badge.up{color:#087443!important;background:#e4f5ec!important}
html body.portal-body.fl-ui .dashboard-week-badge.down{color:#b42318!important;background:#ffebe9!important}
html body.portal-body.fl-ui .dashboard-week-badge.steady{color:#526174!important;background:#edf1f5!important}
@media(max-width:640px), (max-device-width: 640px){html body.portal-body.fl-ui .dashboard-kpi-value{gap:5px!important}html body.portal-body.fl-ui .dashboard-week-badge{font-size:9px!important;min-height:18px!important;padding:2px 6px!important}}
@keyframes dash-latest-pulse{0%,100%{r:2.4}50%{r:3.2}}
@media(max-width:900px), (max-device-width: 900px){html body.portal-body.fl-ui .dashboard-insight-layout{grid-template-columns:minmax(0,1fr)!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{grid-column:1!important;grid-row:auto!important;min-height:285px!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-membership-card,html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-activity-card,html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-card,html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-snapshot{grid-column:1!important;grid-row:auto!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line{min-height:200px!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:180px!important;min-height:165px!important}}
@media(max-width:640px), (max-device-width: 640px){html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{min-height:250px!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line{min-height:175px!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:155px!important;min-height:145px!important}}
@media(prefers-reduced-motion:reduce){html body.portal-body.fl-ui .dashboard-mini-line circle.is-latest{animation:none!important}html body.portal-body.fl-ui .dashboard-mini-line polyline{stroke-dashoffset:0!important}}
/* Keep the attendance trend compact: approximately one fifth of the oversized panel. */
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{grid-row:1!important;min-height:0!important;height:190px!important;padding:12px!important;background-image:none!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-card-head{flex:0 0 auto!important;margin-bottom:3px!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line{flex:1!important;min-height:0!important;height:112px!important;padding:0!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:82px!important;min-height:0!important;max-height:none!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line>div{font-size:9px!important}
@media(max-width:900px), (max-device-width: 900px){html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{height:190px!important;min-height:0!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line{height:112px!important;min-height:0!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:82px!important;min-height:0!important}}
@media(max-width:640px), (max-device-width: 640px){html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{height:180px!important;min-height:0!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line{height:105px!important;min-height:0!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:75px!important;min-height:0!important}}
/* Square graph tile with the light blue, dotted line style from the reference. */
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{width:min(100%,320px)!important;max-width:320px!important;aspect-ratio:1/1!important;height:auto!important;min-height:0!important;align-self:start!important;grid-row:1!important;padding:14px!important;background-color:#fff!important;background-image:linear-gradient(to right,transparent calc(100% - 1px),#e9eff8 calc(100% - 1px)),linear-gradient(to bottom,transparent calc(100% - 1px),#e9eff8 calc(100% - 1px))!important;background-size:25% 25%!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line{height:auto!important;min-height:0!important;flex:1 1 auto!important;justify-content:flex-end!important;padding:2px 0 0!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{width:100%!important;height:205px!important;min-height:0!important;max-height:none!important;flex:1 1 auto!important}
html body.portal-body.fl-ui .dashboard-mini-line polyline{stroke:#4b91ff!important;stroke-width:1.8!important}
html body.portal-body.fl-ui .dashboard-mini-line circle{fill:#fff!important;stroke:#4b91ff!important;stroke-width:1!important}
html body.portal-body.fl-ui .dashboard-mini-line circle.is-latest{fill:#4b91ff!important;stroke:#fff!important;stroke-width:1.5!important}
html body.portal-body.fl-ui .dashboard-mini-line polygon{fill:url(#dashArea)!important;opacity:.28!important}
@media(max-width:900px), (max-device-width: 900px){html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{width:min(100%,320px)!important;height:auto!important;aspect-ratio:1/1!important;min-height:0!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:205px!important}}
@media(max-width:640px), (max-device-width: 640px){html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{width:min(100%,320px)!important;height:auto!important;aspect-ratio:1/1!important;min-height:0!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:205px!important}}
/* Tight dashboard composition: a square graph and four cards fill the remaining columns. */
html body.portal-body.fl-ui .dashboard-insight-layout{grid-template-columns:minmax(320px,360px) repeat(2,minmax(0,1fr))!important;grid-template-rows:auto auto!important;gap:12px!important;align-items:start!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{grid-column:1!important;grid-row:1/span 2!important;width:100%!important;max-width:360px!important;height:360px!important;min-height:360px!important;aspect-ratio:1/1!important;align-self:start!important}
html body.portal-body.fl-ui .dashboard-insight-layout>.dashboard-analytics-grid>.dashboard-trend-card,html body.portal-body.fl-ui .dashboard-insight-layout>.dashboard-chart-strip>.dashboard-trend-card{grid-column:1!important;grid-row:1/span 2!important;width:100%!important;max-width:360px!important;height:360px!important;min-height:360px!important;aspect-ratio:1/1!important;align-self:start!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-membership-card{grid-column:2!important;grid-row:1!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-activity-card{grid-column:3!important;grid-row:1!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-card{grid-column:2!important;grid-row:2!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-snapshot{grid-column:3!important;grid-row:2!important;min-height:210px!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line{height:100%!important;min-height:0!important}
html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:255px!important;min-height:0!important;max-height:none!important}
/* Render the whole attendance series continuously; no dash state can hide segments. */
html body.portal-body.fl-ui .dashboard-mini-line polyline{stroke-dasharray:none!important;stroke-dashoffset:0!important;animation:none!important;stroke:#4b91ff!important}
@media(max-width:1100px), (max-device-width: 1100px){html body.portal-body.fl-ui .dashboard-insight-layout{grid-template-columns:minmax(300px,340px) repeat(2,minmax(0,1fr))!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{height:340px!important;min-height:340px!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:235px!important}}
@media(max-width:900px), (max-device-width: 900px){html body.portal-body.fl-ui .dashboard-insight-layout{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{grid-column:1!important;grid-row:auto!important;justify-self:center!important;width:min(100%,360px)!important;max-width:360px!important;height:360px!important;min-height:360px!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-membership-card,html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-activity-card,html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-card,html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-crew-snapshot{grid-column:1!important;grid-row:auto!important}}
@media(max-width:640px), (max-device-width: 640px){html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{width:min(100%,320px)!important;max-width:320px!important;height:320px!important;min-height:320px!important}html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{height:220px!important}}
/* Desktop login layout: keep the public sign-in screen independent of the
   authenticated portal's fixed sidebar and give both panels a balanced frame. */
@media (min-width: 901px){
  html body.fl-ui:has(.login-page) main.login-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:100vh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  html body.fl-ui:has(.login-page) .login-page{
    min-height:100vh!important;
    width:100%!important;
    background:#f4f6f8!important;
  }
  html body.fl-ui:has(.login-page) .login-visual{
    min-width:0!important;
    min-height:100vh!important;
  }
  html body.fl-ui:has(.login-page) .login-bg{object-position:center!important}
  html body.fl-ui:has(.login-page) .login-story{
    min-height:100vh!important;
    width:min(100%,820px)!important;
    padding:clamp(40px,5vw,76px)!important;
  }
  html body.fl-ui:has(.login-page) .login-story img{
    width:clamp(125px,12vw,176px)!important;
    max-height:145px!important;
    margin:0 auto auto 0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  html body.fl-ui:has(.login-page) .login-story .eyebrow{
    margin:0 0 10px!important;
    color:#f4c98e!important;
    font-size:13px!important;
    font-weight:750!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
  }
  html body.fl-ui:has(.login-page) .login-story h1{
    max-width:620px!important;
    margin:0 0 15px!important;
    font-size:clamp(38px,4vw,60px)!important;
    line-height:1.04!important;
  }
  html body.fl-ui:has(.login-page) .login-story p{
    max-width:540px!important;
    margin:0!important;
    color:#f1f4f8!important;
    font-size:clamp(16px,1.35vw,19px)!important;
    line-height:1.6!important;
  }
  html body.fl-ui:has(.login-page) .login-panel{
    min-width:0!important;
    min-height:100vh!important;
    padding:clamp(36px,5vw,76px)!important;
    align-items:center!important;
    background:#fff!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  html body.fl-ui:has(.login-page) .login-form-wrap{
    width:min(100%,490px)!important;
    max-width:490px!important;
    margin:0 auto!important;
  }
  html body.fl-ui:has(.login-page) .login-form-wrap .back-home{
    margin:0 0 clamp(30px,4vh,48px)!important;
  }
  html body.fl-ui:has(.login-page) .login-form-wrap h2{font-size:34px!important}
  html body.fl-ui:has(.login-page) .login-form-wrap>p.muted{margin:0!important;line-height:1.55!important}
  html body.fl-ui:has(.login-page) .login-form-wrap form{gap:17px!important;margin-top:25px!important}
  html body.fl-ui:has(.login-page) .login-form-wrap .field label{display:block!important;margin-bottom:7px!important}
  html body.fl-ui:has(.login-page) .login-form-wrap input:not([type=checkbox]){min-height:52px!important}
  html body.fl-ui:has(.login-page) .login-remember{margin-top:0!important}
  html body.fl-ui:has(.login-page) .login-forgot-row{margin-top:-2px!important}
  html body.fl-ui:has(.login-page) .login-submit{min-height:54px!important;margin-top:0!important}
  html body.fl-ui:has(.login-page) .recruiter-register-link{gap:7px!important;margin-top:20px!important}
  html body.fl-ui:has(.login-page) .recruiter-register-link p{margin:0!important}
}

/* Phone dashboard: deliberately override the later desktop dashboard grid so
   all analytics remain full-width, legible and reachable without side-scroll. */
@media (max-width: 760px), (max-device-width: 760px){
  html body.portal-body.fl-ui main:has(.dashboard-kpi-grid)>.content{
    box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100vw!important;
    padding-left:12px!important;padding-right:12px!important;overflow-x:clip!important;
  }
  html body.portal-body.fl-ui .dashboard-kpi-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;min-width:0!important;gap:9px!important;margin:0 0 14px!important;
  }
  html body.portal-body.fl-ui .dashboard-kpi-grid>.dashboard-kpi{
    display:flex!important;box-sizing:border-box!important;align-items:center!important;gap:9px!important;
    width:100%!important;min-width:0!important;min-height:82px!important;padding:10px!important;
  }
  html body.portal-body.fl-ui .dashboard-kpi-grid>.dashboard-kpi>*{min-width:0!important;max-width:100%!important}
  html body.portal-body.fl-ui .dashboard-kpi-grid .dashboard-kpi-icon{flex:0 0 32px!important;width:32px!important;height:32px!important}
  html body.portal-body.fl-ui .dashboard-kpi-grid .dashboard-kpi p{margin:4px 0 0!important;font-size:10px!important;line-height:1.3!important;overflow-wrap:anywhere!important}
  html body.portal-body.fl-ui .dashboard-kpi-grid .dashboard-kpi small{font-size:10px!important;line-height:1.2!important;overflow-wrap:anywhere!important}
  html body.portal-body.fl-ui .dashboard-kpi-grid .dashboard-kpi strong{font-size:20px!important;line-height:1.05!important;overflow-wrap:anywhere!important}
  html body.portal-body.fl-ui .dashboard-insight-layout{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;
    gap:10px!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;
  }
  html body.portal-body.fl-ui .dashboard-insight-layout>.dashboard-analytics-grid,
  html body.portal-body.fl-ui .dashboard-insight-layout>.dashboard-chart-strip{display:contents!important}
  html body.portal-body.fl-ui .dashboard-insight-layout>.dashboard-analytics-card,
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-analytics-card{
    grid-column:1!important;grid-row:auto!important;box-sizing:border-box!important;
    width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:13px!important;
  }
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{
    order:-1!important;justify-self:center!important;width:min(100%,320px)!important;max-width:320px!important;
    height:auto!important;min-height:0!important;aspect-ratio:1/1!important;padding:13px!important;
  }
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-card-head{
    display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;
    width:100%!important;min-width:0!important;margin:0!important;
  }
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-card-head>div{min-width:0!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-card-head h3{font-size:15px!important;line-height:1.2!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-card-head p{font-size:11px!important;line-height:1.3!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-card-head a{flex:0 0 auto!important;white-space:nowrap!important;font-size:10px!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line{
    display:flex!important;flex:1 1 auto!important;flex-direction:column!important;justify-content:flex-end!important;
    box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:0!important;padding:4px 0 0!important;
  }
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line svg{
    display:block!important;flex:1 1 auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  }
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card .dashboard-mini-line>div{font-size:9px!important;gap:3px!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-activity-card .dashboard-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-mini-grid>div{box-sizing:border-box!important;min-width:0!important;min-height:82px!important;padding:10px 8px 9px 42px!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-mini-grid small,
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-mini-grid p{font-size:11px!important;line-height:1.3!important;overflow-wrap:anywhere!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-mini-grid strong{font-size:18px!important;overflow-wrap:anywhere!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-card-head{min-width:0!important;gap:8px!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-card-head>div{min-width:0!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-card-head h3,
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-card-head p{overflow-wrap:anywhere!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-split-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-split-stats>div{box-sizing:border-box!important;min-width:0!important;padding:10px!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-split-stats strong{font-size:17px!important;overflow-wrap:anywhere!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-renewal-summary{align-items:flex-start!important;gap:10px!important;min-width:0!important;padding:10px!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-renewal-summary>div:last-child{min-width:0!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-renewal-summary p{font-size:11px!important;line-height:1.35!important;overflow-wrap:anywhere!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-colour-columns{gap:6px!important;overflow-x:auto!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-colour-columns>div{min-width:44px!important}
}
@media (max-width: 360px), (max-device-width: 360px){
  html body.portal-body.fl-ui .dashboard-kpi-grid{grid-template-columns:minmax(0,1fr)!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-mini-grid{grid-template-columns:minmax(0,1fr)!important}
  html body.portal-body.fl-ui .dashboard-insight-layout .dashboard-trend-card{width:100%!important;max-width:300px!important}
}

