.reminder-nav-item > span { position: relative; }
.reminder-nav-badge { position: absolute; top: -8px; right: -12px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 10px; background: #ef4444; color: #fff; font: 700 10px/17px Arial,sans-serif; font-style: normal; box-shadow: 0 0 0 2px #fff; }
.reminder-calendar-page { padding: 18px; overflow: auto; background: #f5f7fb; }
.rc-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 24px; border:1px solid #dfe6f1; border-radius:16px; background:#fff; box-shadow:0 3px 12px rgba(15,23,42,.04); }
.rc-kicker { color:#1267f4; font-size:11px; font-weight:800; letter-spacing:.08em; }
.rc-header h1 { margin:4px 0 3px; color:#0f172a; font-size:25px; }
.rc-header p { margin:0; color:#64748b; font-size:13px; }
.rc-header-actions,.rc-month-nav,.rc-toolbar,.rc-item-actions,.rc-quick-actions { display:flex; align-items:center; gap:8px; }
.rc-header button,.rc-toolbar button,.rc-item-actions button,.rc-dialog button { border:1px solid #d9e2ef; border-radius:9px; background:#fff; color:#334155; min-height:36px; padding:0 13px; cursor:pointer; }
.rc-primary { background:#1267f4!important; border-color:#1267f4!important; color:#fff!important; font-weight:700; }
.rc-google { color:#64748b!important; }
.rc-kpis { display:grid; grid-template-columns:repeat(6,minmax(130px,1fr)); gap:10px; margin:14px 0; }
.rc-kpi { display:flex; align-items:center; gap:11px; text-align:left; padding:13px 14px; border:1px solid #dfe6f1; border-radius:12px; background:#fff; color:#64748b; cursor:pointer; }
.rc-kpi > i { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#eef4ff; color:#1267f4; font-size:16px; }
.rc-kpi span { display:flex; flex-direction:column; min-width:0; }
.rc-kpi b { color:#172033; font-size:19px; }
.rc-kpi small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rc-kpi.active { border-color:#1267f4; box-shadow:0 0 0 2px rgba(18,103,244,.1); }
.rc-kpi[data-rc-filter="overdue"] > i { background:#fff0f0; color:#dc2626; }
.rc-kpi[data-rc-filter="today"] > i { background:#fff7e8; color:#d97706; }
.rc-toolbar { justify-content:space-between; padding:10px 12px; border:1px solid #dfe6f1; border-radius:12px 12px 0 0; background:#fff; }
.rc-month-nav strong { margin-left:8px; text-transform:capitalize; font-size:16px; color:#172033; }
.rc-toolbar > label { display:flex; align-items:center; gap:8px; width:min(360px,35vw); padding:0 11px; border:1px solid #d9e2ef; border-radius:9px; }
.rc-toolbar input { width:100%; height:36px; border:0; outline:0; background:transparent; }
.rc-layout { display:grid; grid-template-columns:minmax(650px,1.55fr) minmax(310px,.75fr); min-height:550px; border:1px solid #dfe6f1; border-top:0; border-radius:0 0 12px 12px; background:#fff; overflow:hidden; }
.rc-calendar { min-width:0; border-right:1px solid #e5eaf2; }
.rc-weekdays,.rc-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.rc-weekdays span { padding:10px; border-bottom:1px solid #e5eaf2; color:#64748b; text-align:center; font-size:11px; font-weight:700; }
.rc-day { min-height:84px; padding:7px; border:0; border-right:1px solid #edf1f6; border-bottom:1px solid #edf1f6; background:#fff; text-align:left; cursor:pointer; overflow:hidden; }
.rc-day:nth-child(7n) { border-right:0; }
.rc-day:hover { background:#f8fbff; }
.rc-day.muted { color:#aeb8c8; background:#fafbfc; }
.rc-day.is-today b { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#1267f4; color:#fff; }
.rc-day > span { display:flex; flex-direction:column; gap:3px; margin-top:4px; }
.rc-day em { overflow:hidden; padding:2px 5px; border-left:3px solid #1267f4; border-radius:3px; background:#eef5ff; color:#24569b; font-size:10px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.rc-day em.overdue { border-color:#ef4444; background:#fff0f0; color:#b91c1c; }
.rc-day em.today { border-color:#f59e0b; background:#fff7e6; color:#a16207; }
.rc-day small { color:#64748b; font-size:10px; }
.rc-list { min-width:0; background:#fbfcfe; }
.rc-list-head { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid #e5eaf2; }
.rc-list-head h2 { margin:0; font-size:15px; }
.rc-list-head span { padding:2px 8px; border-radius:10px; background:#e8eef8; color:#475569; font-size:11px; }
.rc-items { max-height:570px; overflow:auto; padding:10px; }
.rc-item { margin-bottom:9px; padding:12px; border:1px solid #e0e7f0; border-left:4px solid #1267f4; border-radius:10px; background:#fff; }
.rc-item.overdue { border-left-color:#ef4444; }
.rc-item.today { border-left-color:#f59e0b; }
.rc-item.unscheduled { border-left-color:#8b5cf6; }
.rc-item.done { border-left-color:#94a3b8; opacity:.7; }
.rc-item-date { display:flex; align-items:center; gap:6px; color:#64748b; font-size:11px; }
.rc-item-date i { color:inherit; font-size:7px; }
.rc-item h3 { margin:7px 0 5px; color:#172033; font-size:14px; }
.rc-item p { display:-webkit-box; margin:7px 0; overflow:hidden; color:#64748b; font-size:12px; line-height:1.45; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.rc-customer { padding:0; border:0; background:transparent; color:#1267f4; cursor:pointer; font-size:12px; }
.rc-customer i { margin-right:5px; }
.rc-item-actions { flex-wrap:wrap; margin-top:8px; }
.rc-item-actions button { min-height:28px; padding:0 8px; font-size:11px; }
.rc-done-label { color:#16a34a; font-size:12px; }
.rc-empty,.rc-state { display:grid; place-items:center; gap:8px; min-height:260px; padding:30px; color:#64748b; text-align:center; }
.rc-empty i { color:#a8b7cc; font-size:34px; }
.rc-error b { color:#dc2626; }
.rc-spin { animation:rc-spin 1s linear infinite; font-size:25px; }
@keyframes rc-spin { to { transform:rotate(360deg); } }
.rc-dashboard-alert { display:flex; align-items:center; gap:13px; width:100%; margin-bottom:12px; padding:12px 16px; border:1px solid #fecaca; border-radius:12px; background:linear-gradient(90deg,#fff1f2,#fff); color:#b91c1c; cursor:pointer; text-align:left; }
.rc-dashboard-alert.clear { border-color:#bbf7d0; background:linear-gradient(90deg,#f0fdf4,#fff); color:#15803d; }
.rc-dashboard-alert > i:first-child { font-size:20px; }
.rc-dashboard-alert > i:last-child { margin-left:auto; }
.rc-dashboard-alert span { display:flex; flex-direction:column; gap:2px; }
.rc-dashboard-alert small { color:#64748b; }
.rc-dialog { width:min(620px,calc(100vw - 30px)); padding:0; border:0; border-radius:15px; box-shadow:0 24px 70px rgba(15,23,42,.25); }
.rc-dialog::backdrop { background:rgba(15,23,42,.5); backdrop-filter:blur(2px); }
.rc-dialog-card { display:grid; gap:14px; padding:22px; }
.rc-dialog-card header,.rc-dialog-card footer { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.rc-dialog-card header { padding-bottom:12px; border-bottom:1px solid #e5eaf2; }
.rc-dialog-card h2,.rc-dialog-card p { margin:0; }
.rc-dialog-card p { color:#64748b; font-size:12px; }
.rc-dialog-card label { display:grid; gap:6px; color:#475569; font-size:12px; }
.rc-dialog-card input,.rc-dialog-card textarea { box-sizing:border-box; width:100%; min-height:40px; padding:9px 11px; border:1px solid #d9e2ef; border-radius:8px; font:inherit; }
.rc-dialog-card textarea { min-height:90px; resize:vertical; }
.rc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rc-dialog-card footer { justify-content:flex-end; padding-top:12px; border-top:1px solid #e5eaf2; }
.rc-quick-actions { align-items:end; flex-wrap:wrap; }
.rc-quick-actions label { flex:1; min-width:160px; }
.rc-link { justify-self:start; min-height:auto!important; padding:0!important; border:0!important; color:#64748b!important; }
/* ── Autocomplete ── */
.rc-ac-wrapper { position:relative; }
.rc-ac-input { width:100%; }
.rc-ac-list { position:absolute; z-index:100; top:100%; left:0; right:0; max-height:220px; overflow-y:auto; margin-top:2px; border:1px solid #d9e2ef; border-radius:8px; background:#fff; box-shadow:0 8px 28px rgba(15,23,42,.12); }
.rc-ac-item { display:flex; flex-direction:column; gap:2px; width:100%; padding:9px 12px; border:0; border-bottom:1px solid #f0f3f8; background:transparent; text-align:left; cursor:pointer; }
.rc-ac-item:last-child { border-bottom:0; }
.rc-ac-item:hover,.rc-ac-item.highlighted { background:#eef4ff; }
.rc-ac-item.highlighted { outline:2px solid #1267f4; outline-offset:-2px; border-radius:6px; }
.rc-ac-name { color:#172033; font-size:13px; font-weight:600; }
.rc-ac-meta { color:#64748b; font-size:11px; }
.rc-ac-state { padding:14px 12px; text-align:center; color:#64748b; font-size:12px; }
.rc-ac-state.loading { color:#1267f4; }
.rc-ac-state.error { color:#dc2626; }
.rc-ac-state.empty { color:#94a3b8; }
/* ── Customer row reminder glow (red breathing) ── */
@keyframes gp-reminder-glow { 0%,100% { box-shadow:inset 0 0 0 0 rgba(220,38,38,.08),0 0 4px rgba(220,38,38,.04); } 50% { box-shadow:inset 0 0 0 4px rgba(220,38,38,.16),0 0 14px rgba(220,38,38,.10); } }
.customer-row-has-reminder { animation:gp-reminder-glow 2.8s ease-in-out infinite; }
.customer-row-has-reminder td { background:rgba(254,226,226,.45); }
/* Override dynamic !important white backgrounds from display-settings-fix.js so the reminder red covers every cell */
#customersTable .customer-row-has-reminder:not(.selected):not(:hover) td[data-col="_select"],
#customersTable .customer-row-has-reminder:not(.selected):not(:hover) td[data-col="name"],
#customersTable .customer-row-has-reminder:not(.selected):not(:hover) td[data-col="status"] { background:rgba(254,226,226,.45)!important; }
.reminder-count-badge { display:inline-flex; align-items:center; gap:3px; margin-left:6px; padding:1px 7px; border-radius:10px; background:#fef2f2; color:#dc2626; font-size:11px; font-weight:700; vertical-align:middle; white-space:nowrap; }
.reminder-count-badge i { font-size:10px; }
@media (prefers-reduced-motion:reduce) { .customer-row-has-reminder { animation:none; } .customer-row-has-reminder td { background:rgba(254,226,226,.35); } #customersTable .customer-row-has-reminder:not(.selected):not(:hover) td[data-col="_select"],#customersTable .customer-row-has-reminder:not(.selected):not(:hover) td[data-col="name"],#customersTable .customer-row-has-reminder:not(.selected):not(:hover) td[data-col="status"] { background:rgba(254,226,226,.35)!important; } }
@media (max-width:1150px) { .rc-kpis { grid-template-columns:repeat(3,1fr); } .rc-layout { grid-template-columns:1fr; } .rc-calendar { border-right:0; border-bottom:1px solid #e5eaf2; } }
@media (max-width:720px) { .reminder-calendar-page { padding:10px; } .rc-header { align-items:flex-start; flex-direction:column; } .rc-header-actions { width:100%; flex-wrap:wrap; } .rc-kpis { grid-template-columns:repeat(2,1fr); } .rc-toolbar { align-items:stretch; flex-direction:column; } .rc-toolbar > label { width:auto; } .rc-calendar { overflow-x:auto; } .rc-weekdays,.rc-days { min-width:650px; } .rc-form-grid { grid-template-columns:1fr; } }

/* ═══ Enhanced Card: badges & metadata ─────────────────────── */
.rc-item-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
.rc-item-head .rc-title-area { flex:1; min-width:0; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.rc-item-head .rc-title-area h3 { margin:0; }
.rc-badge { display:inline-flex; align-items:center; gap:3px; padding:1px 7px; border-radius:6px; font-size:10px; font-weight:700; white-space:nowrap; flex-shrink:0; }
.rc-badge.rc-badge-followup { background:#eef4ff; color:#1267f4; }
.rc-badge.rc-badge-renewal { background:#fef3c7; color:#92400e; }
.rc-badge.rc-badge-debt { background:#fef2f2; color:#dc2626; }
.rc-badge.rc-badge-incomplete { background:#fef3c7; color:#b45309; }
.rc-badge.rc-badge-general { background:#f0fdf4; color:#15803d; }
.rc-badge.rc-badge-other { background:#f3f4f6; color:#6b7280; }
.rc-priority { display:inline-flex; align-items:center; gap:2px; font-size:9px; font-weight:800; text-transform:uppercase; padding:1px 5px; border-radius:4px; flex-shrink:0; }
.rc-priority.urgent { background:#fef2f2; color:#dc2626; border:1px solid #fecaca; }
.rc-priority.high { background:#fff7ed; color:#ea580c; border:1px solid #fed7aa; }
.rc-priority.medium { background:#f3f4f6; color:#6b7280; border:1px solid #e5e7eb; }
.rc-item-meta { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:5px 0; color:#64748b; font-size:11px; }
.rc-item-meta span { display:inline-flex; align-items:center; gap:3px; }
.rc-item-meta i { font-size:10px; }
/* ── More menu dropdown ── */
.rc-more-wrap { position:relative; flex-shrink:0; }
.rc-more-btn { min-height:28px!important; min-width:28px; padding:0 6px!important; font-size:14px; border-radius:6px; }
.rc-more-menu { display:none; position:absolute; z-index:50; top:100%; right:0; min-width:160px; margin-top:4px; padding:4px; border:1px solid #d9e2ef; border-radius:8px; background:#fff; box-shadow:0 8px 28px rgba(15,23,42,.14); }
.rc-more-menu.open { display:block; }
.rc-more-menu button { display:flex; align-items:center; gap:6px; width:100%; min-height:32px!important; padding:0 10px; border:0; border-radius:6px; background:transparent; color:#334155; font-size:12px; text-align:left; cursor:pointer; }
.rc-more-menu button:hover { background:#f1f5f9; }
.rc-more-menu button.rc-danger { color:#dc2626; }
.rc-more-menu button.rc-danger:hover { background:#fef2f2; }
.rc-more-menu hr { margin:4px 0; border:0; border-top:1px solid #e5e7eb; }
.rc-item.rc-item-raised { position:relative; z-index:1; }

/* ═══ Unified editor modal enhancements ─────────────────────── */
.rc-editor-dialog { width:min(680px,calc(100vw - 30px)); }
.rc-editor-form { display:grid; gap:16px; max-height:80vh; overflow-y:auto; padding:22px; }
.rc-editor-form .rc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rc-editor-form label { display:grid; gap:6px; color:#475569; font-size:12px; font-weight:600; }
.rc-editor-form label span { font-weight:400; color:#94a3b8; font-size:10px; }
.rc-editor-form input,.rc-editor-form select,.rc-editor-form textarea { box-sizing:border-box; width:100%; min-height:40px; padding:9px 11px; border:1px solid #d9e2ef; border-radius:8px; font:inherit; font-size:13px; background:#fff; }
.rc-editor-form select { cursor:pointer; appearance:auto; }
.rc-editor-form textarea { min-height:70px; resize:vertical; }
.rc-editor-form .rc-full-width { grid-column:1 / -1; }
.rc-editor-form header,.rc-editor-form footer { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.rc-editor-form header { padding-bottom:12px; border-bottom:1px solid #e5eaf2; }
.rc-editor-form header h2 { margin:0; font-size:17px; color:#0f172a; }
.rc-editor-form footer { justify-content:flex-end; padding-top:12px; border-top:1px solid #e5eaf2; }
.rc-editor-form footer button { min-height:36px; padding:0 16px; }
/* All-day toggle */
.rc-time-row { display:flex; align-items:center; gap:10px; }
.rc-time-row input[type="time"] { width:140px; }
.rc-toggle-all-day { display:flex!important; align-items:center; gap:6px; flex-direction:row!important; cursor:pointer; font-weight:400!important; }
.rc-toggle-all-day input { width:auto; min-height:auto; }
/* Assignee locked */
.rc-assignee-locked { display:flex; align-items:center; gap:8px; padding:9px 11px; border:1px solid #e5e7eb; border-radius:8px; background:#f9fafb; color:#6b7280; font-size:13px; }
.rc-assignee-locked i { color:#9ca3af; }

/* ═══ Confirm dialog (lightweight) ═══ */
.rc-confirm-dialog { width:min(400px,calc(100vw - 30px)); text-align:center; }
.rc-confirm-body { padding:20px 24px 8px; }
.rc-confirm-body i { font-size:36px; color:#f59e0b; }
.rc-confirm-body h3 { margin:12px 0 6px; font-size:16px; color:#0f172a; }
.rc-confirm-body p { margin:0; color:#64748b; font-size:13px; }
.rc-confirm-footer { display:flex; justify-content:center; gap:8px; padding:16px 24px 20px; }
.rc-confirm-footer button { min-height:36px; padding:0 18px; border-radius:9px; border:1px solid #d9e2ef; background:#fff; color:#334155; cursor:pointer; }
.rc-confirm-footer button.rc-danger-btn { background:#dc2626; border-color:#dc2626; color:#fff; font-weight:600; }
