*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%}
body {
    font-family: var(--font-body);
    background: var(--white);
    color: var(--navy);
    min-height: 100vh;
    max-height: 100vh;
    display: flex;
    flex-direction: column;
    width: 100%
}
.app-header{background:var(--navy);padding:0 1.5rem;height:60px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--white-alpha-10);flex-shrink:0;width:100%}
.logo{display:flex;align-items:center;gap:10px;color:var(--white);font-family:var(--font-heading);font-size:1.15rem}
.logo-badge{background:var(--gold);color:var(--navy);font-family:var(--font-body);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:4px}
.hdr-ctrls{display:flex;align-items:center;gap:8px}
.hdr-ctrls select{background:var(--white-alpha-08);border:1px solid var(--white-alpha-20);color:var(--white);padding:5px 10px;border-radius:6px;font-family:var(--font-body);font-size:.78rem;cursor:pointer;outline:none}
.hdr-ctrls select option{background:var(--navy)}
.hdr-icon-btn{background:none;border:none;color:var(--white);font-size:1.3rem;cursor:pointer;padding:4px 6px;border-radius:6px;opacity:.75;transition:opacity .2s,background .2s;line-height:1;display:flex;align-items:center;justify-content:center}
.hdr-icon-btn:hover{opacity:1;background:var(--white-alpha-10)}
.app-body{display:flex;flex:1;overflow:hidden;height:calc(100vh - 60px);width:100%}
.right-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--white);width:100%;min-width:0}
.tabs{display:flex;border-bottom:1px solid var(--border);background:var(--white);flex-shrink:0;overflow-x:auto;width:100%}
.tab-btn{padding:0 1.2rem;height:50px;font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--slate);background:none;border:none;border-bottom:2.5px solid transparent;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transition:all .2s;white-space:nowrap}
.tab-btn:hover{color:var(--navy)}.tab-btn.active{color:var(--navy);border-bottom-color:var(--gold)}
.tab-content{display:none;flex:1;overflow-y:auto;padding:1.25rem 1.75rem;width:100%}
.tab-content.active{display:block;width:100%}
.prog-wrap{margin-bottom:1.25rem}
.prog-label{display:flex;justify-content:space-between;font-size:.74rem;color:var(--slate);margin-bottom:5px}
.prog-bar{height:5px;background:var(--border);border-radius:3px;overflow:hidden}
.prog-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-dark));border-radius:3px;transition:width .5s ease}
.sec-hdr{display:flex;align-items:center;gap:9px;margin:1.25rem 0 .65rem;padding-bottom:7px;border-bottom:1.5px solid var(--gold-light)}
.sec-hdr:first-child{margin-top:0}
.sec-icon{font-size:1.1rem}.sec-title{font-family:var(--font-heading);font-size:1rem;color:var(--navy)}.sec-pct{margin-left:auto;font-size:.72rem;color:var(--gold-dark);font-weight:700}
.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:6px;align-items:end}
.fw{display:flex;flex-direction:column;gap:3px}.fw.full{grid-column:1/-1}
.fw label{font-size:.68rem;font-weight:600;color:var(--slate);letter-spacing:.05em;text-transform:uppercase}
.ai-tag{font-size:.6rem;background:var(--gold-light);color:var(--gold-dark);padding:1px 5px;border-radius:3px;margin-left:3px;font-weight:700;text-transform:uppercase}
.fi{padding:8px 11px;border:1.5px solid var(--border);border-radius:8px;font-family:var(--font-body);font-size:.85rem;color:var(--navy);background:var(--slate-light);outline:none;transition:border-color .2s,background .2s;width:100%}
.fi:focus{border-color:var(--gold);background:var(--white)}
.fi.ai-filled{border-color:var(--gold);background:var(--gold-light);color:var(--gold-dark)}.fi.has-value{border-color:var(--gold);background:var(--gold-light);color:var(--gold-dark)}
.fi.computed{background:var(--navy-light);border-color:var(--navy);color:var(--navy);font-weight:700}
.form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}
.btn{padding:9px 18px;border-radius:8px;font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;border:none;transition:all .2s;letter-spacing:.02em}
.btn-primary{background:var(--navy);color:var(--gold)}.btn-primary:hover{background:var(--navy-mid)}
.btn-secondary{background:var(--gold-light);color:var(--gold-dark);border:1.5px solid var(--gold)}.btn-secondary:hover{background:var(--gold);color:var(--navy)}
.btn-green{background:var(--green-light);color:var(--green);border:1.5px solid var(--green)}.btn-green:hover{background:var(--green);color:var(--white)}
.btn-danger{background:var(--red-light);color:var(--red);border:1.5px solid var(--red)}
/* BP selector */
.bp-selector-wrap{border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:10px}
.bp-selector-label{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--slate-light);font-size:.72rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.05em}
.bp-add-btn{background:var(--navy);color:var(--gold);border:none;border-radius:6px;padding:5px 12px;font-size:.72rem;font-weight:700;cursor:pointer;transition:background .15s}
.bp-add-btn:hover{background:var(--navy-mid)}
.bp-count-badge{background:var(--gold);color:var(--navy);border-radius:10px;padding:1px 6px;font-size:.65rem;margin-left:5px}
.bp-chips-row{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;background:var(--white)}
.bp-chip{display:flex;align-items:center;gap:6px;background:var(--blue-light);border:1.5px solid var(--blue);border-radius:8px;padding:5px 10px;font-size:.78rem}
.bp-chip-label{color:var(--blue);font-weight:600}.bp-chip-wpi{font-size:.65rem;color:var(--slate);background:var(--white);border-radius:4px;padding:1px 5px}
.bp-chip-del{background:none;border:none;color:var(--red);cursor:pointer;font-size:.8rem;padding:0 2px;line-height:1;margin-left:2px}
.bp-chip-del:hover{opacity:.7}
.bp-empty-hint{padding:10px 12px;font-size:.8rem;color:var(--slate);font-style:italic;background:var(--white)}
.bp-picker-panel{border-top:1.5px solid var(--border);display:none}
.bp-picker-inner{padding:10px}
.bp-pick-hint{font-size:.8rem;color:var(--slate);padding:6px 4px;font-style:italic}
.bp-regions{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--border)}
.bp-region-btn{padding:8px 6px;font-size:.72rem;font-weight:600;text-align:center;cursor:pointer;border:none;background:var(--slate-light);color:var(--slate);transition:all .15s;border-right:1px solid var(--border)}
.bp-region-btn:last-child{border-right:none}
.bp-region-btn.active{background:var(--navy);color:var(--gold)}
.bp-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.bp-item{padding:6px 10px;border:1px solid var(--border);border-radius:7px;font-size:.78rem;cursor:pointer;background:var(--white);color:var(--navy);transition:all .15s;display:flex;align-items:center;justify-content:space-between}
.bp-item:hover{border-color:var(--blue);background:var(--blue-light);color:var(--blue)}
.bp-item.added{border-color:var(--green);background:var(--green-light);color:var(--green);cursor:default}
.wpi-hint{font-size:.65rem;opacity:.7}
.bp-laterality-wrap{margin-top:10px;padding:10px 12px;background:var(--white);border-top:1px solid var(--border)}
.bp-lat-title{font-size:.68rem;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.bp-laterality{display:flex;gap:6px;margin-bottom:6px}
.lat-btn{flex:1;padding:6px;border:1px solid var(--border);border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;background:var(--white);color:var(--slate);text-align:center;transition:all .15s}
.lat-btn.active{background:var(--navy);color:var(--gold);border-color:var(--navy)}
.bp-confirm-btn{margin-top:10px;background:var(--green);color:var(--white);border:none;border-radius:8px;padding:8px 18px;font-family:var(--font-body);font-size:.82rem;font-weight:700;cursor:pointer;width:100%}
.bp-confirm-btn:hover{background:var(--green-dark)}
/* MTUS */
.mtus-panel{border:1.5px solid var(--blue);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}
.mtus-header{background:var(--navy);color:var(--white);padding:.875rem 1.1rem;display:flex;align-items:center;gap:10px}
.mtus-header h3{font-family:var(--font-heading);font-size:1rem;color:var(--gold);flex:1}
.mtus-badge{font-size:.65rem;background:var(--gold);color:var(--navy);padding:2px 7px;border-radius:4px;font-weight:700;text-transform:uppercase}
.mtus-body{padding:1rem 1.1rem}
.mtus-section{margin-bottom:1rem}.mtus-section:last-child{margin-bottom:0}
.mtus-section-title{font-size:.72rem;font-weight:700;color:var(--slate);letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px}
.mtus-row{display:flex;gap:8px;padding:5px 0;border-bottom:1px solid var(--border);font-size:.8rem;line-height:1.45;color:var(--navy)}
.mtus-row:last-child{border-bottom:none}
.mtus-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0;margin-top:1px}
.ic-green{background:var(--green-light);color:var(--green)}
.ic-amber{background:var(--amber-light);color:var(--amber)}
.ic-red{background:var(--red-light);color:var(--red)}
.ic-blue{background:var(--blue-light);color:var(--blue)}
.ic-purple{background:var(--purple-light);color:var(--purple)}
.mtus-warning{background:var(--amber-light);border:1.5px solid var(--amber);border-radius:8px;padding:.7rem .875rem;font-size:.8rem;color:var(--amber);line-height:1.5;margin-top:.75rem}
.mtus-tip{background:var(--green-light);border:1.5px solid var(--green);border-radius:8px;padding:.7rem .875rem;font-size:.8rem;color:var(--green);line-height:1.5;margin-top:.75rem}
/* PD */
.pd-estimator{border:1.5px solid var(--purple);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem}
.pd-hdr{background:var(--purple);color:var(--white);padding:.875rem 1.1rem;display:flex;align-items:center;gap:10px}
.pd-hdr h3{font-family:var(--font-heading);font-size:1rem;flex:1}
.pd-body{padding:1rem 1.1rem}
.pd-range-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1rem}
.pd-range-card{border-radius:10px;padding:.875rem;text-align:center}
.pd-range-card.low{background:var(--green-light);border:1.5px solid var(--green)}
.pd-range-card.mid{background:var(--amber-light);border:1.5px solid var(--amber)}
.pd-range-card.high{background:var(--red-light);border:1.5px solid var(--red)}
.pd-range-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.pd-range-card.low .pd-range-label{color:var(--green)}
.pd-range-card.mid .pd-range-label{color:var(--amber)}
.pd-range-card.high .pd-range-label{color:var(--red)}
.pd-range-value{font-size:1.1rem;font-weight:700}
.pd-range-card.low .pd-range-value{color:var(--green)}
.pd-range-card.mid .pd-range-value{color:var(--amber)}
.pd-range-card.high .pd-range-value{color:var(--red)}
.pd-range-sub{font-size:.68rem;color:var(--slate);margin-top:2px}
.pd-formula{font-size:.75rem;color:var(--slate);background:var(--slate-light);border-radius:8px;padding:.6rem .875rem;line-height:1.6}
/* RFA */
.rfa-tabs-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1rem}
.rfa-tab-btn{padding:5px 12px;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;border:1.5px solid var(--amber);background:var(--white);color:var(--amber);transition:all .15s}
.rfa-tab-btn.active{background:var(--amber);color:var(--white)}
.rfa-module{border:1.5px solid var(--amber);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem}
.rfa-hdr{background:var(--amber);color:var(--white);padding:.875rem 1.1rem}
.rfa-hdr h3{font-family:var(--font-heading);font-size:1rem}
.rfa-body{padding:1rem 1.1rem}
.rfa-step{display:flex;gap:10px;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.rfa-step:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.rfa-step-num{width:28px;height:28px;background:var(--amber);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0}
.rfa-step-body{flex:1}
.rfa-step-title{font-weight:600;font-size:.85rem;color:var(--navy);margin-bottom:3px}
.rfa-step-text{font-size:.78rem;color:var(--slate);line-height:1.5}
.rfa-deadline{display:inline-block;background:var(--red-light);color:var(--red);font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:6px;text-transform:uppercase}
.rfa-citation{display:inline-block;background:var(--blue-light);color:var(--blue);font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:6px}
/* Strategy */
.strat-hero{background:var(--navy);color:var(--white);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}
.strat-hero h2{font-family:var(--font-heading);font-size:1.3rem;color:var(--gold);margin-bottom:4px}
.strat-hero p{font-size:.82rem;opacity:.8;line-height:1.6}
.strat-phase{border:1.5px solid var(--border);border-radius:var(--radius);margin-bottom:.875rem;overflow:hidden}
.phase-hdr{display:flex;align-items:center;gap:10px;padding:.875rem 1.1rem;background:var(--slate-light);cursor:pointer;user-select:none}
.phase-num{width:28px;height:28px;background:var(--navy);color:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem;flex-shrink:0}
.phase-title{font-family:var(--font-heading);font-size:.95rem;color:var(--navy);flex:1}
.phase-timing{font-size:.68rem;color:var(--slate);background:var(--white);border:1px solid var(--border);padding:2px 7px;border-radius:4px}
.phase-body{padding:.875rem 1.1rem;display:none}.phase-body.open{display:block}
.phase-item{display:flex;gap:9px;padding:7px 0;border-bottom:1px solid var(--border);font-size:.82rem;line-height:1.5;color:var(--navy)}
.phase-item:last-child{border-bottom:none}
.pi-icon{width:22px;height:22px;border-radius:50%;background:var(--gold-light);color:var(--gold-dark);display:flex;align-items:center;justify-content:center;font-size:.68rem;flex-shrink:0;margin-top:1px}
.pi-text{flex:1}.pi-text strong{color:var(--navy);font-weight:600}
.tip-box{background:var(--green-light);border:1.5px solid var(--green);border-radius:8px;padding:.65rem .875rem;margin-top:.65rem;font-size:.79rem;color:var(--green);line-height:1.5}
.strat-placeholder{text-align:center;padding:3rem 1rem;color:var(--slate)}
.strat-placeholder .big-icon{font-size:2.5rem;margin-bottom:.875rem}
/* Labor Code */
.lc-hero{background:var(--navy);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:1.25rem;border:1px solid var(--gold-alpha-30)}
.lc-hero h2{font-family:var(--font-heading);color:var(--gold);font-size:1.25rem;margin-bottom:.4rem}
.lc-hero p{font-size:.82rem;color:var(--white-alpha-78);line-height:1.6}
.lc-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1.1rem}
.lc-filter-btn{padding:5px 13px;border-radius:20px;font-size:.73rem;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:var(--slate-light);color:var(--slate);transition:all .15s}
.lc-filter-btn.active{background:var(--navy);color:var(--gold);border-color:var(--navy)}
.lc-sum-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:1.1rem}
.lc-sum-card{background:var(--navy);border-radius:10px;padding:.875rem;text-align:center}
.lc-sum-card .val{font-size:1.1rem;font-weight:700;color:var(--gold)}
.lc-sum-card .lbl{font-size:.62rem;color:var(--white-alpha-60);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.lc-section{border:1.5px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden}
.lc-sec-hdr{display:flex;align-items:center;gap:10px;padding:.8rem 1rem;cursor:pointer;user-select:none;transition:background .15s}
.lc-sec-hdr:hover{background:var(--slate-light)}
.lc-sec-title{font-family:var(--font-heading);font-size:.9rem;color:var(--navy);flex:1}
.lc-sec-tags{display:flex;gap:4px;flex-wrap:wrap}
.lc-tag{font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}
.lc-tag.claim{background:var(--blue-light);color:var(--blue)}.lc-tag.penalty{background:var(--red-light);color:var(--red)}
.lc-tag.benefit{background:var(--green-light);color:var(--green)}.lc-tag.deadline{background:var(--amber-light);color:var(--amber)}
.lc-tag.defense{background:var(--purple-light);color:var(--purple)}.lc-tag.insurance{background:var(--navy-light);color:var(--navy)}
.lc-sec-body{padding:.875rem 1rem;display:none;border-top:1px solid var(--border)}.lc-sec-body.open{display:block}
.lc-text{font-size:.81rem;color:var(--navy);line-height:1.65;margin-bottom:.75rem;padding:.75rem;background:var(--slate-light);border-radius:8px;border-left:3px solid var(--gold)}
.lc-row{display:flex;gap:8px;padding:5px 0;border-bottom:1px solid var(--border);font-size:.81rem;line-height:1.5;color:var(--navy)}
.lc-row:last-child{border-bottom:none}
.lc-row-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0;margin-top:1px}
.lc-checks-title{font-size:.7rem;font-weight:700;color:var(--slate);letter-spacing:.06em;text-transform:uppercase;margin:.875rem 0 .5rem}
.lc-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.lc-check{display:flex;align-items:flex-start;gap:7px;padding:6px 9px;border-radius:7px;font-size:.77rem;line-height:1.4;cursor:pointer;border:1.5px solid var(--border);background:var(--white);transition:all .15s}
.lc-check:hover{border-color:var(--gold);background:var(--gold-light)}
.lc-check.yes{border-color:var(--green);background:var(--green-light);color:var(--green)}
.lc-check.no{border-color:var(--red);background:var(--red-light);color:var(--red)}
.lc-check-box{width:15px;height:15px;border-radius:3px;border:1.5px solid currentColor;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:.62rem}
.lc-verdict{margin-top:.75rem;padding:.7rem .9rem;border-radius:9px;font-size:.81rem;line-height:1.55;font-weight:500}
.lc-verdict.applies{background:var(--green-light);border:1.5px solid var(--green);color:var(--green)}
.lc-verdict.partial{background:var(--amber-light);border:1.5px solid var(--amber);color:var(--amber)}
.lc-verdict.review{background:var(--blue-light);border:1.5px solid var(--blue);color:var(--blue)}
.lc-action{margin-top:.625rem;padding:.625rem .875rem;background:var(--navy);border-radius:8px;font-size:.78rem;color:var(--gold);line-height:1.5}
.lc-action strong{color:var(--white)}
.lc-calc{background:var(--slate-light);border-radius:10px;padding:.875rem;margin-top:.75rem}
.lc-calc-title{font-size:.7rem;font-weight:700;color:var(--slate);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}
.lc-calc-row{display:flex;align-items:center;gap:8px;margin-bottom:.4rem;font-size:.8rem}
.lc-calc-row label{color:var(--slate);font-size:.76rem;min-width:160px}
.lc-calc-row input{flex:1;padding:5px 9px;border:1.5px solid var(--border);border-radius:6px;font-family:var(--font-body);font-size:.81rem;outline:none;background:var(--white);color:var(--navy);min-width:0}
.lc-calc-row input:focus{border-color:var(--gold)}
.lc-calc-result{background:var(--navy);color:var(--gold);border-radius:8px;padding:.625rem 1rem;font-size:.9rem;font-weight:700;margin-top:.5rem;text-align:center}
/* Export */
.export-sec{background:var(--navy-light);border:1.5px solid var(--navy);border-radius:var(--radius);padding:1.1rem 1.25rem;margin-bottom:.875rem}
.export-sec h3{font-family:var(--font-heading);color:var(--navy);font-size:.95rem;margin-bottom:.4rem}
.export-sec p{font-size:.8rem;color:var(--slate);margin-bottom:.65rem;line-height:1.5}
.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.theme-dark{--slate-light:var(--dark-surface);--white:var(--dark-bg);--border:var(--white-alpha-10);--navy:var(--dark-navy);--navy-mid:var(--dark-navy-mid);--navy-light:var(--dark-surface);--slate:var(--dark-slate);--gold:var(--dark-gold);--gold-light:var(--dark-gold-light);--gold-dark:var(--dark-gold-dark);--blue-light:var(--dark-blue-light);--green-light:var(--dark-green-light);--red-light:var(--dark-red-light);--amber-light:var(--dark-amber-light);--purple-light:var(--dark-purple-light)}

