/* statistics-dashboard-style.css */
/* GEA Renewal Reminders UI - Compact, Responsive, Modern */
/* Primary: #00cec0 */

.rr-dashboard{
  --rr-primary:#00cec0;
  --rr-primary-700:#00a79d;
  --rr-primary-900:#007c75;

  --rr-bg:#f6f8fb;
  --rr-card:#ffffff;
  --rr-text:#101828;
  --rr-muted:#667085;

  --rr-line:rgba(16,24,40,.10);
  --rr-line-strong:rgba(16,24,40,.16);

  --rr-danger:#f04438;
  --rr-warning:#f79009;
  --rr-success:#12b76a;
  --rr-info:#2e90fa;

  --rr-radius:14px;
  --rr-radius-sm:10px;

  --rr-shadow:0 14px 34px rgba(16,24,40,.08);
  --rr-shadow-sm:0 10px 22px rgba(16,24,40,.08);

  --rr-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --rr-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

  font-family: var(--rr-font);
  color: var(--rr-text);
  background: transparent;
}

.rr-dashboard *{ box-sizing:border-box; }

.rr-dashboard{
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 10px;
}

.rr-shell{
  background: radial-gradient(1200px 420px at 18% 0%, rgba(0,206,192,.10), transparent 65%),
              radial-gradient(900px 360px at 92% 10%, rgba(46,144,250,.10), transparent 60%),
              var(--rr-bg);
  border: 1px solid var(--rr-line);
  border-radius: var(--rr-radius);
  box-shadow: var(--rr-shadow);
  overflow: hidden;
}

.rr-topbar{
  padding: 16px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
  border-bottom: 1px solid var(--rr-line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.rr-title{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width: 220px;
}
.rr-mark{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--rr-primary), rgba(0,206,192,.55));
  box-shadow: 0 10px 18px rgba(0,206,192,.22);
  position: relative;
  flex: 0 0 auto;
}
.rr-mark:after{
  content:"";
  position:absolute;
  inset: 10px;
  border-radius: 9px;
  background: rgba(255,255,255,.45);
}

.rr-title h2{
  margin:0;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.rr-subtitle{
  margin-top: 3px;
  font-size: 12px;
  color: var(--rr-muted);
}

.rr-content{
  padding: 14px;
  display:flex;
  flex-direction:column;
  gap: 12px;
}

.rr-card{
  background: var(--rr-card);
  border: 1px solid var(--rr-line);
  border-radius: var(--rr-radius);
  box-shadow: var(--rr-shadow-sm);
  overflow: hidden;
}

.rr-card-body{
  padding: 14px;
}

.rr-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 920px){
  .rr-grid{
    grid-template-columns: 1.05fr .95fr;
    align-items:start;
  }
}

/* Settings row (admin) */
.rr-settings{
  display:flex;
  flex-wrap:wrap;
  gap: 10px 14px;
  align-items:center;
  padding: 12px 14px;
  background: rgba(0,206,192,.06);
  border: 1px solid rgba(0,206,192,.18);
  border-radius: var(--rr-radius);
}

.rr-settings label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size: 12px;
  color: var(--rr-text);
  user-select:none;
}
.rr-settings input[type="checkbox"]{
  width: 16px;
  height: 16px;
  accent-color: var(--rr-primary);
}

