} .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; } }
Tampilkan
Kategori
Cari ID Layanan
Sumbit Filter
ID Layanan Harga Status Detail
119 MOBILELEGEND - 42 Diamond Rp 10.129 Normal
196 1.200 PB Cash Rp 10.200 Normal
233 Smartfren 10.000 Rp 10.205 Normal
244 Smartfren Data 2 GB 7 Hari Rp 10.370 Normal
113 Lords Mobile 67 Diamonds Rp 10.405 Normal
37 DANA 10.000 Rp 10.605 Normal
226 SHOPEE PAY 10.000 Rp 10.655 Normal
77 Free Fire 80 Diamond Rp 10.669 Normal
280 Tri Data 1.5 GB 14 Hari Rp 10.755 Normal
178 Go Pay 10.000 Rp 11.155 Normal