/* RFA Document Builder */
.rfa-doc-builder{border-top:2px solid var(--amber);margin-top:1rem;padding-top:1rem}
.rfa-doc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem;flex-wrap:wrap;gap:8px}
.rfa-doc-title{font-family:var(--font-heading);font-size:1rem;color:var(--navy);display:flex;align-items:center;gap:8px}
.rfa-doc-badge{background:var(--amber);color:var(--white);font-size:.6rem;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.06em}
.rfa-doc-actions{display:flex;gap:6px;flex-wrap:wrap}
.rfa-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:.875rem}
.rfa-field{display:flex;flex-direction:column;gap:3px}
.rfa-field.full{grid-column:1/-1}
.rfa-field label{font-size:.68rem;font-weight:600;color:var(--slate);letter-spacing:.05em;text-transform:uppercase}
.rfa-input{padding:7px 10px;border:1.5px solid var(--border);border-radius:7px;font-family:var(--font-body);font-size:.82rem;color:var(--navy);background:var(--slate-light);outline:none;transition:border-color .2s;width:100%}
.rfa-input:focus{border-color:var(--amber);background:var(--white)}
.rfa-textarea{padding:8px 10px;border:1.5px solid var(--border);border-radius:7px;font-family:var(--font-body);font-size:.82rem;color:var(--navy);background:var(--slate-light);outline:none;transition:border-color .2s;width:100%;resize:vertical}
.rfa-textarea:focus{border-color:var(--amber);background:var(--white)}
.rfa-treatment-list{margin-bottom:.875rem}
.rfa-treatment-title{font-size:.7rem;font-weight:700;color:var(--slate);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}
.rfa-treatment-item{display:flex;align-items:flex-start;gap:8px;padding:7px 10px;border:1.5px solid var(--border);border-radius:7px;margin-bottom:5px;cursor:pointer;background:var(--white);transition:all .15s;font-size:.8rem;line-height:1.4}
.rfa-treatment-item:hover{border-color:var(--amber);background:var(--amber-light)}
.rfa-treatment-item.selected{border-color:var(--amber);background:var(--amber-light)}
.rfa-treatment-item input[type=checkbox]{margin-top:2px;accent-color:var(--amber);flex-shrink:0}
.rfa-t-auth{font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:3px;background:var(--slate-light);color:var(--slate);text-transform:uppercase;white-space:nowrap;flex-shrink:0;margin-left:auto}
.rfa-treatment-item.selected .rfa-t-auth{background:var(--amber);color:var(--white)}
.rfa-doc-output{background:var(--navy-light);border:1.5px solid var(--navy);border-radius:10px;padding:1rem 1.1rem;margin-top:.875rem;display:none}
.rfa-doc-output.visible{display:block}
.rfa-doc-output-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:.625rem;flex-wrap:wrap;gap:6px}
.rfa-doc-output-title{font-size:.72rem;font-weight:700;color:var(--navy);letter-spacing:.06em;text-transform:uppercase}
.rfa-doc-text{font-size:.8rem;color:var(--navy);line-height:1.7;white-space:pre-wrap;font-family:var(--font-mono);background:var(--white);border:1px solid var(--border);border-radius:7px;padding:.75rem;max-height:320px;overflow-y:auto}
.rfa-generate-btn{display:flex;align-items:center;gap:6px;padding:9px 18px;background:var(--amber);color:var(--white);border:none;border-radius:8px;font-family:var(--font-body);font-size:.82rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}
.rfa-generate-btn:hover{filter:brightness(0.9)}
.rfa-generate-btn:disabled{opacity:.5;cursor:not-allowed}
.rfa-gen-spinner{width:14px;height:14px;border:2px solid var(--white-alpha-30);border-top-color:var(--white);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
.rfa-urgency-row{display:flex;gap:8px;align-items:center;margin-bottom:.875rem;flex-wrap:wrap}
.rfa-urgency-btn{padding:6px 14px;border-radius:6px;font-size:.76rem;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:var(--white);color:var(--slate);transition:all .15s}
.rfa-urgency-btn.active-routine{border-color:var(--blue);background:var(--blue-light);color:var(--blue)}
.rfa-urgency-btn.active-urgent{border-color:var(--red);background:var(--red-light);color:var(--red)}
.rfa-urgency-btn.active-expedited{border-color:var(--amber);background:var(--amber-light);color:var(--amber)}

/* BP Suggestions Panel */
.bp-suggestions-panel{border:2px solid var(--navy);border-radius:var(--radius);overflow:hidden;margin:10px 0;grid-column:1/-1}
.bp-suggestions-header{background:var(--navy);padding:10px 14px;display:flex;flex-direction:column;gap:3px}
.bp-suggestions-title{color:var(--gold);font-weight:700;font-size:.85rem}
.bp-suggestions-sub{color:var(--white-alpha-65);font-size:.72rem}
.bp-suggest-row{display:flex;align-items:stretch;gap:0;border-bottom:1px solid var(--border);border-left:4px solid var(--border);background:var(--white);transition:border-color .2s}
.bp-suggest-row:last-of-type{border-bottom:none}
.bp-suggest-conf{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 12px;font-size:.65rem;font-weight:700;text-transform:uppercase;min-width:80px;letter-spacing:.04em;flex-shrink:0}
.bp-suggest-conf span{writing-mode:horizontal-tb}
.bp-suggest-body{flex:1;padding:10px 12px}
.bp-suggest-title{font-size:.85rem;color:var(--navy);margin-bottom:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bp-suggest-icd{font-size:.72rem;color:var(--blue);background:var(--blue-light);padding:1px 7px;border-radius:4px;font-weight:600;font-family:var(--font-mono)}
.bp-suggest-detail{font-size:.75rem;color:var(--slate);margin-bottom:4px}
.bp-suggest-reason{font-size:.78rem;color:var(--slate);font-style:italic;line-height:1.4}
.bp-suggest-actions{display:flex;align-items:center;padding:10px 12px;flex-shrink:0}
.bp-suggest-btn{padding:6px 14px;border-radius:7px;font-family:var(--font-body);font-size:.78rem;font-weight:600;cursor:pointer;border:none;transition:all .15s;white-space:nowrap}
.bp-suggest-add{background:var(--navy);color:var(--gold)}
.bp-suggest-add:hover{background:var(--navy-mid)}
.bp-suggest-remove{background:var(--red-light);color:var(--red);border:1px solid var(--red)}
.bp-suggest-remove:hover{background:var(--red);color:var(--white)}
.bp-suggest-notes{padding:8px 14px;background:var(--amber-light);color:var(--amber);font-size:.78rem;line-height:1.5;border-top:1px solid var(--border)}

/* LC 3600 Analysis Field */
.lc3600-wrapper{grid-column:1/-1;display:flex;flex-direction:column;gap:0}
.lc3600-desc-row{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.lc3600-desc-row label{font-size:.68rem;font-weight:600;color:var(--slate);letter-spacing:.05em;text-transform:uppercase}
.lc3600-analyze-bar{display:flex;align-items:center;gap:8px;margin-top:6px}
.btn-analyze{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--navy);color:var(--gold);border:none;border-radius:8px;font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}
.btn-analyze:hover{background:var(--navy-mid)}
.btn-analyze:disabled{opacity:.5;cursor:not-allowed}
.btn-analyze .btn-icon{font-size:1rem}
.analyze-status{font-size:.75rem;color:var(--slate);display:flex;align-items:center;gap:6px}
.analyze-status.processing{color:var(--blue)}
.analyze-status.done{color:var(--green)}
.analyze-status.error{color:var(--red)}
.analyze-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
@keyframes spin{to{transform:rotate(360deg)}}
.lc3600-result-wrapper{display:flex;flex-direction:column;gap:4px}
.lc3600-result-label{display:flex;align-items:center;gap:8px;font-size:.68rem;font-weight:600;color:var(--slate);letter-spacing:.05em;text-transform:uppercase}
.lc3600-badge{background:var(--navy);color:var(--gold);font-size:.6rem;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.06em}
.fi-lc3600{padding:10px 12px;border:1.5px solid var(--navy);border-radius:8px;font-family:var(--font-body);font-size:.85rem;color:var(--navy);background:var(--navy-light);outline:none;width:100%;min-height:120px;line-height:1.6;resize:vertical}
.fi-lc3600.has-content{border-color:var(--green);background:var(--green-light);color:var(--navy)}
.lc3600-elements{margin-top:8px;display:none;flex-direction:column;gap:4px}
.lc3600-elements.visible{display:flex}
.lc3600-element{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;border-radius:7px;font-size:.77rem;line-height:1.45}
.lc3600-element.met{background:var(--green-light);color:var(--green);border:1px solid var(--green)}
.lc3600-element.unmet{background:var(--amber-light);color:var(--amber);border:1px solid var(--amber)}
.lc3600-element.na{background:var(--slate-light);color:var(--slate);border:1px solid var(--border)}
.lc3600-element-icon{font-size:.8rem;flex-shrink:0;margin-top:1px}
.lc3600-hint{font-size:.72rem;color:var(--slate);font-style:italic;margin-top:4px;line-height:1.4}
/* Medical Reports Module */
.med-hero{background:var(--navy);border-radius:var(--radius);padding:1.1rem 1.4rem;margin-bottom:1rem;border:1px solid var(--amber-dark)}
.med-hero h2{font-family:var(--font-heading);color:var(--gold);font-size:1.15rem;margin-bottom:.3rem}
.med-hero p{font-size:.8rem;color:var(--white-alpha-75);line-height:1.55}
.med-upload-zone{border:2.5px dashed var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--slate-light);margin-bottom:1rem}
.med-upload-zone:hover,.med-upload-zone.drag-over{border-color:var(--blue);background:var(--blue-light)}
.med-upload-zone p{font-size:.85rem;color:var(--slate);margin-bottom:.5rem}
.med-upload-zone .med-upload-icon{font-size:2rem;margin-bottom:.5rem}
.med-add-section{display:flex;gap:8px;margin-bottom:1rem;flex-wrap:wrap}
.med-paste-area{flex:1;min-width:0}
.med-paste-area textarea{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-family:var(--font-body);font-size:.82rem;color:var(--navy);background:var(--slate-light);outline:none;resize:vertical;min-height:80px;transition:border-color .2s}
.med-paste-area textarea:focus{border-color:var(--blue);background:var(--white)}
.med-report-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}
.med-report-card{border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}
.med-report-card.analyzing{border-color:var(--blue);animation:pulse-border 1.5s infinite}
@keyframes pulse-border{0%,100%{border-color:var(--blue)}50%{border-color:var(--blue-light)}}
.med-report-card.done{border-color:var(--green)}
.med-report-card.error{border-color:var(--red)}
.med-report-hdr{display:flex;align-items:center;gap:10px;padding:.75rem 1rem;background:var(--slate-light);cursor:pointer;user-select:none}
.med-report-icon{font-size:1.1rem;flex-shrink:0}
.med-report-title{flex:1;font-weight:600;font-size:.85rem;color:var(--navy)}
.med-report-meta{font-size:.7rem;color:var(--slate);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.med-report-badge{font-size:.6rem;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}
.med-report-badge.primary{background:var(--blue-light);color:var(--blue)}
.med-report-badge.qme{background:var(--purple-light);color:var(--purple)}
.med-report-badge.ime{background:var(--amber-light);color:var(--amber)}
.med-report-badge.treating{background:var(--green-light);color:var(--green)}
.med-report-badge.er{background:var(--red-light);color:var(--red)}
.med-report-badge.imaging{background:var(--navy-light);color:var(--navy)}
.med-report-badge.favorable{background:var(--green);color:var(--white)}
.med-report-badge.unfavorable{background:var(--red);color:var(--white)}
.med-report-badge.neutral{background:var(--slate);color:var(--white)}
.med-report-del{background:none;border:none;color:var(--slate);cursor:pointer;font-size:.9rem;padding:2px 4px;transition:color .15s}
.med-report-del:hover{color:var(--red)}
.med-report-body{padding:.875rem 1rem;display:none;border-top:1px solid var(--border)}
.med-report-body.open{display:block}
.med-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-bottom:.875rem}
.med-analysis-card{border-radius:8px;padding:.625rem .875rem;font-size:.8rem}
.med-analysis-card.green{background:var(--green-light);border:1px solid var(--green)}
.med-analysis-card.red{background:var(--red-light);border:1px solid var(--red)}
.med-analysis-card.amber{background:var(--amber-light);border:1px solid var(--amber)}
.med-analysis-card.blue{background:var(--blue-light);border:1px solid var(--blue)}
.med-analysis-card.purple{background:var(--purple-light);border:1px solid var(--purple)}
.med-analysis-card h4{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem;color:inherit}
.med-analysis-card ul{margin:0;padding-left:1rem;line-height:1.55}
.med-analysis-card li{margin-bottom:2px}
.med-analysis-card.full{grid-column:1/-1}
.med-conflict-alert{background:var(--red-light);border:2px solid var(--red);border-radius:8px;padding:.75rem 1rem;margin-bottom:.875rem;font-size:.82rem;color:var(--red);line-height:1.5}
.med-conflict-alert strong{display:block;margin-bottom:.25rem}
.med-wpi-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:.8rem}
.med-wpi-row:last-child{border-bottom:none}
.med-wpi-label{flex:1;color:var(--navy)}
.med-wpi-value{font-weight:700;font-size:.9rem;color:var(--purple)}
.med-wpi-src{font-size:.68rem;color:var(--slate);background:var(--slate-light);padding:1px 6px;border-radius:4px}
.med-consolidated{background:var(--navy);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1rem;display:none}
.med-consolidated.visible{display:block}
.med-consolidated h3{font-family:var(--font-heading);color:var(--gold);font-size:1rem;margin-bottom:.625rem}
.med-impact-section{margin-bottom:.875rem}
.med-impact-title{font-size:.68rem;font-weight:700;color:var(--white-alpha-60);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.375rem}
.med-impact-item{display:flex;gap:8px;padding:5px 0;border-bottom:1px solid var(--white-alpha-08);font-size:.8rem;line-height:1.45;color:var(--white-alpha-85)}
.med-impact-item:last-child{border-bottom:none}
.med-impact-icon{flex-shrink:0;font-size:.85rem}
.med-analyze-all-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:var(--blue);color:var(--white);border:none;border-radius:8px;font-family:var(--font-body);font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s}
.med-analyze-all-btn:hover{filter:brightness(.9)}
.med-analyze-all-btn:disabled{opacity:.5;cursor:not-allowed}
.med-spinner{width:14px;height:14px;border:2px solid var(--white-alpha-30);border-top-color:var(--white);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
.med-report-text-preview{font-size:.75rem;color:var(--slate);background:var(--slate-light);border-radius:6px;padding:.5rem .75rem;margin-bottom:.75rem;max-height:80px;overflow:hidden;line-height:1.5;font-family:var(--font-mono);cursor:pointer}
.med-report-text-preview.expanded{max-height:none}
.med-strategy-impact{border:2px solid var(--gold);border-radius:var(--radius);padding:1rem 1.1rem;margin-top:1rem;background:var(--gold-light)}
.med-strategy-impact h4{color:var(--gold-dark);font-family:var(--font-heading);font-size:.95rem;margin-bottom:.5rem}
.med-strategy-item{display:flex;gap:8px;padding:5px 0;border-bottom:1px solid var(--amber-alpha-20);font-size:.8rem;color:var(--navy);line-height:1.4}
.med-strategy-item:last-child{border-bottom:none}

/* ── WCAB / EAMS Body Part Code Display ── */
.wcab-code-badge{
  display:inline-block;font-size:.6rem;font-weight:700;
  padding:2px 6px;border-radius:4px;
  background:var(--navy);color:var(--gold);
  letter-spacing:.05em;text-transform:uppercase;
  margin-left:4px;vertical-align:middle;white-space:nowrap;
}
.bp-chip-wcab{
  font-size:.62rem;font-weight:700;
  background:var(--navy);color:var(--gold);
  border-radius:4px;padding:1px 5px;
  letter-spacing:.04em;
}
.wcab-panel-code{
  display:inline-block;font-size:.72rem;font-weight:700;
  background:var(--gold-alpha-15);color:var(--gold);
  border:1px solid var(--gold-alpha-30);border-radius:4px;
  padding:2px 8px;letter-spacing:.04em;
}
.wcab-filing-box{
  background:var(--gold-alpha-08);
  border:1.5px solid var(--gold-alpha-30);
  border-radius:8px;padding:.75rem 1rem;
  margin-top:.75rem;
}
.wcab-filing-title{
  font-size:.68rem;font-weight:700;color:var(--gold);
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;
}
.wcab-filing-primary{
  font-size:.85rem;font-weight:600;color:var(--white);
  margin-bottom:.375rem;display:flex;align-items:center;gap:8px;
}
.wcab-code-num{
  background:var(--gold);color:var(--navy);
  font-size:.8rem;font-weight:800;padding:3px 10px;
  border-radius:5px;letter-spacing:.04em;
  min-width:36px;text-align:center;flex-shrink:0;
}
.wcab-code-alt{
  background:var(--gold-alpha-20);color:var(--gold);
  font-size:.72rem;font-weight:700;padding:1px 6px;
  border-radius:4px;letter-spacing:.04em;
}
.wcab-filing-alts{
  font-size:.75rem;color:var(--white-alpha-65);
  margin-bottom:.375rem;line-height:1.55;
}
.wcab-filing-note{
  font-size:.76rem;color:var(--white-alpha-75);
  line-height:1.55;border-top:1px solid var(--gold-alpha-20);
  padding-top:.375rem;margin-top:.375rem;font-style:italic;
}

/* ── UAN / ERN Form Field Badges & Hints ── */
.uan-badge{
  display:inline-block;font-size:.58rem;font-weight:800;
  padding:1px 6px;border-radius:3px;margin-left:5px;
  background:var(--blue);color:var(--white);letter-spacing:.06em;
  text-transform:uppercase;vertical-align:middle;
}
.ern-badge{
  display:inline-block;font-size:.58rem;font-weight:800;
  padding:1px 6px;border-radius:3px;margin-left:5px;
  background:var(--purple);color:var(--white);letter-spacing:.06em;
  text-transform:uppercase;vertical-align:middle;
}
.uan-hint,.ern-hint{
  font-size:.7rem;line-height:1.45;margin-top:4px;
  padding:5px 8px;border-radius:5px;
}
.uan-hint{
  background:var(--blue-light);color:var(--blue);
  border-left:3px solid var(--blue);
}
.ern-hint{
  background:var(--purple-light);color:var(--purple);
  border-left:3px solid var(--purple);
}
.uan-hint a,.ern-hint a{color:inherit;font-weight:600;}
.uan-hint strong,.ern-hint strong{font-weight:700;}

/* Insurance / TPA section note callout */
.ins-section-note{
  grid-column:1/-1;
  background:var(--amber-light);
  border:1.5px solid var(--amber);
  border-radius:8px;
  padding:.75rem 1rem;
  font-size:.78rem;
  color:var(--amber);
  line-height:1.55;
  margin-bottom:4px;
}
.ins-section-note strong{font-weight:700;}
.tpa-section-note{
  grid-column:1/-1;
  background:var(--slate-light);
  border:1.5px solid var(--border);
  border-radius:8px;
  padding:.75rem 1rem;
  font-size:.78rem;
  color:var(--slate);
  line-height:1.55;
  margin-bottom:4px;
}

/* ── Case / ADJ Tab ── */
.case-hero{background:var(--navy);border-radius:var(--radius);padding:1.1rem 1.4rem;margin-bottom:1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.case-hero-label{font-size:.65rem;font-weight:700;color:var(--white-alpha-55);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}
.case-adj-number{font-family:var(--font-heading);font-size:1.8rem;color:var(--gold);line-height:1.1;letter-spacing:.04em;word-break:break-all}
.case-legacy{font-size:.78rem;color:var(--white-alpha-50);margin-top:.25rem;font-family:var(--font-mono)}
.case-hero-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.case-hero-sub{font-size:.74rem;color:var(--white-alpha-60)}
.case-companion-count{font-size:.72rem;font-weight:700;background:var(--gold-alpha-15);color:var(--gold);padding:3px 9px;border-radius:4px;border:1px solid var(--gold-alpha-30)}
.case-status-badge{font-size:.65rem;font-weight:700;padding:3px 9px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.case-status-open{background:var(--green-light);color:var(--green)}
.case-status-cr{background:var(--blue-light);color:var(--blue)}
.case-status-stip{background:var(--purple-light);color:var(--purple)}
.case-status-dismiss{background:var(--slate-light);color:var(--slate)}
.case-status-trial{background:var(--red-light);color:var(--red)}
.case-status-msc{background:var(--amber-light);color:var(--amber)}
.case-status-dor{background:var(--amber-light);color:var(--amber)}
.case-status-appeal{background:var(--red-light);color:var(--red)}

.case-section{border:1.5px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}
.case-section-hdr{display:flex;align-items:center;gap:10px;padding:.875rem 1.1rem;background:var(--slate-light);border-bottom:1px solid var(--border);flex-wrap:wrap}
.case-section-icon{font-size:1.1rem;flex-shrink:0}
.case-section-title{font-family:var(--font-heading);font-size:.95rem;color:var(--navy);flex:1}
.case-section-body{padding:.875rem 1.1rem}
.case-add-btn{margin-left:auto;white-space:nowrap;font-size:.78rem;padding:6px 14px}
.case-note{background:var(--blue-light);border:1px solid var(--blue);border-radius:8px;padding:.625rem .875rem;font-size:.78rem;color:var(--blue);line-height:1.5;margin-bottom:.875rem;grid-column:1/-1}
.case-note a{color:var(--blue);font-weight:600}
.case-companion-note{padding:.5rem 1.1rem .875rem;font-size:.78rem;color:var(--slate);line-height:1.5;border-bottom:1px solid var(--border)}

.case-field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;align-items:end}
.case-field{display:flex;flex-direction:column;gap:3px}
.case-field label{font-size:.68rem;font-weight:600;color:var(--slate);letter-spacing:.05em;text-transform:uppercase}
.case-field code{font-family:var(--font-mono);font-size:.85em;background:var(--slate-light);padding:1px 5px;border-radius:3px}
.case-subsection-title{font-size:.7rem;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.06em;margin:1rem 0 .5rem;padding-top:.875rem;border-top:1px solid var(--border);grid-column:1/-1}

/* Companion cases */
.case-empty-companions{text-align:center;padding:2rem;color:var(--slate)}
.companion-card{border-bottom:1px solid var(--border);transition:background .15s}
.companion-card:last-child{border-bottom:none}
.companion-card-hdr{display:flex;align-items:center;gap:10px;padding:.875rem 1.1rem;cursor:pointer;user-select:none}
.companion-card-hdr:hover{background:var(--slate-light)}
.companion-num{width:28px;height:28px;background:var(--navy);color:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;flex-shrink:0}
.companion-hdr-body{flex:1;min-width:0}
.companion-adj{font-weight:700;font-size:.88rem;color:var(--navy);font-family:var(--font-mono)}
.companion-summary{font-size:.74rem;color:var(--slate);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.companion-hdr-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.companion-del-btn{background:none;border:none;color:var(--slate);cursor:pointer;font-size:.9rem;padding:2px 6px;transition:color .15s}
.companion-del-btn:hover{color:var(--red)}
.companion-toggle{color:var(--slate);font-size:.9rem;transition:transform .2s}
.companion-card-body{display:none;padding:.875rem 1.1rem;border-top:1px solid var(--border);background:var(--white)}
.companion-card-body.open{display:block}
.companion-subsec-title{font-size:.7rem;font-weight:700;color:var(--slate);letter-spacing:.06em;text-transform:uppercase;margin:.875rem 0 .5rem;padding-top:.75rem;border-top:1px solid var(--border)}
.primary-case-row{background:var(--gold-light)}
.primary-case-row td{font-weight:600}

/* Case BP picker */
.cc-bp-section{margin-bottom:.75rem}
.cc-bp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.5rem}
.cc-bp-chip{display:flex;align-items:center;gap:6px;background:var(--blue-light);border:1.5px solid var(--blue);border-radius:7px;padding:4px 10px;font-size:.78rem}
.cc-bp-chip span{color:var(--blue);font-weight:500}
.cc-bp-empty{font-size:.78rem;color:var(--slate);font-style:italic;margin-bottom:.5rem}
.cc-bp-add-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}

/* Case overview table */
.case-overview-table{width:100%;border-collapse:collapse;font-size:.8rem}
.case-overview-table th{background:var(--navy);color:var(--gold);padding:7px 10px;text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.case-overview-table td{padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:top}
.case-overview-table tbody tr:hover{background:var(--slate-light)}

/* ── PIVehicleAI Extra Styles ── */
.damages-summary-box{background:var(--navy);border-radius:var(--radius);padding:1rem 1.1rem;margin:.875rem 0;grid-column:1/-1}
.damages-summary-title{font-size:.7rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.625rem}
.damages-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--white-alpha-08);font-size:.82rem;color:var(--white-alpha-80)}
.damages-row:last-child{border-bottom:none}
.damages-row.total{border-top:1px solid var(--gold-alpha-40);margin-top:4px;padding-top:8px;font-weight:700;color:var(--gold)}
.damages-row.shortfall{color:var(--red-light)}
.damages-val{font-weight:700;font-size:.9rem}

