/* Premium member invoice reconciliation console */
.reconciliation-console { display:grid; gap:14px; padding:25px 28px 34px; }
.reconciliation-header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.reconciliation-header h1 { margin:4px 0 3px; color:#11263f; font-size:1.53rem; font-weight:840; letter-spacing:-.045em; }
.reconciliation-header p { max-width:760px; margin:0; color:#71829a; font-size:.65rem; }
.reconciliation-header form { margin:0; }
.reconciliation-header .btn { min-height:38px; display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border-radius:10px; font-size:.55rem; font-weight:750; background:#fff; }
.reconciliation-console .member-eyebrow { color:#2e64df; font-size:.48rem; font-weight:820; letter-spacing:.105em; }
.reconciliation-validation:empty { display:none; }
.reconciliation-validation { padding:10px 12px; border:1px solid #f1c9cd; border-radius:9px; color:#bd4149; background:#fff4f5; font-size:.54rem; }

.reconciliation-pulse { position:relative; display:grid; grid-template-columns:minmax(350px,.94fr) minmax(445px,1.1fr) minmax(255px,.64fr); overflow:hidden; border:1px solid rgba(255,255,255,.07); border-radius:18px; color:#fff; background:radial-gradient(circle at 5% 0%,rgba(38,207,188,.18),transparent 33%),radial-gradient(circle at 100% 100%,rgba(109,77,232,.23),transparent 38%),linear-gradient(125deg,#081d38,#102d57 57%,#183f76); box-shadow:0 18px 38px rgba(23,48,88,.14); }
.reconciliation-pulse::before { content:""; position:absolute; inset:0; opacity:.1; background-image:linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px); background-size:41px 41px; mask-image:linear-gradient(90deg,#000,transparent 76%); }
.reconciliation-pulse-primary { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; padding:23px 25px; border-right:1px solid rgba(255,255,255,.1); }
.reconciliation-pulse-primary .member-live-label { align-self:flex-start; margin-bottom:18px; color:#d9fdf8; border-color:rgba(65,222,191,.2); background:rgba(27,190,154,.13); }
.reconciliation-pulse-primary > .member-eyebrow,.reconciliation-pulse-note .member-eyebrow { color:#50d9d2; }
.reconciliation-pulse-primary > strong { display:flex; align-items:baseline; gap:8px; margin:5px 0 2px; color:#fff; font-size:1.46rem; font-weight:840; letter-spacing:-.045em; }
.reconciliation-pulse-primary > strong small { color:#6ce4d7; font-size:.52rem; font-weight:720; letter-spacing:0; }
.reconciliation-pulse-primary h2 { margin:2px 0 5px; color:#eaf2ff; font-size:.68rem; font-weight:730; }
.reconciliation-pulse-primary p { max-width:430px; margin:0; color:#95adcc; font-size:.54rem; line-height:1.52; }
.reconciliation-pulse-signals { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:13px; }
.reconciliation-pulse-signals article { display:grid; grid-template-columns:35px 1fr; align-items:center; gap:9px; min-width:0; padding:13px; border-right:1px solid rgba(255,255,255,.09); border-bottom:1px solid rgba(255,255,255,.09); }
.reconciliation-pulse-signals article:nth-child(2n) { border-right:0; }
.reconciliation-pulse-signals article:nth-child(n+3) { border-bottom:0; }
.reconciliation-pulse-signals article > span { width:35px; height:35px; display:grid; place-items:center; border-radius:10px; color:#82abff; background:rgba(80,133,240,.14); font-size:.7rem; }
.reconciliation-pulse-signals article > span.is-green { color:#4cdda8; background:rgba(48,196,143,.13); }
.reconciliation-pulse-signals article > span.is-violet { color:#b5a1ff; background:rgba(130,101,233,.14); }
.reconciliation-pulse-signals article > span.is-amber { color:#ffd177; background:rgba(239,174,57,.13); }
.reconciliation-pulse-signals article > div { min-width:0; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; align-items:center; }
.reconciliation-pulse-signals small { color:#8fa8c9; font-size:.49rem; }
.reconciliation-pulse-signals strong { grid-row:1/3; grid-column:2; color:#fff; font-size:.88rem; letter-spacing:-.03em; }
.reconciliation-pulse-signals em { overflow:hidden; color:#b0c2da; font-size:.47rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.reconciliation-pulse-note { position:relative; z-index:1; display:flex; align-items:center; gap:12px; padding:20px; border-left:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.035); }
.reconciliation-pulse-note > span { width:42px; height:42px; display:grid; flex:0 0 42px; place-items:center; border:1px solid rgba(255,255,255,.1); border-radius:12px; color:#52d9d2; background:rgba(255,255,255,.055); }
.reconciliation-pulse-note > span.has-attention { color:#ffd178; background:rgba(239,174,57,.1); }
.reconciliation-pulse-note h2 { margin:6px 0 4px; color:#fff; font-size:.79rem; font-weight:770; }
.reconciliation-pulse-note p { margin:0; color:#93aac9; font-size:.51rem; line-height:1.5; }

.reconciliation-nav { position:sticky; z-index:20; top:66px; display:flex; align-items:center; gap:5px; overflow-x:auto; padding:7px; border:1px solid #dde6f0; border-radius:11px; background:rgba(255,255,255,.96); box-shadow:0 8px 22px rgba(28,48,74,.07); backdrop-filter:blur(12px); scrollbar-width:none; }
.reconciliation-nav::-webkit-scrollbar { display:none; }
.reconciliation-nav a { min-height:31px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:6px 9px; border-radius:7px; color:#667991; font-size:.47rem; font-weight:710; text-decoration:none; white-space:nowrap; }
.reconciliation-nav a:hover,.reconciliation-nav a.is-active { color:#2e63dc; background:#edf3ff; }
.reconciliation-nav a.is-danger { margin-left:auto; color:#bd434b; background:#fff2f3; }
.reconciliation-nav a.is-danger.is-active,.reconciliation-nav a.is-danger:hover { color:#fff; background:#d94c55; }

.reconciliation-console > .alert { margin:0; padding:13px 16px; border-width:1px; border-radius:11px; font-size:.53rem; box-shadow:0 5px 14px rgba(28,48,74,.035); }
.reconciliation-console > .alert h2 { margin:0 0 7px; font-size:.71rem; font-weight:780; }
.reconciliation-panel { scroll-margin-top:115px; overflow:hidden; margin:0!important; padding:18px!important; border:1px solid #dfe7f1!important; border-radius:15px!important; background:#fff!important; box-shadow:0 8px 25px rgba(28,48,74,.055)!important; }
.reconciliation-panel > h2,.reconciliation-panel > div:first-child h2 { margin:0 0 3px; color:#1d334e; font-size:.86rem!important; font-weight:790; letter-spacing:-.02em; }
.reconciliation-panel > div:first-child p { color:#7c8b9f!important; font-size:.53rem!important; }
.reconciliation-panel h3 { color:#304761; font-weight:760; }
.reconciliation-panel .small { font-size:.49rem!important; line-height:1.48; }
.reconciliation-panel code { padding:2px 4px; border-radius:4px; color:#7656c5; background:#f4f1ff; font-size:.44rem; }
.reconciliation-panel .badge { padding:4px 7px; border-radius:99px; font-size:.42rem; font-weight:750; }

/* Summary blocks */
.reconciliation-panel > .row { margin-top:10px!important; }
.reconciliation-panel > .row > div > .border,.reconciliation-panel > .row > div:not(:has(.border)) { height:100%; padding:9px 10px!important; border:1px solid #e0e7ef!important; border-radius:9px!important; color:#65768b; background:#f9fbfd; font-size:.49rem; }
.reconciliation-panel > .row > div > .border strong,.reconciliation-panel > .row > div:not(:has(.border)) > strong { color:#25405e; font-size:.7rem; font-weight:820; }
.reconciliation-panel > .row.row-cols-xl-8 > div:nth-last-child(-n+2) > div,.reconciliation-panel > .row.row-cols-xl-8 > div:nth-last-child(-n+2) { background:#fff8ee; }

/* Stabilization status and evidence */
#recon-stabilization > .small.mt-2 { margin-top:12px!important; padding:10px 12px; border:1px solid #dee7f1; border-radius:9px; color:#61758e; background:#f8fafd; }
#recon-stabilization > .border.rounded { border-color:#e1e8f0!important; border-radius:11px!important; background:linear-gradient(120deg,#fbfdff,#f7f9fd); }
#recon-stabilization > .border.rounded.border-warning { border-color:#edd49f!important; background:#fffbf2; }
#recon-stabilization > .border.rounded.border-success { border-color:#bde4d3!important; background:#f3fbf7; }
.reconciliation-panel details { margin-top:4px; padding:5px 7px; border:1px solid #e2e8ef; border-radius:7px; color:#6d7f94; background:#fafbfd; }
.reconciliation-panel summary { color:#4e6681; font-weight:700; cursor:pointer; }

/* Dense financial tables */
.reconciliation-panel .table-responsive { margin-right:-18px; margin-left:-18px; border-top:1px solid #e8edf3; border-bottom:1px solid #edf1f5; }
.reconciliation-panel .table { min-width:980px; }
#recon-stabilization .table,#recon-integrity .table,#recon-anchors .table { min-width:1350px; }
.reconciliation-panel .table thead th { padding:9px 11px; border-color:#e4eaf1; color:#748499; background:#f5f7fa; font-size:.45rem; font-weight:800; letter-spacing:.035em; text-transform:uppercase; vertical-align:middle; }
.reconciliation-panel .table thead th:first-child,.reconciliation-panel .table tbody td:first-child { padding-left:18px; }
.reconciliation-panel .table thead th:last-child,.reconciliation-panel .table tbody td:last-child { padding-right:18px; }
.reconciliation-panel .table tbody td { padding:10px 11px; border-color:#edf1f5; color:#53667d; font-size:.49rem; line-height:1.45; vertical-align:top; }
.reconciliation-panel .table tbody tr { box-shadow:inset 3px 0 0 transparent; }
.reconciliation-panel .table tbody tr.table-success { --bs-table-bg:#f5fcf8; box-shadow:inset 3px 0 0 #2dae7c; }
.reconciliation-panel .table tbody tr.table-warning { --bs-table-bg:#fffaf0; box-shadow:inset 3px 0 0 #e8a32c; }
.reconciliation-panel .table tbody tr.table-danger { --bs-table-bg:#fff5f5; box-shadow:inset 3px 0 0 #de555d; }
.reconciliation-panel .table tbody strong { color:#344d68; }
.reconciliation-panel .table ul { margin-top:4px; }

/* Forms and guarded operations */
.reconciliation-panel form.border-top,.reconciliation-panel form.border.rounded,.reconciliation-panel .border-top.pt-3 { padding:13px!important; border:1px solid #e0e7ef!important; border-radius:10px; background:#f9fbfd; }
.reconciliation-panel .form-label { margin-bottom:5px; color:#526980; font-size:.49rem; font-weight:710; }
.reconciliation-panel .form-control,.reconciliation-panel .form-select { min-height:35px; padding:7px 9px; border-color:#d9e3ed; border-radius:8px; color:#445b74; background-color:#fff; font-size:.51rem; box-shadow:none; }
.reconciliation-panel .form-control:focus,.reconciliation-panel .form-select:focus { border-color:#91aff5; box-shadow:0 0 0 3px rgba(49,105,245,.08); }
.reconciliation-panel input[name="ConfirmationText"] { border-color:#e6cfd2; background:#fffafb; }
.reconciliation-panel input[name="ConfirmationText"].is-confirmed { border-color:#79c6a5; background:#f3fbf7; box-shadow:0 0 0 3px rgba(41,171,119,.08); }
.reconciliation-panel .btn { min-height:32px; border-radius:8px; font-size:.48rem; font-weight:720; }
.reconciliation-panel button[type="submit"]:disabled { cursor:not-allowed; filter:grayscale(.15); opacity:.48; }
.reconciliation-panel button[type="submit"].is-confirmed { box-shadow:0 6px 14px rgba(31,151,104,.16); }

/* Key sections */
#recon-preview { background:linear-gradient(125deg,#fff,#f8fbff)!important; }
#recon-tenants > h2,#recon-review > div:first-child,#recon-anchors > div:first-child,#recon-integrity > div:first-child { padding-bottom:12px; }
#recon-review > div:first-child,#recon-anchors > div:first-child,#recon-integrity > div:first-child { margin:-18px -18px 0; padding:17px 18px 13px; border-bottom:1px solid #e8edf3; background:#fbfcfe; }
#recon-run { position:relative; color:#d8e3f0; border-color:#293d5a!important; background:radial-gradient(circle at 100% 0%,rgba(220,78,88,.18),transparent 33%),linear-gradient(125deg,#0d213b,#182f4e)!important; }
#recon-run::before { content:""; position:absolute; inset:0; opacity:.08; background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px); background-size:36px 36px; pointer-events:none; }
#recon-run > * { position:relative; z-index:1; }
#recon-run h2 { color:#fff; }
#recon-run p { color:#9fb1c9!important; }
#recon-run .form-label { color:#c8d5e4; }
#recon-run code { color:#ffbec3; background:rgba(217,76,85,.15); }
#recon-run .form-control { color:#fff; border-color:rgba(255,255,255,.17); background:rgba(255,255,255,.07); }
#recon-run .form-control:focus { border-color:#e3777e; box-shadow:0 0 0 3px rgba(218,78,87,.15); }
#recon-run .form-control.is-confirmed { border-color:#58c99a; background:rgba(42,177,125,.12); }
#recon-run .btn-danger { min-height:38px; width:100%; display:inline-flex; align-items:center; justify-content:center; gap:7px; border-color:#e1535c; background:#d84952; }
.reconciliation-panel .alert-info { color:#42617c; border-color:#d5e4f1; border-radius:9px; background:#f2f8fd; }
.reconciliation-panel [class*="text-danger"] { color:#c6474f!important; }
.reconciliation-panel [class*="text-success"] { color:#18815d!important; }

@media (max-width:1399.98px) {
  .reconciliation-pulse { grid-template-columns:minmax(330px,.9fr) minmax(410px,1.08fr) 235px; }
}
@media (max-width:1099.98px) {
  .reconciliation-pulse { grid-template-columns:minmax(340px,.92fr) minmax(400px,1.08fr); }
  .reconciliation-pulse-note { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.1); border-left:0; }
  .reconciliation-nav { top:62px; }
}
@media (max-width:767.98px) {
  .reconciliation-console { padding:18px 14px 28px; }
  .reconciliation-header { align-items:flex-start; flex-direction:column; }
  .reconciliation-header .btn { width:100%; justify-content:center; }
  .reconciliation-pulse { grid-template-columns:1fr; }
  .reconciliation-pulse-primary { border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .reconciliation-pulse-note { grid-column:auto; }
  .reconciliation-nav { position:relative; top:auto; }
  .reconciliation-nav a.is-danger { margin-left:0; }
  .reconciliation-panel { scroll-margin-top:20px; }
}
@media (max-width:575.98px) {
  .reconciliation-pulse-signals { grid-template-columns:1fr; }
  .reconciliation-pulse-signals article { border-right:0; border-bottom:1px solid rgba(255,255,255,.09); }
  .reconciliation-pulse-signals article:nth-child(3) { border-bottom:1px solid rgba(255,255,255,.09); }
}
