/* NDOO SETOR GMAIL V2 PREMIUM LIGHT
   Source structure and application scripts stay in their original HTML files.
   Layout exceptions are scoped to dashboard rate and the withdraw wallet. */

:root {
  color-scheme: light;
  --v2-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --v2-ink: #1a2c47;
  --v2-muted: #63758e;
  --v2-blue: #2463eb;
  --v2-soft: #eff6ff;
  --v2-border: #e1e9f4;
  --v2-shadow: 0 8px 28px rgba(39, 74, 128, .065), 0 2px 5px rgba(39, 74, 128, .025);
  --v2-primary: linear-gradient(115deg, #2463eb, #3679f4);
}

body[data-v2-page] {
  color: var(--v2-ink);
  background: linear-gradient(180deg, #f5f9ff 0, #f7f9fc 500px, #f7f9fc 100%);
  font-family: var(--v2-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body[data-v2-page] * { box-sizing: border-box; font-family: var(--v2-font); }
body[data-v2-page] :is(button, a, input, textarea, select, [onclick]) { -webkit-tap-highlight-color: transparent; }
body[data-v2-page] :is(button, a) { touch-action: manipulation; }
body[data-v2-page] :is(h1, h2, h3, h4) { letter-spacing: -.45px; }
body[data-v2-page] :is(h2, h3) { line-height: 1.3; font-weight: 750; }
body[data-v2-page] h3 { font-size: 17px; }
body[data-v2-page] :is(.small, .helper, .hint, .note, .desc, .control-note) { line-height: 1.6; }
body[data-v2-page] :is(b, strong, .balance, .value, .amount) { font-variant-numeric: tabular-nums; }

/* The existing headers keep their content and original placement. */
body[data-v2-page] :is(header, .header) {
  background: radial-gradient(ellipse at 100% 0, #dcecff 0, transparent 58%), linear-gradient(120deg, #ffffff 5%, #f2f7ff 65%, #eaf4ff 100%);
  color: var(--v2-ink);
  border-bottom: 1px solid #dce7f5;
  box-shadow: 0 6px 22px rgba(40, 86, 157, .035);
  text-shadow: none;
}
body[data-v2-page] :is(header, .header) h1 { color: #214575; text-shadow: none; font-weight: 800; }
body[data-v2-page] :is(header, .header) h1 span { color: #2764d3; font-weight: 750; }
body[data-v2-page] :is(header, .header) p { color: #5a6f8f; opacity: 1; font-weight: 500; line-height: 1.5; }
body[data-v2-page] :is(header, .header) p:before { background: #bed4f6; }
body[data-v2-page] .tagline { color: #5f6f85; }
body[data-v2-page] .gmail-float {
  background: linear-gradient(145deg, #ffffff, #e7f1ff);
  color: var(--v2-blue);
  border: 1px solid #d3e4fb;
  box-shadow: 0 7px 20px rgba(54, 105, 181, .07), inset 0 1px 0 #fff;
  backdrop-filter: none;
  animation: none;
}
body[data-v2-page] .gmail-float .v2-icon { width: 34px; height: 34px; }
body[data-v2-page] .header-badge {
  color: #486792;
  background: rgba(255, 255, 255, .8);
  border-color: #dce7f5;
  backdrop-filter: none;
  font-size: 10px;
  font-weight: 650;
}
body[data-v2-page] .header-badge .v2-icon { width: 12px; height: 12px; margin-right: 2px; }
body[data-v2-page] .notification-btn {
  color: var(--v2-blue);
  background: #ffffff;
  border-color: #d8e5f7;
  box-shadow: 0 4px 12px rgba(53, 96, 166, .05);
}
body[data-v2-page] .notification-count {
  background: #ef566d;
  box-shadow: 0 0 0 2px #fff;
  animation: none;
}
body[data-v2-page] :is(.avatar, .floating-logo, .logo) {
  color: var(--v2-blue);
  background: linear-gradient(145deg, #ffffff, #eaf3ff);
  border: 1px solid #d9e7fb;
  box-shadow: 0 6px 20px rgba(37, 99, 235, .075), inset 0 1px 0 #fff;
  animation: none;
}
body[data-v2-page] .avatar .v2-icon { width: 34px; height: 34px; }

/* Surfaces, typography, forms and controls. No shared grid rule. */
body[data-v2-page] :is(.card, .rate-card, .balance-card, .status-setoran-card, .premium-summary, .progress-card, .operational-box, .gmail-category-card, .control-right, .stats, .menu) {
  border: 1px solid var(--v2-border);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--v2-shadow);
  backdrop-filter: none;
}
body[data-v2-page] :is(.card, .rate-card, .balance-card, .status-setoran-card, .premium-summary) { animation: none; }
body[data-v2-page] .card:hover { transform: none; }
body[data-v2-page] :is(.box, .stat, .statusitem, .category-item, .w-card) {
  border-color: var(--v2-border);
  border-radius: 18px;
  background: linear-gradient(145deg, #ffffff, #f5f9ff);
  box-shadow: none;
}
body[data-v2-page] :is(.box, .stat, .statusitem, .member):hover { transform: none; box-shadow: none; }
body[data-v2-page] :is(.box, .stat, .statusitem, .w-card) b { color: var(--v2-blue); font-weight: 800; letter-spacing: -.7px; }
body[data-v2-page] :is(.small, .helper, .hint, .label, .desc, .control-note, .filter-info, .time) { color: var(--v2-muted); }
body[data-v2-page] label { font-weight: 650; color: #415570; }
body[data-v2-page] input:where(:not([type="checkbox"]):not([type="radio"])), body[data-v2-page] textarea, body[data-v2-page] select {
  color: #263d5e;
  background: #f9fbff;
  border: 1px solid #dce5f2;
  border-radius: 14px;
  box-shadow: inset 0 1px 2px rgba(51, 82, 131, .025);
  font-size: 16px;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
body[data-v2-page] :is(input, textarea)::placeholder { color: #636f7f; font-weight: 400; opacity: 1; }
body[data-v2-page] input:where(:not([type="checkbox"]):not([type="radio"])):focus, body[data-v2-page] textarea:focus, body[data-v2-page] select:focus {
  outline: none;
  background: #fff;
  border-color: #78a5f7;
  box-shadow: 0 0 0 3px rgba(36, 99, 235, .1);
}
body[data-v2-page] input[readonly] { color: #626f81; background: #f1f5fa; border-color: #e4eaf2; }
body[data-v2-page] :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--v2-blue); }
body[data-v2-page] input.input-error { border-color: #e97584 !important; background: #fff5f6 !important; }
body[data-v2-page] input.input-error:focus { box-shadow: 0 0 0 3px rgba(228, 86, 108, .12); }
body[data-v2-page] button, body[data-v2-page] a.btn {
  color: #fff;
  background: var(--v2-primary);
  border: 1px solid transparent;
  border-radius: 14px;
  box-shadow: 0 5px 12px rgba(36, 99, 235, .14), inset 0 1px 0 rgba(255, 255, 255, .15);
  font-weight: 700;
  letter-spacing: .1px;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .18s ease, opacity .18s ease;
}
body[data-v2-page] button:active:not(:disabled), body[data-v2-page] a.btn:active { transform: scale(.985); box-shadow: 0 2px 7px rgba(36, 99, 235, .12); }
body[data-v2-page] button:disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
body[data-v2-page] :is(button, a, [tabindex]):focus-visible { outline: 3px solid #91b8fa; outline-offset: 3px; }
body[data-v2-page] :is(.back, .back-btn, .btn-cancel, .ndoo-cancel, .modal-back, .cancel-gmail-btn), body[data-v2-page] #cancelReview {
  color: #516782;
  background: #f1f5fb;
  border: 1px solid #e0e8f4;
  box-shadow: none;
}
body[data-v2-page] a.back { color: #516782; background: #f1f5fb; border: 1px solid #e0e8f4; box-shadow: none; }
body[data-v2-page] :is(.approve, .finish, .detail-success) {
  background: linear-gradient(115deg, #159578, #1ba489);
  color: #fff;
  box-shadow: 0 4px 10px rgba(21, 149, 120, .12);
}
body[data-v2-page] :is(.reject, .btn-confirm, .modal-confirm, .detail-danger) {
  background: #fff1f3;
  color: #bd435b;
  border-color: #f6d6dd;
  box-shadow: none;
}
body[data-v2-page] :is(.eye-btn, .copy-btn, .copy-id-btn) {
  color: #4b6fa5;
  background: #edf4ff;
  border: 0;
  box-shadow: none;
}
body[data-v2-page] .eye-btn { background: transparent; min-width: 40px; min-height: 40px; }
body[data-v2-page] .eye-btn .v2-icon { margin: 0; }
body[data-v2-page] .eye-btn:active:not(:disabled) { transform: translateY(-50%) scale(.96); }
body[data-v2-page] .password-toggle { color: #5e6f89; }
body[data-v2-page] .password-wrap input { padding-right: 56px; }
body[data-v2-page] :is(.note, .warning-box, .review-detail, .result, .confirm-box, .filter-box) {
  background: #f4f8ff;
  border: 1px solid #e0eafa;
  border-radius: 16px;
  color: #526b90;
  box-shadow: none;
}
body[data-v2-page] :is(.note, .warning-box) { font-size: 13px; }

/* Status semantics keep their existing classes and behavior. */
body[data-v2-page] :is(.status.approve, .status.approved, .badge.active-status, .detail-status.active, .status-open) {
  background: #eaf8f3;
  color: #1d7c63;
  border-color: #d1ebe0;
  box-shadow: none;
}
body[data-v2-page] :is(.status.pending, .badge:not(.active-status):not(.blocked-status)) {
  background: #fff7e6;
  color: #92651f;
  border-color: #f5e8ce;
  box-shadow: none;
}
body[data-v2-page] :is(.status.reject, .status.rejected, .badge.blocked-status, .detail-status.blocked, .status-close) {
  background: #fff0f3;
  color: #b24c61;
  border-color: #f4dce2;
  box-shadow: none;
}
body[data-v2-page] .status.other { background: #f0f4fa; color: #5d6f88; }
body[data-v2-page] :is(.status, .badge) { font-weight: 700; }

/* Bottom navigation geometry and menu order are inherited from the original. */
body[data-v2-page] :is(.bottom-nav, .admin-bottom-nav) {
  background: rgba(255, 255, 255, .97);
  border: 1px solid #dce6f5;
  border-radius: 23px;
  box-shadow: 0 5px 25px rgba(46, 79, 134, .11), inset 0 1px 0 #fff;
  backdrop-filter: none;
}
body[data-v2-page] .bottom-nav a { color: #616f85; font-weight: 650; font-size: 10px; border-radius: 15px; }
body[data-v2-page] .bottom-nav a span {
  margin: 0;
  padding: 4px 12px;
  border-radius: 11px;
  background: transparent;
  transform: none;
  line-height: 1;
}
body[data-v2-page] .bottom-nav a span .v2-icon { display: block; width: 21px; height: 21px; margin: 0; }
body[data-v2-page] .bottom-nav a.active { color: var(--v2-blue); font-weight: 750; }
body[data-v2-page] .bottom-nav a.active span { padding: 4px 12px; background: #eaf2ff; border-radius: 11px; transform: none; }
body[data-v2-page] .bottom-nav a:hover span { transform: none; }
body[data-v2-page] .admin-nav-item { color: #616f85; font-weight: 650; border-radius: 18px; }
body[data-v2-page] .admin-nav-item > div { padding: 5px 12px; border-radius: 11px; line-height: 1; }
body[data-v2-page] .admin-nav-item .v2-icon { display: block; width: 22px; height: 22px; margin: 0; }
body[data-v2-page] .admin-nav-item.active { color: var(--v2-blue); font-weight: 750; }
body[data-v2-page] .admin-nav-item.active > div { background: #eaf2ff; }
body[data-v2-page] .admin-nav-item.active { margin: 0; }
body[data-v2-page] :is(.pagination button, .page-btn) { background: #eff4fb; color: #576f92; border: 1px solid #e1e9f5; box-shadow: none; border-radius: 11px; }
body[data-v2-page] :is(.pagination button.active, .page-btn.active) { color: #fff; background: var(--v2-primary); border-color: transparent; }
body[data-v2-page] .pagination .dots { background: none; border: 0; }

/* All SVGs are inert, static markup; clicks reach the original controls. */
body[data-v2-page] .v2-icon { width: 19px; height: 19px; display: inline-block; vertical-align: -4px; margin-right: 4px; flex-shrink: 0; pointer-events: none; }
body[data-v2-page] :is(h1, h2, h3, .section-title, .rate-title) > .v2-icon { color: var(--v2-blue); }
body[data-v2-page] .v2-icon * { pointer-events: none; }

/* Modals and feedback: original show/hide rules and event handlers are retained. */
body[data-v2-page] :is(.ndoo-modal-wrap, .modal-logout, .detail-modal, .ndoo-loading, #cancelModal, #rejectNoteModal, #successModal) {
  background: rgba(35, 58, 98, .3);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body[data-v2-page] :is(.modal-box, .ndoo-modal-box, .ndoo-box, .ndoo-loading-box, .detail-modal-box, dialog) {
  background: #fff;
  border: 1px solid #dfe9f7;
  border-radius: 24px;
  box-shadow: 0 18px 70px rgba(28, 57, 111, .2);
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
}
body[data-v2-page="setor"] .ndoo-modal {
  background: #fff;
  border: 1px solid #dfe9f7;
  box-shadow: 0 18px 70px rgba(28, 57, 111, .2);
  border-radius: 24px;
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
}
body[data-v2-page] dialog::backdrop { background: rgba(35, 58, 98, .3); backdrop-filter: none; }
body[data-v2-page] :is(.ndoo-toast, .toast, .copy-toast), body[data-v2-page] :is(#statusToast, #ndooActionToast, #toast) {
  color: #2b528b;
  background: #fff;
  border: 1px solid #d7e6fa;
  box-shadow: 0 9px 28px rgba(44, 74, 128, .15);
  border-radius: 17px;
  padding: 13px 19px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
  min-width: 0;
  max-width: calc(100% - 32px);
  white-space: pre-line;
  overflow-wrap: anywhere;
  backdrop-filter: none;
}
body[data-v2-page] .ndoo-toast.success { color: #1d7c63; background: #f2fcf8; border-color: #cce9dd; }
body[data-v2-page] :is(.ndoo-toast.danger, .ndoo-toast.error) { color: #b9465d; background: #fff6f8; border-color: #f2d6dd; }
body[data-v2-page] :is(.ndoo-toast.warning, .ndoo-toast.format-warning) { color: #906624; background: #fffaf0; border-color: #f0e1c3; }
body[data-v2-page] .ndoo-toast.info { color: #2b64bb; background: #f4f8ff; border-color: #d6e5fb; }
body[data-v2-page="setor"] .ndoo-toast:not(.toast-list) { min-width: 0; }
body[data-v2-page] .spinner { border-width: 3px; border-color: #e3edff; border-top-color: var(--v2-blue); }

/* Dashboard. Only the rate card uses a new internal grid. */
body[data-v2-page="dashboard"] .header h1 { font-size: 34px; letter-spacing: -1.2px; }
body[data-v2-page="dashboard"] .header h1 span { font-size: 21px; letter-spacing: -.5px; }
body[data-v2-page="dashboard"] .header p { font-size: 16px; font-weight: 650; }
body[data-v2-page="dashboard"] .balance-card {
  border-color: #d9e6f8;
  background: radial-gradient(ellipse at 95% 100%, #dcebff 0, transparent 58%), linear-gradient(130deg, #fff 35%, #f4f8ff 100%);
  box-shadow: 0 12px 30px rgba(42, 94, 176, .09), inset 0 1px 0 #fff;
  border-radius: 24px;
  padding: 23px 24px 25px !important;
}
body[data-v2-page="dashboard"] .welcome { font-size: 20px; font-weight: 650; letter-spacing: -.6px; }
body[data-v2-page="dashboard"] #nama { font-weight: 750; }
body[data-v2-page="dashboard"] .status { background: #edf8f4; color: #237b65; border: 1px solid #d6ede4; font-size: 11px; padding: 6px 11px; margin-top: 10px; }
body[data-v2-page="dashboard"] .balance-premium-head { margin-top: 19px; gap: 9px; }
body[data-v2-page="dashboard"] .balance-icon-premium { width: 35px; height: 35px; border-radius: 11px; background: #e5efff; display: flex; align-items: center; justify-content: center; color: var(--v2-blue); }
body[data-v2-page="dashboard"] .balance-icon-premium .v2-icon { width: 20px; height: 20px; margin: 0; }
body[data-v2-page="dashboard"] .balance-title-premium { color: #5a6f8c; font-size: 13px; font-weight: 650; }
body[data-v2-page="dashboard"] .balance { color: var(--v2-blue) !important; font-size: clamp(32px, 10vw, 44px) !important; font-weight: 800 !important; line-height: 1.16 !important; letter-spacing: -1.6px; margin-top: 8px !important; overflow-wrap: anywhere; }
body[data-v2-page="dashboard"] .rate-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; padding: 18px; }
body[data-v2-page="dashboard"] .rate-title { grid-column: 1 / -1; margin: 0 0 2px; font-size: 14px; font-weight: 750; color: #334f77; }
body[data-v2-page="dashboard"] .rate-row { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 9px; margin: 0; padding: 13px 12px; background: linear-gradient(130deg, #f5f9ff, #edf5ff); border: 1px solid #dde9fb; border-radius: 15px; }
body[data-v2-page="dashboard"] .rate-label { font-size: 11px; font-weight: 600; color: #576f90; white-space: nowrap; }
body[data-v2-page="dashboard"] .rate-label .v2-icon { width: 15px; height: 15px; margin-right: 3px; vertical-align: -3px; color: #3b6eb7; }
body[data-v2-page="dashboard"] .rate-value { color: #285fbe; font-size: 15px; line-height: 1.4; font-weight: 800; text-align: left; letter-spacing: -.35px; overflow-wrap: anywhere; }
body[data-v2-page="dashboard"] .rate-row:last-child { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; background: #f7faff; padding: 11px 12px; gap: 12px; }
body[data-v2-page="dashboard"] .rate-row:last-child .rate-value { font-size: 13px; font-weight: 700; text-align: right; word-break: break-word; }
body[data-v2-page="dashboard"] .status-setoran-title { color: #435e83; font-weight: 750; font-size: 14px; }
body[data-v2-page="dashboard"] .status-setoran-card .status-setoran-value { background: none; font-size: 15px; font-weight: 750; }
body[data-v2-page="dashboard"] .status-setoran-desc { line-height: 1.5; color: #626f81; }
body[data-v2-page="dashboard"] .section-title { font-size: 15px; font-weight: 750; color: #3e577b; }
body[data-v2-page="dashboard"] .home-actions .quick-card { background: #fff; border: 1px solid #e0e9f6; border-radius: 20px !important; box-shadow: var(--v2-shadow) !important; }
body[data-v2-page="dashboard"] .home-actions .quick-card div { background: #edf4ff; color: var(--v2-blue); border: 1px solid #deebff; border-radius: 12px !important; }
body[data-v2-page="dashboard"] .home-actions .quick-card div .v2-icon { width: 22px; height: 22px; margin: 0; }
body[data-v2-page="dashboard"] .home-actions .quick-card b { font-weight: 750; color: #34577e; }
body[data-v2-page="dashboard"] .home-actions .quick-card span { color: #636f80; }
body[data-v2-page="dashboard"] .home-actions .quick-card:after { color: #5f6f86; }
body[data-v2-page="dashboard"] .dashboard-summary { border-radius: 22px !important; box-shadow: var(--v2-shadow); }
body[data-v2-page="dashboard"] .summary-title-dashboard { color: #476083; font-weight: 750; border-color: #e7eef7; }
body[data-v2-page="dashboard"] .summary-line-dashboard { font-weight: 500; color: #616f84; font-size: 13px !important; }
body[data-v2-page="dashboard"] .summary-line-dashboard strong { font-size: 14px !important; font-weight: 750; color: #456b9c; }
body[data-v2-page="dashboard"] .dashboard-summary-divider { background: #e8eef7; }
body[data-v2-page="dashboard"] .dashboard-income { color: #596f8d; font-size: 12px; font-weight: 650; }
body[data-v2-page="dashboard"] .dashboard-income strong { color: #1c7b6a; font-size: 26px !important; font-weight: 800; letter-spacing: -.8px; }
body[data-v2-page="dashboard"] .bottom-nav a:first-child { color: var(--v2-blue); font-weight: 750; }
body[data-v2-page="dashboard"] .bottom-nav a:first-child span { background: #eaf2ff; padding: 4px 12px; border-radius: 11px; transform: none; }

/* Withdraw wallet: the existing four children remain in their original DOM. */
body[data-v2-page="withdraw"] .balance-card { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; row-gap: 5px; text-align: left; padding: 24px 22px; background: radial-gradient(ellipse at 100% 0, #dfefff, transparent 65%), linear-gradient(125deg, #fff, #f3f8ff); border-color: #d9e7fa; }
body[data-v2-page="withdraw"] .balance-icon { grid-row: 1 / 3; width: 48px; height: 48px; align-self: center; display: flex; align-items: center; justify-content: center; margin: 0; border: 1px solid #d5e5fc; border-radius: 15px; color: var(--v2-blue); background: #e8f2ff; }
body[data-v2-page="withdraw"] .balance-icon .v2-icon { width: 26px; height: 26px; margin: 0; }
body[data-v2-page="withdraw"] .balance-label { font-size: 12px; font-weight: 650; color: #58708d; }
body[data-v2-page="withdraw"] .balance { margin: 0; background: none; color: var(--v2-blue); -webkit-text-fill-color: var(--v2-blue); font-size: clamp(26px, 8vw, 36px); line-height: 1.2; font-weight: 800; letter-spacing: -1.2px; overflow-wrap: anywhere; }
body[data-v2-page="withdraw"] .balance-status { grid-column: 1 / -1; margin-top: 12px; padding-top: 12px; border-top: 1px solid #dfeafa; color: #5b6f8c; font-size: 11px; font-weight: 500; }
body[data-v2-page="withdraw"] .section-title { font-size: 20px; color: #35567e; font-weight: 750; }
body[data-v2-page="withdraw"] .withdraw-card label { font-size: 13px; }
body[data-v2-page="withdraw"] .helper { font-size: 11px; color: #626f82; }
body[data-v2-page="withdraw"] #withdrawBtn { font-size: 14px; border-radius: 15px; min-height: 50px; }
body[data-v2-page="withdraw"] .confirm-box button { font-size: 14px; animation: none; }

/* Setor: preserve rate -> generator -> service selector -> form -> CTA. */
body[data-v2-page="setor"] #todayRate { background: #fff !important; border-color: var(--v2-border) !important; border-radius: 22px !important; }
body[data-v2-page="setor"] #todayRate h2 { font-size: 17px !important; font-weight: 750; color: #3d608c; }
body[data-v2-page="setor"] #todayRate > div { color: #5e6f88 !important; font-size: 13px !important; gap: 10px; line-height: 1.5; }
body[data-v2-page="setor"] #todayRate > div span .v2-icon { width: 16px; height: 16px; }
body[data-v2-page="setor"] #todayRate b { color: #2d64ba; font-size: 13px; font-weight: 750; text-align: right; overflow-wrap: anywhere; }
body[data-v2-page="setor"] .generate-inline-card { padding-top: 18px !important; padding-bottom: 18px !important; border-radius: 22px; background: linear-gradient(145deg, #ffffff, #f7faff); }
body[data-v2-page="setor"] .generate-inline-card .icon { width: 54px; height: 54px; border-radius: 17px; margin: 0 auto 12px; background: #edf4ff; color: var(--v2-blue); border: 1px solid #deebff; display: flex; align-items: center; justify-content: center; filter: none; }
body[data-v2-page="setor"] .generate-inline-card .icon .v2-icon { width: 29px; height: 29px; margin: 0; }
body[data-v2-page="setor"] .generate-inline-card .title { font-size: 21px; font-weight: 750; color: #35557e; letter-spacing: -.5px; }
body[data-v2-page="setor"] .system-status { font-size: 11px; color: #1f7b65; font-weight: 600; }
body[data-v2-page="setor"] .system-status.offline { color: #b34b60; }
body[data-v2-page="setor"] .generate-inline-card .desc { font-size: 13px; line-height: 1.65; color: #626f81; }
body[data-v2-page="setor"] .generate-hint { font-size: 11px; color: #626f80; margin-bottom: 12px; }
body[data-v2-page="setor"] button[onclick*="generate"] { background: var(--v2-primary) !important; border-radius: 15px; min-height: 50px; font-size: 14px; box-shadow: 0 5px 14px rgba(36, 99, 235, .15); }
body[data-v2-page="setor"] section.card:has(#email) > div:first-child { width: 54px; height: 54px; margin: 0 auto 10px !important; background: #edf4ff; color: var(--v2-blue); border: 1px solid #deebff; border-radius: 17px; display: flex; align-items: center; justify-content: center; filter: none !important; font-size: 20px !important; }
body[data-v2-page="setor"] section.card:has(#email) > div:first-child .v2-icon { width: 29px; height: 29px; margin: 0; }
body[data-v2-page="setor"] section.card:has(#email) h2 { color: #35557e; font-size: 21px; font-weight: 750; }
body[data-v2-page="setor"] section.card:has(#email) .small[style*="text-align:center"] { font-size: 13px; }
body[data-v2-page="setor"] .gmail-type-label { color: #606f84; font-size: 12px; font-weight: 650; }
body[data-v2-page="setor"] #gmailTypeSelector .type-card { border-color: #e0e9f6 !important; border-radius: 16px !important; background: #fafcff !important; color: #4f6f9c !important; box-shadow: none; }
body[data-v2-page="setor"] #gmailTypeSelector .type-icon { display: flex; align-items: center; justify-content: center; color: #456fa6; }
body[data-v2-page="setor"] #gmailTypeSelector .type-icon .v2-icon { width: 23px; height: 23px; margin: 0; }
body[data-v2-page="setor"] #gmailTypeSelector .type-name { font-size: 14px; font-weight: 750; line-height: 1.35; }
body[data-v2-page="setor"] #gmailTypeSelector small { font-size: 11px; color: #5c6f89; font-weight: 500; }
body[data-v2-page="setor"] #gmailTypeSelector .type-card.active { background: #eff6ff !important; border-color: #9ebff4 !important; box-shadow: 0 0 0 2px rgba(36, 99, 235, .06) !important; }
body[data-v2-page="setor"] #gmailTypeSelector .type-card.active:after { width: 17px; height: 17px; top: 8px; right: 8px; font-size: 10px; box-shadow: none; }
body[data-v2-page="setor"] #gmailTypeSelector .type-card:disabled { background: #f5f7fb !important; border-color: #e3e9f2 !important; opacity: .6 !important; }
body[data-v2-page="setor"] section.card:has(#email) label { font-size: 13px; }
body[data-v2-page="setor"] #email { font-size: 15px; line-height: 1.6; }
body[data-v2-page="setor"] #count { color: #5e6f88; font-size: 12px; font-weight: 650; }
body[data-v2-page="setor"] #rateBox { background: #f3f8ff !important; border-color: #e0ebfc; box-shadow: none; font-size: 12px; color: #596f8e; }
body[data-v2-page="setor"] #rateText { color: #3b659d; font-weight: 750; }
body[data-v2-page="setor"] #estimateText { color: #416faf; }
body[data-v2-page="setor"] #submitBtn { background: var(--v2-primary); min-height: 52px; border-radius: 15px; font-size: 14px; box-shadow: 0 5px 14px rgba(36, 99, 235, .15); }
body[data-v2-page="setor"] section.card:has(#email) > div[style*="background:linear-gradient"] { border-radius: 16px !important; background: #f8faff !important; border-color: #e4ebf5 !important; color: #606f85 !important; font-size: 12px !important; }
body[data-v2-page="setor"] .generate-result { background: #f5f9ff; border-color: #deebff; border-radius: 20px; }
body[data-v2-page="setor"] .generate-result .row { border-color: #e4edf9; border-radius: 12px; }
body[data-v2-page="setor"] .generate-result .row b { color: #366dbe; font-weight: 750; }
body[data-v2-page="setor"] .ndoo-cancel { background: #f0f5fb; }
body[data-v2-page="setor"] .ndoo-confirm { background: var(--v2-primary); }

/* Profile stays in its original order; member badge remains intrinsic width. */
body[data-v2-page="profile"] .avatar { width: 82px; height: 82px; border-radius: 27px; }
body[data-v2-page="profile"] header h1 { color: #35577f; font-size: 26px; font-weight: 750; }
body[data-v2-page="profile"] .member-id-head { color: #5b6f8c; font-weight: 600; font-size: 12px; }
body[data-v2-page="profile"] header .status { display: inline-block; max-width: max-content; background: #edf8f4; color: #247b65; padding: 7px 13px; border: 1px solid #d7ede4; font-size: 11px; font-weight: 650; }
body[data-v2-page="profile"] header p { font-size: 12px; }
body[data-v2-page="profile"] .card h2 { font-size: 17px !important; color: #3d5f88; font-weight: 750; }
body[data-v2-page="profile"] .item { border-color: #e8eef7; }
body[data-v2-page="profile"] .label { font-size: 12px; color: #636f80; }
body[data-v2-page="profile"] .label .v2-icon { width: 15px; height: 15px; vertical-align: -3px; margin-right: 5px; }
body[data-v2-page="profile"] .value { font-size: 16px; font-weight: 650; color: #395a83; }
body[data-v2-page="profile"] .menu { border-radius: 18px; font-size: 15px; color: #45668f; font-weight: 650; }
body[data-v2-page="profile"] .menu > .v2-icon { color: #3f6fad; }
body[data-v2-page="profile"] .menu small { color: #636f7f; font-size: 12px; font-weight: 400; }
body[data-v2-page="profile"] .logout { background: #fff8f9; border-color: #f1dfe4; color: #a95362; box-shadow: 0 4px 15px rgba(183, 80, 100, .025); }
body[data-v2-page="profile"] .logout > .v2-icon { color: #a95362; }
body[data-v2-page="profile"] .logout small { color: #89646b; }
body[data-v2-page="profile"] .copy-id-btn { color: #4e6f9e; }
body[data-v2-page="profile"] .modal-box h3 .v2-icon { color: #ac5063; }

/* Riwayat and transactions: original tabs, pagination and data order. */
body[data-v2-page="riwayat"] header h1 { font-size: 34px; letter-spacing: -1.2px; }
body[data-v2-page="riwayat"] header h1 span { font-size: 21px; letter-spacing: -.5px; }
body[data-v2-page="riwayat"] h2 { font-size: 20px; color: #35577f; }
body[data-v2-page="riwayat"] .summary-compact { background: #f8fbff; border-color: #e1ebf8; border-radius: 18px; box-shadow: none; }
body[data-v2-page="riwayat"] .summary-title { color: #537092; font-weight: 700; font-size: 13px; }
body[data-v2-page="riwayat"] .summary-line { color: #606f82; font-size: 13px; font-weight: 500; }
body[data-v2-page="riwayat"] .summary-line b { color: #49709f; font-size: 15px; font-weight: 750; }
body[data-v2-page="riwayat"] .summary-divider { background: #e0eafa; }
body[data-v2-page="riwayat"] .summary-income { color: #57708d; font-size: 12px; font-weight: 650; }
body[data-v2-page="riwayat"] .summary-income b { color: #1c7b69; font-size: 25px; font-weight: 800; letter-spacing: -.7px; }
body[data-v2-page="riwayat"] .riwayat-tabs { padding: 4px; border: 1px solid #e0e8f5; border-radius: 15px; background: #f2f6fc; gap: 5px; }
body[data-v2-page="riwayat"] .riwayat-tabs button { background: transparent; box-shadow: none; border-radius: 11px; color: #606f85; font-size: 13px; }
body[data-v2-page="riwayat"] .riwayat-tabs button.active { background: #fff; color: var(--v2-blue); border: 1px solid #dce7fa; box-shadow: 0 2px 6px rgba(44, 88, 162, .06); }
body[data-v2-page] :is(.item, .notif, .member, .result-box) { background: #fff; border-color: #e2eaf6; border-radius: 18px; box-shadow: none; }
body[data-v2-page="riwayat"] .email { color: #3e648f; font-size: 15px; font-weight: 700; }
body[data-v2-page="riwayat"] .label { font-size: 11px; color: #636f7f; }
body[data-v2-page="riwayat"] .value { font-size: 13px; color: #536f92; font-weight: 650; }
body[data-v2-page="riwayat"] .status { padding: 6px 11px; font-size: 10px; letter-spacing: .3px; }
body[data-v2-page="riwayat"] .refresh { font-size: 13px; letter-spacing: 0; box-shadow: 0 5px 12px rgba(36, 99, 235, .13); }

/* Secondary member pages. */
body[data-v2-page="notifications"] .header h1 { font-size: 26px; }
body[data-v2-page="notifications"] .back { color: #476fa8; background: #fff; border-color: #dce7f6; font-size: 12px; padding: 10px 12px; box-shadow: none; }
body[data-v2-page="notifications"] .head { color: #41648e; font-size: 18px; font-weight: 750; }
body[data-v2-page="notifications"] .notif { padding: 18px; }
body[data-v2-page="notifications"] .notif.unread { background: #f7fbff; border-left: 3px solid #79a6ed; }
body[data-v2-page="notifications"] .title { color: #45648a; font-size: 15px; font-weight: 750; }
body[data-v2-page="notifications"] .message { color: #606f85; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
body[data-v2-page="notifications"] .time { font-size: 11px; color: #646f7f; }
body[data-v2-page="edit-profile"] .card { border-radius: 24px; }
body[data-v2-page="edit-profile"] .field label { color: #5c7086; font-size: 12px; }
body[data-v2-page="edit-profile"] .hint { color: #636f7e; font-size: 11px; }
body[data-v2-page="edit-profile"] .btn { font-size: 14px; }
body[data-v2-page="security"] .status { color: #227b64; background: #edf9f4; border: 1px solid #d8ede4; font-size: 12px; }
body[data-v2-page="security"] .label { font-size: 12px; color: #626f81; }
body[data-v2-page="security"] .value { color: #42658c; font-size: 15px; }
body[data-v2-page="security"] h3 { color: #42658c; font-size: 17px; }
body[data-v2-page="security"] .save { background: var(--v2-primary); font-size: 14px; }
body[data-v2-page="saldo"] .balance { color: var(--v2-blue); background: none; -webkit-text-fill-color: var(--v2-blue); font-size: 40px; font-weight: 800; }
body[data-v2-page="saldo"] .card > div:first-child .v2-icon { width: 40px; height: 40px; margin: 0; color: #3c6fb2; }
body[data-v2-page="saldo"] .stat-row { color: #5c7086; font-size: 13px; border-color: #e8eef7; }
body[data-v2-page="saldo"] .stat-value { color: #4a709e; }
body[data-v2-page="saldo"] a.btn { color: #576f91; background: #eaf1fb; box-shadow: none; border-color: #dce8f8; }
body[data-v2-page="generate"] .rate-title { color: #41638d; }
body[data-v2-page="generate"] .rate-value { color: #366dbe; }
body[data-v2-page="generate"] .icon { color: #3d6fb1; }
body[data-v2-page="generate"] .icon .v2-icon { width: 38px; height: 38px; }
body[data-v2-page="generate"] .title { font-size: 21px; color: #3e628e; font-weight: 750; }
body[data-v2-page="generate"] .value { font-size: 16px; color: #486a92; }
body[data-v2-page="generate"] .email-text { font-size: 16px; }
body[data-v2-page="generate"] .result-box .copy-btn { background: #f1f6fe; box-shadow: none; }
body[data-v2-page="riwayat-withdraw"] :is(h2, .amount) { color: #3c6597; }
body[data-v2-page="riwayat-withdraw"] .amount { font-size: 22px; }
body[data-v2-page="riwayat-withdraw"] .item:hover { transform: none; box-shadow: none; }
body[data-v2-page="checker"] button { background: var(--v2-primary); }

/* Admin keeps every operational section, original grid and original controls. */
body[data-v2-area="admin"] header h1 { color: #315889; font-weight: 800; font-size: 28px; letter-spacing: -.9px; }
body[data-v2-area="admin"] header p { font-size: 13px; }
body[data-v2-area="admin"] h3 { color: #41638e; font-size: 17px; font-weight: 750; }
body[data-v2-area="admin"] .card { padding: 22px; }
body[data-v2-area="admin"] :is(.box .icon, .stat-icon, .mini-icon) { color: #426fab; }
body[data-v2-area="admin"] .box .icon { border: 1px solid #dfebfc; background: #eff5ff; border-radius: 13px; box-shadow: none; }
body[data-v2-area="admin"] .box .icon .v2-icon { width: 25px; height: 25px; margin: 0; }
body[data-v2-area="admin"] .box:before { background: #dceaff; opacity: .45; }
body[data-v2-area="admin"] .box b { font-weight: 800; }
body[data-v2-area="admin"] .box span:last-child { color: #547092; font-size: 13px; font-weight: 650; }
body[data-v2-area="admin"] .box small { color: #626f81; font-size: 12px; }
body[data-v2-area="admin"] .refresh-btn { background: var(--v2-primary); font-size: 13px; }
body[data-v2-area="admin"] .progress-head { color: #5c6f89; font-size: 13px; font-weight: 650; }
body[data-v2-area="admin"] .progress-bar { height: 7px; background: #eef3fa; }
body[data-v2-area="admin"] .progress-fill.approved { background: linear-gradient(90deg, #52b59b, #7cc8b7); }
body[data-v2-area="admin"] .progress-fill.pending { background: linear-gradient(90deg, #deb369, #ead0a6); }
body[data-v2-area="admin"] .progress-fill.rejected { background: linear-gradient(90deg, #dd8b9c, #ebb3bf); }
body[data-v2-area="admin"] .progress-fill:after { animation: none; }
body[data-v2-area="admin"] .status-title { color: #537095; font-size: 13px; font-weight: 750; letter-spacing: .2px; }
body[data-v2-area="admin"] .status-badge { border: 1px solid #deebf7; font-weight: 750; font-size: 12px; }
body[data-v2-area="admin"] .service-list { color: #5a7089; font-size: 12px; font-weight: 500; }
body[data-v2-area="admin"] .service-indicator b { font-size: 10px; font-weight: 700; }
body[data-v2-area="admin"] :is(.operational-box, .gmail-category-card, .password-control) { background: #fff; border-radius: 22px; border-color: #e0e9f6; }
body[data-v2-area="admin"] .category-item { background: #f9fbff; border-radius: 16px; border-color: #e1eafb; box-shadow: none; }
body[data-v2-area="admin"] .category-name { color: #4e709c; font-weight: 750; }
body[data-v2-area="admin"] .category-name .v2-icon { width: 17px; height: 17px; margin: 0; }
body[data-v2-area="admin"] .category-status { background: #edf3fc; color: #58708c; font-size: 10px; font-weight: 650; }
body[data-v2-area="admin"] .category-price-wrap { border-color: #dae5f4; background: #fff; box-shadow: none; border-radius: 11px; }
body[data-v2-area="admin"] .category-price-wrap input { min-height: 0; height: 100%; box-shadow: none; color: #3768ad; }
body[data-v2-area="admin"] .category-actions button { font-size: 11px; font-weight: 700; border-radius: 11px; }
body[data-v2-area="admin"] .category-toggle.turn-on { background: #eaf8f3; color: #1f7c64; border-color: #cfe9df; box-shadow: none; }
body[data-v2-area="admin"] .category-toggle.turn-off { background: #fff1f4; color: #b24c62; border-color: #efd5dd; box-shadow: none; }
body[data-v2-area="admin"] #statusBtn.action-open { background: #eaf8f3; color: #1f7c64; border-color: #cfe9df; box-shadow: none; }
body[data-v2-area="admin"] #statusBtn.action-close { background: #fff1f4; color: #b24c62; border-color: #efd5dd; box-shadow: none; }
body[data-v2-area="admin"] .password-head .control-title { color: #556f92; font-size: 15px; font-weight: 750; }
body[data-v2-area="admin"] #currentPassword b { font-weight: 750; color: #3d6fb2; font-size: 22px; }
body[data-v2-area="admin"] .password-active-badge { color: #2a7b66; background: #edf8f3; font-size: 10px; font-weight: 650; }
body[data-v2-area="admin"] .premium-input { background: #f9fbff !important; border-color: #dce6f3 !important; box-shadow: none; }
body[data-v2-area="admin"] .password-control .premium-input input { background: transparent; border: 0; border-radius: 0; min-height: 0; box-shadow: none; }
body[data-v2-area="admin"] .logout-card { border: 0; box-shadow: none; background: transparent; }
body[data-v2-area="admin"] .logout-card button { background: #fff2f5; color: #ac5065; border: 1px solid #f0dae2; box-shadow: none; font-size: 14px; }
body[data-v2-area="admin"] .stat b { font-size: 32px; font-weight: 800; }
body[data-v2-area="admin"] .stat span { color: #557090; font-size: 13px; font-weight: 650; }
body[data-v2-area="admin"] .stat small { font-size: 11px; color: #626f80; }
body[data-v2-area="admin"] .stat.stat-pending { background: linear-gradient(145deg, #fffaf0, #fff); border-color: #f3e7d1; }
body[data-v2-area="admin"] .stat.stat-approved { background: linear-gradient(145deg, #f0faf6, #fff); border-color: #d8eee4; }
body[data-v2-area="admin"] .stat.stat-rejected { background: linear-gradient(145deg, #fff5f7, #fff); border-color: #f0dfe5; }
body[data-v2-page="admin-setoran"] .total-setoran-card { background: #f7fbff; }
body[data-v2-page="admin-setoran"] .total-setoran-card h4 { color: #507099; font-size: 20px; font-weight: 650; }
body[data-v2-page="admin-setoran"] .pending-review-number { color: var(--v2-blue); }
body[data-v2-page="admin-setoran"] .total-setoran-card button { border-radius: 14px; font-size: 14px; }
body[data-v2-page="admin-setoran"] .warning-box { color: #5f6f85; font-size: 12px; }
body[data-v2-page="admin-member"] .name { font-size: 20px; color: #436a9b; font-weight: 750; }
body[data-v2-page="admin-member"] .member { border-radius: 20px; box-shadow: none; }
body[data-v2-page="admin-member"] .profile-icon { color: #507098; }
body[data-v2-page="admin-member"] .stat-wrap { background: #f7faff; border: 1px solid #e6eefb; box-shadow: none; border-radius: 14px; }
body[data-v2-page="admin-member"] .row { color: #606f83; font-size: 13px; }
body[data-v2-page="admin-member"] .value { color: #507095; font-weight: 650; }
body[data-v2-page="admin-member"] .box.full b { font-size: clamp(27px, 8vw, 38px); letter-spacing: -.9px; overflow-wrap: anywhere; }
body[data-v2-page="admin-member"] .statusitem.active-member-card { background: #f0faf6; border-color: #d7ede4; }
body[data-v2-page="admin-member"] .statusitem.inactive-member-card { background: #fff5f7; border-color: #f0dfe5; }
body[data-v2-page="admin-member"] .statusitem span { color: #5e6f85; font-size: 13px; }
body[data-v2-page="admin-member"] .search { border-radius: 15px; }
body[data-v2-page="admin-member"] .dark { color: #557090; background: #edf3fc; border: 1px solid #dce8f8; box-shadow: none; }
body[data-v2-page="admin-member"] .detail-modal-row { color: #5a6f8b; font-size: 13px; gap: 12px; }
body[data-v2-page="admin-member"] .detail-modal-row span { min-width: 0; overflow-wrap: anywhere; }
body[data-v2-page="admin-withdraw"] .stat-icon .v2-icon { width: 27px; height: 27px; margin: 0; }
body[data-v2-page="admin-withdraw"] .withdraw-stat .stat-label { font-size: 14px; color: #527094; font-weight: 650; }
body[data-v2-page="admin-withdraw"] .withdraw-stat .stat-desc { font-size: 11px; color: #616f82; font-weight: 500; }
body[data-v2-page="admin-withdraw"] .nominal-card { background: linear-gradient(145deg, #eff7ff, #fff); }
body[data-v2-page="admin-withdraw"] .item .amount { color: #396fb6; font-size: 24px; }
body[data-v2-page="admin-withdraw"] .item .label { color: #636f7f; font-size: 10px; }
body[data-v2-page="admin-withdraw"] .item .value { color: #547090; font-size: 13px; }
body[data-v2-page="admin-withdraw"] .item .status { box-shadow: none; font-size: 10px; }
body[data-v2-page="admin-withdraw"] .paid-check input { width: 20px; height: 20px; min-height: 20px; }
body[data-v2-page="total-setoran"] .pending-count { background: #fff8e9; color: #896831; border: 1px solid #f1e7d2; border-radius: 15px; }
body[data-v2-page="total-setoran"] .pending-head .label { font-size: 14px; color: #57708e; }
body[data-v2-page="total-setoran"] .copy-all { background: #edf4ff; color: #486fa5; border: 1px solid #dce8fa; box-shadow: none; }
body[data-v2-page="total-setoran"] th { background: #f6f9fe; color: #626f81; font-size: 11px; border-color: #e4ecf7; }
body[data-v2-page="total-setoran"] td { border-color: #eaf0f8; font-size: 13px; }
body[data-v2-page="total-setoran"] .email { color: #4b709f; font-weight: 650; }
body[data-v2-page="total-setoran"] .username { color: #646f7e; font-size: 11px; font-weight: 500; }

/* Premium light auth: original forms, handlers and redirects are unchanged. */
body[data-v2-area="auth"] { background: radial-gradient(ellipse at 5% 0, #e5efff, transparent 45%), radial-gradient(ellipse at 100% 90%, #eef4ff, transparent 45%), #f8faff; color: #355577; }
body[data-v2-area="auth"] :is(.card, .container) { border: 1px solid #dee8f6; background: #fff; border-radius: 26px; box-shadow: 0 14px 45px rgba(51, 86, 144, .09), 0 2px 6px rgba(51, 86, 144, .025); backdrop-filter: none; }
body[data-v2-area="auth"] :is(.brand, h1) { color: #305784; font-weight: 800; letter-spacing: -1px; }
body[data-v2-area="auth"] :is(.subtitle, .sub) { color: #616f81; font-size: 14px; font-weight: 400; line-height: 1.6; }
body[data-v2-area="auth"] label { color: #5c6f8a; font-size: 12px; font-weight: 650; }
body[data-v2-area="auth"] input:not([type="checkbox"]) { height: 52px; background: #f8fbff; border-color: #dfe8f6; border-radius: 13px; font-size: 16px; }
body[data-v2-area="auth"] button:not(.eye-btn) { background: var(--v2-primary); font-size: 14px; font-weight: 750; box-shadow: 0 5px 14px rgba(36, 99, 235, .14); border-radius: 14px; }
body[data-v2-area="auth"] a { color: #516f99; font-size: 13px; font-weight: 650; }
body[data-v2-area="auth"] .logo { width: 68px; height: 68px; border-radius: 21px; }
body[data-v2-area="auth"] .logo:before { content: ""; width: 32px; height: 32px; background: url("icons/mail.svg") center / contain no-repeat; }
body[data-v2-area="auth"] .logo:after { display: none; }
body[data-v2-area="auth"] .logo span { display: none; }
body[data-v2-area="auth"] .brand { font-size: 24px; line-height: 1.25; }
body[data-v2-area="auth"] .title { font-size: 22px; color: #41668f; font-weight: 750; letter-spacing: -.5px; white-space: normal; }
body[data-v2-area="auth"] .badge { border: 1px solid #e0ebfa; background: #f7faff; color: #5d6f87; box-shadow: none; font-size: 12px; }
body[data-v2-page="index"] { padding-top: 60px; padding-bottom: 35px; }
body[data-v2-page="index"] .card { width: 100%; max-width: 390px; padding: 28px; border-radius: 26px; }
body[data-v2-page="index"] .card:before { content: ""; width: 72px; height: 72px; margin: -65px auto 22px; border-radius: 22px; border: 1px solid #d4e3fa; background: url("icons/mail.svg") center / 34px 34px no-repeat, linear-gradient(145deg, #fff, #eaf3ff); box-shadow: 0 7px 20px rgba(37, 99, 235, .08); backdrop-filter: none; animation: none; }
body[data-v2-page="index"] h1:before { font-size: 30px; font-weight: 800 !important; line-height: 1.2 !important; color: #305784; }
body[data-v2-page="index"] h1:after { font-size: 21px; font-weight: 750 !important; line-height: 1.2 !important; color: #3d6fb1; letter-spacing: -.5px; }
body[data-v2-page="index"] .sub { font-size: 14px; color: #616f81; margin-top: 12px; margin-bottom: 22px; font-weight: 400; }
body[data-v2-page="index"] .remember-wrap { font-size: 12px; min-height: 38px; }
body[data-v2-page="index"] .remember-wrap label { color: #626f80; font-size: 12px; font-weight: 500; }
body[data-v2-page="index"] .login-safe-text { color: #636f80 !important; font-size: 11px !important; font-weight: 500; }
body[data-v2-page="index"] .login-safe-text .v2-icon { width: 12px; height: 12px; margin-right: 3px; vertical-align: -2px; }
body[data-v2-page="index"] #loginBtn { background: var(--v2-primary); font-size: 14px; border-radius: 14px; box-shadow: 0 5px 14px rgba(36, 99, 235, .14); height: 52px; }
body[data-v2-page="register"] .floating-logo { width: 72px; height: 72px; border-radius: 22px; margin-top: 30px; margin-bottom: -42px; }
body[data-v2-page="register"] .floating-logo .v2-icon { width: 33px; height: 33px; margin: 0; }
body[data-v2-page="register"] .floating-logo:before, body[data-v2-page="register"] .floating-logo:after { display: none; }
body[data-v2-page="register"] .container { padding: 27px 25px 23px; }
body[data-v2-page="register"] h1 { color: #305784; font-size: 28px; line-height: 1.15; font-weight: 800; }
body[data-v2-page="register"] h2 { font-size: 14px; font-weight: 500; color: #616f81; }
body[data-v2-page="register"] #daftarBtn { font-size: 14px; height: 52px; }
body[data-v2-page="complete-profile"] { margin: 0; min-height: 100vh; }
body[data-v2-page="complete-profile"] .card { padding: 25px; }
body[data-v2-page="complete-profile"] h2 { font-size: 23px; color: #41658f; }
body[data-v2-page="complete-profile"] p { font-size: 13px; color: #616f81; }
body[data-v2-page="google-callback"] { margin: 0; padding: 20px; }
body[data-v2-page="google-callback"] .card { width: 100%; max-width: 400px; }
body[data-v2-page="google-callback"] h2 { font-size: 21px; color: #4d709c; }

/* Convert original CSS-only header emojis without changing the header DOM. */
body[data-v2-page="setor"] header:after,
body[data-v2-page="withdraw"] header:after,
body[data-v2-page="admin"] header:after,
body[data-v2-page="total-setoran"] header:after,
body[data-v2-page="saldo"] header:after,
body[data-v2-page="riwayat-withdraw"] header:after {
  content: "";
  background: url("icons/mail.svg") center / 32px 32px no-repeat, linear-gradient(145deg, #ffffff, #e7f1ff);
  border: 1px solid #d8e6fa;
  box-shadow: 0 5px 15px rgba(50, 95, 166, .055);
  border-radius: 21px;
  animation: none;
  backdrop-filter: none;
  opacity: 1;
}
body[data-v2-page="admin"] header:after {
  width:68px;
  height:68px;
  padding:0;
  background-image:url("icons/settings.svg?v=66"), linear-gradient(145deg,#fff,#e7f1ff);
  background-size:24px 24px, auto;
  background-position:center, center;
  background-repeat:no-repeat;
}
body[data-v2-page="withdraw"] header:after, body[data-v2-page="saldo"] header:after { background-image: url("icons/wallet.svg"), linear-gradient(145deg, #fff, #e7f1ff); }
body[data-v2-page="total-setoran"] header:after { width: 64px; height: 64px; }
body[data-v2-page="saldo"] header:before { background: #d9eaff; filter: none; opacity: .45; }

/* Desktop width adjustments keep the same single-column page order. */
@media (min-width: 700px) {
  body[data-v2-area="member"] :is(header, .header) { padding-left: max(24px, calc((100% - 580px) / 2)); padding-right: max(24px, calc((100% - 580px) / 2)); }
  body[data-v2-area="admin"] header { padding-left: max(24px, calc((100% - 724px) / 2)); padding-right: max(24px, calc((100% - 724px) / 2)); }
  body[data-v2-page="dashboard"] :is(.rate-card, .status-setoran-card) { max-width: 564px; }
  body[data-v2-page="dashboard"] .home-actions { max-width: 568px; margin-left: auto !important; margin-right: auto !important; }
  body[data-v2-page="profile"] .container { max-width: 600px; margin-left: auto; margin-right: auto; }
  body[data-v2-page] .bottom-nav { max-width: 600px; margin-left: auto; margin-right: auto; }
  body[data-v2-page="riwayat"] header { padding-left: max(24px, calc((100% - 724px) / 2)); }
}
@media (max-width: 360px) {
  body[data-v2-page="dashboard"] .header h1, body[data-v2-page="riwayat"] header h1 { font-size: 30px; }
  body[data-v2-page="dashboard"] .header h1 span, body[data-v2-page="riwayat"] header h1 span { font-size: 18px; }
  body[data-v2-page="dashboard"] .rate-row { padding: 12px 9px; }
  body[data-v2-page="dashboard"] .rate-label { font-size: 10px; }
  body[data-v2-page="dashboard"] .rate-value { font-size: 13px; }
  body[data-v2-page="withdraw"] .balance-card { padding: 20px 18px; column-gap: 10px; }
  body[data-v2-page="setor"] #gmailTypeSelector .type-name { font-size: 12px; }
  body[data-v2-page="setor"] #gmailTypeSelector .type-card small { font-size: 10px; }
  body[data-v2-page="notifications"] .header h1 { font-size: 22px; }
  body[data-v2-area="admin"] .card { padding: 18px; }
  body[data-v2-page="withdraw"] header h1, body[data-v2-page="riwayat-withdraw"] header h1 { max-width: calc(100% - 80px); font-size: 20px; }
  body[data-v2-area="admin"] .category-name { font-size: 11px; gap: 4px; }
  body[data-v2-area="admin"] .category-name .v2-icon { width: 14px; height: 14px; }
  body[data-v2-area="admin"] .password-head #currentPassword b { font-size: 19px; }
}
body[data-v2-page="total-setoran"] header h1 { padding-right: 74px; }
body[data-v2-page="admin-member"] #toast { background: #ffffff !important; color: #3c638e !important; }
body[data-v2-page="admin-member"] .member .active { color: #217b64; }
@media (hover: hover) {
  body[data-v2-page] button:hover:not(:disabled), body[data-v2-page] a.btn:hover { box-shadow: 0 6px 15px rgba(36, 99, 235, .18); }
  body[data-v2-page] :is(.back, .back-btn, .eye-btn, .reject, .btn-cancel):hover { box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-v2-page] *, body[data-v2-page] *:before, body[data-v2-page] *:after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* === NDOO V2 FINAL POLISH START === */
/* Final polish is cosmetic only. It must not change page order, navigation, or business logic. */

/* Dashboard: lift the trust badges so the last badge no longer meets the balance card. */
body[data-v2-page="dashboard"] .header-badges {
  top: 95px !important;
}

/* Slightly stronger supporting text in admin cards. */
body[data-v2-area="admin"] .box span:last-child,
body[data-v2-area="admin"] .stat span,
body[data-v2-area="admin"] .stat-label,
body[data-v2-area="admin"] .menu-desc,
body[data-v2-area="admin"] .activity-text,
body[data-v2-area="admin"] .service-list {
  color: #485f7d !important;
}
body[data-v2-area="admin"] :is(.box small, .stat small, .stat-desc, .activity-time, .small-note) {
  color: #617086 !important;
}

/* Admin Setoran: disabled actions must read as disabled, not as live green/red actions. */
body[data-v2-page="admin-setoran"] :is(#approveBtn,#rejectBtn):disabled {
  opacity: 1 !important;
  background: #eef3f8 !important;
  color: transparent !important;
  border: 1px solid #dde6f1 !important;
  box-shadow: none !important;
  position: relative;
}
body[data-v2-page="admin-setoran"] :is(#approveBtn,#rejectBtn):disabled::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 7px;
  vertical-align: -3px;
  background: url("icons/lock.svg") center / contain no-repeat;
  opacity: .68;
}
body[data-v2-page="admin-setoran"] :is(#approveBtn,#rejectBtn):disabled::after {
  content: "Menunggu Preview";
  color: #738198;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
}
body[data-v2-page="admin-setoran"] :is(#approveBtn,#rejectBtn):disabled .v2-icon { display:none !important; }

/* Search and password visibility use the same outline family as the rest of V2. */
body[data-v2-page="admin-member"] #search {
  background-image: url("icons/search.svg");
  background-repeat: no-repeat;
  background-size: 18px 18px;
  background-position: 17px 50%;
  padding-left: 46px !important;
}
body[data-v2-area="auth"] .eye-btn,
body[data-v2-page="security"] .password-toggle {
  font-size: 0 !important;
  background-image: url("icons/eye.svg") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 19px 19px !important;
}

/* Small icon utility for legacy text that is rendered from existing JS templates. */
body[data-v2-page] .v2-mini-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  vertical-align: -3px;
  margin-right: 6px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  flex: 0 0 16px;
}
body[data-v2-page] .v2-i-mail { background-image:url("icons/mail.svg"); }
body[data-v2-page] .v2-i-wallet { background-image:url("icons/wallet.svg"); }
body[data-v2-page] .v2-i-user { background-image:url("icons/user.svg"); }
body[data-v2-page] .v2-i-copy { background-image:url("icons/copy.svg"); }
body[data-v2-page] .v2-i-search { background-image:url("icons/search.svg"); }
body[data-v2-page] .v2-i-clock { background-image:url("icons/clock.svg"); }
body[data-v2-page] .v2-i-check { background-image:url("icons/check-circle.svg"); }
body[data-v2-page] .v2-i-x { background-image:url("icons/x-circle.svg"); }
body[data-v2-page] .v2-i-note { background-image:url("icons/file-text.svg"); }
body[data-v2-page] .v2-i-chart { background-image:url("icons/chart.svg"); }
body[data-v2-page] .v2-i-shield { background-image:url("icons/shield.svg"); }

/* Member admin dynamic cards. */
body[data-v2-page="admin-member"] .profile-icon.v2-profile-icon {
  width: 30px;
  height: 30px;
  font-size: 0 !important;
  background: url("icons/user.svg") center / 23px 23px no-repeat;
  opacity: .86;
}
body[data-v2-page="admin-member"] .stat-wrap .row > span:first-child {
  display:flex;
  align-items:center;
}
body[data-v2-page="admin-member"] .copy .v2-mini-icon { filter:none; }

/* Admin status summaries: replace emoji markers with calm outline marks. */
body[data-v2-page="admin-setoran"] .stat { position:relative; }
body[data-v2-page="admin-setoran"] .stat > .v2-stat-mark,
body[data-v2-page="admin-withdraw"] .stat-icon.v2-stat-mark {
  width: 25px;
  height: 25px;
  display:block;
  margin-bottom: 1px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}
body[data-v2-page="admin-setoran"] .stat-pending > .v2-stat-mark,
body[data-v2-page="admin-withdraw"] .withdraw-stat:nth-child(1) .v2-stat-mark { background-image:url("icons/clock.svg"); }
body[data-v2-page="admin-setoran"] .stat-approved > .v2-stat-mark,
body[data-v2-page="admin-withdraw"] .withdraw-stat:nth-child(2) .v2-stat-mark { background-image:url("icons/check-circle.svg"); }
body[data-v2-page="admin-setoran"] .stat-rejected > .v2-stat-mark,
body[data-v2-page="admin-withdraw"] .withdraw-stat:nth-child(3) .v2-stat-mark { background-image:url("icons/x-circle.svg"); }

/* Riwayat: compact icons align with the existing transaction layout. */
body[data-v2-page="riwayat"] .email,
body[data-v2-page="riwayat"] .label {
  display:flex;
  align-items:center;
}
body[data-v2-page="riwayat"] .email .v2-mini-icon { width:17px; height:17px; flex-basis:17px; }
body[data-v2-page="riwayat"] .label .v2-mini-icon { width:14px; height:14px; flex-basis:14px; margin-right:5px; }

/* Total Setoran pending stat. */
body[data-v2-page="total-setoran"] .v2-pending-label {
  display:flex;
  align-items:center;
}

/* === NDOO V2 FINAL POLISH END === */

/* === DASHBOARD HEADER SAFE REPAIR START === */

/* Pertahankan badge di posisi floating/original.
   Hanya beri jarak aman dari kotak Gmail. */
[data-v2-page="dashboard"] .header-badges{
    position:absolute !important;
    right:18px !important;
    top:120px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:6px !important;
    margin:0 !important;
    z-index:3 !important;
}

/* Naikkan kotak Gmail sedikit agar badge Aman tidak menempel */
[data-v2-page="dashboard"] .gmail-float{
    top:15px !important;
}

/* Kembalikan ukuran badge ke compact */
[data-v2-page="dashboard"] .header-badge{
    min-height:0 !important;
    padding:5px 9px !important;
    gap:6px !important;
}

/* === DASHBOARD HEADER SAFE REPAIR END === */


/* === NDOO FINAL MICRO POLISH START === */

.ndoo-refresh-icon{
    width:17px;
    height:17px;
    display:inline-block;
    vertical-align:-3px;
    margin-right:6px;
    flex:0 0 auto;
}

.ndoo-refresh-icon.spin{
    animation:ndooFinalSpin .8s linear infinite;
}

@keyframes ndooFinalSpin{
    to{transform:rotate(360deg)}
}

.ndoo-helper-icon{
    width:17px;
    height:17px;
    display:inline-block;
    vertical-align:-3px;
    margin-right:7px;
}

.ndoo-status-dot{
    display:inline-block;
    width:9px;
    height:9px;
    border-radius:50%;
    margin-right:8px;
    vertical-align:1px;
    box-shadow:0 0 0 3px rgba(15,23,42,.035);
}

.ndoo-status-dot.is-approved{
    background:#22c55e;
}

.ndoo-status-dot.is-pending{
    background:#f59e0b;
}

.ndoo-status-dot.is-rejected{
    background:#ef4444;
}

/* === NDOO FINAL MICRO POLISH END === */

/* === ADMIN WITHDRAW ICON MAP REPAIR START === */

/*
  child 1 = Nominal Pending
  child 2 = Pending
  child 3 = Approved
  child 4 = Rejected
  child 5 = Member
*/

body[data-v2-page="admin-withdraw"]
.withdraw-stat:nth-child(2) .v2-stat-mark{
    background-image:url("icons/clock.svg") !important;
}

body[data-v2-page="admin-withdraw"]
.withdraw-stat:nth-child(3) .v2-stat-mark{
    background-image:url("icons/check-circle.svg") !important;
}

body[data-v2-page="admin-withdraw"]
.withdraw-stat:nth-child(4) .v2-stat-mark{
    background-image:url("icons/x-circle.svg") !important;
}

/* === ADMIN WITHDRAW ICON MAP REPAIR END === */

/* === ADMIN SETORAN COLOR DISABLED START === */

/* Tetap berwarna walaupun belum bisa ditekan */
[data-v2-page="admin-setoran"] #approveBtn:disabled{
    background:linear-gradient(135deg,#22c55e,#16a34a) !important;
    color:#ffffff !important;
    opacity:.62 !important;
    cursor:not-allowed !important;
    pointer-events:none !important;
    box-shadow:0 8px 20px rgba(22,163,74,.16) !important;
}

[data-v2-page="admin-setoran"] #rejectBtn:disabled{
    background:linear-gradient(135deg,#ef4444,#dc2626) !important;
    color:#ffffff !important;
    opacity:.62 !important;
    cursor:not-allowed !important;
    pointer-events:none !important;
    box-shadow:0 8px 20px rgba(220,38,38,.14) !important;
}

/* Saat sudah aktif, warna kembali penuh */
[data-v2-page="admin-setoran"] #approveBtn:not(:disabled){
    opacity:1 !important;
}

[data-v2-page="admin-setoran"] #rejectBtn:not(:disabled){
    opacity:1 !important;
}

/* === ADMIN SETORAN COLOR DISABLED END === */

/* === FIX DOUBLE PREVIEW TEXT START === */

/*
  Teks Menunggu Preview sudah berasal dari HTML tombol.
  Pseudo ::after lama dimatikan agar tidak tampil dua kali.
*/
body[data-v2-page="admin-setoran"]
:is(#approveBtn,#rejectBtn):disabled::after{
    content:none !important;
    display:none !important;
}

/* === FIX DOUBLE PREVIEW TEXT END === */

/* === NDOO MEMBER HEADER CARD POLISH START === */
/*
   NDOO V2 MEMBER HEADER — POLISH V3
   Stronger card separation, cosmetic only.
*/
body[data-v2-area="member"] > header,
body[data-v2-area="member"] > .header{
  background:
    radial-gradient(
      ellipse at 100% 0%,
      rgba(167,205,250,.92) 0%,
      rgba(196,222,253,.72) 30%,
      rgba(226,240,255,.42) 58%,
      transparent 78%
    ),
    linear-gradient(
      128deg,
      #fbfdff 0%,
      #edf6ff 42%,
      #dfeeff 100%
    ) !important;

  border-bottom:
    1px solid #b9d2ec !important;

  box-shadow:
    0 15px 38px rgba(42,82,140,.135),
    0 3px 8px rgba(42,82,140,.045),
    inset 0 -1px 0 rgba(255,255,255,.85) !important;
}
/* === NDOO MEMBER HEADER CARD POLISH END === */




/* === NDOO ADMIN HEADER MEMBER-V3 START === */
/* HANYA visual header — sama seperti Member V3 */

body[data-v2-area="admin"] > header{
  background:
    radial-gradient(
      ellipse at 100% 0%,
      rgba(167,205,250,.92) 0%,
      rgba(196,222,253,.72) 30%,
      rgba(226,240,255,.42) 58%,
      transparent 78%
    ),
    linear-gradient(
      128deg,
      #fbfdff 0%,
      #edf6ff 42%,
      #dfeeff 100%
    ) !important;

  color:#315889 !important;

  border-bottom:
    1px solid #b9d2ec !important;

  box-shadow:
    0 15px 38px rgba(42,82,140,.135),
    0 3px 8px rgba(42,82,140,.045),
    inset 0 -1px 0 rgba(255,255,255,.85) !important;
}

body[data-v2-area="admin"] > header h1{
  color:#315889 !important;
}

body[data-v2-area="admin"] > header p{
  color:#60728a !important;
  opacity:1 !important;
}

/* === NDOO ADMIN HEADER MEMBER-V3 END === */


/* === NDOO AUTH ICON SYSTEM FINAL START === */

/*
   AUTH FEEDBACK ICONS
   Cosmetic only — business/auth logic tetap.
*/
body[data-v2-area="auth"] :is(#msg,#pesan).ndoo-auth-feedback{
  line-height:1.55;
}

body[data-v2-area="auth"]
:is(#msg,#pesan).ndoo-auth-feedback::before{
  content:"";
  display:inline-block;
  width:17px;
  height:17px;
  margin-right:6px;
  vertical-align:-3px;

  background-color:currentColor;

  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;

  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
}

body[data-v2-area="auth"]
:is(#msg,#pesan).ndoo-auth-success::before{
  -webkit-mask-image:url("icons/check-circle.svg");
  mask-image:url("icons/check-circle.svg");
}

body[data-v2-area="auth"]
:is(#msg,#pesan).ndoo-auth-error::before{
  -webkit-mask-image:url("icons/x-circle.svg");
  mask-image:url("icons/x-circle.svg");
}

body[data-v2-area="auth"]
:is(#msg,#pesan).ndoo-auth-mail::before{
  -webkit-mask-image:url("icons/mail.svg");
  mask-image:url("icons/mail.svg");
}

body[data-v2-area="auth"]
:is(#msg,#pesan).ndoo-auth-info::before{
  -webkit-mask-image:url("icons/clock.svg");
  mask-image:url("icons/clock.svg");
}


/* AUTH BUTTON LOADING SPINNER */
body[data-v2-area="auth"]
button.ndoo-auth-busy{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
}

body[data-v2-area="auth"]
button.ndoo-auth-busy::before{
  content:"";
  width:15px;
  height:15px;
  flex:0 0 15px;

  border:2px solid rgba(255,255,255,.42);
  border-top-color:#ffffff;
  border-radius:50%;

  animation:ndooAuthSpin .75s linear infinite;
}

@keyframes ndooAuthSpin{
  to{transform:rotate(360deg)}
}


/* BACK LINK SVG */
body[data-v2-area="auth"] a.back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}

body[data-v2-area="auth"] a.back .v2-icon{
  width:16px;
  height:16px;
  margin:0;
}


/* REGISTER BENEFIT ROW */
body[data-v2-page="register"] .container::after{
  content:none !important;
  display:none !important;
}

body[data-v2-page="register"] .ndoo-auth-benefits{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px 14px;

  margin-top:16px;

  color:#64748b;
  font-size:11px;
  font-weight:600;
}

body[data-v2-page="register"] .ndoo-auth-benefit{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}

body[data-v2-page="register"]
.ndoo-auth-benefit::before{
  content:"";
  width:14px;
  height:14px;
  flex:0 0 14px;

  background-color:#5274a2;

  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;

  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
}

body[data-v2-page="register"]
.ndoo-auth-benefit-lock::before{
  -webkit-mask-image:url("icons/lock.svg");
  mask-image:url("icons/lock.svg");
}

body[data-v2-page="register"]
.ndoo-auth-benefit-fast::before{
  -webkit-mask-image:url("icons/clock.svg");
  mask-image:url("icons/clock.svg");
}

body[data-v2-page="register"]
.ndoo-auth-benefit-wallet::before{
  -webkit-mask-image:url("icons/wallet.svg");
  mask-image:url("icons/wallet.svg");
}

/* === NDOO AUTH ICON SYSTEM FINAL END === */

