

:root{--bg:#07101f;--surf:#0d1b2e;--surf2:#112035;--b1:#1e3048;--b2:#264060;--sky:#0EA5E9;--skyl:#38BDF8;--teal:#10B981;--amber:#F59E0B;--red:#EF4444;--tx:#e8f4fd;--txm:#9dbdd6;--txd:#5a8aaa;--font:'DM Sans',system-ui,sans-serif;--mono:'DM Mono',ui-monospace,monospace;--rh:rgba(14,165,233,.06);--rs:rgba(14,165,233,.14)}
.light{--bg:#f2f4f7;--surf:#fff;--surf2:#f0f2f5;--b1:#d1d5db;--b2:#b8bfc8;--sky:#0284c7;--skyl:#0369a1;--teal:#0d9488;--amber:#b45309;--red:#dc2626;--tx:#0f172a;--txm:#374151;--txd:#6b7280;--rh:rgba(2,132,199,.05);--rs:rgba(2,132,199,.11)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--tx);font-size:13px;height:100vh;display:flex;flex-direction:column;overflow:hidden}
mark{background:rgba(14,165,233,.22);color:var(--skyl);border-radius:2px;padding:0 2px}
#tb{height:46px;background:var(--surf);border-bottom:1px solid var(--b1);display:flex;align-items:center;padding:0 16px;gap:12px;flex-shrink:0}
.logo-btn{display:flex;align-items:center;gap:9px;cursor:pointer;border:none;background:none;padding:0}
.sep{width:1px;height:20px;background:var(--b1)}
.demo-tag{font-size:9px;color:var(--amber);background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.25);padding:2px 7px;border-radius:3px;letter-spacing:.06em;font-family:var(--mono)}
.sp{flex:1}
.rb{font-size:10px;font-weight:600;padding:3px 9px;border-radius:4px}
.r-root{color:#f87171;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25)}
.r-admin{color:var(--skyl);background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.25)}
.r-member{color:#34d399;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25)}
.r-provider{color:#fbbf24;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25)}
.r-claims{color:#a78bfa;background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.25)}
.uinfo{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--tx)}
.av{width:27px;height:27px;background:var(--surf2);border:1px solid var(--b2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--skyl);flex-shrink:0}
.tbtn{background:none;border:1px solid var(--b2);color:var(--txm);font-size:11px;padding:4px 10px;border-radius:4px;cursor:pointer;font-family:var(--font);transition:all .12s}
.tbtn:hover{border-color:var(--sky);color:var(--sky)}
.theme-btn{background:none;border:1px solid var(--b2);color:var(--txm);font-size:11px;padding:4px 10px;border-radius:4px;cursor:pointer;font-family:var(--font);display:flex;align-items:center;gap:5px;transition:all .12s}
.theme-btn:hover{border-color:var(--sky);color:var(--sky)}
#login{position:fixed;inset:0;background:radial-gradient(115% 90% at 50% -8%,rgba(56,189,248,.05) 0%,rgba(7,16,31,0) 55%),var(--bg);display:flex;align-items:center;justify-content:center;z-index:999}
.lb{background:var(--surf);border:1px solid var(--b2);border-radius:12px;padding:40px;width:360px;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.lh{display:flex;align-items:center;gap:14px;margin-bottom:30px}
.lt h1{font-size:20px;font-weight:600;color:var(--tx)}
.lt p{font-size:11px;color:var(--txd);margin-top:2px}
.lb label{font-size:10px;font-weight:600;color:var(--txm);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:7px}
.lb select{width:100%;background:var(--surf2);border:1px solid var(--b2);border-radius:7px;color:var(--tx);font-family:var(--font);font-size:13px;padding:11px 13px;outline:none;margin-bottom:20px}
.lb select:focus{border-color:var(--sky)}
.lb input{width:100%;box-sizing:border-box;background:var(--surf2);border:1px solid var(--b2);border-radius:7px;color:var(--tx);font-family:var(--font);font-size:13px;padding:11px 13px;outline:none;margin-bottom:14px}
.lb input:focus{border-color:var(--sky) !important;box-shadow:0 0 0 3px rgba(14,165,233,.1)}
#login-btn,#changepw-btn{width:100%;background:var(--sky);border:none;border-radius:7px;color:#fff;font-family:var(--font);font-size:14px;font-weight:600;padding:12px;cursor:pointer;transition:all .15s}
#login-btn:hover,#changepw-btn:hover{background:var(--skyl)}
#login-btn:disabled,#changepw-btn:disabled{opacity:.6;cursor:default}
.lerr{font-size:12px;color:#ef4444;margin:-4px 0 12px}
.lhint{font-size:11px;color:var(--skyl);margin-bottom:14px;line-height:1.5}
.pwmeter{margin:-4px 0 14px}
.pwmeter-track{display:flex;gap:5px;margin-bottom:6px}
.pwmeter-track span{flex:1;height:4px;border-radius:3px;background:var(--b1);transition:background .2s}
.pwmeter-lbl{font-size:10px;font-weight:600;color:var(--txm);letter-spacing:.02em}
.pwmeter-lbl b{font-weight:700;color:var(--txm)}
.pwmeter.s1 .pwmeter-track span:nth-child(-n+1){background:var(--red)}
.pwmeter.s1 .pwmeter-lbl b{color:var(--red)}
.pwmeter.s2 .pwmeter-track span:nth-child(-n+2){background:var(--amber)}
.pwmeter.s2 .pwmeter-lbl b{color:var(--amber)}
.pwmeter.s3 .pwmeter-track span:nth-child(-n+3){background:var(--skyl)}
.pwmeter.s3 .pwmeter-lbl b{color:var(--skyl)}
.pwmeter.s4 .pwmeter-track span{background:var(--teal)}
.pwmeter.s4 .pwmeter-lbl b{color:var(--teal)}
.lnote{margin-top:24px;padding-top:18px;border-top:1px solid var(--b1);text-align:center;font-size:10px;color:var(--txd)}
.lnote span{color:var(--sky)}
.lnote-1{font-weight:600;letter-spacing:.06em}
.lnote-2{margin-top:3px;color:var(--txd)}
.lnote-3{margin-top:9px;font-size:9px;color:var(--txm);letter-spacing:.02em}
.lnote-3 a{color:var(--txm);text-decoration:none;font-weight:600;outline:none}
.lnote-3 a:hover{color:var(--skyl)}
.lnote-3 a:focus-visible{outline:2px solid var(--sky);outline-offset:2px;border-radius:3px}
#app{display:none;flex:1;overflow:hidden}
#app.on{display:flex}
#lay{display:flex;flex:1;overflow:hidden}
#sb{width:192px;background:var(--surf);border-right:1px solid var(--b1);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}
.sbl{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);padding:14px 14px 5px}
.sbtn{display:flex;align-items:center;gap:10px;padding:9px 14px 9px 12px;cursor:pointer;border:none;background:none;color:var(--txm);font-size:13px;font-family:var(--font);width:100%;text-align:left;border-left:3px solid transparent;transition:all .12s}
.sbtn:hover{background:var(--surf2);color:var(--tx)}
.sbtn.active{color:var(--skyl);border-left-color:var(--sky);background:rgba(14,165,233,.08);font-weight:500}
.sbtn.locked{opacity:.3;pointer-events:none}
.sbb{margin-top:auto;border-top:1px solid var(--b1);padding-top:8px}
#main{flex:1;display:flex;flex-direction:column;overflow:hidden}
#home{padding:28px 32px;overflow-y:auto;flex:1}
.hwt{font-size:21px;font-weight:600;margin-bottom:6px}
.hws{font-size:12px;color:var(--txm);margin-bottom:26px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:760px}
.tile{background:var(--surf);border:1px solid var(--b1);border-radius:9px;padding:18px;cursor:pointer;transition:all .15s}
.tile:hover{border-color:var(--sky);background:var(--surf2);transform:translateY(-2px)}
.tile.locked{opacity:.3;pointer-events:none}
.ti{font-size:22px;margin-bottom:8px}
.tn{font-size:13px;font-weight:600;color:var(--tx);margin-bottom:3px}
.td{font-size:11px;color:var(--txd);line-height:1.5}
#modview{display:none;flex-direction:column;flex:1;overflow:hidden}
#modview.on{display:flex}
.mhdr{padding:13px 20px;border-bottom:1px solid var(--b1);display:flex;align-items:center;gap:12px;flex-shrink:0;background:linear-gradient(180deg,var(--surf2) 0%,transparent 100%)}
.mhdi{font-size:20px}
.mhdt{font-size:15px;font-weight:600;color:var(--tx)}
.mhds{font-size:11px;color:var(--txm);margin-top:2px}
.sbar{padding:11px 20px;border-bottom:1px solid var(--b1);position:relative;flex-shrink:0;background:var(--surf)}
.swrap{position:relative;max-width:560px}
.si{width:100%;background:var(--surf2);border:1px solid var(--b2);border-radius:7px;color:var(--tx);font-family:var(--font);font-size:13px;padding:8px 12px 8px 35px;outline:none}
.si:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(14,165,233,.1)}
.si::placeholder{color:var(--txd)}
.sico{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--txd);font-size:14px;pointer-events:none}
.shint{font-size:10px;color:var(--txm);margin-top:4px}
.sdrop{position:absolute;top:calc(100% + 3px);left:0;right:0;background:var(--surf2);border:1px solid var(--b2);border-radius:8px;box-shadow:0 16px 48px rgba(0,0,0,.5);z-index:200;display:none;max-height:380px;overflow-y:auto}
.sdrop.on{display:block}
.sdh{padding:5px 12px;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--txm);background:rgba(0,0,0,.2);border-bottom:1px solid var(--b1)}
.sdr{display:grid;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--b1);gap:0 8px;align-items:center}
.sdr:hover{background:rgba(14,165,233,.1)}
.sdr.mrow{grid-template-columns:82px 1fr 70px 100px 60px}
.sdr.prow{grid-template-columns:92px 1fr 110px 90px 60px}
.did{font-family:var(--mono);font-size:11px;color:var(--skyl)}
.dnm{font-size:12px;font-weight:500;color:var(--tx)}
.dsb{font-size:11px;color:var(--txm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sdmt{padding:16px;text-align:center;font-size:12px;color:var(--txd);font-style:italic}
.deep-row-btn{padding:8px 12px;border-top:1px solid var(--b1)}
.deep-row-btn button{width:100%;background:none;border:1px solid var(--b2);border-radius:5px;color:var(--txm);font-family:var(--font);font-size:10px;font-weight:600;padding:5px;cursor:pointer}
.deep-row-btn button:hover{border-color:var(--sky);color:var(--skyl)}
.deep-panel{display:none;padding:10px 20px;background:rgba(14,165,233,.04);border-bottom:1px solid var(--b1)}
.deep-panel.on{display:block}
.deep-inp-row{display:flex;gap:8px;align-items:center}
.deep-inp{max-width:200px;background:var(--surf2);border:1px solid var(--b2);border-radius:6px;color:var(--tx);font-family:var(--mono);font-size:13px;padding:7px 11px;outline:none}
.deep-inp:focus{border-color:var(--sky)}
.deep-go{background:var(--sky);border:none;border-radius:6px;color:#fff;font-family:var(--font);font-size:12px;font-weight:600;padding:7px 14px;cursor:pointer}
.deep-res{margin-top:10px;background:var(--surf);border:1px solid var(--b2);border-radius:7px;padding:12px 14px;font-size:12px;display:none}
.deep-res.on{display:block}
.rlist{flex:1;overflow:auto}
.rlist::-webkit-scrollbar{width:6px;height:6px}
.rlist::-webkit-scrollbar-thumb{background:var(--b2);border-radius:3px}
.rtbl{width:100%;border-collapse:collapse;font-size:12px;min-width:900px}
.rtbl thead{position:sticky;top:0;z-index:10}
.rtbl th{padding:9px 13px;text-align:left;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--txm);background:var(--surf);border-bottom:2px solid var(--b1);white-space:nowrap;cursor:pointer;user-select:none}
.rtbl th:hover{color:var(--skyl)}
.rtbl th.asc::after{content:' ↑';color:var(--sky)}
.rtbl th.desc::after{content:' ↓';color:var(--sky)}
.rtbl td{padding:9px 13px;border-bottom:1px solid var(--b1);color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.rtbl td.mn{font-family:var(--mono);font-size:11px;color:var(--skyl)}
.rtbl tr:hover td{background:var(--rh)}
.rtbl tr.sel td{background:var(--rs)}
.dbl-hint{text-align:center;padding:7px;font-size:10px;color:var(--txd);border-top:1px solid var(--b1);background:var(--surf);flex-shrink:0}
.p{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;padding:2px 8px;border-radius:9px}
.p::before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}
.p.active,.p.approved,.p.resolved{color:#0dd696;background:rgba(13,214,150,.12);border:1px solid rgba(13,214,150,.3)}
.p.termed,.p.denied,.p.closed{color:#f87171;background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.3)}
.p.pending,.p.open{color:#fbbf24;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.3)}
.p.paid{color:#0dd696;background:rgba(13,214,150,.12);border:1px solid rgba(13,214,150,.3)}
.p.adjusted{color:#a78bfa;background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.3)}
.bon{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;padding:2px 8px;border-radius:9px;color:#0dd696;background:rgba(13,214,150,.12);border:1px solid rgba(13,214,150,.3)}
.bon::before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}
.boff{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;padding:2px 8px;border-radius:9px;color:#f87171;background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.3)}
.boff::before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}
#footer{height:30px;background:var(--surf);border-top:1px solid var(--b1);display:flex;align-items:center;justify-content:center;gap:14px;font-size:10px;color:var(--txm);flex-shrink:0}
.det-shell{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg);z-index:500}
.det-tb{height:46px;background:var(--surf);border-bottom:1px solid var(--b1);display:flex;align-items:center;padding:0 16px;gap:12px;flex-shrink:0}
.det-mb{padding:6px 16px;background:var(--surf2);border-bottom:1px solid var(--b1);display:flex;align-items:center;gap:10px;flex-shrink:0}
.mod-lbl{font-size:10px;font-weight:700;color:var(--skyl);background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.2);padding:3px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}
.edit-status{font-size:10px;color:var(--txd)}
.btn-edit{background:var(--sky);border:none;border-radius:5px;color:#fff;font-family:var(--font);font-size:11px;font-weight:600;padding:5px 13px;cursor:pointer;margin-left:auto}
.btn-row-edit{background:none;border:1px solid var(--b2);border-radius:4px;cursor:pointer;font-size:11px;padding:2px 7px;color:var(--sky);transition:all .15s}
.btn-row-edit:hover{background:var(--sky);color:#fff}
.btn-save{background:var(--teal);border:none;border-radius:5px;color:#fff;font-family:var(--font);font-size:11px;font-weight:600;padding:5px 13px;cursor:pointer}
.btn-cancel{background:none;border:1px solid var(--b2);border-radius:5px;color:var(--txm);font-family:var(--font);font-size:11px;padding:5px 13px;cursor:pointer}
.det-body{display:flex;flex:1;overflow:hidden}
.det-nav{width:164px;background:var(--surf);border-right:1px solid var(--b1);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;padding:8px 0}
.det-nav-lbl{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);padding:12px 14px 4px}
.det-tab{display:flex;align-items:center;gap:9px;padding:9px 14px 9px 12px;cursor:pointer;border:none;background:none;color:var(--txm);font-size:12px;font-family:var(--font);width:100%;text-align:left;border-left:3px solid transparent;transition:all .12s}
.det-tab:hover{background:var(--surf2);color:var(--tx)}
.det-tab.active{color:var(--skyl);border-left-color:var(--sky);background:rgba(14,165,233,.08);font-weight:500}
.det-tab .ti{font-size:14px;flex-shrink:0}
.det-tab .tc{margin-left:auto;font-size:9px;font-weight:700;background:rgba(14,165,233,.15);color:var(--skyl);padding:1px 6px;border-radius:8px}
.det-content{flex:1;overflow-y:auto;overflow-x:hidden}
.det-content::-webkit-scrollbar{width:6px}
.det-content::-webkit-scrollbar-thumb{background:var(--b2);border-radius:3px}
.tab-panel{display:none}
.tab-panel.active{display:block}
.det-banner{padding:14px 20px 12px;background:linear-gradient(135deg,rgba(14,165,233,.1),rgba(14,165,233,.02));border-bottom:2px solid var(--sky);display:flex;align-items:flex-start;gap:14px}
.det-banner-icon{font-size:26px;flex-shrink:0;margin-top:2px}
.det-banner-title{font-size:17px;font-weight:700;color:var(--tx)}
.det-banner-sub{font-size:11px;color:var(--txm);margin-top:3px}
.rs{border-bottom:1px solid var(--b1)}
.rsh{padding:10px 20px;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--skyl);background:rgba(14,165,233,.06);border-bottom:1px solid var(--b1);display:flex;align-items:center;gap:6px}
.provider-box{margin:14px 16px 18px;border:1px solid var(--b2);border-radius:8px;background:rgba(15,23,42,.18);box-shadow:0 10px 28px rgba(0,0,0,.12);overflow:hidden}
.provider-box-pcp{border-left:4px solid var(--sky)}
.provider-box-specialist{border-left:4px solid var(--amber)}
.provider-box-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--b1);background:rgba(14,165,233,.08)}
.provider-box-title{font-size:13px;font-weight:800;color:var(--tx)}
.provider-box-sub{font-size:11px;color:var(--txd);margin-top:2px}
.provider-box-body .rs:last-child{border-bottom:none}
.rg{display:grid;grid-template-columns:repeat(4,1fr)}
.rg.g3{grid-template-columns:repeat(3,1fr)}
.rg.g2{grid-template-columns:repeat(2,1fr)}
.rc{padding:11px 20px;border-right:1px solid var(--b1);border-bottom:1px solid var(--b1)}
.rc:last-child{border-right:none}
.rcl{font-size:9px;color:var(--txm);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-weight:700}
.rcv{font-size:13px;color:var(--tx);line-height:1.4}
.rcv.mn{font-family:var(--mono);font-size:12px;color:var(--skyl)}
.lk{color:var(--skyl);cursor:pointer;background:none;border:none;padding:0;font-family:var(--font);font-size:13px}
.lk:hover{text-decoration:underline;color:#7dd3f5}
.edit-input{width:100%;background:var(--surf2);border:1px solid var(--sky);border-radius:5px;color:var(--tx);font-family:var(--font);font-size:13px;padding:5px 9px;outline:none}
.edit-textarea{width:100%;background:var(--surf2);border:1px solid var(--sky);border-radius:5px;color:var(--tx);font-family:var(--font);font-size:12px;padding:7px 9px;outline:none;resize:vertical;min-height:80px;line-height:1.5}
.dtw{overflow-x:auto}
.dt{width:100%;border-collapse:collapse;font-size:12px}
.dt th{padding:8px 16px;text-align:left;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--txm);background:rgba(0,0,0,.15);border-bottom:1px solid var(--b1);white-space:nowrap}
.dt td{padding:9px 16px;border-bottom:1px solid var(--b1);color:var(--tx);white-space:nowrap}
.dt tbody tr.js-audit-row{cursor:pointer}
.dt tbody tr.js-audit-row:hover{background:var(--rh)}
.dt tbody tr.js-audit-row:focus{background:var(--rs);outline:none}
.dt td.mn{font-family:var(--mono);font-size:11px;color:var(--skyl)}
.dt tr:hover td{background:rgba(14,165,233,.04)}
.dt-compact{table-layout:fixed}
.dt-compact th{padding:7px 10px}
.dt-compact td{padding:8px 10px;overflow:hidden;text-overflow:ellipsis}
.dt-compact td.wrap{white-space:normal;line-height:1.25}
.dt-compact .subline{margin-top:2px;color:var(--txm);font-size:10px}
.snap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 20px}
.snap-card{background:var(--surf2);border:1px solid var(--b1);border-radius:8px;padding:12px 14px}
.snap-head{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--skyl);margin-bottom:8px}
.snap-row{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid var(--b1);font-size:11px}
.snap-row:last-child{border-bottom:none}
.snap-lbl{color:var(--txm);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}
.snap-val{color:var(--tx);font-size:11px;text-align:right}
.snap-val.mn{font-family:var(--mono);font-size:10px;color:var(--skyl)}
.snap-empty{font-size:11px;color:var(--txd);font-style:italic}
.loc-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.loc-card{padding:14px 20px;border-right:1px solid var(--b1);border-bottom:1px solid var(--b1)}
.loc-card:nth-child(even){border-right:none}
.loc-name{font-size:12px;font-weight:600;color:var(--skyl);margin-bottom:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.loc-pri{font-size:9px;font-weight:700;color:var(--amber);background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25);padding:1px 6px;border-radius:3px}
.loc-row{display:flex;gap:8px;padding:3px 0;font-size:12px;color:var(--tx)}
.loc-lbl{color:var(--txm);font-size:9px;font-weight:700;text-transform:uppercase;width:44px;flex-shrink:0}
.mapl{color:var(--sky);cursor:pointer;font-size:11px;background:none;border:none;padding:0;font-family:var(--font);display:inline-flex;align-items:center;gap:4px;margin-top:5px}
.cred-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.cred-card{padding:14px 20px;border-right:1px solid var(--b1);border-bottom:1px solid var(--b1)}
.cred-card:nth-child(even){border-right:none}
.cred-title{font-size:11px;font-weight:600;color:var(--skyl);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.cred-on{font-size:9px;font-weight:700;padding:1px 7px;border-radius:8px;color:#0dd696;background:rgba(13,214,150,.12);border:1px solid rgba(13,214,150,.3)}
.cred-off{font-size:9px;font-weight:700;padding:1px 7px;border-radius:8px;color:#f87171;background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.3)}
.cred-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--b1);font-size:12px}
.cred-row:last-child{border-bottom:none}
.cred-lbl{color:var(--txm);font-size:10px;font-weight:600;text-transform:uppercase}
.cred-val{color:var(--tx)}
.cred-val.mn{font-family:var(--mono);font-size:11px;color:var(--skyl)}
.notes-box{line-height:1.7;white-space:pre-wrap;font-size:12px;padding:10px;background:rgba(14,165,233,.04);border-radius:6px;border:1px solid var(--b1);color:var(--tx)}
.mem-photo{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid rgba(125,211,252,.7);background:var(--surf2);box-shadow:0 0 0 4px rgba(14,165,233,.08);flex-shrink:0;display:block}
.photo-url-inp{width:90px;background:var(--surf2);border:1px solid var(--sky);border-radius:4px;color:var(--tx);font-size:9px;padding:3px 6px;outline:none;margin-top:4px;font-family:var(--font)}
.photo-load{width:90px;font-size:9px;font-weight:700;color:#001827;background:var(--sky);border:none;border-radius:4px;padding:4px 6px;cursor:pointer;margin-top:5px}
.photo-load:disabled{opacity:.65;cursor:wait}
.photo-clr{width:90px;font-size:9px;font-weight:600;color:#fff;background:rgba(239,68,68,.7);border:none;border-radius:4px;padding:2px 6px;cursor:pointer;margin-top:3px}
.photo-note{font-size:8px;color:var(--txd);text-align:center;margin-top:2px;line-height:1.3;width:90px}
.empty-tab{padding:40px;text-align:center;color:var(--txd);font-size:12px}
.empty-icon{font-size:28px;opacity:.2;margin-bottom:10px}
.stub-body{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--txd)}
.light .rsh{color:#0369a1;background:rgba(2,132,199,.06)}
.light .provider-box{background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.light .provider-box-head{background:rgba(2,132,199,.06)}
.light .rcl{color:#374151}
.light .rcv{color:#0f172a}
.light .rcv.mn{color:#0284c7}
.light .dt th{color:#374151;background:rgba(0,0,0,.04)}
.light .dt td{color:#0f172a}
.light .dt td.mn{color:#0284c7}
.light .rtbl th{color:#374151;background:#f0f2f5}
.light .rtbl td{color:#0f172a}
.light .rtbl td.mn{color:#0284c7}
.light .lk{color:#0284c7}
.light mark{background:rgba(2,132,199,.15);color:#0284c7}
.light .did{color:#0284c7}
.light .dnm{color:#0f172a}
.light .dsb{color:#374151}
.light .snap-card{background:#f0f2f5}
.light .snap-lbl{color:#374151}
.light .snap-val{color:#0f172a}
.light .notes-box{background:rgba(2,132,199,.04)}
.light .p.active,.light .p.approved,.light .p.resolved{color:#065f46;background:rgba(6,95,70,.08);border-color:rgba(6,95,70,.2)}
.light .p.termed,.light .p.denied,.light .p.closed{color:#991b1b;background:rgba(153,27,27,.08);border-color:rgba(153,27,27,.2)}
.light .p.pending,.light .p.open{color:#92400e;background:rgba(146,64,14,.08);border-color:rgba(146,64,14,.2)}
.light .p.paid{color:#065f46;background:rgba(6,95,70,.08);border-color:rgba(6,95,70,.2)}
.light .p.adjusted{color:#5b21b6;background:rgba(91,33,182,.08);border-color:rgba(91,33,182,.2)}
.light .bon{color:#065f46;background:rgba(6,95,70,.08);border-color:rgba(6,95,70,.2)}
.light .boff{color:#991b1b;background:rgba(153,27,27,.08);border-color:rgba(153,27,27,.2)}
.light #footer{background:#f0f2f5;border-top-color:#d1d5db;color:#374151}
.light .det-banner{background:linear-gradient(135deg,rgba(2,132,199,.07),rgba(2,132,199,.01))}
.light .det-banner-title{color:#0f172a}
.light .det-banner-sub{color:#374151}


.filter-bar{padding:6px 20px;border-bottom:1px solid var(--b1);display:flex;align-items:center;gap:8px;flex-shrink:0;background:var(--surf);flex-wrap:wrap}
.filter-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--txm);margin-right:2px}
.fchip{font-size:10px;font-weight:600;padding:3px 10px;border-radius:12px;cursor:pointer;border:1px solid var(--b2);background:none;color:var(--txm);font-family:var(--font);transition:all .12s}
.fchip:hover{border-color:var(--sky);color:var(--skyl)}
.fchip.active{background:var(--sky);border-color:var(--sky);color:#fff}

/* ── Chat assistant (V1) ── */
#cp-chat-fab{position:fixed;bottom:22px;right:22px;width:52px;height:52px;border-radius:50%;border:none;background:var(--sky);color:#fff;font-size:22px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35);z-index:9000}
#cp-chat-fab:hover{background:var(--skyl)}
#cp-chat-panel{position:fixed;bottom:86px;right:22px;width:360px;max-width:94vw;height:520px;max-height:75vh;background:var(--surf);border:1px solid var(--b2);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.45);z-index:9000;flex-direction:column;overflow:hidden}
#cp-chat-head{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--b1);font-size:13px;font-weight:600;color:var(--tx)}
#cp-chat-head>span:first-child{flex:1}
#cp-chat-close{background:none;border:none;color:var(--txm);cursor:pointer;font-size:14px;padding:0}
#cp-chat-msgs{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
.cp-chat-m{font-size:12.5px;line-height:1.5;padding:8px 11px;border-radius:9px;max-width:85%;white-space:pre-wrap;word-break:break-word}
.cp-chat-m.user{align-self:flex-end;background:var(--sky);color:#fff;border-bottom-right-radius:3px}
.cp-chat-m.bot{align-self:flex-start;background:var(--surf2);color:var(--tx);border:1px solid var(--b1);border-bottom-left-radius:3px}
.cp-chat-m.bot i{color:var(--skyl);font-style:italic}
#cp-chat-input{display:flex;gap:7px;padding:10px;border-top:1px solid var(--b1)}
#cp-chat-text{flex:1;background:var(--surf2);border:1px solid var(--b2);border-radius:7px;color:var(--tx);font-family:var(--font);font-size:13px;padding:9px 11px;outline:none}
#cp-chat-text:focus{border-color:var(--sky)}
#cp-chat-send{background:var(--sky);border:none;border-radius:7px;color:#fff;font-family:var(--font);font-size:12px;font-weight:600;padding:0 14px;cursor:pointer}
#cp-chat-send:disabled{opacity:.5;cursor:default}

/* ── Chat assistant — typing/thinking animations ── */
.cp-chat-m{animation:cpmsgin .18s ease}
@keyframes cpmsgin{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.cp-typing{display:inline-flex;gap:4px;align-items:center;padding:3px 1px}
.cp-typing>span{width:6px;height:6px;border-radius:50%;background:var(--txd);animation:cpbounce 1.2s infinite ease-in-out}
.cp-typing>span:nth-child(2){animation-delay:.18s}
.cp-typing>span:nth-child(3){animation-delay:.36s}
@keyframes cpbounce{0%,60%,100%{transform:translateY(0);opacity:.3}30%{transform:translateY(-4px);opacity:1}}
.cp-cursor{display:inline-block;width:6px;height:13px;margin-left:2px;background:var(--skyl);vertical-align:text-bottom;border-radius:1px;animation:cpblink 1s steps(1) infinite}
@keyframes cpblink{0%,50%{opacity:1}50.01%,100%{opacity:0}}
#cp-chat-fab{transition:transform .15s,background .15s}
#cp-chat-fab:hover{transform:scale(1.06)}

/* ── Chat assistant — rendered markdown ── */
.cp-chat-m .cp-txt{display:block}
.cp-chat-m ul{margin:4px 0;padding-left:18px}
.cp-chat-m li{margin:2px 0}
.cp-chat-m strong{color:var(--tx);font-weight:600}
.cp-chat-m.user strong{color:#fff}
.cp-chat-m em{font-style:italic;color:var(--txm)}
.cp-chat-m code{font-family:var(--mono);font-size:11px;background:rgba(0,0,0,.18);padding:1px 5px;border-radius:4px}
.cp-chat-m .cp-h{font-weight:700;margin:6px 0 2px;color:var(--tx)}
.cp-chat-m .cp-sp{height:6px}

/* chat header settings gear */
#cp-chat-cfg{background:none;border:none;color:var(--txm);cursor:pointer;font-size:13px;padding:0}
#cp-chat-cfg:hover{color:var(--tx)}

/* chat help links */
.cp-chat-m a{color:var(--skyl);text-decoration:underline;word-break:break-all}
.cp-chat-m.user a{color:#fff}

/* Betty chat — draggable header + resizable panel */
#cp-chat-panel{resize:both;min-width:300px;min-height:340px}
#cp-chat-head{cursor:move;user-select:none}
#cp-chat-head button{cursor:pointer}

/* chat history — rows, per-message local time, date separators */
.cp-chat-row{display:flex;flex-direction:column;gap:2px;max-width:100%}
.cp-chat-row.user{align-items:flex-end}
.cp-chat-row.bot{align-items:flex-start}
.cp-chat-time{font-size:9px;color:var(--txd);padding:0 3px;line-height:1}
.cp-date-sep{align-self:center;font-size:10px;font-weight:600;color:var(--txm);background:var(--surf2);border:1px solid var(--b1);border-radius:10px;padding:2px 11px;margin:8px auto 2px}
