:root{
  /* ChatGPT-like palette */
  --bg:#0f0f0f;          /* общий фон */
  --sidebar:#171717;     /* лев/прав сайдбар */
  --surface:#1f1f1f;     /* рабочие панели */
  --surface2:#202020;    /* хедеры/композер */
  --hover:#2a2a2a;       /* hover */
  --active:#2f2f2f;      /* active */
  --text:#e8e8e8;
  --muted:#a7a7a7;
  --accent:#19c37d;

  --navW: 280px;
  --topH: 52px;

  --sans: Nunito;
  --mono: Nunito;
}

*{ box-sizing:border-box; }
html,body{min-height:100%;height:auto;margin:0;background:var(--bg);color: #ffffff;font-family:var(--sans);overflow-x:hidden;}
button, input, textarea{ font-family:inherit; }

.shell{ min-height:100vh; height:auto; display:flex; flex-direction:column; }

.statusPill {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  background: rgba(40, 160, 95, .18);
  color: #71e4aa;
}
.statusPill.approved{background:rgba(40,160,95,.18);color:#71e4aa;}
.statusPill.pending{background:rgba(205,163,49,.18);color:#f4d77a;}
.statusPill.closed,.statusPill.returned{background:rgba(197,65,65,.18);color:#ff8f8f;}

.topbar{
  height:var(--topH);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  background: #0f0f0f;
}
.brand{ font-weight:700; letter-spacing:.2px; }
.topMuted{ color:var(--muted); font-size:13px; }

.grid4{
  flex:1;
  min-height:0;
  display:grid;
  grid-template-columns: var(--navW) 1fr 1fr var(--navW);
}

/* SIDEBARS */
.nav{
  background:var(--sidebar);
  padding: 0 10px 10px 10px;
  min-height:0;
  overflow:auto;
  display:flex;
  flex-direction:column;
}
.navTitle{
  font-weight:700;
  font-size:14px;
  padding: 15px 0px;
  color:var(--text);
}

.navGroup{margin-bottom: 0;display: flex;flex-direction: column;}
.navGroupTitle{
  font-size:12px;
  color:var(--muted);
  padding:10px 10px 6px;
}

.navItem{
  width:100%;
  text-align:left;
  padding: 12px 15px;
  background:transparent;
  color: #e8e8e8bf;
  border:0;
  border-radius: 14px;
  cursor:pointer;
  margin: 5px 0;
  font-weight: 400;
  color: #e5f0ffde;
  font-weight: 600;
  /* padding: 8px 15px; */
}
.navItem:hover{ background:var(--hover); }
.navItem.active{ background:var(--active); }

.navSpacer{ height:10px; }

.navBottom{
  margin-top:auto;
  padding-top:10px;
}

.me{
  color:var(--muted);
  font-size:13px;
  padding:10px 10px 8px;
  border-radius:10px;
  background:transparent;
}

/* WORK PANELS */
.work{
  min-height:0;
  display:flex;
  flex-direction:column;
  background:var(--surface);
}
.workHeader{
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background: #0f0f0f;
  height: 60px;
  background: #171717;
  background: #1f1f1f;
  /* border-bottom: 1px solid #000; */
  /* border-bottom: 2px solid #121212; */
  /* border-bottom: 2px solid #00000061; */
  /* background: #2b323ab5 !important; */
  /* backdrop-filter: blur(9px); */
}
.workTitle{font-weight:700;color: #cdd3de;}
.workActions{ display:flex; gap:8px; align-items:center; }
.workBody{ flex:1; min-height:0; overflow:auto; padding:14px; }
body.calendar-screen .grid4{flex:none;min-height:calc(100vh - var(--topH));}
body.calendar-screen .shell{min-height:100vh;height:auto;}
body.calendar-screen .nav,
body.calendar-screen .workBody,
body.calendar-screen .messages{overflow:visible;}
body.calendar-screen .work.crm > .workHeader{display:none;}
body.calendar-screen .work.crm > .workBody{padding-top:14px;}

.btn{
  background:var(--hover);
  color:var(--text);
  border:0;
  border-radius: 16px;
  padding: 11px 15px;
  cursor:pointer;
  transition: all 0.2s linear;
  background: #2f2f2f;
}
.btn:hover{ background:var(--active); }
.btnPrimary{background: rgb(169 169 169);color: #e6edf3;font-weight: 600;border: 3px solid #3d3c3c;background: transparent;width: 118px;/* text-transform: uppercase; */letter-spacing: 0.04rem;/* font-size: 12px; */border: none;width: 166px;}
.btnPrimary:hover{background: #3d3c3c;color: #b9b9b9;}
.btn.full{width:100%;background: #00000036 !important;color: #e8e8e8de;border: none;background: #3e587942 !important;padding: 0.7rem;}

.fileBtn{display:inline-flex;align-items:center;/* gap:8px; */}

/* CRM pages */
.pageTitle{ font-weight:700; font-size:16px; margin:0 0 10px; }
.muted{color:var(--muted);font-size:12px;color: #bfc5cf;}

.crmSplit{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
  min-height:0;
}
.section{
  background:transparent;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.sectionTitle{
  font-weight:650;
  margin:0 0 10px;
}

.list{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:0;
}
.caseItem{
  padding:10px 10px;
  border-radius:10px;
  cursor:pointer;
  background:transparent;
}
.caseItem:hover{ background:var(--hover); }
.caseItem.active{ background:var(--active); }
.caseItem .t{ font-weight:650; }
.caseItem .s{ color:var(--muted); font-size:12px; margin-top:2px; }

.hint{ color:var(--muted); font-size:12px; margin:0 0 10px; }

.files{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:0;
}
.fileRow{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 10px;
  border-radius:10px;
  background:var(--hover);
}
.fileRow:hover{ background:var(--active); }
.fileRow .name{ font-family:var(--mono); font-size:12px; }
.fileRow .sub{ color:var(--muted); font-size:12px; margin-top:2px; }

/* GPT */
.messages{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:14px;
  background:var(--surface);
}

.msg{ display:flex; gap:10px; margin-bottom:14px; }
.avatar{
  width:34px;
  height:34px;
  border-radius: 50%;
  display:grid;
  place-items:center;
  background: #161616;
  flex:0 0 auto;
}
.avatar.isImage{
  padding:0;
  overflow:hidden;
}
.avatar.isImage img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.bubble{
  padding:10px 12px;
  border-radius: 20px;
  background: #2f2f2f;
  max-width: 900px;
}
.bubbleHeader{
  display:flex;
  gap:10px;
  align-items:center;
  color: #bfbfbf;
  font-size:12px;
  margin-bottom:6px;
}
.bubbleText{ white-space:pre-wrap; line-height:1.35; }

.attachments{ margin-top:8px; display:flex; flex-wrap:wrap; gap:8px; }
.att{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--active);
  color:var(--text);
  text-decoration:none;
}
.att:hover{ background:#3a3a3a; }

.composer{
  padding:12px 14px;
  display:grid;
  grid-template-columns: 1fr auto;
  gap:10px;
}
textarea{
  resize:none;
  border: 0;
  background: #3d3c3c;
  color: #ffffff;
  border-radius: 16px;
  padding: 15px 12px 8px 12px;
  outline:none;
  min-height: 48px;
}
textarea:focus{outline: none;}

.attachTray{
  grid-column: 1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.chip{
  display:flex;
  gap:8px;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(25,195,125,.18);
  font-size:12px;
}
.chip button{
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:14px;
}

.chatItems{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top: 10px;
}
.chatItem{
  text-align:left;
  padding:10px 10px;
  border-radius: 18px;
  background:transparent;
  border:0;
  cursor:pointer;
  color:var(--text);
}
.chatItem:hover{ background:var(--hover); }
.chatItem.active{ background:var(--active); }
.chatItem .t{ font-weight:650; }
.chatItem .s{ color:var(--muted); font-size:12px; margin-top:2px; }

.modal{
  position:fixed;
  inset:0;
  z-index: 999;
  display:none;
  place-items:center;
  background: rgb(23 24 33 / 55%);
  /* backdrop-filter: blur(6px) brightness(0.5); */
  backdrop-filter: blur(9px);
}
.modal.show{ display:grid; }
.modalCard{
  width: 483px;
  background: #00000091;
  padding:14px;
  border-radius: 42px;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding: 39px;
}
.modalTitle{ font-weight:700; font-size:18px; }
.modalCard input{
  border:0;
  background:var(--hover);
  color:var(--text);
  border-radius:12px;
  padding:10px 12px;
  outline:none;
}
.error{ color:#ff5a5f; font-size:12px; min-height:16px; }

.dropGlow{
  outline:2px dashed rgba(25,195,125,.55);
  outline-offset:2px;
  border-radius:12px;
}

.border-right {
  border-right: 2px solid #121212;
  border-right: 2px solid #00000061;
}
.navTitle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.navToggle{
  width:34px;
  height:34px;
  border:0;
  background: transparent url("img/burger.png") center / 32px 32px no-repeat;
  cursor:pointer;
  opacity: 0.5;
  transition: all 0.1s linear;
  filter: sepia(1) saturate(1.5) hue-rotate(
170deg);
}
.navToggle:hover{
   /* если не хочешь подсветку фоном — убери строку */
   opacity: 0.7;
}

.navToggle--right{
  transform: scaleX(-1);
}

.navToggle_span {
  margin: 0 8px;
  display: block;
}

/* слои: меню всегда сверху, рабочие панели под ним */
.grid4 { display:flex; flex:1; min-height:0; overflow:hidden; }

.nav{
  flex: 0 0 var(--navW);
  width: var(--navW);
  position: relative;
  z-index: 10;           /* ВАЖНО: меню над рабочими окнами */
}

.work{
  position: relative;
  z-index: 1;            /* ВАЖНО: ниже меню */
  min-width: 0;
  overflow: hidden;

  /* базово: две панели делят место поровну */
  flex: 1 1 0;

  /* АНИМАЦИЯ "резиновая" */
  transition:
    flex-basis 520ms cubic-bezier(.15, 1.25, .2, 1),
    transform  520ms cubic-bezier(.15, 1.25, .2, 1);
  will-change: flex-basis, transform;
}

/* чтобы flex-basis реально работал как ширина */
.work.crm{ flex-basis: 50%; }
.work.gpt{ flex-basis: 50%; }

/* состояние: CRM спрятан */
.grid4.is-crm-collapsed .work.crm{
  flex-basis: 0%;
  transform: translateX(calc(-1 * var(--navW))); /* уезжает под левое меню */
  pointer-events: none;
}

/* при этом GPT занимает всё */
.grid4.is-crm-collapsed .work.gpt{
  flex-basis: 100%;
  transform: translateX(0);
}

/* состояние: GPT спрятан */
.grid4.is-gpt-collapsed .work.gpt{
  flex-basis: 0%;
  transform: translateX(var(--navW)); /* уезжает под правое меню */
  pointer-events: none;
}

/* при этом CRM занимает всё */
.grid4.is-gpt-collapsed .work.crm{
  flex-basis: 100%;
  transform: translateX(0);
}

/* если оба свернуты (на всякий) */
.grid4.is-crm-collapsed.is-gpt-collapsed .work.crm,
.grid4.is-crm-collapsed.is-gpt-collapsed .work.gpt{
  flex-basis: 0%;
}


/* RIGHT PANEL: SECTIONS */
.navTitleBtn{
  border:0;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  padding:6px 10px;
  border-radius:14px;
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;
}
.navTitleBtn:hover{ background:var(--hover); }
.navTitleBtnText{ font-weight:700; }

.pillBack{
  border:0;
  background:var(--hover);
  color:var(--text);
  cursor:pointer;
  padding:7px 12px;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}
.pillBack:hover{
    filter: brightness(1.4);
}
.pillArr{opacity:.75;font-size:18px;line-height:1;color: #e8e8e8de;}

.gptSections{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-top:10px;
}
.sectionBtn{
  width:100%;
  text-align:left;
  padding:12px 12px;
  background:transparent;
  color:var(--text);
  border:0;
  border-radius:18px;
  cursor:pointer;
  margin: 5px 0;
}
.sectionBtn:hover{ background:var(--hover); }
.sectionBtn.active{background:var(--active);}

.gptAlt{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:14px;
}

.gptAltCard{
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 22px;
  padding:14px;
  margin-bottom:12px;
}
.gptAltCard h3{ margin:0 0 8px; font-size:14px; }
.gptAltCard p{ margin:0; color:var(--muted); font-size:13px; line-height:1.35; }
.gptAltGrid{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
@media (max-width: 1200px){
  .gptAltGrid{ grid-template-columns:1fr; }
}

/* background image */
html, body{
  /* background-size: 100% 100%; */
  background-image: url("utopia.png");
  background-position: center center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.shell{
  background: #4d5c6714 !important;
  background: #0a0f1766 !important;
  background: #00000066 !important;
}

.grid4{
  background: #4d5c6714 !important;
}

.topbar{
  background: #4d5c6714 !important;
}

.nav{
  background: #c1e5ff1c !important;
  background: #485360b5 !important;
  backdrop-filter: blur(9px);
  /* backdrop-filter: blur(50px); */
  border-left: 1px solid #00000061;
  border-right: 1px solid #00000061;
  background: #2d4765b5 !important;
  background: #0e141bb5 !important;
  backdrop-filter: blur(9px);
}

.work{
  background: #4d5c6714 !important;
}

.workHeader{
  background: #4d5c6714 !important;
  background: #2b323ab5 !important;
  /* backdrop-filter: blur(9px); */
  /* border-left: 2px solid #00000061; */
  /* border-right: 2px solid #00000061; */
  background: #8bc0ff47 !important;
  background: #37404ab5 !important;
  background: #485360b5 !important;
  background: #2d4765b5 !important;
  background: #0e141bb5 !important;
  background: #0a0d12b5 !important;
}

.workBody{
  background: #4d5c6714 !important;
  background: #6087a414 !important;
  background: #6087a408 !important;
}

.messages{
  background: #6087a408 !important;
}

.composer{
  background: #4d5c6714 !important;
  background: #6087a414 !important;
  background: #6087a408 !important;
}

.section{
  background: #4d5c6714 !important;
  background: #6c849636 !important;
  padding: 13px;
  border-radius: 15px;
  background: #8bc0ff47 !important;
  background: #3f6b9d54 !important;
  box-shadow: inset 0 0 15px 12px #9bd3ff1c;
  box-shadow: inset 0 0 15px 12px #9bd3ff12;
  background: #2a4b72ab !important;
}

.fileRow{
  background: #4d5c6714 !important;
}

.fileRow:hover{
  background: #4d5c6714 !important;
}

.avatar{
  background: #8cabc221 !important;
  /* background: #00000052 !important; */
  background: #8bc0ff47 !important;
}

.bubble{
  background: #6c849636 !important;
  background: #8bc0ff47 !important;
  background: #3f6b9d54 !important;
  box-shadow: inset 0 0 15px 12px #9bd3ff12;
  background: #2a4b72ab !important;
}

.att{
  background: #4d5c6714 !important;
}

.att:hover{
  background: #4d5c6714 !important;
}

textarea{
  background: #bde3ff26 !important;
  background: #3e5f854f !important;
  /* box-shadow: inset 0 0 14px -2px #bee0ff33; */
}

.modal{
  background: #4d5c6714 !important;
}

.modalCard{
  background: #bfe3ff30 !important;
}

.me{
  background: #4d5c6714 !important;
  background: #00000036 !important;
  margin-bottom: 10px;
  background: #3e587942 !important;
  /* background: #06080b !important; */
}

.btn{
  background: #4d5c6714 !important;
  background: #4d5c674a !important;
  /* border: 3px solid #768c9d00; */
}

.btn:hover{
  color: #ffffff;
  background: #7199c947 !important;
  box-shadow: inset 0 0 15px 3px #9bd3ff21;
}

.btnPrimary{
  background: #dbf0ff14 !important;
  background: #bde3ff26 !important;
  background: #6e91b84f !important;
  /* box-shadow: inset 0 0 14px -2px #bee0ff33; */
}

.caseItem{
  background: #4d5c6714 !important;
  background: #0000004a !important;
}

.caseItem:hover{
  background: #4d5c6714 !important;
  background: #0000006e !important;
}

.caseItem.active{
  background: #4d5c6714 !important;
}

.chatItem{
  background: #4d5c6714 !important;
  background: #00000036 !important;
  color: #e8e8e8de;
  background: #3e587947 !important;
  background: #3e587942 !important;
  transition: all 0.1s linear;
}

.chatItem:hover{
  background: #4d5c6714 !important;
  background: #0000006e !important;
  background: #3f6b9d54 !important;
  box-shadow: inset 0 0 15px 3px #9bd3ff21;
  box-shadow: inset 0 0 15px 12px #9bd3ff12;
  background: #2a4b72ab !important;
}

.chatItem.active{
  background: #4d5c6714 !important;
  /* background: #0000006b !important; */
  /* background: #00000061 !important; */
  background: #8bc0ff47 !important;
  color: #ffffffde;
  background: #4672a491 !important;
  background: #3f6b9d54 !important;
  /* box-shadow: inset 0 0 15px 3px #9bd3ff21; */
  /* box-shadow: inset 0 0 15px 12px #9bd3ff12; */
  background: #2a4b72ab !important;
  background: #3e587942 !important;
  margin-bottom: 4px;
}

.sectionBtn{
  background: #4d5c6714 !important;
  background: #00000036 !important;
}

.sectionBtn:hover{
  background: #4d5c6714 !important;
  background: #0000006e !important;
}

.sectionBtn.active{
  background: #4d5c6714 !important;
  background: #00000036 !important;
}

.gptAltCard{
  background: #4d5c6714 !important;
}

.pillBack{
  background: #4d5c6714 !important;
  background: #00000036 !important;
  background: #3e587942 !important;
}

.pillBack:hover{
}

.navTitleBtn{
  background: #4d5c6714 !important;
}

.navTitleBtn:hover{
  background: #4d5c6714 !important;
}

.chip{
  background: #4d5c6714 !important;
}

.navItem{
  background: #5565712b !important;
  background: #00000036 !important;
  background: #4672a43d !important;
  /* border: 3px solid #4672a491; */
}

.navItem:hover{
  background: #4d5c6714 !important;
  background: #0000006e !important;
  background: #2e4969 !important;
  background: #3f6b9d54 !important;
  box-shadow: inset 0 0 15px 3px #9bd3ff21;
}

.navItem.active{
  background: #4d5c6714 !important;
  background: #00000036 !important;
  background: #00000061 !important;
  background: #7199c947 !important;
  color: #e6f0fe;
  background: #4672a491 !important;
  /* border: 3px solid #4672a417; */
  background: #3f6b9d54 !important;
  box-shadow: inset 0 0 15px 3px #9bd3ff21;
}

.fileBtn{
  background: #4d5c674a !important;
  height: 35px;
  border-radius: 12px;
  background: #00000036 !important;
}


/* nav icons + led */
.navToggle_span{
  display:flex;
  align-items:center;
  gap:10px;
  letter-spacing: 0.04rem;
  color: #dbe4f1;
}

.navBrandIcon{
  font-size:15px;
  color:#9fc6ff;
  filter: drop-shadow(0 0 8px rgba(81, 152, 255, 0.32));
  height: 2.0rem;
  width: auto;
  /* margin-top: -0.7rem; */
}

.navItem{
  display:flex;
  align-items:center;
  /* gap:0; */
  /* transition: all 0.1s linear; */
  /* box-shadow: inset 0 0 0.5rem 0.1rem #9bd3ff1c, inset 0 0 0.7rem 0.2rem #7ac3fd1a, inset 0 0 2.7rem 0.2rem #7ac3fd30, inset 0 0 6.9rem 0.1rem #8c9cd30f, inset 0 0 6.9rem 0.1rem #005de10d; */
  /* box-shadow: inset 0 0 0.5rem 0.1rem #9bd3ff1c; */
  background: #192432 !important;
  /* box-shadow: inset 0 0 15px 3px #9bd3ff21; */
  background: #3e587942 !important;
  /* transition: all 0.1s linear; */
}

.navItem:first-of-type{
  margin-bottom: 25px;
}

.navItemIcon{
  width:18px;
  min-width:18px;
  text-align:center;
  font-size:14px;
  color: rgb(238 246 255 / 57%);
  color: rgb(139 175 222);
}

.navItemText{
  margin-left:12px;
  flex:1 1 auto;
}

.navItemLed{
  width: 4px;
  height: 4px;
  min-width: 4px;
  border-radius:999px;
  margin-left:12px;
  background: rgb(7 9 12 / 52%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05);
  box-shadow: 0px 0px 0 0.2px rgb(7 9 12);
}

.navItem.active .navItemLed{
  background: #83bbf7;
  box-shadow: 0px 0px 0.5rem rgb(26 120 255), 0 0 0.5rem rgb(0 123 255 / 0%), 0 0 0.5rem rgb(0 123 255), 0 0 1.9rem rgb(0 123 255), 0 0 0.1rem rgb(79 174 255 / 96%), 0px 0px 0.5rem rgb(26 120 255), 0px 0px 2.5rem 0.1rem rgb(159 199 255 / 0%);
  box-shadow: 0px 0px 5.5rem rgb(26 120 255), 0 0 6px 1px rgb(0 125 255 / 95%), 0 0 12px rgb(0 54 255), 0 0 18px 1px rgba(60, 155, 255, 0.3), 0 0 18px rgba(60, 155, 255, 0.3);
  background: #b0d6ff;
}


.workBody,
.work.gpt{
  position: relative;
  isolation: isolate;
}

.workBody > *,
.work.gpt > *{
  position: relative;
  z-index: 1;
}

.workBody::before{
  content: "";
  position: absolute;
  inset: 0;
  background: url("./img/Logo2.png") center center / contain no-repeat;
  opacity: 0.2;
  /* pointer-events: none; */
  /* z-index: 0; */
  background-position: top 53px center;
  background-size: 480px 696px;
  /* background-repeat: no-repeat; */
  /* background-attachment: fixed; */
  /* filter: blur(5px); */
  /* filter: invert(1); */
  opacity: 6%;
  background: url(./img/Logo.png) center center / contain no-repeat;
  background-size: 480px 696px;
  /* filter: blur(7px); */
}


/* CALENDAR */
.calendarPage{
  min-height:100%;
  padding:18px;
  border-radius:28px;
  background: radial-gradient(circle at top left, #0a3b68 0%, #092847 35%, #071829 100%);
  color:#eaf5ff;
  background: #0e141bb5 !important;
  backdrop-filter: blur(9px);
}
.calendarToolbar{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:18px;
}
.calendarMonthBlock{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.calendarMonthLabel{font-size: 25px;font-weight:800;line-height:1;letter-spacing:-0.04em;text-transform:capitalize;color: #bdc7d6;margin-left: 10px;}
.calendarAddBtn{
  background: #3e5375c2;
  color: #ffffff;
  border:0;
  font-weight:800;
  padding:12px 18px;
  border-radius: 15px;
  transition: all 0.1s linear;
}
.calendarAddBtn:hover {
  filter: brightness(1.2);
  cursor: pointer;
  /* background: #3e5375; */
}

.calendarTopActions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
.calendarNavBtns,.calendarViewPills{display:flex;gap:8px;align-items:center;}
.calMiniBtn,.calPill{
  border: none;
  background:#10273bc4;
  color:#d9ecff;
  border-radius:12px;
  min-height:40px;
  padding:0 14px;
  cursor:pointer;
  background: #3e5375;
  background: #3e5375c2;
}
.calPill.active{background:#172e42;border-color: #3e5375;background: #3e5375;background: #3e5375c2;}
.calPill[disabled]{opacity:.8;cursor:default;}
.calendarBoard{
  background: #1e2c45b3;
  /* border:1px solid #4c8fbe1c; */
  border-radius:24px;
  padding:12px;
  /* box-shadow: inset 0 1px 0 #ffffff12; */
}
.calendarWeekdays,.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;}
.calendarWeekdays{margin-bottom:8px;padding:0 4px;}
.calendarWeekday{color:#bfdfff;font-size:13px;padding:4px 6px;text-align:center;}
.calCell{
  min-height:118px;
  width:100%;
  /* border:1px solid #6bb4dc17; */
  background: #394f72;
  border-radius:16px;
  padding:8px;
  text-align:left;
  color:#f0f8ff;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:6px;
  transition: all 0.1s linear;
}
.calCell:hover{transform: translateY(-2px);filter: brightness(1.2);}
.calCell.isOutside{background:linear-gradient(180deg,#2d3d4c 0%, #33495c 100%);opacity:.72;background: #3b4460;}
.calDayNum{font-size:14px;font-weight:700;color:#d9f0ff;}
.calEvents{display:flex;flex-direction:column;gap:4px;min-height:0;overflow:hidden;}
.calEventChip{
  display:flex;align-items:center;gap:6px;width:100%;
  border:0;border-radius:10px;background:#0d2135c7;color:#eef7ff;cursor:pointer;
  padding:5px 7px;font-size:12px;overflow:hidden;
}
.calEventChip .dot{width:6px;height:6px;border-radius:50%;background:#8ccfff;flex:0 0 auto;}
.calEventChip .time{color:#9dcbf0;flex:0 0 auto;}
.calEventChip .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.calMore{font-size:11px;color:#b8d8f4;padding:2px 4px;}

.calendarModalBackdrop{
  position:fixed;inset:0;background:#010b14b8;backdrop-filter:blur(12px);z-index:50;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.calendarModalCard{
  width:min(560px,100%);
  background:linear-gradient(180deg,#11304a 0%, #0f2235 100%);
  border: 1px solid #6390cc1f;
  border-radius:26px;
  padding:24px;
  position:relative;
  box-shadow:0 26px 80px #00000073;
  background: #62a0ff4f;
}
.calendarModalClose{
  position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:0;
  background:#18334bcf;color:#fff;font-size:24px;cursor:pointer;
}
.calendarModalTitle{font-size:32px;font-weight:800;margin-bottom:18px;color:#eef7ff;line-height:1.05;max-width:85%;}
.calendarField{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.calendarField span{font-size:13px;color:#c8e3fb;}
.calendarField input,.calendarField select,.calendarField textarea{
  width:100%;
  border: none;
  background: #091219bb;
  color: #000000;
  border-radius:14px;
  padding:12px 14px;
  outline:none;
  background: #92a9ca;
}

input::placeholder {
  color: #000000;
}

.calendarField textarea{resize:vertical;min-height:96px;}
.calendarFieldRow{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.calendarModalFooter{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top: 29px;}

@media (max-width: 1200px){
  .calendarToolbar{flex-direction:column;align-items:stretch;}
  .calendarTopActions{justify-content:flex-start;}
}
@media (max-width: 760px){
  .calendarMonthLabel{font-size:32px;}
  .calendarGrid{grid-template-columns:repeat(2,1fr);}
  .calendarWeekdays{display:none;}
  .calendarFieldRow{grid-template-columns:1fr;}
}

body.calendar-screen .calendarPage{min-height:calc(100vh - var(--topH) - 28px);}

/* right panel tools */
.chatTools{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  padding-top:10px;
  align-items:center;
}

.chatSearchWrap{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  border-radius:18px;
  padding:0 14px;
  background:#3e587942 !important;
  color:#cfe0f5;
  border:0;
}

.chatSearchWrap i{
  color:rgb(139 175 222);
  font-size:13px;
}

.chatSearchWrap input{
  flex:1 1 auto;
  background:transparent !important;
  border:0;
  outline:none;
  color:#e8eef7;
  font:inherit;
  min-width:0;
}

.chatSearchWrap input::placeholder{
  color:#adc0d7;
}

.emptySearch{
  padding:14px 10px;
}

.sectionBtn{
  display:flex;
  align-items:center;
  width:100%;
  gap:0;
  text-align:left;
  padding:13px 14px;
  border:0;
  border-radius:18px;
  cursor:pointer;
  margin:0;
  background:#3e587942 !important;
  color:#e8e8e8de;
  transition:all .12s linear;
}

.sectionBtn .navItemText{ margin-left:12px; flex:1 1 auto; }
.sectionBtn .navItemLed{
  width:4px;
  height:4px;
  min-width:4px;
  border-radius:999px;
  margin-left:12px;
  background:rgb(7 9 12 / 52%);
  box-shadow:0px 0px 0 0.2px rgb(7 9 12);
}

.sectionBtn:hover{
  background:#3f6b9d54 !important;
  box-shadow: inset 0 0 15px 3px #9bd3ff21;
}

.sectionBtn.active{
  background:#3f6b9d54 !important;
  box-shadow: inset 0 0 15px 3px #9bd3ff21;
  color:#e6f0fe;
}

.sectionBtn.active .navItemLed{
  background:#b0d6ff;
  box-shadow: 0px 0px 5.5rem rgb(26 120 255), 0 0 6px 1px rgb(0 125 255 / 95%), 0 0 12px rgb(0 54 255), 0 0 18px 1px rgba(60, 155, 255, 0.3), 0 0 18px rgba(60, 155, 255, 0.3);
}

.workMenuWrap{
  position:relative;
  margin-left:auto;
}

.workMenuBtn{
  width:38px;
  height:38px;
  border-radius:14px;
  border:0;
  cursor:pointer;
  background:#3e587942 !important;
  color:#dce7f5;
}

.workMenuBtn:hover{
  background:#3f6b9d54 !important;
  box-shadow: inset 0 0 15px 3px #9bd3ff21;
}

.workMenu{
  position:absolute;
  top:46px;
  right:0;
  min-width:210px;
  padding:8px;
  border-radius:18px;
  background:#101722f2;
  border:1px solid rgba(255,255,255,0.06);
  box-shadow:0 18px 48px rgba(0,0,0,0.32);
  display:flex;
  flex-direction:column;
  gap:6px;
  z-index:30;
}

.workMenuItem{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  border:0;
  border-radius:14px;
  background:transparent;
  color:#e7eef9;
  padding:11px 12px;
  cursor:pointer;
  text-align:left;
}

.workMenuItem:hover{
  background:#3f6b9d54 !important;
}
.chatItem .t,
.chatItem .s{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


/* final right-panel fixes */
.gptSections{
  display:flex !important;
  flex-direction:column;
  gap:10px;
  padding-top:10px;
}

.sectionBtn{
  margin:0 !important;
}

.chatTools{
  display:flex !important;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
}

.chatTools > *{
  width:100%;
}

#newChatBtn[hidden],
#workMenuBtn[hidden]{
  display:none !important;
}

.workMenuWrap{
  position:relative;
  z-index:4000;
}

.workHeader{
  overflow:visible;
  z-index:50;
}

.workMenu{
  z-index:5000 !important;
  pointer-events:auto;
}

.workMenu[hidden]{
  display:none !important;
}

.workMenuItem[disabled]{
  opacity:.45;
  pointer-events:none;
}


/* menu + right-panel interaction fixes */
#gptSections[hidden],
#gptChatsPane[hidden],
#workMenu[hidden]{
  display:none !important;
}

.work.gpt{
  position:relative;
  z-index:30;
}

#gptNav{
  position:relative;
  z-index:10;
  z-index: 49;
}

.work.gpt .workHeader{
  position:relative;
  z-index:12000 !important;
  overflow:visible !important;
}

.work.gpt .messages,
.work.gpt .composer,
.work.gpt #gptAltView{
  position:relative;
  z-index:1;
}

.work.gpt .workMenuWrap{
  position:relative;
  z-index:13000 !important;
}

.work.gpt .workMenu{
  position:absolute;
  z-index:14000 !important;
  pointer-events:auto !important;
}

.work.gpt .workMenuItem{
  position:relative;
  z-index:14001;
  pointer-events:auto;
}

/* ===== CLIENTS PAGE ===== */
.clientsPage{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.clientLibrarySection,
.clientProfileCard,
.clientStatsCard{
  background: linear-gradient(180deg, rgba(92,123,168,0.22), rgba(36,53,76,0.36));
  border:1px solid rgba(183,215,255,0.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 20px 45px rgba(0,0,0,0.18);
  border-radius: 22px;
  backdrop-filter: blur(4px);
}
.clientsHero{
}
.clientProfileCard{ padding:20px; }
.clientProfileHead{display:flex;align-items:center;gap:16px;}
.clientAvatar{
  width:62px; height:62px; border-radius:18px;
  display:grid; place-items:center;
  background: linear-gradient(180deg, #57a4ff, #2c57ff);
  color:#eef6ff; font-weight:800; font-size:24px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 12px 30px rgba(34,95,255,.25);
}
.clientProfileName{ font-size:24px; font-weight:800; color:#edf4ff; }
.clientProfileSub{ color:#b5c7de; font-size:13px; margin-top:4px; }
.clientInfoGrid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
.clientInfoItem{ padding:14px; border-radius:16px; background:rgba(11,17,27,.32); border:1px solid rgba(190,220,255,.08); }
.clientInfoItem span{ display:block; color:#9fb2c9; font-size:12px; margin-bottom:6px; }
.clientInfoItem strong{ color:#edf4ff; font-size:14px; }
.clientNote{ margin-top:12px; color:#c5d6eb; line-height:1.45; }
.clientStatsCard{ padding:20px; }
.clientStatsTitle{ font-size:16px; font-weight:800; color:#edf4ff; margin-bottom:12px; }
.clientStatsGrid{ display:grid; gap:12px; }
.clientStat{ padding:16px; border-radius:18px; background:rgba(7,13,22,.35); border:1px solid rgba(180,214,255,.08); }
.clientStat span{ display:block; color:#9fb2c9; font-size:12px; margin-bottom:8px; }
.clientStat strong{ color:#eef4ff; font-size:18px; }
.clientLibrarySection{ padding:18px; }
.clientLibraryHead{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px; }
.clientLibraryActions{ display:flex; gap:10px; }
.clientBreadcrumb{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.clientCrumb{ border:0; background:rgba(17,25,39,.42); color:#dbe8f7; border-radius:999px; padding:8px 12px; cursor:pointer; }
.clientCrumb.active{ background:rgba(66,114,164,.42); }
.clientCrumbSep{ color:#84a0c0; }
.clientMaterialsGrid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
  gap:12px;
}
.clientCard{
  text-align:left; border:1px solid rgba(181,215,255,.09);
  border-radius:18px; cursor:pointer; color:#edf4ff; padding:10px;
  background: linear-gradient(180deg, rgba(113,153,201,.18), rgba(53,79,112,.28));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.clientCard:hover{ transform: translateY(-1px); background: linear-gradient(180deg, rgba(122,164,214,.24), rgba(60,87,121,.34)); }
.clientCardThumb{
  height:126px; border-radius:16px; border:1px solid rgba(190,220,255,.12);
  background: rgba(255,255,255,.035); position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center; margin-bottom:12px; padding:10px; box-sizing:border-box;
}
.clientCardThumb:after{
  content:""; position:absolute; inset:12px; border-radius:14px;
  border:1px solid rgba(196,224,255,.08); pointer-events:none;
}
.clientCardThumbImg{ width:100%; height:100%; object-fit:contain; object-position:center; display:block; }
.clientCardThumbImg.isPortrait{ width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; }
.clientCardThumb video.clientCardThumbImg{ width:100%; height:100%; object-fit:cover; }
.clientCardThumbBadge{
  width:74px; height:74px; border-radius:16px; display:grid; place-items:center;
  background: linear-gradient(180deg, #57a4ff, #3255d9); color:#ecf4ff; font-weight:800; letter-spacing:.03em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 8px 18px rgba(32,77,185,.22);
}
.clientPdfThumb{
  position:relative;
  width:100%;
  /* height:100%; */
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(43,62,93,.92), rgba(23,35,57,.98));
  border:1px solid rgba(182,214,255,.08);
}
.clientFilePdfThumbFrame{
  position:absolute; inset:0; width:100%; height:100%; border:0;
  transform:scale(1.14); transform-origin:top center; pointer-events:none; background:#fff;
}
.clientFilePdfThumbFade{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(7,12,21,.18) 0%, rgba(7,12,21,.02) 34%, rgba(7,12,21,.34) 100%);
  pointer-events:none;
}
.clientPdfBadge{
  position:absolute; top:10px; left:10px; display:inline-flex; align-items:center; gap:8px;
  padding:7px 12px 7px 8px; border-radius:14px; color:#eef6ff; font-size:13px; font-weight:800; letter-spacing:.03em;
  background:linear-gradient(180deg, #57a4ff, #3255d9); box-shadow:0 10px 20px rgba(31,72,171,.28), inset 0 1px 0 rgba(255,255,255,.24);
  z-index:2;
}
.clientPdfBadgeIcon{
  width:24px; height:24px; border-radius:9px; display:grid; place-items:center;
  background:rgba(255,255,255,.14); font-size:13px;
}
.clientCardTitle{ font-weight:800; font-size:16px; line-height:1.2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.clientCardMeta{ margin-top:8px; color:#b2c4db; font-size:12px; text-transform:uppercase; }
.clientEmptyState{ min-height:220px; display:grid; place-items:center; text-align:center; color:#c5d5e8; }
.clientEmptyIcon{ font-size:30px; margin-bottom:10px; color:#9ab6d5; }
.clientEmptyTitle{ font-weight:800; font-size:18px; margin-bottom:8px; }
.clientEmptyText{ max-width:480px; color:#a9bfd9; }

body.clientPreviewOpen{ overflow:hidden; }
.clientPreviewModal{
  position:fixed; inset:0; z-index:3000; background:rgba(3,8,15,.74);
  display:grid; place-items:center; backdrop-filter: blur(10px); padding:10px; box-sizing:border-box; overscroll-behavior:contain;
}
.clientPreviewCard{
  position:relative; width:min(1600px, calc(100vw - 20px)); height:calc(100vh - 20px);
  border-radius:24px; border:1px solid rgba(169,206,255,.14);
  background: rgba(3,6,12,.96); box-shadow: 0 30px 80px rgba(0,0,0,.45);
  padding:52px 16px 16px; box-sizing:border-box; overflow:hidden;
}
.clientPreviewClose{
  position:absolute; top:12px; right:14px; width:40px; height:40px; border-radius:14px; border:1px solid rgba(182,214,255,.12);
  background:rgba(10,15,23,.82); color:#d3e4f7; font-size:28px; line-height:1; cursor:pointer; z-index:5;
}
.clientPreviewClose:hover{ background:rgba(20,30,45,.96); }
.clientPreviewCanvas{ width:100%; height:100%; min-width:0; min-height:0; display:grid; place-items:center; overflow:hidden; }
.clientPreviewCanvas.image{ padding:0; box-sizing:border-box; }
.clientPreviewCanvas.image img{ width:auto; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center; display:block; border-radius:14px; }
.clientPreviewCanvas.video{ grid-template-rows: 1fr auto; gap:14px; }
.clientVideoEl{ width:100%; height:100%; border-radius:16px; background:#000; object-fit:contain; }
.clientVideoBar{
  width:100%; border-radius:16px; background:rgba(10,15,23,.82); border:1px solid rgba(182,214,255,.12);
  padding:14px; display:grid; grid-template-columns:auto 1fr 1.3fr 180px; gap:14px; align-items:center;
}
.clientControlBtn{
  width:46px; height:46px; border-radius:12px; border:1px solid rgba(182,214,255,.12);
  background:rgba(90,130,180,.18); color:#edf4ff; cursor:pointer;
}
.clientVideoMeta{ color:#dce9f9; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.clientRange{ width:100%; accent-color:#8db6ff; }
.clientPreviewCanvas.audio{ display:grid; grid-template-columns: 360px minmax(280px, 420px); gap:24px; align-items:center; justify-content:center; }
.audioDiskWrap{ display:grid; place-items:center; }
.audioDisk{
  width:280px; height:280px; border-radius:50%; border:0; cursor:pointer; position:relative;
  background:
    radial-gradient(circle at center, rgba(18,26,40,1) 0 18px, rgba(91,124,169,1) 18px 19px, rgba(7,10,17,1) 19px 58px, rgba(112,153,201,.95) 58px 60px, rgba(12,16,24,1) 60px 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 18px 50px rgba(0,0,0,.35);
}
.audioDisk:before{
  content:""; position:absolute; inset:16px; border-radius:50%; border:1px solid rgba(196,224,255,.08);
}
.audioDisk.isPlaying{ animation: clientSpin 8s linear infinite; }
.audioDiskInner{ position:absolute; inset:40px; border-radius:50%; border:1px solid rgba(196,224,255,.08); }
.audioDiskCenter{
  position:absolute; inset:0; display:grid; place-items:center; color:#edf4ff; font-size:24px;
}
.audioPanel{
  padding:24px; border-radius:22px; background:linear-gradient(180deg, rgba(92,123,168,.22), rgba(36,53,76,.36));
  border:1px solid rgba(183,215,255,.12);
}
.audioPanelTitle{ color:#edf4ff; font-weight:800; font-size:22px; margin-bottom:18px; }
.audioPanelRow{ display:grid; grid-template-columns: 56px 1fr; gap:14px; align-items:center; margin-top:16px; color:#b4c6dd; }
.clientPreviewCanvas.document{ display:block; }
.clientDocLayout{ width:100%; height:100%; display:grid; grid-template-columns:minmax(260px, 320px) minmax(0, 1fr); gap:20px; align-items:stretch; }
.clientDocSidebar{ min-width:0; }
.clientDocCard{
  height:100%; padding:28px; border-radius:24px; text-align:center;
  background:linear-gradient(180deg, rgba(92,123,168,.22), rgba(36,53,76,.36)); border:1px solid rgba(183,215,255,.12);
  display:flex; flex-direction:column; justify-content:center;
}
.clientDocBadge{
  width:84px; height:84px; margin:0 auto 16px; border-radius:20px; display:grid; place-items:center;
  background: linear-gradient(180deg, #57a4ff, #3255d9); color:#eef6ff; font-weight:800;
}
.clientDocName{ color:#edf4ff; font-size:20px; font-weight:800; margin-bottom:10px; word-break:break-word; }
.clientDocMeta{ color:#a7bdd7; margin-bottom:18px; }
.clientDocActions{ display:grid; gap:10px; }
.clientDocPreviewWrap{
  min-width:0; min-height:0; height:100%; border-radius:24px; overflow:auto; background:rgba(10,15,23,.78);
  border:1px solid rgba(183,215,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.clientDocFrame{ width:100%; height:100%; min-height:620px; border:0; background:#fff; }
.clientDocHtml{ color:#e8f1ff; padding:28px; line-height:1.6; word-break:break-word; }
.clientDocHtml p, .clientDocHtml li{ color:#dce9f9; }
.clientDocHtml table{ width:100%; border-collapse:collapse; }
.clientDocHtml td, .clientDocHtml th{ border:1px solid rgba(183,215,255,.14); padding:8px 10px; }
.clientDocText{ margin:0; padding:28px; color:#e8f1ff; white-space:pre-wrap; word-break:break-word; font:500 14px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; }
.clientDocTableWrap{ padding:18px; }
.clientDocTable{ width:100%; border-collapse:collapse; color:#e8f1ff; }
.clientDocTable td{ border:1px solid rgba(183,215,255,.12); padding:10px 12px; vertical-align:top; }
.clientDocLoading, .clientDocEmpty, .clientDocFallback{ min-height:100%; display:grid; place-items:center; text-align:center; padding:28px; color:#c9d9ec; }
.clientDocFallback{ gap:10px; align-content:center; }
.clientDocFallbackIcon{ font-size:42px; color:#9ab6d5; }
.clientDocFallbackTitle{ font-weight:800; font-size:18px; color:#edf4ff; }
.clientDocFallbackText{ max-width:560px; color:#a9bfd9; line-height:1.55; }
.clientDocLayout{
  width:100%; height:100%; display:grid; grid-template-columns:320px minmax(0,1fr); gap:18px; min-height:0;
}
.clientDocSidebar{ min-height:0; }
.clientDocPreviewWrap{
  min-width:0; min-height:0; height:100%; border-radius:22px;
  background:linear-gradient(180deg, rgba(92,123,168,.12), rgba(36,53,76,.22)); border:1px solid rgba(183,215,255,.10);
  overflow:auto; padding:16px; box-sizing:border-box; overscroll-behavior:contain;
}
.clientDocFrame{ width:100%; height:100%; min-height:100%; border:0; border-radius:16px; background:#fff; display:block; }
.clientDocHtml,.clientDocText,.clientDocTableWrap,.clientDocFallback,.clientDocLoading,.clientDocEmpty{
  border-radius:16px; background:rgba(9,14,22,.82); border:1px solid rgba(183,215,255,.08);
}
.clientDocHtml{ padding:24px; color:#dce8f7; line-height:1.55; }
.clientDocHtml :where(p,ul,ol,table,h1,h2,h3,h4,h5,h6){ max-width:100%; }
.clientDocText{ margin:0; padding:24px; color:#dce8f7; white-space:pre-wrap; word-break:break-word; font:500 14px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; }
.clientDocTableWrap{ overflow:auto; }
.clientDocTable{ width:100%; border-collapse:collapse; color:#dce8f7; }
.clientDocTable td{ border:1px solid rgba(183,215,255,.08); padding:10px 12px; vertical-align:top; min-width:90px; }
.clientDocFallback,.clientDocLoading,.clientDocEmpty{ min-height:100%; display:grid; place-items:center; text-align:center; padding:32px; color:#c7d7ea; }
.clientDocFallbackIcon{ font-size:34px; margin-bottom:14px; color:#90afd2; }
.clientDocFallbackTitle{ font-size:18px; font-weight:800; margin-bottom:8px; color:#eef4ff; }
.clientDocFallbackText{ max-width:520px; color:#a9bfd9; line-height:1.55; }
.clientDocActions{ display:grid; gap:10px; }
.clientPreviewCard ::-webkit-scrollbar{ width:10px; height:10px; }
.clientPreviewCard ::-webkit-scrollbar-track{ background:rgba(8,13,21,.72); border-radius:999px; }
.clientPreviewCard ::-webkit-scrollbar-thumb{ background:linear-gradient(180deg, rgba(70,93,123,.95), rgba(44,62,86,.95)); border-radius:999px; border:2px solid rgba(8,13,21,.72); }
.clientPreviewCard ::-webkit-scrollbar-corner{ background:rgba(8,13,21,.72); }
@keyframes clientSpin{ from{ transform:rotate(0deg);} to{ transform:rotate(360deg);} }
@media (max-width: 1200px){
  .clientsHero{ grid-template-columns:1fr; }
  .clientPreviewCanvas.audio{ grid-template-columns:1fr; }
  .clientVideoBar{ grid-template-columns:1fr; }
  .clientDocLayout{ grid-template-columns:1fr; }
}
@media (max-width: 760px){
  .clientInfoGrid{ grid-template-columns:1fr; }
  .clientLibraryHead{ flex-direction:column; }
}

.workMenuWrap{display:flex;align-items:center;gap:.55rem;}
.headerSearchField{margin-right:0.5rem;animation:headerSearchIn .18s ease;}
.headerSearchField input{width:18rem;height:2.4rem;border-radius:0.9rem;border:1px solid rgba(255,255,255,.08);background:#162031;color:#e8eefc;padding:0 0.9rem;outline:none;}
@keyframes headerSearchIn{from{opacity:0;transform:translateX(0.8rem)}to{opacity:1;transform:translateX(0)}}
.messageTrashBtn{margin-left:auto;border:0;background:transparent;color:#9eb4d4;cursor:pointer;padding:.15rem .3rem;border-radius:.5rem;}
.messageTrashBtn:hover{background:rgba(255,255,255,.06);color:#fff;}
.clientListSection,.clientCasesSection,.clientDetailShell{display:flex;flex-direction:column;gap:1rem;}
.clientListHead{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.2rem;border:1px solid rgba(255,255,255,.08);border-radius:1.8rem;background: linear-gradient(180deg, rgba(92, 123, 168, 0.22), rgba(36, 53, 76, 0.36));backdrop-filter: blur(4px);}
.clientListTabs{display:flex;gap:.8rem;flex-wrap:wrap;}
.clientListTableWrap{background:linear-gradient(180deg, rgba(30,44,74,.86), rgba(18,29,51,.84));border:1px solid rgba(255,255,255,.08);border-radius:1.8rem;overflow:hidden;background: linear-gradient(180deg, rgba(92, 123, 168, 0.22), rgba(36, 53, 76, 0.36));backdrop-filter: blur(4px);}
.clientListTable{width:100%;border-collapse:collapse;}
.clientListTable th,.clientListTable td{padding:1rem 1.2rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);}
.clientListTable tbody tr{cursor:pointer;transition:background .15s ease;}
.clientListTable tbody tr:hover{background:rgba(88,125,184,.12);}
.clientDetailTop{display:flex;align-items:center;justify-content:flex-start;}
.me{display:flex;align-items:center;gap:.9rem;padding: 0rem 0.6rem;background:#1b2a40;border-radius: 1.2rem;min-height:4.2rem;transition: all 0.2s linear;}
.meAvatar{width: 3rem;height: 3rem;border-radius: 1rem;background:#6ba7ff;color:#08111f;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:800;flex:0 0 auto;}
.meName{font-weight:800;color: #f1f5ffa3;line-height:1.1;font-size: 0.9rem;}
.meRole{font-size:.88rem;color: #a9bad2b0;line-height:1.1;margin-top:.2rem;/* text-transform: uppercase; *//* font-size: 0.6rem; */}
#messages[data-trash="1"] .bubble{background:rgba(90,45,54,.38);}


.crmInlineBackBtn{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  border: none;
  background: rgb(31 41 61 / 79%);
  color: #edf4ffc2;
  border-radius:1rem;
  padding: .6rem .9rem;
  cursor:pointer;
  margin-right:.9rem;
  font:inherit;
  font-weight:800;
  font-size: 0.8rem;
  transition: all 0.15s linear;
}
.crmInlineBackBtn:hover{/* background:rgba(56,85,126,.32); */filter: brightness(1.2);}
#crmTitle{display:flex;align-items:center;gap:.2rem;flex-wrap:wrap;}
.clientProfileDataBtn,.clientProfileAddBtn{margin-top:.25rem;}
.clientProfileCard.isExpanded .clientProfileDataBtn,.clientProfileCard.isExpanded .clientProfileAddBtn{/* margin-bottom:1rem; */}



.me:hover{cursor:pointer;background: #7199c947 !important;/* background: #3f6b9d54 !important; */box-shadow: inset 0 0 15px 3px #9bd3ff21;}
.meAvatar.isImage,
.profileAvatarPreview.isImage{ padding:0; overflow:hidden; }
.meAvatar.isImage img,
.profileAvatarPreview.isImage img{ width:100%; height:100%; object-fit:cover; display:block; }
.profileModalCard{ width:min(52rem, calc(100vw - 3rem)); }
.profileModalBody{ display:grid; gap:1.4rem; }
.profileAvatarEditor{ display:grid; justify-items:start; gap:1rem; }
.profileAvatarPreviewWrap{ display:block; }
.profileAvatarPreview{ width:8.2rem; height:8.2rem; border-radius:2rem; display:grid; place-items:center; background:linear-gradient(180deg, #57a4ff, #2c57ff); color:#eef6ff; font-weight:800; font-size:2.8rem; box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 12px 30px rgba(34,95,255,.25); }
.profileAvatarBtn{ align-self:start; }
.clientProfileHead{ justify-content:space-between; }
.clientProfileHeadMain{ display:flex; align-items:center; gap:16px; min-width:0; }
.clientProfileDataBtn{ margin-top:0; }
.clientProfileAddBtn{margin-top:0;width:2.85rem;min-width:2.85rem;padding:0;display:grid;place-items:center;font-size:1.25rem;line-height:1;padding: 11px 15px;}


.profileModalCard{ overflow:visible; }
.avatarCropCard{ width:min(58rem, calc(100vw - 2rem)); }
.avatarCropBody{ display:grid; gap:1rem; }
.avatarCropStageWrap{
  padding:1.2rem;
  border-radius:1.8rem;
  border:1px solid rgba(197,151,72,.22);
  background:linear-gradient(180deg, rgba(3,15,35,.86), rgba(4,14,28,.94));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.avatarCropStage{
  position:relative;
  width:100%;
  aspect-ratio: 16 / 9;
  border-radius:1.5rem;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)),
    radial-gradient(circle at center, rgba(20,34,58,.85), rgba(3,9,20,.96));
}
.avatarCropImage{
  position:absolute;
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
  border-radius:1rem;
}
.avatarCropSelection{
  position:absolute;
  border:2px solid rgba(82,171,255,.95);
  box-shadow:0 0 0 9999px rgba(2,6,14,.58), inset 0 0 0 1px rgba(255,255,255,.15);
  cursor:move;
}
.avatarCropSelection::before,
.avatarCropSelection::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.avatarCropSelection::before{
  background:
    linear-gradient(to right, transparent 33.333%, rgba(255,255,255,.28) 33.333%, rgba(255,255,255,.28) 34.2%, transparent 34.2%, transparent 66.666%, rgba(255,255,255,.28) 66.666%, rgba(255,255,255,.28) 67.5%, transparent 67.5%),
    linear-gradient(to bottom, transparent 33.333%, rgba(255,255,255,.28) 33.333%, rgba(255,255,255,.28) 34.2%, transparent 34.2%, transparent 66.666%, rgba(255,255,255,.28) 66.666%, rgba(255,255,255,.28) 67.5%, transparent 67.5%);
}
.cropHandle{
  position:absolute;
  width:.9rem;
  height:.9rem;
  border-radius:.2rem;
  background:#5ab4ff;
  box-shadow:0 0 0 1px rgba(255,255,255,.18), 0 0 1rem rgba(90,180,255,.35);
}
.cropHandle-nw{ left:-.45rem; top:-.45rem; cursor:nwse-resize; }
.cropHandle-n{ left:calc(50% - .45rem); top:-.45rem; cursor:ns-resize; }
.cropHandle-ne{ right:-.45rem; top:-.45rem; cursor:nesw-resize; }
.cropHandle-e{ right:-.45rem; top:calc(50% - .45rem); cursor:ew-resize; }
.cropHandle-se{ right:-.45rem; bottom:-.45rem; cursor:nwse-resize; }
.cropHandle-s{ left:calc(50% - .45rem); bottom:-.45rem; cursor:ns-resize; }
.cropHandle-sw{ left:-.45rem; bottom:-.45rem; cursor:nesw-resize; }
.cropHandle-w{ left:-.45rem; top:calc(50% - .45rem); cursor:ew-resize; }


.clientDataPanel{ display:grid; gap:1.2rem; margin-top:1rem; }
.clientDataPanel.isInactive{ opacity:.45; filter:saturate(.75); }
.clientDataSection{border-radius:1.4rem;padding:1rem 1.1rem;background:rgba(7,17,32,.45);}
.clientDataTitle{font-size:1.4rem;font-weight:800;margin-bottom:.8rem;color: #edf4ff75;}
.clientDataGrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.clientDataGridSingle{grid-template-columns:1fr;}
.clientDataItem{position:relative;min-height:6rem;border:1px solid rgba(255,255,255,.06);border-radius:1.2rem;background:rgba(255,255,255,.02);padding:.9rem 3.6rem .9rem .9rem;background: #a8c7ff17;}
.clientDataItem.isReadonly{padding-right:.9rem;}
.clientDataItemHead{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:.55rem;}
.clientDataItem span{ display:block; font-size:1.1rem; color:rgba(224,232,242,.62); margin-bottom:0; }
.clientDataValue{ display:block; font-size:1.34rem; color:#eef6ff; line-height:1.3; }
.clientDataInput{width:100%;min-height:3.5rem;border:1px solid rgba(255,255,255,.08);border-radius:1rem;background:rgba(9,14,22,.54);padding:.82rem 1rem;color:#eef6ff;font:inherit;outline:none;box-shadow:none;transition:border-color .12s linear, box-shadow .12s linear, background .12s linear;}
.clientDataInput:focus{border-color:rgba(214,175,91,.42);box-shadow:0 0 0 .12rem rgba(214,175,91,.12);background:rgba(11,17,27,.74);}
.clientDataTextarea{resize:vertical;min-height:8rem;}
.clientCopyBtn{position:absolute;top:.75rem;right:.75rem;width:2.5rem;height:2.5rem;border-radius:.8rem;border:1px solid rgba(197,151,72,.22);background:rgba(255,255,255,.03);color: #9ca2ad;cursor:pointer;border: none;transition: all 0.1s linear;}
.clientCopyBtn:hover{box-shadow: inset 0 0 14px 2px rgb(223 241 255 / 12%);}
.poaSection.warning{ border-color:rgba(219,93,93,.42); box-shadow:0 0 0 1px rgba(219,93,93,.12) inset; }
.poaSection.warning .clientDataTitle,
.poaSection.expired .clientDataTitle{ color:#ff8d8d; }
.poaSection.expired{ border-color:rgba(255,74,74,.52); background:rgba(55,8,8,.22); }
@media (max-width: 900px){ .clientDataGrid{ grid-template-columns:1fr; } }

.clientProfileHeadActions{display:flex;align-items:center;gap:.7rem; margin-left:auto; flex:0 0 auto;}

.entityStatusSwitch{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;}
.entityStatusBtn{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color: #ff8795;padding:1.1rem 1.2rem;border-radius:1.2rem;font:inherit;cursor:pointer;transition:.18s ease;background: no-repeat;border: 3px solid rgb(197 102 113);color: #b3c7e5;border: 3px solid rgb(113 128 150);}
.entityStatusBtn:hover{background:rgba(255,255,255,.06);}
.entityStatusBtn.isActive{background: rgb(53 126 105);border-color: rgb(91 184 214 / 45%);/* box-shadow: inset 0 0 0 1px rgb(91 132 214 / 12%), 0 .8rem 2.2rem rgba(0, 0, 0, .18); */border: none;color: #f2f2f2;}
.entityModalCard{max-width:54rem;}
.clientDataModalCard{max-width:92rem;}
.clientDataModalGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;max-height:60vh;overflow:auto;padding-right:.4rem;scrollbar-width:thin;scrollbar-color:var(--client-data-scroll-thumb, #3a3b42) var(--client-data-scroll-track, #1d1d1e);}
.entityContextMenu{position:fixed;z-index:2500;display:flex;flex-direction:column;min-width:18rem;padding:.8rem;background:rgba(16,18,24,.96);border:1px solid rgba(255,255,255,.08);border-radius:1.4rem;box-shadow:0 1.6rem 4rem rgba(0,0,0,.35);backdrop-filter:blur(12px);}
.entityContextMenu button{border:0;background:transparent;color:#f2f2f2;text-align:left;padding:1rem 1.2rem;border-radius:1rem;font:inherit;cursor:pointer;}
.entityContextMenu button:hover{background:rgba(255,255,255,.08);}


.approvalJournalPage{display:flex;flex-direction:column;gap:1rem;}
.approvalJournalHeader{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.2rem 0;}
.approvalJournalAlert{display:flex;align-items:center;gap:.45rem;color:#f2daa0;font-size:1rem;margin-top:.35rem;opacity:.95;}
.approvalCreateBtn{align-items:center;gap:.65rem;padding:.8rem 1rem;min-height:auto;width: 12.5rem;display: flex;justify-content: center;}
.approvalCreateBtn span{line-height:1.1;}
.approvalJournalBoard{border:1px solid rgba(255,255,255,.08);border-radius:1.8rem;background:linear-gradient(180deg, rgba(92,123,168,.14), rgba(28,39,63,.34));backdrop-filter:blur(4px);overflow:hidden;}
.approvalJournalGroup{padding:.72rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);font-size:.84rem;color:rgba(228,238,255,.66);}
.approvalJournalTableWrap{overflow:hidden;}
.approvalJournalTable{width:100%;border-collapse:collapse;table-layout:fixed;}
.approvalJournalTable th,.approvalJournalTable td{padding: .7rem 1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);font-size:.92rem;line-height:1.2;vertical-align:middle;}
.approvalJournalTable th{color:rgba(220,232,255,.78);font-weight:700;white-space:nowrap;overflow: hidden;text-overflow: ellipsis;}
.approvalJournalTable tbody tr:hover{background:rgba(88,125,184,.08);}
.approvalColMatter{width:22%;}
.approvalColAuthor{width:19%;}
.approvalColStatus{width:20%;}
.approvalColDeadline{width:14%;}
.approvalColUpdated{width:25%;}
.approvalEllipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.approvalMatterCell{display:flex;align-items:center;gap:.5rem;min-width:0;}
.approvalMatterCell i{font-size:.76rem;opacity:.72;flex:0 0 auto;}
.approvalStatusPill{display:inline-flex;align-items:center;gap:.42rem;max-width:100%;padding:.42rem .7rem;border-radius:999px;font-size:.84rem;font-weight:700;white-space:nowrap;}
.approvalStatusPill i{font-size:.72rem;}
.approvalMatterCell{display:flex;align-items:center;gap:.55rem;color:#ecf3ff;}
.approvalMatterCell i{font-size:.82rem;color:rgba(224,235,255,.64);}
.approvalStatusPill{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .8rem;border-radius:999px;font-size:.92rem;font-weight:800;white-space:nowrap;line-height:1;display: block;overflow: hidden;text-overflow: ellipsis;display: inline-block;margin-top: 0.3rem;}
.approvalStatusPill i{font-size:.82rem;margin-right: 0.4rem;}
.approvalStatusPill.pending{background:rgba(205,163,49,.2);color:#f1d06d;}
.approvalStatusPill.approved{background:rgba(40,160,95,.2);color:#7ce6ac;}
.approvalStatusPill.returned{background:rgba(197,65,65,.2);color:#ff9696;}
.entityContextMenu button{display:flex;align-items:center;gap:.9rem;}
.entityContextMenu button i{width:1.4rem;text-align:center;color:rgba(220,232,255,.84);}

@media (max-width: 1600px){
  .approvalJournalTable th,.approvalJournalTable td{padding:.74rem .85rem;font-size:.86rem;}
  .approvalStatusPill{padding:.38rem .6rem;font-size:.78rem;}
  .approvalColMatter{width:24%;}
  .approvalColAuthor{width:18%;}
  .approvalColStatus{width:19%;}
  .approvalColDeadline{width:13%;}
  .approvalColUpdated{width:26%;}
}
@media (max-width: 1480px){
  .approvalJournalTable th:nth-child(5), .approvalJournalTable td:nth-child(5){display:none;}
  .approvalColMatter{width:31%;}
  .approvalColAuthor{width:23%;}
  .approvalColStatus{width:28%;}
  .approvalColDeadline{width:18%;}
  .approvalCreateBtn span{display:none;}
  .approvalCreateBtn{padding:.8rem .95rem;min-width:auto;}
}


/* Preview modal symmetry fixes */
.clientPreviewModal{
  padding: 22px;
}
.clientPreviewCard{
  width:min(1680px, calc(100vw - 44px));
  height:calc(100vh - 44px);
  padding:24px;
  display:flex;
  align-items:stretch;
}
.clientPreviewClose{
  top:10px;
  right:10px;
  width:44px;
  height:44px;
  border-radius:14px;
  z-index:20;
}
.clientPreviewCanvas.document{
  width:100%;
  height:100%;
}
.clientDocLayout{
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns: 320px minmax(0,1fr);
  gap:24px;
  align-items:stretch;
}
.clientDocSidebar{
  display:flex;
  min-height:0;
}
.clientDocCard{
  width:100%;
  height:100%;
  padding:32px 28px;
  justify-content:center;
}
.clientDocPreviewWrap{
  position:relative;
  min-width:0;
  min-height:0;
  height:100%;
  padding:20px 20px 20px 20px;
  padding-right: 6px;
  overflow:hidden;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(46,48,53,.88), rgba(28,30,35,.92));
  border:1px solid rgba(183,215,255,.10);
  box-sizing:border-box;
}
.clientDocScroller{
  width:100%;
  height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:14px;
  box-sizing:border-box;
  overscroll-behavior:contain;
}
.clientDocScroller.pdf{
  padding-right:18px;
}
.clientDocPageStage{
  min-height:100%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.clientDocFrame{
  width:min(100%, 980px);
  min-height:calc(100vh - 140px);
  height:calc(100vh - 140px);
  border:0;
  border-radius:0;
  background:#fff;
  display:block;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.clientDocHtml,
.clientDocText,
.clientDocTableWrap,
.clientDocFallback,
.clientDocLoading,
.clientDocEmpty{
  width:min(100%, 980px);
  margin:0 auto;
}
.clientDocTableWrap{
  overflow:auto;
}
.clientDocLoading,
.clientDocEmpty{
  min-height:100%;
  display:grid;
  place-items:center;
}
.clientDocPreviewWrap::-webkit-scrollbar{ width:0; height:0; }
.clientDocScroller::-webkit-scrollbar{ width:12px; height:12px; }
.clientDocScroller::-webkit-scrollbar-track{
  background:rgba(9,12,18,.92);
  border-radius:999px;
}
.clientDocScroller::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(72,82,98,.98), rgba(46,54,68,.98));
  border-radius:999px;
  border:2px solid rgba(9,12,18,.92);
}
.clientDocScroller::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, rgba(88,100,118,.98), rgba(56,66,82,.98));
}
.clientDocScroller{ scrollbar-color: rgba(72,82,98,.98) rgba(9,12,18,.92); scrollbar-width: thin; }
@media (max-width: 1200px){
  .clientDocLayout{ grid-template-columns:1fr; }
  .clientDocCard{ height:auto; min-height:220px; }
  .clientDocFrame{ width:100%; min-height:70vh; height:70vh; }
}


/* preview modal refinement */
.clientPreviewCard{
  padding:0 !important;
  display:grid;
  grid-template-rows: 2.45rem minmax(0,1fr);
}
.clientPreviewTopbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:2.45rem;
  padding:0 .8rem 0 .95rem;
  border-bottom:1px solid rgba(169,206,255,.12);
  background:linear-gradient(180deg, rgba(7,12,20,.96), rgba(5,10,17,.9));
  border: none;
  background: #1f2836;
}
.clientPreviewTopbarTitle{
  min-width:0;
  color:#edf4ff;
  font-size:.86rem;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.clientPreviewClose{
  position:static !important;
  flex:0 0 auto;
  width:1.95rem;
  height:1.95rem;
  border-radius:.72rem;
  font-size:1.45rem;
  border: none;
  background: transparent;
}
.clientPreviewCanvas{
  padding:1rem 1rem 1rem 1rem;
  box-sizing:border-box;
}
.clientDocLayout{
  grid-template-columns:minmax(270px, 320px) minmax(0,1fr) !important;
  gap:1.25rem !important;
  align-items:stretch;
}
.clientDocSidebar{min-width:0;}
.clientDocCard{
  height:100%;
  padding:1.75rem 1.5rem;
  justify-content:center;
}
.clientDocPreviewWrap{
  position:relative;
  min-height:0;
  height:100%;
  padding:1rem 1.1rem 1rem 1rem !important;
  overflow:visible !important;
  border-radius:1.5rem;
  background: rgb(32 35 42);
  border:1px solid rgba(183,215,255,.10) !important;
:;
  border: none;
}
#clientDocPreviewMount{
  height:100%;
  overflow:auto;
  overscroll-behavior:contain;
  padding-right:.95rem;
  margin-right:-.7rem;
}
#clientDocPreviewMount::-webkit-scrollbar{
  width: 0.8125em;
  height: 0.8125em;
}
#clientDocPreviewMount::-webkit-scrollbar-track{
  background: linear-gradient(180deg, #18191d, #212229);
  box-shadow: 0 0 0.7em 0.18em rgba(0, 0, 0, .46) inset;
  border-radius: 999px;
}
#clientDocPreviewMount::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, #494c56, #32353d);
  border-radius: 999px;
  border: 2px solid rgba(18,18,20,.86);
}
#clientDocPreviewMount::-webkit-scrollbar-thumb:hover{
  background: linear-gradient(180deg, #575b67, #3c4049);
}
#clientDocPreviewMount::-webkit-scrollbar-corner{
  background:#1d1d1e;
}
.clientDocFrame{
  min-height:100%;
  border-radius:1rem;
}
.clientDocHtml,.clientDocText,.clientDocTableWrap,.clientDocFallback,.clientDocLoading,.clientDocEmpty{
  background:rgba(9,14,22,.86);
}
@media (max-width: 1200px){
  .clientPreviewCard{grid-template-rows:4.3rem minmax(0,1fr);} 
}

/* ===== document preview redesign ===== */
.clientPreviewTopbarRight{
  display:flex;
  align-items:center;
  gap:.5rem;
  min-width:0;
}
.clientPreviewTopbarActions{
  display:flex;
  align-items:center;
  gap:.38rem;
}
.clientTopbarAction{
  width:1.95rem;
  height:1.95rem;
  border:1px solid rgba(170,205,255,.12);
  border-radius:.72rem;
  background: #2d394a;
  color:#dcecff;
  display:grid;
  place-items:center;
  cursor:pointer;
  border: none;
  background: transparent;
}
.clientTopbarAction:hover{
  background: #141a23;
}
.clientZoomGroup{
  display:flex;
  align-items:center;
  gap:.38rem;
  padding:.16rem .24rem .16rem .24rem;
  border:1px solid rgba(170,205,255,.10);
  border: none;
}
.clientZoomRange{
  width:6.2rem;
  accent-color: #82a9e6;
}
.clientZoomValue{
  min-width:2.5rem;
  text-align:center;
  color:#dbe9ff;
  font-weight:700;
  font-size:.8rem;
}
.clientPreviewCanvas.document{
  padding:1rem 1rem 1rem 1rem;
}
.clientDocLayout{
  grid-template-columns: 20rem minmax(0,1fr) !important;
  gap:1.2rem !important;
  height:100%;
}
.clientDocSidebar{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:.9rem;
  padding:.9rem;
  border-radius:1.8rem;
  background:linear-gradient(180deg, rgba(19,33,56,.86), rgba(8,18,35,.96));
  border:1px solid rgba(176,214,255,.11);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
  border: none;
}
.clientDocSidebarEmpty,
.clientPdfThumbsHead{
  color:#e9f2ff;
  font-size:1rem;
  font-weight:800;
  padding:.15rem .35rem .5rem;
}
.clientPdfThumbs{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:.85rem;
  padding:.1rem .2rem .2rem;
}
.clientPdfThumbs::-webkit-scrollbar{ width:.75rem; }
.clientPdfThumbs::-webkit-scrollbar-track{
  background:#1d1d1e;
  box-shadow:0 0 .5em .1875em rgba(0,0,0,.5) inset;
  border-radius:999px;
}
.clientPdfThumbs::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, #4b4e57, #343740);
  border-radius:999px;
  border:2px solid #1d1d1e;
}
.clientPdfThumbs::-webkit-scrollbar-thumb:hover{ background:linear-gradient(180deg, #5a5e69, #40444d); }
.clientPdfThumb{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.45rem;
  width:100%;
  padding:.55rem .5rem .7rem;
  border:1px solid rgba(171,209,255,.08);
  border-radius:1.1rem;
  background:rgba(255,255,255,.02);
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
  background: #1f2836;
  border: none;
}
.clientPdfThumb:hover{/* transform:translateY(-1px); */border-color:rgba(138,186,255,.2);background: rgb(39 61 95);}
.clientPdfThumb.active{/* border-color:rgba(110,169,255,.55); */background:rgba(66,118,204,.14);/* box-shadow:0 0 0 1px rgba(110,169,255,.18) inset; */background: #20375a;}
.clientPdfThumbCanvasWrap{
  width:100%;
  display:flex;
  justify-content:center;
  padding:.3rem;
  border-radius:.9rem;
  background:rgba(255,255,255,.03);
}
.clientPdfThumb canvas{
  max-width:100%;
  height:auto;
  box-shadow:0 10px 20px rgba(0,0,0,.18);
  background:#fff;
}
.clientPdfThumbNum{
  color:#ffffff;
  font-size:.98rem;
  font-weight:700;
}
.clientDocPreviewWrap{
  padding:0 !important;
  overflow:hidden !important;
  border: none;
}
#clientDocPreviewMount{
  height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  padding:1rem 1.1rem 1rem 1rem;
  margin:0;
}
#clientDocPreviewMount::-webkit-scrollbar{
  width: 0.8125em;
}
#clientDocPreviewMount::-webkit-scrollbar-track {
  background: #1d1d1e;
  box-shadow: 0 0 0.5em 0.1875em rgba(0, 0, 0, .5) inset;
  border-radius: 999px;
}
#clientDocPreviewMount::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #4b4e57, #343740);
  border-radius: 999px;
  border: 2px solid #1d1d1e;
}
#clientDocPreviewMount::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #5b5f69, #40444d);
}
.clientDocScrollArea{ min-height:100%; }
.clientPdfPages{
  width:min(100%, 62rem);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.clientPdfPage{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.75rem;
}
.clientPdfPageLabel{
  color:#8f9ab0;
  font-size:.9rem;
  font-weight:700;
  padding-left:.15rem;
}
.clientPdfCanvas{
  max-width:100%;
  height:auto;
  background:#fff;
  box-shadow:0 16px 42px rgba(0,0,0,.24);
}
.clientDocScroller{
  padding-right:0;
}
.clientDocScroller::-webkit-scrollbar{ width:0; height:0; }
@media (max-width: 1200px){
  .clientDocLayout{ grid-template-columns:1fr !important; }
  .clientDocSidebar{ max-height:18rem; }
  .clientZoomRange{ width:6rem; }
}


/* custom preview scrollbar */
.clientDocPreviewWrap{
  position:relative;
  display:block;
  padding:0 !important;
  overflow:hidden !important;
  border: none;
}
.clientDocPreviewMount,
#clientDocPreviewMount{
  height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  padding:1rem 3.15rem 1rem 1rem;
  margin:0;
  scrollbar-width:none;
  -ms-overflow-style:none;
  border: none;
}
.clientDocPreviewMount::-webkit-scrollbar,
#clientDocPreviewMount::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}
.clientDocScrollbar{
  position:absolute;
  top:1rem;
  right:1rem;
  bottom:1rem;
  width:1.2rem;
  display:flex;
  justify-content:center;
  z-index:3;
}
.clientDocScrollbarTrack{
  position:relative;
  width:.8125rem;
  height:100%;
  background:#1d1d1e;
  box-shadow:0 0 .5em .1875em rgba(0,0,0,.5) inset;
  border-radius:999px;
}
 .clientDocScrollbarThumb{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  min-height:4.5rem;
  opacity:1;
  background: #506380;
  border-radius:999px;
  box-shadow:0 0 .1rem rgba(255,255,255,.08) inset;
  cursor:pointer;
  transition: all 0.1s linear;
}
.clientDocScrollbar:not(.is-static) .clientDocScrollbarThumb:hover{
  /* background: #5f7ead; */
  background: #6079a0;
}
.clientDocScrollbar.is-static{opacity:.35;}
body.clientDocScrollbarDragging{
  user-select:none;
}
.clientDocScrollArea{
  min-height:100%;
}

.clientTopbarAction i{font-size:.86rem;}
.clientZoomRange{height:.75rem;}

.clientDataModalCard{
  --client-data-scroll-track:#1d1d1e;
  --client-data-scroll-thumb:#3a3b42;
  --client-data-scroll-thumb-hover:#43454f;
}
.clientDataModalGrid::-webkit-scrollbar{
  width:0.8125em;
}
.clientDataModalGrid::-webkit-scrollbar-track{
  background:var(--client-data-scroll-track, #1d1d1e);
  box-shadow:0 0 0.5em 0.1875em rgba(0,0,0,.5) inset;
  border-radius:999px;
}
.clientDataModalGrid::-webkit-scrollbar-thumb{
  background:var(--client-data-scroll-thumb, #3a3b42);
  border-radius:0.65em;
  border:2px solid var(--client-data-scroll-track, #1d1d1e);
}
.clientDataModalGrid::-webkit-scrollbar-thumb:hover{
  background:var(--client-data-scroll-thumb-hover, #43454f);
}

/* ===== TEAM / RBAC ===== */
.employeesPage{display:flex;flex-direction:column;gap:18px;min-height:100%}
.employeesTopbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.employeesTableWrap{overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025)}
.employeesTable{width:100%;border-collapse:collapse;min-width:860px}
.employeesTable th,.employeesTable td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:middle}
.employeesTable th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#8f9bad;font-weight:700}
.employeesTable tbody tr:last-child td{border-bottom:0}
.employeesTable tbody tr:hover{background:rgba(255,255,255,.025)}
.employeesTable tr.isInactive{opacity:.58}
.employeeIdentity{display:flex;align-items:center;gap:12px;min-width:220px}
.employeeAvatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.08);overflow:hidden;flex:0 0 auto}
.employeeAvatar img{width:100%;height:100%;object-fit:cover}
.employeeName{font-weight:700;color:#f3f6fb}
.employeeLogin,.employeeTitleText{font-size:12px;color:#8490a2;margin-top:2px}
.employeeRoleBadge,.employeeStatus,.employeePermissionCount{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;white-space:nowrap}
.employeeRoleBadge{background:rgba(104,142,255,.12);border:1px solid rgba(104,142,255,.24);color:#cbd8ff}
.employeeRoleBadge.role-owner{background:rgba(232,191,96,.12);border-color:rgba(232,191,96,.25);color:#f0d691}
.employeeStatus.active{background:rgba(77,191,128,.12);color:#8fe0b3}
.employeeStatus.disabled{background:rgba(220,92,92,.12);color:#ef9a9a}
.employeePermissionCount{background:rgba(255,255,255,.06);color:#aeb8c7}
.employeeActions{display:flex;justify-content:flex-end;gap:6px}
.employeeActions .iconBtn{width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#bec8d7;cursor:pointer}
.employeeActions .iconBtn:hover{background:rgba(255,255,255,.09);color:#fff}
.employeeLoading{padding:40px;text-align:center;color:#94a0b2}
.employeeModalCard{width:min(860px,92vw);max-height:90vh;overflow:auto}
.employeeFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
.employeePasswordField{grid-column:1/-1}
.employeeActiveCheck{display:flex;align-items:center;gap:9px;padding:12px 0;color:#dbe2ec}
.employeePermissionsHeader{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px 0 10px}
.employeePermissionsTitle{font-weight:750;font-size:15px;color:#f2f5fa}
.employeePermissionsGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.permissionToggle{display:grid;grid-template-columns:auto 32px 1fr;align-items:center;gap:9px;padding:9px 10px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.025);cursor:pointer}
.permissionToggle input{position:absolute;opacity:0;pointer-events:none}
.permissionSwitch{width:30px;height:17px;border-radius:20px;background:#3b4554;position:relative;transition:.18s}
.permissionSwitch:after{content:"";position:absolute;width:13px;height:13px;left:2px;top:2px;border-radius:50%;background:#dbe2ea;transition:.18s}
.permissionToggle input:checked + .permissionSwitch{background:#6b8cff}
.permissionToggle input:checked + .permissionSwitch:after{transform:translateX(13px);background:#fff}
.permissionLabel{font-size:13px;color:#c7d0dd;line-height:1.25}
.permissionToggle.isLocked{opacity:.72;cursor:default}
.employeeResetPermissionsBtn{white-space:nowrap}
.profileSecurityBlock{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:11px}
.profileSecurityTitle{font-size:14px;font-weight:750;color:#edf2f8}
.profilePasswordNotice{padding:10px 12px;border-radius:9px;background:rgba(232,191,96,.12);border:1px solid rgba(232,191,96,.24);color:#efd898;font-size:13px}
@media(max-width:760px){
  .employeeFormGrid,.employeePermissionsGrid{grid-template-columns:1fr}
  .employeesTopbar{align-items:flex-start;flex-direction:column}
  .employeeModalCard{width:min(96vw,860px)}
}

/* ===== CLIENT WORKSPACE / STAGE 8 ===== */
.clientWorkspace{display:flex;flex-direction:column;gap:16px;min-height:100%}
.clientWorkspaceHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018))}
.clientWorkspaceIdentity{display:flex;align-items:center;gap:14px;min-width:0}
.clientWorkspaceAvatar{width:52px;height:52px;border-radius:15px;font-size:20px;flex:0 0 auto}
.clientWorkspaceTitleRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.clientWorkspaceSubtitle{margin-top:5px;color:#8f9bad;font-size:13px}
.clientWorkspaceHeroActions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.clientWorkspaceTabs{display:flex;gap:5px;padding:5px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025);overflow:auto}
.clientWorkspaceTab{border:0;background:transparent;color:#8e99aa;padding:9px 13px;border-radius:9px;display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap;font:inherit}
.clientWorkspaceTab:hover{background:rgba(255,255,255,.05);color:#d8e0eb}
.clientWorkspaceTab.active{background:rgba(105,139,255,.14);color:#dbe4ff;box-shadow:inset 0 0 0 1px rgba(105,139,255,.2)}
.clientWorkspaceBody{min-height:280px}
.clientOverviewGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.clientOverviewCard{padding:16px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025)}
.clientOverviewCard.warning{border-color:rgba(232,191,96,.3);background:rgba(232,191,96,.07)}
.clientOverviewCard.danger{border-color:rgba(222,91,91,.3);background:rgba(222,91,91,.07)}
.clientOverviewCardLabel{font-size:12px;color:#8692a3;margin-bottom:7px}
.clientOverviewCardValue{font-weight:700;color:#e9eef6;line-height:1.35}
.clientOverviewColumns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.clientWorkspaceSection{padding:17px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(255,255,255,.022)}
.clientWorkspaceSectionHead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.clientWorkspaceSectionTitle{font-size:15px;font-weight:750;color:#eef3f9}
.clientContactsList,.clientDocumentsList,.clientNotesList{display:flex;flex-direction:column;gap:8px}
.clientContactRow,.clientDocumentRow{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.022)}
.clientDocumentRow{color:inherit;text-decoration:none}
.clientDocumentRow:hover{background:rgba(255,255,255,.05)}
.clientContactIcon,.clientDocumentIcon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:rgba(105,139,255,.1);color:#aec1ff;flex:0 0 auto}
.clientContactMeta,.clientDocumentMeta{min-width:0;flex:1}
.clientContactValue,.clientDocumentName{font-weight:650;color:#e5ebf3;overflow:hidden;text-overflow:ellipsis}
.clientQuickFacts{display:grid;gap:10px}
.clientQuickFacts>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.055)}
.clientQuickFacts>div:last-child{border-bottom:0}
.clientQuickFacts span{color:#8490a1;font-size:13px}
.clientQuickFacts b{font-size:13px;color:#dbe2ec;text-align:right}
.clientWorkspaceEmpty{padding:22px;text-align:center;color:#7f8b9d;border:1px dashed rgba(255,255,255,.08);border-radius:10px}
.clientNoteComposer{display:flex;gap:9px;align-items:flex-end;margin-bottom:14px}
.clientNoteComposer textarea{flex:1;resize:vertical;min-height:74px}
.clientNoteCard{padding:13px;border-radius:11px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.022)}
.clientNoteHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px}
.clientNoteText{line-height:1.5;color:#ccd5e0;font-size:14px;word-break:break-word}
.btnSmall{padding:7px 10px;font-size:12px}
@media(max-width:1050px){
  .clientOverviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .clientOverviewColumns{grid-template-columns:1fr}
}
@media(max-width:680px){
  .clientWorkspaceHero{align-items:flex-start;flex-direction:column}
  .clientWorkspaceHeroActions{justify-content:flex-start;width:100%}
  .clientOverviewGrid{grid-template-columns:1fr}
  .clientNoteComposer{align-items:stretch;flex-direction:column}
}

.clientListActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.clientSearchBox{display:flex;align-items:center;gap:8px;min-width:240px;padding:0 11px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.025);color:#788598}
.clientSearchBox:focus-within{border-color:rgba(105,139,255,.45);box-shadow:0 0 0 2px rgba(105,139,255,.08)}
.clientSearchBox input{width:100%;height:36px;border:0;outline:0;background:transparent;color:#e7edf5;font:inherit}
.clientSearchBox input::placeholder{color:#697689}
@media(max-width:760px){
  .clientListHead{align-items:stretch;flex-direction:column}
  .clientListActions{width:100%}
  .clientSearchBox{min-width:0;flex:1}
}

.clientContactActions,.clientNoteActions,.clientNoteComposerActions{display:flex;align-items:center;gap:6px}
.clientContactActions .iconBtn,.clientNoteActions .iconBtn{width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);color:#aeb9c8;cursor:pointer}
.clientContactActions .iconBtn:hover,.clientNoteActions .iconBtn:hover{background:rgba(255,255,255,.08);color:#fff}
.clientNoteComposerActions{flex:0 0 auto}

/* ===== CASE WORKSPACE / STAGE 9 ===== */
.casesWorkspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;height:100%;min-height:0}
.caseListPane{display:flex;flex-direction:column;min-height:0;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(255,255,255,.018);overflow:hidden}
.caseListHead{display:flex;gap:8px;padding:10px;border-bottom:1px solid rgba(255,255,255,.07)}
.caseSearchBox{display:flex;align-items:center;gap:7px;flex:1;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.025);color:#7d8999}
.caseSearchBox input{min-width:0;width:100%;height:34px;border:0;outline:0;background:transparent;color:#e6edf5}
.caseCreateCompact{width:38px;padding:0;display:grid;place-items:center}
.caseListItems{overflow:auto;padding:7px;display:flex;flex-direction:column;gap:5px}
.caseListItem{width:100%;text-align:left;border:1px solid transparent;border-radius:10px;background:transparent;color:#cbd4df;padding:11px;cursor:pointer}
.caseListItem:hover{background:rgba(255,255,255,.035)}
.caseListItem.active{background:rgba(105,139,255,.11);border-color:rgba(105,139,255,.22)}
.caseListItemTop{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.caseListItemTop b{font-size:13px;line-height:1.35}
.caseListClient{font-size:12px;color:#909cad;margin-top:5px}
.caseListMeta{font-size:11px;color:#6f7c8e;margin-top:4px}
.casePriorityDot{width:8px;height:8px;border-radius:50%;background:#8995a5;flex:0 0 auto;margin-top:5px}
.casePriorityDot.priority-high{background:#e0a65a}.casePriorityDot.priority-urgent{background:#e06f6f}.casePriorityDot.priority-low{background:#6ca98a}
.caseWorkspaceMain{min-width:0;overflow:auto;padding-right:2px}
.caseWorkspaceHero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.015))}
.caseHeroTop{display:flex;align-items:center;gap:9px;margin-bottom:7px}.caseHeroNumber{font-size:12px;color:#8995a5}
.caseHeroTitle{font-size:20px;font-weight:780;color:#f1f5fb;line-height:1.25}.caseHeroClient{font-size:13px;color:#8e9aaa;margin-top:5px}
.caseHeroActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.caseWorkspaceTabs{display:flex;gap:5px;margin:12px 0;padding:5px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.02);overflow:auto}
.caseWorkspaceTab{border:0;background:transparent;color:#8e99aa;padding:8px 11px;border-radius:8px;display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap}
.caseWorkspaceTab.active{background:rgba(105,139,255,.13);color:#d9e3ff;box-shadow:inset 0 0 0 1px rgba(105,139,255,.18)}
.caseOverviewGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.caseMetric,.casePanel{border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.022)}
.caseMetric{padding:14px}.caseMetric span{display:block;font-size:11px;color:#7e8a9a;margin-bottom:6px}.caseMetric b{font-size:13px;color:#e4eaf2}
.caseOverviewColumns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.casePanel{padding:15px}.casePanelTitle{font-size:14px;font-weight:760;color:#eef3f9;margin-bottom:11px}
.casePanelHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.caseFacts{display:grid;gap:8px}.caseFacts>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.05)}
.caseFacts>div:last-child{border-bottom:0;padding-bottom:0}.caseFacts span{font-size:12px;color:#7f8b9b}.caseFacts b{font-size:12px;color:#d7dfe9;text-align:right}
.caseEventPreview{display:flex;flex-direction:column;gap:6px}.caseEventPreview b{color:#e8edf4}.caseEventPreview span{font-size:12px;color:#8995a5}
.caseDescriptionPanel{margin-top:12px}.caseDescription{color:#c9d2dd;line-height:1.55;font-size:13px}
.caseParticipantList,.caseDocumentList,.caseNoteList,.caseHistoryList{display:flex;flex-direction:column;gap:8px}
.caseParticipantCard,.caseDocumentRow,.caseNoteCard{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid rgba(255,255,255,.055);border-radius:10px;background:rgba(255,255,255,.018)}
.caseParticipantMain,.caseDocumentMeta{min-width:0;flex:1}.caseParticipantName{font-weight:700;color:#e8edf4}.caseParticipantMeta,.caseParticipantSub{font-size:12px;color:#8793a4;margin-top:3px}
.caseParticipantActions,.caseNoteTools,.caseNoteActions{display:flex;align-items:center;gap:6px}
.caseParticipantActions .iconBtn,.caseNoteTools .iconBtn{width:31px;height:31px;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);color:#a9b5c4;cursor:pointer}
.caseCourtCard{margin-bottom:12px}.caseCourtName{font-size:16px;font-weight:760;color:#edf2f8}.caseCourtMeta{font-size:12px;color:#8692a3;margin:3px 0 14px}
.caseDocumentRow{color:inherit;text-decoration:none}.caseDocumentRow:hover{background:rgba(255,255,255,.045)}
.caseDocumentIcon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:rgba(105,139,255,.1);color:#b8c8ff;flex:0 0 auto}
.caseDocumentMeta{display:flex;flex-direction:column;gap:3px}.caseDocumentMeta b{color:#e4eaf2}.caseDocumentMeta span{font-size:11px;color:#8490a0}
.caseNoteComposer{display:flex;gap:8px;align-items:flex-end;margin-bottom:12px}.caseNoteComposer textarea{flex:1;min-height:72px;resize:vertical}
.caseNoteHead{display:flex;justify-content:space-between;gap:10px;width:100%;margin-bottom:7px}.caseNoteCard{display:block}.caseNoteText{font-size:13px;color:#cbd4df;line-height:1.5}
.caseHistoryRow{display:flex;gap:10px;position:relative}.caseHistoryDot{width:9px;height:9px;border-radius:50%;background:#6f8fff;margin-top:5px;flex:0 0 auto}
.caseHistoryBody{display:flex;flex-direction:column;gap:3px;padding-bottom:10px}.caseHistoryBody b{font-size:13px;color:#dce4ed}.caseHistoryBody span{font-size:11px;color:#7e8a9a}
.caseEmpty{padding:20px;text-align:center;color:#778495;border:1px dashed rgba(255,255,255,.07);border-radius:9px}.caseEmptyLarge{margin:30px}
.caseEditorCard{width:min(900px,94vw);max-height:90vh;overflow:auto}.caseParticipantEditor{width:min(760px,94vw);max-height:90vh;overflow:auto}
.caseEditorGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.caseEditorWide{grid-column:1/-1}
@media(max-width:1100px){.casesWorkspace{grid-template-columns:250px minmax(0,1fr)}.caseOverviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.caseOverviewColumns{grid-template-columns:1fr}}
@media(max-width:760px){.casesWorkspace{grid-template-columns:1fr;height:auto}.caseListPane{max-height:280px}.caseWorkspaceHero{flex-direction:column}.caseOverviewGrid{grid-template-columns:1fr}.caseEditorGrid{grid-template-columns:1fr}.caseEditorWide{grid-column:auto}.caseNoteComposer{flex-direction:column;align-items:stretch}}

.caseDeleteBtn{border-color:rgba(220,92,92,.24)!important;color:#efaaaa!important}
.caseDeleteBtn:hover{background:rgba(220,92,92,.12)!important;border-color:rgba(220,92,92,.4)!important;color:#ffd2d2!important}

/* ===== SECURE FILE STORAGE / STAGE 10 ===== */
.secureFileRow{display:flex;align-items:center;gap:10px;padding:10px 11px}
.caseDocumentOpen{display:flex;align-items:center;gap:11px;min-width:0;flex:1;color:inherit;text-decoration:none}
.caseDocumentMeta{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.caseDocumentMeta b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.caseDocumentMeta span{font-size:12px;color:#8793a5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.secureFileActions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.secureFileActions .iconBtn{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:#aeb9c8;text-decoration:none;cursor:pointer}
.secureFileActions .iconBtn:hover{background:rgba(255,255,255,.08);color:#fff}
.fileEditorCard{width:min(650px,92vw)}
.fileIntegrityBox{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.02)}
.fileIntegrityBox>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;align-items:start}
.fileIntegrityBox span{font-size:12px;color:#8490a1}
.fileIntegrityBox b,.fileIntegrityBox code{font-size:12px;color:#d9e1eb;word-break:break-all}

/* ===== DOCUMENT WORKFLOW / STAGE 11 ===== */
.approvalStatusPill.draft{background:rgba(104,118,142,.18);color:#b6c0cf}
.approvalDocumentRow{cursor:pointer}
.approvalDocumentRow:hover{background:rgba(105,139,255,.07)!important}
.approvalMatterCell small,.approvalJournalTable td small{display:block;margin-top:4px}
.documentCreateCard{width:min(600px,92vw)}
.documentWorkflowCard{width:min(1040px,95vw);max-height:92vh;overflow:auto}
.documentWorkflowHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.documentWorkflowGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.documentWorkflowMeta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}
.documentWorkflowMeta>div{padding:10px 11px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(255,255,255,.025);min-width:0}
.documentWorkflowMeta span{display:block;color:#7f8b9c;font-size:11px;margin-bottom:5px}
.documentWorkflowMeta b,.documentWorkflowMeta code{font-size:12px;color:#dce4ee;overflow-wrap:anywhere}
.documentWorkflowButtons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.documentReturnBtn{border-color:rgba(226,95,95,.25)!important;color:#efaaaa!important}
.documentWorkflowColumns{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:14px}
.documentWorkflowSection{border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.02);padding:13px}
.documentWorkflowSectionHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.documentWorkflowSectionHead>div{display:flex;flex-direction:column;gap:2px}
.documentVersionList,.documentCommentList,.documentEventList{display:flex;flex-direction:column;gap:7px}
.documentVersionRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid rgba(255,255,255,.055);border-radius:9px}
.documentVersionRow>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.documentVersionActions{display:flex;gap:5px;flex:0 0 auto}
.documentVersionActions .iconBtn{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;border:1px solid rgba(255,255,255,.07);color:#b9c5d4;text-decoration:none}
.documentCommentComposer{display:flex;gap:7px;align-items:flex-end;margin-bottom:10px}
.documentCommentComposer textarea{flex:1;min-height:58px;resize:vertical}
.documentCommentRow{padding:9px 10px;border-radius:9px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);font-size:13px;line-height:1.45}
.documentCommentRow>div:first-child{margin-bottom:4px}
.documentWorkflowHistory{margin-top:13px}
.documentEventRow{display:grid;grid-template-columns:12px 1fr;gap:8px;padding:7px 2px}
.documentEventDot{width:8px;height:8px;border-radius:50%;margin-top:5px;background:#6f8fff;box-shadow:0 0 0 3px rgba(111,143,255,.12)}
.documentEventRow>div:last-child{display:flex;flex-direction:column;gap:2px;font-size:13px}
.secureFileRow .approvalStatusPill{font-size:11px;padding:3px 7px;width:max-content;margin-top:2px}
@media(max-width:820px){
  .documentWorkflowGrid,.documentWorkflowColumns{grid-template-columns:1fr}
  .documentWorkflowMeta{grid-template-columns:1fr 1fr}
  .documentWorkflowHead{flex-direction:column}
}
@media(max-width:520px){
  .documentWorkflowMeta{grid-template-columns:1fr}
  .documentCommentComposer{flex-direction:column;align-items:stretch}
}

.clientWorkflowDocumentRow{display:flex;align-items:center;gap:10px}
.clientWorkflowDocumentRow .clientDocumentOpen{display:flex;align-items:center;gap:11px;min-width:0;flex:1;color:inherit;text-decoration:none}
.clientWorkflowDocumentRow .approvalStatusPill{flex:0 0 auto}
.clientWorkflowDocumentRow>.iconBtn{flex:0 0 auto;width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);color:#b6c2d0;cursor:pointer}

/* ===== BUILT-IN DOCUMENT EDITOR / STAGE 12 ===== */
body.document-editor-open{overflow:hidden}
.nemezidaEditorBackdrop{position:fixed;inset:0;z-index:12000;background:#111722;display:flex}
.nemezidaEditorShell{display:grid;grid-template-rows:auto auto 1fr auto;width:100%;height:100%;min-width:0}
.nemezidaEditorTopbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.07);background:#151d29}
.nemezidaEditorTitleWrap{display:flex;align-items:center;gap:12px;min-width:0}
.nemezidaEditorTitleWrap>div{min-width:0}
.nemezidaEditorClose{flex:0 0 auto}
.nemezidaEditorTitle{display:block;width:min(540px,48vw);border:0;background:transparent;color:#eef3f9;font-size:17px;font-weight:750;outline:none;padding:2px 0}
.nemezidaEditorTitle:focus{box-shadow:0 1px 0 rgba(111,143,255,.45)}
.nemezidaEditorTitle:disabled{opacity:1}
.nemezidaEditorSub{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:#8793a4;font-size:11px;margin-top:3px}
.nemezidaEditorSub .approvalStatusPill{font-size:10px;padding:2px 6px;margin:0}
.nemezidaEditorTopActions{display:flex;align-items:center;gap:8px;justify-content:flex-end;min-width:0}
.nemezidaEditorChangeNote{width:220px;height:36px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.035);color:#e4ebf4;padding:0 10px;outline:0}
.nemezidaEditorChangeNote:focus{border-color:rgba(111,143,255,.5)}
.nemezidaEditorSaveState{font-size:11px;color:#7f8c9e;white-space:nowrap}
.nemezidaEditorSaveState.dirty{color:#e5be65}
.nemezidaEditorToolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:7px 14px;border-bottom:1px solid rgba(255,255,255,.07);background:#182230}
.nemezidaEditorTool{width:32px;height:32px;display:grid;place-items:center;border:1px solid transparent;border-radius:7px;background:transparent;color:#b9c4d3;cursor:pointer}
.nemezidaEditorTool:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.07);color:#fff}
.nemezidaEditorFormat{height:32px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#1c2735;color:#d9e0e9;padding:0 8px}
.editorToolSeparator{width:1px;height:22px;background:rgba(255,255,255,.08);margin:0 3px}
.nemezidaEditorWorkspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:0;background:#0e141d}
.nemezidaEditorCanvasWrap{overflow:auto;padding:28px 20px 60px;display:flex;justify-content:center}
.nemezidaEditorPage{width:min(820px,100%);min-height:1120px;background:#fff;color:#1b1d21;box-shadow:0 12px 40px rgba(0,0,0,.35);border-radius:2px}
.nemezidaEditorContent{min-height:1120px;padding:76px 84px 90px;outline:none;font-family:"Times New Roman",Times,serif;font-size:16px;line-height:1.5;word-wrap:break-word}
.nemezidaEditorContent h1{font-size:26px;line-height:1.25;margin:22px 0 14px}
.nemezidaEditorContent h2{font-size:21px;line-height:1.3;margin:20px 0 12px}
.nemezidaEditorContent h3{font-size:18px;line-height:1.35;margin:18px 0 10px}
.nemezidaEditorContent p{margin:0 0 10px}
.nemezidaEditorContent ul,.nemezidaEditorContent ol{padding-left:32px}
.nemezidaEditorContent table{width:100%;border-collapse:collapse;margin:14px 0}
.nemezidaEditorContent th,.nemezidaEditorContent td{border:1px solid #777;padding:6px 8px;vertical-align:top}
.nemezidaEditorContent blockquote{margin:14px 0;padding:8px 14px;border-left:3px solid #8b8b8b;color:#444}
.nemezidaEditorContent .page-break{height:34px;margin:28px -84px;border-top:1px dashed #b8b8b8;border-bottom:1px dashed #b8b8b8;background:#f3f4f6;color:#8b8b8b;display:flex;align-items:center;justify-content:center;font:12px Arial,sans-serif;user-select:none}
.nemezidaEditorSidebar{min-width:0;overflow:auto;border-left:1px solid rgba(255,255,255,.07);background:#151d29;padding:12px}
.nemezidaEditorSidebarHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.editorRevisionList{display:flex;flex-direction:column;gap:6px}
.editorRevisionItem{width:100%;text-align:left;border:1px solid rgba(255,255,255,.06);border-radius:9px;background:rgba(255,255,255,.025);color:#d9e1eb;padding:9px;cursor:pointer}
.editorRevisionItem:hover,.editorRevisionItem.active{background:rgba(111,143,255,.09);border-color:rgba(111,143,255,.22)}
.editorRevisionItem>div{display:flex;justify-content:space-between;gap:8px}
.editorRevisionItem span,.editorRevisionItem small{display:block;color:#8390a2;font-size:10px;margin-top:3px}
.editorRevisionPreview{margin-top:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px}
.editorRevisionPreviewHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.editorRevisionPreviewBody{max-height:340px;overflow:auto;padding:12px;background:#fff;color:#1b1d21;border-radius:6px;font-family:"Times New Roman",Times,serif;font-size:13px;line-height:1.4}
.editorRevisionPreview .btn{width:100%;margin-top:8px}
.nemezidaEditorError{padding:7px 14px;background:#151d29;min-height:0}
@media(max-width:1000px){
  .nemezidaEditorWorkspace{grid-template-columns:minmax(0,1fr) 240px}
  .nemezidaEditorTopbar{align-items:flex-start;flex-direction:column}
  .nemezidaEditorTopActions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .nemezidaEditorTitle{width:min(85vw,650px)}
}
@media(max-width:760px){
  .nemezidaEditorWorkspace{grid-template-columns:1fr}
  .nemezidaEditorSidebar{display:none}
  .nemezidaEditorCanvasWrap{padding:10px 6px 40px}
  .nemezidaEditorPage{min-height:100%;border-radius:0}
  .nemezidaEditorContent{min-height:calc(100vh - 230px);padding:36px 24px 60px}
  .nemezidaEditorContent .page-break{margin-left:-24px;margin-right:-24px}
  .nemezidaEditorChangeNote{width:min(100%,280px)}
}

.approvalHeaderActions,.caseDocumentHeadActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:680px){
  .approvalHeaderActions,.caseDocumentHeadActions{width:100%}
}

/* ===== DOCUMENT TEMPLATE BUILDER / STAGE 13 ===== */
.templateWorkspace{display:grid;grid-template-columns:280px minmax(0,1fr) 330px;gap:14px;height:100%;min-height:0}
.templateListPane,.templateToolboxPane,.templateBuilderPane{min-height:0;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.02)}
.templateListPane,.templateToolboxPane{overflow:auto;padding:12px}
.templateBuilderPane{display:flex;flex-direction:column;overflow:hidden}
.templateListHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.templateListTitle{font-size:16px;font-weight:800;color:#eef3f9}
.templateSearchBox{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.025);margin-bottom:9px}
.templateSearchBox input{width:100%;height:34px;border:0;background:transparent;color:#e4ebf4;outline:0}
.templateStatusTabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:9px}
.templateStatusTabs button{border:0;border-radius:7px;background:rgba(255,255,255,.025);color:#7f8b9b;padding:7px 4px;font-size:10px;cursor:pointer}
.templateStatusTabs button.active{background:rgba(111,143,255,.14);color:#dce5ff}
.templateList{display:flex;flex-direction:column;gap:6px}
.templateListItem{display:block;width:100%;text-align:left;padding:10px;border:1px solid rgba(255,255,255,.055);border-radius:10px;background:rgba(255,255,255,.02);color:#dbe3ec;cursor:pointer}
.templateListItem:hover,.templateListItem.active{background:rgba(111,143,255,.08);border-color:rgba(111,143,255,.22)}
.templateListItemTop{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.templateListItemTop b{font-size:12px;line-height:1.35}
.templateListItem>span,.templateListItem>small{display:block;color:#818ea0;font-size:10px;margin-top:4px}
.templateStatusBadge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:700;white-space:nowrap}
.templateStatusBadge.active{background:rgba(67,180,120,.13);color:#89d9ad}
.templateStatusBadge.draft{background:rgba(229,190,101,.12);color:#e4bf71}
.templateStatusBadge.archived{background:rgba(119,131,151,.12);color:#98a3b3}
.templateEmptyList{padding:24px 10px;text-align:center;color:#738093;font-size:12px}
.templateBuilderEmpty{display:grid;place-items:center}
.templateEmptyHero{text-align:center;color:#7d899a}
.templateEmptyHero i{font-size:38px;margin-bottom:10px;color:#64758d}
.templateEmptyHero h3{color:#dfe6ef;margin:0 0 6px}
.templateEmptyHero p{margin:0}
.templateBuilderHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 15px 10px}
.templateBuilderIdentity{min-width:0;flex:1}
.templateBuilderTitleRow{display:flex;align-items:center;gap:8px}
.templateBuilderName{width:min(600px,100%);border:0;background:transparent;color:#f0f4f9;font-size:17px;font-weight:800;outline:0;padding:2px 0}
.templateBuilderName:focus{box-shadow:0 1px 0 rgba(111,143,255,.4)}
.templateBuilderName:disabled{opacity:1}
.templateBuilderMetaRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px;color:#778496;font-size:10px}
.templateBuilderMetaRow input{height:27px;min-width:180px;border:1px solid rgba(255,255,255,.07);border-radius:7px;background:rgba(255,255,255,.025);color:#bac5d3;padding:0 8px;outline:0}
.templateBuilderHeaderActions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.templateDescriptionInput{margin:0 15px 10px;min-height:54px;max-height:100px;resize:vertical;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.025);color:#cfd7e2;padding:9px 10px;outline:0}
.templateBuilderToolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:7px 14px;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.018)}
.templateToolBtn{width:31px;height:31px;display:grid;place-items:center;border:1px solid transparent;border-radius:7px;background:transparent;color:#aeb9c8;cursor:pointer}
.templateToolBtn:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.07);color:#fff}
.templatePaperWrap{flex:1;min-height:0;overflow:auto;padding:22px;background:#0f151e;display:flex;justify-content:center}
.templateBuilderEditor{width:min(760px,100%);min-height:980px;background:#fff;color:#1a1d21;box-shadow:0 10px 34px rgba(0,0,0,.28);padding:68px 76px 80px;outline:none;font:15px/1.5 "Times New Roman",Times,serif}
.templateBuilderEditor h1{font-size:25px}.templateBuilderEditor h2{font-size:20px}.templateBuilderEditor h3{font-size:17px}
.templateBuilderEditor table{width:100%;border-collapse:collapse}.templateBuilderEditor td,.templateBuilderEditor th{border:1px solid #777;padding:6px}
.templateBuilderFooter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.07);background:#151d29}
.templateSaveNoteWrap{display:flex;align-items:center;gap:9px;min-width:0;flex:1}
.templateSaveNoteWrap input{width:min(420px,100%);height:34px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.03);color:#dce4ed;padding:0 9px;outline:0}
.templateBuilderFooterActions{display:flex;gap:7px;flex-wrap:wrap}
#templateBuilderError{padding:0 14px 8px}
.templateToolboxPane{display:flex;flex-direction:column;gap:12px}
.templateToolboxSection,.templateHistorySection{border:1px solid rgba(255,255,255,.055);border-radius:11px;padding:10px;background:rgba(255,255,255,.018)}
.templateToolboxTitle{font-size:12px;font-weight:800;color:#dfe6ef}
.templateToolboxHint{font-size:10px;margin-top:2px}
.templateToolboxSectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.templateVariableGroups{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.templateVariableGroup{border:1px solid rgba(255,255,255,.05);border-radius:8px;overflow:hidden}
.templateVariableGroup summary{padding:7px 8px;cursor:pointer;color:#aeb9c8;font-size:11px;font-weight:700;background:rgba(255,255,255,.02)}
.templateVariableGroup>div{display:flex;flex-direction:column;padding:4px}
.templateVariableBtn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:0;border-radius:6px;background:transparent;color:#cbd4df;padding:6px;cursor:pointer;text-align:left}
.templateVariableBtn:hover{background:rgba(111,143,255,.08)}
.templateVariableBtn span{font-size:10px}.templateVariableBtn code{font-size:9px;color:#778aa7}
.templateBlocksList{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.templateBlockItem{display:flex;align-items:center;gap:5px}
.templateBlockInsertBtn{flex:1;min-width:0;text-align:left;border:1px solid rgba(255,255,255,.05);border-radius:8px;background:rgba(255,255,255,.02);color:#d4dce6;padding:7px 8px;cursor:pointer}
.templateBlockInsertBtn:hover{background:rgba(111,143,255,.08)}
.templateBlockInsertBtn b,.templateBlockInsertBtn span{display:block}.templateBlockInsertBtn b{font-size:10px}.templateBlockInsertBtn span{font-size:9px;color:#7d8999;margin-top:2px}
.templateVersionList,.templateAuditList{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.templateVersionItem{display:flex;align-items:center;gap:5px}
.templateVersionPreviewBtn{flex:1;text-align:left;border:1px solid rgba(255,255,255,.05);border-radius:8px;background:rgba(255,255,255,.02);color:#ccd5e0;padding:7px;cursor:pointer}
.templateVersionItem.active .templateVersionPreviewBtn{border-color:rgba(111,143,255,.22);background:rgba(111,143,255,.07)}
.templateVersionPreviewBtn b,.templateVersionPreviewBtn span,.templateVersionPreviewBtn small{display:block;font-size:9px}.templateVersionPreviewBtn b{font-size:10px}.templateVersionPreviewBtn span,.templateVersionPreviewBtn small{color:#7f8b9b;margin-top:2px}
.templateAuditItem{display:grid;grid-template-columns:10px 1fr;gap:7px;padding:5px 0}
.templateAuditDot{width:7px;height:7px;border-radius:50%;background:#708fff;margin-top:4px}
.templateAuditItem b,.templateAuditItem small{display:block}.templateAuditItem b{font-size:10px;color:#cbd4df}.templateAuditItem small{font-size:9px;color:#758193;margin-top:2px}
.templateSmallModal{width:min(540px,92vw)}
.templateBlockModal{width:min(760px,94vw)}
.templateBlockFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.templateBlockToolbar{display:flex;align-items:center;gap:5px;margin:6px 0}
.templateBlockToolbar select{height:32px;min-width:220px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#1c2735;color:#d7e0ea;padding:0 8px}
.templateBlockEditor{min-height:250px;max-height:45vh;overflow:auto;background:#fff;color:#1a1d21;padding:24px;border-radius:7px;outline:none;font:14px/1.5 "Times New Roman",Times,serif}
.templateModalFooterRight{display:flex;gap:7px}
.templatePreviewModal{width:min(1060px,96vw);max-height:94vh;overflow:auto}
.templatePreviewHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.templatePreviewControls{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin:10px 0}
.templatePreviewPaperWrap{background:#0f151e;border-radius:10px;padding:20px;max-height:52vh;overflow:auto}
.templatePreviewPaper,.templateVersionPreviewPaper{width:min(760px,100%);margin:0 auto;min-height:600px;background:#fff;color:#1b1e22;padding:62px 70px;box-shadow:0 8px 26px rgba(0,0,0,.25);font:15px/1.5 "Times New Roman",Times,serif}
.templateMissingBox{border:1px solid rgba(231,180,78,.25);border-radius:10px;background:rgba(231,180,78,.06);padding:10px;margin:10px 0}
.templateMissingTitle{font-weight:800;color:#e5c174;font-size:12px;margin-bottom:8px}
.templateMissingGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.templatePreviewOk{border:1px solid rgba(72,185,121,.22);border-radius:9px;background:rgba(72,185,121,.06);color:#8fd4ad;padding:9px 10px;margin:10px 0;font-size:11px}
.templatePreviewPaper .template-missing,.templateBuilderEditor .template-missing{background:#fff1c9;color:#8a5a00;padding:1px 3px;border-radius:3px}
.templateVersionPreviewModal{width:min(920px,94vw);max-height:92vh;overflow:auto}
.templateVersionPreviewPaper{margin-top:12px;min-height:650px}
@media(max-width:1260px){
  .templateWorkspace{grid-template-columns:240px minmax(0,1fr) 280px}
  .templateBuilderEditor{padding-left:48px;padding-right:48px}
}
@media(max-width:980px){
  .templateWorkspace{grid-template-columns:230px minmax(0,1fr)}
  .templateToolboxPane{grid-column:1/-1;max-height:420px}
}
@media(max-width:720px){
  .templateWorkspace{grid-template-columns:1fr;height:auto}
  .templateListPane{max-height:300px}
  .templateBuilderPane{min-height:780px}
  .templateBuilderHeader,.templateBuilderFooter{flex-direction:column;align-items:stretch}
  .templateBuilderHeaderActions,.templateBuilderFooterActions{justify-content:flex-start}
  .templatePaperWrap{padding:8px}
  .templateBuilderEditor{min-height:700px;padding:32px 24px}
  .templatePreviewControls,.templateMissingGrid,.templateBlockFormGrid{grid-template-columns:1fr}
  .templatePreviewPaper,.templateVersionPreviewPaper{padding:34px 24px}
}
.templateCompanyModal{width:min(860px,94vw);max-height:92vh;overflow:auto}
.templateCompanyGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.templateCompanyWide{grid-column:1/-1}
@media(max-width:700px){.templateCompanyGrid{grid-template-columns:1fr}.templateCompanyWide{grid-column:auto}}

/* ===== DOCX / PDF EXPORTS / STAGE 14 ===== */
.documentExportPanel{margin:12px 0;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.018);padding:12px}
.documentExportList{display:flex;flex-direction:column;gap:7px}
.documentExportRow{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:rgba(255,255,255,.02)}
.documentExportRow.stale{opacity:.64}
.documentExportIcon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:rgba(111,143,255,.09);color:#b9c8ff;font-size:16px}
.documentExportMeta{min-width:0;display:flex;flex-direction:column;gap:2px}
.documentExportMeta b{font-size:12px;color:#dfe7f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.documentExportMeta span,.documentExportMeta small{font-size:10px;color:#7f8c9e}
.documentExportActions{display:flex;align-items:center;gap:5px}
.documentExportActions .iconBtn{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.07);border-radius:8px;color:#b9c5d4;text-decoration:none}
.documentExportActions .iconBtn:hover{background:rgba(255,255,255,.06);color:#fff}
.nemezidaExportBtn{white-space:nowrap}

/* ===== CALENDAR WORKFLOW / STAGE 15 ===== */
.calendarStage15{display:flex;flex-direction:column;gap:14px}
.calendarToolbarV2{margin-bottom:0}
.calendarStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.calendarStats>div{padding:13px 15px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.025)}
.calendarStats span{display:block;color:#7f8b9c;font-size:11px;margin-bottom:4px}
.calendarStats b{font-size:21px;color:#e8eef7}
.calendarStats .danger{border-color:rgba(229,91,91,.28);background:rgba(229,91,91,.07)}
.calendarStats .danger b{color:#f0a3a3}
.calendarDueBar{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(231,179,72,.22);border-radius:10px;background:rgba(231,179,72,.07);color:#dec992;font-size:12px}
.calendarFilterBar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.calendarFilterBar label{display:flex;align-items:center;gap:7px;min-width:250px;flex:1;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.025)}
.calendarFilterBar input{height:36px;flex:1;border:0;outline:0;background:transparent;color:#e5ecf5}
.calendarFilterBar select{height:38px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#1a2431;color:#dfe6ef;padding:0 10px}
.calCell.isToday{box-shadow:inset 0 0 0 1px rgba(104,139,255,.45)}
.calEventChip.kind-hearing .dot{background:#bd8cff}
.calEventChip.kind-deadline .dot{background:#ed8f72}
.calEventChip.kind-internal .dot{background:#d6b85e}
.calEventChip.kind-meeting .dot{background:#72c7a5}
.calEventChip.kind-reminder .dot{background:#72b2df}
.calEventChip.overdue{background:rgba(220,79,79,.11);border-color:rgba(220,79,79,.24)}
.calEventChip.status-completed{opacity:.55;text-decoration:line-through}
.calendarList{display:flex;flex-direction:column;gap:6px}
.calendarListDay{padding:12px 4px 5px;color:#8d9aab;font-size:12px;text-transform:capitalize}
.calendarListItem{display:grid;grid-template-columns:95px 36px minmax(0,1fr) 150px auto;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(255,255,255,.022);color:#dfe6ef;cursor:pointer}
.calendarListItem:hover{background:rgba(255,255,255,.05)}
.calendarListItem.overdue{border-color:rgba(224,88,88,.25);background:rgba(224,88,88,.05)}
.calendarListTime{font-size:12px;color:#8d99aa}
.calendarListIcon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:rgba(105,139,255,.1);color:#b7c8ff}
.calendarListIcon.kind-hearing{color:#d5b4ff;background:rgba(189,140,255,.1)}
.calendarListIcon.kind-deadline{color:#efab96;background:rgba(237,143,114,.1)}
.calendarListIcon.kind-meeting{color:#96d9bf;background:rgba(114,199,165,.1)}
.calendarListMain{min-width:0}
.calendarListMain b,.calendarListMain span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendarListMain span{font-size:11px;color:#8794a5;margin-top:3px}
.calendarListOwner{font-size:12px;color:#9da9b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendarStatus{font-size:10px;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.06);color:#aeb9c8;white-space:nowrap}
.calendarStatus.status-completed{color:#92d4b2;background:rgba(83,181,132,.1)}
.calendarStatus.status-cancelled{color:#9ca5b2}
.calendarEmpty,.calendarColumnEmpty{padding:24px;text-align:center;color:#778495;border:1px dashed rgba(255,255,255,.07);border-radius:10px}
.calendarKindBoard{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:10px;overflow:auto}
.calendarKindColumn{min-width:190px;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:rgba(255,255,255,.018);padding:10px}
.calendarKindColumnHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.calendarKindColumnHead span{font-size:11px;color:#7f8c9d}
.calendarKindCards{display:flex;flex-direction:column;gap:7px}
.calendarKindCard{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;padding:10px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:rgba(255,255,255,.025);color:#dce4ee;cursor:pointer}
.calendarKindCard:hover{background:rgba(255,255,255,.055)}
.calendarKindCard.overdue{border-color:rgba(224,88,88,.25);background:rgba(224,88,88,.05)}
.calendarKindCardTop{display:flex;align-items:center;gap:6px;color:#8f9cad;font-size:10px}
.calendarKindCard small{color:#7f8c9d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendarProposalsPanel{border:1px solid rgba(255,255,255,.065);border-radius:11px;background:rgba(255,255,255,.02);padding:12px}
.calendarProposalsPanel.hasItems{border-color:rgba(105,139,255,.18)}
.calendarPanelHead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.calendarPanelHead>div{display:flex;flex-direction:column;gap:2px}
.calendarPanelHead span{font-size:11px;color:#7f8b9c}
.calendarProposalCount{min-width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:rgba(105,139,255,.12);color:#b9c8ff!important}
.calendarProposalList{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.calendarProposalItem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:rgba(255,255,255,.02)}
.calendarProposalItem>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.calendarProposalItem span,.calendarProposalItem small{color:#8794a5;font-size:11px}
.calendarProposalActions{display:flex;gap:6px;flex:0 0 auto}
.calendarProposalEmpty{margin-top:8px;color:#707d8e;font-size:12px}
.calendarEventModalV2{width:min(820px,94vw);max-height:92vh;overflow:auto}
.calendarEventFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.calendarFieldWide{grid-column:1/-1}
.calendarCheckField{display:flex;align-items:center;gap:8px;margin:6px 0 14px;color:#cad4df;font-size:12px}
.calendarModalSection{margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.065)}
.calendarModalSectionTitle{font-size:13px;font-weight:700;color:#dfe7f1;margin-bottom:8px}
.calendarModalSectionHead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.calendarMemberGrid,.calendarReminderGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.calendarMemberCheck,.calendarReminderCheck{display:flex;align-items:flex-start;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:rgba(255,255,255,.02);font-size:12px;color:#cfd8e3}
.calendarMemberCheck span{display:flex;flex-direction:column;gap:2px}
.calendarMemberCheck small{color:#778496;font-size:10px}
.calendarChecklistRow{display:grid;grid-template-columns:24px minmax(0,1fr) 32px;align-items:center;gap:7px;margin-top:6px}
.calendarChecklistRow input[type=text]{height:36px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.025);color:#e0e7ef;padding:0 9px}
.calendarChecklistRow .iconBtn{width:31px;height:31px;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);color:#a8b3c1;cursor:pointer}
.calendarConflictBox{margin-top:12px;padding:10px 11px;border:1px solid rgba(231,174,68,.28);border-radius:9px;background:rgba(231,174,68,.07);color:#d9c48e;font-size:12px}
.calendarConflictBox>b,.calendarConflictBox>span{display:block;margin-bottom:4px}
.calendarConflictBox>div{padding:2px 0;color:#b8a978}
.calendarModalFooterActions{display:flex;gap:8px}
.calendarDeleteDanger{border-color:rgba(225,84,84,.26)!important;color:#e8a1a1!important}
@media(max-width:900px){
  .calendarStats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calendarListItem{grid-template-columns:80px 34px minmax(0,1fr) auto}
  .calendarListOwner{display:none}
}
@media(max-width:680px){
  .calendarEventFormGrid{grid-template-columns:1fr}
  .calendarFieldWide{grid-column:auto}
  .calendarMemberGrid,.calendarReminderGrid{grid-template-columns:1fr}
  .calendarFilterBar label{min-width:100%;width:100%}
  .calendarFilterBar select{flex:1;min-width:0}
  .calendarListItem{grid-template-columns:65px 30px minmax(0,1fr)}
  .calendarListItem .calendarStatus{display:none}
  .calendarStats{grid-template-columns:1fr 1fr}
  .calendarProposalItem{align-items:flex-start;flex-direction:column}
}
.caseCalendarStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
.caseCalendarStats>div{padding:10px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:rgba(255,255,255,.022)}
.caseCalendarStats span{display:block;color:#7f8b9c;font-size:10px;margin-bottom:3px}
.caseCalendarStats b{font-size:17px;color:#e4ebf4}
.caseCalendarList{display:flex;flex-direction:column;gap:6px}
.caseCalendarEvent{display:grid;grid-template-columns:125px 34px minmax(0,1fr) 150px;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 10px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:rgba(255,255,255,.02);color:#dfe6ef;cursor:pointer}
.caseCalendarEvent:hover{background:rgba(255,255,255,.05)}
.caseCalendarEvent.overdue{border-color:rgba(224,88,88,.24);background:rgba(224,88,88,.05)}
.caseCalendarDate,.caseCalendarResponsible{font-size:11px;color:#8996a7}
.caseCalendarIcon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:rgba(105,139,255,.1);color:#bbcbff}
.caseCalendarMain b,.caseCalendarMain span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.caseCalendarMain span{font-size:11px;color:#8491a2;margin-top:2px}
@media(max-width:760px){.caseCalendarStats{grid-template-columns:1fr 1fr}.caseCalendarEvent{grid-template-columns:95px 30px minmax(0,1fr)}.caseCalendarResponsible{display:none}}
