.ra-mpr-portal{display:flex;gap:16px;align-items:stretch}
.ra-mpr-sidebar{width:240px;min-width:240px;background:#F7F9FC;border:1px solid #E6EAF0;border-radius:12px;padding:14px}
.ra-mpr-brand{font-weight:700;margin-bottom:10px}
.ra-mpr-nav{display:flex;flex-direction:column;gap:6px}
.ra-mpr-nav-item{display:flex;justify-content:space-between;align-items:center;padding:10px 10px;border-radius:10px;text-decoration:none;border:1px solid transparent;color:#111827}
.ra-mpr-nav-item:hover{background:#fff;border-color:#E6EAF0}
.ra-mpr-nav-item.is-active{background:#fff;border-color:#E6EAF0}
.ra-mpr-content{flex:1}
.ra-mpr-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}
.ra-mpr-sub{color:#6B7280;margin:6px 0 0 0}
.ra-mpr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
@media (max-width: 900px){.ra-mpr-portal{flex-direction:column}.ra-mpr-sidebar{width:auto;min-width:0}.ra-mpr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ra-mpr-card{background:#fff;border:1px solid #E6EAF0;border-radius:12px;padding:16px;margin-bottom:12px}
.ra-mpr-stat-num{font-size:26px;font-weight:700}
.ra-mpr-stat-label{color:#6B7280;margin-top:4px}
.ra-mpr-badge{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid #E6EAF0;background:#F7F9FC;font-size:12px}
.ra-mpr-btn{border-radius:10px;border:1px solid #E6EAF0;background:#fff;padding:10px 12px;cursor:pointer}
.ra-mpr-btn-primary{background:#2563EB;border-color:#2563EB;color:#fff}
.ra-mpr-note{color:#6B7280;font-size:13px}
.ra-mpr-callout{border:1px solid #E6EAF0;background:#F7F9FC;border-radius:12px;padding:12px}
/* Accordion */
.ra-mpr-acc-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:10px;border:1px solid #E6EAF0;background:#fff;cursor:pointer;text-align:left}
.ra-mpr-acc-panel{padding:12px 0 0 0}
.ra-mpr-chevron{font-size:20px;font-weight:700;line-height:1}

.ra-mpr-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:10px}
.ra-mpr-table th,.ra-mpr-table td{border-top:1px solid #E6EAF0;padding:10px;text-align:left;font-size:13px}
.ra-mpr-table thead th{border-top:none;color:#6B7280;font-weight:600}
.ra-mpr-table tbody tr:hover{background:#F7F9FC}

.ra-mpr-count{display:inline-block;min-width:22px;padding:2px 8px;border-radius:999px;background:#EEF2FF;color:#1F2937;font-size:12px;text-align:center;border:1px solid #E6EAF0}

.ra-mpr-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
@media (max-width:900px){.ra-mpr-grid-2{grid-template-columns:1fr}}

.ra-mpr-checkcard{display:flex;gap:10px;align-items:flex-start;border:1px solid #E6EAF0;background:#fff;border-radius:12px;padding:10px;cursor:pointer}
.ra-mpr-checkcard input{margin-top:3px}
.ra-mpr-checkcard-title{font-weight:700}
.ra-mpr-checkcard-sub{color:#6B7280;font-size:12px;margin-top:2px}

.ra-mpr-auth{max-width:560px;margin:0 auto}
.ra-mpr-auth.ra-mpr-auth-wide{max-width:980px}
.ra-mpr-auth input[type=text],.ra-mpr-auth input[type=email],.ra-mpr-auth input[type=password],.ra-mpr-auth textarea{width:100%;max-width:100%;box-sizing:border-box;padding:10px;border:1px solid #E6EAF0;border-radius:10px}
.ra-mpr-auth label{font-size:13px;color:#374151}
.ra-mpr-auth form p{margin:12px 0}





/* Accordion header visibility (solid headers) */
.ra-mpr-accordion-solid .ra-mpr-acc-btn{
  background:#2563EB !important;
  color:#FFFFFF !important;
  border-color:#1D4ED8 !important;
}
.ra-mpr-accordion-solid .ra-mpr-acc-btn span,
.ra-mpr-accordion-solid .ra-mpr-acc-btn .ra-mpr-chevron{
  color:#FFFFFF !important;
}
.ra-mpr-accordion-solid .ra-mpr-acc-btn:hover{
  background:#1D4ED8 !important;
}


/* Ensure link-buttons and button elements look identical */
.ra-mpr-btn, a.ra-mpr-btn, button.ra-mpr-btn, input.ra-mpr-btn {
  display:inline-block;
  font-size:14px;
  line-height:1.2;
  font-weight:600;
  padding:10px 14px;
  border-radius:10px;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
}
.ra-mpr-btn-primary, a.ra-mpr-btn-primary, button.ra-mpr-btn-primary {
  color:#fff;
}


/* Compact buttons */
.ra-mpr-btn-sm{padding:6px 10px;font-size:13px;line-height:1.2;border-radius:10px;}


/* Action column layout */
.ra-mpr-action-col{display:block;}
.ra-mpr-action-row{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:6px 0;}
.ra-mpr-action-row input[type=text], .ra-mpr-action-row textarea{max-width:340px;}
.ra-mpr-action-gap{height:8px;}
.ra-mpr-quote-actions form{margin:0;}
.ra-mpr-quote-actions button{margin:0;}


/* Quote actions spacing */
.ra-mpr-quote-actions .ra-mpr-inlineform{margin:0}
.ra-mpr-quote-actions .ra-mpr-inlineform + .ra-mpr-inlineform{margin-top:14px}

/* File preview list (remove-before-submit) */
.ra-mpr-file-list{list-style:none;margin:6px 0 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.ra-mpr-file-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid #E6EAF0;border-radius:8px;background:#F7F9FC;font-size:13px}
.ra-mpr-file-item span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ra-mpr-file-remove{flex-shrink:0;background:none;border:none;color:#6B7280;cursor:pointer;font-size:16px;line-height:1;padding:0 2px;border-radius:4px}
.ra-mpr-file-remove:hover{color:#DC2626;background:#FEF2F2}

/* ── Item 1: Multiselect mobile fix ─────────────────────────────────────── */
.ra-mpr-multiselect-wrap { display:block; }
.ra-mpr-multiselect-wrap select[multiple] { width:100%; max-width:100%; box-sizing:border-box; }
/* select[multiple] mobile override removed — replaced by .ra-mpr-chklist-box */

/* ── Item 2: Mobile nav collapse ─────────────────────────────────────────── */
.ra-mpr-nav-toggle {
  display:none;
  width:100%;
  background:#2563EB;
  border:1px solid #1D4ED8;
  border-radius:10px;
  padding:10px 14px;
  font-size:14px;
  font-weight:600;
  color:#fff;
  cursor:pointer;
  text-align:left;
  margin-bottom:8px;
  justify-content:space-between;
  align-items:center;
}
.ra-mpr-nav-toggle:hover { background:#1D4ED8; }
.ra-mpr-nav-toggle-chevron { font-size:20px; font-weight:700; transition:transform .2s; }
.ra-mpr-nav-toggle[aria-expanded="true"] .ra-mpr-nav-toggle-chevron { transform:rotate(180deg); }
@media (max-width:900px) {
  .ra-mpr-nav-toggle { display:flex; }
  .ra-mpr-nav-collapse { overflow:hidden; transition:max-height .25s ease; }
  .ra-mpr-nav-collapse[data-collapsed="true"] { max-height:0 !important; }
}

/* ── Item 3: Table horizontal scroll wrapper ─────────────────────────────── */
.ra-mpr-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; width:100%; }

/* ── Item 4: Filter bar mobile — labels go full-width ──────────────────── */
@media (max-width:600px) {
  .ra-mpr-filter-bar { flex-direction:column !important; align-items:stretch !important; }
  .ra-mpr-filter-bar label { min-width:0 !important; width:100%; }
  .ra-mpr-filter-bar input[type=text],
  .ra-mpr-filter-bar select { width:100%; box-sizing:border-box; }
  .ra-mpr-filter-bar .ra-mpr-btn { width:100%; text-align:center; }
}

/* ── Item 5: Colour-coded notices ───────────────────────────────────────── */
.ra-mpr-notice { border-radius:10px; padding:12px 16px; margin-bottom:16px; font-size:14px; border-left:4px solid #E6EAF0; background:#F7F9FC; }
.ra-mpr-notice strong { display:block; margin-bottom:2px; }
.ra-mpr-notice-success { border-left-color:#16A34A; background:#F0FDF4; color:#14532D; }
.ra-mpr-notice-warning { border-left-color:#D97706; background:#FFFBEB; color:#78350F; }
.ra-mpr-notice-error   { border-left-color:#DC2626; background:#FEF2F2; color:#7F1D1D; }
.ra-mpr-notice-info    { border-left-color:#2563EB; background:#EFF6FF; color:#1E3A8A; }

/* ── Item 14: Submit button loading state ───────────────────────────────── */
.ra-mpr-btn[data-loading="true"] { opacity:.65; cursor:not-allowed; pointer-events:none; }

/* ── Item 6: Notice auto-dismiss ────────────────────────────────────────── */
.ra-mpr-notice { position:relative; }
.ra-mpr-notice-dismiss {
  position:absolute; top:10px; right:12px;
  background:none; border:none; cursor:pointer;
  font-size:16px; line-height:1; color:inherit; opacity:.6; padding:0;
}
.ra-mpr-notice-dismiss:hover { opacity:1; }
@keyframes ra-mpr-fade-out {
  0%   { opacity:1; max-height:200px; margin-bottom:16px; padding-top:12px; padding-bottom:12px; }
  70%  { opacity:0; }
  100% { opacity:0; max-height:0;     margin-bottom:0;    padding-top:0;    padding-bottom:0; }
}
.ra-mpr-notice.is-dismissing {
  overflow:hidden;
  animation: ra-mpr-fade-out .4s ease forwards;
}

/* ── Item 7: Quote action button variants ───────────────────────────────── */
.ra-mpr-btn-success {
  background:#16A34A; border-color:#16A34A; color:#fff;
}
.ra-mpr-btn-success:hover { background:#15803D; border-color:#15803D; color:#fff; }
.ra-mpr-btn-danger  {
  background:#2563EB; border-color:#2563EB; color:#fff;
}
.ra-mpr-btn-danger:hover  { background:#1D4ED8; border-color:#1D4ED8; color:#fff; }
.ra-mpr-btn-neutral {
  background:#2563EB; border-color:#2563EB; color:#fff;
}
.ra-mpr-btn-neutral:hover { background:#1D4ED8; border-color:#1D4ED8; color:#fff; }
@media (max-width:600px) {
  .ra-mpr-quote-actions { flex-direction:column !important; }
  .ra-mpr-quote-actions .ra-mpr-btn { width:100%; text-align:center; min-width:0 !important; }
}

/* ── Item 8: Multiselect selected-count badge ───────────────────────────── */
.ra-mpr-select-count {
  display:block; font-size:12px; color:#2563EB;
  background:#EFF6FF; border:1px solid #BFDBFE;
  border-radius:9999px; padding:2px 10px; margin-top:6px;
  font-weight:600; text-align:right;
}

/* ── Item 9: ABN field max-width ─────────────────────────────────────────── */
input[name="ra_mpr_abn"] { width:100%; max-width:220px; box-sizing:border-box; }

/* ── Item 11: Accordion panel smooth animation ──────────────────────────── */
.ra-mpr-acc-panel {
  overflow: hidden;
  transition: max-height .25s ease, opacity .2s ease;
  opacity: 1;
}
.ra-mpr-acc-panel[hidden] {
  display: block !important; /* override browser hidden so transition works */
  max-height: 0 !important;
  opacity: 0;
  pointer-events: none;
}
.ra-mpr-acc-panel:not([hidden]) {
  max-height: 2000px; /* large enough for any panel content */
}

/* ── Item 12: Styled file input ──────────────────────────────────────────── */
.ra-mpr-file-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.ra-mpr-file-label input[type="file"] {
  position: absolute;
  width: 1px; height: 1px;
  opacity: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}
.ra-mpr-file-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border: 1px dashed #6B7280;
  border-radius: 8px;
  background: #F9FAFB;
  color: #374151;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: border-color .15s, background .15s;
  white-space: nowrap;
}
.ra-mpr-file-label:hover .ra-mpr-file-btn,
.ra-mpr-file-label:focus-within .ra-mpr-file-btn {
  border-color: #2563EB;
  background: #EFF6FF;
  color: #1D4ED8;
}
.ra-mpr-file-name {
  font-size: 13px;
  color: #6B7280;
  font-style: italic;
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Item 13: Title cell truncation ─────────────────────────────────────── */
.ra-mpr-title-cell {
  display: block;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 600px) {
  .ra-mpr-title-cell { max-width: 140px; }
}

/* ── Dismissible ra-mpr-note (inline info messages) ─────────────────────── */
.ra-mpr-note { position:relative; padding-right:28px; }
.ra-mpr-note-dismiss {
  position:absolute; top:50%; right:6px; transform:translateY(-50%);
  background:none; border:none; cursor:pointer;
  font-size:14px; line-height:1; color:inherit; opacity:.5; padding:0;
}
.ra-mpr-note-dismiss:hover { opacity:1; }

/* ── Checkbox picker (replaces <select multiple> on all devices) ─────────── */
.ra-mpr-chklist-wrap {
  width: 100%;
  box-sizing: border-box;
}
.ra-mpr-chklist-search {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 7px 10px;
  border: 1px solid #E6EAF0;
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  font-size: 13px;
  outline: none;
}
.ra-mpr-chklist-search:focus { border-color: #2563EB; }
.ra-mpr-chklist-box {
  border: 1px solid #E6EAF0;
  border-radius: 0 0 8px 8px;
  overflow-y: auto;
  max-height: 280px;
  background: #fff;
}
@media (max-width: 900px) {
  .ra-mpr-chklist-box { max-height: 180px; }
}
.ra-mpr-chklist-group {
  padding: 6px 10px 2px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #6B7280;
  background: #F7F9FC;
  border-top: 1px solid #E6EAF0;
  user-select: none;
}
.ra-mpr-chklist-group:first-child { border-top: none; }
.ra-mpr-chklist-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  cursor: pointer;
  font-size: 13px;
  border-top: 1px solid #F0F2F5;
  transition: background .1s;
}
.ra-mpr-chklist-item:first-child { border-top: none; }
.ra-mpr-chklist-item:hover { background: #EFF6FF; }
.ra-mpr-chklist-item input[type="checkbox"] {
  flex-shrink: 0;
  width: 15px; height: 15px;
  accent-color: #2563EB;
  cursor: pointer;
}
.ra-mpr-chklist-item.is-hidden { display: none; }
.ra-mpr-chklist-empty {
  padding: 14px 12px;
  font-size: 13px;
  color: #9CA3AF;
  font-style: italic;
}
.ra-mpr-chklist-summary {
  font-size: 12px; color: #2563EB;
  background: #EFF6FF; border: 1px solid #BFDBFE;
  border-radius: 6px; padding: 4px 10px; margin-top: 6px;
  display: inline-block;
}
