:root{--navy:#102f4f;--navy2:#0a2239;--red:#c62836;--gold:#f2c94c;--ink:#172638;--muted:#66788a;--line:#dce5ec;--soft:#f5f8fb;--green:#20855f;--orange:#d9822b;--shadow:0 14px 35px rgba(16,47,79,.10)}
*{box-sizing:border-box}body.portal-body{margin:0;background:#f3f6f9;color:var(--ink);font-family:Arial,Helvetica,sans-serif}.portal-shell{max-width:1180px;margin:auto;padding:28px 22px 50px}.portal-top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8}.portal-top .inner{max-width:1180px;margin:auto;padding:13px 22px;display:flex;align-items:center;gap:18px}.portal-logo{height:48px}.portal-spacer{flex:1}.portal-pill{padding:9px 13px;border:1px solid var(--line);border-radius:999px;font-weight:700;font-size:13px;background:#fff}.portal-link{color:var(--navy);text-decoration:none;font-weight:800;font-size:14px}.portal-kicker{font-size:12px;letter-spacing:.13em;font-weight:900;color:var(--red);text-transform:uppercase}.portal-title{font-size:34px;line-height:1.1;margin:6px 0}.portal-sub{color:var(--muted);margin:0}.portal-hero{display:flex;gap:20px;align-items:end;justify-content:space-between;margin:24px 0}.order-meta{text-align:right;color:var(--muted);font-size:14px}.status-card{background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff;border-radius:22px;padding:24px;box-shadow:var(--shadow);margin-bottom:18px}.status-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:24px;align-items:center}.status-label{font-size:12px;letter-spacing:.14em;font-weight:900;color:#b9d0e5;text-transform:uppercase}.status-main{font-size:29px;font-weight:900;margin:5px 0 8px}.status-note{color:#dce7f1;line-height:1.55}.eta-box{background:rgba(255,255,255,.1);padding:18px;border-radius:16px;border:1px solid rgba(255,255,255,.13)}.eta-date{font-size:25px;font-weight:900}.eta-small{font-size:13px;color:#dce7f1;margin-top:4px}.progress{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:18px 0 22px}.progress-step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 8px;text-align:center;font-size:12px;font-weight:800;color:#6e7f90}.progress-step b{display:block;margin:auto auto 6px;width:26px;height:26px;border-radius:50%;line-height:26px;background:#eef2f5}.progress-step.done{color:var(--green)}.progress-step.done b{background:#dff3eb}.progress-step.active{border-color:#aac4db;box-shadow:0 6px 18px rgba(16,47,79,.08);color:var(--navy)}.progress-step.active b{background:var(--navy);color:#fff}.portal-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.portal-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 7px 20px rgba(16,47,79,.05);margin-bottom:18px}.portal-card h2,.portal-card h3{margin-top:0}.next-card{border-left:6px solid var(--green)}.next-card.action{border-left-color:var(--red)}.next-head{display:flex;align-items:center;gap:12px}.next-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#dff3eb;color:var(--green);font-size:21px;font-weight:900}.action .next-icon{background:#fde6e8;color:var(--red)}.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.pbtn{display:inline-block;padding:11px 16px;border-radius:10px;text-decoration:none;border:0;font-weight:900;cursor:pointer;font-size:14px}.pbtn.primary{background:var(--red);color:#fff}.pbtn.navy{background:var(--navy);color:#fff}.pbtn.light{background:#edf3f7;color:var(--navy)}.pbtn.outline{background:#fff;color:var(--navy);border:1px solid #bdd0df}.task{display:grid;grid-template-columns:34px 1fr auto;gap:12px;padding:15px 0;border-top:1px solid #edf1f4;align-items:start}.task:first-of-type{border-top:0}.task-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900}.task.complete .task-icon{background:#dff3eb;color:var(--green)}.task.wait .task-icon{background:#fff0dc;color:var(--orange)}.task.action .task-icon{background:#fde6e8;color:var(--red)}.task-title{font-weight:900}.task-copy{color:var(--muted);font-size:14px;line-height:1.45;margin-top:3px}.tag{font-size:11px;font-weight:900;border-radius:999px;padding:6px 9px;background:#edf3f7;color:var(--navy);white-space:nowrap}.tag.red{background:#fde6e8;color:var(--red)}.tag.green{background:#dff3eb;color:var(--green)}.upgrade-box{background:#fff9e9;border:1px solid #f0dfac;border-radius:16px;padding:18px}.upgrade-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upgrade-option{background:#fff;border:1px solid #eadba9;border-radius:12px;padding:13px}.upgrade-option strong{display:block;color:var(--navy)}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:0 0 18px 26px;color:var(--muted);font-size:14px}.timeline li:before{content:"";position:absolute;left:5px;top:5px;width:9px;height:9px;border-radius:50%;background:#9db2c3}.timeline li:after{content:"";position:absolute;left:9px;top:17px;width:1px;height:calc(100% - 8px);background:#dbe4eb}.timeline li:last-child:after{display:none}.timeline strong{color:var(--ink);display:block;margin-bottom:2px}.invoice{border:1px solid var(--line);border-radius:14px;padding:14px}.invoice-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:14px}.invoice-total{border-top:1px solid var(--line);margin-top:6px;padding-top:10px;font-weight:900;font-size:17px}.login-wrap{min-height:78vh;display:grid;place-items:center;padding:24px}.login-card{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.login-card .portal-logo{display:block;margin:auto;height:62px}.login-card h1{text-align:center;margin:18px 0 5px}.login-card>p{text-align:center;color:var(--muted)}.field{margin:15px 0}.field label{display:block;font-weight:800;font-size:13px;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;padding:12px;border:1px solid #cbd8e1;border-radius:10px;font:inherit}.security-note{font-size:12px;color:var(--muted);line-height:1.45;background:#f5f8fb;padding:12px;border-radius:10px}.staff-top{background:var(--navy2);color:#fff}.staff-top .portal-link,.staff-top .portal-pill{color:#fff}.staff-top .portal-pill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}.metric{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.metric b{font-size:26px;display:block;color:var(--navy)}.metric span{font-size:12px;color:var(--muted);font-weight:800}.staff-table{width:100%;border-collapse:collapse;font-size:14px}.staff-table th{text-align:left;padding:12px 10px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line)}.staff-table td{padding:14px 10px;border-bottom:1px solid #edf1f4}.case-link{font-weight:900;color:var(--navy);text-decoration:none}.staff-layout{display:grid;grid-template-columns:280px 1fr;gap:18px}.side-nav{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;height:max-content}.side-nav a{display:block;padding:11px 12px;text-decoration:none;color:var(--ink);font-weight:800;border-radius:9px}.side-nav a.active,.side-nav a:hover{background:#edf3f7;color:var(--navy)}.internal-note{background:#fff8df;border:1px solid #ead690;padding:14px;border-radius:12px;font-size:14px}.status-selects{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.staff-actions{display:flex;gap:9px;flex-wrap:wrap}.demo-banner{background:#fff3cd;color:#654f00;text-align:center;padding:8px 14px;font-size:12px;font-weight:800;border-bottom:1px solid #e8d58d}.modal{display:none;position:fixed;inset:0;background:rgba(9,27,44,.55);z-index:50;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{background:#fff;width:min(560px,100%);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.toast{position:fixed;right:20px;bottom:20px;background:var(--navy2);color:#fff;padding:13px 16px;border-radius:10px;display:none;z-index:60}.toast.show{display:block}.portal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.portal-tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-weight:800;color:var(--navy)}
@media(max-width:900px){.portal-grid,.status-grid,.staff-layout{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.progress{grid-template-columns:repeat(4,1fr)}.order-meta{text-align:left}.portal-hero{align-items:start;flex-direction:column}.staff-table{display:block;overflow-x:auto}}@media(max-width:560px){.portal-title{font-size:28px}.progress{grid-template-columns:repeat(2,1fr)}.metric-grid,.upgrade-grid,.status-selects{grid-template-columns:1fr}.portal-top .inner{gap:10px}.portal-logo{height:40px}.portal-pill{display:none}}
@media print{.portal-top,.btn-row,.upgrade-box,.demo-banner,.portal-tabs{display:none!important}.portal-body{background:#fff}.portal-card,.status-card{box-shadow:none}.portal-shell{max-width:none;padding:0}.invoice-print-only{display:block}}

.demo-state-bar{
  position:sticky;top:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
  padding:7px 12px;background:#fff7d6;border-bottom:1px solid #e7d27a;
  color:#4d4320;font-size:12px;box-shadow:0 2px 8px rgba(0,0,0,.05)
}
.demo-state-bar strong{font-size:10px;letter-spacing:.12em;color:#a5262a}
.demo-state-bar button{
  appearance:none;border:1px solid #c7ad4d;background:#fff;border-radius:999px;
  padding:4px 10px;font:inherit;font-weight:800;color:#172c4d;cursor:pointer
}
.demo-state-bar button:hover{background:#172c4d;color:#fff;border-color:#172c4d}

.receipt-card{background:#fff}
.receipt-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #e5e9ef;padding-bottom:15px;margin-bottom:8px}
.paid-stamp{border:2px solid #26834a;color:#26834a;border-radius:8px;padding:7px 11px;font-weight:900;letter-spacing:.08em;transform:rotate(-2deg)}
.receipt-lines{margin-top:8px}
.receipt-line{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #edf0f4}
.receipt-total{display:flex;justify-content:space-between;gap:20px;padding:15px 0;font-size:20px;font-weight:900;color:#172c4d}
.receipt-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f7f9fb;border-radius:10px;padding:12px;margin:4px 0 14px}
.receipt-meta div{display:flex;flex-direction:column;gap:3px}
.receipt-meta span{font-size:11px;color:#6c7582;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.receipt-actions{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:650px){.receipt-meta{grid-template-columns:1fr}.receipt-head{flex-direction:column}.paid-stamp{align-self:flex-start}}
@media print{
  body.receipt-printing *{visibility:hidden!important}
  body.receipt-printing #receiptSection,body.receipt-printing #receiptSection *{visibility:visible!important}
  body.receipt-printing #receiptSection{position:absolute;left:0;top:0;width:100%;box-shadow:none!important;border:0!important;padding:28px!important}
  body.receipt-printing .receipt-actions,body.receipt-printing #receiptSection .micro:last-child{display:none!important}
  body.receipt-printing .demo-state-bar{display:none!important}
}

.help-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.help-choice{border:1px solid #e2e7ee;border-radius:12px;padding:14px;background:#fbfcfe}
.help-choice strong{font-size:16px;color:#172c4d}
.help-choice p{margin:7px 0 12px;color:#626b78}
.help-language{margin-top:14px;padding-top:14px;border-top:1px solid #e7ebf0;display:grid;grid-template-columns:1.5fr .8fr;gap:16px;align-items:center}
.help-language p{margin:6px 0 0;color:#626b78}
.help-language-action{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
@media(max-width:720px){.help-choice-grid,.help-language{grid-template-columns:1fr}.help-language-action{align-items:stretch}}

.help-card-simple{padding:20px!important}
.help-simple-top{display:flex;justify-content:space-between;gap:18px;align-items:center}
.help-simple-top h3{margin:4px 0 6px}
.help-simple-top p{margin:0;color:#626b78;max-width:610px}
.help-simple-actions{display:flex;gap:8px;flex-shrink:0}
.help-simple-language{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;margin-top:15px;padding-top:13px;border-top:1px solid #e7ebf0;font-size:13px;color:#626b78}
.help-simple-language strong{color:#172c4d}
.help-simple-price{display:flex;flex-direction:column;white-space:nowrap}
.help-simple-price strong{font-size:16px}
.help-simple-price span{font-size:10px;color:#7b8490}
.compact-help-btn{padding:8px 11px!important;font-size:12px!important;white-space:nowrap}
@media(max-width:760px){
 .help-simple-top{display:block}
 .help-simple-actions{margin-top:12px}
 .help-simple-language{grid-template-columns:1fr}
 .help-simple-price{margin-top:2px}
 .compact-help-btn{width:100%}
}

.help-card-centered{padding:18px 18px 20px!important}
.help-kicker{text-align:center;margin-bottom:12px}
.help-centered-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.help-centered-section{text-align:center;padding:8px 22px 5px;display:flex;flex-direction:column;align-items:center}
.help-centered-section+.help-centered-section{border-left:1px solid #e4e8ee}
.help-centered-section h3{margin:0 0 8px;color:#172c4d;font-size:18px}
.help-centered-section p{margin:0 auto 13px;color:#626b78;line-height:1.5;max-width:290px;flex:1}
.help-centered-section .pbtn{min-width:135px}
.help-centered-price{font-weight:900;color:#172c4d;margin:0 0 10px;font-size:16px}
.help-centered-price span{font-weight:600;color:#7b8490;font-size:11px}
@media(max-width:760px){
 .help-centered-grid{grid-template-columns:1fr}
 .help-centered-section{padding:16px 8px}
 .help-centered-section+.help-centered-section{border-left:0;border-top:1px solid #e4e8ee}
}

.help-card-conditional{padding:18px 18px 20px!important}
.help-two-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.help-two-section{text-align:center;padding:10px 28px 8px;display:flex;flex-direction:column;align-items:center}
.help-two-section+.help-two-section{border-left:1px solid #e4e8ee}
.help-two-section h3{margin:0 0 8px;color:#172c4d;font-size:19px}
.help-two-section p{margin:0 auto 14px;color:#626b78;line-height:1.5;max-width:360px;flex:1}
.help-two-section .pbtn{min-width:165px}
.help-followup{margin-top:18px;padding-top:16px;border-top:1px solid #e4e8ee;text-align:center}
.help-followup h3{margin:0 0 7px;color:#172c4d}
.help-followup p{max-width:650px;margin:0 auto 10px;color:#626b78;line-height:1.5}
.help-followup-price{font-weight:900;color:#172c4d;margin-bottom:12px;font-size:17px}
.help-followup-price span{font-weight:600;color:#7b8490;font-size:11px}
.help-followup-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media(max-width:760px){
 .help-two-grid{grid-template-columns:1fr}
 .help-two-section{padding:16px 8px}
 .help-two-section+.help-two-section{border-left:0;border-top:1px solid #e4e8ee}
 .help-two-section .pbtn{width:100%}
 .help-followup-actions .pbtn{width:100%}
}

.payment-modal-card{max-width:480px}
.payment-due{display:flex;justify-content:space-between;align-items:center;background:#f7f9fb;border:1px solid #e2e7ee;border-radius:12px;padding:15px 16px;margin:15px 0}
.payment-due span{font-weight:800;color:#626b78}.payment-due strong{font-size:24px;color:#172c4d}

.demo-reset-btn{border-color:#b3232b!important;color:#b3232b!important}
.demo-reset-btn:hover{background:#b3232b!important;color:#fff!important;border-color:#b3232b!important}

@media print{
  body.receipt-printing > *{visibility:hidden!important}
  body.receipt-printing #receiptSection,
  body.receipt-printing #receiptSection *{visibility:visible!important}
  body.receipt-printing #receiptSection{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    margin:0!important;
    padding:18px!important;
    box-shadow:none!important;
    border:0!important;
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }
  body.receipt-printing .receipt-actions,
  body.receipt-printing #receiptSection .micro:last-child,
  body.receipt-printing .demo-state-bar{display:none!important}
}
.staff-page{padding-top:24px;padding-bottom:50px}.attorney-admin-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.attorney-admin-row{display:grid;grid-template-columns:38px 46px minmax(260px,1fr) 90px 135px;align-items:center;gap:12px;border:1px solid #e2e7ee;border-radius:12px;padding:12px;background:#fff}.attorney-admin-row.muted-row{opacity:.6;background:#f7f8fa}.attorney-order{text-align:center;font-weight:900;color:#7b8490}.attorney-avatar{width:42px;height:42px;border-radius:50%;background:#172c4d;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.attorney-admin-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attorney-admin-main small{display:block;color:#727b87;margin-top:3px}.sponsor-badge{background:#fff2b8;color:#7a5a00;border:1px solid #e9d270;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:900}.attorney-admin-actions{display:flex;gap:6px;justify-content:flex-end}.pbtn.compact{padding:7px 10px;font-size:11px}.attorney-editor-card{max-width:760px}.attorney-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.attorney-form-grid label{font-size:12px;font-weight:800;display:flex;flex-direction:column;gap:5px}.attorney-form-grid label.full{grid-column:1/-1}.attorney-form-grid input,.attorney-form-grid select,.attorney-form-grid textarea{border:1px solid #d7dde6;border-radius:8px;padding:10px;font:inherit}.attorney-form-grid textarea{min-height:76px}.editor-note{background:#fff8df;border:1px solid #ead789;border-radius:9px;padding:10px 12px;font-size:12px;margin-bottom:12px}@media(max-width:800px){.attorney-admin-row{grid-template-columns:36px 44px 1fr}.attorney-admin-status,.attorney-admin-actions{grid-column:3}.attorney-form-grid{grid-template-columns:1fr}.attorney-form-grid label.full{grid-column:auto}}

.receipt-brand{margin:0 0 12px}
@media print{
 @page{margin:14mm}
 body.receipt-printing{margin:0!important;padding:0!important;min-height:0!important;background:white!important}
 body.receipt-printing > :not(#receiptSection){display:none!important}
 body.receipt-printing > #receiptSection{position:static!important;width:auto!important;height:auto!important;min-height:0!important;padding:0!important;break-inside:auto!important;page-break-inside:auto!important}
 body.receipt-printing #receiptSection .receipt-line,body.receipt-printing #receiptSection .receipt-head,body.receipt-printing #receiptSection .receipt-total{break-inside:avoid}
 body.receipt-printing #receiptSection button,body.receipt-printing #receiptSection form{display:none!important}
}
