:root{
    --bg:#edf4ef;
    --bg-2:#f5faf7;
    --panel:#ffffff;
    --panel-soft:#eef8f2;
    --line:#d4e4da;
    --text:#102033;
    --muted:#667085;
    --green:#16a34a;
    --green-2:#0f8f43;
    --green-dark:#08743a;
    --green-soft:#e8f7ee;
    --green-soft-2:#d8f0e2;
    --danger:#ef4444;
    --shadow:0 14px 34px rgba(15,23,42,.08);
}

*{scrollbar-color:#96c9aa #eaf3ee;scrollbar-width:thin}

body{
    background:
        radial-gradient(circle at top right, rgba(22,163,74,.10), transparent 30%),
        linear-gradient(135deg,#eaf4ee 0%,#f3f9f5 52%,#edf5f0 100%);
    color:var(--text);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:14px;
}

.content-wrapper{
    background:transparent;
    padding:18px 16px 0;
}

.main-header{
    border-bottom:1px solid var(--line);
    background:rgba(250,253,251,.92)!important;
    backdrop-filter:blur(12px);
}

.main-sidebar{
    background:linear-gradient(180deg,#f6fbf8 0%,#edf7f1 100%)!important;
    border-right:1px solid var(--line);
}

.brand-link{
    min-height:64px;
    display:flex!important;
    align-items:center;
    border-bottom:1px solid var(--line)!important;
    color:var(--text)!important;
    font-weight:850;
    letter-spacing:-.03em;
    background:#e7f5ed!important;
}

.brand-link i{
    width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    color:#fff!important;
    background:var(--green)!important;
    box-shadow:0 8px 18px rgba(22,163,74,.20);
}

.sidebar{padding:0 8px 12px}
.user-panel{
    border-bottom:1px solid var(--line)!important;
    background:rgba(255,255,255,.62);
    border-radius:18px;
    margin:14px 0;
    padding:14px 10px!important;
}
.user-panel .image i{color:var(--green)!important}
.user-panel .info a{color:var(--text)!important;font-weight:700}
.user-panel small{color:#667085!important}

/* Sidebar dibuat lebih jelas: teks gelap, aktif hijau solid, submenu aktif hijau muda */
.sidebar-dark-success .nav-sidebar>.nav-item>.nav-link,
.nav-sidebar .nav-link{
    color:#344054!important;
    border-radius:13px;
    margin-bottom:5px;
    padding:.72rem .86rem;
    font-weight:600;
}
.nav-sidebar .nav-link p{color:inherit!important}
.nav-sidebar .nav-icon{color:inherit!important;opacity:.95}
.nav-sidebar .nav-link:hover{
    background:#e2f4e9!important;
    color:var(--green-dark)!important;
}

.sidebar-dark-success .nav-sidebar>.nav-item>.nav-link.active,
.nav-sidebar>.nav-item>.nav-link.active{
    background:var(--green)!important;
    color:#fff!important;
    box-shadow:0 10px 22px rgba(22,163,74,.20)!important;
}
.sidebar-dark-success .nav-sidebar>.nav-item>.nav-link.active p,
.nav-sidebar>.nav-item>.nav-link.active p,
.sidebar-dark-success .nav-sidebar>.nav-item>.nav-link.active i,
.nav-sidebar>.nav-item>.nav-link.active i{
    color:#fff!important;
}

.nav-treeview{
    background:#f4fbf7!important;
    border:1px solid #d9eadf;
    border-radius:14px;
    margin:4px 0 10px;
    padding:6px;
}
.nav-treeview>.nav-item>.nav-link{
    color:#475467!important;
    background:transparent!important;
    font-weight:600;
    padding:.62rem .75rem;
    border-radius:11px;
}
.nav-treeview>.nav-item>.nav-link .nav-icon{
    color:#9aa6b2!important;
    font-size:.82rem;
}
.nav-treeview>.nav-item>.nav-link:hover{
    color:var(--green-dark)!important;
    background:#e6f6ed!important;
}
.nav-treeview>.nav-item>.nav-link.active{
    background:#d7f1e1!important;
    color:#075e2f!important;
    border-left:4px solid var(--green)!important;
    box-shadow:none!important;
    font-weight:800;
}
.nav-treeview>.nav-item>.nav-link.active p,
.nav-treeview>.nav-item>.nav-link.active i{
    color:#075e2f!important;
}

.content-header{padding:6px 0 14px}
.page-title{font-weight:850;letter-spacing:-.04em;color:#102033}
.page-subtitle{color:var(--muted);margin-bottom:0}

.dashboard-hero{
    position:relative;
    overflow:hidden;
    margin-bottom:22px;
    padding:30px;
    border-radius:28px;
    color:#fff;
    background:linear-gradient(135deg,#0f8f43 0%,#16a34a 55%,#22b85b 100%);
    box-shadow:0 18px 42px rgba(22,163,74,.22);
}
.dashboard-hero:before{
    content:"";
    position:absolute;
    right:-72px;
    top:-84px;
    width:240px;
    height:240px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
}
.dashboard-hero:after{
    content:"";
    position:absolute;
    right:130px;
    bottom:-70px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:rgba(255,255,255,.10);
}
.dashboard-hero h1{position:relative;font-size:32px;font-weight:850;letter-spacing:-.04em;margin:0 0 8px}
.dashboard-hero p{position:relative;margin:0;max-width:790px;color:rgba(255,255,255,.94);font-size:15px}
.hero-action{position:relative;margin-top:18px}
.hero-action .btn{border-radius:999px;padding:.52rem 1.1rem;font-weight:800}

.card{
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:var(--shadow);
    background:rgba(255,255,255,.94);
}
.card-header{
    background:#fbfefc;
    border-bottom:1px solid var(--line);
    border-radius:22px 22px 0 0!important;
    padding:16px 20px;
}
.card-title{color:#102033;font-weight:800}

.small-box{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    box-shadow:var(--shadow);
    border:1px solid var(--line);
    background:#fbfefc!important;
    color:var(--text)!important;
    min-height:142px;
}
.small-box:before{
    content:"";
    position:absolute;
    right:-22px;
    top:-34px;
    width:118px;
    height:118px;
    border-radius:38px;
    background:#dff3e7;
    transform:rotate(10deg);
}
.small-box .inner{position:relative;z-index:2}
.small-box h3{font-weight:850;letter-spacing:-.04em;color:#071524}
.small-box p{color:#334155;font-weight:700;margin-bottom:0}
.small-box .icon{right:20px;top:20px;color:rgba(22,163,74,.17)!important;z-index:1}

.btn{border-radius:13px;font-weight:700}
.btn-success{background:var(--green)!important;border-color:var(--green)!important;box-shadow:0 10px 20px rgba(22,163,74,.16)}
.btn-success:hover{background:var(--green-dark)!important;border-color:var(--green-dark)!important}
.btn-outline-success{border-color:var(--green);color:var(--green-dark);background:#fff}
.btn-outline-success:hover{background:var(--green);border-color:var(--green);color:#fff}

.form-control,.custom-select{border-radius:13px;border-color:#d4e4dc;background:#fbfefd}
.form-control:focus,.custom-select:focus{border-color:#7cc9a0;box-shadow:0 0 0 .2rem rgba(22,163,74,.13)}

.table{background:#fff;color:var(--text)}
.table thead th{
    border-top:0;
    background:var(--green)!important;
    color:#fff!important;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.035em;
    padding:14px;
}
.table tbody td{color:#172033;vertical-align:middle}
.table tbody tr:hover{background:#f0faf4}
.badge{border-radius:999px;padding:.45em .75em}

.alert-success{border:0;border-left:5px solid var(--green);background:#eaf8ef;color:#14532d}
.clean-print{background:#fff}
.calendar-day{min-height:120px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.92);padding:10px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.event-pill{display:block;border-radius:999px;padding:6px 10px;margin-top:6px;font-size:12px;background:#e9f7ef;color:#0b6734;font-weight:700}
.event-pill.baju{background:#edf8f1;color:#166534}
.event-pill.full{background:#fef2f2;color:#991b1b}
.main-footer{background:rgba(250,253,251,.78);border-top:1px solid var(--line);backdrop-filter:blur(10px)}

@media(max-width:767px){
    .content-wrapper{padding:12px 10px 0}
    .dashboard-hero{padding:22px;border-radius:22px}
    .dashboard-hero h1{font-size:25px}
    .table-responsive{font-size:12px}
    .small-box h3{font-size:1.5rem}
    .main-sidebar{box-shadow:0 20px 50px rgba(15,23,42,.18)}
}

@media print{
    .main-header,.main-sidebar,.content-header,.btn,.no-print,.dashboard-hero{display:none!important}
    .content-wrapper,.main-footer{margin:0!important}
    .card{box-shadow:none;border:0}
    .table{font-size:12px}
    body{background:#fff}
}


.summary-line{display:flex;justify-content:space-between;border-bottom:1px dashed #d9eee4;padding:9px 0}.mini-list{background:#f3fbf7;border-left:4px solid #149f63;border-radius:10px;padding:10px 12px;margin-bottom:8px}.btn-xs{padding:.12rem .35rem;font-size:.75rem}.table thead th{white-space:nowrap}.text-nowrap{white-space:nowrap}.hero-dashboard{background:linear-gradient(135deg,#119b66,#138a73);border-radius:24px;color:white;padding:34px 30px;margin-bottom:20px;position:relative;overflow:hidden}.hero-dashboard:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-40px;top:-50px;background:rgba(255,255,255,.15)}.hero-dashboard h1{font-weight:800}.small-box-clean{background:#fff;border-radius:18px;padding:26px;box-shadow:0 12px 30px rgba(20,159,99,.10);position:relative;overflow:hidden;margin-bottom:20px}.small-box-clean h3{font-weight:800}.small-box-clean i{position:absolute;right:20px;top:22px;font-size:56px;color:rgba(20,159,99,.13)}@media print{.main-sidebar,.main-header,.content-header .btn,.card-header .btn,.btn{display:none!important}.content-wrapper{margin-left:0!important}.card{box-shadow:none!important;border:0!important}}

/* V5 - penyempurnaan alur dan keterbacaan */
.filter-card{box-shadow:0 8px 22px rgba(15,23,42,.06); margin-bottom:16px}
.btn-group-action{display:flex;flex-wrap:wrap;gap:5px;min-width:260px}.btn-group-action .btn{border-radius:9px;font-weight:700}
.detail-hero{display:flex;justify-content:space-between;gap:16px;align-items:center;background:linear-gradient(135deg,#0f8f43,#16a34a);color:#fff;border-radius:24px;padding:22px 24px;box-shadow:0 16px 34px rgba(22,163,74,.20);margin-bottom:4px}.detail-hero h1{font-weight:850;margin:0;letter-spacing:-.04em}.detail-hero p{margin:4px 0 0;color:rgba(255,255,255,.92)}.detail-actions .btn{margin:2px}.detail-actions .btn-outline-dark{color:#fff;border-color:rgba(255,255,255,.7)}
.table-clean th{width:42%;color:#475467}.info-block{background:#f5fbf7;border:1px solid #d9eadf;border-radius:16px;padding:12px 14px;margin-top:12px}.info-block p{margin:6px 0 0}.package-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.package-list li{display:flex;gap:10px;background:#f6fbf8;border:1px solid #dbece1;padding:11px;border-radius:14px}.package-list i{color:#16a34a;margin-top:3px}.sticky-side{position:sticky;top:82px}.quick-actions .btn{border-radius:12px;font-weight:800}.summary-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #d4e4da;padding:9px 0}.summary-line:last-child{border-bottom:0}.summary-line span{color:#667085}.summary-line b{color:#102033}.status-box{background:#f6fbf8;border:1px solid #dbece1;border-radius:16px;padding:14px;min-height:92px}.status-box p{margin:8px 0 0;color:#475467}.payment-summary{background:#f1faf4;border:1px solid #cfe9d8;border-radius:16px;padding:12px;margin-bottom:15px;display:grid;grid-template-columns:1fr;gap:8px}.payment-summary div{display:flex;justify-content:space-between}.payment-summary span{color:#667085}.payment-summary b{color:#08743a}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.availability-card{background:#fff;border:1px solid #d7e7dd;border-radius:22px;padding:18px;box-shadow:0 12px 28px rgba(15,23,42,.07);position:relative;overflow:hidden}.availability-card:before{content:"";position:absolute;right:-40px;top:-40px;width:110px;height:110px;border-radius:50%;background:#e8f7ee}.availability-card.warning:before{background:#fff3d4}.availability-card.danger:before{background:#ffe1e1}.availability-card h5{font-weight:850;margin-bottom:2px;color:#102033}.availability-number{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.availability-number div{background:#f7fbf8;border:1px solid #e1eee6;border-radius:14px;padding:9px;text-align:center}.availability-number span{display:block;color:#667085;font-size:12px}.availability-number b{font-size:22px;color:#102033}.status-pill{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.status-pill.success{background:#dcfce7;color:#166534}.status-pill.warning{background:#fef3c7;color:#92400e}.status-pill.danger{background:#fee2e2;color:#991b1b}.progress-xs{height:7px;border-radius:99px;background:#edf4ef}.small-link{font-weight:700;color:#0f8f43}.mini-list{border:1px solid #dbece1;background:#f7fbf8;border-radius:14px;padding:10px 12px;margin-bottom:8px;min-height:54px}
@media(max-width:768px){.detail-hero{display:block}.detail-actions{margin-top:12px}.btn-group-action{min-width:0}.content-wrapper{padding:12px 10px}.availability-grid{grid-template-columns:1fr}.sticky-side{position:static}}

/* v7 enhancements */
.legend-item{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;color:#475569}.legend-item span{width:14px;height:14px;border-radius:5px;display:inline-block}.notif-dropdown{max-height:520px;overflow:auto}.paket-item-row{background:#f8fafc!important}.fc .fc-toolbar-title{font-size:1.25rem;font-weight:800;color:#0f5132}.fc .fc-button-primary{background:#198754;border-color:#198754}.fc .fc-event{border-radius:8px;border:0;padding:2px 4px;font-size:12px}.progress{border-radius:999px;background:#e2e8f0}.progress-bar{border-radius:999px}.btn-group-action .btn{margin:2px}.print-card{border-radius:14px;overflow:hidden}
@media print{.main-sidebar,.main-header,.content-header .btn,.d-print-none,.btn,.sidebar,.navbar{display:none!important}.content-wrapper{margin-left:0!important;background:#fff!important}.card{box-shadow:none!important;border:1px solid #ddd!important}.table th{background:#f3f4f6!important;color:#111!important}}
