/* Shared client shell: one navigation layout and one task-row layout. */
.account-wallet-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:none;color:inherit;padding:0;min-height:0;max-width:none;margin:0 0 20px}
.account-wallet-heading h2{margin:0}.account-wallet-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.account-wallet-actions .btn{margin:0;min-height:40px;padding:8px 12px;font-size:13px}
.account-balance-summary{padding:0 0 18px}.account-balance-total{display:block;font-size:32px;line-height:1.3;margin:4px 0 12px;font-variant-numeric:tabular-nums}
.account-balance-breakdown{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:14px}.account-balance-breakdown strong{margin-left:8px}
.account-balance-summary .hint{font-size:12px;margin:8px 0}.account-credit-purchases h2{font-size:20px}
.transaction-note{display:block;color:#526472;font-size:12px;overflow-wrap:anywhere}.credit-change{font-variant-numeric:tabular-nums;font-weight:600}
.wallet-review-section{border-top:1px solid #dbe3e6;margin-top:22px;padding-top:12px}
@media(max-width:600px){.account-wallet-actions{margin-left:0;width:100%}.account-wallet-actions .btn{min-height:44px;flex:1 1 140px}.account-wallet-actions .balance-charge-trigger{flex-basis:100%}.account-balance-breakdown{display:grid}.account-balance-total{font-size:28px}}
/* Invoice history stays compact; all follow-up actions open beside the user. */
.billing-content{display:grid;gap:20px;min-width:0}
.billing-content>div{min-width:0}
#billing-engagement,#billing-year{max-width:100%;min-width:0}
.invoice-history-scroll{overflow-x:auto;max-width:100%;margin:12px 0;scrollbar-width:thin}
.invoice-history{border-collapse:collapse;width:100%;min-width:710px;font-size:13px;text-align:left}
.invoice-history caption{text-align:left;color:#526472;padding:0 0 8px;font-size:12px}
.invoice-history th,.invoice-history td{padding:9px 10px;border-bottom:1px solid #dbe3e6;vertical-align:middle}
.invoice-history th{background:#f1f5f5;font-size:12px;font-weight:600;white-space:nowrap}
.invoice-history td{white-space:nowrap}.invoice-history td:nth-child(2){white-space:normal;min-width:120px}
.invoice-history .btn{min-height:36px;padding:6px 10px;font-size:12px;margin:0 3px 0 0;white-space:nowrap}
.invoice-history .invoice-row-actions{white-space:nowrap}
.invoice-history [hidden]{display:none!important}
.invoice-history .invoice-detail-content{padding:5px 4px 10px;white-space:normal;background:#f8fafb}
.invoice-detail-content p{margin:7px 0;font-size:13px;overflow-wrap:anywhere}
.invoice-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.invoice-warning{display:block;color:#8b4e00;font-size:11px}
.billing-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:24px;border:1px solid #d6dfe3;border-radius:12px;color:#183746;background:white;box-shadow:0 12px 55px #0004;font-family:Arial,Helvetica,sans-serif}
.billing-dialog::backdrop{background:rgba(10,29,36,.55)}
.billing-dialog .panel{margin:0;padding:0;border:0;box-shadow:none;background:none}
.billing-dialog h3{margin:0 0 14px;font-size:21px;line-height:1.3}.billing-dialog p{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.billing-dialog h3:focus{outline:none}
.billing-dialog label{display:grid;gap:7px;margin:16px 0}.billing-dialog label:has(input[type=checkbox]){display:flex;align-items:flex-start}
.billing-dialog input:not([type=checkbox]),.billing-dialog select{box-sizing:border-box;width:100%;min-height:44px;padding:10px;border:1px solid #93a7b3;border-radius:6px;font:16px Arial,Helvetica,sans-serif}
.billing-dialog input[type=checkbox]{width:20px;height:20px;flex-shrink:0}
.billing-dialog .btn{min-height:44px;padding:10px 14px;margin:6px 6px 0 0}
.billing-dialog [data-dialog-status]{margin-bottom:0}
@media(max-width:600px){.billing-dialog{padding:18px}.invoice-history-scroll{margin-right:0}.invoice-history .btn{min-height:44px}}
.practice-nav .action-tab{position:relative;margin-right:9px}
.action-count{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 4px;box-sizing:border-box;border:2px solid white;border-radius:12px;background:#bc3523;color:white;font:700 11px/15px Arial,Helvetica,sans-serif;text-align:center}
.action-count[hidden]{display:none}
.practice-nav{
  box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;
  width:100%;max-width:100%;padding:10px 12px;margin-bottom:20px;
  border:1px solid #e1e5e9;border-radius:8px;background:#fff;
}
.portal-nav-links{display:flex;flex:1 1 540px;flex-wrap:wrap;gap:3px;min-width:0}
.practice-nav .portal-nav-links>a{
  display:flex;align-items:center;justify-content:center;box-sizing:border-box;
  min-height:40px;padding:8px 10px;border-radius:5px;white-space:normal;
  font:600 14px/1.3 Arial,Helvetica,sans-serif;text-decoration:none;color:#183746;
}
.practice-nav .portal-nav-links>a[aria-current=page]{background:#fff0e4;color:#783406}
.practice-nav .nav-wallet{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;margin-left:auto;justify-content:flex-end}
.practice-nav .wallet-badge{box-sizing:border-box;gap:10px;padding:6px 10px;min-height:36px;max-width:100%;font-size:12px;line-height:1.3}
.practice-nav .wallet-badge span{min-width:0;overflow-wrap:anywhere}
.practice-nav .wallet-badge strong{font-size:15px}
.practice-nav .wallet-add{display:inline-flex;align-items:center;min-height:36px;padding:4px;font:600 12px/1.3 Arial,Helvetica,sans-serif;white-space:normal}
.portal-actions{display:grid;gap:8px;margin:0 0 16px;min-width:0}
.portal-actions>#invoice-actions,.portal-actions>#review-action{display:contents}
.practice-main .portal-action{
  display:grid;grid-template-columns:minmax(0,1fr) 184px 126px;align-items:center;
  gap:14px;box-sizing:border-box;min-width:0;min-height:68px;
  padding:10px 14px;margin:0;border:1px solid #e5d9ce;border-radius:8px;background:#fffaf5;
}
.portal-action-copy{min-width:0;overflow-wrap:anywhere}
.practice-main .portal-action-copy strong,.practice-main .portal-action-copy h3{
  display:block;margin:0;font:600 15px/1.35 Arial,Helvetica,sans-serif;color:#183746;
}
.practice-main .portal-action-copy p,.practice-main .portal-action-copy span{
  display:block;margin:3px 0 0;font:400 13px/1.4 Arial,Helvetica,sans-serif;color:#526472;
}
.practice-main .portal-action>.portal-action-link{
  grid-column:2;display:flex;align-items:center;justify-content:center;box-sizing:border-box;
  width:184px;min-width:0;min-height:44px;padding:9px 10px;margin:0;
  border:1px solid #f47a2a;border-radius:6px;background:#f47a2a;color:#153345;
  font:600 14px/1.3 Arial,Helvetica,sans-serif;text-align:center;text-decoration:none;white-space:normal;
}
.practice-main .portal-action>.portal-action-link:hover{background:#e86c1a;border-color:#e86c1a}
.practice-main .portal-action>.dismiss-action{
  grid-column:3;justify-self:stretch;width:126px;min-width:0;min-height:44px;
  padding:8px 0;margin:0;border:0;border-radius:4px;background:transparent;color:#536779;
  font:400 12px/1.3 Arial,Helvetica,sans-serif;text-align:center;text-decoration:underline;
}
.practice-main .portal-history{box-sizing:border-box;margin:8px 0;padding:2px 14px;border:1px solid #e0e5e9;border-radius:8px;background:#fff}
.practice-main .portal-history>summary{min-height:40px;font-size:13px;color:#536779}
.practice-main .portal-history[open]{padding-bottom:12px}
/* The homepage embeds the upload workspace; it does not need a second hero. */
.portal-home #document-workspace .work-top{padding:12px 18px;align-items:center;gap:12px}
.portal-home #document-workspace .work-top>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;min-width:0}
.portal-home #document-workspace .work-top .eyebrow{display:none}
.portal-home #document-workspace .work-top h1{font:600 20px/1.3 Arial,Helvetica,sans-serif;margin:0}
.portal-home #document-workspace .work-top p{font:400 13px/1.4 Arial,Helvetica,sans-serif;margin:0;color:#536779;overflow-wrap:anywhere}
.document-browse-only #upload-area{display:none!important}
@media(max-width:760px){
  .practice-nav{gap:8px;padding:8px}
  .portal-nav-links{flex-basis:100%}
  .practice-nav .portal-nav-links>a{font-size:13px;padding:7px 8px}
  .practice-nav .nav-wallet{width:auto;flex-basis:100%;justify-content:flex-end}
  .practice-main .portal-action{grid-template-columns:minmax(0,1fr) 120px;gap:8px 12px;padding:10px 12px}
  .portal-action-copy{grid-column:1/-1}
  .practice-main .portal-action>.portal-action-link{grid-column:1;width:100%;min-height:44px}
  .practice-main .portal-action>.dismiss-action{grid-column:2;width:120px;min-height:44px}
}
.household-settings{margin-top:20px}.household-settings h2{margin-top:0}.household-confirm{display:flex!important;align-items:flex-start;gap:12px;margin:18px 0;line-height:1.5}.household-confirm input[type="checkbox"]{flex:0 0 22px;width:22px!important;height:22px!important;margin:2px 0 0!important}.household-settings input[type="email"]{max-width:520px}.household-settings button{margin-top:8px}
.household-settings form>label:not(.household-confirm){display:grid;gap:8px;margin:18px 0;max-width:520px}
/* Admin client workspace: one consistent navigation and aligned workboard. */
.admin-client-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.admin-client-heading h1{margin:.5rem 0}.admin-client-heading>span{overflow-wrap:anywhere;color:#52636b}.admin-client-tabs{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid #d6dfe3;padding:.5rem 0;margin-bottom:1.25rem}.admin-client-tabs a{padding:.65rem .9rem;text-decoration:none;border-radius:6px;color:#193c47}.admin-client-tabs a[aria-current=page]{background:#193c47;color:white}.engagement-scroll{overflow-x:auto}.engagement-table{width:100%;border-collapse:collapse;font-size:.9rem}.engagement-table>thead>tr>th,.engagement-table>tbody>tr>th,.engagement-table>tbody>tr>td{text-align:left;vertical-align:top;padding:.9rem;border-bottom:1px solid #dbe3e6;min-width:160px}.engagement-table>thead{background:#f1f5f5}.engagement-table>tbody>tr:not(.engagement-expanded-row) small{display:block;margin:.4rem 0;color:#52636b;font-weight:normal}.engagement-table>tbody>tr:not(.engagement-expanded-row) a{display:block;margin:.4rem 0}.engagement-table>tbody>tr:not(.engagement-expanded-row) .btn{font-size:.82rem;min-height:36px;padding:.4rem .65rem;margin-top:.5rem}.folder-status{display:inline-block;padding:.2rem .6rem;border-radius:4px}.folder-status.locked{background:#fff0dc;color:#7b4900}.folder-status.released{background:#e1f3e9;color:#195c38}.admin-client-tabs a:focus-visible{outline:3px solid #fc7926;outline-offset:2px}@media(max-width:700px){.engagement-table>thead{display:none}.engagement-table,.engagement-table>tbody,.engagement-table>tbody>tr,.engagement-table>tbody>tr>td,.engagement-table>tbody>tr>th{display:block;width:auto}.engagement-table>tbody>tr{border:1px solid #dbe3e6;border-radius:8px;margin-bottom:1rem}.engagement-table>tbody>tr>td,.engagement-table>tbody>tr>th{min-width:0;padding:.75rem}.admin-client-tabs a{padding:.55rem .65rem}.admin-client-heading>span{font-size:.9rem}}
.engagement-history-toggle{display:flex!important;align-items:center;gap:.5rem;margin:.5rem 0 1rem;font-size:.85rem}.engagement-history-toggle input[type=checkbox]{width:18px!important;height:18px!important;min-height:0!important;margin:0;flex:none}.engagement-repair-confirm{max-width:260px;margin-top:.5rem;padding:.7rem;border:1px solid #cedbdf;border-radius:6px;background:#f7fafb}.engagement-repair-confirm p{font-size:.85rem;margin:0 0 .4rem}
.engagement-inline-work{margin-top:20px}.engagement-inline-work .billing-content{display:block}.engagement-inline-work .titlebar{gap:16px}.engagement-table>tbody>tr:not(.engagement-expanded-row)>td .btn{margin-top:6px}
.engagement-client-phone{display:block;font-size:.85rem;font-weight:400;color:#52636b;margin:-.2rem 0 .75rem}
.engagement-expanded-row>td{padding:0!important;background:#f7fafb;border-bottom:2px solid #dbe3e6}
.engagement-expanded-row .engagement-inline-work{margin:0;padding:20px;border:0;border-left:3px solid #fc7926;border-radius:0;font-size:1rem;font-weight:400}
.engagement-expanded-row .engagement-inline-work>.titlebar{align-items:center;margin-bottom:16px}
.engagement-expanded-row .engagement-inline-work>.titlebar h3{font-size:1.05rem;margin:0}
.engagement-views{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0 0 12px;border-bottom:1px solid #dbe3e6}
.engagement-views .btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:9px 16px}
.engagement-views .btn[aria-pressed="true"]{background:#193c47;color:#fff;border-color:#193c47}
.engagement-view-count{display:inline-block;min-width:24px;padding:1px 7px;border-radius:12px;background:#edf2f3;color:#193c47;font-size:.85em;text-align:center}
.engagement-views .btn:focus-visible{outline:3px solid #fc7926;outline-offset:3px}
/* Client deliverables: engagement contents, not OneDrive ancestor folders. */
.client-documents-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.client-documents-heading h2,.client-documents-heading h3{margin:0 0 6px}
.client-document-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.practice-main .client-document-tabs button[aria-pressed="true"]{background:#173c45;color:#fff}
.client-engagement-files{border:1px solid #d7e0e4;border-radius:10px;margin:16px 0;padding:20px;background:#fff}
.client-engagement-files .released{color:#216348}.client-engagement-files .locked{color:#52616a}
.client-document-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid #e7ecef;min-width:0}
.client-document-row a,.client-document-row button{overflow-wrap:anywhere;text-align:left}
.client-document-row small{color:#52616a;flex-shrink:0}
.practice-main .client-documents button.quiet{background:transparent;color:#173c45;border:0;box-shadow:none;text-decoration:underline;text-align:left;padding:8px 0}
.client-documents [data-relative-path]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0}
@media(max-width:600px){.client-engagement-files{padding:14px}.client-document-row{align-items:flex-start;flex-direction:column;gap:5px}}
