} .sb-sub li a { display: block; padding: .38rem .5rem; font-size: .8rem; color: var(--text-muted); text-decoration: none; border-radius: 6px; transition: all .15s; } .sb-sub li a:hover { color: var(--text-primary); background: rgba(255,255,255,.04); } .sb-sub li a.active { color: var(--accent); } /* Badge notif */ .sb-badge { margin-left: auto; background: var(--accent); color: #fff; font-size: .62rem; font-weight: 700; padding: .15rem .45rem; border-radius: 20px; line-height: 1.4; } /* Sidebar footer */ .sb-footer { padding: .85rem 1.25rem; border-top: 1px solid var(--border); flex-shrink: 0; } .sb-footer a { display: flex; align-items: center; gap: .6rem; padding: .5rem .75rem; border-radius: 8px; font-size: .83rem; color: #ef4444; text-decoration: none; transition: background .15s; } .sb-footer a:hover { background: rgba(239,68,68,.1); } /* ====== NAVBAR TOP ====== */ .app-navbar { position: fixed; top: 0; left: var(--sidebar-w); right: 0; height: var(--navbar-h); background: var(--bg-navbar); backdrop-filter: blur(16px); border-bottom: 1px solid var(--border); z-index: 100; display: flex; align-items: center; padding: 0 1.5rem; gap: 1rem; } .nb-toggle { background: none; border: none; color: var(--text-muted); cursor: pointer; padding: .4rem; border-radius: 6px; font-size: 1.1rem; line-height: 1; transition: color .15s; } .nb-toggle:hover { color: var(--text-primary); } .nb-page-title { font-family: var(--font-head); font-weight: 600; font-size: .95rem; color: var(--text-primary); } .nb-right { display: flex; align-items: center; gap: .75rem; margin-left: auto; } .nb-balance-pill { display: flex; align-items: center; gap: .4rem; padding: .3rem .85rem; background: rgba(124,92,252,.12); border: 1px solid rgba(124,92,252,.2); border-radius: 20px; font-size: .8rem; font-weight: 600; color: var(--accent); } .nb-avatar { width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, var(--accent), var(--accent-cyan)); display: flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 700; color: #fff; cursor: pointer; border: 2px solid rgba(124,92,252,.4); } /* ====== MAIN CONTENT ====== */ .app-main { margin-left: var(--sidebar-w); padding-top: var(--navbar-h); min-height: 100vh; } .content-area { padding: 1.75rem 1.5rem; } /* ====== PAGE HEADER ====== */ .page-header { margin-bottom: 1.5rem; } .page-header h1 { font-family: var(--font-head); font-size: 1.45rem; font-weight: 700; margin: 0 0 .25rem; } .page-header p { color: var(--text-muted); font-size: .875rem; margin: 0; } /* ====== STAT CARDS ====== */ .stat-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; padding: 1.25rem; transition: border-color .2s, transform .2s; } .stat-card:hover { border-color: rgba(124,92,252,.3); transform: translateY(-2px); } .stat-icon { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; margin-bottom: .9rem; } .stat-icon.purple { background: rgba(124,92,252,.15); color: var(--accent); } .stat-icon.cyan { background: rgba(0,212,255,.12); color: var(--accent-cyan); } .stat-icon.green { background: rgba(16,185,129,.12); color: var(--success); } .stat-icon.orange { background: rgba(245,158,11,.12); color: var(--warning); } .stat-icon.red { background: rgba(239,68,68,.12); color: var(--danger); } .stat-value { font-family: var(--font-head); font-size: 1.5rem; font-weight: 700; color: var(--text-primary); line-height: 1; margin-bottom: .3rem; } .stat-label { font-size: .78rem; color: var(--text-muted); } /* ====== DATA CARDS ====== */ .data-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; } .data-card-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid var(--border); } .data-card-header h5 { font-family: var(--font-head); font-size: .9rem; font-weight: 600; margin: 0; color: var(--text-primary); } .data-card-body { padding: 1.25rem; } /* ====== TABLES ====== */ .table { color: var(--text-primary); font-size: .85rem; } .table thead th { background: rgba(255,255,255,.03); color: var(--text-muted); font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; border-color: var(--border); padding: .75rem 1rem; } .table tbody td { border-color: var(--border); padding: .75rem 1rem; vertical-align: middle; } .table tbody tr:hover td { background: rgba(255,255,255,.02); } /* ====== FORMS ====== */ .form-label { font-size: .83rem; font-weight: 500; color: var(--text-muted); margin-bottom: .4rem; } .form-control, .form-select { background: var(--bg-input); border: 1px solid var(--border); color: var(--text-primary); border-radius: 8px; font-size: .875rem; padding: .55rem .85rem; transition: border-color .15s, box-shadow .15s; } .form-control:focus, .form-select:focus { background: var(--bg-input); border-color: var(--accent); color: var(--text-primary); box-shadow: 0 0 0 3px rgba(124,92,252,.2); } .form-control::placeholder { color: rgba(136,146,164,.5); } .form-control option, .form-select option { background: #1a2035; } /* ====== BUTTONS ====== */ .btn-primary, .btn-big-primary { background: var(--accent) !important; border-color: var(--accent) !important; border-radius: 8px !important; font-weight: 600 !important; font-size: .875rem !important; box-shadow: 0 0 16px var(--accent-glow) !important; transition: all .2s !important; } .btn-primary:hover, .btn-big-primary:hover { background: var(--accent-hover) !important; border-color: var(--accent-hover) !important; box-shadow: 0 0 24px var(--accent-glow) !important; } .btn-outline-primary { border-color: rgba(124,92,252,.5) !important; color: var(--accent) !important; border-radius: 8px !important; } .btn-outline-primary:hover { background: rgba(124,92,252,.15) !important; } .btn-sm { padding: .3rem .65rem !important; font-size: .8rem !important; } /* ====== ALERTS ====== */ .alert { border-radius: 10px !important; border: none !important; font-size: .85rem !important; } .alert-success { background: rgba(16,185,129,.12) !important; color: #34d399 !important; } .alert-danger { background: rgba(239,68,68,.12) !important; color: #f87171 !important; } .alert-warning { background: rgba(245,158,11,.12) !important; color: #fbbf24 !important; } .alert-info { background: rgba(59,130,246,.12) !important; color: #60a5fa !important; } /* ====== BADGES ====== */ .badge-status { padding: .28rem .65rem; border-radius: 20px; font-size: .72rem; font-weight: 600; } .badge-success { background: rgba(16,185,129,.15); color: #10b981; } .badge-danger { background: rgba(239,68,68,.15); color: #ef4444; } .badge-warning { background: rgba(245,158,11,.15); color: #f59e0b; } .badge-info { background: rgba(59,130,246,.15); color: #3b82f6; } .badge-secondary{ background: rgba(136,146,164,.15); color: #8892a4; } /* ====== GRADIENT DIVIDER ====== */ .g-hr { border: none; height: 1px; background: linear-gradient(90deg, transparent, var(--accent), transparent); margin: 1.5rem 0; } /* ====== MOBILE SIDEBAR ====== */ .sidebar-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 199; } @media (max-width: 991px) { .app-sidebar { transform: translateX(-100%); } .app-sidebar.open { transform: translateX(0); } .sidebar-overlay.open { display: block; } .app-navbar { left: 0; } .app-main { margin-left: 0; } } /* ====== SELECT2 DARK ====== */ .select2-container--default .select2-selection--single { background: var(--bg-input) !important; border: 1px solid var(--border) !important; border-radius: 8px !important; height: 38px !important; } .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--text-primary) !important; line-height: 38px !important; padding-left: .85rem !important; } .select2-container--default .select2-selection--single .select2-selection__arrow { height: 38px !important; } .select2-dropdown { background: #1a2035 !important; border-color: var(--border) !important; } .select2-results__option { color: var(--text-primary) !important; } .select2-container--default .select2-results__option--highlighted { background: rgba(124,92,252,.2) !important; } /* ====== DATATABLES DARK ====== */ .dataTables_wrapper .dataTables_length select, .dataTables_wrapper .dataTables_filter input { background: var(--bg-input) !important; border: 1px solid var(--border) !important; color: var(--text-primary) !important; border-radius: 6px !important; padding: .3rem .6rem !important; } .dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_length label, .dataTables_wrapper .dataTables_filter label { color: var(--text-muted) !important; font-size: .8rem !important; } .dataTables_paginate .paginate_button { background: var(--bg-card) !important; border-color: var(--border) !important; color: var(--text-muted) !important; border-radius: 6px !important; } .dataTables_paginate .paginate_button.current, .dataTables_paginate .paginate_button:hover { background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; } /* ====== MOBILE BOTTOM NAV (extra) ====== */ @media (max-width: 767px) { .content-area { padding: 1rem .9rem 5rem; } }
| ID | Layanan | Harga | Status | Detail |
|---|---|---|---|---|
| 119 | MOBILELEGEND - 42 Diamond | Rp 10.129 |
|
|
| 196 | 1.200 PB Cash | Rp 10.200 |
|
|
| 233 | Smartfren 10.000 | Rp 10.205 |
|
|
| 244 | Smartfren Data 2 GB 7 Hari | Rp 10.370 |
|
|
| 113 | Lords Mobile 67 Diamonds | Rp 10.405 |
|
|
| 37 | DANA 10.000 | Rp 10.605 |
|
|
| 226 | SHOPEE PAY 10.000 | Rp 10.655 |
|
|
| 77 | Free Fire 80 Diamond | Rp 10.669 |
|
|
| 280 | Tri Data 1.5 GB 14 Hari | Rp 10.755 |
|
|
| 178 | Go Pay 10.000 | Rp 11.155 |
|