:root{--ink:#111;--muted:#6b7280;--line:#dedbd8;--bg:#f6f5f3;--card:#fff;--brand:#1f1f1f;--brand2:#4a403a;--deep:#0f0f0f;--soft:#efedea;--ok:#2f6b4f;--warn:#806034;--danger:#7a2f2f;--accent:#6b5b53;--accent2:#b29c8e}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f8f7f5 0,#f2f1ef 48%,#ece9e5 100%);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}.app-shell{display:flex;min-height:100vh}.sidebar{width:282px;background:linear-gradient(180deg,#0b0b0b 0%,#1d1c1a 54%,#34302d 100%);color:#fff;position:fixed;inset:0 auto 0 0;padding:22px 18px;z-index:1000;box-shadow:18px 0 45px rgba(0,0,0,.18);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:12px 10px 22px;border-bottom:1px solid rgba(255,255,255,.16);margin-bottom:14px}.brand-mark{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#6b5b53,#2e2b28);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;box-shadow:0 12px 24px rgba(0,0,0,.24);overflow:hidden;font-size:22px}.brand-mark img{width:100%;height:100%;object-fit:contain;background:#fff}.brand strong{display:block;font-size:15px;line-height:1.22}.brand span{display:block;color:#c9c2ba;font-size:12px;margin-top:3px}.sidebar-nav{overflow:auto;padding-right:4px}.sidebar-nav a,.logout-link{display:flex;align-items:center;gap:10px;color:#ebe7e2;text-decoration:none;padding:11px 13px;border-radius:13px;margin:4px 0;font-size:14px;transition:.18s ease}.sidebar-nav a span{width:24px;height:24px;border-radius:9px;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;font-size:13px}.sidebar-nav a:hover,.sidebar-nav a.active{background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(107,91,83,.38));color:#fff;transform:translateX(3px);box-shadow:inset 3px 0 0 #b29c8e,0 10px 24px rgba(0,0,0,.18)}.sidebar-nav a.active span{background:#6b5b53;color:#fff}.logout-link{margin-top:auto;background:rgba(255,255,255,.08);justify-content:center}.main{margin-left:282px;width:calc(100% - 282px);min-height:100vh}.topbar{height:82px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#6b5b53;font-weight:800;font-size:11px}.topbar h5{font-weight:850;color:#111}.topbar-user{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;text-align:right;box-shadow:0 8px 24px rgba(0,0,0,.05)}.topbar-user span{display:block;font-weight:750;font-size:13px}.topbar-user small{display:block;color:var(--muted);font-size:11px}.content{padding:30px}.page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-hero h2,.page-hero h3{font-weight:900;letter-spacing:-.035em;margin:0}.page-hero p{color:var(--muted);margin:6px 0 0}.card{border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 44px rgba(17,17,17,.07);background:rgba(255,255,255,.94)}.card-body{padding:24px}.stat-card{position:relative;overflow:hidden;padding:23px;min-height:132px}.stat-card:after{content:"";position:absolute;right:-38px;top:-38px;width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,rgba(107,91,83,.18),rgba(0,0,0,.05))}.stat-card small{color:#867b72;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.stat-card h3{font-size:34px;font-weight:900;margin:10px 0 0}.workflow-card{background:linear-gradient(135deg,#111,#3d3732);color:#fff}.workflow-card p{color:#ded8d1}.btn{border-radius:12px;font-weight:750;padding:.64rem 1rem}.btn-primary{background:linear-gradient(135deg,#1f1f1f,#5a5049);border:0;box-shadow:0 10px 24px rgba(0,0,0,.2)}.btn-primary:hover{background:linear-gradient(135deg,#000,#4a403a)}.btn-outline-primary{border-color:#6b5b53;color:#2f2b28}.btn-outline-primary:hover{background:#2f2b28;border-color:#2f2b28;color:#fff}.btn-outline-secondary{border-color:#b8b2ac;color:#333}.form-control,.form-select{border-radius:13px;border:1px solid #d6d1cc;padding:.72rem .85rem}.form-control:focus,.form-select:focus{border-color:#6b5b53;box-shadow:0 0 0 .22rem rgba(107,91,83,.16)}.form-label,label{font-weight:750;color:#2f2b28;margin-bottom:7px}.table>:not(caption)>*>*{padding:15px 16px;border-bottom-color:#ece9e5;vertical-align:middle}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#766b63;background:#f0eeeb}.badge-soft{border-radius:999px;padding:7px 11px;font-weight:800;font-size:12px;background:#eeebe7;color:#2f2b28}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.quick-action{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;color:#111;box-shadow:0 12px 30px rgba(0,0,0,.05)}.quick-action:hover{transform:translateY(-2px);color:#6b5b53}.section-title{font-size:15px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#6b5b53;margin:4px 0 18px}.upload-zone{border:2px dashed #c9c2ba;background:linear-gradient(135deg,#f7f5f2,#fff);border-radius:22px;padding:28px;text-align:center}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,#4a403a 0,#161514 44%,#050505 100%)}.login-card{width:430px;background:#fff;border-radius:28px;box-shadow:0 25px 80px rgba(0,0,0,.34);padding:38px;border:1px solid #e7e2dc}.login-card .brand-mark{margin:auto}.security-box{background:#f7f5f2!important;border-color:#ded8d1!important;color:#444!important}.invoice-box{background:#fff;border-radius:24px;padding:34px;box-shadow:0 18px 50px rgba(0,0,0,.08)}.item-total-bar{background:#f2f0ed;border:1px solid #ded8d1;border-radius:18px;padding:18px}.mws-mobile-menu-btn{display:none;position:fixed;top:18px;left:18px;z-index:1100;border:0;background:#111;color:#fff;border-radius:14px;width:46px;height:46px;box-shadow:0 12px 28px rgba(0,0,0,.3)}.mws-mobile-overlay{display:none}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.info-grid>div,.view-card{background:#fbfaf9;border:1px solid #ece9e5;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:4px}.info-grid label,.view-card label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#766b63;font-weight:800}.note-box{min-height:120px;background:#fbfaf9;border:1px solid #ece9e5;border-radius:18px;padding:16px;color:#111}.table-responsive{overflow:auto}.timeline-strip{display:flex;gap:8px;flex-wrap:wrap}.timeline-strip span{padding:9px 13px;border:1px solid #d8d2cb;border-radius:999px;background:#fff;color:#3d3732;font-weight:700;font-size:13px}.mws-alert{border-radius:16px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#e7e2dc;border-radius:999px}::-webkit-scrollbar-thumb{background:#6b5b53;border-radius:999px;border:2px solid #e7e2dc}@media(max-width:1200px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:991px){.mws-mobile-menu-btn{display:block}.sidebar{transform:translateX(-105%);transition:.22s ease}.mws-menu-open .sidebar{transform:translateX(0)}.mws-menu-open .mws-mobile-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:900}.main{margin-left:0;width:100%}.topbar{padding-left:82px}.content{padding:22px}.page-hero{display:block}.page-hero .d-flex{margin-top:16px}.info-grid{grid-template-columns:1fr}}@media(max-width:600px){.quick-grid{grid-template-columns:1fr}.login-card{width:calc(100% - 28px);padding:28px}.topbar{height:auto;padding:18px 18px 18px 78px;gap:12px}.topbar-user{display:none}.content{padding:18px}.stat-card h3{font-size:28px}}
/* Legal UI polish */
.content{max-width:1680px;margin:0 auto;padding:32px 34px}.card{margin-bottom:22px}.card.p-4{padding:26px!important}.row.g-3{--bs-gutter-x:1.25rem;--bs-gutter-y:1.15rem}.form-section-title{font-size:15px;font-weight:850;color:#2f2b28;margin-bottom:16px;display:flex;align-items:center;gap:8px}.form-section-title:before{content:"";width:4px;height:20px;border-radius:99px;background:#6b5b53}.case-guide{border:1px solid #e5dfd8;background:#fbfaf9;border-radius:14px;min-height:48px;padding:12px 14px;color:#4a403a}.draft-template-suggestions,.draft_template-suggestions{display:none;position:absolute;left:0;right:0;top:100%;z-index:50;background:#fff;border:1px solid #dedbd8;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.12);padding:8px;margin-top:5px}.draft-template-suggestion-item,.draft_template-suggestion-item{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 12px;border-radius:10px}.draft-template-suggestion-item:hover,.draft_template-suggestion-item:hover{background:#f2f0ed}.page-hero{align-items:center}.table{margin-bottom:0}.table-responsive,.card .table{border-radius:18px;overflow:hidden}.view-kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.view-kv{border:1px solid #ece9e5;background:#fff;border-radius:16px;padding:14px}.view-kv small{display:block;color:#766b63;text-transform:uppercase;font-weight:800;letter-spacing:.06em;font-size:11px}.view-kv strong{display:block;margin-top:4px}.sidebar-nav a[href*="fee-items"] span{font-family:inherit}
@media(max-width:991px){.content{padding:24px 18px}.card.p-4{padding:20px!important}}
.mws-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mws-form-grid .full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.badge-status-active,.badge-status-paid,.badge-status-completed{display:inline-flex;border-radius:999px;padding:6px 10px;background:#e6f3eb;color:#245f42;font-weight:800;font-size:12px}.badge-status-inactive,.badge-status-failed,.badge-status-cancelled{display:inline-flex;border-radius:999px;padding:6px 10px;background:#f8e8e8;color:#7a2f2f;font-weight:800;font-size:12px}.badge-status-pending,.badge-status-booked,.badge-status-planned{display:inline-flex;border-radius:999px;padding:6px 10px;background:#eee9e3;color:#5a5049;font-weight:800;font-size:12px}
@media(max-width:991px){.mws-form-grid{grid-template-columns:1fr}.form-actions{justify-content:flex-start;flex-wrap:wrap}}

/* Responsive legal polish */
.sidebar{overflow:hidden;display:flex;flex-direction:column;}
.sidebar .brand{min-height:92px;align-items:center;gap:14px;flex-shrink:0;}
.sidebar .brand strong{display:block;line-height:1.18;max-width:150px;word-break:break-word;}
.sidebar .brand-mark{flex:0 0 54px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.sidebar .brand-mark img{width:100%;height:100%;object-fit:contain;}
.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:6px;}
.logout-link{flex-shrink:0;}
@media (max-width: 768px){
  .sidebar{width:290px;max-width:86vw;}
  .sidebar .brand{padding-top:48px;}
  .sidebar .brand strong{max-width:170px;font-size:14px;}
  .mws-mobile-menu-btn{z-index:1200;}
  .sidebar.open{z-index:1100;}
}
.page-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;}
.page-hero h3{margin-bottom:6px;font-weight:900;}
.page-hero p{margin-bottom:0;color:#6b625d;}
.email-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.email-summary-card{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:#211f1d;background:#fff;border:1px solid #e7e2dd;border-radius:18px;padding:16px 18px;box-shadow:0 14px 35px rgba(17,17,17,.06);}
.email-summary-card span{font-size:12px;text-transform:uppercase;font-weight:800;color:#6d625b;letter-spacing:.08em;}
.email-summary-card strong{font-size:28px;line-height:1;}
.email-summary-card.active{border-color:#6b5b53;background:#f4f1ee;}
.email-queue-table{border:1px solid #e7e2dd;border-radius:22px;box-shadow:0 18px 50px rgba(17,17,17,.08);}
.table thead th{white-space:nowrap;}
.identity-row{border:1px solid #e8e3de;background:#fbfaf9;border-radius:18px;padding:14px;margin-bottom:12px;}
.profile-preview{width:84px;height:84px;border-radius:22px;object-fit:cover;border:1px solid #ded8d1;background:#f2f0ed;}
@media (max-width: 991px){.email-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.page-hero{flex-direction:column}.content{padding:24px 18px}}
@media (max-width: 575px){.email-summary-grid{grid-template-columns:1fr}.card.p-4{padding:18px!important}}

/* v1.0 production stabilization */
.legal-form-card{overflow:hidden}.legal-form-card hr{margin:24px 0;border-color:#e7e2dd;opacity:1}.client-profile-layout{display:flex;align-items:center;gap:22px}.client-avatar-lg{width:92px;height:92px;border-radius:24px;background:linear-gradient(135deg,#111,#6b5b53);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:28px;flex:0 0 92px;overflow:hidden}.client-avatar-lg img{width:100%;height:100%;object-fit:cover}.case-record-card{border:1px solid #e7e2dd;border-radius:20px;padding:18px;background:#fff}.timeline-item{border-left:2px solid #6b5b53;padding:0 0 22px 20px;margin-left:8px;position:relative}.timeline-item:before{content:"";position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:#111}.document-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e7e2dd;border-radius:16px;padding:12px;margin-top:10px;background:#fff}.document-row small{display:block;color:#6b625d}.mini-record{border:1px solid #e7e2dd;border-radius:16px;padding:12px;margin-top:10px;background:#fff}.mini-record small{display:block;color:#6b625d}.table-responsive{width:100%}@media(max-width:767px){.client-profile-layout{align-items:flex-start;flex-direction:column}.view-kv-grid{grid-template-columns:1fr}.document-row{align-items:flex-start;flex-direction:column}.page-hero .btn{margin-top:12px}}

/* v1.0.1 UI stabilization */
.form-card{padding:26px!important;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 18px 44px rgba(17,17,17,.07);margin-bottom:26px;overflow:visible}.form-card .info-grid{padding:0}.case-field{display:block;border:1px solid #ece9e5;background:#fff;border-radius:16px;padding:14px 16px;min-height:70px;line-height:1.45}.case-field strong{display:block;margin-bottom:5px;color:#6b5b53;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.legal-view-card .view-kv{min-height:76px}.legal-view-card .note-box{min-height:116px}.note-box small{display:block;color:#766b63;text-transform:uppercase;font-weight:800;letter-spacing:.06em;font-size:11px;margin-bottom:8px}.note-box p{margin:0;line-height:1.55}.legal-draft-form{padding-bottom:34px!important}.draft-template-row{background:#fbfaf9;border:1px solid #ece9e5;border-radius:18px;padding:14px 10px;margin-left:0!important;margin-right:0!important}.draft-template-row .btn{width:100%;min-height:46px}.mws-form-grid>div{min-width:0}.mws-form-grid label,.draft-template-row label{display:block;margin-bottom:8px}.page-hero .btn{white-space:nowrap}.btn + .btn{margin-left:6px}.info-grid strong{display:block;margin-top:3px;line-height:1.35}.info-grid small{display:block;margin-top:4px;color:#6b625d}.card.form-card .note-box{margin-top:0}.sidebar .brand-mark{background:linear-gradient(135deg,#6b5b53,#2e2b28)!important}.sidebar .brand-mark:not(:has(img)){color:#fff!important}.sidebar .brand{overflow:visible}.table-responsive{border-radius:18px}.content{padding-bottom:70px!important}@media(max-width:767px){.form-card{padding:18px!important}.draft-template-row{padding:12px 8px}.topbar h5{font-size:16px}.page-hero{gap:12px}.page-hero .d-flex,.page-hero>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.btn + .btn{margin-left:0}}

/* v1.0.2 UI stabilization: legal draft, view cards and compact panels */
.legal-draft-form{overflow:visible!important;position:relative;}
.legal-draft-form hr{margin:22px 0;border-color:#e5dfd8;opacity:1;}
.legal-draft-form h5{display:block!important;color:#111!important;background:transparent!important;margin:0!important;padding:0!important;line-height:1.35!important;}
.legal-draft-form .text-muted{display:block;line-height:1.45;margin-top:3px;}
.legal-draft-form .form-section-title{margin-bottom:18px!important;}
#draftTemplateRows{width:100%;clear:both;}
.draft-template-row{display:grid!important;grid-template-columns:minmax(240px,2.1fr) minmax(155px,1fr) minmax(155px,1fr) minmax(230px,1.8fr) 70px!important;gap:14px!important;align-items:end!important;background:#fbfaf9!important;border:1px solid #ece9e5!important;border-radius:18px!important;padding:16px!important;margin:12px 0!important;width:100%!important;}
.draft-template-row>[class*="col-"]{width:auto!important;max-width:none!important;flex:none!important;padding:0!important;min-width:0!important;}
.draft-template-row .btn{width:100%!important;min-height:46px!important;margin:0!important;}
.draft-template-row label{white-space:normal!important;line-height:1.3!important;}
.draft-template-suggestions{min-width:240px;}
.view-kv-grid{align-items:stretch;}
.view-kv small,.case-field strong,.note-box small{display:block!important;margin:0 0 6px!important;line-height:1.25!important;}
.view-kv strong,.case-field span,.note-box p{display:block!important;line-height:1.5!important;word-break:break-word;}
.info-grid>div{min-height:92px;}
.info-grid label{display:block!important;margin-bottom:8px!important;}
@media(max-width:1200px){.draft-template-row{grid-template-columns:1fr 1fr!important}.draft-template-row>[class*="col-"]:last-child{grid-column:1/-1;}.draft-template-row .btn{width:auto!important;min-width:96px!important;}}
@media(max-width:767px){.draft-template-row{grid-template-columns:1fr!important;padding:14px!important}.draft-template-row>[class*="col-"]:last-child{grid-column:auto}.legal-draft-form .d-flex{align-items:flex-start!important;}.legal-draft-form .btn-sm{margin-top:8px;}}

/* v1.0.3 print/view separator stabilization */
.rx-client-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:12px!important;margin:18px 0!important;}
.rx-client-grid>div{background:#fbfaf9!important;border:1px solid #ece9e5!important;border-radius:16px!important;padding:14px 16px!important;min-height:72px!important;}
.rx-client-grid span,.view-kv small,.info-grid label,.note-box small{display:block!important;color:#766b63!important;text-transform:uppercase!important;font-weight:800!important;letter-spacing:.06em!important;font-size:11px!important;margin:0 0 7px!important;line-height:1.25!important;}
.rx-client-grid span::after,.view-kv small::after,.info-grid label::after,.note-box small::after{content:":";}
.rx-client-grid strong,.view-kv strong,.info-grid strong,.note-box p{display:block!important;line-height:1.5!important;word-break:break-word!important;margin:0!important;}
.rx-client-grid small{display:block!important;color:#6b625d!important;margin-top:4px!important;line-height:1.35!important;}
.legal-draft-box .table th,.legal-draft-box .table td{white-space:normal!important;}
.rx-signature-block p{margin-bottom:4px!important;color:#6b625d!important;}
.view-kv,.info-grid>div,.note-box{overflow-wrap:anywhere;}
.case-record-summary{display:flex;flex-wrap:wrap;gap:10px 18px;}
.case-record-summary .label{font-weight:800;color:#6b5b53;}
@media(max-width:767px){.rx-client-grid{grid-template-columns:1fr!important}.legal-draft-box{padding:18px!important}.legal-draft-box .d-flex.justify-content-between{flex-direction:column;gap:14px}.legal-draft-box .text-end{text-align:left!important}}
