#reminders-page .status-chip { display:inline-flex;align-items:center;gap:.3rem;font:600 .55rem/1 var(--font-family,'Inter');padding:.35rem .55rem;border-radius:999px;letter-spacing:.05em;text-transform:uppercase;border:1px solid #334155;background:#1e293b;color:#e2e8f0; }
#reminders-page .status-chip.sent { background:#153d2a;border-color:#166534;color:#6ee7b7; }
#reminders-page .status-chip.sending { background:#162d4a;border-color:#1d4ed8;color:#60a5fa; }
#reminders-page .status-chip.retry { background:#3d2a07;border-color:#d97706;color:#fbbf24; }
#reminders-page .status-chip.failed { background:#4c1d22;border-color:#dc2626;color:#fca5a5; }
#reminders-page .status-chip.queued { background:#272a33;border-color:#6366f1;color:#a5b4fc; }
/* Reminders Page Dark Themed Overhaul (2025-09 revised) */
#reminders-page { --gap:1.6rem; display:none; flex-direction:column; gap:var(--gap); padding:1.4rem 1.2rem 3.2rem; --r-bg:#0f1114; --r-panel:#1c2025; --r-panel-alt:#22272e; --r-border:#2d3339; --r-border-soft:#37414a; --r-text:#f1f5f9; --r-text-dim:#c3ccd5; --r-accent:#6366f1; --r-accent-glow:#818cf8; --r-danger:#ef4444; --r-warn:#f59e0b; --r-success:#22c55e; background:var(--r-bg); color:var(--r-text); }
#reminders-page.active { display:flex; }
#reminders-page:not(.active){ display:none !important; }
#reminders-page, #reminders-page h1, #reminders-page h2, #reminders-page h3, #reminders-page h4, #reminders-page p, #reminders-page label, #reminders-page small, #reminders-page th, #reminders-page td, #reminders-page button, #reminders-page input, #reminders-page textarea { color:var(--r-text,#f1f5f9); }
#reminders-page .sub, #reminders-page .hint, #reminders-page small, #reminders-page .stat-card h3 { color:var(--r-text-dim,#c3ccd5); }
#reminders-page .page-header { position:relative; }
#reminders-page .page-header h1 { font-size:2.25rem; background:linear-gradient(135deg,#818cf8,#6366f1); -webkit-background-clip:text; background-clip:text; color:transparent; margin:0 0 .55rem; font-weight:700; letter-spacing:.5px; }
#reminders-page .page-header p { margin:0; font-size:.92rem; color:var(--r-text-dim); }

#reminders-page .reminders-layout { display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:var(--gap); align-items:start; }
#reminders-page .panel { position:relative; background:linear-gradient(165deg,var(--r-panel),var(--r-panel-alt)); border:1px solid var(--r-border); border-radius:26px; padding:1.65rem 1.75rem 1.9rem; box-shadow:0 18px 50px -18px rgba(0,0,0,.65),0 4px 16px -4px rgba(0,0,0,.4); display:flex; flex-direction:column; gap:1.15rem; overflow:hidden; }
#reminders-page .panel:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 14% 12%,rgba(99,102,241,.25),transparent 65%); opacity:.35; pointer-events:none; mix-blend-mode:overlay; }
#reminders-page .panel h2 { margin:0; font-size:1.1rem; letter-spacing:.09em; text-transform:uppercase; font-weight:700; color:#ffffff; display:flex; align-items:center; gap:.6rem; }
#reminders-page .panel h2 .icon { width:1rem; height:1rem; stroke:currentColor; }
#reminders-page .panel small.hint { font-size:.65rem; letter-spacing:.05em; text-transform:uppercase; color:var(--r-text-dim); font-weight:600; }

/* Stats Bar */
#reminders-page .stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:1rem; }
#reminders-page .stat-card { position:relative; border:1px solid var(--r-border); border-radius:20px; padding:1.1rem 1.15rem 1.15rem; background:linear-gradient(150deg,#232a31,#1b2026); display:flex; flex-direction:column; gap:.55rem; min-height:118px; box-shadow:0 4px 14px -4px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.03) inset; }
#reminders-page .stat-card:after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 22% 18%,rgba(255,255,255,.08),transparent 70%); pointer-events:none; mix-blend-mode:overlay; }
#reminders-page .stat-card h3 { margin:0; font-size:.62rem; text-transform:uppercase; letter-spacing:.15em; font-weight:600; color:var(--r-text-dim); }
#reminders-page .stat-card .value { font-size:1.7rem; font-weight:700; letter-spacing:.5px; background:linear-gradient(130deg,var(--r-accent-glow),#a5b4fc); -webkit-background-clip:text; background-clip:text; color:transparent; }
#reminders-page .stat-card .sub { font-size:.66rem; color:var(--r-text-dim); font-weight:500; }
#reminders-page .stat-card.sent .value { background:linear-gradient(135deg,#22c55e,#86efac); }
#reminders-page .stat-card.failed .value { background:linear-gradient(135deg,#ef4444,#f87171); }
#reminders-page .stat-card.upcoming .value { background:linear-gradient(135deg,#f59e0b,#fbbf24); }

