:root{
    --primary:#0f4c81;
    --primary-2:#1d6fa5;
    --secondary:#0b6b5b;
    --accent:#f59e0b;
    --dark:#0f172a;
    --muted:#64748b;
    --bg:#f3f6fb;
    --card:#ffffff;
    --border:#e2e8f0;
    --shadow:0 18px 45px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    background:
        radial-gradient(circle at top left, rgba(15,76,129,.11), transparent 32rem),
        radial-gradient(circle at bottom right, rgba(11,107,91,.10), transparent 30rem),
        var(--bg);
    font-family:'Inter','Segoe UI',Arial,sans-serif;
    color:#1f2937;
    min-height:100vh;
    overflow-x:hidden;
}
a{text-decoration:none}.min-w-0{min-width:0}
.login-page{
    min-height:100vh;
    background:
        linear-gradient(135deg, rgba(15,76,129,.95), rgba(11,107,91,.92)),
        radial-gradient(circle at top right, rgba(245,158,11,.35), transparent 28rem);
    display:flex;align-items:center;justify-content:center;padding:24px;
}
.login-card{
    width:100%;max-width:460px;background:rgba(255,255,255,.96);
    border:1px solid rgba(255,255,255,.55);border-radius:30px;
    box-shadow:0 30px 80px rgba(15,23,42,.30);padding:34px;backdrop-filter:blur(16px);
}
.login-logo,.brand-icon{
    display:grid;place-items:center;color:#fff;font-weight:900;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    box-shadow:0 16px 30px rgba(15,76,129,.35);
}
.login-logo{width:74px;height:74px;border-radius:24px;font-size:34px}.app-wrapper{display:flex;min-height:100vh}
.sidebar{
    width:286px;background:linear-gradient(180deg,#0f172a 0%,#111827 52%,#0b1220 100%);
    color:#e2e8f0;position:fixed;inset:0 auto 0 0;z-index:1040;overflow-y:auto;transition:.25s ease;
    box-shadow:12px 0 34px rgba(15,23,42,.12);
}
.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:999px}
.sidebar-brand{padding:22px 20px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;gap:12px;align-items:center;position:sticky;top:0;background:rgba(15,23,42,.94);backdrop-filter:blur(14px);z-index:3}
.brand-icon{width:46px;height:46px;border-radius:15px}.brand-title{font-weight:900;line-height:1.2;color:#fff}.brand-subtitle{font-size:12px;color:#94a3b8;margin-top:3px}.brand-text{min-width:0}.sidebar-close{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px}
.sidebar-menu{padding:14px 12px 28px}.menu-label{font-size:11px;text-transform:uppercase;letter-spacing:.10em;color:#64748b;margin:18px 12px 8px;font-weight:800}.nav-link-app,.nav-group-toggle{display:flex;align-items:center;gap:11px;width:100%;padding:11px 13px;border-radius:15px;color:#cbd5e1;margin-bottom:5px;transition:.18s ease;font-size:14px;border:0;background:transparent;text-align:left}.nav-link-app:hover,.nav-link-app.active,.nav-group.open>.nav-group-toggle{background:rgba(59,130,246,.16);color:#fff}.nav-link-app i,.nav-group-toggle i:first-child{width:20px;text-align:center;color:#93c5fd}.nav-link-app span,.nav-group-toggle span{min-width:0}.nav-group-toggle{justify-content:space-between}.nav-group-toggle span{display:flex;align-items:center;gap:11px}.chevron{font-size:12px;color:#94a3b8;transition:.2s}.nav-group.open .chevron{transform:rotate(180deg)}.nav-group-menu{display:none;padding-left:8px;margin:2px 0 8px}.nav-group.open .nav-group-menu{display:block}.nav-link-app.sub{font-size:13px;padding-left:12px;color:#cbd5e1}.nav-link-app.sub i{color:#a7f3d0}.main-content{margin-left:286px;width:calc(100% - 286px);min-height:100vh}.topbar{height:74px;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(226,232,240,.9);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:1000;backdrop-filter:blur(14px)}.topbar-heading{max-width:calc(100vw - 430px)}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.user-menu{background:#f8fafc;border:1px solid var(--border);border-radius:999px;padding:6px 10px 6px 6px}.page-content{padding:24px}.page-title{font-weight:900;color:var(--dark);margin-bottom:4px;letter-spacing:-.02em}.page-subtitle{color:var(--muted);font-size:14px;margin-bottom:0}.card-modern{background:rgba(255,255,255,.96);border:1px solid rgba(226,232,240,.88);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.stat-card{padding:20px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-30px;top:-35px;width:110px;height:110px;border-radius:50%;background:rgba(15,76,129,.08)}.stat-icon{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;background:#eff6ff;color:var(--primary);font-size:21px;margin-bottom:14px}.stat-value{font-weight:900;font-size:25px;color:var(--dark);line-height:1.1;word-break:break-word}.stat-label{font-size:13px;color:var(--muted);margin-top:7px}.table-responsive{border-radius:18px;overflow:auto;-webkit-overflow-scrolling:touch}.table{margin-bottom:0}.table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#475569;background:#f8fafc;white-space:nowrap;border-bottom:1px solid var(--border)}.table td{vertical-align:middle;font-size:14px}.table td,.table th{padding:.82rem .9rem}.table-hover tbody tr:hover{background:#f8fafc}.badge-soft{padding:7px 10px;border-radius:999px;font-weight:800;font-size:12px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.badge-success-soft{background:#dcfce7;color:#166534}.badge-warning-soft{background:#fef3c7;color:#92400e}.badge-info-soft{background:#dbeafe;color:#1e40af}.badge-danger-soft{background:#fee2e2;color:#991b1b}.form-label{color:#334155}.form-control,.form-select{border-radius:14px;border-color:#dbe2ea;padding:.68rem .86rem;background:#fff}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .22rem rgba(15,76,129,.12);border-color:#0f4c81}.btn{border-radius:14px;font-weight:800}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:var(--primary)}.btn-success{background:linear-gradient(135deg,var(--secondary),#0f8b78);border-color:var(--secondary)}.btn-light{background:#f8fafc;border-color:#e2e8f0}.btn-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0}.progress{height:9px;border-radius:999px;background:#e5e7eb;overflow:hidden}.progress-bar{border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--secondary))}.filter-box{background:rgba(255,255,255,.96);border:1px solid rgba(226,232,240,.88);border-radius:22px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.05)}.mobile-toggle{display:none}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1030;backdrop-filter:blur(2px)}canvas{max-width:100%}
@media(max-width:1199px){.topbar-heading{max-width:calc(100vw - 250px)}}
@media(max-width:991px){
    .sidebar{transform:translateX(-104%);width:292px;max-width:84vw}.sidebar.show{transform:translateX(0)}body.sidebar-open{overflow:hidden}.sidebar-backdrop.show{display:block}.main-content{margin-left:0;width:100%}.mobile-toggle{display:inline-flex}.page-content{padding:18px}.topbar{padding:0 14px;height:68px}.topbar-heading{max-width:calc(100vw - 140px)}.topbar-heading small{font-size:11px}.card-modern{border-radius:20px}.filter-box{border-radius:20px}.row.g-3{--bs-gutter-x:.85rem;--bs-gutter-y:.85rem}.table-responsive{margin:0 -2px}.table{min-width:760px}.table.table-bordered{min-width:1000px}
}
@media(max-width:575px){
    .login-page{padding:16px;align-items:flex-start;padding-top:7vh}.login-card{padding:24px;border-radius:24px}.login-logo{width:58px;height:58px;border-radius:18px;font-size:26px}.page-content{padding:14px}.page-title{font-size:22px}.page-subtitle{font-size:13px}.topbar h5{font-size:16px}.topbar-heading small{display:none!important}.stat-card{padding:16px}.stat-value{font-size:22px}.card-modern.p-4{padding:18px!important}.filter-box .btn,.card-modern form .btn{width:100%;margin-top:4px}.btn-icon{width:36px;height:36px}.table td,.table th{padding:.72rem .78rem}.dropdown-menu{max-width:calc(100vw - 20px)}
}
@media print{.sidebar,.topbar,.sidebar-backdrop,.no-print{display:none!important}.main-content{margin-left:0;width:100%}.page-content{padding:0}.card-modern,.filter-box{box-shadow:none;border:none}.table{min-width:0!important;font-size:11px}.table td,.table th{padding:.35rem}}
.form-section-title{
    display:flex;align-items:center;gap:8px;margin:6px 0 14px;
    font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#0f4c81;
}
.form-section-title:before{content:"";width:28px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--secondary))}
.input-group-text{border-radius:14px;border-color:#dbe2ea;background:#f8fafc;font-weight:700;color:#475569}
.input-group>.form-control{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}
.table-paket{min-width:1120px}
@media(max-width:575px){.form-section-title{margin-top:12px}.card-modern form .input-group .btn,.card-modern form .input-group .form-control{width:auto}}
