
.rrd-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.rrd-card{background:#fff;border:1px solid #dcdcde;border-radius:14px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04);margin:16px 0}
.rrd-shortcode-wrap{max-width:1320px;margin:0 auto}
.rrd-toolbar-card{position:sticky;top:16px;z-index:5}
.rrd-controls{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;align-items:end}
.rrd-controls label,.rrd-template-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#111}
.rrd-controls input,.rrd-controls select,.rrd-template-grid textarea,.rrd-settings-grid input,.rrd-settings-grid textarea{width:100%;min-height:42px;border:1px solid #c9ccd0;border-radius:10px;padding:10px 12px;background:#fff;color:#111}
.rrd-template-grid textarea,.rrd-settings-grid textarea{min-height:96px;resize:vertical}
.rrd-template-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px;margin-top:12px}
.rrd-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin-top:12px}
.rrd-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin:16px 0}
.rrd-kpi{background:#fff;border:1px solid #dcdcde;border-radius:14px;padding:16px}
.rrd-kpi-label{font-size:12px;color:#50575e;text-transform:uppercase;letter-spacing:.04em}
.rrd-kpi-value{font-size:34px;font-weight:700;color:#111}
.rrd-bulkbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.rrd-status-text{margin-bottom:10px;font-weight:600}
.rrd-queue-list{display:flex;flex-direction:column;gap:12px}
.rrd-empty{padding:12px;color:#555}
.rrd-row{border:1px solid #e5e7eb;border-radius:14px;overflow:visible;background:#fff}
.rrd-row-summary{display:grid;grid-template-columns:30px minmax(180px,1.6fr) minmax(0,1fr) minmax(90px,.8fr) minmax(110px,.9fr) minmax(110px,.9fr) minmax(80px,.7fr) auto;gap:12px;align-items:center;padding:14px 16px}
.rrd-namewrap{display:flex;align-items:center;gap:10px}
.rrd-name{font-weight:800}
.rrd-sub{font-size:12px;color:#666;margin-top:2px}
.rrd-mini{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.04em}
.rrd-chip{display:inline-block;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.rrd-due{background:#fde2e1;color:#8a1c18}.rrd-soon{background:#fff3cd;color:#7a5d00}.rrd-ok{background:#e7f6e7;color:#176a2c}.rrd-none{background:#eef2f7;color:#44556a}.rrd-bday{background:#f3e8ff;color:#6b21a8}.rrd-flag{background:#e5e7eb;color:#374151}
.rrd-strength{display:inline-flex;gap:3px;align-items:flex-end}
.rrd-strength i{display:block;width:5px;border-radius:3px;background:#e5e7eb}
.rrd-strength i:nth-child(1){height:8px}.rrd-strength i:nth-child(2){height:12px}.rrd-strength i:nth-child(3){height:16px}
.rrd-strength.cool i:nth-child(1){background:#ef4444}
.rrd-strength.warm i:nth-child(1),.rrd-strength.warm i:nth-child(2){background:#f59e0b}
.rrd-strength.strong i{background:#10b981}
.rrd-row-detail{display:none;border-top:1px solid #eef0f3;padding:16px;background:#fafbfc}
.rrd-row.open .rrd-row-detail{display:block}
.rrd-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.rrd-detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px}
.rrd-detail-card h4{margin:0 0 10px;font-size:14px}
.rrd-message-box{white-space:pre-wrap;line-height:1.6;color:#111}
.rrd-field{margin-bottom:12px}
.rrd-field label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:#555}
.rrd-field input,.rrd-field textarea{width:100%;border:1px solid #c9ccd0;border-radius:10px;padding:10px 12px;background:#fff;color:#111}
.rrd-field textarea{min-height:92px;resize:vertical}
.rrd-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rrd-save-msg,.rrd-send-msg{font-size:12px;color:#555}
.rrd-history-tip{border-bottom:1px dashed #aaa;cursor:help}
.rrd-shortcode-wrap *, .rrd-shortcode-wrap input, .rrd-shortcode-wrap select, .rrd-shortcode-wrap textarea{color:#111 !important}
@media (max-width:1280px){.rrd-controls,.rrd-kpis,.rrd-grid,.rrd-template-grid,.rrd-detail-grid,.rrd-settings-grid{grid-template-columns:1fr 1fr}.rrd-row-summary{grid-template-columns:30px 1.6fr 1fr .8fr .9fr .9fr .7fr auto}}
@media (max-width:782px){.rrd-controls,.rrd-kpis,.rrd-grid,.rrd-template-grid,.rrd-detail-grid,.rrd-settings-grid,.rrd-row-summary{grid-template-columns:1fr}.rrd-toolbar-card{position:static}}

.rrd-date-fresh{color:#15803d;font-weight:700}
.rrd-date-stale{color:#b91c1c;font-weight:700}

.rrd-log-item{display:flex;gap:8px;align-items:center;margin:0 0 8px}
.rrd-small-muted{font-size:12px;color:#666}
.rrd-comm-log-card{min-height:140px}

.login-submit{margin-top:10px}

.rrd-contacted-recently{opacity:.58}
.rrd-contacted-recently .rrd-row-summary{background:#f5f5f5}
.rrd-disabled-field{background:#f3f4f6 !important;color:#888 !important}

.rrd-auto-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;align-items:end}
.rrd-auto-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#111}
.rrd-auto-grid input,.rrd-auto-grid select{width:100%;min-height:42px;border:1px solid #c9ccd0;border-radius:10px;padding:10px 12px;background:#fff;color:#111}
.rrd-auto-grid select[multiple]{min-height:120px}
.rrd-auto-active{display:flex;flex-direction:row !important;align-items:center;gap:8px}
.rrd-auto-rules-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.rrd-auto-rule{display:flex;justify-content:space-between;gap:12px;border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff}
@media (max-width:1280px){.rrd-auto-grid{grid-template-columns:1fr 1fr}}
@media (max-width:782px){.rrd-auto-grid{grid-template-columns:1fr}}

.rrd-login-wrap{max-width:520px;margin:40px auto;padding:16px}
.rrd-login-card{background:#fff;border:1px solid #dcdcde;border-radius:18px;padding:28px;box-shadow:0 8px 30px rgba(0,0,0,.06)}
.rrd-login-card h2{margin:0 0 8px;color:#111}
.rrd-login-card p{margin:0 0 16px;color:#555}
.rrd-login-card label{display:block;font-weight:700;color:#111;margin-bottom:6px}
.rrd-login-card input[type=text],.rrd-login-card input[type=password],.rrd-login-card input[type=email]{width:100%;min-height:46px;border:1px solid #c9ccd0;border-radius:10px;padding:10px 12px;color:#111 !important;background:#fff}
.rrd-login-card .login-submit input[type=submit]{background:#111;color:#fff;border:none;border-radius:10px;padding:12px 18px;cursor:pointer}
.rrd-login-card #rememberme{width:auto;min-height:auto}
.rrd-login-card p{color:#111}
.rrd-flow-tabs{display:flex;gap:10px;max-width:1320px;margin:0 auto 12px}
.rrd-flow-tab{background:#fff;border:1px solid #dcdcde;border-radius:999px;padding:10px 16px;cursor:pointer;font-weight:700}
.rrd-flow-tab.is-active{background:#111;color:#fff;border-color:#111}
.rrd-flow-panel{display:none}
.rrd-flow-panel.is-active{display:block}

.rrd-auto-preview-card{margin:12px 0}
.rrd-auto-preview-list{display:flex;flex-direction:column;gap:8px}
.rrd-auto-preview-row{display:grid;grid-template-columns:2fr .9fr .9fr .9fr .9fr;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fff}
@media (max-width:782px){.rrd-auto-preview-row{grid-template-columns:1fr}}

.rrd-auto-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}
.rrd-auto-actions #rrd-auto-rule-status{min-width:140px}
.rrd-auto-preview-header{background:#f6f6f6;font-weight:700}
.rrd-auto-preview-row{display:grid;grid-template-columns:2fr .8fr .8fr .9fr .9fr 1fr;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fff}
@media (max-width:900px){.rrd-auto-preview-row{grid-template-columns:1fr}}

.rrd-settings-grid label div{padding-top:10px}

.rrd-staff-login-form p{margin:14px 0}
.rrd-staff-login-form label{display:block;font-weight:700;color:#111}
.rrd-staff-login-form input[type=text],.rrd-staff-login-form input[type=password]{width:100%;min-height:46px;border:1px solid #c9ccd0;border-radius:10px;padding:10px 12px;color:#111 !important;background:#fff !important;box-sizing:border-box}
.rrd-staff-login-form .rrd-remember{display:flex;align-items:center;gap:8px;font-weight:500}
.rrd-login-button{background:#e8d6d6 !important;color:#111 !important;border:1px solid #d8bfc1 !important;border-radius:999px;padding:12px 22px;font-weight:700;cursor:pointer;box-shadow:none !important}
.rrd-login-button:hover{background:#dcc5c5 !important;color:#111 !important}
.rrd-login-error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;border-radius:10px;padding:10px 12px;margin:12px 0}

.rrd-match-hint {
    font-size: 11px;
    color: #b06090;
    font-style: italic;
    margin-top: 2px;
}

.rrd-service-col { position: relative; min-width: 0; overflow: hidden; width: 100%; }
.rrd-service-summary { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; min-width: 0; width: 100%; }
.rrd-svc-name { font-size: 13px; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; }
.rrd-svc-date { font-size: 11px; color: #999; white-space: nowrap; display: inline; }
.rrd-hist-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 13px;
    color: #b06090;
    padding: 0 2px;
    line-height: 1;
    flex-shrink: 0;
}
.rrd-hist-toggle:hover { color: #7a3060; }
.rrd-hist-list {
    /* JS sets position:fixed and top/left dynamically */
    position: fixed;
    z-index: 9999;
    background: #fff;
    border: 1px solid #e0c8d8;
    border-radius: 8px;
    padding: 4px 0;
    min-width: 340px;
    max-width: 480px;
    max-height: 300px;
    overflow-y: auto;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    display: none;
}
.rrd-hist-row {
    display: grid;
    grid-template-columns: 82px 70px 1fr;
    gap: 6px;
    padding: 6px 12px;
    font-size: 12px;
    border-bottom: 1px solid #f5eef5;
    align-items: baseline;
}
.rrd-hist-row:last-child { border-bottom: none; }
.rrd-hist-row.rrd-hist-match { background: #fdf0f7; }
.rrd-hist-date { color: #999; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rrd-hist-cat { font-size: 10px; font-weight: 600; color: #b06090; text-transform: uppercase; letter-spacing: .03em; white-space: nowrap; }
.rrd-hist-svc { color: #555; line-height: 1.3; }

.rrd-kpi-btn {
    cursor: pointer;
    transition: box-shadow .15s, border-color .15s, transform .1s;
    border: 2px solid transparent;
    user-select: none;
}
.rrd-kpi-btn:hover {
    box-shadow: 0 2px 10px rgba(180,100,130,0.18);
    border-color: #d4a0b8;
    transform: translateY(-1px);
}
.rrd-kpi-btn.rrd-kpi-active {
    border-color: #b06090;
    background: #fdf0f7;
    box-shadow: 0 2px 10px rgba(180,100,130,0.22);
}
.rrd-kpi-btn.rrd-kpi-active .rrd-kpi-value {
    color: #8c3068;
}
.rrd-queue-desc {
    font-size: 13px;
    color: #666;
    padding: 8px 4px 4px;
    min-height: 24px;
    line-height: 1.5;
}
.rrd-queue-desc strong { color: #333; }
.rrd-result-count { color: #999; font-size: 12px; }

.rrd-svc-subrow { display: flex; align-items: center; gap: 3px; }

/* Config sub-tabs */
.rrd-cfg-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }
.rrd-cfg-tab { background: #fff; border: 1px solid #dcdcde; border-radius: 999px; padding: 7px 16px; cursor: pointer; font-size: 13px; font-weight: 600; color: #555; }
.rrd-cfg-tab.is-active { background: #3c1f3a; color: #fff !important; border-color: #3c1f3a; }
.rrd-cfg-panel { display: none; }
.rrd-cfg-panel.is-active { display: block; }
.rrd-tpl-vars { font-size: 12px; color: #888; margin-bottom: 4px; }
.rrd-tpl-vars code { background: #f5f0f5; padding: 1px 5px; border-radius: 3px; font-size: 11px; margin-right: 4px; }
/* MMS block */
.rrd-mms-block { margin-top: 14px; padding-top: 14px; border-top: 1px solid #eee; }
.rrd-mms-optional { font-size: 11px; font-weight: 400; color: #aaa; }
.rrd-upload-btn { display: inline-block; padding: 5px 12px; background: #f5f0f5; border: 1px solid #ddd; border-radius: 6px; cursor: pointer; font-size: 12px; font-weight: 600; color: #555; white-space: nowrap; }
.rrd-upload-btn:hover { background: #ede5ed; }
/* Reminder grid */
.rrd-reminder-block { border: 1px solid #eee; border-radius: 10px; padding: 14px 16px; margin-bottom: 14px; background: #fafafa; }

/* Meta bar — above KPIs */
.rrd-meta-bar { margin-bottom: 10px; min-height: 28px; }
.rrd-meta-inner { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; font-size: 12px; color: var(--color, #555); padding: 8px 4px; }
.rrd-meta-item { display: inline-flex; align-items: center; gap: 4px; }
.rrd-meta-item strong { color: #222; }
.rrd-meta-sub { color: #aaa; font-size: 11px; }
.rrd-meta-sep { color: #ccc; }
.rrd-meta-tag { font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 99px; letter-spacing: .04em; }
.rrd-meta-dry  { background: #fff3cd; color: #856404; border: 1px solid #ffc107; }
.rrd-meta-live { background: #d1f0d1; color: #1a6e1a; border: 1px solid #5cb85c; }

.rrd-chip.rrd-pastdue{background:#7f1d1d;color:#fff;font-weight:700;letter-spacing:.02em}

/* Config panel — ensure legible text in all WP contexts */
.rrd-cfg-panel input,
.rrd-cfg-panel textarea,
.rrd-cfg-panel select,
.rrd-cfg-panel label { color: #1a1a1a !important; background-color: #fff !important; }
.rrd-cfg-panel h3 { color: #1a1a1a; }
.rrd-cfg-panel { color: #1a1a1a; }

/* Reset button */
#rrd-reset-filters { margin-left: 6px; color: #555; }
#rrd-reset-filters:hover { color: #b06090; border-color: #b06090; }

/* Message type bar */
.rrd-msg-type-bar { padding: 10px 4px 4px; border-top: 1px solid #eee; margin-bottom: 6px; }
.rrd-msg-type-label { font-size: 12px; font-weight: 600; color: #555; display: block; margin-bottom: 6px; }
.rrd-msg-type-btns { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.rrd-msg-type-btn { padding: 5px 14px; border-radius: 999px; border: 1.5px solid #ddd; background: #fff; font-size: 12px; font-weight: 600; cursor: pointer; color: #555; transition: all .15s; }
.rrd-msg-type-btn:hover { border-color: #b06090; color: #b06090; }
.rrd-msg-type-btn.is-active { background: #b06090; color: #fff; border-color: #b06090; }

/* Message preview */
.rrd-msg-preview { margin-top: 4px; }
.rrd-preview-label { font-size: 11px; font-weight: 700; color: #888; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 6px; }
.rrd-preview-error { background: #fff3cd; border: 1px solid #ffc107; border-radius: 6px; padding: 8px 12px; font-size: 12px; color: #856404; }
.rrd-preview-bubble { background: #e8f0fe; border-radius: 12px 12px 12px 2px; padding: 10px 14px; font-size: 12px; color: #1a1a1a; line-height: 1.5; max-width: 480px; white-space: pre-wrap; word-break: break-word; }
.rrd-preview-img-wrap { margin-top: 6px; }
.rrd-preview-img { max-height: 120px; border-radius: 8px; border: 1px solid #ddd; }

/* Service history toggle - cleaner */
.rrd-hist-toggle {
  background: none;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 11px;
  color: #888;
  cursor: pointer;
  margin-left: 4px;
  white-space: nowrap;
}
.rrd-hist-toggle:hover { border-color: #b06090; color: #b06090; }
.rrd-svc-subrow { display: flex; align-items: center; gap: 4px; margin-top: 2px; }
.rrd-svc-date { font-size: 11px; color: #888; }

/* Meta bar */
.rrd-meta-bar { background: #f8f5f5; border-radius: 6px; padding: 6px 12px; margin-bottom: 10px; font-size: 12px; color: #666; }
.rrd-meta-inner { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; }
.rrd-meta-item { color: #555; }
.rrd-meta-sep { color: #ccc; }
.rrd-meta-sub { color: #999; }
.rrd-meta-tag { padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.rrd-meta-dry { background: #fef3c7; color: #92400e; }
.rrd-meta-live { background: #d1fae5; color: #065f46; }