/* Toolbar */
#reminders-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.95rem; padding:1.1rem 1.35rem; border:1px solid var(--r-border); background:linear-gradient(160deg,#1c2025,#1a1e23); border-radius:26px; box-shadow:0 10px 28px -12px rgba(0,0,0,.6),0 2px 8px -2px rgba(0,0,0,.45); }
#reminders-toolbar .group { display:flex; align-items:center; gap:.45rem; }
#reminders-toolbar input[type=search] { padding:.75rem 1rem .75rem 2.4rem; border:1px solid var(--r-border-soft); border-radius:16px; background:#121417; font:.9rem/1.3 var(--font-family,'Inter'); width:300px; position:relative; color:var(--r-text); }
#reminders-toolbar input[type=search]:focus { outline:none; border-color:var(--r-accent); box-shadow:0 0 0 2px rgba(99,102,241,.4); }
#reminders-toolbar .search-wrap { position:relative; }
#reminders-toolbar .search-wrap svg { position:absolute; left:.65rem; top:50%; transform:translateY(-50%); width:.95rem; height:.95rem; stroke:var(--r-text-dim); }
#reminders-toolbar button.filter { background:#262c33; border:1px solid var(--r-border); font:600 .7rem/1 var(--font-family,'Inter'); letter-spacing:.09em; text-transform:uppercase; padding:.75rem 1rem; border-radius:14px; cursor:pointer; display:inline-flex; gap:.45rem; align-items:center; transition:.25s; color:var(--r-text-dim); }
#reminders-toolbar button.filter.active { background:var(--r-accent); color:#fff; border-color:var(--r-accent); box-shadow:0 8px 22px -8px rgba(99,102,241,.55),0 0 0 1px rgba(255,255,255,.05) inset; }
#reminders-toolbar button.filter:hover { background:#313840; color:#fff; }
#reminders-toolbar button.primary-action { background:var(--r-accent); color:#fff; border:1px solid #4f46e5; font:600 .8rem/1 var(--font-family,'Inter'); padding:.85rem 1.25rem; border-radius:16px; letter-spacing:.07em; display:inline-flex; align-items:center; gap:.6rem; box-shadow:0 10px 28px -10px rgba(99,102,241,.7); }
#reminders-toolbar button.primary-action:hover { background:#4f46e5; }
#reminders-page .queue-filters .qfilter { background:#262c33; border:1px solid var(--r-border); font:600 .6rem/1 var(--font-family,'Inter'); letter-spacing:.1em; text-transform:uppercase; padding:.55rem .8rem; border-radius:12px; cursor:pointer; color:var(--r-text-dim); transition:.25s; }
#reminders-page .queue-filters .qfilter.active { background:var(--r-accent); color:#fff; border-color:var(--r-accent); box-shadow:0 8px 22px -8px rgba(99,102,241,.55); }
#reminders-page .queue-filters .qfilter:hover { background:#313840; color:#fff; }
#reminders-toolbar .rq-badge { background:#1e293b; color:#fff; font:600 .55rem/1 var(--font-family,'Inter'); padding:.3rem .5rem; border-radius:12px; border:1px solid #334155; min-width:1.5rem; text-align:center; }

/* Templates split */
#reminders-page .templates-toggle { display:flex; gap:.75rem; }
#reminders-page .method-pill { flex:1; cursor:pointer; padding:.95rem 1.15rem; border:1px solid var(--r-border); background:#232a31; border-radius:18px; display:flex; align-items:center; gap:.6rem; justify-content:center; font:.83rem/1.2 var(--font-family,'Inter'); font-weight:600; letter-spacing:.08em; color:var(--r-text-dim); transition:.25s; position:relative; }
#reminders-page .method-pill.active { background:var(--r-accent); border-color:var(--r-accent); color:#fff; box-shadow:0 8px 24px -10px rgba(99,102,241,.6); }
#reminders-page .method-pill .icon { width:1rem; height:1rem; stroke:currentColor; }

#reminders-page textarea, #reminders-page input[type=text], #reminders-page input[type=email], #reminders-page input[type=number] { font:.85rem/1.5 var(--font-family,'Inter'); border:1px solid var(--r-border); border-radius:14px; padding:.85rem 1.05rem; background:#121417; color:var(--r-text); }
#reminders-page textarea { min-height:190px; }
#reminders-page textarea:focus, #reminders-page input:focus { outline:none; border-color:var(--r-accent); box-shadow:0 0 0 2px rgba(99,102,241,.45); }

