/* Client Completion Statement Tool — Scoped Styles */
.cst-wrap {
  /* CSS custom properties scoped to plugin wrapper */
  --cst-navy:#0f1e35; --cst-navy-light:#1a2f4e; --cst-gold:#b8902a; --cst-gold-light:#d4aa4a;
  --cst-gold-pale:#f5f0e8; --cst-cream:#faf8f4; --cst-white:#ffffff; --cst-border:#ddd8ce;
  --cst-text:#1a1a2e; --cst-text-muted:#6b6560; --cst-text-light:#9a9390;
  --cst-success:#2d6a4f; --cst-danger:#8b1a1a; --cst-section-bg:#f7f4ef;
  --cst-less-bg:#fff8f0; --cst-less-border:#e8c87a;
  --cst-apport-bg:#f0f6ff; --cst-apport-border:#7aabe8;
  --cst-balance-bg:#0a2918;
  /* Re-alias original var names for template compatibility */
  --navy:var(--cst-navy); --navy-light:var(--cst-navy-light); --gold:var(--cst-gold);
  --gold-light:var(--cst-gold-light); --gold-pale:var(--cst-gold-pale); --cream:var(--cst-cream);
  --white:var(--cst-white); --border:var(--cst-border); --text:var(--cst-text);
  --text-muted:var(--cst-text-muted); --text-light:var(--cst-text-light);
  --success:var(--cst-success); --danger:var(--cst-danger); --section-bg:var(--cst-section-bg);
  --less-bg:var(--cst-less-bg); --less-border:var(--cst-less-border);
  --apport-bg:var(--cst-apport-bg); --apport-border:var(--cst-apport-border);
  --balance-bg:var(--cst-balance-bg);
  box-sizing: border-box;
  font-family: 'DM Sans', sans-serif;
  color: #1a1a2e;
}

