/* GOR Cakra Zi - shared admin and member portal presentation */
:root{--cakra-primary:#18a558;--cakra-primary-dark:#08783d;--cakra-accent:#18a558;--cakra-surface:#fff;--cakra-border:#e3ebe6;--cakra-muted:#68786f}
body#page-top{background:#f4f8f5;color:#30443a}
#content-wrapper{background:#f4f8f5}
#accordionSidebar{background:linear-gradient(180deg,var(--cakra-primary) 0%,var(--cakra-primary-dark) 100%)}
.container-fluid{padding-bottom:1.5rem}
.card{border:1px solid var(--cakra-border);border-radius:1rem;box-shadow:0 .55rem 1.8rem rgba(24,78,49,.075)!important;overflow:hidden}
.card-header{padding:1rem 1.25rem;background:#fff;border-bottom:1px solid var(--cakra-border)}
.card-header .font-weight-bold{letter-spacing:.01em}
.card-body{padding:1.25rem}
.border-left-primary,.border-left-success,.border-left-warning,.border-left-danger,.border-left-info{border-left-width:.3rem!important}
.table-responsive{border:1px solid var(--cakra-border);border-radius:.65rem}
.table{margin-bottom:0;color:#44516a}
.table thead th{border-top:0;border-bottom:1px solid #dce3ef;background:#f8faff;color:#52617a;font-size:.75rem;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap;padding:.85rem .8rem}
.table td{vertical-align:middle;border-color:#edf0f5;padding:.85rem .8rem}
.table-hover tbody tr:hover{background:#f6fbf9}
.table .btn-group{white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:42px;padding:.55rem .9rem;border-radius:.65rem;font-weight:800;line-height:1.15;letter-spacing:.005em;box-shadow:none;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 .35rem .8rem rgba(27,73,49,.11)}.btn:focus{box-shadow:0 0 0 .2rem rgba(24,165,88,.15)!important}.btn i{font-size:.88em}.btn.disabled,.btn:disabled{transform:none;box-shadow:none;opacity:.62}
.btn-sm{min-height:36px;padding:.42rem .7rem;border-radius:.55rem;font-size:.78rem}.btn-lg{min-height:50px;padding:.75rem 1.15rem;border-radius:.8rem}
.btn-primary,.btn-success{background:var(--cakra-primary);border-color:var(--cakra-primary)}
.btn-primary:hover,.btn-success:hover{background:var(--cakra-primary-dark);border-color:var(--cakra-primary-dark)}
.btn-outline-primary,.btn-outline-success,.btn-outline-danger,.btn-outline-secondary{background:#fff}
.btn-outline-success{color:#11854a;border-color:#77c99a}.btn-outline-success:hover{color:#fff;background:#159c55;border-color:#159c55}.btn-outline-primary{color:#3569c8;border-color:#9ab5e8}.btn-outline-primary:hover{color:#fff;background:#3d70cf;border-color:#3d70cf}.btn-outline-danger{color:#d43c4c;border-color:#ed9ca5}.btn-outline-danger:hover{color:#fff;background:#dc4352;border-color:#dc4352}.btn-outline-secondary{color:#5e6d65;border-color:#b9c7be}.btn-outline-secondary:hover{color:#fff;background:#617168;border-color:#617168}.btn-light{color:#4e5e55;background:#f4f7f5;border-color:#dce5df}
.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-toolbar-actions,.export-actions,.toolbar-filter{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.export-actions{padding:.3rem;background:#fff;border:1px solid var(--cakra-border);border-radius:.8rem;box-shadow:0 .2rem .7rem rgba(27,73,49,.05)}.export-actions .btn{border:0}.btn-export-pdf{color:#d73b4b;background:#fff0f1}.btn-export-pdf:hover{color:#fff;background:#d73b4b}.btn-export-excel{color:#11884b;background:#eaf8f0}.btn-export-excel:hover{color:#fff;background:#11884b}.btn-export-csv{color:#356cc9;background:#edf3ff}.btn-export-csv:hover{color:#fff;background:#356cc9}.btn-export-print{color:#53625a;background:#f0f3f1}.btn-export-print:hover{color:#fff;background:#53625a}.toolbar-filter .form-control{min-width:142px}
.member-transfer{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(260px,1.15fr);align-items:center;gap:1rem}.member-transfer-copy{min-width:0}.member-import-form{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0}.member-import-form .form-control{min-width:0;flex:1 1 auto}.member-filter{justify-content:flex-end}
.member-search{padding:1rem;border:1px solid #dfe9e2;border-radius:.85rem;background:#f8fbf9}.member-search-field{position:relative;display:flex;align-items:center;gap:.5rem}.member-search-field>i{position:absolute;z-index:2;left:1rem;color:#849188}.member-search-field .form-control{padding-left:2.65rem;min-width:0;flex:1 1 auto}.member-search-field .btn{flex:0 0 auto}
.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.booking-steps span{display:flex;align-items:center;gap:.55rem;padding:.7rem .85rem;border-radius:.75rem;background:#f2f6f3;color:#68786f;font-size:.78rem;font-weight:800}.booking-steps b{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#dce7e0;color:#53645a}.booking-steps span.active{background:#eaf8f0;color:#11854a}.booking-steps span.active b{background:#18a558;color:#fff}.booking-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.booking-mode-option{display:flex;align-items:center;gap:.85rem;min-height:82px;padding:1rem;border:2px solid #e1e9e4;border-radius:.9rem;background:#fff;cursor:pointer;transition:.15s ease}.booking-mode-option:hover,.booking-mode-option.active{border-color:#18a558;background:#f1fbf5}.booking-mode-option input{position:absolute;opacity:0;pointer-events:none}.booking-mode-option>i{display:flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;border-radius:12px;background:#eaf8f0;color:#18a558;font-size:1.1rem}.booking-mode-option span{display:flex;min-width:0;flex-direction:column}.booking-mode-option strong,.booking-mode-option small{white-space:normal;overflow-wrap:anywhere}.booking-mode-option small{color:#748279;font-weight:600;margin-top:.15rem}
.btn-group-sm>.btn,.btn-sm{min-width:32px}
.badge{font-size:.71rem;font-weight:700;padding:.38em .62em;border-radius:.5rem}
.form-control,.form-select{border-color:#d6e3da;border-radius:.7rem;min-height:44px;color:#35483e;box-shadow:none}
textarea.form-control{min-height:auto}
.form-control:focus,.form-select:focus{border-color:var(--cakra-primary);box-shadow:0 0 0 .18rem rgba(24,165,88,.12)}
label,.form-group label{font-weight:700;font-size:.78rem;color:#536079;margin-bottom:.38rem}
.custom-control-label{padding-top:.08rem}
.alert{border:0;border-radius:.7rem;box-shadow:0 .15rem .65rem rgba(49,70,105,.08)}
.pagination .page-link{border-color:#dfe6f0;color:var(--cakra-accent);font-weight:700}.pagination .page-item.active .page-link{background:var(--cakra-accent);border-color:var(--cakra-accent)}
.topbar{border-bottom:1px solid #e8efe9;box-shadow:0 .25rem 1.1rem rgba(25,74,48,.055)!important}
.sidebar{box-shadow:.15rem 0 1rem rgba(28,39,65,.07)}
.sidebar .nav-item .nav-link{border-radius:.7rem;margin:.08rem .55rem;width:auto}.sidebar .nav-item.active .nav-link{background:rgba(255,255,255,.17);box-shadow:inset 3px 0 0 rgba(255,255,255,.9)}
.sidebar .nav-item .nav-link{display:flex;align-items:center;min-height:46px;transition:background-color .18s ease,transform .18s ease}.sidebar .nav-item .nav-link:hover{background:rgba(255,255,255,.11);transform:translateX(2px)}.sidebar .nav-item .nav-link i{width:1.4rem;text-align:center;font-size:.95rem}.sidebar .sidebar-heading{letter-spacing:.09em;font-weight:800}.sidebar-brand{border-bottom:1px solid rgba(255,255,255,.12)}
.topbar .nav-link{border-radius:.7rem}.topbar .dropdown-menu{border:1px solid var(--cakra-border);border-radius:.85rem;box-shadow:0 .8rem 2rem rgba(20,65,42,.14)!important}.page-heading,.h3.text-gray-800{color:#193326!important;font-weight:800}.text-primary{color:var(--cakra-primary)!important}
.mobile-bottom-nav{display:none}
.app-print-brand{display:none}
.sticky-footer{border-top:1px solid #e9edf4}
.member-profile-summary,.billing-summary{border:1px solid var(--cakra-border);border-radius:.75rem;background:#f9fbff}
.member-pb-identity{display:flex;align-items:center;gap:1.15rem;padding:1.15rem;border:1px solid #dce7e1;border-radius:1rem;background:linear-gradient(135deg,#f7fffa 0%,#fff 62%,#f3f7ff 100%);box-shadow:0 12px 28px rgba(20,88,53,.08)}.pb-logo-frame{position:relative;display:flex;flex:0 0 92px;align-items:center;justify-content:center;width:92px;height:92px;border:1px solid rgba(24,165,88,.25);border-radius:24px;background:linear-gradient(145deg,#fff,#e9f8f0);box-shadow:0 10px 24px rgba(24,165,88,.16);overflow:hidden}.pb-logo-frame:after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.9);border-radius:18px;pointer-events:none}.pb-logo-frame img{width:100%;height:100%;padding:8px;object-fit:contain}.pb-logo-frame span{font-size:1.75rem;font-weight:900;letter-spacing:.05em;color:var(--cakra-primary)}.member-pb-copy h3{margin:.15rem 0;color:#173c2a;font-size:1.4rem;font-weight:800}.pb-logo-upload{display:flex;align-items:center;gap:.85rem;padding:.8rem;border:1px dashed #b8c9c0;border-radius:.75rem;background:#f9fcfa}.pb-logo-preview{display:flex;flex:0 0 58px;align-items:center;justify-content:center;width:58px;height:58px;border-radius:14px;background:#fff;border:1px solid #dce7e1;color:#8da198;overflow:hidden}.pb-logo-preview img{width:100%;height:100%;padding:4px;object-fit:contain}.pb-logo-preview i{font-size:1.35rem}
dl.row dt{color:#6a7890;font-weight:700}dl.row dd{color:#34415a}
@media (max-width:767.98px){.container-fluid{padding-left:1rem;padding-right:1rem}.card-body{padding:1rem}.table thead th,.table td{padding:.7rem .6rem}.d-sm-flex>.btn{margin-top:.75rem}.btn-group{display:flex}.btn-group .btn{flex:1}.table-responsive{border-radius:.5rem}}
@media (max-width:575.98px){.member-pb-identity{align-items:flex-start;padding:1rem}.pb-logo-frame{flex-basis:72px;width:72px;height:72px;border-radius:19px}.member-pb-copy h3{font-size:1.15rem}.pb-logo-upload{align-items:flex-start;flex-direction:column}.pb-logo-preview{width:64px;height:64px}}
.member-pb-identity .pb-logo-frame{flex:0 0 64px!important;width:64px!important;height:64px!important;border-radius:16px!important}.member-pb-identity .pb-logo-frame:after{inset:4px;border-radius:12px}.member-pb-identity .pb-logo-frame img{display:block!important;width:auto!important;height:auto!important;max-width:48px!important;max-height:48px!important;padding:0!important;object-fit:contain!important;object-position:center!important}.member-pb-identity .pb-logo-frame span{font-size:1.15rem}.member-pb-copy h3{font-size:1.2rem}
@media (max-width:767.98px){.page-toolbar{align-items:stretch;flex-direction:column}.page-toolbar-actions{width:100%;align-items:stretch}.export-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:.25rem}.export-actions .btn{padding:.45rem .25rem}.toolbar-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}.toolbar-filter .form-control{width:100%;min-width:0}.page-toolbar-actions>.btn{width:100%}.table td .btn,.table td button.btn{margin:.12rem 0}.card-body>form .btn:not(.btn-sm){width:100%}}
@media (max-width:991.98px){.member-transfer{grid-template-columns:1fr}.member-import-form{justify-content:stretch}.member-import-form .btn{flex:0 0 auto}}
@media (max-width:767.98px){.member-filter{grid-template-columns:1fr}.member-filter label{margin-top:.2rem}.member-filter .btn{width:100%}.member-import-form{display:grid;grid-template-columns:1fr}.member-import-form .btn{width:100%}.member-transfer .export-actions{margin:0}}
@media (max-width:575.98px){.member-search-field{display:grid;grid-template-columns:1fr 1fr}.member-search-field>i{top:15px}.member-search-field .form-control{grid-column:1/-1;width:100%}.member-search-field .btn{width:100%}}
@media (max-width:575.98px){.booking-steps{grid-template-columns:1fr}.booking-steps span{padding:.55rem .7rem}.booking-mode{grid-template-columns:1fr}.booking-mode-option{min-height:70px;padding:.8rem}}
@media print{.sidebar,.topbar,.sticky-footer,.scroll-to-top,.btn,.pagination,form{display:none!important}#content-wrapper,#content,body#page-top{background:#fff!important}.container-fluid{padding:0!important}.card{box-shadow:none!important}.app-print-brand{display:flex!important;align-items:center;gap:12px;margin:0 0 16px;padding:8px 0 10px;border-top:5px solid #128a4d;border-bottom:1px solid #cfded5}.app-print-brand img{width:52px;height:52px;object-fit:contain}.app-print-brand div{display:flex;flex:1;flex-direction:column}.app-print-brand strong{color:#075b34;font-size:18px}.app-print-brand span,.app-print-brand small{color:#68786f;font-size:9px}.app-print-brand>b{align-self:flex-start;margin-top:8px;padding:5px 8px;border-radius:12px;color:#087443;background:#ddf6e8;font-size:8px;letter-spacing:.1em;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Interaksi visual global: tombol sidebar, kartu/konten, dan notifikasi bertimer. */
body.theme-reference .sidebar-edge-toggle{left:0;width:30px!important;height:30px!important;border:1px solid #d8e1ee!important;background:#fff!important;color:#71819a!important;box-shadow:0 4px 13px rgba(34,52,84,.16)!important;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease!important}
body.theme-reference .sidebar-edge-toggle:hover,body.theme-reference .sidebar-edge-toggle:focus{width:30px!important;border-color:#276af1!important;color:#276af1!important;outline:0;box-shadow:0 6px 17px rgba(39,106,241,.25)!important;transform:translate(-50%,-50%) scale(1.08)!important}
body.theme-reference .sidebar-edge-toggle .sidebar-arrow{display:block;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .28s cubic-bezier(.2,.75,.25,1)}
body.theme-reference .sidebar-edge-toggle .sidebar-arrow:before{content:none!important}
.desktop-sidebar-expanded body.theme-reference .sidebar-edge-toggle .sidebar-arrow,body.theme-reference.desktop-sidebar-expanded .sidebar-edge-toggle .sidebar-arrow{transform:rotate(225deg)}

@keyframes cakraContentIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
body.theme-reference #content>.container-fluid>*{animation:cakraContentIn .42s cubic-bezier(.2,.7,.25,1) both}
body.theme-reference #content>.container-fluid>*:nth-child(2){animation-delay:.04s}
body.theme-reference #content>.container-fluid>*:nth-child(3){animation-delay:.08s}
body.theme-reference #content>.container-fluid>*:nth-child(4){animation-delay:.12s}
body.theme-reference .card,body.theme-reference .member-profile-summary,body.theme-reference .billing-summary,body.theme-reference .board-dashboard-summary>*,body.theme-reference .table-responsive{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease}
body.theme-reference .card:hover,body.theme-reference .member-profile-summary:hover,body.theme-reference .billing-summary:hover,body.theme-reference .board-dashboard-summary>*:hover{transform:translateY(-3px);border-color:rgba(39,106,241,.22);box-shadow:0 14px 32px rgba(37,55,90,.11)!important}
body.theme-reference .card .card-body,body.theme-reference .card .card-header{transition:background-color .25s ease,color .25s ease}

body.theme-reference .app-toast-alert{position:relative;display:flex;align-items:center;gap:.7rem;min-height:58px;margin:0 0 1rem;padding:.85rem 3rem .95rem 1rem;overflow:hidden;border:1px solid rgba(33,90,61,.12);animation:cakraToastIn .38s cubic-bezier(.2,.8,.3,1) both;transition:opacity .34s ease,transform .34s ease,max-height .38s ease,margin .38s ease,padding .38s ease}
body.theme-reference .app-toast-alert.is-hiding{max-height:0;min-height:0;margin:0; padding-top:0;padding-bottom:0;opacity:0;transform:translateY(-14px)}
body.theme-reference .app-toast-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.72);font-size:1.05rem}
body.theme-reference .app-toast-message{flex:1;font-weight:750}
body.theme-reference .app-toast-progress{position:absolute;right:0;bottom:0;left:0;height:4px;background:currentColor;transform-origin:left center;animation:cakraToastCountdown 6s linear forwards}
body.theme-reference .app-toast-alert:hover .app-toast-progress{animation-play-state:paused}
body.theme-reference .app-toast-alert .close{top:50%;right:.8rem;padding:.5rem;transform:translateY(-50%)}
@keyframes cakraToastIn{from{opacity:0;transform:translateY(-12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes cakraToastCountdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(prefers-reduced-motion:reduce){body.theme-reference #content>.container-fluid>*,body.theme-reference .app-toast-alert,body.theme-reference .app-toast-progress{animation:none!important}body.theme-reference .card,body.theme-reference .sidebar-edge-toggle{transition:none!important}}

/* Papan jadwal member - dibentuk langsung dari booking member di database. */
.board-toolbar,.board-public-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.board-legend{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.78rem;font-weight:700}.board-legend span{display:flex;align-items:center;gap:.35rem}.legend-dot{display:inline-block;width:11px;height:11px;border-radius:50%}.legend-dot.paid{background:#20b66a}.legend-dot.unpaid{background:#f3b43f}.legend-dot.mine{background:#356cc9}.legend-dot.open{background:#fff;border:1px solid #b9c9c0}.member-board-scroll{width:100%;overflow:auto;border:1px solid var(--cakra-border);border-radius:.8rem}.member-board-table{width:100%;min-width:920px;border-collapse:separate;border-spacing:0;table-layout:fixed}.member-board-table th,.member-board-table td{border-right:1px solid #dce8e0;border-bottom:1px solid #dce8e0;padding:.38rem;text-align:center;vertical-align:middle}.member-board-table thead th{position:sticky;top:0;z-index:3;background:#168d4d;color:#fff;font-size:.72rem}.member-board-table tr:last-child th,.member-board-table tr:last-child td{border-bottom:0}.member-board-table th:last-child,.member-board-table td:last-child{border-right:0}.board-day-head,.board-day{width:82px}.board-time-head,.board-time{width:88px}.board-day{background:#eaf8f0;color:#167645;font-size:.8rem;font-weight:900}.board-time{background:#f7faf8;color:#50645a;font-size:.7rem;white-space:nowrap}.board-time span{display:block}.board-cell{height:58px;background:#fff}.board-cell.is-filled{background:#f3fbf6}.board-entry{display:block;margin:2px;padding:.35rem .28rem;border-radius:.45rem;color:#fff!important;text-decoration:none!important;line-height:1.18}.board-entry strong,.board-entry small{display:block;overflow-wrap:anywhere}.board-entry strong{font-size:.68rem}.board-entry small{font-size:.58rem;margin-top:.12rem}.board-entry.is-paid,.board-entry.is-filled-public{background:#1da65d}.board-entry.is-mine{background:#356cc9;box-shadow:0 0 0 2px rgba(53,108,201,.18)}.board-entry.is-unpaid{background:#e8a92f;color:#2e2c21!important}.board-open-label{display:inline-flex;align-items:center;justify-content:center;color:#199356;font-size:.65rem;font-weight:800;text-decoration:none!important}.board-dashboard-summary{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr)) minmax(220px,1.4fr);gap:.75rem}.board-dashboard-summary>div,.board-dashboard-summary>a{display:flex;align-items:center;gap:.65rem;min-height:70px;padding:.8rem 1rem;border:1px solid #deebe3;border-radius:.75rem;background:#f8fcf9;text-decoration:none}.board-dashboard-summary strong{font-size:1.55rem;color:#168d4d}.board-dashboard-summary span{font-size:.78rem;font-weight:800;color:#53645b}.board-dashboard-summary>a{color:#168d4d;background:#eaf8f0}.board-dashboard-summary>a i{font-size:1.3rem}.board-public-toolbar{align-items:flex-end}
@media(max-width:767.98px){.board-toolbar,.board-public-toolbar{align-items:stretch;flex-direction:column}.board-toolbar .toolbar-filter{display:grid;grid-template-columns:1fr auto}.board-dashboard-summary{grid-template-columns:1fr 1fr}.board-dashboard-summary>a{grid-column:1/-1}.member-board-scroll{max-height:68vh}.board-day{position:sticky;left:0;z-index:2}.board-time{position:sticky;left:82px;z-index:2}}

/* Tema modern responsif: terinspirasi referensi tanpa membawa skrip/API pihak lain. */
body.theme-modern{background:#f4f7f6;color:#263b31}body.theme-modern #wrapper,body.theme-modern #content-wrapper{background:#f4f7f6!important}body.theme-modern .container-fluid{max-width:1600px;padding-left:clamp(1rem,2.2vw,2rem);padding-right:clamp(1rem,2.2vw,2rem)}
@media(min-width:769px){body.theme-modern #accordionSidebar{width:16.25rem!important;min-width:16.25rem!important;background:#fff!important;background-image:none!important;border-right:1px solid #e1e9e4;box-shadow:8px 0 28px rgba(24,62,42,.06)}body.theme-modern #accordionSidebar .sidebar-brand{height:auto;min-height:5.5rem;justify-content:flex-start!important;padding:1rem 1.15rem;border-bottom:1px solid #edf2ef;color:#173c2a!important}body.theme-modern #accordionSidebar .brand-logo{width:42px;height:42px;padding:3px;border:1px solid #e0eae4;border-radius:13px;background:#f7fbf8}body.theme-modern #accordionSidebar .sidebar-brand-text{margin-left:.75rem!important;font-size:.85rem;line-height:1.2;text-align:left;white-space:normal}body.theme-modern #accordionSidebar .sidebar-heading{padding:.9rem 1.2rem .35rem;color:#91a098!important;font-size:.62rem;letter-spacing:.12em}body.theme-modern #accordionSidebar .sidebar-divider{margin:.5rem 1rem;border-top-color:#edf2ef}body.theme-modern #accordionSidebar .nav-item .nav-link{display:flex;align-items:center;width:auto;min-height:52px;margin:.2rem .7rem;padding:.55rem .72rem!important;border:1px solid transparent;border-radius:14px;color:#53645b!important;font-weight:700;transform:none}body.theme-modern #accordionSidebar .nav-item .nav-link i{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;margin-right:.7rem!important;border-radius:11px;background:#f0f5f2;color:#829087!important;font-size:.9rem}body.theme-modern #accordionSidebar .nav-item .nav-link:hover{background:#f2faf5;color:#12864b!important}body.theme-modern #accordionSidebar .nav-item .nav-link:hover i{background:#e2f6ea;color:#159451!important}body.theme-modern #accordionSidebar .nav-item.active .nav-link{background:linear-gradient(135deg,#e4f8ec,#f3fcf7);border-color:#cdebd9;color:#08783d!important;box-shadow:0 8px 18px rgba(24,165,88,.1),inset 3px 0 0 #18a558}body.theme-modern #accordionSidebar .nav-item.active .nav-link i{background:#18a558;color:#fff!important;box-shadow:0 6px 14px rgba(24,165,88,.25)}body.theme-modern #accordionSidebar .sidebar-theme-control{padding:1rem 1.25rem 1.5rem}body.theme-modern #accordionSidebar .sidebar-theme-control span{color:#718078!important}body.theme-modern #accordionSidebar #sidebarToggle{background:#e8f3ec}body.theme-modern #accordionSidebar #sidebarToggle:after{color:#16894d}body.theme-modern .topbar{height:4.6rem;margin:1rem clamp(1rem,2.2vw,2rem) 1.4rem!important;border:1px solid #e1e9e4;border-radius:18px;background:rgba(255,255,255,.96)!important;box-shadow:0 10px 28px rgba(24,62,42,.07)!important}body.theme-modern .sticky-footer{margin:0 1rem 1rem;border:1px solid #e3ebe6;border-radius:16px;background:#fff!important}}
body.theme-modern .card{border-color:#e1e9e4;border-radius:18px;box-shadow:0 12px 32px rgba(24,62,42,.07)!important}body.theme-modern .card-header{background:linear-gradient(180deg,#fff,#fbfdfc)}body.theme-modern .dropdown-menu{border-radius:14px}body.theme-modern .table-responsive{border-radius:12px}body.theme-modern .form-control,body.theme-modern .form-select,body.theme-modern .custom-select{border-radius:11px;background-color:#fff}
/* Menu/tab aktif di dalam konten, termasuk pola <a class="nav-link active" data-toggle="tab">. */
body.theme-modern .nav-tabs{display:flex;gap:.35rem;padding:.35rem;border:1px solid #e0e9e3;border-radius:14px;background:#f3f7f5;overflow-x:auto;scrollbar-width:thin}body.theme-modern .nav-tabs .nav-item{margin:0}body.theme-modern .nav-tabs .nav-link{position:relative;min-height:42px;margin:0;padding:.62rem 1rem;border:1px solid transparent!important;border-radius:10px;color:#66776e;font-weight:800;white-space:nowrap;transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}body.theme-modern .nav-tabs .nav-link:hover{color:#0c8246;background:#e9f6ee}body.theme-modern .nav-tabs .nav-link.active,body.theme-modern .nav-tabs .nav-item.show .nav-link{color:#fff!important;background:linear-gradient(135deg,#18a558,#0d8847)!important;border-color:#18a558!important;box-shadow:0 7px 16px rgba(24,165,88,.25);transform:translateY(-1px)}body.theme-modern .nav-tabs .nav-link.active:after{content:"";position:absolute;left:50%;bottom:-6px;width:18px;height:3px;border-radius:3px;background:#18a558;transform:translateX(-50%)}body.theme-modern .nav-pills{gap:.4rem}body.theme-modern .nav-pills .nav-link{border:1px solid #dfe9e3;border-radius:11px;color:#62736a;font-weight:800;background:#fff}body.theme-modern .nav-pills .nav-link.active,body.theme-modern .nav-pills .show>.nav-link{color:#fff;background:linear-gradient(135deg,#18a558,#0d8847);border-color:#18a558;box-shadow:0 7px 16px rgba(24,165,88,.22)}body.theme-modern .tab-content{padding-top:1.15rem}body.theme-modern .tab-pane.active{animation:cakraTabIn .22s ease both}@keyframes cakraTabIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:768px){body.theme-modern .topbar{height:4.25rem;margin-bottom:1rem!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(14px)}body.theme-modern #sidebarToggleTop{background:#e9f7ef;color:#11864a!important}body.theme-modern #accordionSidebar{background:#fff!important;background-image:none!important;border-right:1px solid #dfe8e2}body.theme-modern #accordionSidebar .sidebar-brand{color:#173c2a!important;border-bottom:1px solid #edf2ef}body.theme-modern #accordionSidebar .sidebar-heading{color:#91a098!important}body.theme-modern #accordionSidebar .sidebar-divider{border-top-color:#edf2ef}body.theme-modern #accordionSidebar .nav-item .nav-link{color:#596a61!important}body.theme-modern #accordionSidebar .nav-item .nav-link i{color:#819087!important}body.theme-modern #accordionSidebar .nav-item.active .nav-link{background:#e5f8ed;color:#08783d!important;box-shadow:inset 3px 0 0 #18a558}body.theme-modern #accordionSidebar .nav-item.active .nav-link i{color:#18a558!important}body.theme-modern .mobile-bottom-nav{background:rgba(255,255,255,.97);border-top-color:#dce8e0;box-shadow:0 -10px 30px rgba(17,62,38,.13)}body.theme-modern .mobile-bottom-item.active{color:#fff;background:linear-gradient(135deg,#18a558,#0d8847);box-shadow:0 7px 16px rgba(24,165,88,.22)}body.theme-modern .mobile-bottom-item.active:before{display:none}body.theme-modern .card{border-radius:15px}body.theme-modern .nav-tabs{margin-left:-.2rem;margin-right:-.2rem;padding:.3rem}body.theme-modern .nav-tabs .nav-link{padding:.58rem .8rem;font-size:.8rem}body.theme-modern .nav-tabs .nav-link.active:after{display:none}}
.member-bulk-toolbar{padding:1rem;border:1px solid #dfe9e3;border-radius:14px;background:linear-gradient(135deg,#f7fbf8,#fff)}.member-bulk-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.member-bulk-actions .form-control{width:min(100%,320px)}#memberSelectedCount{padding:.5rem .75rem;color:#11864a;background:#e8f7ee;border:1px solid #cfeadb}@media(max-width:575.98px){.member-bulk-actions{display:grid;grid-template-columns:1fr 1fr}.member-bulk-actions .form-control{grid-column:1/-1;width:100%}.member-bulk-actions .btn{width:100%}}

/* OFF-CANVAS KHUSUS MOBILE. Desktop tetap memakai sidebar statis bawaan SB Admin. */
@media (max-width:768px){
  #wrapper{display:block;min-height:100vh}
  #accordionSidebar.sidebar{display:flex!important;position:fixed;z-index:1060;top:0;bottom:0;left:0;width:6.5rem!important;height:100dvh;min-height:100vh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;visibility:hidden;pointer-events:none;transform:translateX(-100%);transition:transform .22s ease,visibility 0s linear .22s;box-shadow:.45rem 0 1.4rem rgba(19,31,55,.22)}
  html.mobile-sidebar-open #accordionSidebar.sidebar{visibility:visible;pointer-events:auto;transform:translateX(0);transition:transform .22s ease}
  #content-wrapper{width:100%;min-height:100vh;margin-left:0!important}
  #mobile-sidebar-backdrop{display:none;position:fixed;z-index:1050;inset:0;background:rgba(16,24,40,.48)}
  html.mobile-sidebar-open #mobile-sidebar-backdrop{display:block}
  #sidebarToggleTop{display:inline-flex!important;align-items:center;justify-content:center;width:2.55rem;height:2.55rem;margin-left:.15rem!important;background:#eef2ff;color:var(--cakra-accent)!important}
  #sidebarToggleTop:focus{box-shadow:0 0 0 .18rem rgba(78,115,223,.2)}
  /* Ukuran ringkas seperti sidebar desktop: ikon di atas, keterangan di bawah. */
  #accordionSidebar.sidebar .sidebar-brand{width:6.5rem;min-height:4.7rem;padding:.55rem .25rem;flex-shrink:0}
  #accordionSidebar.sidebar .sidebar-brand-text{display:none}
  #accordionSidebar.sidebar .nav-item{width:100%;flex-shrink:0}
  #accordionSidebar.sidebar .nav-item .nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;width:6.5rem;margin:.08rem 0;padding:.72rem .2rem;text-align:center}
  #accordionSidebar.sidebar .nav-item .nav-link i{display:block;width:100%;margin:0 0 .28rem!important;font-size:.92rem;text-align:center}
  #accordionSidebar.sidebar .nav-item .nav-link span{display:block;width:100%;font-size:.63rem;line-height:1.18;text-align:center;white-space:normal}
  #accordionSidebar.sidebar .sidebar-heading{width:100%;padding:1rem .25rem .35rem;text-align:center;font-size:.56rem;white-space:normal;flex-shrink:0}
  #accordionSidebar.sidebar .sidebar-divider{width:auto;margin:.45rem .7rem;flex-shrink:0}
  #accordionSidebar.sidebar .sidebar-theme-control,#accordionSidebar.sidebar .sidebar-toggle-holder{flex-shrink:0}
  body#page-top{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .topbar{margin-bottom:1rem!important}.topbar .navbar-nav{flex-direction:row}.container-fluid{width:100%;padding-bottom:1.5rem}
  .mobile-bottom-nav{position:fixed;z-index:1040;left:0;right:0;bottom:0;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(68px + env(safe-area-inset-bottom));padding:6px 6px env(safe-area-inset-bottom);background:rgba(255,255,255,.97);border-top:1px solid #dfe9e2;box-shadow:0 -8px 24px rgba(17,62,38,.11);backdrop-filter:blur(14px)}
  .mobile-bottom-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:4px 2px;border:0;border-radius:12px;background:transparent;color:#718078;font-family:inherit;text-decoration:none!important}
  .mobile-bottom-item i{font-size:1.08rem}.mobile-bottom-item span{max-width:100%;font-size:.62rem;font-weight:800;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-item.active{color:var(--cakra-primary);background:#eaf8f0}.mobile-bottom-item.active:before{content:"";position:absolute;top:2px;width:20px;height:3px;border-radius:3px;background:var(--cakra-primary)}.mobile-bottom-item:focus{outline:0;box-shadow:0 0 0 .15rem rgba(24,165,88,.12)}
}

/* Identitas sidebar: logo di atas dan nama GOR tepat di tengah bawah logo. */
#accordionSidebar .booking-brand {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.3rem;
  width:100%;
  min-height:86px;
  padding:.65rem .5rem;
  text-align:center;
}
#accordionSidebar .booking-brand .brand-logo {
  display:block;
  flex:0 0 auto;
  margin:0 auto;
}
#accordionSidebar .booking-brand .sidebar-brand-text {
  display:block;
  width:100%;
  margin:0!important;
  color:inherit;
  font-size:.78rem;
  line-height:1.15;
  text-align:center!important;
  white-space:normal;
}
@media(max-width:768px){
  body.theme-reference #accordionSidebar .booking-brand {
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:94px;
    padding:.65rem .75rem;
  }
  body.theme-reference #accordionSidebar .booking-brand .sidebar-brand-text {
    margin:0!important;
    font-size:.76rem;
    line-height:1.15;
    text-align:center!important;
  }
}

/* Tema referensi 2026: sidebar ikon ringkas, navbar berjam, dan navigasi mobile. */
body.theme-reference,body.theme-reference #wrapper,body.theme-reference #content-wrapper{background:#f5f7fb!important}
body.theme-reference .container-fluid{max-width:1600px;padding:1.45rem clamp(1rem,2.2vw,2rem) 2rem}
body.theme-reference .app-topbar{height:72px;min-height:72px;margin:0!important;padding:0 1.4rem;border:0;border-bottom:1px solid #edf0f5;box-shadow:0 8px 24px rgba(42,55,89,.055)!important}
body.theme-reference .topbar-brand{display:flex;align-items:center;min-width:185px;color:#71809a;font-size:.9rem;font-weight:700}
body.theme-reference .topbar-shortcuts{margin-left:1rem}
body.theme-reference .topbar-shortcuts>.btn{min-height:40px;border-radius:22px;font-size:.78rem}
body.theme-reference .topbar-clock{position:absolute;z-index:1;top:50%;left:50%;display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:.45rem;transform:translate(-50%,-50%);color:#6c7890;text-align:center;white-space:nowrap}
body.theme-reference .topbar-clock span{grid-column:1/-1;font-size:.73rem;text-transform:capitalize}
body.theme-reference .topbar-clock strong{color:#52617d;font-size:.93rem;font-weight:600;letter-spacing:.035em}
body.theme-reference .topbar-clock small{color:#99a3b7;font-size:.62rem;font-weight:800}
body.theme-reference .app-topbar>.navbar-nav{position:relative;z-index:2}
body.theme-reference .user-avatar,body.theme-reference .user-avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:2px solid #fff;border-radius:50%;background:#edf2f7;color:#738099;object-fit:cover;box-shadow:0 3px 10px rgba(43,56,87,.12)}
body.theme-reference .sidebar-edge-toggle{position:fixed;z-index:1085;top:34px;left:6.5rem;display:inline-flex;align-items:center;justify-content:center;width:34px!important;height:34px!important;padding:0;border:1px solid #d7e0ec!important;border-radius:50%;background:#fff!important;color:#55708f!important;transform:translate(-50%,-50%);box-shadow:0 7px 20px rgba(31,48,78,.22)!important;transition:left .25s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease!important}
body.theme-reference .sidebar-edge-toggle:hover,body.theme-reference .sidebar-edge-toggle:focus{width:34px!important;color:var(--cakra-primary)!important;border-color:var(--cakra-primary)!important;outline:0;transform:translate(-50%,-50%) scale(1.08)!important;box-shadow:0 9px 24px rgba(39,106,241,.27)!important}
.desktop-sidebar-expanded body.theme-reference .sidebar-edge-toggle,body.theme-reference.desktop-sidebar-expanded .sidebar-edge-toggle{left:16rem}
body.theme-reference .sidebar-arrow:before{content:'\203A';display:block;font-size:1.5rem;line-height:1;transform:translateY(-1px)}
.desktop-sidebar-expanded body.theme-reference .sidebar-arrow:before,body.theme-reference.desktop-sidebar-expanded .sidebar-arrow:before{content:'\2039'}
body.theme-reference .nav-tabs{gap:.25rem;border-bottom:0}
body.theme-reference .nav-tabs .nav-link{margin:0;padding:.7rem 1rem;border:0;border-radius:.65rem;color:#65738b;font-weight:700}
body.theme-reference .nav-tabs .nav-link:hover{background:#eef3fb;color:var(--cakra-primary)}
body.theme-reference .nav-tabs .nav-link.active{background:#e9f2ff;color:#276af1;box-shadow:inset 0 -2px 0 #276af1}

@media(min-width:769px){
 body.theme-reference #accordionSidebar{position:relative;z-index:10;width:6.5rem!important;min-width:6.5rem!important;min-height:100vh;background:#fff!important;background-image:none!important;border-right:1px solid #e8edf3;box-shadow:7px 0 24px rgba(45,58,88,.055)}
 body.theme-reference #accordionSidebar .sidebar-brand{width:100%;height:86px;padding:.8rem .35rem;border-bottom:1px solid #edf1f5;color:#263b31!important}
 body.theme-reference #accordionSidebar .brand-logo{width:44px;height:44px;padding:3px;border-radius:12px;background:#fff;object-fit:contain}
 body.theme-reference #accordionSidebar .sidebar-brand-text{display:none}
 body.theme-reference #accordionSidebar .sidebar-heading{display:none}
 body.theme-reference #accordionSidebar .sidebar-divider{margin:.25rem .8rem;border-color:#eef1f5}
 body.theme-reference #accordionSidebar .nav-item{width:100%}
 body.theme-reference #accordionSidebar .nav-item .nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(100% - .7rem);min-height:63px;margin:.14rem .35rem;padding:.5rem .2rem!important;border:0;border-radius:12px;color:#7a879e!important;text-align:center;transform:none}
 body.theme-reference #accordionSidebar .nav-item .nav-link i{width:auto;margin:0 0 .3rem!important;color:#a0abc0;font-size:1rem}
 body.theme-reference #accordionSidebar .nav-item .nav-link span{display:block;max-width:100%;font-size:.61rem;font-weight:700;line-height:1.15;white-space:normal}
 body.theme-reference #accordionSidebar .nav-item .nav-link:hover{background:#f1f6ff;color:#276af1!important}
 body.theme-reference #accordionSidebar .nav-item .nav-link:hover i{color:#276af1}
 body.theme-reference #accordionSidebar .nav-item.active .nav-link{background:#eaf2ff;color:#276af1!important;box-shadow:inset 3px 0 0 #276af1}
 body.theme-reference #accordionSidebar .nav-item.active .nav-link i{color:#276af1}
 .desktop-sidebar-expanded body.theme-reference #accordionSidebar,body.theme-reference.desktop-sidebar-expanded #accordionSidebar{width:16rem!important;min-width:16rem!important}
 .desktop-sidebar-expanded body.theme-reference #accordionSidebar .sidebar-brand,body.theme-reference.desktop-sidebar-expanded #accordionSidebar .sidebar-brand{justify-content:flex-start;padding:1rem}
 .desktop-sidebar-expanded body.theme-reference #accordionSidebar .sidebar-brand-text,body.theme-reference.desktop-sidebar-expanded #accordionSidebar .sidebar-brand-text{display:block;margin-left:.7rem!important;font-size:.83rem;line-height:1.2;text-align:left;white-space:normal}
 .desktop-sidebar-expanded body.theme-reference #accordionSidebar .sidebar-heading,body.theme-reference.desktop-sidebar-expanded #accordionSidebar .sidebar-heading{display:block;padding:.9rem 1.15rem .25rem;color:#a0a9b8;font-size:.59rem;letter-spacing:.11em}
 .desktop-sidebar-expanded body.theme-reference #accordionSidebar .nav-item .nav-link,body.theme-reference.desktop-sidebar-expanded #accordionSidebar .nav-item .nav-link{flex-direction:row;justify-content:flex-start;width:calc(100% - 1.2rem);min-height:48px;margin:.14rem .6rem;padding:.6rem .8rem!important;text-align:left}
 .desktop-sidebar-expanded body.theme-reference #accordionSidebar .nav-item .nav-link i,body.theme-reference.desktop-sidebar-expanded #accordionSidebar .nav-item .nav-link i{display:inline-flex;justify-content:center;width:1.5rem;min-width:1.5rem;margin:0 .7rem 0 0!important}
 .desktop-sidebar-expanded body.theme-reference #accordionSidebar .nav-item .nav-link span,body.theme-reference.desktop-sidebar-expanded #accordionSidebar .nav-item .nav-link span{font-size:.75rem}
}

@media(max-width:768px){
 body.theme-reference #wrapper{display:block}
 body.theme-reference #content-wrapper{width:100%;margin:0!important}
 body.theme-reference .app-topbar{height:68px;min-height:68px;padding:0 .7rem}
 body.theme-reference .topbar-mobile-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;margin:0!important;border-radius:12px;background:#f1f5fb;color:#276af1!important}
 body.theme-reference .topbar-brand,body.theme-reference .topbar-shortcuts,body.theme-reference .sidebar-edge-toggle{display:none!important}
 body.theme-reference .topbar-clock{display:grid!important;left:50%;max-width:116px;grid-template-columns:auto auto;column-gap:.25rem;line-height:1.05;pointer-events:none}
 body.theme-reference .topbar-clock span{font-size:.62rem;letter-spacing:.015em}
 body.theme-reference .topbar-clock strong{font-size:.82rem;letter-spacing:.025em}
 body.theme-reference .topbar-clock small{font-size:.52rem}
 body.theme-reference .app-topbar .topbar-divider{display:none!important}
 body.theme-reference .app-topbar .nav-link{height:48px;padding:.55rem .55rem}
 body.theme-reference .container-fluid{padding:1rem .85rem calc(88px + env(safe-area-inset-bottom))}
 body.theme-reference #accordionSidebar.sidebar{position:fixed;z-index:1060;top:0;bottom:0;left:0;display:flex!important;width:min(84vw,18rem)!important;max-width:18rem!important;height:100dvh;overflow-y:auto;overflow-x:hidden;visibility:hidden;pointer-events:none;transform:translateX(-100%);transition:transform .22s ease,visibility 0s linear .22s;background:#fff!important;background-image:none!important;border-right:1px solid #e4eaf2;box-shadow:12px 0 30px rgba(23,35,62,.2)}
 html.mobile-sidebar-open body.theme-reference #accordionSidebar.sidebar{visibility:visible;pointer-events:auto;transform:translateX(0);transition:transform .22s ease}
 body.theme-reference #accordionSidebar .sidebar-brand{justify-content:flex-start;width:100%;min-height:76px;padding:.7rem 1rem;border-bottom:1px solid #edf1f5;color:#25384f!important}
 body.theme-reference #accordionSidebar .brand-logo{width:42px;height:42px;object-fit:contain}
 body.theme-reference #accordionSidebar .sidebar-brand-text{display:block!important;margin-left:.75rem!important;font-size:.84rem;text-align:left;white-space:normal}
 body.theme-reference #accordionSidebar .sidebar-heading{padding:.9rem 1.2rem .28rem;color:#a1aaba;font-size:.59rem;letter-spacing:.11em;text-align:left}
 body.theme-reference #accordionSidebar .sidebar-divider{margin:.4rem 1rem;border-color:#edf1f5}
 body.theme-reference #accordionSidebar .nav-item .nav-link{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;width:calc(100% - 1rem)!important;min-height:48px;margin:.12rem .5rem!important;padding:.62rem .8rem!important;border-radius:12px;color:#68768d!important;text-align:left!important}
 body.theme-reference #accordionSidebar .nav-item .nav-link i{display:inline-flex!important;align-items:center;justify-content:center;width:1.5rem!important;min-width:1.5rem;margin:0 .72rem 0 0!important;color:#9ca7b9;font-size:.95rem!important}
 body.theme-reference #accordionSidebar .nav-item .nav-link span{width:auto!important;font-size:.75rem!important;line-height:1.25!important;text-align:left!important;white-space:normal!important}
 body.theme-reference #accordionSidebar .nav-item.active .nav-link{background:#eaf2ff;color:#276af1!important;box-shadow:inset 3px 0 0 #276af1}
 body.theme-reference #accordionSidebar .nav-item.active .nav-link i{color:#276af1}
 body.theme-reference #mobile-sidebar-backdrop{display:none;position:fixed;z-index:1050;inset:0;background:rgba(18,28,48,.5);backdrop-filter:blur(2px)}
 html.mobile-sidebar-open body.theme-reference #mobile-sidebar-backdrop{display:block}
 body.theme-reference .mobile-bottom-nav{position:fixed;z-index:1040;right:clamp(.5rem,4vw,1.5rem);bottom:calc(.6rem + env(safe-area-inset-bottom));left:clamp(.5rem,4vw,1.5rem);display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));min-height:70px;padding:.42rem;border:1px solid #edf0f5;border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 -4px 24px rgba(36,49,80,.14);backdrop-filter:blur(14px)}
 body.theme-reference .mobile-bottom-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;min-width:0;min-height:56px;padding:.3rem .1rem;border:0;border-radius:16px;background:transparent;color:#6f7c91;text-decoration:none!important}
 body.theme-reference .mobile-bottom-item i{font-size:1rem}
 body.theme-reference .mobile-bottom-item span{font-size:.58rem;font-weight:800;line-height:1.1;text-align:center;white-space:normal}
 body.theme-reference .mobile-bottom-item.active{color:#276af1;background:#edf4ff}
 body.theme-reference .mobile-bottom-item.active i{display:flex;align-items:center;justify-content:center;width:31px;height:31px;margin-top:-17px;border-radius:50%;background:#2784f5;color:#fff;box-shadow:0 6px 15px rgba(39,132,245,.34)}
}

/* Mobile nyaman dibaca: panel menu lebar, teks membungkus, tidak dipotong. */
@media (max-width:768px){
  #accordionSidebar.sidebar{width:min(82vw,17.5rem)!important;max-width:17.5rem!important}
  #accordionSidebar.sidebar .sidebar-brand{width:100%!important;min-height:5rem;padding:.65rem 1rem;justify-content:flex-start!important}
  #accordionSidebar.sidebar .sidebar-brand-icon{width:42px;min-width:42px;text-align:center}
  #accordionSidebar.sidebar .sidebar-brand-text{display:block!important;min-width:0;margin-left:.75rem!important;font-size:.86rem;line-height:1.2;text-align:left;white-space:normal;overflow-wrap:anywhere}
  #accordionSidebar.sidebar .nav-item .nav-link{width:calc(100% - 1rem)!important;min-height:48px;margin:.12rem .5rem!important;padding:.68rem .8rem!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important}
  #accordionSidebar.sidebar .nav-item .nav-link i{display:inline-flex!important;align-items:center;justify-content:center;width:1.5rem!important;min-width:1.5rem;margin:0 .75rem 0 0!important;font-size:.95rem!important;text-align:center!important}
  #accordionSidebar.sidebar .nav-item .nav-link span{display:block!important;width:auto!important;min-width:0;font-size:.76rem!important;line-height:1.3!important;text-align:left!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
  #accordionSidebar.sidebar .sidebar-heading{width:auto!important;padding:.9rem 1.3rem .32rem!important;text-align:left!important;font-size:.61rem!important;line-height:1.3;white-space:normal!important}
  #accordionSidebar.sidebar .sidebar-divider{margin:.42rem 1rem!important}
  .mobile-bottom-nav{height:calc(74px + env(safe-area-inset-bottom));padding:5px 4px env(safe-area-inset-bottom)}
  body#page-top{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .mobile-bottom-item{min-height:62px;padding:4px 2px;gap:3px}
  .mobile-bottom-item span{display:block;max-width:100%;font-size:.6rem;line-height:1.12;white-space:normal;overflow:visible;text-overflow:clip;text-align:center;overflow-wrap:anywhere}
  .h1,.h2,.h3,h1,h2,h3{max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .page-toolbar .h3{font-size:1.45rem;line-height:1.25}
  .page-toolbar-actions,.toolbar-filter,.export-actions{min-width:0;max-width:100%}
  .export-actions .btn span,.toolbar-filter .btn span{white-space:normal;overflow-wrap:anywhere}
  .table-responsive{width:100%;max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
  .table-responsive .table{width:max-content;min-width:100%}
  .table td,.table th{max-width:18rem;white-space:normal;overflow-wrap:anywhere}
  .table td.text-nowrap{white-space:normal!important}
  .table td.text-nowrap form,.table td.text-nowrap .btn{display:inline-flex!important;margin:.12rem .08rem}
  .form-row>[class*=col-],.row>[class*=col-]{min-width:0}
  .form-control,.form-select,.custom-select{max-width:100%}
  .alert,.card-header,.card-body,.dropdown-item{white-space:normal;overflow-wrap:anywhere}
}

body.theme-reference #alertsDropdown+.dropdown-menu{max-height:min(72vh,34rem);overflow-y:auto;min-width:22rem}
body.theme-reference #alertsDropdown+.dropdown-menu .dropdown-item{white-space:normal;line-height:1.25}
body.theme-reference #alertsDropdown+.dropdown-menu .dropdown-item>div{min-width:0}
body.theme-reference #alertsDropdown+.dropdown-menu .dropdown-item strong{overflow-wrap:anywhere}

/* Dashboard dan pagination benar-benar mengikuti lebar perangkat mobile. */
@media (max-width:575.98px){
  body.theme-reference .container-fluid{width:100%;max-width:100%;padding-right:.7rem!important;padding-left:.7rem!important;overflow-x:hidden}
  body.theme-reference .card{max-width:100%}
  body.theme-reference .upcoming-schedule-card .card-header{gap:.65rem}
  body.theme-reference .upcoming-schedule-card .card-header h6{min-width:0;line-height:1.3}
  body.theme-reference .upcoming-schedule-card .card-header a{flex:0 0 auto}
  body.theme-reference .upcoming-schedule-wrap{overflow:visible!important;border:0!important;background:transparent}
  body.theme-reference .upcoming-schedule-table{display:block!important;width:100%!important;min-width:0!important;margin:0}
  body.theme-reference .upcoming-schedule-table thead{display:none}
  body.theme-reference .upcoming-schedule-table tbody{display:grid;gap:.7rem;width:100%}
  body.theme-reference .upcoming-schedule-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.45rem .8rem;width:100%;padding:.8rem;border:1px solid #e3e9f1;border-radius:13px;background:#fff;box-shadow:0 5px 14px rgba(35,50,82,.05)}
  body.theme-reference .upcoming-schedule-table td{display:grid;grid-template-columns:minmax(4.8rem,42%) minmax(0,1fr);align-items:start;gap:.45rem;width:100%;max-width:none!important;padding:0!important;border:0!important;font-size:.76rem;line-height:1.35;overflow-wrap:anywhere}
  body.theme-reference .upcoming-schedule-table td:before{content:attr(data-label);color:#8590a3;font-size:.61rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
  body.theme-reference .upcoming-schedule-table td[data-label="Tanggal"],body.theme-reference .upcoming-schedule-table td[data-label="Pelanggan"]{grid-column:1/-1}
  body.theme-reference .upcoming-schedule-table td[data-label="Pelanggan"]{padding-bottom:.45rem!important;border-bottom:1px dashed #e5eaf1!important;font-weight:800;color:#33445e}
  body.theme-reference .upcoming-schedule-table tr.is-empty{display:block;padding:0;box-shadow:none}
  body.theme-reference .upcoming-schedule-table tr.is-empty td{display:block;padding:1rem!important;text-align:center!important}
  body.theme-reference .upcoming-schedule-table tr.is-empty td:before{content:none}
  .entry-pagination{display:grid!important;grid-template-columns:1fr;gap:.55rem;width:100%}
  .entry-pagination .entry-limit{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;width:100%;margin:0!important}
  .entry-pagination .entry-limit label{margin:0!important}
  .entry-pagination .entry-limit select{width:100%!important}
  .entry-pagination-status{display:grid!important;grid-template-columns:1fr;gap:.55rem;width:100%;margin:0!important}
  .entry-pagination .entry-summary{display:block;margin:0!important;text-align:center;line-height:1.35}
  .entry-pagination .entry-nav{width:100%}
  .entry-pagination .pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%}
  .entry-pagination .page-item{min-width:0;text-align:center}
  .entry-pagination .page-link{display:flex;align-items:center;justify-content:center;height:100%;min-height:36px;padding:.4rem .3rem;white-space:normal;font-size:.68rem;line-height:1.15}
}

@media (max-width:359.98px){
  body.theme-reference .upcoming-schedule-table tr{grid-template-columns:1fr}
  body.theme-reference .upcoming-schedule-table td{grid-column:1!important}
  body.theme-reference .board-dashboard-summary{grid-template-columns:1fr}
  body.theme-reference .board-dashboard-summary>a{grid-column:1}
}

/* Ringkasan jadwal mobile tetap berupa tabel pendek, bukan deretan kartu. */
.upcoming-schedule-mobile{display:none}

/* Workspace daftar: data utama full width, form dibuka sebagai drawer kanan. */
.workspace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.workspace-heading-copy{min-width:0}.workspace-heading h1{margin-bottom:.25rem}.workspace-heading p{margin:0;color:#858796}.workspace-heading-actions{display:flex;gap:.5rem;flex:0 0 auto}.workspace-card .card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.workspace-card .table{margin-bottom:0}.workspace-card .table thead th{position:sticky;top:0;z-index:2;background:#f7f9fc}.workspace-card .workspace-primary{font-weight:800;color:#344563}.workspace-actions{display:flex;justify-content:flex-end;gap:.35rem;white-space:nowrap}.workspace-empty{padding:2.5rem 1rem!important;text-align:center;color:#858796}.workspace-empty i{display:block;margin-bottom:.65rem;font-size:1.6rem;color:#b7c0cf}
.app-drawer{position:fixed!important;z-index:1205!important;top:0;right:0;display:flex;flex-direction:column;width:min(92vw,34rem);height:100dvh;background:#fff;opacity:1!important;filter:none!important;box-shadow:-18px 0 45px rgba(25,39,65,.2);visibility:hidden;pointer-events:none;transform:translateX(105%);transition:transform .22s ease,visibility 0s linear .22s}.app-drawer.is-open{visibility:visible;pointer-events:auto;transform:translateX(0);transition:transform .22s ease}.app-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px;padding:1rem 1.25rem;border-bottom:1px solid #e6ebf2}.app-drawer-header h2{margin:0;font-size:1.15rem;font-weight:800;color:#213b2d}.app-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:12px;background:#f1f4f8;color:#637087}.app-drawer-body{flex:1 1 auto;min-height:0;padding:1.25rem;overflow-y:auto;background:#fff}.app-drawer-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:.5rem;margin:1.25rem -1.25rem -1.25rem;padding:1rem 1.25rem;background:#fff;border-top:1px solid #e6ebf2}.app-drawer-backdrop{position:fixed!important;z-index:1200!important;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:rgba(18,29,49,.48);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s}.app-drawer-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease}.app-drawer-open{overflow:hidden}.app-drawer .form-section{margin-bottom:1.25rem;padding-bottom:.25rem}.app-drawer .form-section-title{margin-bottom:.8rem;color:#18a558;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:575.98px){.workspace-heading{align-items:stretch;flex-direction:column}.workspace-heading-actions,.workspace-heading-actions .btn{width:100%}.app-drawer{width:100vw;max-width:none}.app-drawer-header{padding:1rem}.app-drawer-body{padding:1rem}.app-drawer-footer{margin:1rem -1rem -1rem;padding:1rem}.workspace-actions{justify-content:flex-start;flex-wrap:wrap}.workspace-card .card-header{align-items:flex-start;flex-direction:column}.workspace-card .table-responsive{max-height:none}}

/* Layout aplikasi selalu mengisi viewport, terlepas dari banyak/sedikitnya isi halaman. */
html,body#page-top{width:100%;min-height:100%;overflow-x:hidden}
body.theme-reference #wrapper{display:flex;width:100%;min-width:0;min-height:100vh}
body.theme-reference #content-wrapper{display:flex;flex:1 1 0;min-width:0;max-width:none;min-height:100vh}
body.theme-reference #content{display:flex;flex:1 0 auto;min-width:0;flex-direction:column}
body.theme-reference #content>.container-fluid{width:100%;max-width:none!important;min-width:0;flex:1 0 auto}
body.theme-reference .sticky-footer{flex:0 0 auto;width:100%}

@media(min-width:769px){
  body.theme-reference #content-wrapper{width:calc(100% - 6.5rem)!important}
  html.desktop-sidebar-expanded body.theme-reference #content-wrapper,
  body.theme-reference.desktop-sidebar-expanded #content-wrapper{width:calc(100% - 16rem)!important}
}

@media(max-width:768px){
  body.theme-reference #wrapper{display:block;width:100%}
  body.theme-reference #content-wrapper{width:100%!important;min-height:100dvh}
  body.theme-reference #content>.container-fluid{padding-right:max(.85rem,env(safe-area-inset-right));padding-left:max(.85rem,env(safe-area-inset-left))}
}
@media (max-width:575.98px){
  body.theme-reference .upcoming-schedule-wrap{overflow-x:hidden!important;border:1px solid #e3e9f1!important;border-radius:10px!important}
  body.theme-reference .upcoming-schedule-desktop{display:none}
  body.theme-reference .upcoming-schedule-mobile{display:table;width:100%!important;min-width:0!important;margin:0;table-layout:fixed}
  body.theme-reference .upcoming-schedule-mobile th,body.theme-reference .upcoming-schedule-mobile td{max-width:none!important;padding:.42rem .28rem!important;font-size:.65rem;line-height:1.2;vertical-align:middle;overflow-wrap:anywhere}
  body.theme-reference .upcoming-schedule-mobile th{font-size:.55rem;letter-spacing:.025em;white-space:normal}
  body.theme-reference .upcoming-schedule-mobile th:nth-child(1){width:25%}
  body.theme-reference .upcoming-schedule-mobile th:nth-child(2){width:13%}
  body.theme-reference .upcoming-schedule-mobile th:nth-child(3){width:39%}
  body.theme-reference .upcoming-schedule-mobile th:nth-child(4){width:23%}
  body.theme-reference .upcoming-schedule-mobile td strong,body.theme-reference .upcoming-schedule-mobile td small{display:block}
  body.theme-reference .upcoming-schedule-mobile td small{margin-top:.12rem;font-size:.55rem;color:#7c8799}
  .mobile-status-dot{display:inline-block;width:.55rem;height:.55rem;margin-right:.18rem;border-radius:50%;vertical-align:middle}
  .mobile-status-dot.is-paid{background:#1cc88a}.mobile-status-dot.is-pending{background:#f6c23e}
}

/* Override terakhir agar tema reference tidak menggeser nama GOR dari logo. */
body.theme-reference #accordionSidebar .booking-brand {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.3rem;
  width:100%!important;
  min-height:92px;
  height:auto;
  padding:.65rem .5rem!important;
  text-align:center!important;
}
body.theme-reference #accordionSidebar .booking-brand .brand-logo {
  display:block;
  flex:0 0 auto;
  margin:0 auto!important;
}
body.theme-reference #accordionSidebar .booking-brand .sidebar-brand-text {
  display:block!important;
  width:100%;
  margin:0!important;
  font-size:.76rem;
  line-height:1.15;
  text-align:center!important;
  white-space:normal;
}

/* Ruang konten mengikuti sisa lebar wrapper; footer tetap selebar konten. */
@media(min-width:769px){body.theme-reference #content-wrapper,html.desktop-sidebar-expanded body.theme-reference #content-wrapper,body.theme-reference.desktop-sidebar-expanded #content-wrapper{width:auto!important;flex:1 1 0!important;min-width:0!important}}
body.theme-reference #content{width:100%;min-width:0}body.theme-reference .sticky-footer{box-sizing:border-box;max-width:100%}
