:root{
  --bg:#f3f5f8;
  --panel:#ffffff;
  --text:#172033;
  --muted:#687386;
  --line:#e2e7ef;
  --brand:#163a66;
  --brand2:#24578f;
  --good:#147a55;
  --warn:#a35b00;
  --danger:#a53a3a;
  --shadow:0 10px 30px rgba(16,35,60,.08);
}

.case-audit-summary{list-style:none}
.case-audit-summary::-webkit-details-marker{display:none}
.case-audit-chevron{width:11px;height:11px;justify-self:end;border-right:3px solid #9bdcff;border-bottom:3px solid #9bdcff;transform:rotate(-45deg);transition:transform .18s ease}
.case-audit-row[open]>.case-audit-summary .case-audit-chevron{transform:rotate(45deg)}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{
  background:#102a4b;
  color:white;
  padding:26px 18px;
  position:sticky;top:0;height:100vh
}
.brand{font-size:20px;font-weight:800;line-height:1.15;margin-bottom:5px}
.brand-sub{font-size:12px;color:#b9c8db;margin-bottom:28px}
.nav{display:flex;flex-direction:column;gap:7px}
.nav button{
  border:0;background:transparent;color:#dce7f5;text-align:left;
  padding:11px 12px;border-radius:9px;cursor:pointer
}
.nav button:hover,.nav button.active{background:rgba(255,255,255,.11);color:white}
.sidebar-bottom{position:absolute;bottom:24px;left:18px;right:18px}
.userbox{font-size:12px;color:#dce7f5;border-top:1px solid rgba(255,255,255,.15);padding-top:15px}
.main{padding:28px 32px 60px}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.topbar h1{font-size:27px;margin:0}
.topbar .hint{color:var(--muted);font-size:14px;margin-top:5px}
.button{
  border:0;border-radius:9px;padding:10px 15px;cursor:pointer;font-weight:700
}
.button.primary{background:var(--brand);color:white}
.button.secondary{background:white;color:var(--brand);border:1px solid var(--line)}
.button.danger{background:#fff4f4;color:var(--danger);border:1px solid #f0cccc}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:13px;
  padding:18px;box-shadow:var(--shadow)
}
.metric .label{font-size:13px;color:var(--muted)}
.metric .value{font-size:30px;font-weight:800;margin-top:8px}
.section{margin-top:20px}
.section-title{font-size:17px;font-weight:800;margin:0 0 12px}
.table-wrap{background:white;border:1px solid var(--line);border-radius:13px;overflow:auto}
table{border-collapse:collapse;width:100%;min-width:780px}
th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top}
th{background:#f8fafc;color:#526173;font-weight:800}
tr.clickable{cursor:pointer}
tr.clickable:hover{background:#f7faff}
.badge{
  display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;
  background:#eaf0f7;color:var(--brand)
}
.badge.good{background:#e8f6f0;color:var(--good)}
.badge.warn{background:#fff2dd;color:var(--warn)}
.badge.danger{background:#fdecec;color:var(--danger)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
label{font-size:12px;font-weight:800;color:#566274}
input,select,textarea{
  border:1px solid #cfd7e3;border-radius:9px;padding:10px 11px;background:white;color:var(--text)
}
textarea{min-height:90px;resize:vertical}
.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.detail-name{font-size:25px;font-weight:800;margin-bottom:7px}
.meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-top:22px}
.tabs button{border:0;background:none;padding:11px 13px;cursor:pointer;color:var(--muted);font-weight:700}
.tabs button.active{color:var(--brand);border-bottom:3px solid var(--brand)}
.empty{
  background:white;border:1px dashed #cbd5e1;border-radius:12px;
  padding:34px;text-align:center;color:var(--muted)
}
.login-page{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
  background:linear-gradient(135deg,#e9eff6 0%,#f8fafc 55%,#eef4f8 100%)
}
.login-card{width:min(520px,100%);background:white;border-radius:18px;padding:38px;box-shadow:0 20px 50px rgba(18,47,83,.14)}
.login-title{font-size:30px;font-weight:850;color:var(--brand);margin:0}
.login-sub{color:var(--muted);margin:8px 0 28px}
.status-line{margin-top:18px;font-size:13px;color:var(--muted);white-space:pre-wrap}
.others-mo-login-only{display:none;margin-top:24px}
.internal-login-panel{margin-top:24px}
.others-mo-entry .others-mo-login-only{display:block}
.others-mo-google-copy{display:none;margin:20px 0 10px;font-size:13px;font-weight:800;color:var(--text)}
.others-mo-entry .others-mo-google-copy{display:block}
.others-mo-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--muted);font-size:12px;font-weight:800}
.others-mo-divider::before,.others-mo-divider::after{content:"";height:1px;background:var(--line);flex:1}
.temporary-mo-form{display:grid;gap:12px;text-align:left}
.temporary-mo-form .button{width:100%;margin-top:4px}
.others-mo-remember-choice{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.4;color:#44546a}
.others-mo-remember-choice input{margin-top:2px}
.others-mo-welcome{font-size:18px;margin-bottom:6px}
.others-mo-staff-id{font-size:13px;color:#687386;margin-bottom:18px}
.others-mo-device-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:16px}
.button-link{border:0;background:none;padding:4px;color:#425bd7;text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
.access-toolbar{display:flex;max-width:560px}.access-toolbar .field{flex:1}
.workspace-switch-label{padding:8px 14px 3px;color:#7f92aa;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.access-user-actions{display:flex;gap:6px;flex-wrap:wrap}.role-list{display:flex;gap:5px;flex-wrap:wrap}
.password-change-card{width:min(520px,100%);margin:40px auto}
.hidden{display:none!important}
.others-mo-entry .shell{grid-template-columns:1fr}
.others-mo-entry .sidebar,.others-mo-entry .mobile-appbar{display:none!important}
.others-mo-entry .main{padding:32px 20px 60px}
.others-mo-wrap{width:min(900px,100%);margin:0 auto}
.others-mo-claim{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.others-mo-case{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:10px}
@media(max-width:620px){.others-mo-claim{grid-template-columns:1fr}.others-mo-case{align-items:flex-start;flex-direction:column}}
.toast{
  position:fixed;right:24px;bottom:24px;background:#172033;color:white;padding:13px 16px;
  border-radius:10px;box-shadow:var(--shadow);z-index:999;max-width:380px
}
@media(max-width:950px){
  .shell{grid-template-columns:1fr}
  .sidebar{height:auto;position:static}
  .sidebar-bottom{position:static;margin-top:20px}
  .nav{flex-direction:row;flex-wrap:wrap}
  .main{padding:22px 16px 50px}
  .grid4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .grid4,.form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .topbar,.detail-head{flex-direction:column;align-items:flex-start}
}


/* V8.0.8.2 — refined final-report experience */
.final-report-card{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:15px;
  padding:16px 18px;
  border:1px solid #d6e7dc;
  border-radius:16px;
  background:linear-gradient(135deg,#fbfffc 0%,#f3faf6 100%);
  box-shadow:0 8px 24px rgba(31,65,49,.07);
}
.final-report-icon{
  width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;
  border-radius:50%;background:#e5f5ea;color:#1f6a3d;font-weight:900;font-size:20px;
}
.final-report-copy{min-width:220px;flex:1}
.final-report-label{font-size:10px;letter-spacing:.12em;font-weight:900;color:#567261}
.final-report-title{font-size:17px;font-weight:850;color:#10263c;margin-top:3px}
.final-report-hint{font-size:12px;color:#687386;margin-top:3px}
.final-report-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.button{transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.button:hover{transform:translateY(-1px)}
.button.primary{box-shadow:0 6px 16px rgba(24,67,112,.12)}
@media(max-width:760px){
  .final-report-card{align-items:flex-start;flex-wrap:wrap}
  .final-report-actions{width:100%;justify-content:flex-start}
}


/* LH LegalSys V8.1 assignment cockpit */
.cockpit-toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap;padding:14px;border:1px solid #dfe8f2;border-radius:16px;background:linear-gradient(135deg,#fbfdff,#f5f9ff)}
.cockpit-search{flex:1;min-width:280px}
.assignment-table-wrap{box-shadow:0 16px 40px rgba(25,54,88,.08);border-radius:18px;overflow:auto}
.assignment-table-wrap thead th{position:sticky;top:0;background:#f5f8fc;z-index:1}
.source-alert{margin-top:8px;padding:9px 10px;border-radius:10px;background:#eef7ff;border:1px solid #cfe6fb;color:#254d70;font-size:11px;line-height:1.35}
.work-pill{display:inline-block;margin-top:7px;padding:3px 8px;border-radius:999px;background:#edf2ff;color:#315d9b;font-size:10px;font-weight:800;letter-spacing:.03em}
.mini-muted{color:#7a8796;font-size:11px}
.mini-warn{color:#9c6315;font-size:11px;margin-top:5px}
.cockpit-note{padding:12px 14px;border-radius:14px;background:#0e2741;color:#dcecff;box-shadow:0 10px 26px rgba(14,39,65,.14)}
.badge.danger{background:#ffe9e8;color:#a52b27}
.badge.warn{background:#fff3d7;color:#8a5a0a}
.badge.good{background:#e9f7ee;color:#247044}

.limitation-panel{border:1px solid #d9e4ef;border-radius:16px;padding:16px;background:linear-gradient(135deg,#fbfdff,#f7fbff)}
.limitation-panel select,.limitation-panel input{width:100%}
.limitation-meta{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f2f6fa;color:#566879;font-size:11px;line-height:1.45}


/* =========================================================
   LEGALSYS FUTURE UI
   Personal Edition · Lokman Hamawi
   UI-only override layer
   ========================================================= */

:root{
  --ls-bg:#070b14;
  --ls-bg-soft:#0b1120;
  --ls-panel:rgba(14,22,38,.78);
  --ls-panel-solid:#0e1728;
  --ls-panel-hover:#121f35;

  --ls-text:#eef6ff;
  --ls-muted:#8494aa;
  --ls-line:rgba(125,163,211,.14);

  --ls-cyan:#46d8ff;
  --ls-blue:#4d7cff;
  --ls-purple:#9b6cff;

  --ls-glow:0 0 32px rgba(70,216,255,.12);
  --ls-shadow:0 22px 60px rgba(0,0,0,.28);

  --bg:var(--ls-bg);
  --panel:var(--ls-panel-solid);
  --text:var(--ls-text);
  --muted:var(--ls-muted);
  --line:var(--ls-line);
  --brand:var(--ls-cyan);
  --brand2:var(--ls-blue);
}

/* ---------- GLOBAL ---------- */

body{
  background:
    radial-gradient(circle at 78% -10%,rgba(77,124,255,.13),transparent 32%),
    radial-gradient(circle at 20% 100%,rgba(155,108,255,.07),transparent 30%),
    #070b14;
  color:var(--ls-text);
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:42px 42px;
  z-index:-1;
}

.shell{
  grid-template-columns:260px 1fr;
}

/* ---------- SIDEBAR ---------- */

.sidebar{
  background:
    linear-gradient(180deg,rgba(10,20,38,.98),rgba(5,10,20,.99));
  border-right:1px solid rgba(91,183,255,.12);
  box-shadow:14px 0 45px rgba(0,0,0,.22);
  padding:27px 17px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}

.brand-mark{
  width:43px;
  height:43px;
  flex:0 0 43px;
  border-radius:13px;
  display:grid;
  place-items:center;

  font-size:22px;
  font-weight:900;
  color:#06101c;

  background:
    linear-gradient(135deg,var(--ls-cyan),#73a6ff 54%,var(--ls-purple));

  box-shadow:
    0 0 24px rgba(70,216,255,.28),
    inset 0 1px 0 rgba(255,255,255,.5);
}

.brand-copy{
  min-width:0;
}

.brand-name{
  font-size:21px;
  line-height:1;
  font-weight:850;
  letter-spacing:-.03em;

  background:linear-gradient(90deg,#fff 10%,#8cecff 75%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.brand-owner{
  margin-top:6px;
  font-size:8px;
  letter-spacing:.19em;
  color:#7691ad;
  font-weight:800;
}

.brand-sub{
  color:#54718d;
  font-size:8px;
  letter-spacing:.11em;
  margin:0 0 31px 55px;
  white-space:nowrap;
}

.nav{
  gap:6px;
}

.nav button{
  position:relative;
  color:#8ea3ba;
  border:1px solid transparent;
  padding:12px 13px;
  border-radius:11px;
  transition:
    background .18s ease,
    color .18s ease,
    border-color .18s ease,
    transform .18s ease;
}

.nav button:hover{
  color:#e8f8ff;
  background:rgba(72,139,211,.08);
  border-color:rgba(70,216,255,.08);
  transform:translateX(2px);
}

.nav button.active{
  color:#fff;
  background:
    linear-gradient(90deg,rgba(70,216,255,.13),rgba(77,124,255,.08));
  border-color:rgba(70,216,255,.18);
  box-shadow:
    inset 3px 0 0 var(--ls-cyan),
    0 7px 24px rgba(0,0,0,.12);
}

.nav button.active:after{
  content:"";
  position:absolute;
  width:5px;
  height:5px;
  right:13px;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  background:var(--ls-cyan);
  box-shadow:0 0 10px var(--ls-cyan);
}

.sidebar-bottom{
  bottom:22px;
}

.userbox{
  border-top:1px solid rgba(114,169,220,.13);
  color:#b6c7d9;
}

#user-name{
  color:#edf7ff;
}

#user-role{
  color:#647e99!important;
}

/* ---------- MAIN ---------- */

.main{
  padding:32px 38px 65px;
  min-width:0;
}

.topbar{
  margin-bottom:27px;
}

.topbar h1{
  color:#f6f9ff;
  font-size:29px;
  letter-spacing:-.035em;
  font-weight:850;
}

.topbar .hint{
  color:#718399;
}

/* ---------- CARDS ---------- */

.card{
  position:relative;
  background:
    linear-gradient(145deg,rgba(16,26,44,.94),rgba(10,17,30,.94));
  border:1px solid var(--ls-line);
  border-radius:16px;
  box-shadow:var(--ls-shadow);
  overflow:hidden;
}

.card:before{
  content:"";
  position:absolute;
  top:0;
  left:13%;
  right:13%;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(104,215,255,.30),
    transparent
  );
}

.metric{
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.metric:hover{
  transform:translateY(-3px);
  border-color:rgba(70,216,255,.25);
  box-shadow:
    0 24px 60px rgba(0,0,0,.34),
    0 0 30px rgba(70,216,255,.05);
}

.metric .label{
  color:#74869b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:750;
}

.metric .value{
  color:#f4fbff;
  font-size:36px;
  letter-spacing:-.04em;
}

.metric .value:after{
  content:"";
  display:block;
  width:25px;
  height:2px;
  margin-top:10px;
  border-radius:4px;
  background:linear-gradient(90deg,var(--ls-cyan),var(--ls-purple));
  box-shadow:0 0 8px rgba(70,216,255,.35);
}

/* ---------- BUTTONS ---------- */

.button{
  border-radius:10px;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    border-color .15s ease;
}

.button.primary{
  color:#06101b;
  background:
    linear-gradient(135deg,#5be0ff,#6b91ff);
  box-shadow:
    0 8px 25px rgba(70,216,255,.16),
    inset 0 1px rgba(255,255,255,.35);
}

.button.primary:hover{
  box-shadow:
    0 12px 32px rgba(70,216,255,.26),
    0 0 20px rgba(70,216,255,.08);
}

.button.secondary{
  background:rgba(255,255,255,.035);
  color:#b9d8ef;
  border:1px solid rgba(125,174,216,.18);
}

.button.secondary:hover{
  border-color:rgba(70,216,255,.3);
  background:rgba(70,216,255,.06);
}

/* ---------- TABLES ---------- */

.table-wrap{
  background:rgba(9,16,29,.82);
  border:1px solid var(--ls-line);
  border-radius:16px;
  box-shadow:var(--ls-shadow);
}

table{
  color:#cbd8e7;
}

th{
  background:#0d1728;
  color:#71859d;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-size:10px;
}

th,td{
  border-bottom:1px solid rgba(121,155,194,.09);
}

td{
  color:#b8c7d8;
}

tr.clickable:hover{
  background:rgba(70,216,255,.035);
}

/* ---------- BADGES ---------- */

.badge{
  border:1px solid rgba(106,155,207,.12);
  background:rgba(65,103,151,.15);
  color:#8fc7f5;
}

.badge.good{
  background:rgba(43,192,133,.10);
  color:#55dda9;
  border-color:rgba(43,192,133,.16);
}

.badge.warn{
  background:rgba(255,183,76,.10);
  color:#ffc267;
  border-color:rgba(255,183,76,.16);
}

.badge.danger{
  background:rgba(255,91,91,.10);
  color:#ff8181;
  border-color:rgba(255,91,91,.16);
}

/* ---------- FORMS ---------- */

label{
  color:#7f91a7;
  letter-spacing:.025em;
}

input,
select,
textarea{
  background:#0b1423;
  color:#e4edf7;
  border:1px solid rgba(117,155,198,.18);
}

input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:rgba(70,216,255,.52);
  box-shadow:0 0 0 3px rgba(70,216,255,.07);
}

input::placeholder,
textarea::placeholder{
  color:#53657a;
}

/* ---------- DETAIL / CASE ---------- */

.detail-name{
  color:#f3f9ff;
  letter-spacing:-.025em;
}

.meta{
  color:#70849a;
}

.tabs{
  border-bottom:1px solid rgba(114,154,198,.13);
}

.tabs button{
  color:#6f8299;
}

.tabs button:hover{
  color:#b8dff5;
}

.tabs button.active{
  color:#69dcff;
  border-bottom-color:#69dcff;
  text-shadow:0 0 14px rgba(70,216,255,.25);
}

.section-title{
  color:#dce8f5;
}

/* ---------- ASSIGNMENT COCKPIT ---------- */

.cockpit-toolbar{
  background:
    linear-gradient(135deg,rgba(15,25,42,.96),rgba(9,16,29,.96));
  border-color:var(--ls-line);
}

.assignment-table-wrap{
  box-shadow:var(--ls-shadow);
}

.assignment-table-wrap thead th{
  background:#0d1728;
}

.cockpit-note{
  background:
    linear-gradient(110deg,#0c1c31,#102843);
  color:#bfe8ff;
  border:1px solid rgba(70,216,255,.13);
  box-shadow:
    0 12px 35px rgba(0,0,0,.22),
    inset 3px 0 0 rgba(70,216,255,.55);
}

.source-alert{
  background:rgba(38,115,171,.09);
  border-color:rgba(70,216,255,.14);
  color:#89bddb;
}

.work-pill{
  background:rgba(79,124,255,.12);
  color:#8faeff;
}

/* ---------- LIMITATION / REPORT ---------- */

.limitation-panel{
  background:
    linear-gradient(135deg,rgba(15,25,42,.94),rgba(9,16,29,.94));
  border-color:var(--ls-line);
}

.limitation-meta{
  background:rgba(255,255,255,.025);
  color:#8496aa;
}

.final-report-card{
  background:
    linear-gradient(135deg,rgba(11,32,30,.92),rgba(10,20,29,.94));
  border-color:rgba(68,206,154,.18);
}

.final-report-icon{
  background:rgba(65,218,156,.12);
  color:#58dba9;
}

.final-report-label{
  color:#65b897;
}

.final-report-title{
  color:#e5fff4;
}

.final-report-hint{
  color:#789b8d;
}

/* ---------- EMPTY STATE ---------- */

.empty{
  background:rgba(10,17,29,.72);
  border-color:rgba(116,157,201,.18);
  color:#71849a;
}

/* ---------- LOGIN ---------- */

.login-page{
  background:
    radial-gradient(circle at 50% 30%,rgba(77,124,255,.16),transparent 30%),
    radial-gradient(circle at 70% 70%,rgba(155,108,255,.08),transparent 27%),
    #060a12;
}

.login-card{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(15,25,43,.97),rgba(8,14,25,.97));
  border:1px solid rgba(92,178,239,.16);
  box-shadow:
    0 30px 90px rgba(0,0,0,.52),
    0 0 50px rgba(70,216,255,.05);
}

.login-card:before{
  content:"L";
  display:grid;
  place-items:center;

  width:58px;
  height:58px;
  margin-bottom:25px;
  border-radius:17px;

  color:#07111d;
  font-size:29px;
  font-weight:900;

  background:
    linear-gradient(135deg,var(--ls-cyan),#7397ff,var(--ls-purple));

  box-shadow:0 0 30px rgba(70,216,255,.25);
}

.login-title{
  color:#f4fbff;
  font-size:35px;
  letter-spacing:-.04em;
}

.login-sub{
  color:#72859b;
}

/* ---------- TOAST ---------- */

.toast{
  background:#101b2d;
  color:#dbefff;
  border:1px solid rgba(70,216,255,.16);
  box-shadow:
    0 18px 45px rgba(0,0,0,.38),
    0 0 22px rgba(70,216,255,.06);
}

/* ---------- SCROLLBAR ---------- */

::-webkit-scrollbar{
  width:10px;
  height:10px;
}

::-webkit-scrollbar-track{
  background:#070c15;
}

::-webkit-scrollbar-thumb{
  background:#22334a;
  border:2px solid #070c15;
  border-radius:10px;
}

::-webkit-scrollbar-thumb:hover{
  background:#2d4968;
}

/* ---------- MOBILE ---------- */

@media(max-width:950px){
  .shell{
    grid-template-columns:1fr;
  }

  .sidebar{
    position:static;
    height:auto;
  }

  .brand-sub{
    margin-left:55px;
  }
}

@media(max-width:620px){
  .main{
    padding:20px 14px 45px;
  }

  .topbar h1{
    font-size:25px;
  }

  .metric{
    min-height:110px;
  }
}

/* LegalSys final brand lock */
.brand{
  margin-bottom:32px;
}

.brand-mark{
  overflow:hidden;
  padding:7px;
  background:linear-gradient(145deg,rgba(13,31,52,.94),rgba(8,16,29,.98));
  border:1px solid rgba(82,209,255,.28);
  box-shadow:
    0 0 26px rgba(70,216,255,.12),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.brand-mark svg{
  width:100%;
  height:100%;
  display:block;
  filter:drop-shadow(0 0 7px rgba(92,204,255,.34));
}

.brand-name{
  font-size:23px;
  letter-spacing:-.035em;
}

.login-sub{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.userbox #user-name{
  font-size:13px;
  font-weight:800;
}

/* LegalSys Inbox Review Centre */

.review-grid{
  display:grid;
  grid-template-columns:
    minmax(150px,.7fr)
    minmax(230px,1.4fr)
    minmax(230px,1.4fr)
    minmax(120px,.6fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
}

.review-cell{
  padding:14px 15px;
  background:#0b1423;
  min-width:0;
  overflow-wrap:anywhere;
}

.review-head{
  background:#0d1728;
  color:#72879d;
  font-size:10px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}

@media(max-width:850px){
  .review-grid{
    grid-template-columns:1fr;
  }

  .review-cell{
    font-size:12px;
    padding:11px;
  }
}


/* =========================================================
   LegalSys Review Centre Modal
   ========================================================= */

.review-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:9999;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:28px;

  background:rgba(2,7,14,.80);
  backdrop-filter:blur(10px);
}

.review-modal{
  width:min(1050px,96vw);
  max-height:92vh;
  overflow:auto;

  padding:24px;

  border-radius:18px;

  background:
    linear-gradient(
      145deg,
      rgba(15,25,43,.99),
      rgba(8,14,25,.99)
    );

  border:1px solid rgba(82,209,255,.17);

  box-shadow:
    0 35px 100px rgba(0,0,0,.60),
    0 0 55px rgba(70,216,255,.06);
}

.review-modal-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;

  padding-bottom:18px;

  border-bottom:
    1px solid rgba(120,160,205,.12);
}

.review-source{
  margin-top:20px;

  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;

  padding:16px;

  border-radius:13px;

  background:
    rgba(64,118,180,.06);

  border:
    1px solid rgba(82,180,230,.10);
}

.review-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;

  margin-top:20px;
}

.review-error{
  margin-top:20px;

  padding:15px;

  border-radius:12px;

  color:#ffaaaa;

  background:
    rgba(255,70,70,.06);

  border:
    1px solid rgba(255,91,91,.18);
}

/* =========================================================
   LEGALSYS V8.1.1-A RESPONSIVE SHELL
   UI-only responsive override layer.
   ========================================================= */

/* ---------- CORE WIDTH SAFETY ---------- */

html,
body{
  min-width:0;
}

body{
  overflow-x:hidden;
}

.shell,
.main,
.view,
.card,
.section,
.detail-head,
.topbar,
.form-grid{
  min-width:0;
}

.main{
  width:100%;
}

.main > .view{
  width:100%;
  max-width:1760px;
  margin-inline:auto;
}

.table-wrap,
.assignment-table-wrap{
  max-width:100%;
}

input,
select,
textarea{
  max-width:100%;
}


/* ---------- MOBILE CONTROLS DEFAULT ---------- */

.mobile-appbar{
  display:none;
}

.mobile-nav-scrim{
  display:none;
}

.mobile-nav-toggle{
  width:40px;
  height:40px;
  flex:0 0 40px;

  padding:9px;

  border:1px solid rgba(111,181,225,.18);
  border-radius:11px;

  background:
    linear-gradient(
      145deg,
      rgba(16,30,49,.94),
      rgba(10,19,33,.98)
    );

  cursor:pointer;
}

.mobile-nav-toggle span{
  display:block;
  width:100%;
  height:2px;

  margin:4px 0;

  border-radius:10px;

  background:#a9dff4;

  transition:
    transform .18s ease,
    opacity .18s ease;
}

.mobile-appbar-brand{
  min-width:0;
}

.mobile-appbar-name{
  color:#eef8ff;

  font-size:17px;
  line-height:1.05;
  font-weight:850;

  letter-spacing:-.025em;
}

.mobile-appbar-sub{
  margin-top:3px;

  color:#677d94;

  font-size:8px;
  font-weight:800;

  letter-spacing:.14em;
  text-transform:uppercase;
}


/* ---------- DESKTOP ---------- */

@media(min-width:1024px){

  .shell{
    grid-template-columns:
      clamp(208px,15.5vw,224px)
      minmax(0,1fr);
  }

  .sidebar{
    padding:22px 14px;
  }

  .brand{
    margin-bottom:26px;
  }

  .brand-mark{
    width:40px;
    height:40px;
    flex-basis:40px;
  }

  .brand-name{
    font-size:21px;
  }

  .nav{
    gap:5px;
  }

  .nav button{
    padding:10px 11px;
  }

  .main{
    padding:
      clamp(22px,2vw,28px)
      clamp(22px,2.25vw,32px)
      52px;
  }
}


/* ---------- LAPTOP DENSITY ---------- */
/* Includes 1366x768 and 1536x864 class displays */

@media(min-width:1024px) and (max-width:1439px){

  .shell{
    grid-template-columns:
      208px
      minmax(0,1fr);
  }

  .sidebar{
    padding:19px 13px;
  }

  .brand{
    margin-bottom:22px;
  }

  .brand-mark{
    width:38px;
    height:38px;
    flex-basis:38px;

    padding:6px;
    border-radius:11px;
  }

  .brand-name{
    font-size:20px;
  }

  .nav button{
    padding:9px 10px;
    font-size:13px;
  }

  .main{
    padding:20px 22px 44px;
  }

  .topbar{
    margin-bottom:18px;
  }

  .topbar h1{
    font-size:25px;
  }

  .topbar .hint{
    font-size:13px;
  }

  .grid4{
    gap:12px;
  }

  .card{
    padding:15px;
  }

  .metric{
    min-height:104px;
  }

  .metric .value{
    font-size:30px;
  }

  .section{
    margin-top:16px;
  }

  .section-title{
    margin-bottom:10px;
    font-size:16px;
  }

  .detail-head{
    gap:14px;
  }

  .detail-name{
    margin-bottom:5px;
    font-size:22px;
  }

  .tabs{
    gap:2px;
    margin-top:15px;
  }

  .tabs button{
    padding:9px 10px;
    font-size:13px;
  }

  th,
  td{
    padding:10px 12px;
  }
}


/* =========================================================
   V8.1.1-A — TABLET / MOBILE DRAWER
   ========================================================= */

@media(max-width:1023px){

  .shell{
    grid-template-columns:1fr;
    min-height:100dvh;
  }

  .main{
    width:100%;
    min-width:0;
    padding:0 20px 48px;
  }

  /* ---------- MOBILE APP BAR ---------- */

  .mobile-appbar{
    position:sticky;
    top:0;
    z-index:900;

    display:flex;
    align-items:center;
    gap:12px;

    min-height:60px;

    margin:0 -20px 18px;
    padding:9px 20px;

    background:
      linear-gradient(
        180deg,
        rgba(7,13,24,.97),
        rgba(7,13,24,.91)
      );

    border-bottom:
      1px solid rgba(92,169,218,.13);

    box-shadow:
      0 10px 28px rgba(0,0,0,.17);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }

  /* ---------- SIDEBAR DRAWER ---------- */

  .sidebar{
    position:fixed !important;

    top:0;
    bottom:0;
    left:0;

    z-index:1100;

    display:flex;
    flex-direction:column;

    width:min(300px,86vw);
    height:100dvh !important;

    padding:20px 16px;

    overflow-y:auto;
    overscroll-behavior:contain;

    transform:translateX(-105%);

    transition:
      transform .22s ease,
      box-shadow .22s ease;
  }

  .shell.mobile-nav-open .sidebar{
    transform:translateX(0);

    box-shadow:
      25px 0 70px rgba(0,0,0,.52),
      0 0 45px rgba(70,216,255,.05);
  }

  .sidebar .brand{
    margin-bottom:24px;
  }

  /* Override old mobile horizontal navigation */
  .sidebar .nav{
    display:flex;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    gap:6px;
  }

  .sidebar .nav button{
    width:100%;
    padding:12px 13px;
    text-align:left;
  }

  /* Keep account area at bottom of drawer */
  .sidebar-bottom{
    position:static !important;

    left:auto;
    right:auto;
    bottom:auto;

    margin-top:auto !important;
    padding-top:24px;
  }

  /* ---------- DRAWER SCRIM ---------- */

  .mobile-nav-scrim{
    position:fixed;
    inset:0;

    z-index:1090;

    display:block;

    padding:0;
    border:0;

    background:rgba(1,6,13,.68);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    cursor:pointer;

    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);

    transition:
      opacity .2s ease,
      visibility .2s ease;
  }

  .shell.mobile-nav-open .mobile-nav-scrim{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  body.mobile-nav-lock{
    overflow:hidden;
  }

  /* ---------- HAMBURGER ANIMATION ---------- */

  .shell.mobile-nav-open
  .mobile-nav-toggle span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }

  .shell.mobile-nav-open
  .mobile-nav-toggle span:nth-child(2){
    opacity:0;
  }

  .shell.mobile-nav-open
  .mobile-nav-toggle span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }

  /* ---------- CONTENT ---------- */

  .grid4{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .detail-head{
    flex-wrap:wrap;
    gap:12px;
  }

  .topbar{
    gap:12px;
  }

  .cockpit-search{
    min-width:0;
    width:100%;
  }

  /* ---------- CASE MODULE TABS ---------- */

  .tabs{
    display:flex;
    flex-wrap:nowrap;

    gap:2px;

    width:100%;
    max-width:100%;

    margin-top:14px;

    overflow-x:auto;
    overflow-y:hidden;

    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;

    overscroll-behavior-inline:contain;
  }

  .tabs::-webkit-scrollbar{
    display:none;
  }

  .tabs button{
    flex:0 0 auto;

    padding:10px 11px;

    white-space:nowrap;
  }
}


/* =========================================================
   V8.1.1-A — PHONE POLISH
   ========================================================= */

@media(max-width:620px){

  .main{
    padding:0 14px 40px;
  }

  .mobile-appbar{
    min-height:56px;

    margin:0 -14px 15px;
    padding:8px 14px;
  }

  .mobile-nav-toggle{
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  /* Single-column clinical/form content */
  .grid4,
  .form-grid{
    grid-template-columns:1fr;
  }

  .field.full{
    grid-column:auto;
  }

  /* Compact cards */
  .card{
    padding:14px;
    border-radius:14px;
  }

  .metric{
    min-height:92px;
  }

  .metric .value{
    font-size:28px;
  }

  .section{
    margin-top:14px;
  }

  .section-title{
    font-size:15px;
  }

  /* Header stacking */
  .topbar,
  .detail-head{
    flex-direction:column;
    align-items:stretch;
    gap:11px;
  }

  .topbar h1{
    font-size:23px;
  }

  .topbar .hint{
    font-size:12px;
    line-height:1.45;
  }

  .detail-name{
    font-size:21px;
  }

  /* Main standalone actions become touch-friendly */
  .detail-head > .button{
    width:100%;
  }

  .button{
    min-height:40px;
  }

  /* Case tabs remain horizontal */
  .tabs{
    margin-top:12px;
  }

  .tabs button{
    padding:9px 10px;
    font-size:12px;
  }

  /* Prevent form controls overflowing */
  input,
  select,
  textarea{
    width:100%;
  }

  /* Final report actions wrap safely */
  .final-report-card{
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .final-report-copy{
    min-width:0;
    width:100%;
  }

  .final-report-actions{
    width:100%;
    justify-content:flex-start;
  }

  /* Toast stays visible on narrow displays */
  .toast{
    right:12px;
    bottom:12px;
    left:12px;

    max-width:none;
  }

  /* Review modal becomes phone-safe */
  .review-modal-backdrop{
    padding:12px;
  }

  .review-modal{
    width:100%;
    max-height:calc(100dvh - 24px);

    padding:16px;
  }

  .review-modal-header,
  .review-source{
    flex-direction:column;
    gap:12px;
  }

  .review-actions{
    gap:8px;
  }
}


/* ---------- VERY SMALL PHONE ---------- */

@media(max-width:390px){

  .main{
    padding-inline:11px;
  }

  .mobile-appbar{
    margin-inline:-11px;
    padding-inline:11px;
  }

  .mobile-appbar-sub{
    display:none;
  }

  .sidebar{
    width:min(286px,90vw);
  }

  .card{
    padding:12px;
  }

  .tabs button{
    padding-inline:9px;
  }
}


/* ---------- REDUCED MOTION ---------- */

@media(prefers-reduced-motion:reduce){

  .sidebar,
  .mobile-nav-scrim,
  .mobile-nav-toggle span{
    transition:none !important;
  }
}


/* =========================================================
   V8.1.1-B — CASE WORKSPACE
   ========================================================= */

.case-workspace{
  overflow:visible;
}

.case-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.case-back-short{
  display:none;
}

.case-mobile-more{
  display:none;
}

.detail-field{
  min-width:0;
}

.detail-field-label{
  line-height:1.25;
}

.detail-field-value{
  min-width:0;
  overflow-wrap:anywhere;
  line-height:1.45;
}

/* Keep long clinical narrative visually distinct. */
.detail-field-narrative{
  grid-column:1/-1;
}


/* =========================================================
   V8.1.1-B2 — MOBILE CASE HEADER + STICKY TABS
   ========================================================= */

@media(max-width:1023px){

  .case-module-head{
    gap:10px;
  }

  .case-back-long{
    display:none;
  }

  .case-back-short{
    display:inline;
  }

  .case-back-button{
    white-space:nowrap;
  }

  .case-tabs{
    position:sticky;
    top:60px;
    z-index:820;

    background:rgba(8,15,27,.96);

    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);

    box-shadow:
      0 8px 18px rgba(0,0,0,.16);
  }
}


@media(max-width:620px){

  /* Shared Clinical / Report / Forms header */
  .case-module-head{
    flex-direction:column;
    align-items:stretch;
  }

  .case-module-head > .case-back-button{
    order:-1;

    width:auto;
    align-self:flex-start;

    min-height:34px;
    padding:6px 10px;
  }

  /* Overview actions */
  .case-overview-head .case-actions{
    width:100%;

    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
  }

  .case-overview-head .case-back-button{
    grid-column:1/-1;
    grid-row:1;

    width:auto;
    justify-self:start;

    min-height:34px;
    padding:6px 10px;
  }

  .case-edit-button{
    grid-column:1;
    grid-row:2;

    width:100%;
  }

  .case-reanalyse-button{
    display:none;
  }

  .case-mobile-more{
    display:block;

    grid-column:2;
    grid-row:2;

    position:relative;
  }

  .case-mobile-more summary{
    list-style:none;
    min-height:40px;

    display:flex;
    align-items:center;
  }

  .case-mobile-more summary::-webkit-details-marker{
    display:none;
  }

  .case-mobile-more-menu{
    position:absolute;
    top:calc(100% + 7px);
    right:0;
    z-index:950;

    width:min(270px,78vw);

    padding:6px;

    border:1px solid rgba(104,174,218,.18);
    border-radius:11px;

    background:#0d1828;

    box-shadow:0 18px 45px rgba(0,0,0,.42);
  }

  .case-mobile-more-menu button{
    width:100%;

    padding:10px 11px;

    border:0;
    border-radius:8px;

    background:transparent;
    color:#c9deee;

    text-align:left;
    cursor:pointer;
  }

  .case-tabs{
    top:56px;
  }
}


/* =========================================================
   V8.1.1-B3A — COMPACT MOBILE DETAIL FIELDS
   ========================================================= */

@media(max-width:620px){

  /* Any grid made from detailField() becomes a compact list. */
  .case-workspace
  .form-grid:has(> .detail-field){
    gap:0;
  }

  .case-workspace
  .form-grid > .detail-field{
    display:grid;

    grid-template-columns:
      minmax(105px,36%)
      minmax(0,1fr);

    align-items:start;
    gap:10px;

    min-height:0;

    padding:9px 2px !important;

    border:0;
    border-bottom:
      1px solid rgba(115,153,196,.11);

    border-radius:0;

    background:transparent;

    box-shadow:none;
  }

  .case-workspace
  .form-grid > .detail-field:before{
    display:none;
  }

  .case-workspace
  .detail-field-label{
    align-self:start;

    padding-top:2px;

    font-size:9px !important;
    line-height:1.35;

    letter-spacing:.055em;
    text-transform:uppercase;
  }

  .case-workspace
  .detail-field-value{
    margin-top:0 !important;

    font-size:12px;
    line-height:1.45;

    text-align:left;
  }

  /* Do not draw a final divider after the last field. */
  .case-workspace
  .form-grid > .detail-field:last-child{
    border-bottom:0;
  }
}


/* =========================================================
   V8.1.1-B3B — NARRATIVE + CLINICAL MOBILE POLISH
   ========================================================= */

@media(max-width:620px){

  /* Long narrative fields must stay full-width. */
  .case-workspace
  .form-grid > .detail-field-narrative{
    display:block;

    grid-column:1/-1;

    padding:11px 2px 12px !important;
  }

  .case-workspace
  .detail-field-narrative
  .detail-field-label{
    padding-top:0;
  }

  .case-workspace
  .detail-field-narrative
  .detail-field-value{
    margin-top:6px !important;

    font-size:12px;
    line-height:1.55;
  }

  /* Clinical section heading */
  .clinical-section-head{
    gap:8px;
  }

  .clinical-section-head
  .section-title{
    margin-bottom:3px;
  }

  .clinical-section-head
  > div
  > div{
    font-size:11px !important;
    line-height:1.4;
  }

  .clinical-run-button{
    width:auto !important;

    min-height:36px;
    padding:8px 11px;

    align-self:flex-start;

    font-size:11px;
  }

  /* Reduce excess vertical gaps inside case modules. */
  .case-workspace
  .section{
    margin-top:12px;
  }
}


/* =========================================================
   V8.1.1-C — MOBILE CASES REGISTRY
   ========================================================= */

.cases-mobile-list{
  display:none;
}

@media(max-width:620px){

  #view-cases .table-wrap{
    display:none;
  }

  #view-cases .cases-mobile-list{
    display:grid;
    gap:9px;
  }

  .case-mobile-card{
    position:relative;

    width:100%;
    padding:13px 38px 12px 13px;

    border:1px solid rgba(111,168,208,.15);
    border-radius:13px;

    background:rgba(11,20,34,.88);
    color:inherit;

    font:inherit;
    text-align:left;

    cursor:pointer;
  }

  .case-mobile-card-name{
    padding-right:4px;

    font-size:13px;
    font-weight:800;
    line-height:1.35;
  }

  .case-mobile-card-family{
    margin-top:3px;

    font-size:9px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;

    color:#7d9ab0;
  }

  .case-mobile-card-row{
    display:grid;
    grid-template-columns:105px minmax(0,1fr);
    gap:8px;
    align-items:center;

    margin-top:9px;

    font-size:11px;
    line-height:1.35;
  }

  .case-mobile-card-row > span:first-child{
    color:#7890a6;
  }

  .case-mobile-card-row strong{
    min-width:0;
    overflow-wrap:anywhere;
  }

  .case-mobile-card-meta{
    display:flex;
    gap:6px;
    flex-wrap:wrap;

    margin-top:9px;

    font-size:9px;
    line-height:1.35;

    color:#70889e;
  }

  .case-mobile-card-arrow{
    position:absolute;
    right:13px;
    top:50%;

    transform:translateY(-50%);

    font-size:25px;
    line-height:1;

    color:#7498b3;
  }
}


/* =========================================================
   V8.1.1 — ASSIGNMENTS SMART SEARCH POLISH
   ========================================================= */

.cockpit-toolbar .cockpit-search{
  flex:1 1 100%;
  width:100%;
  min-width:0;
}

.cockpit-toolbar .cockpit-search input{
  width:100%;
}

.cockpit-toolbar > .field:not(.cockpit-search){
  flex:1 1 220px;
  min-width:0;
}

@media(max-width:620px){

  .cockpit-toolbar{
    align-items:stretch;
  }

  .cockpit-toolbar > .field{
    flex:1 1 100%;
    width:100%;
    min-width:0;
  }

  .cockpit-toolbar input,
  .cockpit-toolbar select{
    width:100%;
  }
}

/* V8.1.1 — ASSIGNMENT KPI CLARITY */
.assignment-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
@media(max-width:1200px){.assignment-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:620px){.assignment-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.assignment-total-metric,.assignment-new-metric{grid-column:1/-1;}}


/* V8.1.1 — PRINT COLUMN SELECTOR */
.assignment-print-columns{width:100%;}
.assignment-print-columns summary{box-sizing:border-box;width:100%;min-height:42px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;cursor:pointer;list-style-position:inside;}
.assignment-print-columns[open]{padding-bottom:8px;}
.assignment-print-columns label{display:flex;align-items:center;gap:8px;padding:7px 10px;margin:2px 0;font-size:13px;cursor:pointer;}
.assignment-print-columns label input{width:auto;flex:0 0 auto;}
.assignment-print-field .button{width:100%;min-height:42px;}
@media(max-width:620px){.assignment-print-columns-field,.assignment-print-field{width:100%;}.assignment-print-columns summary{width:100%;}}

/* LEGALSYS_MAKER_PORTAL_UI_V1 */
.maker-search-row{
  width:100%;
}
.maker-filter-details{
  width:100%;
  border:1px solid rgba(120,130,150,.24);
  border-radius:12px;
  padding:10px 12px;
}
.maker-filter-details summary{
  cursor:pointer;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.maker-filter-summary{
  font-size:12px;
  font-weight:600;
  opacity:.72;
}
.maker-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
  margin-top:12px;
}
.maker-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.maker-blocked-note{
  font-size:12px;
  margin-top:6px;
  max-width:250px;
}
.maker-blocked-banner{
  border-color:#d58a8a;
  margin:14px 0;
}
.maker-request-card,
.maker-admin-request,
.maker-admin-card{
  border:1px solid rgba(120,130,150,.22);
  border-radius:12px;
  padding:12px;
  margin-bottom:10px;
}
.maker-request-head,
.maker-admin-card,
.maker-admin-item{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.maker-original-text{
  margin:9px 0;
  white-space:pre-wrap;
  line-height:1.45;
}
.maker-item,
.maker-admin-item{
  border-top:1px solid rgba(120,130,150,.16);
  padding:8px 0;
}
@media(max-width:900px){
  .maker-filter-grid{
    grid-template-columns:repeat(2,minmax(140px,1fr));
  }
  .maker-admin-card,
  .maker-admin-item{
    flex-direction:column;
  }
}
@media(max-width:520px){
  .maker-filter-grid{
    grid-template-columns:1fr;
  }
  .maker-filter-details summary{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* LEGALSYS_PROFESSIONAL_OPERATIONS_UI_V2 */
.maker-v2-worklist .assignment-kpi-grid{grid-template-columns:repeat(6,minmax(110px,1fr));gap:9px}.maker-v2-worklist .assignment-kpi-grid .metric{padding:11px 13px;min-height:0;border-radius:13px}.maker-v2-worklist .assignment-kpi-grid .metric .value{font-size:21px;margin-top:4px}.maker-v2-worklist .cockpit-toolbar{gap:9px;padding:11px;border-radius:13px}.maker-v2-cover{margin-left:auto;opacity:.86}.maker-v2-row td{padding-top:10px;padding-bottom:10px;vertical-align:middle}.maker-v2-row:hover{background:rgba(84,196,255,.035)}.maker-v2-patient{font-size:13px}.maker-v2-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 2px;color:var(--ls-muted);font-size:12px}.maker-v2-pager>div{display:flex;align-items:center;gap:9px}
.maker-v2-overlay{position:fixed;inset:0;z-index:1200;display:flex;justify-content:flex-end;background:rgba(2,8,18,.6);backdrop-filter:blur(3px)}.maker-v2-overlay.hidden{display:none}.maker-v2-drawer{width:min(620px,94vw);height:100%;display:flex;flex-direction:column;background:#08111f;border-left:1px solid var(--ls-line);box-shadow:-24px 0 70px rgba(0,0,0,.4)}.maker-v2-drawer header{display:flex;justify-content:space-between;gap:14px;padding:18px 20px 14px;border-bottom:1px solid var(--ls-line);background:rgba(8,17,31,.98)}.maker-v2-drawer h2{margin:3px 0 0;font-size:21px}.maker-v2-x{width:36px;height:36px;border:1px solid var(--ls-line);border-radius:10px;background:transparent;color:var(--ls-text);font-size:24px;cursor:pointer}.maker-v2-body{overflow:auto;padding:18px 20px 30px}.maker-v2-badges,.maker-v2-actions{display:flex;gap:8px;flex-wrap:wrap}.maker-v2-actions{margin-top:12px}.maker-v2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}.maker-v2-grid>div{padding:10px 11px;border:1px solid var(--ls-line);border-radius:11px;background:rgba(14,24,40,.56)}.maker-v2-grid span{display:block;color:var(--ls-muted);font-size:10px;font-weight:800;text-transform:uppercase;margin-bottom:4px}.maker-v2-grid strong{display:block;font-size:13px;overflow-wrap:anywhere}.maker-v2-section{margin-top:21px}.maker-v2-section h3{font-size:15px}.maker-v2-request{padding:12px;margin-bottom:9px;border:1px solid var(--ls-line);border-radius:12px;background:rgba(12,21,36,.64)}.maker-v2-request-text{margin:9px 0;white-space:pre-wrap;line-height:1.45}.maker-v2-action{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-top:1px solid rgba(120,130,150,.16)}
#maker-admin-control-tower{margin-top:10px}.maker-v2-metrics{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}.maker-v2-metrics button{min-width:112px;display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--ls-line);border-radius:11px;background:rgba(12,22,38,.74);color:var(--ls-text);cursor:pointer}.maker-v2-metrics span{color:var(--ls-muted);font-size:10px;font-weight:800;text-transform:uppercase}.maker-v2-metrics strong{font-size:18px}.maker-v2-tabs{position:sticky;top:0;z-index:4;display:flex;gap:4px;overflow:auto;padding:7px;margin-bottom:9px;border:1px solid var(--ls-line);border-radius:12px;background:rgba(8,17,31,.97)}.maker-v2-tabs button{border:0;border-radius:8px;padding:8px 10px;background:transparent;color:var(--ls-muted);font-weight:800;cursor:pointer;white-space:nowrap}.maker-v2-tabs button.active{background:rgba(84,196,255,.12);color:var(--ls-text)}.maker-v2-refresh{margin-left:auto!important}.maker-v2-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:9px;margin-bottom:9px;border:1px solid var(--ls-line);border-radius:12px;background:rgba(9,17,30,.7)}.maker-v2-toolbar input:first-child{flex:1 1 340px}.maker-v2-toolbar input,.maker-v2-toolbar select{min-width:170px}.maker-v2-table{max-height:65vh;overflow:auto}.maker-v2-table thead th{position:sticky;top:0;z-index:2;background:#0d1728}.maker-v2-clamp{max-width:340px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.maker-v2-cross-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.maker-v2-cross-grid article{padding:13px;border:1px solid var(--ls-line);border-radius:13px;background:rgba(10,19,33,.7)}.maker-v2-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:9px;align-items:center;margin:11px 0}.maker-v2-flow span{display:block;color:var(--ls-muted);font-size:10px;text-transform:uppercase;font-weight:800}.maker-v2-timeline{margin-top:19px;border:1px solid var(--ls-line);border-radius:12px;overflow:hidden}.maker-v2-timeline summary{display:flex;justify-content:space-between;padding:11px 13px;cursor:pointer;font-weight:800}.maker-v2-event{display:grid;grid-template-columns:120px 1fr;gap:11px;padding:10px 13px;border-top:1px solid rgba(120,130,150,.16)}.maker-v2-event time{color:var(--ls-muted);font-size:11px}.maker-v2-link{border:0;background:none;color:#9bdcff;font:inherit;font-weight:800;cursor:pointer;padding:0}
@media(max-width:1000px){.maker-v2-worklist .assignment-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.maker-v2-cross-grid{grid-template-columns:1fr}}@media(max-width:700px){.maker-v2-worklist .assignment-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.maker-v2-grid{grid-template-columns:1fr}.maker-v2-pager,.maker-v2-action{align-items:flex-start;flex-direction:column}.maker-v2-event{grid-template-columns:1fr}}


/* LEGALSYS_PROFESSIONAL_OPERATIONS_UI_V2_POLISH */
.maker-v2-worklist .assignment-kpi-grid{gap:7px;margin-bottom:10px}
.maker-v2-worklist .assignment-kpi-grid .metric{padding:9px 11px;border-radius:11px}
.maker-v2-worklist .assignment-kpi-grid .metric .label{font-size:9px}
.maker-v2-worklist .assignment-kpi-grid .metric .value{font-size:19px}
.maker-v2-worklist .cockpit-toolbar{padding:9px;gap:7px}
.maker-v2-more-actions{position:relative;margin-left:8px}
.maker-v2-more-actions summary{min-height:40px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--ls-line);border-radius:10px;background:rgba(10,18,31,.7);color:var(--ls-muted);cursor:pointer;font-size:12px;font-weight:800;list-style:none}
.maker-v2-more-actions summary::-webkit-details-marker{display:none}
.maker-v2-more-actions summary::after{content:"···";margin-left:8px;letter-spacing:2px}
.maker-v2-more-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:20;width:210px;padding:7px;border:1px solid var(--ls-line);border-radius:12px;background:#0a1423;box-shadow:0 18px 50px rgba(0,0,0,.34)}
.maker-v2-more-menu .button{width:100%;margin:0;text-align:left}
.maker-v2-cover{margin-left:0;opacity:1}
.maker-v2-pager.hidden{display:none!important}
.maker-v2-metrics{gap:5px;margin-bottom:7px}
.maker-v2-metrics button{min-width:0;padding:7px 9px;border-radius:9px}
.maker-v2-metrics span{font-size:9px}
.maker-v2-metrics strong{font-size:16px}
.maker-v2-tabs{padding:5px;margin-bottom:7px}
.maker-v2-tabs button{padding:7px 9px}
.maker-v2-toolbar{padding:8px;margin-bottom:7px}
.maker-v2-compact-empty{min-height:0!important;padding:21px 14px!important;text-align:center}
.maker-v2-compact-empty strong{display:block;margin-bottom:4px;font-size:13px}
.maker-v2-compact-empty .hint{margin:0}
@media(max-width:760px){.maker-v2-more-actions{margin-left:0}.maker-v2-more-menu{left:0;right:auto}}


/* LEGALSYS_PROFESSIONAL_MAKER_MODAL_UI_V1 */
body.maker-modal-open{overflow:hidden}
.maker-modal-root{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px}
.maker-modal-root.hidden{display:none!important}
.maker-modal-backdrop{position:absolute;inset:0;background:rgba(1,7,17,.78);backdrop-filter:blur(8px)}
.maker-modal{position:relative;width:min(620px,calc(100vw - 32px));max-height:min(84vh,820px);overflow:auto;border:1px solid var(--ls-line);border-radius:18px;background:#091424;box-shadow:0 28px 90px rgba(0,0,0,.55)}
.maker-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 16px;border-bottom:1px solid var(--ls-line)}
.maker-modal-header h2{margin:2px 0 0;font-size:22px;line-height:1.15}
.maker-modal-eyebrow{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#7fd7ff}
.maker-modal-subtitle{margin:7px 0 0;color:var(--ls-muted);font-size:13px;line-height:1.45}
.maker-modal-close{flex:0 0 auto;width:38px;height:38px;border:1px solid var(--ls-line);border-radius:10px;background:rgba(8,18,31,.72);color:var(--ls-text);font-size:24px;line-height:1;cursor:pointer}
.maker-modal-body{display:grid;gap:15px;padding:20px 22px}
.maker-modal-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:9px;padding:14px 22px;border-top:1px solid var(--ls-line);background:rgba(9,20,36,.97)}
.maker-modal-field{display:grid;gap:7px}
.maker-modal-field>span,.maker-modal-status-change>span,.maker-modal-summary span{font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--ls-muted)}
.maker-modal-field em{font-style:normal;font-weight:700;text-transform:none;letter-spacing:0}
.maker-modal-field input,.maker-modal-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--ls-line);border-radius:11px;background:#0a1729;color:var(--ls-text);padding:11px 12px;font:inherit;outline:none}
.maker-modal-field textarea{resize:vertical;min-height:86px;line-height:1.5}
.maker-modal-field input:focus,.maker-modal-field textarea:focus{border-color:#55cfff;box-shadow:0 0 0 3px rgba(85,207,255,.10)}
.maker-modal-field small{color:var(--ls-muted);font-size:11px;line-height:1.45}
.maker-modal-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.maker-modal-summary>div,.maker-modal-status-change{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--ls-line);border-radius:11px;background:rgba(8,18,31,.66)}
.maker-modal-summary-wide{grid-column:1/-1}
.maker-modal-summary strong,.maker-modal-status-change strong{font-size:13px}
.maker-modal-warning{padding:12px 13px;border:1px solid rgba(255,190,84,.28);border-radius:11px;background:rgba(255,180,64,.07);color:#f5d99a;line-height:1.45}
.maker-modal-warning strong{display:block;margin-bottom:3px}
.maker-modal-warning.sandbox{border-color:rgba(113,204,255,.28);background:rgba(83,179,255,.07);color:#bfe9ff}
.maker-modal-warning.danger{border-color:rgba(255,99,111,.32);background:rgba(255,77,94,.08);color:#ffc4c9}
.maker-modal-check{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--ls-line);border-radius:11px}
.maker-modal-check input{margin-top:3px}
.maker-modal-check span{font-size:12px;line-height:1.45}
.maker-modal-footer .button.danger{background:rgba(255,77,94,.16);border-color:rgba(255,99,111,.42);color:#ffc7cc}
@media(max-width:680px){
  .maker-modal-root{padding:12px}
  .maker-modal{width:calc(100vw - 24px);max-height:90vh}
  .maker-modal-header,.maker-modal-body,.maker-modal-footer{padding-left:15px;padding-right:15px}
  .maker-modal-summary{grid-template-columns:1fr}
  .maker-modal-summary-wide{grid-column:auto}
  .maker-modal-footer{flex-direction:column-reverse}
  .maker-modal-footer .button{width:100%}
}
/* Purpose-built, mobile-first Others MO form mode. */
.others-mo-form-mode{max-width:760px;margin:0 auto;padding-bottom:40px}
.others-mo-form-mode .eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--primary);margin-bottom:4px}
.others-mo-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.others-mo-identity div{display:flex;flex-direction:column;gap:5px;min-width:0}
.others-mo-identity span{font-size:12px;color:#687386;text-transform:uppercase;letter-spacing:.04em}
.others-mo-identity strong{overflow-wrap:anywhere}
.others-mo-report-form{display:grid;gap:18px}
.others-mo-report-form textarea{width:100%;resize:vertical;line-height:1.5}
.others-mo-submit{width:100%;min-height:48px;font-size:15px}
.others-mo-success{text-align:center;padding:40px}
.others-mo-success .success-mark{font-size:42px;color:var(--good)}
.others-mo-success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}
@media(max-width:640px){
  .others-mo-form-mode{padding:0 2px 28px}
  .others-mo-form-mode .topbar{align-items:flex-start}
  .others-mo-identity{grid-template-columns:1fr;gap:13px}
  .others-mo-report-form,.others-mo-identity{padding:18px}
  .others-mo-success{padding:28px 18px}
  .others-mo-success-actions{flex-direction:column}
  .others-mo-success-actions .button{width:100%}
}
/* Formatting and dual-dispatch operational worklist */
.formatting-filters{display:grid;grid-template-columns:2fr repeat(5,minmax(140px,1fr));gap:12px;align-items:end}
.formatting-print-area .case-actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:1023px){.formatting-filters{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.formatting-filters{grid-template-columns:1fr}}
@media print{
  body.printing-formatting-list .sidebar,body.printing-formatting-list .mobile-appbar,
  body.printing-formatting-list .topbar .button,body.printing-formatting-list .formatting-filters,
  body.printing-formatting-list #formatting-counts,body.printing-formatting-list .no-print{display:none!important}
  body.printing-formatting-list .view:not(#view-formatting){display:none!important}
  body.printing-formatting-list #view-formatting{display:block!important}
  body.printing-formatting-list .main{margin:0;padding:0;color:#000;background:#fff}
  body.printing-formatting-list table{font-size:10pt;width:100%;border-collapse:collapse}
  body.printing-formatting-list th,body.printing-formatting-list td{border:1px solid #555;padding:6px;vertical-align:top}
}