.cst-wrap *, .cst-wrap *::before, .cst-wrap *::after { box-sizing: border-box; }


  
  

  /* HEADER */
  .app-header{background:var(--navy);position:sticky;top:0;z-index:100;box-shadow:0 2px 20px rgba(0,0,0,.3);}
  .header-inner{max-width:1100px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;}
  .brand{display:flex;align-items:center;gap:16px;}
  .brand-mark{width:38px;height:38px;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:18px;color:var(--gold);font-weight:700;flex-shrink:0;}
  .brand-text h1{font-family:'Playfair Display',serif;font-size:17px;font-weight:600;color:var(--white);letter-spacing:.02em;}
  .brand-text p{font-size:11px;color:var(--gold-light);letter-spacing:.12em;text-transform:uppercase;margin-top:2px;}
  .header-actions{display:flex;gap:10px;}
  .btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:3px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .2s;letter-spacing:.03em;}
  .btn-outline{background:transparent;border:1px solid rgba(184,144,42,.5);color:var(--gold-light);}
  .btn-outline:hover{background:rgba(184,144,42,.1);border-color:var(--gold-light);}
  .btn-gold{background:var(--gold);color:var(--white);}
  .btn-gold:hover{background:var(--gold-light);}
  .btn-ghost{background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.12);}
  .btn-ghost:hover{background:rgba(255,255,255,.14);}

  /* LAYOUT */
  .app-

  /* MATTER CARD */
  .matter-card{background:var(--white);border:1px solid var(--border);border-top:3px solid var(--gold);padding:28px 32px;margin-bottom:24px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:20px;}
  .field-group{display:flex;flex-direction:column;gap:6px;}
  .field-label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);}
  .field-input{border:none;border-bottom:1.5px solid var(--border);background:transparent;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text);padding:6px 0;outline:none;transition:border-color .2s;width:100%;}
  .field-input:focus{border-color:var(--gold);}
  .field-input::placeholder{color:var(--text-light);}
  .field-input-money{font-family:'DM Mono',monospace;font-size:14px;}

  /* SECTION CARDS */
  .section-card{background:var(--white);border:1px solid var(--border);margin-bottom:20px;overflow:hidden;}
  .section-header{background:var(--navy);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;}
  .section-title{font-family:'Playfair Display',serif;font-size:15px;color:var(--white);font-weight:600;letter-spacing:.02em;}
  .section-badge{font-family:'DM Mono',monospace;font-size:12px;color:var(--gold-light);letter-spacing:.05em;}

  /* LESS SECTION */
  .less-card{background:var(--less-bg);border:1px solid var(--less-border);margin-bottom:20px;overflow:hidden;}
  .less-header{background:linear-gradient(135deg,#7a4a00,#9a6a10);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;}
  .less-title{font-family:'Playfair Display',serif;font-size:15px;color:var(--white);font-weight:600;letter-spacing:.02em;}
  .less-badge{font-family:'DM Mono',monospace;font-size:12px;color:#ffd98a;letter-spacing:.05em;}

  /* APPORTIONMENT SECTION */
  .apport-card{background:var(--apport-bg);border:1px solid var(--apport-border);margin-bottom:20px;overflow:hidden;}
  .apport-header{background:linear-gradient(135deg,#0a3060,#1a5090);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;}
  .apport-title{font-family:'Playfair Display',serif;font-size:15px;color:var(--white);font-weight:600;letter-spacing:.02em;}
  .apport-badge{font-family:'DM Mono',monospace;font-size:12px;color:#8ad4ff;letter-spacing:.05em;}

  /* TABLES */
  .line-table,.disb-table,.less-table,.apport-table{width:100%;border-collapse:collapse;}
  .line-table th,.disb-table th,.less-table th,.apport-table th{background:var(--section-bg);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:10px 16px;text-align:left;border-bottom:1px solid var(--border);}
  .less-table th{background:#fff3dc;}
  .apport-table th{background:#e8f0ff;}
  .line-table th.num,.disb-table th.num,.less-table th.num,.apport-table th.num{text-align:right;}
  .line-table td,.disb-table td,.less-table td,.apport-table td{padding:10px 16px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13.5px;}
  .line-table tr:last-child td,.disb-table tr:last-child td,.less-table tr:last-child td,.apport-table tr:last-child td{border-bottom:none;}
  .line-table tr:hover td,.disb-table tr:hover td{background:var(--gold-pale);}
  .less-table tr:hover td{background:#fff3dc;}
  .apport-table tr:hover td{background:#ddeeff;}

  .td-desc{font-size:13.5px;color:var(--text);font-weight:400;}
  .td-desc small{display:block;font-size:11px;color:var(--text-muted);margin-top:2px;}
  .td-input{border:none;background:transparent;font-family:'DM Mono',monospace;font-size:13px;color:var(--text);text-align:right;width:110px;outline:none;padding:4px 8px;border-radius:3px;transition:background .15s;}
  .td-input:focus{background:var(--gold-pale);}
  .td-input::placeholder{color:var(--text-light);}
  .td-text-input{border:none;border-bottom:1px solid var(--border);background:transparent;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--text);outline:none;padding:3px 4px;width:100%;transition:border-color .2s;}
  .td-text-input:focus{border-color:var(--gold);}
  .td-date-input{border:none;border-bottom:1px solid var(--border);background:transparent;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--text);outline:none;padding:3px 4px;transition:border-color .2s;}
  .td-date-input:focus{border-color:var(--gold);}
  .td-computed{font-family:'DM Mono',monospace;font-size:13px;color:var(--text-muted);text-align:right;white-space:nowrap;}
  .td-total{font-family:'DM Mono',monospace;font-size:13px;font-weight:600;color:var(--text);text-align:right;white-space:nowrap;}
  .td-less{font-family:'DM Mono',monospace;font-size:13px;font-weight:600;color:#7a4a00;text-align:right;white-space:nowrap;}
  .td-apport{font-family:'DM Mono',monospace;font-size:13px;font-weight:600;color:#0a3060;text-align:right;white-space:nowrap;}

  /* SUBTOTAL ROWS */
  .subtotal-row{background:var(--navy)!important;}
  .subtotal-row td{padding:13px 16px;border-bottom:none!important;}
  .subtotal-label{font-family:'Playfair Display',serif;font-size:14px;color:rgba(255,255,255,.8);font-style:italic;}
  .subtotal-value{font-family:'DM Mono',monospace;font-size:15px;font-weight:600;color:var(--gold-light);text-align:right;}

  .less-subtotal-row{background:linear-gradient(135deg,#7a4a00,#9a6a10)!important;}
  .less-subtotal-row td{padding:13px 16px;border-bottom:none!important;}
  .less-subtotal-label{font-family:'Playfair Display',serif;font-size:14px;color:rgba(255,255,255,.85);font-style:italic;}
  .less-subtotal-value{font-family:'DM Mono',monospace;font-size:15px;font-weight:600;color:#ffd98a;text-align:right;}

  .apport-subtotal-row{background:linear-gradient(135deg,#0a3060,#1a5090)!important;}
  .apport-subtotal-row td{padding:13px 16px;border-bottom:none!important;}
  .apport-subtotal-label{font-family:'Playfair Display',serif;font-size:14px;color:rgba(255,255,255,.85);font-style:italic;}
  .apport-subtotal-value{font-family:'DM Mono',monospace;font-size:15px;font-weight:600;color:#8ad4ff;text-align:right;}

  /* TOTAL COSTS LESS RECEIVED PANEL */
  .costs-less-panel{background:var(--navy-light);border:1px solid #2a4060;padding:20px 28px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;}
  .clp-label{font-family:'Playfair Display',serif;font-size:16px;color:var(--white);font-style:italic;}
  .clp-sub{font-size:12px;color:rgba(255,255,255,.5);margin-top:4px;}
  .clp-value{font-family:'DM Mono',monospace;font-size:22px;font-weight:600;color:var(--gold-light);}

  /* GRAND TOTAL */
  .grand-total-panel{background:var(--navy);margin-bottom:20px;padding:32px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;}
  .gt-breakdown{display:flex;flex-direction:column;gap:8px;}
  .gt-row{display:flex;justify-content:space-between;align-items:center;gap:40px;}
  .gt-label{font-size:12px;color:rgba(255,255,255,.5);letter-spacing:.05em;text-transform:uppercase;}
  .gt-val{font-family:'DM Mono',monospace;font-size:13px;color:rgba(255,255,255,.75);}
  .gt-divider{border:none;border-top:1px solid rgba(255,255,255,.12);margin:8px 0;}
  .gt-main{text-align:right;}
  .gt-main-label{font-size:11px;color:var(--gold-light);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;}
  .gt-main-value{font-family:'Playfair Display',serif;font-size:38px;color:var(--white);font-weight:700;line-height:1;}
  .gt-currency{font-size:22px;color:var(--gold-light);vertical-align:super;margin-right:3px;}

  /* BALANCE AVAILABLE */
  .balance-panel{background:var(--balance-bg);border:2px solid #2d6a4f;padding:32px;margin-bottom:20px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;}
  .bp-breakdown{display:flex;flex-direction:column;gap:8px;}
  .bp-row{display:flex;justify-content:space-between;align-items:center;gap:40px;}
  .bp-label{font-size:12px;color:rgba(255,255,255,.5);letter-spacing:.05em;text-transform:uppercase;}
  .bp-val{font-family:'DM Mono',monospace;font-size:13px;color:rgba(255,255,255,.75);}
  .bp-divider{border:none;border-top:1px solid rgba(45,106,79,.5);margin:8px 0;}
  .bp-main{text-align:right;}
  .bp-main-label{font-size:11px;color:#6dcfa0;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;}
  .bp-main-value{font-family:'Playfair Display',serif;font-size:38px;color:#6dcfa0;font-weight:700;line-height:1;}
  .bp-currency{font-size:22px;color:#4ab080;vertical-align:super;margin-right:3px;}
  .bp-negative .bp-main-value{color:#ff8080;}
  .bp-negative .bp-currency{color:#cc5555;}
  .bp-negative .bp-main-label{color:#ff8080;}

  /* APPORTIONMENT FORMULA HINT */
  .formula-hint{font-size:11px;color:var(--text-muted);font-family:'DM Mono',monospace;background:rgba(0,0,0,.04);padding:3px 8px;border-radius:3px;margin-top:3px;}

  /* NOTES */
  .notes-card{background:var(--white);border:1px solid var(--border);margin-bottom:24px;}
  .notes-header{background:var(--section-bg);padding:12px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;}
  .notes-title{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);}
  .notes-textarea{width:100%;border:none;padding:16px 24px;font-family:'DM Sans',sans-serif;font-size:13.5px;color:var(--text);background:transparent;resize:vertical;min-height:90px;outline:none;line-height:1.6;}

  /* STATUS BAR */
  .status-bar{background:var(--section-bg);border:1px solid var(--border);border-left:3px solid var(--gold);padding:12px 20px;display:flex;align-items:center;gap:10px;margin-bottom:24px;font-size:12.5px;color:var(--text-muted);}
  .status-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;}

  /* SECTION DIVIDER LABEL */
  .section-connector{text-align:center;margin:-8px 0 8px;position:relative;}
  .section-connector span{background:var(--cream);padding:0 14px;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);position:relative;z-index:1;}
  .section-connector::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border);}

  /* PRINT */
  @media print {
    
    .app-header{position:static;box-shadow:none;}
    .header-actions{display:none;}
    .app-
    .grand-total-panel,.balance-panel,.section-header,.less-header,.apport-header,.subtotal-row,.less-subtotal-row,.apport-subtotal-row,.costs-less-panel{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
    .btn{display:none;}
    .status-bar{display:none;}
  }
  @media(max-width:768px){
    .matter-card{grid-template-columns:1fr 1fr;}
    .header-inner{padding:14px 16px;}
    .app-
    .grand-total-panel,.balance-panel{grid-template-columns:1fr;}
    .gt-main,.bp-main{text-align:left;}
  }
  @media(max-width:480px){
    .matter-card{grid-template-columns:1fr;}
    .brand-text h1{font-size:14px;}
  }

/* Print styles */
@media print {
  .cst-wrap .app-header{position:static;box-shadow:none;}
  .cst-wrap .header-actions{display:none;}
  .cst-wrap .app-body{padding:20px;}
  .cst-wrap .grand-total-panel,.cst-wrap .balance-panel,.cst-wrap .section-header,
  .cst-wrap .less-header,.cst-wrap .apport-header,.cst-wrap .subtotal-row,
  .cst-wrap .less-subtotal-row,.cst-wrap .apport-subtotal-row,.cst-wrap .costs-less-panel
  {-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .cst-wrap .btn{display:none;}
  .cst-wrap .status-bar{display:none;}
}