/* ── Modal ── */
#docModalOverlay{position:fixed;inset:0;background:var(--overlay-modal);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;transition:opacity .2s}
#docModalOverlay.visible{opacity:1}
#docModal{background:var(--white);border-radius:10px;box-shadow:0 8px 40px var(--shadow-modal);width:min(540px,92vw);max-height:85vh;display:flex;flex-direction:column;overflow:hidden}
#docModalHeader{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;background:var(--navy);color:var(--white)}
#docModalTitle{font-weight:700;font-size:.95rem;letter-spacing:.02em}
.modal-close-btn{background:none;border:none;color:var(--white-alpha-70);font-size:1rem;cursor:pointer;line-height:1;padding:2px 4px}
.modal-close-btn:hover{color:var(--white)}
#docModalBody{padding:1.25rem;overflow-y:auto;flex:1;font-size:.85rem;color:var(--navy);line-height:1.6}
#docModalBody .fi{width:100%;margin-top:.25rem;margin-bottom:.75rem}
#docModalBody label{font-size:.75rem;font-weight:700;color:var(--slate);display:block;margin-top:.5rem}
#docModalFooter{display:flex;justify-content:flex-end;gap:.625rem;padding:.875rem 1.25rem;border-top:1px solid var(--border);background:var(--slate-light)}
.btn-danger-confirm{background:var(--red);color:var(--white);border:none}
.btn-danger-confirm:hover{background:var(--red-dark)}

/* ── Iframe tabs ── */

/* ── Import modal options ── */
.import-option{display:flex;gap:.875rem;align-items:flex-start;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:8px;margin-bottom:.625rem;cursor:pointer;transition:border-color .15s,background .15s}
.import-option:hover{border-color:var(--gold);background:var(--gold-light)}
.import-option-icon{font-size:1.5rem;line-height:1;flex-shrink:0;margin-top:2px}
.import-option-title{font-weight:700;font-size:.85rem;color:var(--navy);margin-bottom:2px}
.import-option-sub{font-size:.75rem;color:var(--slate);line-height:1.4}
.import-badge{display:inline-block;font-size:.62rem;font-weight:700;background:var(--gold);color:var(--navy);border-radius:3px;padding:1px 5px;margin-left:5px;vertical-align:middle}
