:root{
  --ink:#10162f;--muted:#68708a;--border:#e6e9f1;--panel:rgba(255,255,255,.93);--panel-solid:#fff;
  --pink:#f448a4;--purple:#8359ef;--cyan:#23b9e8;--navy:#141a38;--success:#1e9c69;--warning:#c88516;--danger:#c94b5d;
  --shadow:0 22px 60px rgba(36,45,91,.10);--soft-shadow:0 10px 30px rgba(36,45,91,.08)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f7f8fb;line-height:1.5;min-height:100vh}.shell{width:min(1180px,calc(100% - 36px));margin:auto}.hidden{display:none!important}
button,input,select,textarea{font:inherit}button{color:inherit}.app-bg{position:fixed;inset:0;z-index:-5;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#fafbff 0%,#f7f8fc 56%,#f3f5fa 100%)}.glow{position:absolute;border-radius:50%;filter:blur(95px);opacity:.20}.glow-a{width:48vw;height:48vw;left:-18vw;top:-16vw;background:radial-gradient(circle,var(--cyan),transparent 68%)}.glow-b{width:44vw;height:44vw;right:-15vw;top:-10vw;background:radial-gradient(circle,var(--pink),transparent 68%)}.grid-fade{position:absolute;inset:0;background-image:linear-gradient(rgba(86,101,160,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(86,101,160,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,transparent,black 18%,black 68%,transparent 100%)}
.site-header{height:116px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;margin-right:auto;line-height:0}.brand-logo{width:350px;max-height:92px;object-fit:contain;object-position:left center}.brand-logo-dark{display:none}.header-context{display:flex;align-items:center;gap:9px}.product-name{font-size:13px;font-weight:800;color:#3f4967;white-space:nowrap}.test-pill,.demo-mode{padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.test-pill{background:#f3edff;color:#6840c7;border:1px solid #ded0ff}.demo-mode{margin-left:auto;background:#fff7e8;color:#9b6410;border:1px solid #efd7ac}.theme-toggle,.account-pill{border:1px solid var(--border);background:rgba(255,255,255,.86);border-radius:11px;padding:9px 12px;font-size:12px;font-weight:800;cursor:pointer}.account-pill{color:var(--purple)}
.app-shell{padding-bottom:110px}.intro-panel{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;padding:42px 0 24px}.eyebrow{display:inline-block;color:var(--purple);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.intro-panel h1{font-size:48px;line-height:1.05;letter-spacing:-.045em;margin:9px 0 12px}.intro-panel h1 span{background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink));background-clip:text;-webkit-background-clip:text;color:transparent}.intro-panel p{max-width:710px;margin:0;color:#4f5872;font-size:16px;line-height:1.65}.intro-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:850;cursor:pointer;transition:.16s ease;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(20,26,56,.14)}.btn.secondary{background:var(--panel-solid);border:1px solid var(--border);color:var(--ink)}.btn.small{padding:9px 12px;font-size:12px}.btn.full{width:100%}
.safety-banner{display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid #dfe5f0;background:rgba(255,255,255,.72);border-radius:13px;font-size:12px;color:var(--muted);margin-bottom:18px}.safety-banner b{color:var(--ink)}.safety-icon{width:31px;height:31px;display:grid;place-items:center;background:#f4f7fb;border-radius:8px;flex:0 0 auto}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 18px}.metric-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--soft-shadow);padding:18px}.metric-card>span,.credit-card span{font-size:11px;color:var(--muted);font-weight:750}.metric-card>strong{display:block;font-size:30px;line-height:1.1;margin:5px 0 4px}.metric-card small{color:#8991a7;font-size:10px}.credit-card{display:flex;align-items:center;justify-content:space-between}.credit-card strong{display:block;font-size:23px;margin:5px 0 3px}.credit-card strong em{font-style:normal;font-size:12px;color:var(--muted);font-weight:700}.credit-ring{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--purple) 0deg,#e8eaf0 0deg);position:relative}.credit-ring:after{content:"";position:absolute;inset:6px;background:var(--panel-solid);border-radius:50%}.credit-ring span{z-index:1;font-size:10px;font-weight:900;color:var(--ink)}
.workspace-card,.detail-card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:22px}.workspace-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:17px}.workspace-head h2,.detail-head h2{font-size:24px;margin:4px 0 0}.workspace-tools{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:0 10px;min-width:290px}.search-box input{border:0;outline:0;background:transparent;padding:10px 0;width:100%;color:var(--ink)}.workspace-tools select{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px;color:var(--ink);font-weight:700;font-size:12px}.payer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.payer-card{background:#fff;border:1px solid var(--border);border-radius:15px;padding:17px;cursor:pointer;transition:.16s ease;position:relative}.payer-card:hover{border-color:#cfc4fa;transform:translateY(-2px);box-shadow:0 12px 28px rgba(68,66,124,.10)}.payer-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.payer-card h3{font-size:17px;margin:5px 0 4px}.payer-card p{margin:0;color:var(--muted);font-size:12px}.status-pill{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.status-pill.active{background:#eaf8f2;color:#167b54}.status-pill.review{background:#fff6e7;color:#9a6510}.status-pill.inactive{background:#f1f2f6;color:#747d92}.payer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:17px}.payer-stat{padding:9px;background:#f8f9fc;border-radius:9px}.payer-stat b{display:block;font-size:14px}.payer-stat span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.payer-foot{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding-top:12px;border-top:1px solid #edf0f5;font-size:10px;color:var(--muted)}.source-tag{font-weight:800;color:var(--purple)}.empty-state{text-align:center;padding:54px 20px;color:var(--muted)}.empty-state h3{color:var(--ink);margin:8px 0 3px}.empty-icon{font-size:30px}
.detail-card{margin-top:18px}.detail-head{padding-bottom:12px}.link-button{border:0;background:none;color:var(--purple);font-weight:800;cursor:pointer;padding:0;font-size:12px}.detail-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:12px}.detail-title-row p{margin:3px 0 0;color:var(--muted);font-size:12px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.detail-tabs{display:flex;gap:5px;border-bottom:1px solid var(--border);margin:2px -4px 0}.detail-tab{border:0;background:none;padding:11px 12px;color:var(--muted);font-weight:800;cursor:pointer;border-bottom:2px solid transparent}.detail-tab.active{color:var(--ink);border-bottom-color:var(--purple)}.detail-panel{display:none;padding-top:16px}.detail-panel.active{display:block}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-card{border:1px solid var(--border);border-radius:13px;background:#fff;padding:15px}.info-card h3{margin:0 0 12px;font-size:13px}.info-list{display:grid;grid-template-columns:1fr auto;gap:9px 16px;font-size:11px}.info-list dt{color:var(--muted)}.info-list dd{margin:0;font-weight:800;text-align:right}.note-card{grid-column:1/-1}.note-card p{margin:0;color:var(--muted);font-size:12px}.data-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:850px;font-size:11px}.data-table th,.data-table td{padding:10px;border-bottom:1px solid #edf0f5;text-align:left;vertical-align:top}.data-table th{background:#f7f8fb;color:#59627a;font-size:9px;letter-spacing:.04em;text-transform:uppercase}.data-table tr:last-child td{border-bottom:0}.verification{font-size:9px;font-weight:850;padding:4px 6px;border-radius:999px;display:inline-block}.verification.confirmed{background:#eaf8f2;color:#167b54}.verification.ai{background:#f1edff;color:#6740c7}.verification.manual{background:#eaf7fb;color:#197e9d}.verification.review{background:#fff6e7;color:#9a6510}.document-list,.history-list{display:grid;gap:8px}.document-row,.history-row{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);background:#fff;border-radius:11px}.doc-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#fff1f5;color:#c64d70;font-weight:900}.document-row>div:nth-child(2),.history-row>div:nth-child(2){flex:1}.document-row b,.history-row b{font-size:12px}.document-row p,.history-row p{margin:2px 0 0;color:var(--muted);font-size:10px}.row-action{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer}.history-dot{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--purple));box-shadow:0 0 0 4px #eef0fb}
.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(10,14,31,.48);backdrop-filter:blur(5px)}.modal-card{position:relative;z-index:1;width:min(650px,100%);max-height:92vh;overflow:auto;background:var(--panel-solid);border:1px solid var(--border);border-radius:20px;box-shadow:0 30px 90px rgba(10,14,31,.30);padding:25px}.modal-card h2{font-size:25px;margin:5px 0 4px}.modal-copy{font-size:12px;color:var(--muted);margin:0 0 17px;line-height:1.55}.modal-close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:25px;color:#828a9f;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.standard-label{display:grid;gap:5px;font-size:10px;font-weight:850;color:#5f687f}.form-grid input,.form-grid select,.form-grid textarea,.standard-label select{width:100%;border:1px solid var(--border);border-radius:9px;background:#fff;padding:10px;color:var(--ink);outline:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.standard-label select:focus{border-color:#aa96f0;box-shadow:0 0 0 3px rgba(131,89,239,.08)}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.upload-card{width:min(620px,100%)}.standard-label{margin-bottom:10px}.drop-zone{min-height:190px;border:1.5px dashed #cbd2e1;border-radius:14px;background:#fbfcfe;display:grid;place-items:center;align-content:center;text-align:center;padding:24px;cursor:pointer;transition:.18s ease}.drop-zone.dragover,.drop-zone:hover{border-color:#a795ef;background:#fdfdff;box-shadow:inset 0 0 0 1px rgba(131,89,239,.08)}.upload-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;font-size:25px;background:linear-gradient(145deg,#eefbff,#fff0f8);color:var(--purple)}.drop-zone h3{margin:8px 0 3px;font-size:16px}.drop-zone p{margin:0;color:var(--muted);font-size:11px}.drop-zone p span{color:var(--purple);font-weight:850}.drop-zone small{margin-top:10px;color:#9aa2b6}.file-preview{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;background:#f7f8fb;border:1px solid var(--border);border-radius:9px;margin-top:9px;font-size:10px}.confirm-line{display:flex;align-items:flex-start;gap:8px;margin:12px 0;font-size:10px;color:var(--muted)}.confirm-line input{margin-top:2px}.analysis-preview{margin-top:15px;padding:14px;border:1px solid #dcd4fa;background:#faf8ff;border-radius:11px;font-size:11px}.analysis-preview h3{margin:0 0 9px}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.analysis-item{padding:8px;background:#fff;border-radius:8px;border:1px solid #ece8fa}.analysis-item span{display:block;color:var(--muted);font-size:9px}.analysis-item b{font-size:11px}.analysis-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.tally-card{width:min(720px,100%)}.tally-heading{display:flex;align-items:center;gap:11px}.tally-avatar{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#dff9ff,#f1eaff,#ffe8f4);color:var(--purple);font-size:21px}.tally-heading h2{margin:1px 0 0}.tally-credit-mini{margin-left:auto;text-align:right}.tally-credit-mini b{display:block;font-size:17px}.tally-credit-mini span{font-size:9px;color:var(--muted)}.scope-note{padding:9px 11px;background:#f6f7fb;border:1px solid var(--border);border-radius:9px;font-size:10px;color:var(--muted);margin-bottom:11px}.tally-chat{height:270px;overflow:auto;border:1px solid var(--border);background:#fbfcfe;border-radius:12px;padding:11px;display:flex;flex-direction:column;gap:9px}.message{max-width:84%;padding:9px 11px;border-radius:11px;font-size:11px;line-height:1.5;white-space:pre-wrap}.message.tally{align-self:flex-start;background:#fff;border:1px solid var(--border)}.message.user{align-self:flex-end;background:var(--navy);color:#fff}.message .message-label{display:block;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px;color:var(--purple)}.message.user .message-label{color:#cdd5ff}.prompt-chips{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.prompt-chips button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:7px 9px;font-size:9px;font-weight:800;cursor:pointer}.tally-form{display:flex;gap:8px}.tally-form textarea{flex:1;resize:none;border:1px solid var(--border);border-radius:10px;padding:10px;outline:0;color:var(--ink)}.tally-footer{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:var(--muted);font-size:9px}.small-modal{width:min(440px,100%)}.small-modal p{font-size:12px;color:var(--muted)}
.tally-fab{position:fixed;right:25px;bottom:25px;z-index:500;border:0;border-radius:16px;background:linear-gradient(110deg,#111833,#27204f);color:#fff;box-shadow:0 15px 40px rgba(20,26,56,.28),0 0 0 1px rgba(255,255,255,.12) inset;padding:11px 15px;display:flex;align-items:center;gap:10px;cursor:pointer}.tally-fab:before{content:"";position:absolute;inset:-2px;border-radius:18px;padding:2px;background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink),var(--cyan));background-size:220% 100%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:borderFlow 6s linear infinite}.tally-spark{font-size:21px}.tally-fab span:last-child{display:grid;text-align:left}.tally-fab b{font-size:12px}.tally-fab small{font-size:8px;color:#c8cde0}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:2000;background:#121830;color:#fff;padding:10px 14px;border-radius:10px;font-size:11px;font-weight:750;box-shadow:0 12px 34px rgba(10,14,31,.28)}
@keyframes borderFlow{from{background-position:0 50%}to{background-position:220% 50%}}
body.dark-mode{--ink:#eef2ff;--muted:#98a3bf;--border:#2b355b;--panel:rgba(15,22,44,.92);--panel-solid:#11182f;--shadow:0 22px 60px rgba(0,0,0,.26);--soft-shadow:0 10px 30px rgba(0,0,0,.22);background:#0a1022}.dark-mode .app-bg{background:linear-gradient(180deg,#0a1022,#0b1226 56%,#0d142a)}.dark-mode .grid-fade{background-image:linear-gradient(rgba(130,150,220,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(130,150,220,.05) 1px,transparent 1px)}.dark-mode .brand-logo-light{display:none}.dark-mode .brand-logo-dark{display:block}.dark-mode .product-name{color:#b9c2da}.dark-mode .theme-toggle,.dark-mode .account-pill,.dark-mode .workspace-tools select,.dark-mode .search-box,.dark-mode .payer-card,.dark-mode .info-card,.dark-mode .data-table-wrap,.dark-mode .document-row,.dark-mode .history-row,.dark-mode .row-action,.dark-mode .form-grid input,.dark-mode .form-grid select,.dark-mode .form-grid textarea,.dark-mode .standard-label select,.dark-mode .drop-zone,.dark-mode .file-preview,.dark-mode .prompt-chips button,.dark-mode .tally-form textarea{background:#11182f;color:var(--ink);border-color:var(--border)}.dark-mode .intro-panel p{color:#aab4cd}.dark-mode .safety-banner{background:rgba(14,21,43,.78);border-color:var(--border)}.dark-mode .payer-stat,.dark-mode .data-table th,.dark-mode .scope-note{background:#0d1430}.dark-mode .credit-ring:after{background:#11182f}.dark-mode .tally-chat{background:#0c1329}.dark-mode .message.tally{background:#11182f;border-color:var(--border)}.dark-mode .analysis-preview{background:#171332;border-color:#443a75}.dark-mode .analysis-item{background:#11182f;border-color:#332d58}.dark-mode .demo-mode{background:#302611;border-color:#5d4923;color:#e5bb68}
@media(max-width:980px){.site-header{height:auto;min-height:105px;flex-wrap:wrap;padding:10px 0}.brand-logo{width:285px}.header-context{order:3;width:100%;margin-top:-12px}.intro-panel{align-items:flex-start}.metric-grid{grid-template-columns:1fr 1fr}.payer-grid{grid-template-columns:1fr 1fr}.workspace-head{align-items:flex-start;flex-direction:column}.workspace-tools{width:100%}.search-box{flex:1;min-width:0}.detail-title-row{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.shell{width:min(100% - 22px,1180px)}.brand-logo{width:225px}.product-name{display:none}.site-header{gap:8px}.theme-toggle,.account-pill{padding:8px 9px}.intro-panel{padding-top:28px;flex-direction:column;align-items:stretch}.intro-panel h1{font-size:39px}.intro-actions{justify-content:flex-start}.metric-grid{grid-template-columns:1fr 1fr}.payer-grid{grid-template-columns:1fr}.workspace-tools{flex-direction:column;align-items:stretch}.overview-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.detail-actions{width:100%}.detail-actions .btn{flex:1}.tally-fab{right:14px;bottom:14px}.modal{padding:10px}.modal-card{padding:21px 16px}.analysis-grid{grid-template-columns:1fr}.safety-banner{align-items:flex-start;flex-wrap:wrap}.demo-mode{margin-left:42px}.credit-card{gap:8px}}
@media(max-width:420px){.metric-grid{grid-template-columns:1fr}.brand-logo{width:195px}.test-pill{display:none}.account-pill{font-size:10px}.intro-panel h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.tally-fab:before{animation:none}}

/* PCI V1.3 ---------------------------------------------------------------
   Neon styling follows the ERA to Excel production reference. Small PCI
   surfaces use the same proportions/animation language with restrained
   shadow spread so the glow reads at the same visual thickness. */
@keyframes proActiveGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(35,185,232,.16),0 0 16px rgba(35,185,232,.18),0 0 30px rgba(131,89,239,.17),0 0 46px rgba(244,72,164,.10),0 12px 28px rgba(36,45,91,.10)}
  50%{box-shadow:0 0 0 1px rgba(244,72,164,.22),0 0 21px rgba(244,72,164,.21),0 0 38px rgba(131,89,239,.21),0 0 56px rgba(35,185,232,.13),0 14px 30px rgba(36,45,91,.12)}
}
@keyframes upgradeNeonBorder{
  0%{background-position:0% 50%}
  100%{background-position:220% 50%}
}
@keyframes keepProGlassShimmer{
  0%,14%{background-position:130% 50%;opacity:0}
  24%{opacity:.95}
  52%{background-position:-40% 50%;opacity:.82}
  60%,100%{background-position:-40% 50%;opacity:0}
}
@keyframes keepProNeonBorder{
  0%{background-position:0% 50%}
  100%{background-position:220% 50%}
}
@keyframes tallyPlaceholderRgb{
  0%{color:#2ed8ff}
  33.333%{color:#8c63ff}
  66.666%{color:#ff4ca7}
  100%{color:#2ed8ff}
}

.pci-access-banner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin:-5px 0 18px;padding:12px 14px;border-radius:13px;
  border:1px solid rgba(131,89,239,.32);
  background:linear-gradient(135deg,rgba(35,185,232,.08),rgba(131,89,239,.08) 48%,rgba(244,72,164,.08));
  color:var(--muted);font-size:11px;box-shadow:0 10px 28px rgba(36,45,91,.06)
}
.pci-access-banner b{color:var(--ink);margin-right:4px}.pci-access-banner .btn{flex:0 0 auto}

.preview-locked{opacity:.62;filter:saturate(.7)}

/* Payer cards: ERA converter glow language, scaled to card size. */
.payer-card{
  border-color:rgba(131,89,239,.58);
  box-shadow:0 0 0 1px rgba(35,185,232,.12),0 0 16px rgba(35,185,232,.14),0 0 30px rgba(131,89,239,.13),0 0 46px rgba(244,72,164,.08),0 12px 28px rgba(68,66,124,.07);
  animation:proActiveGlow 3.2s ease-in-out infinite;
}
.payer-card:hover{
  border-color:rgba(71,215,255,.72);
  transform:translateY(-2px);
  box-shadow:0 0 0 1px rgba(71,215,255,.16),0 0 20px rgba(71,215,255,.18),0 0 36px rgba(131,89,239,.18),0 0 52px rgba(244,72,164,.10),0 14px 30px rgba(68,66,124,.10)
}
.dark-mode .payer-card{
  border-color:rgba(71,215,255,.58);
  box-shadow:0 0 0 1px rgba(71,215,255,.13),0 0 18px rgba(71,215,255,.16),0 0 34px rgba(111,91,255,.18),0 0 50px rgba(255,72,164,.10),0 12px 30px rgba(0,0,0,.20)
}

/* Add & Analyze remains the established ERA-style neon button treatment. */
.neon-border-btn{
  position:relative;overflow:visible;isolation:isolate;background:var(--navy);color:#fff!important;
  border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 10px 24px rgba(20,26,56,.14)
}
.neon-border-btn::before{
  content:"";position:absolute;inset:-4px;border-radius:14px;padding:4px;
  background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink),var(--cyan));background-size:220% 100%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;opacity:.95;animation:upgradeNeonBorder 6.4s linear infinite
}
.neon-border-btn::after{
  content:"";position:absolute;inset:-4px;border-radius:14px;pointer-events:none;
  box-shadow:0 0 10px rgba(35,185,232,.18),0 0 16px rgba(131,89,239,.16),0 0 20px rgba(244,72,164,.12);opacity:.9
}
.dark-mode .neon-border-btn{background:#11182f;color:#eef2ff!important;border-color:rgba(255,255,255,.06)!important;box-shadow:0 10px 26px rgba(0,0,0,.24)}
.dark-mode .neon-border-btn::before{background:linear-gradient(90deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff);background-size:220% 100%}
.dark-mode .neon-border-btn::after{box-shadow:0 0 12px rgba(46,216,255,.22),0 0 18px rgba(140,99,255,.18),0 0 24px rgba(255,76,167,.14)}

.tally-fab-mark{width:50px;height:38px;display:grid;place-items:center;flex:0 0 auto}
.tally-fab-mark img{width:54px;height:42px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(46,216,255,.55)) drop-shadow(0 0 8px rgba(255,76,167,.28))}
.tally-avatar{width:68px;height:52px;border-radius:14px;background:linear-gradient(135deg,rgba(46,216,255,.10),rgba(140,99,255,.12),rgba(255,76,167,.10));overflow:visible}
.tally-avatar img{width:72px;height:56px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(46,216,255,.50)) drop-shadow(0 0 10px rgba(255,76,167,.28))}

/* Tally history uses the same restrained card-scale ERA glow. */
.glow-history{
  position:relative;border-color:rgba(131,89,239,.56)!important;
  box-shadow:0 0 0 1px rgba(35,185,232,.10),0 0 14px rgba(35,185,232,.13),0 0 26px rgba(131,89,239,.12),0 0 40px rgba(244,72,164,.07);
  animation:proActiveGlow 3.2s ease-in-out infinite
}
.dark-mode .glow-history{
  border-color:rgba(71,215,255,.56)!important;
  box-shadow:0 0 0 1px rgba(71,215,255,.11),0 0 16px rgba(71,215,255,.14),0 0 30px rgba(111,91,255,.15),0 0 44px rgba(255,72,164,.08)
}

/* Typed text stays white; placeholder completes a full RGB loop in 6s,
   i.e. roughly 2 seconds between each target color. */
.tally-form textarea,.dark-mode .tally-form textarea{
  background:#0d1430!important;color:#fff!important;caret-color:#fff;border-color:#34415f!important
}
.tally-form textarea::placeholder{color:#2ed8ff;opacity:.95;animation:tallyPlaceholderRgb 6s linear infinite}
.tally-form textarea:focus{border-color:#8c63ff!important;box-shadow:0 0 0 3px rgba(140,99,255,.13),0 0 20px rgba(46,216,255,.10)}

.dark-mode .pci-access-banner{border-color:#3c4770;background:linear-gradient(135deg,rgba(46,216,255,.06),rgba(140,99,255,.09),rgba(255,76,167,.06))}
.dark-mode 

@media(max-width:650px){.pci-access-banner{align-items:flex-start;flex-direction:column}.pci-access-banner .btn{width:100%}.tally-avatar{width:58px;height:48px}.tally-avatar img{width:64px;height:52px}}
@media(prefers-reduced-motion:reduce){
  .payer-card,.glow-history,.neon-border-btn::before,.tally-form textarea::placeholder{animation:none!important}
}


/* PCI V1.3 — Tally composer / credit polish. */
.tally-credit-mini{margin-left:auto;margin-right:38px;text-align:right;min-width:52px}
.tally-credit-mini b{
  display:block;font-size:17px;color:#2ed8ff;
  animation:tallyPlaceholderRgb 6s linear infinite
}

/* Faint AI sparkle drift: intentionally subtle, slow, and non-interactive. */
.tally-fab{overflow:visible}
.tally-fab-sparkles{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:3}
.tally-fab-sparkles i{
  position:absolute;width:4px;height:4px;opacity:0;
  background:radial-gradient(circle,#fff 0 18%,#8eeeff 26%,rgba(140,99,255,.76) 52%,rgba(255,76,167,0) 76%);
  filter:drop-shadow(0 0 3px rgba(46,216,255,.35));
  border-radius:50%;animation:tallySparkleDrift 7.8s ease-out infinite
}
.tally-fab-sparkles i:nth-child(1){right:22px;top:4px;animation-delay:.4s}
.tally-fab-sparkles i:nth-child(2){right:48px;top:2px;animation-delay:2.2s;transform:scale(.75)}
.tally-fab-sparkles i:nth-child(3){right:8px;top:17px;animation-delay:4.1s;transform:scale(.65)}
.tally-fab-sparkles i:nth-child(4){right:70px;top:10px;animation-delay:6s;transform:scale(.55)}
@keyframes tallySparkleDrift{
  0%,72%{opacity:0;translate:0 0;scale:.55}
  77%{opacity:.34}
  86%{opacity:.20;translate:8px -9px;scale:1}
  100%{opacity:0;translate:18px -24px;scale:.45}
}


@media(max-width:650px){.tally-credit-mini{margin-right:32px}}
@media(prefers-reduced-motion:reduce){.tally-credit-mini b,.tally-fab-sparkles i{animation:none!important}}


/* PCI V1.4 — sparkle polish + export button animation */
.pci-export-btn{
  position:relative;overflow:visible;isolation:isolate;
  border:1px solid rgba(255,255,255,.08)!important;
  background:var(--navy)!important;color:#fff!important;
  box-shadow:0 10px 24px rgba(20,26,56,.14);
}
.pci-export-btn::before{
  content:"";position:absolute;inset:-2px;border-radius:12px;padding:2px;
  background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink),var(--cyan));
  background-size:220% 100%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;opacity:.92;animation:upgradeNeonBorder 6.4s linear infinite;
}
.pci-export-btn::after{
  content:"";position:absolute;inset:0;border-radius:10px;pointer-events:none;
  background:linear-gradient(90deg,rgba(46,216,255,.12),rgba(140,99,255,.13),rgba(255,76,167,.12),rgba(46,216,255,.12));
  background-size:220% 100%;mix-blend-mode:screen;opacity:.35;
  animation:upgradeNeonBorder 8.4s linear infinite;
}
.dark-mode .pci-export-btn{background:#11182f!important;color:#eef2ff!important;border-color:rgba(255,255,255,.06)!important;box-shadow:0 10px 26px rgba(0,0,0,.24)}
.dark-mode .pci-export-btn::before{background:linear-gradient(90deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff);background-size:220% 100%}
.dark-mode .pci-export-btn::after{opacity:.28}

/* A little more visible but still restrained sparkle drift for Ask Tally. */
.tally-fab-sparkles i{
  width:5px;height:5px;opacity:0;
  background:radial-gradient(circle,#fff 0 16%,#8eeeff 24%,rgba(140,99,255,.88) 52%,rgba(255,76,167,.26) 68%,rgba(255,76,167,0) 82%);
  filter:drop-shadow(0 0 4px rgba(46,216,255,.48));
  animation:tallySparkleDriftV14 6.8s ease-out infinite;
}
.tally-fab-sparkles i:nth-child(1){right:18px;top:2px;animation-delay:.2s}
.tally-fab-sparkles i:nth-child(2){right:40px;top:-2px;animation-delay:1.25s;transform:scale(.8)}
.tally-fab-sparkles i:nth-child(3){right:4px;top:16px;animation-delay:2.3s;transform:scale(.72)}
.tally-fab-sparkles i:nth-child(4){right:62px;top:8px;animation-delay:3.35s;transform:scale(.68)}
.tally-fab-sparkles i:nth-child(5){right:28px;top:24px;animation-delay:4.5s;transform:scale(.88)}
.tally-fab-sparkles i:nth-child(6){right:74px;top:20px;animation-delay:5.55s;transform:scale(.62)}
@keyframes tallySparkleDriftV14{
  0%,66%{opacity:0;translate:0 0;scale:.5}
  73%{opacity:.48}
  84%{opacity:.28;translate:10px -10px;scale:1.06}
  100%{opacity:0;translate:22px -28px;scale:.45}
}

/* Mirror the subtle sparkle language on the Ask button inside the modal. */
.tally-ask-submit{position:relative;overflow:visible;isolation:isolate;padding-right:16px}
.tally-submit-sparkles{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:2}
.tally-submit-sparkles i{
  position:absolute;width:4px;height:4px;opacity:0;border-radius:50%;
  background:radial-gradient(circle,#fff 0 20%,#8eeeff 28%,rgba(140,99,255,.82) 52%,rgba(255,76,167,0) 78%);
  filter:drop-shadow(0 0 3px rgba(46,216,255,.34));
  animation:tallySubmitSparkle 5.6s ease-out infinite;
}
.tally-submit-sparkles i:nth-child(1){right:10px;top:4px;animation-delay:.4s}
.tally-submit-sparkles i:nth-child(2){right:2px;top:15px;animation-delay:1.8s;transform:scale(.72)}
.tally-submit-sparkles i:nth-child(3){right:28px;top:2px;animation-delay:3.1s;transform:scale(.82)}
.tally-submit-sparkles i:nth-child(4){right:20px;top:18px;animation-delay:4.4s;transform:scale(.62)}
@keyframes tallySubmitSparkle{
  0%,72%{opacity:0;translate:0 0;scale:.55}
  78%{opacity:.32}
  88%{opacity:.18;translate:7px -6px;scale:1}
  100%{opacity:0;translate:12px -14px;scale:.42}
}

@media(prefers-reduced-motion:reduce){
  .pci-export-btn::before,.pci-export-btn::after,.tally-fab-sparkles i,.tally-submit-sparkles i{animation:none!important}
}


/* PCI V1.5 — triple sparkle pass for Ask Tally and Ask button */
.tally-fab-sparkles i{
  width:5px;height:5px;opacity:0;
  background:radial-gradient(circle,#fff 0 16%,#8eeeff 24%,rgba(140,99,255,.90) 52%,rgba(255,76,167,.34) 68%,rgba(255,76,167,0) 84%);
  filter:drop-shadow(0 0 5px rgba(46,216,255,.52));
  animation:tallySparkleDriftV15 5.4s ease-out infinite;
}
.tally-fab-sparkles i:nth-child(1){right:18px;top:2px;animation-delay:.10s;transform:scale(1)}
.tally-fab-sparkles i:nth-child(2){right:40px;top:-2px;animation-delay:.40s;transform:scale(.82)}
.tally-fab-sparkles i:nth-child(3){right:4px;top:16px;animation-delay:.70s;transform:scale(.74)}
.tally-fab-sparkles i:nth-child(4){right:62px;top:8px;animation-delay:1.00s;transform:scale(.70)}
.tally-fab-sparkles i:nth-child(5){right:28px;top:24px;animation-delay:1.30s;transform:scale(.90)}
.tally-fab-sparkles i:nth-child(6){right:74px;top:20px;animation-delay:1.60s;transform:scale(.66)}
.tally-fab-sparkles i:nth-child(7){right:10px;top:28px;animation-delay:1.90s;transform:scale(.76)}
.tally-fab-sparkles i:nth-child(8){right:54px;top:30px;animation-delay:2.20s;transform:scale(.88)}
.tally-fab-sparkles i:nth-child(9){right:84px;top:4px;animation-delay:2.50s;transform:scale(.62)}
.tally-fab-sparkles i:nth-child(10){right:94px;top:18px;animation-delay:2.80s;transform:scale(.78)}
.tally-fab-sparkles i:nth-child(11){right:34px;top:-6px;animation-delay:3.10s;transform:scale(.58)}
.tally-fab-sparkles i:nth-child(12){right:0px;top:6px;animation-delay:3.40s;transform:scale(.72)}
.tally-fab-sparkles i:nth-child(13){right:22px;top:34px;animation-delay:3.70s;transform:scale(.92)}
.tally-fab-sparkles i:nth-child(14){right:66px;top:36px;animation-delay:4.00s;transform:scale(.68)}
.tally-fab-sparkles i:nth-child(15){right:104px;top:12px;animation-delay:4.30s;transform:scale(.60)}
.tally-fab-sparkles i:nth-child(16){right:86px;top:30px;animation-delay:4.60s;transform:scale(.80)}
.tally-fab-sparkles i:nth-child(17){right:46px;top:14px;animation-delay:4.90s;transform:scale(.74)}
.tally-fab-sparkles i:nth-child(18){right:14px;top:-8px;animation-delay:5.20s;transform:scale(.64)}
@keyframes tallySparkleDriftV15{
  0%,62%{opacity:0;translate:0 0;scale:.45}
  70%{opacity:.62}
  84%{opacity:.34;translate:10px -10px;scale:1.1}
  100%{opacity:0;translate:24px -32px;scale:.42}
}

.tally-submit-sparkles i{
  width:4px;height:4px;opacity:0;border-radius:50%;
  background:radial-gradient(circle,#fff 0 20%,#8eeeff 28%,rgba(140,99,255,.86) 52%,rgba(255,76,167,.16) 66%,rgba(255,76,167,0) 80%);
  filter:drop-shadow(0 0 4px rgba(46,216,255,.42));
  animation:tallySubmitSparkleV15 4.4s ease-out infinite;
}
.tally-submit-sparkles i:nth-child(1){right:10px;top:4px;animation-delay:.10s;transform:scale(1)}
.tally-submit-sparkles i:nth-child(2){right:2px;top:15px;animation-delay:.45s;transform:scale(.74)}
.tally-submit-sparkles i:nth-child(3){right:28px;top:2px;animation-delay:.80s;transform:scale(.84)}
.tally-submit-sparkles i:nth-child(4){right:20px;top:18px;animation-delay:1.15s;transform:scale(.66)}
.tally-submit-sparkles i:nth-child(5){right:36px;top:12px;animation-delay:1.50s;transform:scale(.72)}
.tally-submit-sparkles i:nth-child(6){right:14px;top:-2px;animation-delay:1.85s;transform:scale(.58)}
.tally-submit-sparkles i:nth-child(7){right:44px;top:4px;animation-delay:2.20s;transform:scale(.80)}
.tally-submit-sparkles i:nth-child(8){right:6px;top:24px;animation-delay:2.55s;transform:scale(.68)}
.tally-submit-sparkles i:nth-child(9){right:24px;top:24px;animation-delay:2.90s;transform:scale(.76)}
.tally-submit-sparkles i:nth-child(10){right:50px;top:18px;animation-delay:3.25s;transform:scale(.62)}
.tally-submit-sparkles i:nth-child(11){right:32px;top:-4px;animation-delay:3.60s;transform:scale(.70)}
.tally-submit-sparkles i:nth-child(12){right:54px;top:8px;animation-delay:3.95s;transform:scale(.56)}
@keyframes tallySubmitSparkleV15{
  0%,66%{opacity:0;translate:0 0;scale:.52}
  74%{opacity:.46}
  88%{opacity:.22;translate:8px -7px;scale:1}
  100%{opacity:0;translate:13px -15px;scale:.40}
}
@media(prefers-reduced-motion:reduce){.tally-fab-sparkles i,.tally-submit-sparkles i{animation:none!important}}


/* PCI V1.8 — complete light-mode button compatibility audit -----------------
   Light mode uses pale/glass surfaces with dark ink while preserving the
   established Logic Bunting neon accents. Dark mode retains the existing
   dark treatments. */
body:not(.dark-mode) .btn.primary{
  background:linear-gradient(135deg,#ffffff 0%,#f3fbff 38%,#f6f1ff 70%,#fff3f8 100%);
  color:#18213d!important;
  border:1px solid #dfe5f0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 20px rgba(58,66,115,.08);
}
body:not(.dark-mode) .btn.primary:hover{
  border-color:#cfd8e8;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 10px 24px rgba(58,66,115,.11);
}

/* Keep neon-framed primary actions light inside the border in Light mode. */
body:not(.dark-mode) .neon-border-btn{
  background:linear-gradient(135deg,#ffffff 0%,#eefbff 34%,#f5efff 67%,#fff0f7 100%)!important;
  color:#18213d!important;
  border-color:rgba(131,89,239,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 22px rgba(58,66,115,.09)!important;
}

/* Export Data keeps its animated color language without looking like a dark-mode button. */
body:not(.dark-mode) .pci-export-btn{
  background:linear-gradient(120deg,#ffffff,#eefbff 34%,#f4efff 67%,#fff1f8)!important;
  color:#18213d!important;
  border-color:rgba(131,89,239,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 8px 22px rgba(58,66,115,.09)!important;
}
body:not(.dark-mode) .pci-export-btn::after{
  opacity:.20;
  mix-blend-mode:multiply;
}

/* Floating Tally launcher: glass/light form in Light mode, dark form in Dark mode. */
body:not(.dark-mode) .tally-fab{
  background:linear-gradient(120deg,rgba(255,255,255,.97),rgba(238,251,255,.97) 34%,rgba(245,240,255,.98) 68%,rgba(255,241,248,.97));
  color:#18213d;
  border:1px solid rgba(131,89,239,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 15px 36px rgba(36,45,91,.15);
}
body:not(.dark-mode) .tally-fab small{color:#68708a}
body:not(.dark-mode) .tally-fab-mark img{
  filter:drop-shadow(0 0 4px rgba(35,185,232,.40)) drop-shadow(0 0 7px rgba(131,89,239,.22));
}

/* Tally modal Ask button follows Light mode too while retaining sparkles. */
body:not(.dark-mode) .tally-ask-submit{
  background:linear-gradient(135deg,#ffffff 0%,#eefbff 38%,#f5efff 70%,#fff0f7 100%)!important;
  color:#18213d!important;
  border:1px solid rgba(131,89,239,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 8px 20px rgba(58,66,115,.08)!important;
}

/* Explicitly keep dark-mode primaries dark so the two themes remain distinct. */
.dark-mode .btn.primary{
  background:#11182f;
  color:#eef2ff!important;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 10px 26px rgba(0,0,0,.24);
}
.dark-mode .tally-fab{
  background:linear-gradient(110deg,#111833,#27204f);
  color:#fff;
  border-color:rgba(255,255,255,.08);
  box-shadow:0 15px 40px rgba(20,26,56,.28),0 0 0 1px rgba(255,255,255,.12) inset;
}
.dark-mode .tally-fab small{color:#c8cde0}

@media(prefers-reduced-motion:reduce){
  body:not(.dark-mode) .pci-export-btn::before,body:not(.dark-mode) .pci-export-btn::after{animation:none!important}
}


/* PCI V1.8.1 — targeted Tally / Save Payer polish ------------------------- */
/* Slightly larger official Tally mark in the floating launcher and modal. */
.tally-fab-mark{width:58px;height:44px}
.tally-fab-mark img{width:63px;height:49px}
.tally-avatar{width:76px;height:59px}
.tally-avatar img{width:81px;height:63px}

/* Ask Tally composer follows the active theme. Placeholder keeps RGB motion. */
body:not(.dark-mode) .tally-form textarea{
  background:linear-gradient(135deg,#ffffff 0%,#f7fcff 44%,#faf7ff 100%)!important;
  color:var(--ink)!important;
  caret-color:var(--ink)!important;
  border-color:#dbe2ef!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 6px 16px rgba(58,66,115,.05);
}
body:not(.dark-mode) .tally-form textarea:focus{
  border-color:#8c63ff!important;
  box-shadow:0 0 0 3px rgba(140,99,255,.10),0 0 18px rgba(35,185,232,.08);
}
.dark-mode .tally-form textarea{
  background:#0d1430!important;
  color:#fff!important;
  caret-color:#fff!important;
  border-color:#34415f!important;
}

/* Save Payer uses the established ERA neon-border treatment. */
#savePayerBtn.neon-border-btn{min-width:112px}
body:not(.dark-mode) #savePayerBtn.neon-border-btn{
  background:linear-gradient(135deg,#ffffff 0%,#eefbff 34%,#f5efff 67%,#fff0f7 100%)!important;
  color:#18213d!important;
  border-color:rgba(131,89,239,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 22px rgba(58,66,115,.09)!important;
}
.dark-mode #savePayerBtn.neon-border-btn{
  background:#11182f!important;
  color:#eef2ff!important;
  border-color:rgba(255,255,255,.06)!important;
}

@media(max-width:650px){
  .tally-fab-mark{width:54px;height:42px}
  .tally-fab-mark img{width:59px;height:46px}
  .tally-avatar{width:66px;height:53px}
  .tally-avatar img{width:71px;height:57px}
}


/* PCI V1.8.5 — corrected ERA Download Excel animation for Export Data.
   Important: the animated background shorthand must NOT use !important.
   An important background shorthand also makes background-position important,
   which prevents reconButtonGlow from changing background-position. */
#exportDataBtn{
  position:relative;
  isolation:isolate;
  border:0!important;
  color:#fff!important;
  background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink),var(--cyan));
  background-size:300% 100%!important;
  background-position:0% 50%;
  box-shadow:0 10px 28px rgba(131,89,239,.24),0 0 0 1px rgba(255,255,255,.22) inset!important;
  animation:reconButtonGlow 4.5s ease-in-out infinite!important;
  transition:transform .18s ease,box-shadow .18s ease;
}
#exportDataBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(131,89,239,.32),0 0 18px rgba(35,185,232,.22),0 0 24px rgba(244,72,164,.16)!important;
}
#exportDataBtn:active{transform:translateY(0)}
.dark-mode #exportDataBtn{
  color:#fff!important;
  background:linear-gradient(90deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff);
  background-size:300% 100%!important;
  box-shadow:0 10px 30px rgba(94,90,255,.30),0 0 20px rgba(46,216,255,.16),0 0 24px rgba(255,76,167,.12)!important;
}
@keyframes reconButtonGlow{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
@media(prefers-reduced-motion:reduce){#exportDataBtn{animation:none!important}}


/* PCI V1.8.6 — official Tally light/dark theme assets */
.tally-theme-icon{display:block}
.tally-icon-dark{display:none!important}
.dark-mode .tally-icon-light{display:none!important}
.dark-mode .tally-icon-dark{display:block!important}


/* PCI V1.8.7 — small Tally icon size increase */
.tally-fab-mark{width:62px;height:47px}
.tally-fab-mark img{width:68px;height:53px}
.tally-avatar{width:81px;height:63px}
.tally-avatar img{width:87px;height:68px}

@media(max-width:650px){
  .tally-fab-mark{width:58px;height:45px}
  .tally-fab-mark img{width:63px;height:49px}
  .tally-avatar{width:70px;height:56px}
  .tally-avatar img{width:76px;height:61px}
}


/* PCI V1.8.8 — Light-mode chat bubble compatibility */
body:not(.dark-mode) .message.user{
  background:linear-gradient(135deg,#ffffff 0%,#eefbff 42%,#f5efff 72%,#fff3f8 100%);
  color:#18213d;
  border:1px solid rgba(131,89,239,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 6px 16px rgba(58,66,115,.07);
}
body:not(.dark-mode) .message.user .message-label{
  color:#6840c7;
}
.dark-mode .message.user{
  background:var(--navy);
  color:#fff;
  border:0;
  box-shadow:none;
}
.dark-mode .message.user .message-label{color:#cdd5ff}


/* PCI V1.8.10 — larger Tally mark inside the open Ask Tally modal only */
#tallyModal .tally-heading{
  display:flex;
  align-items:center;
  gap:17px;
  min-height:88px;
}
#tallyModal .tally-avatar{
  width:104px;
  height:82px;
  flex:0 0 104px;
  display:grid;
  place-items:center;
  overflow:visible;
}
#tallyModal .tally-avatar img{
  width:112px;
  height:88px;
  object-fit:contain;
}
#tallyModal .tally-title-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  min-width:0;
  margin:0;
}
#tallyModal .tally-title-copy .eyebrow{margin:0 0 2px}
#tallyModal .tally-title-copy h2{margin:0}
#tallyModal .tally-credit-mini{
  margin-left:auto;
  margin-right:38px;
  flex:0 0 auto;
}

@media(max-width:650px){
  #tallyModal .tally-heading{gap:13px;min-height:72px}
  #tallyModal .tally-avatar{width:86px;height:68px;flex-basis:86px}
  #tallyModal .tally-avatar img{width:93px;height:73px}
  #tallyModal .tally-credit-mini{margin-right:30px}
}


/* PCI V1.8.11 — Tally sparkle CTA polish */
.tally-action-btn,
.tally-inline-btn{
  position:relative;
  isolation:isolate;
  overflow:visible;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

/* Add & Analyze with Tally gets the same restrained sparkle language. */
.tally-action-sparkles,
.tally-inline-sparkles{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:visible;
  z-index:2;
}
.tally-action-sparkles i,
.tally-inline-sparkles i{
  position:absolute;
  border-radius:50%;
  opacity:0;
  background:radial-gradient(circle,#fff 0 20%,#8eeeff 28%,rgba(140,99,255,.86) 52%,rgba(255,76,167,.16) 66%,rgba(255,76,167,0) 80%);
  filter:drop-shadow(0 0 4px rgba(46,216,255,.42));
}
.tally-action-sparkles i{
  width:4px;
  height:4px;
  animation:tallySubmitSparkleV15 4.4s ease-out infinite;
}
.tally-action-sparkles i:nth-child(1){right:12px;top:4px;animation-delay:.10s;transform:scale(1)}
.tally-action-sparkles i:nth-child(2){right:4px;top:16px;animation-delay:.45s;transform:scale(.74)}
.tally-action-sparkles i:nth-child(3){right:30px;top:3px;animation-delay:.80s;transform:scale(.84)}
.tally-action-sparkles i:nth-child(4){right:22px;top:18px;animation-delay:1.15s;transform:scale(.66)}
.tally-action-sparkles i:nth-child(5){right:42px;top:12px;animation-delay:1.50s;transform:scale(.72)}
.tally-action-sparkles i:nth-child(6){right:16px;top:-2px;animation-delay:1.85s;transform:scale(.58)}

/* Small payer Ask Tally button gets bird mark + smaller sparkle set. */
#askTallyFromPayerBtn.tally-inline-btn{
  padding-left:10px;
  padding-right:12px;
  gap:7px;
}
.tally-inline-mark{
  width:19px;
  height:15px;
  flex:0 0 19px;
  display:grid;
  place-items:center;
}
.tally-inline-mark img{
  width:24px;
  height:18px;
  object-fit:contain;
  display:block;
}
.tally-inline-sparkles i{
  width:3px;
  height:3px;
  animation:tallyInlineSparkle 4.8s ease-out infinite;
}
.tally-inline-sparkles i:nth-child(1){right:8px;top:3px;animation-delay:.10s;transform:scale(1)}
.tally-inline-sparkles i:nth-child(2){right:2px;top:13px;animation-delay:.75s;transform:scale(.76)}
.tally-inline-sparkles i:nth-child(3){right:22px;top:1px;animation-delay:1.40s;transform:scale(.82)}
.tally-inline-sparkles i:nth-child(4){right:18px;top:16px;animation-delay:2.05s;transform:scale(.66)}
.tally-inline-sparkles i:nth-child(5){right:32px;top:10px;animation-delay:2.70s;transform:scale(.72)}
.tally-inline-sparkles i:nth-child(6){right:12px;top:-1px;animation-delay:3.35s;transform:scale(.58)}
@keyframes tallyInlineSparkle{
  0%,68%{opacity:0;translate:0 0;scale:.52}
  76%{opacity:.40}
  88%{opacity:.20;translate:7px -6px;scale:1}
  100%{opacity:0;translate:11px -12px;scale:.42}
}
@media(max-width:650px){
  .tally-inline-mark{width:17px;height:14px;flex-basis:17px}
  .tally-inline-mark img{width:22px;height:17px}
  #askTallyFromPayerBtn.tally-inline-btn{gap:6px;padding-left:9px;padding-right:11px}
}
@media(prefers-reduced-motion:reduce){
  .tally-action-sparkles i,.tally-inline-sparkles i{animation:none!important}
}


/* PCI V1.8.12 — Tally mark on Add & Analyze and neon payer Ask Tally */
#askTallyFromPayerBtn.neon-border-btn{
  border-color:rgba(131,89,239,.16)!important;
}
body:not(.dark-mode) #askTallyFromPayerBtn.neon-border-btn{
  background:linear-gradient(135deg,#ffffff 0%,#eefbff 34%,#f5efff 67%,#fff0f7 100%)!important;
  color:var(--ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 22px rgba(58,66,115,.09)!important;
}
.dark-mode #askTallyFromPayerBtn.neon-border-btn{
  background:#11182f!important;
  color:#eef2ff!important;
  border-color:rgba(255,255,255,.06)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.24)!important;
}
#askTallyFromPayerBtn.neon-border-btn span:last-child{position:relative;z-index:3}

.tally-action-mark{
  width:22px;
  height:17px;
  flex:0 0 22px;
  display:grid;
  place-items:center;
  position:relative;
  z-index:3;
}
.tally-action-mark img{
  width:27px;
  height:21px;
  object-fit:contain;
  display:block;
}
#analyzeUploadBtn.tally-action-btn{
  gap:9px;
}
#analyzeUploadBtn.tally-action-btn > span:last-child{
  position:relative;
  z-index:3;
}
@media(max-width:650px){
  .tally-action-mark{width:20px;height:16px;flex-basis:20px}
  .tally-action-mark img{width:24px;height:19px}
  #analyzeUploadBtn.tally-action-btn{gap:8px}
}


/* PCI V1.8.13 — optional provider/staff reimbursement requirements */
.optional-expander{
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(248,249,252,.82);
  overflow:hidden;
}
.optional-expander summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  font-size:11px;
  font-weight:850;
  color:var(--ink);
  user-select:none;
}
.optional-expander summary::-webkit-details-marker{display:none}
.optional-expander summary::after{
  content:"＋";
  color:var(--purple);
  font-size:15px;
  line-height:1;
  font-weight:800;
}
.optional-expander[open] summary::after{content:"−"}
.optional-expander summary small{
  margin-left:auto;
  color:var(--muted);
  font-size:9px;
  font-weight:650;
  text-align:right;
}
.optional-expander-body{
  padding:14px;
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.74);
}
.dark-mode .optional-expander{background:#0d1430;border-color:var(--border)}
.dark-mode .optional-expander-body{background:#11182f;border-color:var(--border)}

.provider-requirement-cell{min-width:168px}
.rate-provider-details{
  border:1px solid rgba(131,89,239,.22);
  border-radius:9px;
  background:linear-gradient(135deg,rgba(35,185,232,.05),rgba(131,89,239,.06),rgba(244,72,164,.04));
  padding:0;
  min-width:155px;
}
.rate-provider-details summary{
  cursor:pointer;
  list-style:none;
  padding:7px 9px;
  color:var(--purple);
  font-weight:850;
  font-size:10px;
  white-space:normal;
}
.rate-provider-details summary::-webkit-details-marker{display:none}
.rate-provider-details summary::after{content:" ▸";font-size:9px}
.rate-provider-details[open] summary::after{content:" ▾"}
.provider-detail-list{
  display:grid;
  grid-template-columns:minmax(92px,auto) 1fr;
  gap:5px 9px;
  padding:8px 9px 9px;
  margin:0;
  border-top:1px solid rgba(131,89,239,.14);
  font-size:9px;
  line-height:1.4;
}
.provider-detail-list dt{color:var(--muted)}
.provider-detail-list dd{margin:0;color:var(--ink);font-weight:750;white-space:normal}
.dark-mode .rate-provider-details{background:linear-gradient(135deg,rgba(46,216,255,.06),rgba(140,99,255,.08),rgba(255,76,167,.05));border-color:#39456d}
@media(max-width:650px){
  .optional-expander summary{align-items:flex-start;flex-wrap:wrap}
  .optional-expander summary small{width:100%;margin-left:0;text-align:left}
}


/* PCI V1.8.14 — Tally modal sparkles + credit label + payer editing polish */
#tallyModal .tally-avatar{position:relative;isolation:isolate}
#tallyModal .tally-avatar > img{position:relative;z-index:2}
.tally-avatar-sparkles{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:3}
.tally-avatar-sparkles i{
  position:absolute;width:5px;height:5px;opacity:0;border-radius:50%;
  background:radial-gradient(circle,#fff 0 16%,#8eeeff 24%,rgba(140,99,255,.90) 52%,rgba(255,76,167,.30) 68%,rgba(255,76,167,0) 84%);
  filter:drop-shadow(0 0 5px rgba(46,216,255,.48));
  animation:tallySparkleDriftV15 5.4s ease-out infinite;
}
.tally-avatar-sparkles i:nth-child(1){right:10px;top:2px;animation-delay:.10s;transform:scale(1)}
.tally-avatar-sparkles i:nth-child(2){right:32px;top:-3px;animation-delay:.50s;transform:scale(.82)}
.tally-avatar-sparkles i:nth-child(3){right:2px;top:25px;animation-delay:.90s;transform:scale(.74)}
.tally-avatar-sparkles i:nth-child(4){right:58px;top:7px;animation-delay:1.30s;transform:scale(.70)}
.tally-avatar-sparkles i:nth-child(5){right:24px;top:50px;animation-delay:1.70s;transform:scale(.90)}
.tally-avatar-sparkles i:nth-child(6){right:72px;top:32px;animation-delay:2.10s;transform:scale(.66)}
.tally-avatar-sparkles i:nth-child(7){left:8px;top:18px;animation-delay:2.50s;transform:scale(.76)}
.tally-avatar-sparkles i:nth-child(8){left:35px;top:2px;animation-delay:2.90s;transform:scale(.88)}
.tally-avatar-sparkles i:nth-child(9){left:2px;top:48px;animation-delay:3.30s;transform:scale(.62)}
.tally-avatar-sparkles i:nth-child(10){right:44px;bottom:2px;animation-delay:3.70s;transform:scale(.78)}
.tally-avatar-sparkles i:nth-child(11){left:48px;bottom:1px;animation-delay:4.10s;transform:scale(.64)}
.tally-avatar-sparkles i:nth-child(12){right:4px;bottom:15px;animation-delay:4.50s;transform:scale(.72)}
.tally-avatar-sparkles i:nth-child(13){left:18px;top:-5px;animation-delay:4.80s;transform:scale(.66)}
.tally-avatar-sparkles i:nth-child(14){right:18px;top:34px;animation-delay:5.05s;transform:scale(.82)}
.tally-avatar-sparkles i:nth-child(15){left:20px;bottom:12px;animation-delay:5.30s;transform:scale(.62)}
.tally-avatar-sparkles i:nth-child(16){right:64px;bottom:8px;animation-delay:5.55s;transform:scale(.76)}
.tally-avatar-sparkles i:nth-child(17){left:58px;top:18px;animation-delay:5.80s;transform:scale(.70)}
.tally-avatar-sparkles i:nth-child(18){right:-2px;top:10px;animation-delay:6.05s;transform:scale(.60)}
@keyframes tallyModalLogoSparkle{
  0%,62%{opacity:0;translate:0 0;scale:.45}
  70%{opacity:.58}
  84%{opacity:.32;translate:8px -9px;scale:1.08}
  100%{opacity:0;translate:18px -24px;scale:.42}
}
#tallyModal .tally-credit-mini span{font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--muted)}
#editPayerBtn{white-space:nowrap}
@media(prefers-reduced-motion:reduce){.tally-avatar-sparkles i{animation:none!important}}


/* PCI V1.8.15 — payer deletion workflow */
#payerDetail{position:relative}
.payer-delete-x{
  position:absolute;right:16px;top:14px;z-index:6;
  width:30px;height:30px;border-radius:9px;border:1px solid rgba(201,75,93,.22);
  background:rgba(255,255,255,.86);color:#a6384a;font-size:20px;font-weight:800;line-height:1;
  display:grid;place-items:center;cursor:pointer;transition:.16s ease;
  box-shadow:0 5px 14px rgba(36,45,91,.06)
}
.payer-delete-x:hover{transform:translateY(-1px);border-color:rgba(201,75,93,.48);background:#fff4f6;color:#b62f48;box-shadow:0 7px 18px rgba(201,75,93,.12)}
.payer-delete-x.preview-locked{opacity:.45}
.dark-mode .payer-delete-x{background:#11182f;border-color:rgba(255,111,135,.24);color:#ff9aae;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.dark-mode .payer-delete-x:hover{background:#261426;border-color:rgba(255,111,135,.48);color:#ffc0cc}

.delete-payer-card{width:min(520px,100%)}
.danger-eyebrow{color:var(--danger)!important}
.delete-warning{
  margin:13px 0;padding:12px 13px;border-radius:11px;
  border:1px solid rgba(201,75,93,.20);background:#fff5f7;color:#773341;
  font-size:11px;line-height:1.55
}
.delete-confirm-line{
  display:flex;align-items:flex-start;gap:10px;margin:16px 0 18px;padding:12px 13px;
  border:1px solid var(--border);border-radius:11px;background:#fafbfe;color:var(--ink);
  font-size:11px;line-height:1.55;cursor:pointer
}
.delete-confirm-line input{margin-top:3px;flex:0 0 auto;accent-color:#c94b5d}
.delete-actions{justify-content:flex-end}
.danger-btn{
  border:1px solid #c94b5d;background:#c94b5d;color:#fff;border-radius:10px;
  padding:11px 16px;font-weight:850;cursor:pointer;transition:.16s ease
}
.danger-btn:hover:not(:disabled){transform:translateY(-1px);background:#b83f54;box-shadow:0 8px 20px rgba(201,75,93,.18)}
.danger-btn:disabled{opacity:.36;cursor:not-allowed;box-shadow:none}
.dark-mode .delete-warning{background:#2b1720;border-color:#5f2c3b;color:#ffc0cc}
.dark-mode .delete-confirm-line{background:#0d1430;border-color:var(--border);color:var(--ink)}
@media(max-width:650px){.payer-delete-x{right:10px;top:10px}.delete-actions{display:grid;grid-template-columns:1fr 1fr}.delete-actions .btn,.delete-actions .danger-btn{width:100%}}


/* PCI V1.8.16 — stored PDF viewer + protected document deletion */
.doc-view-btn{
  border:0;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.doc-view-btn:hover{
  transform:translateY(-1px) scale(1.03);
  filter:saturate(1.08);
  box-shadow:0 6px 16px rgba(198,77,112,.12),0 0 12px rgba(131,89,239,.08);
}
.doc-view-btn:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.document-delete-x{
  width:30px;height:30px;flex:0 0 30px;border-radius:8px;
  border:1px solid rgba(201,75,93,.22);background:#fff;color:#a6384a;
  font-size:18px;font-weight:850;line-height:1;display:grid;place-items:center;
  cursor:pointer;transition:.16s ease
}
.document-delete-x:hover{transform:translateY(-1px);border-color:rgba(201,75,93,.48);background:#fff4f6;color:#b62f48;box-shadow:0 7px 18px rgba(201,75,93,.12)}
.document-delete-x.preview-locked{opacity:.45}
.dark-mode .document-delete-x{background:#11182f;border-color:rgba(255,111,135,.24);color:#ff9aae}
.dark-mode .document-delete-x:hover{background:#261426;border-color:rgba(255,111,135,.48);color:#ffc0cc}
.document-row .row-action{white-space:nowrap}
@media(max-width:650px){.document-delete-x{width:32px;height:32px;flex-basis:32px}}

/* PCI V1.8.17 — Company-scoped payer organization */
.workspace-tools{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.workspace-tools select{
  min-width:150px;
}
#companyFilter{min-width:180px}
.field-hint{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:9px;
  font-weight:650;
  line-height:1.45;
}
.payer-organization-details{margin-top:0}
@media(max-width:980px){
  .workspace-tools{justify-content:flex-start}
  .workspace-tools select{flex:0 1 180px}
}
@media(max-width:650px){
  .workspace-tools select{width:100%;min-width:0;flex:1 1 auto}
}


/* PCI V1.8.18 — explicit Tally scope UI */
.tally-scope-row{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  margin:2px 0 9px;
}
.tally-scope-status{
  min-width:0;display:flex;flex-direction:column;gap:2px;
}
.tally-scope-status span,.tally-company-scope span{
  font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
}
.tally-scope-status b{
  font-size:11px;line-height:1.3;color:var(--ink);white-space:normal;
}
.tally-company-scope{
  display:flex;align-items:center;gap:7px;flex:0 0 auto;
}
.tally-company-scope select{
  min-width:180px;max-width:250px;border:1px solid var(--border);border-radius:9px;
  background:#fff;color:var(--ink);padding:8px 30px 8px 10px;font-size:10px;font-weight:800;
}
.dark-mode .tally-company-scope select{background:#11182f;color:var(--ink);border-color:var(--border)}
#tallyScopeNote{margin-bottom:11px}
@media(max-width:650px){
  .tally-scope-row{align-items:stretch;flex-direction:column;gap:8px}
  .tally-company-scope{align-items:stretch;flex-direction:column;gap:4px}
  .tally-company-scope select{width:100%;max-width:none;min-width:0}
}


/* PCI V1.8.19 — explicit non-destructive payer selection clear control */
.payer-clear-selection{
  position:absolute;right:54px;top:14px;z-index:6;
  min-height:30px;padding:0 10px;border-radius:9px;
  border:1px solid var(--border);background:rgba(255,255,255,.88);color:var(--muted);
  font-size:10px;font-weight:850;line-height:1;cursor:pointer;transition:.16s ease;
  box-shadow:0 5px 14px rgba(36,45,91,.05);white-space:nowrap
}
.payer-clear-selection:hover{
  transform:translateY(-1px);border-color:rgba(131,89,239,.34);background:#f8f6ff;color:var(--purple);
  box-shadow:0 7px 18px rgba(91,72,164,.09)
}
.dark-mode .payer-clear-selection{
  background:#11182f;border-color:var(--border);color:#aeb8d5;box-shadow:0 6px 18px rgba(0,0,0,.16)
}
.dark-mode .payer-clear-selection:hover{background:#171f3d;border-color:#4e5d8e;color:#d8d1ff}
@media(max-width:650px){
  .payer-clear-selection{right:48px;top:10px;padding:0 8px;font-size:9px}
}

/* PCI V1.8.20 — Important Dates + Needs Review queues --------------------- */
.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 18px}
.insight-card{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:var(--soft-shadow);padding:18px;min-width:0}
.insight-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.insight-head h2{font-size:18px;line-height:1.2;margin:4px 0 0}
.insight-count{min-width:34px;height:34px;padding:0 9px;border-radius:999px;display:grid;place-items:center;background:#eef7fb;color:#197e9d;font-size:13px;font-weight:900;border:1px solid #d8edf5}
.insight-count.review-count{background:#fff6e7;color:#9a6510;border-color:#f0dfb8}
.insight-list{display:grid;gap:8px}
.insight-empty{padding:18px 12px;border:1px dashed var(--border);border-radius:11px;text-align:center;color:var(--muted);font-size:11px;background:rgba(255,255,255,.45)}
.insight-item{display:flex;align-items:center;gap:10px;padding:10px 11px;background:#fff;border:1px solid var(--border);border-radius:11px;min-width:0}
.insight-item-main{flex:1;min-width:0}
.insight-item b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.insight-item p{margin:2px 0 0;color:var(--muted);font-size:9.5px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.insight-type{flex:0 0 auto;padding:4px 6px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:#f1edff;color:#6740c7}
.insight-type.document{background:#fff0f4;color:#ad4265}.insight-type.rate{background:#eaf7fb;color:#197e9d}.insight-type.payer{background:#fff6e7;color:#9a6510}
.insight-actions{display:flex;align-items:center;gap:5px;flex:0 0 auto}.insight-actions .row-action{padding:6px 8px}
.date-state{flex:0 0 auto;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}
.date-state.urgent{background:#fff0f4;color:#ad4265}.date-state.upcoming{background:#fff6e7;color:#9a6510}.date-state.future{background:#eaf7fb;color:#197e9d}.date-state.overdue{background:#fdecec;color:#b12f43}.date-state.occurred{background:#f1f2f6;color:#747d92}
.important-dates-mini{display:grid;gap:7px}.important-date-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #edf0f5;font-size:10px}.important-date-row:last-child{border-bottom:0}.important-date-row span:first-child{color:var(--muted)}.important-date-row b{font-size:10.5px}
.review-confirm-btn{border-color:#cde9dd!important;color:#167b54!important;background:#f3fbf7!important}.review-confirm-btn:hover{border-color:#9ed3bd!important}
.document-row .document-download-btn{white-space:nowrap}
.dark-mode .insight-card{background:var(--panel);border-color:var(--border)}
.dark-mode .insight-item,.dark-mode .insight-empty{background:#11182f;border-color:var(--border)}
.dark-mode .insight-count{background:#102a38;color:#83dff7;border-color:#1e4557}.dark-mode .insight-count.review-count{background:#342b18;color:#e5bb68;border-color:#5d4923}
.dark-mode .important-date-row{border-bottom-color:#273251}
.dark-mode .review-confirm-btn{background:#112a22!important;border-color:#285842!important;color:#8ee0b9!important}
@media(max-width:860px){.insight-grid{grid-template-columns:1fr}}
@media(max-width:650px){.insight-item{align-items:flex-start;flex-wrap:wrap}.insight-actions{width:100%;justify-content:flex-end}.important-date-row{grid-template-columns:1fr auto}.important-date-row .date-state{grid-column:2}}


/* PCI V1.8.21 — center PDF label inside document icon */
.doc-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  padding:0!important;
}
.doc-icon.doc-view-btn{
  font-size:10px;
  letter-spacing:0;
}


/* PCI V1.8.22 — Needs Review View/Deny polish */
.review-deny-btn{border-color:#efc9d0!important;color:#aa3348!important;background:#fff7f8!important}
.review-deny-btn:hover{border-color:#d9909d!important;background:#fff0f3!important}
.verification.denied{background:#fff0f3;color:#a6374d}
.dark-mode .review-deny-btn{background:#351821!important;border-color:#6b3040!important;color:#ff9db0!important}
.dark-mode .verification.denied{background:#3b1c27;color:#ff9db0}
.deny-review-card{width:min(520px,100%)}


/* PCI V1.8.24 — restrained small-text readability pass ---------------------
   Only microcopy / metadata that was 8–10px is bumped by about 1px. Normal
   body copy, buttons, headings and layout sizing remain unchanged. */
.test-pill,.demo-mode{font-size:11px}
.metric-card small{font-size:11px}
.credit-ring span{font-size:11px}
.status-pill{font-size:10px}
.payer-stat span{font-size:10px}
.payer-foot{font-size:11px}
.data-table th{font-size:10px}
.verification{font-size:10px}
.document-row p,.history-row p{font-size:11px}
.row-action{font-size:11px}
.form-grid label,.standard-label{font-size:11px}
.file-preview{font-size:11px}
.confirm-line{font-size:11px}
.analysis-item span{font-size:10px}
.scope-note{font-size:11px}
.message .message-label{font-size:9px}
.prompt-chips button{font-size:10px}
.tally-footer{font-size:10px}
.tally-fab small{font-size:9px}
.optional-expander summary small{font-size:10px}
.rate-provider-details summary{font-size:11px}
.rate-provider-details summary::after{font-size:10px}
.provider-detail-list{font-size:10px}
.field-hint{font-size:10px}
.tally-scope-status span,.tally-company-scope span{font-size:9px}
.tally-company-scope select{font-size:11px}
.payer-clear-selection{font-size:11px}
.insight-item p{font-size:10.5px}
.insight-type,.date-state{font-size:9px}
.important-date-row{font-size:11px}
.doc-icon.doc-view-btn{font-size:11px}

@media(max-width:650px){
  .payer-clear-selection{font-size:10px}
}


/* PCI V1.8.25 — keep duplicate-PDF feedback inside the upload modal. */
.upload-inline-warning{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid rgba(200,133,22,.34);
  border-radius:10px;
  background:#fff8e9;
  color:#82550f;
  font-size:11px;
  font-weight:750;
  line-height:1.5;
}
.upload-inline-warning::before{
  content:"⚠ ";
  font-weight:900;
}
.dark-mode .upload-inline-warning{
  background:#302611;
  border-color:#665025;
  color:#f0c879;
}


/* PCI V1.8.26 — targeted Edit Payer workspace readability bump -----------
   Increase the edit modal's smaller copy by roughly one step without
   changing Add Payer, other modals, buttons, or the overall PCI density. */
#payerModal.edit-mode .eyebrow{font-size:12px}
#payerModal.edit-mode .modal-card h2{font-size:26px}
#payerModal.edit-mode .modal-copy{font-size:13px}
#payerModal.edit-mode .form-grid label{font-size:12px}
#payerModal.edit-mode .form-grid input,
#payerModal.edit-mode .form-grid select,
#payerModal.edit-mode .form-grid textarea{font-size:14px}
#payerModal.edit-mode .field-hint{font-size:11px}
#payerModal.edit-mode .optional-expander summary{font-size:12px}
#payerModal.edit-mode .optional-expander summary small{font-size:11px}


/* PCI V1.8.27 — Add Payer readability matches Edit Payer */
#payerModal:not(.edit-mode) .eyebrow{font-size:12px}
#payerModal:not(.edit-mode) .modal-card h2{font-size:26px}
#payerModal:not(.edit-mode) .modal-copy{font-size:13px}
#payerModal:not(.edit-mode) .form-grid label{font-size:12px}
#payerModal:not(.edit-mode) .form-grid input,
#payerModal:not(.edit-mode) .form-grid select,
#payerModal:not(.edit-mode) .form-grid textarea{font-size:14px}
#payerModal:not(.edit-mode) .field-hint{font-size:11px}
#payerModal:not(.edit-mode) .optional-expander summary{font-size:12px}
#payerModal:not(.edit-mode) .optional-expander summary small{font-size:11px}


/* PCI V1.8.28 — readability + restrained glow hierarchy ------------------ */

/* Lower populated payer-detail workspace: soft, non-animated glow plus a
   slightly larger local type scale so the detail area is easier to scan. */
#payerDetail{
  border-color:rgba(131,89,239,.38);
  box-shadow:
    0 0 0 1px rgba(35,185,232,.07),
    0 0 11px rgba(35,185,232,.09),
    0 0 21px rgba(131,89,239,.09),
    0 0 30px rgba(244,72,164,.05),
    var(--shadow);
}
.dark-mode #payerDetail{
  border-color:rgba(71,215,255,.36);
  box-shadow:
    0 0 0 1px rgba(71,215,255,.07),
    0 0 12px rgba(71,215,255,.10),
    0 0 23px rgba(140,99,255,.10),
    0 0 32px rgba(255,76,167,.06),
    var(--shadow);
}
#payerDetail .link-button{font-size:13px}
#payerDetail .eyebrow{font-size:12px}
#payerDetail .detail-title-row p{font-size:13px}
#payerDetail .info-card h3{font-size:14px}
#payerDetail .info-list{font-size:12px}
#payerDetail .note-card p{font-size:13px}
#payerDetail .data-table{font-size:12px}
#payerDetail .data-table th{font-size:11px}
#payerDetail .document-row b,#payerDetail .history-row b{font-size:13px}
#payerDetail .document-row p,#payerDetail .history-row p{font-size:12px}
#payerDetail .row-action{font-size:12px}
#payerDetail .verification{font-size:11px}
#payerDetail .payer-clear-selection{font-size:12px}

/* Another restrained one-step increase for the remaining microcopy across PCI.
   Main body copy/headings/button labels are intentionally left alone. */
.test-pill,.demo-mode{font-size:12px}
.metric-card>span,.credit-card span{font-size:12px}
.metric-card small{font-size:12px}
.credit-ring span{font-size:12px}
.status-pill{font-size:11px}
.payer-stat span{font-size:11px}
.payer-foot{font-size:12px}
.data-table th{font-size:11px}
.verification{font-size:11px}
.document-row p,.history-row p{font-size:12px}
.row-action{font-size:12px}
.form-grid label,.standard-label{font-size:12px}
.drop-zone p{font-size:12px}
.drop-zone small{font-size:11px}
.file-preview{font-size:12px}
.confirm-line{font-size:12px}
.analysis-preview{font-size:12px}
.analysis-item span{font-size:11px}
.analysis-item b{font-size:12px}
.scope-note{font-size:12px}
.message .message-label{font-size:10px}
.prompt-chips button{font-size:11px}
.tally-footer{font-size:11px}
.optional-expander summary small{font-size:11px}
.rate-provider-details summary{font-size:12px}
.rate-provider-details summary::after{font-size:11px}
.provider-detail-list{font-size:11px}
.field-hint{font-size:11px}
.tally-scope-status span,.tally-company-scope span{font-size:10px}
.tally-scope-status b{font-size:12px}
.tally-company-scope select{font-size:12px}
.payer-clear-selection{font-size:12px}
.insight-empty{font-size:12px}
.insight-item b{font-size:12px}
.insight-item p{font-size:11.5px}
.insight-type,.date-state{font-size:10px}
.important-date-row{font-size:12px}
.important-date-row b{font-size:11.5px}
.doc-icon.doc-view-btn{font-size:12px}
.upload-inline-warning{font-size:12px}

/* Upcoming contract dates: established animated Logic Bunting neon border. */
.important-dates-card{
  position:relative;
  isolation:isolate;
  border-color:rgba(131,89,239,.32);
}
.important-dates-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:20px;
  padding:2px;
  background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink),var(--cyan));
  background-size:220% 100%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.92;
  animation:upgradeNeonBorder 6.4s linear infinite;
}
.important-dates-card::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:20px;
  pointer-events:none;
  box-shadow:0 0 9px rgba(35,185,232,.13),0 0 15px rgba(131,89,239,.11),0 0 19px rgba(244,72,164,.08);
}
.dark-mode .important-dates-card::before{
  background:linear-gradient(90deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff);
  background-size:220% 100%;
}
.dark-mode .important-dates-card::after{
  box-shadow:0 0 10px rgba(46,216,255,.16),0 0 17px rgba(140,99,255,.14),0 0 22px rgba(255,76,167,.09);
}

/* Soft glow controls: intentionally static so they remain below neon CTAs. */
#addPayerBtn,#uploadDocBtn,#detailUploadBtn{
  border-color:rgba(131,89,239,.34)!important;
  box-shadow:
    0 0 0 1px rgba(35,185,232,.06),
    0 0 8px rgba(35,185,232,.08),
    0 0 14px rgba(131,89,239,.09),
    0 0 19px rgba(244,72,164,.05),
    0 7px 18px rgba(36,45,91,.06)!important;
}
#addPayerBtn:hover,#uploadDocBtn:hover,#detailUploadBtn:hover{
  border-color:rgba(131,89,239,.50)!important;
  box-shadow:
    0 0 0 1px rgba(35,185,232,.08),
    0 0 10px rgba(35,185,232,.11),
    0 0 17px rgba(131,89,239,.12),
    0 0 22px rgba(244,72,164,.07),
    0 9px 20px rgba(36,45,91,.08)!important;
}
.dark-mode #addPayerBtn,.dark-mode #uploadDocBtn,.dark-mode #detailUploadBtn{
  border-color:rgba(71,215,255,.30)!important;
  box-shadow:
    0 0 0 1px rgba(71,215,255,.06),
    0 0 9px rgba(71,215,255,.09),
    0 0 15px rgba(140,99,255,.10),
    0 0 20px rgba(255,76,167,.06),
    0 8px 20px rgba(0,0,0,.16)!important;
}

/* Give the floating Ask Tally / Contract assistant launcher roughly 50% more
   visual presence without changing its behavior. */
.tally-fab{
  padding:16px 22px;
  gap:14px;
  border-radius:22px;
}
.tally-fab::before{border-radius:24px}
.tally-fab-mark{width:90px;height:68px;flex:0 0 90px}
.tally-fab-mark img{width:98px;height:76px}
.tally-fab b{font-size:15px;line-height:1.15}
.tally-fab small{font-size:12px;line-height:1.2;margin-top:2px}

@media(max-width:650px){
  .tally-fab{padding:13px 17px;gap:10px;border-radius:19px}
  .tally-fab::before{border-radius:21px}
  .tally-fab-mark{width:72px;height:55px;flex-basis:72px}
  .tally-fab-mark img{width:79px;height:61px}
  .tally-fab b{font-size:14px}
  .tally-fab small{font-size:11px}
  #payerDetail .payer-clear-selection{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .important-dates-card::before{animation:none!important}
}


/* PCI V1.8.29 — breathing detail glow, readability, stronger soft CTAs,
   larger Tally launcher, and immediate/faster sparkle cadence. */

/* The populated lower All Payers / selected payer workspace now breathes
   with the same glow language used by payer cards. */
#payerDetail{
  animation:proActiveGlow 3.2s ease-in-out infinite;
}

/* One more restrained readability step for the smallest text across PCI.
   Normal body copy, headings, and primary button labels remain unchanged. */
.test-pill,.demo-mode{font-size:13px}
.metric-card>span,.credit-card span{font-size:13px}
.metric-card small{font-size:13px}
.credit-ring span{font-size:13px}
.status-pill{font-size:12px}
.payer-stat span{font-size:12px}
.payer-foot{font-size:13px}
.data-table th{font-size:12px}
.verification{font-size:12px}
.document-row p,.history-row p{font-size:13px}
.row-action{font-size:13px}
.form-grid label,.standard-label{font-size:13px}
.drop-zone p{font-size:13px}
.drop-zone small{font-size:12px}
.file-preview{font-size:13px}
.confirm-line{font-size:13px}
.analysis-preview{font-size:13px}
.analysis-item span{font-size:12px}
.analysis-item b{font-size:13px}
.scope-note{font-size:13px}
.message .message-label{font-size:11px}
.prompt-chips button{font-size:12px}
.tally-footer{font-size:12px}
.optional-expander summary small{font-size:12px}
.rate-provider-details summary{font-size:13px}
.rate-provider-details summary::after{font-size:12px}
.provider-detail-list{font-size:12px}
.field-hint{font-size:12px}
.tally-scope-status span,.tally-company-scope span{font-size:11px}
.tally-scope-status b{font-size:13px}
.tally-company-scope select{font-size:13px}
.payer-clear-selection{font-size:13px}
.insight-empty{font-size:13px}
.insight-item b{font-size:13px}
.insight-item p{font-size:12px}
.insight-type,.date-state{font-size:11px}
.important-date-row{font-size:13px}
.important-date-row b{font-size:12px}
.doc-icon.doc-view-btn{font-size:13px}
.upload-inline-warning{font-size:13px}

/* The lower payer workspace gets a little more local readability too. */
#payerDetail .link-button{font-size:14px}
#payerDetail .eyebrow{font-size:13px}
#payerDetail .detail-title-row p{font-size:14px}
#payerDetail .info-card h3{font-size:15px}
#payerDetail .info-list{font-size:13px}
#payerDetail .note-card p{font-size:14px}
#payerDetail .data-table{font-size:13px}
#payerDetail .data-table th{font-size:12px}
#payerDetail .document-row b,#payerDetail .history-row b{font-size:14px}
#payerDetail .document-row p,#payerDetail .history-row p{font-size:13px}
#payerDetail .row-action{font-size:13px}
#payerDetail .verification{font-size:12px}
#payerDetail .payer-clear-selection{font-size:13px}

/* Upload payer document gets an additional localized bump beyond the
   page-wide microcopy increase. */
#uploadModal .eyebrow{font-size:13px}
#uploadModal .modal-card h2{font-size:27px}
#uploadModal .modal-copy{font-size:14px}
#uploadModal .standard-label{font-size:14px}
#uploadModal .standard-label select{font-size:14px}
#uploadModal .drop-zone h3{font-size:18px}
#uploadModal .drop-zone p{font-size:14px}
#uploadModal .drop-zone small{font-size:13px}
#uploadModal .file-preview{font-size:14px}
#uploadModal .confirm-line{font-size:14px}
#uploadModal .upload-inline-warning{font-size:14px}
#uploadModal .analysis-preview{font-size:14px}
#uploadModal .analysis-item span{font-size:13px}
#uploadModal .analysis-item b{font-size:14px}

/* Strengthen the requested soft-glow treatment without turning these into
   animated neon CTAs. */
#addPayerBtn,#uploadDocBtn,#detailUploadBtn{
  border-color:rgba(131,89,239,.44)!important;
  box-shadow:
    0 0 0 1px rgba(35,185,232,.09),
    0 0 11px rgba(35,185,232,.13),
    0 0 19px rgba(131,89,239,.14),
    0 0 27px rgba(244,72,164,.08),
    0 8px 20px rgba(36,45,91,.07)!important;
}
#addPayerBtn:hover,#uploadDocBtn:hover,#detailUploadBtn:hover{
  border-color:rgba(131,89,239,.60)!important;
  box-shadow:
    0 0 0 1px rgba(35,185,232,.12),
    0 0 14px rgba(35,185,232,.17),
    0 0 23px rgba(131,89,239,.17),
    0 0 31px rgba(244,72,164,.10),
    0 10px 24px rgba(36,45,91,.09)!important;
}
.dark-mode #addPayerBtn,.dark-mode #uploadDocBtn,.dark-mode #detailUploadBtn{
  border-color:rgba(71,215,255,.40)!important;
  box-shadow:
    0 0 0 1px rgba(71,215,255,.09),
    0 0 12px rgba(71,215,255,.14),
    0 0 21px rgba(140,99,255,.15),
    0 0 29px rgba(255,76,167,.09),
    0 9px 22px rgba(0,0,0,.18)!important;
}

/* Give the floating Tally launcher another roughly half-step of visual size. */
.tally-fab{
  padding:20px 28px;
  gap:17px;
  border-radius:27px;
}
.tally-fab::before{border-radius:29px}
.tally-fab-mark{width:128px;height:96px;flex:0 0 128px}
.tally-fab-mark img{width:138px;height:107px}
.tally-fab b{font-size:18px;line-height:1.15}
.tally-fab small{font-size:14px;line-height:1.2;margin-top:3px}

/* All Tally sparkle surfaces now begin visibly on first paint and cycle
   faster. Negative stagger keeps the effect continuous rather than bursting
   all at once. */
@keyframes tallySparkleImmediate{
  0%{opacity:.38;translate:0 0;scale:.62}
  12%{opacity:.58;translate:2px -2px;scale:.82}
  42%{opacity:.28;translate:9px -10px;scale:1.05}
  70%{opacity:0;translate:18px -23px;scale:.48}
  100%{opacity:0;translate:22px -28px;scale:.40}
}
.tally-fab-sparkles i,
.tally-submit-sparkles i,
.tally-action-sparkles i,
.tally-inline-sparkles i,
.tally-avatar-sparkles i{
  animation-name:tallySparkleImmediate!important;
  animation-duration:3.6s!important;
  animation-timing-function:ease-out!important;
  animation-iteration-count:infinite!important;
}
.tally-fab-sparkles i:nth-child(6n+1),.tally-submit-sparkles i:nth-child(6n+1),.tally-action-sparkles i:nth-child(6n+1),.tally-inline-sparkles i:nth-child(6n+1),.tally-avatar-sparkles i:nth-child(6n+1){animation-delay:0s!important}
.tally-fab-sparkles i:nth-child(6n+2),.tally-submit-sparkles i:nth-child(6n+2),.tally-action-sparkles i:nth-child(6n+2),.tally-inline-sparkles i:nth-child(6n+2),.tally-avatar-sparkles i:nth-child(6n+2){animation-delay:-.55s!important}
.tally-fab-sparkles i:nth-child(6n+3),.tally-submit-sparkles i:nth-child(6n+3),.tally-action-sparkles i:nth-child(6n+3),.tally-inline-sparkles i:nth-child(6n+3),.tally-avatar-sparkles i:nth-child(6n+3){animation-delay:-1.1s!important}
.tally-fab-sparkles i:nth-child(6n+4),.tally-submit-sparkles i:nth-child(6n+4),.tally-action-sparkles i:nth-child(6n+4),.tally-inline-sparkles i:nth-child(6n+4),.tally-avatar-sparkles i:nth-child(6n+4){animation-delay:-1.65s!important}
.tally-fab-sparkles i:nth-child(6n+5),.tally-submit-sparkles i:nth-child(6n+5),.tally-action-sparkles i:nth-child(6n+5),.tally-inline-sparkles i:nth-child(6n+5),.tally-avatar-sparkles i:nth-child(6n+5){animation-delay:-2.2s!important}
.tally-fab-sparkles i:nth-child(6n),.tally-submit-sparkles i:nth-child(6n),.tally-action-sparkles i:nth-child(6n),.tally-inline-sparkles i:nth-child(6n),.tally-avatar-sparkles i:nth-child(6n){animation-delay:-2.75s!important}

@media(max-width:650px){
  .tally-fab{padding:15px 20px;gap:12px;border-radius:22px}
  .tally-fab::before{border-radius:24px}
  .tally-fab-mark{width:88px;height:66px;flex-basis:88px}
  .tally-fab-mark img{width:96px;height:74px}
  .tally-fab b{font-size:15px}
  .tally-fab small{font-size:12px}
  #payerDetail .payer-clear-selection{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  #payerDetail{animation:none!important}
  .tally-fab-sparkles i,.tally-submit-sparkles i,.tally-action-sparkles i,.tally-inline-sparkles i,.tally-avatar-sparkles i{animation:none!important}
}

/* PCI V1.8.31 — page-wide readability floor -----------------------------
   Increase smaller UI/body text one more step while intentionally leaving
   true page/section/modal headings and branding at their established sizes. */
.safety-banner,
.pci-access-banner{font-size:14px}

.metric-card>span,
.credit-card span,
.metric-card small,
.credit-ring span{font-size:14px}

.search-box input,
.workspace-tools select{font-size:14px}

.btn,
.btn.small{font-size:14px}

.payer-card p,
.payer-foot{font-size:14px}
.payer-stat b{font-size:15px}
.payer-stat span,
.status-pill{font-size:13px}

.insight-count{font-size:14px}
.insight-empty,
.insight-item b,
.important-date-row{font-size:14px}
.insight-item p,
.important-date-row b{font-size:13px}
.insight-type,
.date-state{font-size:12px}

.detail-tab,
.link-button,
.detail-title-row p,
.info-list,
.note-card p,
.data-table,
.document-row p,
.history-row p,
.row-action,
.payer-clear-selection{font-size:14px}
.document-row b,
.history-row b{font-size:15px}
.data-table th,
.verification{font-size:13px}

/* Form/body text gets the same readability floor; modal titles stay put. */
.modal-copy,
.small-modal p,
.form-grid label,
.standard-label,
.form-grid input,
.form-grid select,
.form-grid textarea,
.standard-label select,
.file-preview,
.confirm-line,
.analysis-preview,
.scope-note,
.delete-warning,
.delete-confirm-line{font-size:14px}
.drop-zone p{font-size:14px}
.drop-zone small,
.analysis-item span,
.field-hint,
.optional-expander summary small,
.rate-provider-details summary::after,
.tally-footer{font-size:13px}
.analysis-item b,
.optional-expander summary,
.rate-provider-details summary,
.provider-detail-list,
.tally-scope-status b,
.tally-company-scope select,
.prompt-chips button{font-size:14px}
.tally-scope-status span,
.tally-company-scope span,
.message .message-label{font-size:12px}
.message{font-size:14px}
.tally-form textarea{font-size:14px}
.toast{font-size:13px}
.doc-icon.doc-view-btn,
.upload-inline-warning{font-size:14px}

/* Preserve the larger local scale already established in payer detail while
   lifting its remaining body text one additional step. */
#payerDetail .link-button{font-size:15px}
#payerDetail .detail-title-row p{font-size:15px}
#payerDetail .info-list{font-size:14px}
#payerDetail .note-card p{font-size:15px}
#payerDetail .data-table{font-size:14px}
#payerDetail .data-table th{font-size:13px}
#payerDetail .document-row b,
#payerDetail .history-row b{font-size:15px}
#payerDetail .document-row p,
#payerDetail .history-row p,
#payerDetail .row-action,
#payerDetail .payer-clear-selection{font-size:14px}
#payerDetail .verification{font-size:13px}

@media(max-width:650px){
  .btn,.btn.small{font-size:14px}
  .search-box input,.workspace-tools select{font-size:14px}
  #payerDetail .payer-clear-selection{font-size:14px}
}

/* PCI V1.8.32 — whole-launcher Tally sparkles + payer-detail action glow --- */
/* Spread the main floating Ask Tally sparkles across the full button surface
   instead of clustering them around the logo/right edge. Keep the sparkles
   clipped to the launcher so the entire button reads as the effect area. */
.tally-fab-sparkles{
  inset:0;
  overflow:hidden;
  border-radius:inherit;
}
.tally-fab-sparkles i{right:auto!important;bottom:auto!important}
.tally-fab-sparkles i:nth-child(1){left:5%!important;top:12%!important}
.tally-fab-sparkles i:nth-child(2){left:16%!important;top:58%!important}
.tally-fab-sparkles i:nth-child(3){left:26%!important;top:24%!important}
.tally-fab-sparkles i:nth-child(4){left:36%!important;top:76%!important}
.tally-fab-sparkles i:nth-child(5){left:45%!important;top:10%!important}
.tally-fab-sparkles i:nth-child(6){left:54%!important;top:48%!important}
.tally-fab-sparkles i:nth-child(7){left:63%!important;top:82%!important}
.tally-fab-sparkles i:nth-child(8){left:72%!important;top:18%!important}
.tally-fab-sparkles i:nth-child(9){left:81%!important;top:56%!important}
.tally-fab-sparkles i:nth-child(10){left:90%!important;top:28%!important}
.tally-fab-sparkles i:nth-child(11){left:8%!important;top:82%!important}
.tally-fab-sparkles i:nth-child(12){left:21%!important;top:42%!important}
.tally-fab-sparkles i:nth-child(13){left:33%!important;top:8%!important}
.tally-fab-sparkles i:nth-child(14){left:48%!important;top:68%!important}
.tally-fab-sparkles i:nth-child(15){left:60%!important;top:30%!important}
.tally-fab-sparkles i:nth-child(16){left:74%!important;top:72%!important}
.tally-fab-sparkles i:nth-child(17){left:86%!important;top:8%!important}
.tally-fab-sparkles i:nth-child(18){left:94%!important;top:72%!important}

/* Match Edit Payer and Add Rate to the existing payer-level Upload PDF soft glow. */
#payerDetail #detailUploadBtn,
#payerDetail #editPayerBtn,
#payerDetail #copyPayerBtn,
#payerDetail #addRateBtn{
  border-color:rgba(131,89,239,.44)!important;
  box-shadow:
    0 0 0 1px rgba(35,185,232,.09),
    0 0 11px rgba(35,185,232,.13),
    0 0 19px rgba(131,89,239,.14),
    0 0 27px rgba(244,72,164,.08),
    0 8px 20px rgba(36,45,91,.07)!important;
}
#payerDetail #detailUploadBtn:hover,
#payerDetail #editPayerBtn:hover,
#payerDetail #copyPayerBtn:hover,
#payerDetail #addRateBtn:hover{
  border-color:rgba(131,89,239,.60)!important;
  box-shadow:
    0 0 0 1px rgba(35,185,232,.12),
    0 0 14px rgba(35,185,232,.17),
    0 0 23px rgba(131,89,239,.17),
    0 0 31px rgba(244,72,164,.10),
    0 10px 24px rgba(36,45,91,.09)!important;
}
.dark-mode #payerDetail #detailUploadBtn,
.dark-mode #payerDetail #editPayerBtn,
.dark-mode #payerDetail #copyPayerBtn,
.dark-mode #payerDetail #addRateBtn{
  border-color:rgba(71,215,255,.40)!important;
  box-shadow:
    0 0 0 1px rgba(71,215,255,.09),
    0 0 12px rgba(71,215,255,.14),
    0 0 21px rgba(140,99,255,.15),
    0 0 29px rgba(255,76,167,.09),
    0 9px 22px rgba(0,0,0,.18)!important;
}


/* PCI V1.8.33 — Light-mode halo behind the floating Tally bird mark. */
body:not(.dark-mode) .tally-fab-mark{
  position:relative;
  isolation:isolate;
}
body:not(.dark-mode) .tally-fab-mark::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:84%;
  height:84%;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:radial-gradient(circle,
    rgba(131,89,239,.34) 0%,
    rgba(161,114,255,.24) 26%,
    rgba(131,89,239,.14) 48%,
    rgba(131,89,239,.07) 62%,
    rgba(131,89,239,0) 78%);
  filter:blur(14px);
  opacity:.92;
  z-index:0;
  pointer-events:none;
}
body:not(.dark-mode) .tally-fab-mark img{
  position:relative;
  z-index:1;
  filter:drop-shadow(0 0 4px rgba(35,185,232,.38)) drop-shadow(0 0 7px rgba(131,89,239,.25)) drop-shadow(0 0 14px rgba(131,89,239,.12));
}


/* PCI V1.8.34 — stronger/wider Light-mode Tally bird halo. */
body:not(.dark-mode) .tally-fab-mark::before{
  width:108%;
  height:108%;
  background:radial-gradient(circle,
    rgba(105,55,205,.48) 0%,
    rgba(124,72,224,.36) 28%,
    rgba(131,89,239,.24) 50%,
    rgba(131,89,239,.12) 67%,
    rgba(131,89,239,0) 84%);
  filter:blur(18px);
  opacity:.96;
}


/* PCI V1.8.35 — payer contact display. */
.contact-info-list dd{max-width:290px;overflow-wrap:anywhere}
.contact-link{color:var(--purple);font-weight:850;text-decoration:none}
.contact-link:hover{text-decoration:underline}
.dark-mode .contact-link{color:#b7a0ff}


/* PCI V1.8.37 — larger inline Tally marks + soft-neon optional payer sections.
   Keep existing button text, padding, artwork, theme switching and sparkles.
   Short icon slots keep the button heights stable; the square artwork can
   extend into their existing vertical padding without being stretched. */
#askTallyFromPayerBtn .tally-inline-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:20px;
  flex:0 0 30px;
}
#askTallyFromPayerBtn .tally-inline-mark img{
  width:30px;
  height:30px;
  object-fit:contain;
}
#analyzeUploadBtn .tally-action-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:21px;
  flex:0 0 34px;
}
#analyzeUploadBtn .tally-action-mark img{
  width:34px;
  height:34px;
  object-fit:contain;
}

/* Match the approved soft-glow palette and 1px border of Upload PDF.
   No overlay is placed over the summary or its inputs; the expanders keep
   their native click/keyboard behavior in both Add and Edit modes. */
#payerModal .payer-optional-glow{
  border-color:rgba(131,89,239,.44);
  box-shadow:
    0 0 0 1px rgba(35,185,232,.09),
    0 0 11px rgba(35,185,232,.13),
    0 0 19px rgba(131,89,239,.14),
    0 0 27px rgba(244,72,164,.08),
    0 8px 20px rgba(36,45,91,.07);
}
#payerModal .payer-optional-glow:focus-within{
  border-color:rgba(131,89,239,.60);
}
.dark-mode #payerModal .payer-optional-glow{
  border-color:rgba(71,215,255,.40);
  box-shadow:
    0 0 0 1px rgba(71,215,255,.09),
    0 0 12px rgba(71,215,255,.14),
    0 0 21px rgba(140,99,255,.15),
    0 0 29px rgba(255,76,167,.09),
    0 9px 22px rgba(0,0,0,.18);
}
.dark-mode #payerModal .payer-optional-glow:focus-within{
  border-color:rgba(71,215,255,.60);
}
@media(max-width:650px){
  #askTallyFromPayerBtn .tally-inline-mark{width:26px;height:20px;flex-basis:26px}
  #askTallyFromPayerBtn .tally-inline-mark img{width:26px;height:26px}
  #analyzeUploadBtn .tally-action-mark{width:30px;height:21px;flex-basis:30px}
  #analyzeUploadBtn .tally-action-mark img{width:30px;height:30px}
}


/* PCI V1.8.38 — linked parent-brand logo + soft-neon Provider / Staff Requirements. */
.brand{
  text-decoration:none;
  color:inherit;
}
.brand:focus-visible{
  outline:2px solid rgba(131,89,239,.50);
  outline-offset:5px;
  border-radius:10px;
}
#providerRequirementsDetails{
  border-color:rgba(131,89,239,.34);
  box-shadow:
    0 0 0 1px rgba(35,185,232,.06),
    0 0 8px rgba(35,185,232,.08),
    0 0 15px rgba(131,89,239,.09),
    0 0 21px rgba(244,72,164,.05);
}
#providerRequirementsDetails[open]{
  border-color:rgba(131,89,239,.44);
  box-shadow:
    0 0 0 1px rgba(35,185,232,.08),
    0 0 11px rgba(35,185,232,.10),
    0 0 19px rgba(131,89,239,.12),
    0 0 28px rgba(244,72,164,.07);
}
.dark-mode #providerRequirementsDetails{
  border-color:rgba(71,215,255,.28);
  box-shadow:
    0 0 0 1px rgba(71,215,255,.06),
    0 0 9px rgba(71,215,255,.09),
    0 0 15px rgba(140,99,255,.10),
    0 0 20px rgba(255,76,167,.05);
}
.dark-mode #providerRequirementsDetails[open]{
  border-color:rgba(71,215,255,.38);
  box-shadow:
    0 0 0 1px rgba(71,215,255,.08),
    0 0 12px rgba(71,215,255,.11),
    0 0 20px rgba(140,99,255,.12),
    0 0 27px rgba(255,76,167,.07);
}


/* PCI V1.8.39 — management polish: sort, tab counts, last updated,
   Current Contract, actionable empty states, and quick-copy contact actions. */
#payerSort{min-width:178px}
.tab-count{
  display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;margin-left:5px;
  border-radius:999px;background:rgba(131,89,239,.10);border:1px solid rgba(131,89,239,.18);
  font-size:11px;font-weight:850;color:var(--purple);line-height:1;
}
.detail-tab.active .tab-count{background:rgba(131,89,239,.16)}
.dark-mode .tab-count{background:rgba(71,215,255,.08);border-color:rgba(71,215,255,.18);color:#9cecff}
.payer-updated{display:block;margin-top:5px;color:var(--muted);font-size:12px;font-weight:650}
.current-contract-row{
  border-color:rgba(131,89,239,.34)!important;
  box-shadow:0 0 0 1px rgba(35,185,232,.05),0 0 12px rgba(131,89,239,.08);
}
.document-main{min-width:0}
.document-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.current-contract-badge{
  display:inline-flex;align-items:center;border:1px solid rgba(131,89,239,.30);border-radius:999px;
  padding:3px 7px;font-size:11px;font-weight:850;color:#6845c6;background:rgba(131,89,239,.08);white-space:nowrap;
}
.dark-mode .current-contract-badge{color:#b8a5ff;background:rgba(140,99,255,.12);border-color:rgba(140,99,255,.32)}
.current-contract-btn.is-current{opacity:.72;cursor:default;background:rgba(131,89,239,.08)}
.inline-empty{display:grid;gap:7px;color:var(--muted)}
.inline-empty b{color:var(--ink);font-size:14px}
.inline-empty span{font-size:13px;line-height:1.45}
.inline-empty .row-action{justify-self:start;margin-top:2px}
.detail-empty{padding:28px 18px!important}
.detail-empty .btn{margin-top:7px}
.contact-value-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;min-width:0;word-break:break-word}
.copy-btn{
  border:1px solid rgba(131,89,239,.22);background:rgba(131,89,239,.06);color:var(--purple);
  border-radius:7px;padding:3px 7px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;line-height:1.2;
}
.copy-btn:hover{border-color:rgba(131,89,239,.42);box-shadow:0 0 10px rgba(131,89,239,.10)}
.dark-mode .copy-btn{border-color:rgba(71,215,255,.20);background:rgba(71,215,255,.06);color:#9cecff}
@media(max-width:650px){#payerSort{width:100%}.document-row{align-items:flex-start;flex-wrap:wrap}.document-main{flex:1 1 220px}.current-contract-badge{font-size:10px}.contact-value-actions{justify-content:flex-start}.contact-info-list dd{text-align:left}}


/* PCI V1.8.40 — convenience updates */
.clear-filters-btn{
  border:1px solid var(--border);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,255,.98));
  color:var(--purple);
  border-radius:10px;
  padding:10px 12px;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  white-space:nowrap;
}
.clear-filters-btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(68,66,124,.10)}
.dark-mode .clear-filters-btn{background:#11182f;color:#cbb9ff;border-color:var(--border)}
.section-toggle-row{display:flex;justify-content:flex-end;gap:8px;margin:-4px 0 14px;flex-wrap:wrap}
.payer-completeness{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.completeness-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;border:1px solid var(--border);font-size:9px;font-weight:850;letter-spacing:.03em;text-transform:uppercase;background:#fbfcff;color:var(--muted)}
.completeness-chip.complete{background:#effaf4;color:#167b54;border-color:rgba(22,123,84,.18)}
.completeness-chip.missing{background:#fff8eb;color:#9a6510;border-color:rgba(154,101,16,.16)}
.dark-mode .completeness-chip{background:#11182f;border-color:var(--border);color:#aeb8d2}
.dark-mode .completeness-chip.complete{background:rgba(34,87,66,.35);color:#8ce4bf;border-color:rgba(88,197,151,.22)}
.dark-mode .completeness-chip.missing{background:rgba(94,72,20,.30);color:#f0c980;border-color:rgba(190,145,46,.24)}
.rate-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.rate-toolbar-meta{font-size:11px;color:var(--muted);font-weight:700}
.document-meta-stack{display:flex;flex-direction:column;gap:3px}
.document-meta-stack p{margin:0!important}
@media(max-width:980px){.workspace-tools .search-box{min-width:220px;flex:1 1 220px}.clear-filters-btn{margin-left:0}}
@media(max-width:650px){.rate-toolbar{align-items:stretch}.rate-toolbar .search-box{min-width:0;width:100%}.section-toggle-row{justify-content:stretch}.section-toggle-row .row-action{flex:1 1 auto}}


/* PCI V1.8.41 — Current Contract shortcut, document filters, and unsaved-state UX. */
.payer-current-contract-status{
  display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:8px;
  border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;
  border:1px solid rgba(131,89,239,.20);background:rgba(131,89,239,.06);color:var(--purple);
}
.payer-current-contract-status.missing{border-color:rgba(154,101,16,.16);background:#fff8eb;color:#9a6510}
.dark-mode .payer-current-contract-status{border-color:rgba(71,215,255,.20);background:rgba(71,215,255,.06);color:#9cecff}
.dark-mode .payer-current-contract-status.missing{border-color:rgba(190,145,46,.24);background:rgba(94,72,20,.30);color:#f0c980}
.current-contract-overview{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.current-contract-overview .row-action{white-space:nowrap}
.document-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:10px;flex-wrap:wrap}
.document-toolbar .search-box{flex:1 1 280px;min-width:220px}
.document-toolbar select{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px;color:var(--ink);font-weight:700;font-size:12px;min-width:175px}
.dark-mode .document-toolbar select{background:#11182f;color:var(--ink);border-color:var(--border)}
.document-toolbar-meta{font-size:11px;color:var(--muted);font-weight:700;margin-left:auto}
.unsaved-hint{font-size:11px;color:var(--muted)}
@media(max-width:650px){
  .document-toolbar{align-items:stretch}
  .document-toolbar .search-box,.document-toolbar select{width:100%;min-width:0}
  .document-toolbar-meta{margin-left:0}
  #exportPayerBtn{flex:1 1 auto}
}


/* PCI V1.8.42 — Copy Existing Payer Setup */
#copyPayerBtn{white-space:nowrap}


/* V1.8.43 favorites + payer review shortcuts */
.favorite-detail-btn{min-width:106px}
.favorite-detail-btn.is-active{border-color:rgba(124,93,250,.45);box-shadow:0 0 0 1px rgba(124,93,250,.14),0 0 18px rgba(124,93,250,.18);color:var(--purple)}
.payer-card.is-favorite{border-color:rgba(124,93,250,.34);box-shadow:0 18px 36px rgba(124,93,250,.10)}
.favorite-toggle{position:absolute;top:12px;right:12px;border:1px solid var(--border);background:rgba(255,255,255,.92);color:#8c7ae6;border-radius:999px;width:34px;height:34px;display:grid;place-items:center;font-size:18px;font-weight:900;cursor:pointer;z-index:2;box-shadow:0 8px 20px rgba(68,66,124,.08)}
.favorite-toggle.active{background:linear-gradient(135deg,rgba(118,87,248,.14),rgba(61,224,255,.16));border-color:rgba(124,93,250,.42);color:#6a49dc;box-shadow:0 0 0 1px rgba(124,93,250,.10),0 10px 22px rgba(124,93,250,.14)}
.dark-mode .favorite-toggle{background:#11182f;color:#d4c7ff}
.dark-mode .favorite-toggle.active{background:linear-gradient(135deg,rgba(118,87,248,.28),rgba(61,224,255,.14));border-color:#5d4ad0;color:#fff3a1}
.favorite-badge{display:inline-flex;align-items:center;margin-left:8px;padding:4px 8px;border-radius:999px;background:rgba(124,93,250,.10);color:var(--purple);font-size:10px;font-weight:900;letter-spacing:.02em;vertical-align:middle}
.payer-review-stat{border:1px solid var(--border);cursor:pointer;text-align:left}
.payer-review-stat.has-items{border-color:rgba(124,93,250,.28);box-shadow:0 0 0 1px rgba(124,93,250,.08),0 10px 22px rgba(124,93,250,.08)}
.payer-review-stat:hover{transform:translateY(-1px)}
.payer-review-stat b,.payer-review-stat span{pointer-events:none}
.workspace-review-card{scroll-margin-top:92px}
.workspace-review-list{display:grid;gap:10px}
.workspace-review-row{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);background:#fff;border-radius:11px}
.dark-mode .workspace-review-row{background:#11182f;border-color:var(--border)}
.workspace-review-main{flex:1;min-width:0}
.workspace-review-main b{font-size:12px}
.workspace-review-main p{margin:2px 0 0;color:var(--muted);font-size:11px}
.workspace-review-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.review-jump-highlight{box-shadow:0 0 0 1px rgba(124,93,250,.24),0 0 0 6px rgba(124,93,250,.08),0 18px 36px rgba(124,93,250,.14)!important;transition:box-shadow .25s ease}
@media (max-width: 980px){.workspace-review-row{align-items:flex-start;flex-direction:column}.workspace-review-actions{width:100%;justify-content:flex-start}}

.payer-top{padding-right:44px}


/* V1.8.44 - favorites polish, export animation parity, readability pass */
#exportPayerBtn.pci-export-fill-btn{
  position:relative;
  isolation:isolate;
  border:0!important;
  color:#fff!important;
  background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink),var(--cyan));
  background-size:300% 100%!important;
  background-position:0% 50%;
  box-shadow:0 10px 28px rgba(131,89,239,.24),0 0 0 1px rgba(255,255,255,.18) inset!important;
  animation:reconButtonGlow 4.5s ease-in-out infinite!important;
  transition:transform .18s ease,box-shadow .18s ease;
}
#exportPayerBtn.pci-export-fill-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(131,89,239,.32),0 0 18px rgba(35,185,232,.22),0 0 24px rgba(244,72,164,.16)!important;
}
#exportPayerBtn.pci-export-fill-btn:active{transform:translateY(0)}
.dark-mode #exportPayerBtn.pci-export-fill-btn{
  color:#fff!important;
  background:linear-gradient(90deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff);
  background-size:300% 100%!important;
  box-shadow:0 10px 30px rgba(94,90,255,.30),0 0 20px rgba(46,216,255,.16),0 0 24px rgba(255,76,167,.12)!important;
}
@media(prefers-reduced-motion:reduce){#exportPayerBtn.pci-export-fill-btn{animation:none!important}}

@keyframes favoriteGoldFlow{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
.favorite-toggle.active,
.favorite-detail-btn.is-active,
.favorite-badge-toggle.is-active{
  border-color:rgba(201,152,44,.72)!important;
  box-shadow:0 0 0 1px rgba(217,170,50,.18),0 0 0 3px rgba(217,170,50,.08),0 10px 24px rgba(191,140,28,.14)!important;
  background-image:linear-gradient(90deg,rgba(255,238,183,.95),rgba(252,214,101,.95),rgba(255,243,196,.95),rgba(252,214,101,.95));
  background-size:220% 100%;
  animation:favoriteGoldFlow 4.2s ease-in-out infinite;
  color:#6b4a06!important;
}
.dark-mode .favorite-toggle.active,
.dark-mode .favorite-detail-btn.is-active,
.dark-mode .favorite-badge-toggle.is-active{
  color:#ffe9a1!important;
  border-color:rgba(255,211,95,.62)!important;
  background-image:linear-gradient(90deg,rgba(84,58,12,.92),rgba(122,90,20,.96),rgba(76,52,10,.92),rgba(122,90,20,.96));
  box-shadow:0 0 0 1px rgba(255,212,98,.14),0 0 0 3px rgba(255,212,98,.07),0 12px 26px rgba(0,0,0,.24)!important;
}
.favorite-detail-btn{min-width:114px}
.favorite-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:10px;
  padding:5px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--border);
  color:var(--purple);
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
  vertical-align:middle;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.favorite-badge:hover{transform:translateY(-1px)}
.dark-mode .favorite-badge{background:#11182f;color:#d8cfff;border-color:#384469}

/* Readability pass */
:root{--muted:#5c6682}
body{letter-spacing:.002em}
.detail-title-row p,.modal-copy,.scope-note,.note-card p{font-size:13px;line-height:1.62}
.info-card h3{font-size:14px}
.info-list{font-size:12px;gap:10px 16px}
.info-list dd,.info-list dt{line-height:1.45}
.data-table{font-size:12px}
.data-table th{font-size:10px;letter-spacing:.05em}
.data-table th,.data-table td{padding:11px 12px}
.data-table tbody tr:nth-child(even){background:rgba(129,140,185,.035)}
.document-row b,.history-row b,.workspace-review-main b{font-size:13px}
.document-row p,.history-row p,.workspace-review-main p{font-size:11px;line-height:1.55}
.row-action{font-size:11px;padding:8px 10px}
.form-grid label,.standard-label{font-size:11px}
.drop-zone p,.file-preview,.confirm-line,.analysis-preview{font-size:12px}
.analysis-item span{font-size:10px}
.analysis-item b{font-size:12px}
.empty-state p,.inline-empty span,.empty-subtle{font-size:12px;line-height:1.55}
.payer-card p,.payer-updated,.workspace-health-note,.mini-date small{font-size:12px}
.payer-stat span{font-size:11px}
.payer-stat b{font-size:21px}
.document-meta-stack p + p{margin-top:2px}


/* PCI V1.8.45 — favorite toggle fix + action-queue / All Payers neon polish */
/* Needs Review now uses the same established animated neon language as Important Dates. */
.needs-review-card{
  position:relative;
  isolation:isolate;
  border-color:rgba(131,89,239,.32);
}
.needs-review-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:20px;
  padding:2px;
  background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink),var(--cyan));
  background-size:220% 100%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.94;
  animation:upgradeNeonBorder 6.4s linear infinite;
}
.needs-review-card::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:20px;
  pointer-events:none;
  box-shadow:0 0 9px rgba(35,185,232,.14),0 0 16px rgba(131,89,239,.13),0 0 21px rgba(244,72,164,.09);
}
.dark-mode .needs-review-card::before{
  background:linear-gradient(90deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff);
  background-size:220% 100%;
}
.dark-mode .needs-review-card::after{
  box-shadow:0 0 11px rgba(46,216,255,.18),0 0 18px rgba(140,99,255,.15),0 0 24px rgba(255,76,167,.10);
}

/* Contract Workspaces keeps a restrained soft-purple perimeter.
   The lower populated All Payers detail workspace now carries the stronger
   Tally-color neon perimeter instead. */
.workspace-card{
  position:relative;
  isolation:isolate;
  border-color:rgba(131,89,239,.42);
  box-shadow:
    0 0 0 1px rgba(131,89,239,.08),
    0 0 14px rgba(131,89,239,.10),
    0 0 26px rgba(131,89,239,.07),
    var(--shadow);
}
.workspace-card::before,
.workspace-card::after{
  content:none;
}
.dark-mode .workspace-card{
  border-color:rgba(167,132,255,.48);
  box-shadow:
    0 0 0 1px rgba(167,132,255,.09),
    0 0 16px rgba(167,132,255,.12),
    0 0 30px rgba(121,95,255,.08),
    var(--shadow);
}

#payerDetail{
  position:relative;
  isolation:isolate;
  border-color:rgba(78,167,255,.34);
  box-shadow:
    0 0 0 1px rgba(82,247,177,.07),
    0 0 10px rgba(82,247,177,.10),
    0 0 20px rgba(46,216,255,.12),
    0 0 28px rgba(86,184,255,.10),
    0 0 36px rgba(255,76,167,.05),
    var(--shadow);
}
#payerDetail::before{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:24px;
  padding:5px;
  background:linear-gradient(90deg,#52f7b1,#45f4a6,#2ed8ff,#38dfff,#56c2ff,#ff4ca7,#7fe9ff,#52f7b1,#2ed8ff);
  background-size:420% 100%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.98;
  animation:upgradeNeonBorder 6.2s linear infinite;
}
#payerDetail::after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:27px;
  pointer-events:none;
  box-shadow:
    0 0 18px rgba(82,247,177,.18),
    0 0 28px rgba(69,244,166,.18),
    0 0 38px rgba(46,216,255,.20),
    0 0 48px rgba(86,194,255,.18),
    0 0 56px rgba(255,76,167,.11);
}
.dark-mode #payerDetail{
  border-color:rgba(82,247,177,.30);
  box-shadow:
    0 0 0 1px rgba(82,247,177,.08),
    0 0 12px rgba(82,247,177,.12),
    0 0 22px rgba(46,216,255,.14),
    0 0 32px rgba(86,194,255,.12),
    0 0 40px rgba(255,76,167,.07),
    var(--shadow);
}
.dark-mode #payerDetail::before{
  background:linear-gradient(90deg,#52f7b1,#45f4a6,#2ed8ff,#46dcff,#61c8ff,#ff4ca7,#8cf0ff,#52f7b1,#2ed8ff);
  background-size:420% 100%;
}
.dark-mode #payerDetail::after{
  box-shadow:
    0 0 20px rgba(82,247,177,.20),
    0 0 30px rgba(69,244,166,.20),
    0 0 40px rgba(46,216,255,.22),
    0 0 52px rgba(97,200,255,.18),
    0 0 60px rgba(255,76,167,.12);
}

/* Overview cards: Contract Snapshot, Workspace Health, Important Dates,
   and Payer Contact use a slow pulsing neon blue/green border only. */
#payerDetail .overview-accent-card{
  position:relative;
  isolation:isolate;
  border-color:rgba(46,216,255,.24);
}
#payerDetail .overview-accent-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:15px;
  padding:2px;
  background:linear-gradient(90deg,#57f2bc,#2ed8ff,#64f5c8,#57c6ff,#57f2bc);
  background-size:240% 100%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.78;
  animation:pciBlueGreenPulse 7.4s ease-in-out infinite;
}
#payerDetail .overview-accent-card::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:17px;
  pointer-events:none;
  box-shadow:0 0 12px rgba(87,242,188,.12),0 0 18px rgba(46,216,255,.14),0 0 24px rgba(87,198,255,.10);
  animation:pciBlueGreenGlow 7.4s ease-in-out infinite;
}
.dark-mode #payerDetail .overview-accent-card{
  border-color:rgba(82,247,177,.28);
}
.dark-mode #payerDetail .overview-accent-card::after{
  box-shadow:0 0 14px rgba(82,247,177,.16),0 0 20px rgba(46,216,255,.17),0 0 28px rgba(87,198,255,.12);
}
@keyframes pciBlueGreenPulse{
  0%,100%{opacity:.72;filter:brightness(.95)}
  50%{opacity:1;filter:brightness(1.12)}
}
@keyframes pciBlueGreenGlow{
  0%,100%{opacity:.60;transform:scale(1)}
  50%{opacity:1;transform:scale(1.006)}
}

@media(prefers-reduced-motion:reduce){
  .needs-review-card::before,#payerDetail::before,#payerDetail .overview-accent-card::before,#payerDetail .overview-accent-card::after{animation:none!important}
}


/* PCI V1.8.48 — document rename */
.rename-document-card{width:min(500px,100%)}
.rename-original-name{display:grid;gap:3px;margin:11px 0 15px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#f8f9fc}
.rename-original-name span{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.rename-original-name b{font-size:12px;overflow-wrap:anywhere}
.document-rename-btn{white-space:nowrap}
.dark-mode .rename-original-name{background:#0d1430;border-color:var(--border)}

/* PCI V1.8.49 — Rates verification badge alignment */
#ratesPanel .verification.manual{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.15;
  white-space:nowrap;
  min-height:28px;
}


/* PCI V1.8.50 — Tally AI Credits cleanup */
.credit-card{gap:16px}
.credit-card>div:first-child{min-width:0}
.credit-ring{flex:0 0 58px}


/* PCI V1.8.51 — Tally credit headline sizing */
.credit-card strong,
.credit-card strong #metricCredits,
.credit-card strong em{
  font-size:30px!important;
  line-height:1.1;
}
.credit-card strong #metricCredits,
.credit-card strong em{
  color:inherit;
  font-weight:850;
}
.credit-card strong em{font-style:normal}


/* PCI V1.8.52 — Rates sorting + protected rate deletion */
.rate-sort-select{
  border:1px solid var(--border);
  background:#fff;
  color:var(--ink);
  border-radius:10px;
  padding:10px 11px;
  font-size:12px;
  font-weight:750;
  min-width:210px;
}
.dark-mode .rate-sort-select{background:#11182f;color:var(--ink);border-color:var(--border)}
.rate-actions-heading{text-align:center!important;width:58px;min-width:58px}
.rate-actions-cell{text-align:center!important;vertical-align:middle!important;width:58px;min-width:58px}
.rate-delete-x{
  width:30px;height:30px;border-radius:8px;border:1px solid rgba(201,75,93,.22);
  background:#fff;color:#a6384a;font-size:18px;font-weight:850;line-height:1;
  display:inline-grid;place-items:center;cursor:pointer;transition:.16s ease;
}
.rate-delete-x:hover{transform:translateY(-1px);border-color:rgba(201,75,93,.48);background:#fff4f6;color:#b62f48;box-shadow:0 7px 18px rgba(201,75,93,.12)}
.rate-delete-x.preview-locked{opacity:.45}
.dark-mode .rate-delete-x{background:#11182f;border-color:rgba(255,111,135,.24);color:#ff9aae}
.dark-mode .rate-delete-x:hover{background:#261426;border-color:rgba(255,111,135,.48);color:#ffc0cc}
@media(max-width:650px){.rate-sort-select{width:100%;min-width:0}.rate-toolbar{align-items:stretch}}


/* PCI V1.8.56 — requested dashboard spacing / payer-detail placement / split Tally artwork */
/* The selected All Payers workspace opens directly below Your Payer Library, with breathing room above and below. */
.workspace-card + #payerDetail{margin-top:26px!important;}
#payerDetail{margin-bottom:30px!important;}
#payerDetail.hidden + .insight-grid{margin-top:30px!important;}
#payerDetail:not(.hidden) + .insight-grid{margin-top:0!important;}
.insight-grid{margin-bottom:26px!important;}

/* New Tally head artwork is used inside chat and other Tally placements only. */
.tally-head-icon{display:block;width:100%;height:100%;object-fit:contain;}
.tally-avatar .tally-head-icon{object-fit:contain;}
.tally-inline-mark .tally-head-icon,.tally-action-mark .tally-head-icon{object-fit:contain;}

/* Floating launcher intentionally keeps the previous branch-style Tally logo. */
#tallyFab .tally-fab-mark .tally-theme-icon{display:none;}
.dark-mode #tallyFab .tally-fab-mark .tally-icon-dark{display:block;}
body:not(.dark-mode) #tallyFab .tally-fab-mark .tally-icon-light{display:block;}

@media(max-width:650px){
  .workspace-card + #payerDetail{margin-top:22px!important;}
  #payerDetail{margin-bottom:24px!important;}
  #payerDetail.hidden + .insight-grid{margin-top:24px!important;}
}


/* PCI V1.8.57 — reversible Current / Subtle visual-effects toggle.
   Current mode intentionally receives no overrides so V1.8.56 visuals remain exact. */
.visuals-toggle{
  border:1px solid var(--border);background:rgba(255,255,255,.86);color:var(--purple);
  border-radius:11px;padding:9px 12px;font-size:12px;font-weight:800;cursor:pointer;
  white-space:nowrap;transition:.16s ease;
}
.visuals-toggle:hover{transform:translateY(-1px);border-color:rgba(131,89,239,.42)}
.visuals-toggle[aria-pressed="true"]{background:rgba(131,89,239,.08);border-color:rgba(131,89,239,.30)}
.dark-mode .visuals-toggle{background:#11182f;color:#cbb9ff;border-color:var(--border)}
.dark-mode .visuals-toggle[aria-pressed="true"]{background:rgba(140,99,255,.12);border-color:rgba(140,99,255,.38)}

/* Subtle = same colors and hierarchy, quieter perimeter weight, glow and motion. */
html[data-effects="subtle"] .glow{opacity:.10}
html[data-effects="subtle"] .payer-card{
  animation:none!important;
  border-color:rgba(131,89,239,.28)!important;
  box-shadow:0 0 0 1px rgba(35,185,232,.035),0 7px 20px rgba(68,66,124,.06)!important;
}
html[data-effects="subtle"] .payer-card:hover{
  border-color:rgba(131,89,239,.42)!important;
  box-shadow:0 10px 24px rgba(68,66,124,.08)!important;
}
html[data-effects="subtle"] body.dark-mode .payer-card{
  border-color:rgba(111,126,184,.42)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.16)!important;
}
html[data-effects="subtle"] .workspace-card{
  border-color:rgba(131,89,239,.24)!important;
  box-shadow:0 0 0 1px rgba(131,89,239,.035),0 9px 28px rgba(36,45,91,.055)!important;
}
html[data-effects="subtle"] body.dark-mode .workspace-card{
  border-color:rgba(140,99,255,.30)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.16)!important;
}

html[data-effects="subtle"] .important-dates-card::before,
html[data-effects="subtle"] .needs-review-card::before{
  inset:-1px;padding:1px;opacity:.38;animation:none!important;
}
html[data-effects="subtle"] .important-dates-card::after,
html[data-effects="subtle"] .needs-review-card::after{
  inset:-1px;box-shadow:0 0 8px rgba(35,185,232,.06),0 0 12px rgba(131,89,239,.055),0 0 14px rgba(244,72,164,.035)!important;
}
html[data-effects="subtle"] body.dark-mode .important-dates-card::after,
html[data-effects="subtle"] body.dark-mode .needs-review-card::after{
  box-shadow:0 0 9px rgba(46,216,255,.07),0 0 13px rgba(140,99,255,.06),0 0 16px rgba(255,76,167,.04)!important;
}

html[data-effects="subtle"] #payerDetail{
  animation:none!important;
  border-color:rgba(78,167,255,.24)!important;
  box-shadow:0 0 0 1px rgba(82,247,177,.035),0 0 11px rgba(46,216,255,.055),0 12px 32px rgba(36,45,91,.07)!important;
}
html[data-effects="subtle"] #payerDetail::before{
  inset:-2px;padding:2px;border-radius:22px;opacity:.42;animation:none!important;
}
html[data-effects="subtle"] #payerDetail::after{
  inset:-3px;border-radius:23px;
  box-shadow:0 0 10px rgba(82,247,177,.055),0 0 15px rgba(46,216,255,.065),0 0 19px rgba(255,76,167,.035)!important;
}
html[data-effects="subtle"] body.dark-mode #payerDetail{
  border-color:rgba(82,247,177,.20)!important;
  box-shadow:0 0 10px rgba(46,216,255,.05),0 12px 34px rgba(0,0,0,.20)!important;
}
html[data-effects="subtle"] body.dark-mode #payerDetail::after{
  box-shadow:0 0 11px rgba(82,247,177,.06),0 0 16px rgba(46,216,255,.07),0 0 20px rgba(255,76,167,.04)!important;
}

html[data-effects="subtle"] #payerDetail .overview-accent-card::before{
  inset:-1px;padding:1px;opacity:.38;animation:none!important;
}
html[data-effects="subtle"] #payerDetail .overview-accent-card::after{
  inset:-2px;animation:none!important;
  box-shadow:0 0 8px rgba(87,242,188,.05),0 0 12px rgba(46,216,255,.06)!important;
}

html[data-effects="subtle"] .neon-border-btn::before,
html[data-effects="subtle"] .pci-export-btn::before,
html[data-effects="subtle"] .neon-border-btn::after{
  inset:-2px;box-shadow:0 0 7px rgba(35,185,232,.07),0 0 10px rgba(131,89,239,.065),0 0 12px rgba(244,72,164,.045)!important;opacity:.68;
}
html[data-effects="subtle"] .pci-export-btn::after,
html[data-effects="subtle"] .glow-history{animation:none!important;box-shadow:0 8px 22px rgba(68,66,124,.06)!important}

html[data-effects="subtle"] #addPayerBtn,
html[data-effects="subtle"] #uploadDocBtn,
html[data-effects="subtle"] #detailUploadBtn,
html[data-effects="subtle"] #editPayerBtn,
html[data-effects="subtle"] #addRateBtn{
  box-shadow:0 0 0 1px rgba(131,89,239,.045),0 0 10px rgba(131,89,239,.07),0 7px 18px rgba(36,45,91,.055)!important;
}
html[data-effects="subtle"] body.dark-mode #addPayerBtn,
html[data-effects="subtle"] body.dark-mode #uploadDocBtn,
html[data-effects="subtle"] body.dark-mode #detailUploadBtn,
html[data-effects="subtle"] body.dark-mode #editPayerBtn,
html[data-effects="subtle"] body.dark-mode #addRateBtn{
  box-shadow:0 0 9px rgba(71,215,255,.055),0 8px 20px rgba(0,0,0,.16)!important;
}

html[data-effects="subtle"] #exportDataBtn,
html[data-effects="subtle"] #exportPayerBtn.pci-export-fill-btn{
  animation:none!important;
  box-shadow:0 8px 22px rgba(131,89,239,.14),0 0 0 1px rgba(255,255,255,.14) inset!important;
}
html[data-effects="subtle"] #exportDataBtn:hover,
html[data-effects="subtle"] #exportPayerBtn.pci-export-fill-btn:hover{
  box-shadow:0 10px 26px rgba(131,89,239,.18),0 0 10px rgba(35,185,232,.09)!important;
}
html[data-effects="subtle"] body.dark-mode #exportDataBtn,
html[data-effects="subtle"] body.dark-mode #exportPayerBtn.pci-export-fill-btn{
  box-shadow:0 9px 24px rgba(0,0,0,.20),0 0 10px rgba(46,216,255,.07)!important;
}

html[data-effects="subtle"] .favorite-toggle.active,
html[data-effects="subtle"] .favorite-detail-btn.is-active,
html[data-effects="subtle"] .favorite-badge-toggle.is-active{animation:none!important;box-shadow:0 0 0 1px rgba(217,170,50,.10),0 7px 18px rgba(191,140,28,.08)!important}

html[data-effects="subtle"] .tally-fab::before{opacity:.56;animation-duration:12s!important}
html[data-effects="subtle"] .tally-fab{box-shadow:0 12px 30px rgba(20,26,56,.22),0 0 0 1px rgba(255,255,255,.10) inset}
html[data-effects="subtle"] .tally-fab-sparkles,
html[data-effects="subtle"] .tally-submit-sparkles,
html[data-effects="subtle"] .tally-action-sparkles,
html[data-effects="subtle"] .tally-inline-sparkles,
html[data-effects="subtle"] .tally-avatar-sparkles{opacity:.48}
html[data-effects="subtle"] .tally-fab-sparkles i,
html[data-effects="subtle"] .tally-submit-sparkles i,
html[data-effects="subtle"] .tally-action-sparkles i,
html[data-effects="subtle"] .tally-inline-sparkles i,
html[data-effects="subtle"] .tally-avatar-sparkles i{animation-duration:6.8s!important}
html[data-effects="subtle"] .tally-form textarea::placeholder,
html[data-effects="subtle"] .tally-credit-mini b{animation:none!important}

@media(max-width:650px){
  .visuals-toggle{padding:8px 9px;font-size:11px}
}
@media(max-width:420px){
  .visuals-toggle{font-size:10px;padding:7px 8px}
}


/* S10 v1.0.2 — PCI-only page views. Keep the existing title/actions/safety banner
   shared across views. DOM nodes are hidden, not removed or recreated. */
html[data-lb-module="pci"][data-pci-view]:not([data-pci-view="overview"]) #main > .metric-grid,
html[data-lb-module="pci"][data-pci-view]:not([data-pci-view="library"]) #payerWorkspace,
html[data-lb-module="pci"][data-pci-view]:not([data-pci-view="library"]) #payerDetail,
html[data-lb-module="pci"][data-pci-view="library"] #main > .insight-grid,
html[data-lb-module="pci"][data-pci-view="dates"] #needsReviewSection,
html[data-lb-module="pci"][data-pci-view="review"] #importantDatesSection{display:none!important}
html[data-lb-module="pci"][data-pci-view="dates"] #main > .insight-grid,
html[data-lb-module="pci"][data-pci-view="review"] #main > .insight-grid{grid-template-columns:minmax(0,1fr)}

/* Export Data — copy ERA's 4.5s / 300% cyan-purple-pink sweep only in Current.
   Main toolbar trigger only; the sidebar retains the common side-link treatment.
   Subtle and reduced-motion remain quiet. No animated background-position !important. */
html[data-lb-module="pci"][data-effects="current"] #exportDataBtn{
  position:relative;
  isolation:isolate;
  border-color:transparent;
  color:#fff!important;
  background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink),var(--cyan));
  background-size:300% 100%!important;
  box-shadow:0 10px 28px rgba(131,89,239,.24),0 0 0 1px rgba(255,255,255,.22) inset!important;
  animation:reconButtonGlow 4.5s ease-in-out infinite!important;
  transition:transform .18s ease,box-shadow .18s ease;
}
html[data-lb-module="pci"][data-effects="current"] #exportDataBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(131,89,239,.32),0 0 18px rgba(35,185,232,.22),0 0 24px rgba(244,72,164,.16)!important;
}
html[data-lb-module="pci"][data-effects="current"] #exportDataBtn:active{transform:translateY(0)}
html[data-lb-module="pci"][data-effects="current"] body.dark-mode #exportDataBtn{
  color:#fff!important;
  background:linear-gradient(90deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff);
  background-size:300% 100%!important;
  box-shadow:0 10px 30px rgba(94,90,255,.30),0 0 20px rgba(46,216,255,.16),0 0 24px rgba(255,76,167,.12)!important;
}
@media(prefers-reduced-motion:reduce){
  html[data-lb-module="pci"][data-effects="current"] #exportDataBtn{animation:none!important}
}


/* PCI Visual P01 — Current Contract selection / transition feedback. */
.current-contract-btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:104px;
  white-space:nowrap;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease;
}
.current-contract-btn .current-contract-state-icon{display:inline-grid;place-items:center;width:15px;height:15px;font-size:12px;font-weight:900;line-height:1}
.current-contract-btn.is-current{
  opacity:1!important;
  cursor:pointer!important;
  color:var(--purple)!important;
  border-color:rgba(131,89,239,.38)!important;
  background:rgba(131,89,239,.10)!important;
  box-shadow:0 0 0 1px rgba(35,185,232,.045),0 0 14px rgba(131,89,239,.10);
}
.dark-mode .current-contract-btn.is-current{
  color:#c8b7ff!important;
  border-color:rgba(140,99,255,.42)!important;
  background:rgba(140,99,255,.14)!important;
}
.current-contract-remove-view{display:none;align-items:center;gap:6px}
.current-contract-selected-view,.current-contract-set-view{display:inline-flex;align-items:center;gap:6px}
.current-contract-btn.is-current:hover .current-contract-selected-view,
.current-contract-btn.is-current:focus-visible .current-contract-selected-view{display:none}
.current-contract-btn.is-current:hover .current-contract-remove-view,
.current-contract-btn.is-current:focus-visible .current-contract-remove-view{display:inline-flex}
.current-contract-btn.is-current:hover,
.current-contract-btn.is-current:focus-visible{
  color:#b13e72!important;
  border-color:rgba(244,72,164,.42)!important;
  background:rgba(244,72,164,.09)!important;
  box-shadow:0 0 0 1px rgba(244,72,164,.04),0 0 16px rgba(244,72,164,.11);
  transform:translateY(-1px);
}
.dark-mode .current-contract-btn.is-current:hover,
.dark-mode .current-contract-btn.is-current:focus-visible{
  color:#ff9dcd!important;
  border-color:rgba(255,76,167,.45)!important;
  background:rgba(255,76,167,.11)!important;
}
.current-contract-btn.is-switching{
  opacity:1!important;
  cursor:wait!important;
  color:var(--purple)!important;
  border-color:rgba(131,89,239,.48)!important;
  background:linear-gradient(110deg,rgba(35,185,232,.10),rgba(131,89,239,.14),rgba(244,72,164,.09))!important;
  transform:none!important;
  box-shadow:0 0 0 1px rgba(35,185,232,.05),0 0 18px rgba(131,89,239,.14)!important;
}
.current-contract-spinner{
  width:13px;height:13px;border-radius:50%;
  border:2px solid rgba(131,89,239,.22);
  border-top-color:var(--purple);
  animation:pciCurrentSpinner .72s linear infinite;
}
.document-row.current-contract-transitioning{
  position:relative;
  border-color:rgba(131,89,239,.48)!important;
  box-shadow:0 0 0 1px rgba(35,185,232,.06),0 0 18px rgba(131,89,239,.14),0 0 28px rgba(244,72,164,.07)!important;
  animation:pciCurrentRowPulse .86s ease-in-out infinite alternate;
}
.document-row.current-contract-transitioning::after{
  content:"";
  position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;
  background:linear-gradient(100deg,transparent 25%,rgba(35,185,232,.08) 42%,rgba(131,89,239,.12) 50%,rgba(244,72,164,.08) 58%,transparent 75%);
  background-size:220% 100%;
  animation:pciCurrentSweep .95s linear infinite;
}
@keyframes pciCurrentSpinner{to{transform:rotate(360deg)}}
@keyframes pciCurrentRowPulse{from{filter:saturate(.96)}to{filter:saturate(1.08)}}
@keyframes pciCurrentSweep{from{background-position:180% 50%}to{background-position:-80% 50%}}
html[data-effects="subtle"] .document-row.current-contract-transitioning,
html[data-effects="subtle"] .document-row.current-contract-transitioning::after,
html[data-effects="subtle"] .current-contract-spinner{
  animation:none!important;
}
html[data-effects="subtle"] .document-row.current-contract-transitioning::after{opacity:.32}

/* PCI Visual P01 — restore obvious pointer + hover feedback on the floating Tally launcher. */
#tallyDock #tallyFab{
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,filter .18s ease;
}
#tallyDock #tallyFab:hover{
  transform:translateY(-2px) scale(1.008);
  border-color:rgba(99,223,245,.48)!important;
  box-shadow:
    0 14px 44px rgba(10,9,34,.32),
    0 0 18px rgba(99,223,245,.15),
    0 0 26px rgba(190,156,255,.18),
    0 0 0 1px rgba(255,255,255,.15) inset!important;
  filter:saturate(1.06);
}
#tallyDock #tallyFab:hover::before{filter:brightness(1.12) saturate(1.08)}
#tallyDock #tallyFab:hover .tally-launcher-copy strong{color:var(--cyan)}
#tallyDock #tallyFab:active{transform:translateY(0) scale(.996)}
html[data-effects="subtle"] #tallyDock #tallyFab:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 34px rgba(10,9,34,.24),0 0 0 1px rgba(190,156,255,.16) inset!important;
  filter:none;
}
@media(prefers-reduced-motion:reduce){
  .document-row.current-contract-transitioning,
  .document-row.current-contract-transitioning::after,
  .current-contract-spinner,
  #tallyDock #tallyFab{animation:none!important;transition:none!important}
}


/* PCI Payer Library Card/Table presentation toggle — no payer data-model change. */
.payer-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;min-height:40px}
.payer-view-toggle button{border:0;border-right:1px solid var(--border);background:transparent;color:var(--muted);padding:8px 11px;font-size:11px;font-weight:800;cursor:pointer}
.payer-view-toggle button:last-child{border-right:0}.payer-view-toggle button[aria-pressed="true"]{background:rgba(124,93,250,.10);color:var(--purple);box-shadow:inset 0 0 16px rgba(124,93,250,.08)}
.dark-mode .payer-view-toggle{background:#11182f;border-color:var(--border)}.dark-mode .payer-view-toggle button{color:#aeb9d4;border-color:var(--border)}.dark-mode .payer-view-toggle button[aria-pressed="true"]{background:rgba(140,99,255,.14);color:#d7cbff}
.payer-grid.is-table{display:block}.payer-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(68,66,124,.06)}
.payer-library-table{width:100%;border-collapse:collapse;min-width:1180px;font-size:11px}.payer-library-table th{padding:11px 12px;text-align:left;background:#f8f9fc;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap}.payer-library-table td{padding:12px;border-bottom:1px solid #edf0f5;vertical-align:middle;color:var(--ink)}.payer-library-table tbody tr:last-child td{border-bottom:0}
.payer-table-row{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.payer-table-row:hover td{background:rgba(124,93,250,.045)}.payer-table-row.is-favorite td{background:rgba(124,93,250,.025)}
.payer-table-primary strong{display:block;font-size:12px}.payer-table-primary span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.payer-table-review{min-width:34px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--ink);padding:6px 8px;font-weight:800;cursor:pointer}.payer-table-review.has-items{border-color:rgba(124,93,250,.34);color:var(--purple);background:rgba(124,93,250,.07)}
.payer-table-contract{font-size:10px;font-weight:800;white-space:nowrap}.payer-table-contract.current{color:#167b54}.payer-table-contract.missing{color:var(--muted)}.payer-table-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.payer-table-favorite{width:32px;height:32px;border:1px solid var(--border);border-radius:999px;background:transparent;color:#8c7ae6;font-size:17px;font-weight:900;cursor:pointer}.payer-table-favorite.active{background:rgba(124,93,250,.10);border-color:rgba(124,93,250,.36);color:#6a49dc}
.dark-mode .payer-table-wrap{background:#11182f;border-color:var(--border)}.dark-mode .payer-library-table th{background:#0d1430;border-color:var(--border)}.dark-mode .payer-library-table td{border-color:#27314f}.dark-mode .payer-table-row:hover td{background:rgba(140,99,255,.07)}.dark-mode .payer-table-row.is-favorite td{background:rgba(140,99,255,.035)}.dark-mode .payer-table-review,.dark-mode .payer-table-favorite{border-color:var(--border);color:#d4c7ff}
@media(max-width:650px){.payer-view-toggle{width:100%}.payer-view-toggle button{flex:1}.payer-library-table{min-width:1120px}}