/* Filters */
.rr-filters{
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.rr-filters-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.rr-filters-head .rr-section-title{
  font-size: 12px;
  color: var(--rr-muted);
  margin:0;
}

.rr-form{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media (min-width: 620px){
  .rr-form{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 980px){
  .rr-form{
    grid-template-columns: repeat(4, 1fr);
  }
}

.rr-field label{
  display:block;
  font-size: 11px;
  color: var(--rr-muted);
  margin: 0 0 6px 2px;
}

.rr-input, .rr-select{
  width: 100%;
  height: 38px;
  border: 1px solid var(--rr-line-strong);
  border-radius: 12px;
  padding: 8px 10px;
  font-size: 12px;
  color: var(--rr-text);
  background: rgba(255,255,255,.95);
  outline: none;
  transition: box-shadow .15s ease, border-color .15s ease, transform .05s ease;
}

.rr-input:focus, .rr-select:focus{
  border-color: rgba(0,206,192,.55);
  box-shadow: 0 0 0 4px rgba(0,206,192,.15);
}

.rr-actions-row{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
}

/* Buttons */
.rr-btn{
  height: 38px;
  padding: 0 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .05s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  white-space:nowrap;
}

.rr-btn:active{ transform: translateY(1px); }

.rr-btn-primary{
  background: linear-gradient(135deg, var(--rr-primary), rgba(0,206,192,.72));
  color: #062b28;
  border-color: rgba(0,206,192,.35);
  box-shadow: 0 12px 22px rgba(0,206,192,.22);
}
.rr-btn-primary:hover{
  box-shadow: 0 16px 26px rgba(0,206,192,.26);
}

.rr-btn-secondary{
  background: #fff;
  color: var(--rr-text);
  border-color: var(--rr-line-strong);
}
.rr-btn-secondary:hover{
  border-color: rgba(0,206,192,.35);
  box-shadow: 0 10px 18px rgba(16,24,40,.06);
}

.rr-btn-ghost{
  background: transparent;
  color: var(--rr-muted);
  border-color: transparent;
}
.rr-btn-ghost:hover{
  color: var(--rr-text);
  background: rgba(16,24,40,.04);
  border-color: rgba(16,24,40,.06);
}

/* Message Composer */
.rr-compose{
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.rr-templates{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  align-items:center;
}

.rr-pill{
  border: 1px solid rgba(0,206,192,.22);
  background: rgba(0,206,192,.08);
  color: #064640;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 600;
  cursor:pointer;
  transition: background .15s ease, border-color .15s ease;
}
.rr-pill:hover{
  background: rgba(0,206,192,.12);
  border-color: rgba(0,206,192,.32);
}

.rr-textarea{
  width: 100%;
  min-height: 92px;
  border: 1px solid var(--rr-line-strong);
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.35;
  resize: vertical;
  outline:none;
}
.rr-textarea:focus{
  border-color: rgba(0,206,192,.55);
  box-shadow: 0 0 0 4px rgba(0,206,192,.15);
}

.rr-help{
  font-size: 11px;
  color: var(--rr-muted);
  display:flex;
  flex-wrap:wrap;
  gap: 6px 10px;
  align-items:center;
}
.rr-tag{
  font-family: var(--rr-mono);
  font-size: 11px;
  background: rgba(16,24,40,.04);
  border: 1px solid rgba(16,24,40,.08);
  border-radius: 10px;
  padding: 4px 8px;
  color: var(--rr-text);
}

/* Table wrapper for small screens */
.rr-table-wrap{
  width: 100%;
  overflow:auto;
  border-top: 1px solid var(--rr-line);
}

/* DataTables overrides */
.rr-dashboard .dataTables_wrapper{
  padding: 10px 12px 14px;
}

.rr-dashboard table.dataTable{
  border-collapse: separate !important;
  border-spacing: 0;
  width: 100% !important;
  font-size: 12px;
}

.rr-dashboard table.dataTable thead th{
  background: rgba(16,24,40,.03);
  color: var(--rr-muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: none;
  border-bottom: 1px solid var(--rr-line) !important;
  padding: 10px 10px !important;
}

.rr-dashboard table.dataTable tbody td{
  padding: 10px 10px !important;
  border-bottom: 1px solid rgba(16,24,40,.06) !important;
  vertical-align: middle;
}

.rr-dashboard table.dataTable tbody tr:hover{
  background: rgba(0,206,192,.05) !important;
}

.rr-dashboard .dataTables_length select,
.rr-dashboard .dataTables_filter input{
  height: 34px;
  border-radius: 12px;
  border: 1px solid var(--rr-line-strong);
  font-size: 12px;
  padding: 6px 10px;
  outline: none;
}

.rr-dashboard .dataTables_filter input:focus{
  border-color: rgba(0,206,192,.55);
  box-shadow: 0 0 0 4px rgba(0,206,192,.12);
}

.rr-dashboard .dataTables_info,
.rr-dashboard .dataTables_length,
.rr-dashboard .dataTables_filter{
  font-size: 12px;
  color: var(--rr-muted);
  margin: 6px 0;
}

.rr-dashboard .dataTables_paginate .paginate_button{
  border-radius: 10px !important;
  border: 1px solid rgba(16,24,40,.10) !important;
  background: #fff !important;
  color: var(--rr-text) !important;
  font-size: 12px !important;
  padding: 6px 10px !important;
  margin: 0 2px !important;
}
.rr-dashboard .dataTables_paginate .paginate_button.current{
  background: rgba(0,206,192,.12) !important;
  border-color: rgba(0,206,192,.35) !important;
  color: #064640 !important;
}

.rr-dashboard .dt-buttons .dt-button{
  border-radius: 12px !important;
  border: 1px solid rgba(16,24,40,.12) !important;
  background: #fff !important;
  font-size: 12px !important;
  padding: 7px 10px !important;
  margin-right: 6px !important;
}
.rr-dashboard .dt-buttons .dt-button:hover{
  border-color: rgba(0,206,192,.35) !important;
  background: rgba(0,206,192,.06) !important;
}

/* Business link styling */
.rr-link{
  color: var(--rr-primary-900);
  font-weight: 700;
  text-decoration: none;
}
.rr-link:hover{
  text-decoration: underline;
}

.rr-badge{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 700;
  border: 1px solid rgba(0,206,192,.25);
  background: rgba(0,206,192,.08);
  color: #064640;
}
.rr-badge.msme{ border-color: rgba(46,144,250,.22); background: rgba(46,144,250,.08); color:#003b87; }
.rr-badge.asso{ border-color: rgba(247,144,9,.22); background: rgba(247,144,9,.10); color:#7a3f00; }
.rr-badge.bds { border-color: rgba(18,183,106,.22); background: rgba(18,183,106,.10); color:#055d2b; }

/* Modal */
.rr-modal{
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display:none;
  align-items:center;
  justify-content:center;
  padding: 18px;
  background: rgba(16,24,40,.55);
  backdrop-filter: blur(6px);
}

.rr-modal-content{
  width: min(460px, 96vw);
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 18px;
  box-shadow: 0 30px 60px rgba(0,0,0,.25);
  padding: 18px;
  text-align:center;
}

.rr-spinner{
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 4px solid rgba(16,24,40,.08);
  border-top-color: var(--rr-primary);
  animation: rr-spin 1s linear infinite;
  margin: 0 auto 12px;
}
@keyframes rr-spin{ to{ transform: rotate(360deg); } }

.rr-modal-text{
  font-size: 13px;
  font-weight: 700;
  color: var(--rr-text);
  margin-bottom: 10px;
}
.rr-progress-pill{
  width: 100%;
  height: 22px;
  background: rgba(16,24,40,.08);
  border-radius: 999px;
  position:relative;
  overflow:hidden;
}
.rr-progress-fill{
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--rr-primary), rgba(0,206,192,.62));
  transition: width .25s ease;
}
.rr-progress-label{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 11px;
  font-weight: 800;
  color: rgba(16,24,40,.75);
}

/* Toast */
.rr-toast-container{
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 9999;
  display:flex;
  flex-direction:column;
  gap: 10px;
  pointer-events:none;
}
.rr-toast{
  min-width: 240px;
  max-width: 360px;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 18px 34px rgba(16,24,40,.18);
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events:auto;
  color: #fff;
  background: rgba(16,24,40,.92);
}
.rr-toast.show{ opacity:1; transform: translateY(0); }
.rr-toast.success{ background: rgba(18,183,106,.96); }
.rr-toast.error{ background: rgba(240,68,56,.96); }