/* Due Payments table */
#due-results .table-container { margin-top:.95rem; }
#due-results table { width:100%; border-collapse:collapse; color:var(--r-text); }
#due-results table th, #due-results table td { font-size:.66rem; text-align:left; padding:.6rem .65rem; border-bottom:1px solid var(--r-border); vertical-align:top; }
#due-results table tbody tr:hover { background:#242c33; }
#due-results table th { text-transform:uppercase; letter-spacing:.1em; background:#20262b; font-weight:600; color:var(--r-text-dim); }
#due-results .alert { background:#272e35; border:1px solid var(--r-border); color:var(--r-warn); padding:.6rem .75rem; border-radius:14px; font-size:.68rem; font-weight:600; letter-spacing:.06em; }
#due-results .info { background:#1b2026; border:1px dashed var(--r-border-soft); color:var(--r-text-dim); padding:.65rem .85rem; border-radius:14px; font-size:.64rem; }

/* Reminders Log */
#reminders-log-wrapper { display:flex; flex-direction:column; gap:.85rem; }
#reminders-log-wrapper .table-container { border:1px solid var(--r-border); background:#181c20; border-radius:22px; overflow:hidden; box-shadow:0 10px 32px -14px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.03) inset; }
#reminders-log-wrapper table { width:100%; border-collapse:collapse; color:var(--r-text); }
#reminders-log-wrapper table thead th { background:#20262b; font:600 .63rem/1 var(--font-family,'Inter'); letter-spacing:.12em; text-transform:uppercase; padding:.75rem .8rem; text-align:left; position:sticky; top:0; z-index:1; color:var(--r-text-dim); }
#reminders-log-wrapper table tbody td { font:.73rem/1.45 var(--font-family,'Inter'); padding:.7rem .75rem; border-bottom:1px solid var(--r-border); }
#reminders-log-wrapper table tbody tr:hover { background:#242c33; }

/* Queue table */
#reminder-queue-wrapper table thead th { background:#20262b; font:600 .63rem/1 var(--font-family,'Inter'); letter-spacing:.12em; text-transform:uppercase; padding:.65rem .7rem; text-align:left; color:var(--r-text-dim); }
#reminder-queue-wrapper table tbody td { font:.7rem/1.4 var(--font-family,'Inter'); padding:.55rem .65rem; border-bottom:1px solid var(--r-border); }
#reminder-queue-wrapper table tbody tr:hover { background:#242c33; }
#reminder-queue-wrapper button.retry { background:#f59e0b; border:1px solid #d97706; color:#fff; font:600 .55rem/1 var(--font-family,'Inter'); padding:.4rem .6rem; border-radius:8px; cursor:pointer; }
#reminder-queue-wrapper button.retry:hover { background:#d97706; }
#reminders-log-wrapper #reminder-pagination { padding:.65rem; display:flex; flex-wrap:wrap; gap:.45rem; justify-content:center; }
#reminders-log-wrapper #reminder-pagination button { background:#272e35; border:1px solid var(--r-border); color:var(--r-text-dim); font:600 .58rem/1 var(--font-family,'Inter'); padding:.55rem .75rem; border-radius:10px; cursor:pointer; }
#reminders-log-wrapper #reminder-pagination button:hover { background:#323b43; color:#fff; }

/* Message preview button */
#reminders-page button.inline { background:var(--r-accent); border:1px solid #4f46e5; color:#fff; font:600 .7rem/1 var(--font-family,'Inter'); padding:.65rem .95rem; border-radius:14px; letter-spacing:.08em; box-shadow:0 8px 20px -10px rgba(99,102,241,.65); cursor:pointer; }
#reminders-page button.inline:hover { background:#4f46e5; }

/* Custom reminder modals (JS utility) */
.reminder-dialog .modal-content { background:linear-gradient(160deg,#1d2329,#181d22); border:1px solid var(--r-border,#2d3339); border-radius:28px !important; color:var(--r-text,#f1f5f9); max-width:820px !important; font-size:.95rem; line-height:1.55; }
.reminder-dialog h3 { color:#fff; }
.reminder-dialog button { font:600 .65rem/1 var(--font-family,'Inter'); letter-spacing:.08em; }
.reminder-dialog [data-action], .reminder-dialog [data-close] { transition:.25s; }
.reminder-dialog [data-action]:hover, .reminder-dialog [data-close]:hover { filter:brightness(1.2); }

/* Responsive */
@media (max-width: 980px){
	#reminders-page { padding:1.1rem 1rem 2.75rem; }
	#reminders-page .reminders-layout { grid-template-columns:1fr; }
	#reminders-toolbar input[type=search]{ width:100%; }
}

@media (max-width: 560px){
	#reminders-page .stat-card { min-height:100px; }
	#reminders-page .page-header h1 { font-size:1.9rem; }
	#reminders-toolbar { padding:1rem 1rem; }
}
