:root {
  --primary: #0d1b3d;
  --accent: #d4af37;
  --bg: #f5f7fb;
  --surface: #fff;
  --text: #101828;
  --muted: #667085;
  --line: #e6eaf0;
  --danger: #d92d20;
  --ok: #079455;
  --warn: #dc6803;
  --violet: #6938ef;
  --info: #175cd3;
  --radius: 16px;
  --shadow: 0 8px 28px rgba(16, 24, 40, 0.07);
}
* {
  box-sizing: border-box;
}
html {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  color: var(--text);
  background: var(--bg);
}
body {
  margin: 0;
}
.app-shell {
  display: grid;
  grid-template-columns: 238px 1fr;
  min-height: 100vh;
}
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 238px;
  background: linear-gradient(180deg, var(--primary), #07142e);
  color: white;
  padding: 20px 14px;
  display: flex;
  flex-direction: column;
  z-index: 20;
}
.brand {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 10px 8px 24px;
  color: white;
  text-decoration: none;
}
.brand strong {
  display: block;
  font-size: 15px;
  max-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.brand small {
  display: block;
  color: #ccd5e5;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-size: 10px;
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid color-mix(in srgb, var(--accent), white 20%);
  border-radius: 12px;
  color: var(--accent);
  font-size: 21px;
}
.brand-logo {
  width: 42px;
  height: 42px;
  object-fit: contain;
  border-radius: 10px;
  background: #fff;
  padding: 3px;
}
.sidebar nav {
  display: grid;
  gap: 5px;
}
.nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border-radius: 10px;
  color: #e9eef7;
  text-decoration: none;
  font-size: 14px;
}
.nav-item:hover,
.nav-item.active {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.nav-item.active {
  box-shadow: inset 3px 0 var(--accent);
}
.sidebar-foot {
  margin-top: auto;
}
.privacy-mini {
  font-size: 11px;
  color: #bec8d8;
  padding: 12px;
}
.main {
  grid-column: 2;
  min-width: 0;
}
.topbar {
  height: 70px;
  background: rgba(255, 255, 255, 0.93);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  padding: 0 24px;
  position: sticky;
  top: 0;
  z-index: 10;
}
.global-search {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fbfcfe;
  padding: 0 12px;
  width: min(500px, 55vw);
}
.global-search input {
  border: 0;
  outline: 0;
  background: transparent;
  padding: 11px 0;
  width: 100%;
}
.user-menu {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: right;
}
.user-menu strong,
.user-menu small {
  display: block;
}
.user-menu strong {
  font-size: 13px;
}
.user-menu small {
  font-size: 11px;
  color: var(--muted);
}
.avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--primary);
  color: white;
  font-weight: 700;
}
.content {
  padding: 24px;
}
.page-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}
.page-head h1 {
  font-size: 27px;
  margin: 0;
}
.page-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 14px;
}
.grid {
  display: grid;
  gap: 16px;
}
.kpis {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 16px;
}
.kpi {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 17px;
  box-shadow: 0 2px 12px rgba(16, 24, 40, 0.025);
}
.kpi small {
  color: var(--muted);
  display: block;
}
.kpi strong {
  display: block;
  font-size: 23px;
  margin-top: 8px;
}
.kpi .trend {
  font-size: 11px;
  color: var(--ok);
  margin-top: 7px;
}
.two-col {
  grid-template-columns: minmax(0, 1fr) 330px;
}
.three-col {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
  margin-bottom: 16px;
  overflow: hidden;
}
.card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: -2px 0 14px;
}
.card-head h2 {
  font-size: 16px;
  margin: 0;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  padding: 10px 14px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 650;
  font-size: 13px;
  cursor: pointer;
}
.btn.primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.btn.accent {
  background: var(--accent);
  border-color: var(--accent);
  color: #1c2230;
}
.btn.danger {
  color: var(--danger);
  border-color: #fecdca;
}
.actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.filters,
.form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.field {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 650;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  border: 1px solid #d9dee7;
  border-radius: 10px;
  background: #fff;
  padding: 10px 11px;
  font: inherit;
  color: var(--text);
  outline: none;
}
.field textarea {
  min-height: 100px;
  resize: vertical;
}
.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: color-mix(in srgb, var(--primary), white 40%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary), transparent 90%);
}
.field.span-2 {
  grid-column: span 2;
}
.field.span-4 {
  grid-column: 1/-1;
}
.table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
}
table {
  border-collapse: collapse;
  width: 100%;
  font-size: 12.5px;
}
th,
td {
  padding: 12px 11px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}
th {
  color: #475467;
  background: #fbfcfd;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
tr:last-child td {
  border-bottom: 0;
}
a.link {
  color: var(--info);
  font-weight: 650;
  text-decoration: none;
}
.badge {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: #eef2f6;
  color: #475467;
}
.badge.ok {
  background: #ecfdf3;
  color: #027a48;
}
.badge.danger {
  background: #fef3f2;
  color: #b42318;
}
.badge.warn {
  background: #fffaeb;
  color: #b54708;
}
.badge.violet {
  background: #f4f3ff;
  color: #5925dc;
}
.badge.info {
  background: #eff8ff;
  color: #175cd3;
}
.badge.muted {
  background: #f2f4f7;
  color: #667085;
}
.alert-list {
  display: grid;
}
.alert-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.alert-row:last-child {
  border: 0;
}
.meta {
  font-size: 11px;
  color: var(--muted);
}
.stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.stat-box {
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.stat-box small {
  color: var(--muted);
}
.stat-box strong {
  display: block;
  margin-top: 6px;
  font-size: 18px;
}
.calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}
.cal-head,
.cal-day {
  padding: 10px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  min-height: 80px;
}
.cal-head {
  min-height: auto;
  background: #f8fafc;
  text-align: center;
  font-size: 11px;
  font-weight: 800;
}
.cal-day .num {
  font-weight: 700;
}
.cal-event {
  display: block;
  margin-top: 5px;
  padding: 4px 6px;
  border-radius: 6px;
  background: #eff8ff;
  color: #175cd3;
  font-size: 10px;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.timeline {
  border-left: 2px solid #dbe6ff;
  margin-left: 8px;
  padding-left: 18px;
}
.timeline-item {
  position: relative;
  padding: 0 0 18px;
}
.timeline-item:before {
  content: "";
  position: absolute;
  left: -24px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #2e70e8;
  border: 3px solid #e9f0ff;
}
.preview-box {
  padding: 14px;
  border: 1px dashed #cfd6e2;
  border-radius: 12px;
  background: #fbfcfe;
}
.flash {
  padding: 12px 14px;
  border-radius: 10px;
  margin-bottom: 14px;
  transition: 0.3s;
}
.flash.success {
  background: #ecfdf3;
  color: #027a48;
}
.flash.error {
  background: #fef3f2;
  color: #b42318;
}
.flash.fade {
  opacity: 0.15;
}
.app-footer {
  color: var(--muted);
  font-size: 11px;
  padding: 18px 0;
  text-align: center;
}
.auth-body {
  min-height: 100vh;
  background: #f8fafc;
}
.auth-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 45% 55%;
}
.auth-brand {
  background: radial-gradient(
    circle at 20% 10%,
    #15386e 0,
    var(--primary) 45%,
    #061127 100%
  );
  color: white;
  padding: 72px clamp(30px, 6vw, 90px);
  position: relative;
  overflow: hidden;
}
.auth-brand:after {
  content: "⚖";
  position: absolute;
  font-size: 340px;
  opacity: 0.035;
  right: -50px;
  top: 100px;
}
.auth-brand .logo-big {
  font-size: 34px;
  color: var(--accent);
  font-weight: 800;
}
.auth-brand h1 {
  font-family: Georgia, serif;
  font-size: 50px;
  margin: 20px 0 8px;
}
.auth-brand p {
  color: #dbe4f1;
  line-height: 1.6;
  max-width: 520px;
}
.benefit {
  display: flex;
  gap: 13px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}
.benefit i {
  width: 38px;
  height: 38px;
  border: 1px solid var(--accent);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--accent);
  font-style: normal;
}
.benefit strong,
.benefit small {
  display: block;
}
.benefit small {
  color: #cad4e4;
  margin-top: 4px;
}
.auth-main {
  display: grid;
  place-items: center;
  padding: 40px;
}
.auth-card {
  width: min(480px, 100%);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 18px 50px rgba(16, 24, 40, 0.12);
  border-radius: 20px;
  padding: 32px;
}
.auth-card h2 {
  font-size: 27px;
  margin: 0 0 8px;
}
.auth-card > p {
  color: var(--muted);
  margin: 0 0 24px;
}
.auth-card .field {
  margin-bottom: 14px;
}
.auth-card .btn {
  width: 100%;
  margin-top: 4px;
  padding: 12px;
}
.auth-note {
  background: #fffaeb;
  border: 1px solid #fedf89;
  color: #7a2e0e;
  padding: 12px;
  border-radius: 10px;
  font-size: 12px;
  margin-top: 16px;
}
.auth-links {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 12px;
  font-size: 12px;
}
.auth-links a {
  color: var(--info);
  text-decoration: none;
}
.mobile-menu {
  display: none;
}
.empty {
  padding: 30px;
  text-align: center;
  color: var(--muted);
}
.settings-preview {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  background: #f8fafc;
}
.color-field {
  display: flex;
  gap: 8px;
  align-items: center;
}
.color-field input[type="color"] {
  width: 50px;
  padding: 3px;
  height: 42px;
}
.search-results {
  display: grid;
  gap: 12px;
}
.result {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
}
.result:hover {
  border-color: #a7b5cb;
  background: #fbfdff;
}
@media (max-width: 1100px) {
  .kpis {
    grid-template-columns: repeat(2, 1fr);
  }
  .two-col {
    grid-template-columns: 1fr;
  }
  .filters,
  .form-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 760px) {
  .app-shell {
    display: block;
  }
  .sidebar {
    transform: translateX(-100%);
    transition: 0.25s;
  }
  .sidebar-open .sidebar {
    transform: none;
  }
  .main {
    grid-column: auto;
  }
  .mobile-menu {
    display: inline-flex;
    margin-right: 10px;
  }
  .content {
    padding: 16px;
  }
  .global-search {
    width: 100%;
  }
  .user-menu > div:first-child {
    display: none;
  }
  .kpis,
  .three-col,
  .stat-row {
    grid-template-columns: 1fr;
  }
  .filters,
  .form-grid {
    grid-template-columns: 1fr;
  }
  .field.span-2,
  .field.span-4 {
    grid-column: auto;
  }
  .auth-shell {
    grid-template-columns: 1fr;
  }
  .auth-brand {
    display: none;
  }
  .auth-main {
    padding: 18px;
  }
  .calendar {
    min-width: 700px;
  }
  .card {
    padding: 14px;
  }
}

/* LexControl v1.3 - premium responsive navigation */
.icon-svg {
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: -0.18em;
}
.nav-ico {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  flex: 0 0 22px;
}
.nav-ico .icon-svg {
  width: 19px;
  height: 19px;
}
.brand-mark .icon-svg {
  width: 23px;
  height: 23px;
}
.privacy-mini {
  display: flex;
  align-items: center;
  gap: 7px;
}
.privacy-mini .icon-svg {
  width: 14px;
  height: 14px;
  color: var(--accent);
}
.global-search > span {
  display: grid;
  place-items: center;
}
.global-search .icon-svg {
  width: 17px;
  height: 17px;
  color: var(--muted);
}
.mobile-app-nav,
.mobile-more-sheet,
.mobile-more-backdrop {
  display: none;
}
.auth-brand {
  background: radial-gradient(
    circle at 20% 10%,
    color-mix(in srgb, var(--primary), #245fa6 20%) 0,
    var(--primary) 43%,
    #050d1b 100%
  );
}
.auth-brand .logo-big {
  width: 220px;
  height: 70px;
  background: url("lexcontrol-logo-v210.svg") left center/contain no-repeat;
  font-size: 0;
}
.auth-brand h1 {
  font-family: Georgia, serif;
}
.auth-card {
  border-color: color-mix(in srgb, var(--accent), #e6eaf0 80%);
}
@media (max-width: 1024px) {
  body:not(.auth-body) {
    padding-bottom: 82px;
  }
  .app-shell {
    display: block;
  }
  .sidebar {
    display: none;
  }
  .main {
    grid-column: auto;
  }
  .topbar {
    height: 64px;
    padding: 0 18px;
  }
  .content {
    padding: 18px;
  }
  .global-search {
    width: min(620px, calc(100% - 54px));
  }
  .user-menu > div:first-child {
    display: none;
  }
  .kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .two-col {
    grid-template-columns: 1fr;
  }
  .filters,
  .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .app-footer {
    padding-bottom: 18px;
  }
  .mobile-menu {
    display: none !important;
  }
  .mobile-app-nav {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    background: color-mix(in srgb, var(--primary), #020814 30%);
    border-top: 1px solid color-mix(in srgb, var(--accent), transparent 68%);
    padding: 7px max(8px, env(safe-area-inset-right))
      calc(7px + env(safe-area-inset-bottom))
      max(8px, env(safe-area-inset-left));
    box-shadow: 0 -14px 34px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(18px);
  }
  .mobile-app-nav a,
  .mobile-app-nav button {
    appearance: none;
    border: 0;
    background: transparent;
    color: #c5cfdd;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-width: 0;
    padding: 5px 2px;
    font: inherit;
    text-decoration: none;
    cursor: pointer;
  }
  .mobile-app-nav span {
    font-size: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  .mobile-app-nav .icon-svg {
    width: 23px;
    height: 23px;
  }
  .mobile-app-nav a.active {
    color: var(--accent);
  }
  .mobile-more-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.42);
    z-index: 94;
    opacity: 0;
    pointer-events: none;
    transition: 0.2s;
  }
  .mobile-more-sheet {
    display: block;
    position: fixed;
    z-index: 95;
    left: 12px;
    right: 12px;
    bottom: calc(76px + env(safe-area-inset-bottom));
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 8px 16px 18px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
    transform: translateY(125%);
    opacity: 0;
    pointer-events: none;
    transition: 0.24s ease;
  }
  .mobile-more-open .mobile-more-backdrop {
    opacity: 1;
    pointer-events: auto;
  }
  .mobile-more-open .mobile-more-sheet {
    transform: none;
    opacity: 1;
    pointer-events: auto;
  }
  .mobile-more-handle {
    width: 42px;
    height: 4px;
    border-radius: 999px;
    background: var(--line);
    margin: 3px auto 10px;
  }
  .mobile-more-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
  }
  .mobile-more-head strong {
    font-size: 15px;
  }
  .mobile-more-head button {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: var(--bg);
    color: var(--text);
    font-size: 22px;
    cursor: pointer;
  }
  .mobile-more-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
  }
  .mobile-more-grid a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 7px;
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: 13px 7px;
    color: var(--text);
    text-decoration: none;
    background: color-mix(in srgb, var(--surface), var(--bg) 25%);
  }
  .mobile-more-grid a .icon-svg {
    width: 23px;
    height: 23px;
    color: var(--accent);
  }
  .mobile-more-grid a span {
    font-size: 10px;
  }
  .table-wrap {
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .calendar {
    overflow: auto;
  }
  .page-head h1 {
    font-size: 25px;
  }
}
@media (max-width: 620px) {
  body:not(.auth-body) {
    padding-bottom: 78px;
  }
  .topbar {
    padding: 0 12px;
  }
  .content {
    padding: 14px 12px;
  }
  .global-search {
    width: calc(100% - 48px);
  }
  .kpis,
  .three-col,
  .stat-row,
  .filters,
  .form-grid {
    grid-template-columns: 1fr;
  }
  .field.span-2,
  .field.span-4 {
    grid-column: auto;
  }
  .mobile-more-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .mobile-app-nav span {
    font-size: 9px;
  }
  .mobile-app-nav .icon-svg {
    width: 21px;
    height: 21px;
  }
  .card {
    padding: 14px;
  }
  .page-head {
    margin-bottom: 14px;
  }
  .page-head h1 {
    font-size: 23px;
  }
  .page-head p {
    font-size: 12px;
  }
  .auth-shell {
    grid-template-columns: 1fr;
  }
  .auth-brand {
    display: none;
  }
  .auth-main {
    padding: 16px;
  }
  .auth-card {
    padding: 25px 20px;
    border-radius: 18px;
  }
  .auth-card h2 {
    font-size: 25px;
  }
}

/* LexControl v1.4.0 premium light only */
:root {
  --bg: #eef3f9;
  --surface: rgba(255, 255, 255, 0.92);
  --text: #0f1d3a;
  --muted: #5f6f86;
  --line: #dce4ef;
  --shadow: 0 20px 55px rgba(18, 38, 63, 0.1);
  --shadow-soft: 0 12px 30px rgba(18, 38, 63, 0.08);
  --success: #16a34a;
  --danger: #dc2626;
  --warn: #c98a08;
  --info: #225ad6;
}
html,
body {
  font-size: 14px;
  background: radial-gradient(
    circle at top left,
    #f7f9fd 0,
    #eef3f9 60%,
    #e8eef7 100%
  );
  color: var(--text);
  min-height: 100%;
}
body,
button,
input,
select,
textarea {
  font-family:
    Inter,
    Segoe UI,
    Arial,
    sans-serif;
}
small,
.meta,
.trend,
.field span,
.auth-links,
.app-footer,
.benefit small,
.notif-item span {
  font-size: 13px !important;
}
.auth-body {
  background: linear-gradient(135deg, #f7f9fd, #edf3fa);
}
.app-shell {
  grid-template-columns: 260px 1fr;
  min-height: 100vh;
}
.main {
  min-width: 0;
}
.sidebar {
  background: linear-gradient(180deg, #081b48 0, #0b2259 100%);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.04);
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: auto;
}
.sidebar-particles,
.sidebar:before,
.sidebar:after {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.sidebar-particles:before,
.sidebar-particles:after,
.sidebar:before,
.sidebar:after {
  content: "";
  position: absolute;
  inset: 0;
}
.sidebar-particles:before {
  background:
    radial-gradient(
        circle at 20% 16%,
        rgba(212, 175, 55, 0.28) 0 1px,
        transparent 1.5px
      )
      0 0/110px 110px,
    radial-gradient(
        circle at 70% 28%,
        rgba(255, 255, 255, 0.16) 0 1px,
        transparent 1.5px
      )
      0 0/140px 140px;
  opacity: 0.55;
}
.sidebar-particles:after {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='560' viewBox='0 0 280 560'%3E%3Cg fill='none' stroke='%23d4af37' stroke-opacity='.16' stroke-width='1.6'%3E%3Cpath d='M54 130h48M78 106v24m18 8a24 24 0 1 1-36 0'/%3E%3Cpath d='M194 252h48M218 228v24m18 8a24 24 0 1 1-36 0'/%3E%3Cpath d='M44 410l24-34 24 34H44Z'/%3E%3Crect x='176' y='380' width='40' height='54' rx='6'/%3E%3Cpath d='M186 394h22M186 404h22M186 414h14'/%3E%3Cpath d='M208 474l16 10-4 20h-24l-4-20 16-10Z'/%3E%3C/g%3E%3C/svg%3E")
    center/cover no-repeat;
  opacity: 0.38;
}
.brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 18px 16px;
  border-radius: 22px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.98),
    rgba(248, 250, 255, 0.92)
  );
  box-shadow: 0 16px 35px rgba(0, 0, 0, 0.18);
  margin: 18px 14px 20px;
}
.brand-logo-wide {
  width: 100%;
  height: 60px;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  padding: 4px;
}
.brand-caption strong,
.brand-text strong {
  display: block;
  font-family: Georgia, serif;
  font-size: 28px;
  color: #102146;
  line-height: 1.05;
}
.brand-caption small,
.brand-text small {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7d8aa7;
}
.brand-mark {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  background: linear-gradient(180deg, #12326f, #091936);
  display: grid;
  place-items: center;
  color: var(--accent);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}
.brand-mark .icon-svg {
  width: 28px;
  height: 28px;
}
.sidebar nav {
  padding: 0 12px;
}
.nav-item {
  color: #e7eef9;
  padding: 14px 14px;
  border-radius: 16px;
  margin: 4px 0;
  background: transparent;
  border: 1px solid transparent;
  transition: 0.2s;
  font-size: 15px;
  font-weight: 600;
}
.nav-item:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.08);
}
.nav-item.active {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.16),
    rgba(255, 255, 255, 0.12)
  );
  border-color: rgba(212, 175, 55, 0.38);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 14px 24px rgba(0, 0, 0, 0.18);
}
.nav-item .nav-ico {
  color: var(--accent);
}
.sidebar-foot {
  padding: 14px;
}
.privacy-mini {
  background: rgba(255, 255, 255, 0.08);
  padding: 10px 12px;
  border-radius: 14px;
  color: #fff;
  margin-bottom: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.topbar {
  height: 80px;
  padding: 0 26px;
  background: rgba(255, 255, 255, 0.84);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(13, 27, 61, 0.08);
}
.topbar-right {
  display: flex;
  align-items: center;
  gap: 14px;
}
.notif-wrap {
  position: relative;
}
.notif-btn {
  position: relative;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(13, 27, 61, 0.1);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow-soft);
  color: #142753;
  cursor: pointer;
}
.notif-btn .icon-svg {
  width: 20px;
  height: 20px;
}
.notif-btn b {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #ef4444;
  color: #fff;
  font-size: 11px;
  min-width: 20px;
  height: 20px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  padding: 0 4px;
}
.notif-panel {
  position: absolute;
  right: 0;
  top: 58px;
  width: 320px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 12px;
  display: none;
  z-index: 40;
}
.notif-wrap.open .notif-panel {
  display: block;
}
.notif-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 10px;
}
.notif-item {
  padding: 10px 0;
  border-bottom: 1px solid #edf2f8;
  display: grid;
  gap: 2px;
}
.notif-item:last-child {
  border-bottom: 0;
}
.notif-item small {
  color: var(--accent);
  font-weight: 700;
}
.notif-item strong {
  font-size: 14px;
}
.notif-empty {
  padding: 16px;
  color: var(--muted);
  font-size: 13px;
}
.user-menu {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.74);
  padding: 8px 10px;
  border: 1px solid rgba(13, 27, 61, 0.08);
  border-radius: 20px;
  box-shadow: var(--shadow-soft);
}
.user-menu strong {
  display: block;
  font-size: 14px;
}
.avatar {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(180deg, var(--primary), #173979);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}
.avatar-img {
  object-fit: cover;
  border: 1px solid rgba(13, 27, 61, 0.08);
}
.content {
  padding: 26px;
}
.page-head h1 {
  font-size: 40px;
  letter-spacing: -0.03em;
}
.page-head p {
  font-size: 13px;
  color: var(--muted);
}
.card,
.auth-card,
.kpi,
.stat-box,
.settings-preview {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(220, 228, 239, 0.95);
  box-shadow: var(--shadow-soft);
  border-radius: 24px;
}
.card {
  padding: 22px;
}
.card-head h2 {
  font-size: 24px;
  letter-spacing: -0.02em;
}
.kpis {
  gap: 16px;
}
.kpi {
  padding: 22px;
  border-radius: 24px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.94),
    rgba(249, 251, 255, 0.88)
  );
}
.kpi small {
  display: block;
  color: #62718a;
  font-weight: 700;
}
.kpi strong {
  font-size: 30px;
  letter-spacing: -0.03em;
  margin-top: 6px;
}
.trend {
  margin-top: 6px;
  color: #58708d;
}
.btn {
  border-radius: 16px;
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 700;
  border: 1px solid rgba(13, 27, 61, 0.1);
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 22px rgba(15, 29, 58, 0.06);
}
.btn.primary {
  background: linear-gradient(180deg, var(--primary), #173979);
  color: #fff;
  border-color: transparent;
}
.btn.glass {
  background: rgba(255, 255, 255, 0.72);
}
.btn.danger {
  background: #fff5f5;
  color: #c53030;
  border-color: #fecaca;
}
.field {
  gap: 8px;
}
.field span {
  color: #4f5f78;
  font-weight: 700;
}
.field input,
.field select,
.field textarea,
.global-search {
  border-radius: 16px;
  border: 1px solid #d6dfeb;
  background: rgba(255, 255, 255, 0.88);
  min-height: 46px;
  font-size: 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
.global-search {
  height: 50px;
  width: min(560px, 100%);
  box-shadow: var(--shadow-soft);
}
textarea {
  min-height: 120px;
}
.badge {
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
}
.badge.info {
  background: #e9f1ff;
  color: #2047b8;
}
.badge.warn {
  background: #fff5df;
  color: #ae6400;
}
.badge.ok {
  background: #ecfdf3;
  color: #047857;
}
.badge.danger {
  background: #fef2f2;
  color: #b91c1c;
}
table {
  font-size: 14px;
}
th {
  font-size: 13px;
  color: #41526c;
  background: #f8fbff;
}
td {
  font-size: 14px;
}
.table-wrap {
  border: 1px solid #e2e8f2;
  border-radius: 18px;
}
.auth-shell {
  grid-template-columns: 48% 52%;
}
.auth-brand-premium {
  position: relative;
  overflow: hidden;
  padding: 72px clamp(36px, 7vw, 100px);
  background: linear-gradient(160deg, #07183d 0, #0d2760 62%, #102b68 100%);
}
.auth-brand-premium:before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 22% 16%,
      rgba(212, 175, 55, 0.17),
      transparent 28%
    ),
    radial-gradient(
      circle at 70% 58%,
      rgba(255, 255, 255, 0.08),
      transparent 22%
    );
}
.orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(2px);
  opacity: 0.4;
}
.orb-1 {
  width: 180px;
  height: 180px;
  background: rgba(212, 175, 55, 0.18);
  top: -50px;
  right: 60px;
}
.orb-2 {
  width: 120px;
  height: 120px;
  background: rgba(255, 255, 255, 0.1);
  bottom: 80px;
  right: 120px;
}
.hero-chip {
  display: inline-flex;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--accent);
  border: 1px solid rgba(212, 175, 55, 0.3);
  font-weight: 700;
  font-size: 13px;
}
.auth-brand h1 {
  font-size: 58px;
  letter-spacing: -0.04em;
  margin: 20px 0 10px;
}
.auth-card-premium {
  padding: 30px 32px;
  border-radius: 28px;
}
.auth-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.auth-card-logo {
  width: 190px;
  height: auto;
  object-fit: contain;
}
.auth-emphasis {
  margin-top: 28px;
  color: var(--accent);
  font-size: 18px;
  font-weight: 700;
}
.team-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.member-card {
  background: linear-gradient(180deg, #fff, #fbfdff);
  border: 1px solid #e3eaf4;
  border-radius: 22px;
  padding: 18px;
  box-shadow: var(--shadow-soft);
}
.member-head {
  display: flex;
  align-items: center;
  gap: 14px;
}
.member-avatar {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: linear-gradient(180deg, #15356f, #092049);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 20px;
}
.member-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
  color: #66758d;
  font-size: 13px;
}
.member-meta > span {
  background: #f6f8fc;
  border: 1px solid #e6edf7;
  padding: 7px 10px;
  border-radius: 999px;
}
.role-grid-premium {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.role-card-premium {
  border: 1px solid #e3e9f3;
  border-radius: 24px;
  padding: 18px;
  background: linear-gradient(180deg, #ffffff, #fbfcff);
  box-shadow: var(--shadow-soft);
}
.role-title {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}
.role-title strong {
  display: block;
  font-size: 20px;
}
.role-title small {
  display: block;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.45;
}
.role-icon {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 22px;
  background: #eef4ff;
}
.role-list-icons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.perm-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid #e5ebf5;
  background: #f9fbff;
}
.perm-item.on {
  background: #f6fbf7;
}
.perm-item.off {
  opacity: 0.55;
}
.perm-item .icon-svg {
  width: 17px;
  height: 17px;
  color: var(--primary);
}
.settings-grid-premium .card {
  margin-bottom: 18px;
}
.brand-banner-preview {
  margin-top: 18px;
  border: 1px solid #e2e8f2;
  border-radius: 22px;
  padding: 18px;
  background: linear-gradient(180deg, #fbfdff, #f4f8fc);
}
.brand-banner-preview img {
  display: block;
  width: 100%;
  max-height: 92px;
  object-fit: contain;
  border-radius: 16px;
  background: #fff;
  padding: 10px;
  border: 1px solid #ebf0f7;
}
.brand-banner-fallback {
  height: 92px;
  border-radius: 16px;
  border: 1px dashed #c8d3e5;
  display: grid;
  place-items: center;
  background: #fff;
  color: #6d7a8d;
  font-weight: 700;
}
.brand-banner-meta {
  padding-top: 12px;
}
.brand-banner-meta strong {
  display: block;
  font-size: 20px;
}
.brand-banner-meta small {
  display: block;
  font-size: 13px;
  color: var(--muted);
  margin-top: 4px;
}
.profile-editor {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 18px;
}
.profile-photo-block {
  display: grid;
  gap: 12px;
}
.profile-photo-large {
  width: 180px;
  height: 180px;
  border-radius: 24px;
  object-fit: cover;
  border: 1px solid #e0e8f2;
  background: #fff;
  box-shadow: var(--shadow-soft);
}
.profile-photo-large.initials {
  display: grid;
  place-items: center;
  font-size: 50px;
  font-weight: 800;
  background: linear-gradient(180deg, var(--primary), #173979);
  color: #fff;
}
.profile-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.premium-preview {
  padding: 14px;
}
.mini-app-head {
  padding: 18px;
  border-radius: 18px;
  color: #fff;
  display: grid;
  gap: 4px;
}
.mini-app-head span {
  font-size: 13px;
  opacity: 0.9;
}
.mini-card {
  margin-top: 12px;
  border: 1px solid #dfe6f0;
  border-radius: 18px;
  padding: 16px;
  background: #fff;
}
.bullet-note {
  padding-left: 18px;
  margin: 0;
}
.bullet-note li {
  margin: 0 0 10px;
  color: #50607a;
  font-size: 13px;
  line-height: 1.55;
}
.reports-topbar {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 16px;
  align-items: start;
  margin-bottom: 18px;
}
.report-kpis {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.export-box {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #dfe6f0;
  border-radius: 24px;
  padding: 18px;
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: 12px;
}
.export-box strong {
  font-size: 18px;
}
.auth-single {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
}
.auth-single .auth-card {
  width: min(520px, 100%);
}
@media (max-width: 1100px) {
  .team-card-grid,
  .role-grid-premium,
  .profile-editor,
  .reports-topbar {
    grid-template-columns: 1fr;
  }
  .report-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 860px) {
  .app-shell {
    display: block;
  }
  .sidebar {
    display: none;
  }
  .content {
    padding: 16px;
  }
  .page-head h1 {
    font-size: 32px;
  }
  .team-card-grid,
  .role-grid-premium,
  .profile-form-grid,
  .report-kpis {
    grid-template-columns: 1fr;
  }
  .auth-shell {
    grid-template-columns: 1fr;
  }
  .auth-brand {
    display: none;
  }
  .topbar {
    padding: 0 14px;
    height: 70px;
  }
  .global-search {
    width: 100%;
  }
  .notif-panel {
    right: -70px;
    width: min(320px, 92vw);
  }
}
@media (max-width: 620px) {
  html,
  body {
    font-size: 13px;
  }
  .page-head h1 {
    font-size: 28px;
  }
  .card,
  .auth-card {
    border-radius: 20px;
  }
  .profile-editor {
    grid-template-columns: 1fr;
  }
  .profile-photo-large {
    width: 140px;
    height: 140px;
  }
  .brand-logo-wide {
    height: 52px;
  }
  .auth-card-logo {
    width: 150px;
  }
  .mobile-app-nav {
    backdrop-filter: blur(16px);
  }
  body:not(.auth-body) {
    padding-bottom: 82px;
  }
}

/* LexControl v1.4.1 - refinamento aprovado */
html,
body {
  font-size: 14px;
}
small,
.meta,
.trend,
.field span,
.auth-links,
.app-footer,
.benefit small,
.notif-item span,
.bullet-note li {
  font-size: 12px !important;
}
.page-head h1 {
  font-size: 30px;
  line-height: 1.12;
  margin-bottom: 5px;
}
.page-head p {
  font-size: 12px !important;
}
.card-head h2 {
  font-size: 19px;
}
.kpi strong {
  font-size: 25px;
}
.auth-card h2 {
  font-size: 24px;
}
.auth-brand h1 {
  font-size: 44px;
}
.sidebar {
  background: linear-gradient(
    180deg,
    var(--primary) 0%,
    color-mix(in srgb, var(--primary), #031027 38%) 100%
  );
  padding-top: 10px;
}
.brand {
  margin: 4px 14px 10px;
  padding: 10px 8px 8px;
  gap: 6px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  align-items: flex-start;
}
.brand-logo-wide {
  width: 100%;
  height: 52px;
  max-width: 184px;
  object-fit: contain;
  object-position: left center;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 8px !important;
}
.brand-caption,
.brand-text {
  padding-left: 0;
}
.brand-caption strong,
.brand-text strong {
  font-family:
    Inter,
    Segoe UI,
    Arial,
    sans-serif;
  font-size: 18px !important;
  color: #fff !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 205px;
}
.brand-caption small,
.brand-text small {
  font-size: 11px !important;
  color: var(--accent) !important;
  letter-spacing: 0.08em;
}
.brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid color-mix(in srgb, var(--accent), transparent 55%);
  box-shadow: none;
}
.brand-mark .icon-svg {
  width: 22px;
  height: 22px;
}
.sidebar nav {
  padding: 0 10px;
}
.nav-item {
  font-size: 14px;
  padding: 9px 11px;
  border-radius: 13px;
  margin: 1px 0;
  min-height: 39px;
  gap: 9px;
}
.nav-ico {
  width: 19px;
  height: 19px;
  flex-basis: 19px;
}
.nav-ico .icon-svg {
  width: 17px;
  height: 17px;
}
.nav-item.active {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--accent), transparent 78%),
    rgba(255, 255, 255, 0.09)
  );
  border-color: color-mix(in srgb, var(--accent), transparent 45%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 8px 18px rgba(0, 0, 0, 0.12);
}
.sidebar-foot {
  padding: 8px 10px 12px;
}
.privacy-mini {
  font-size: 12px;
  padding: 8px 10px;
  margin-bottom: 5px;
  background: rgba(255, 255, 255, 0.06);
}
.topbar {
  height: 72px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.global-search {
  max-width: 520px;
  flex: 0 1 520px;
}
.topbar-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 11px;
}
.user-menu {
  margin-left: 0;
  padding: 5px 8px 5px 5px;
  border-radius: 18px;
}
.user-menu > div:last-child {
  min-width: 0;
}
.user-menu strong {
  font-size: 13px;
  max-width: 155px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.user-menu small {
  font-size: 11px !important;
}
.avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
}
.notif-btn {
  width: 40px;
  height: 40px;
  border-radius: 14px;
}
.btn {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  padding: 10px 16px;
  min-height: 40px;
  font-size: 13px;
  font-weight: 750;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.86),
    rgba(247, 250, 255, 0.66)
  );
  border: 1px solid rgba(163, 178, 202, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 8px 22px rgba(17, 34, 63, 0.08);
  backdrop-filter: blur(18px) saturate(145%);
  transition: 0.2s ease;
}
.btn:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    115deg,
    rgba(255, 255, 255, 0.2),
    transparent 42%
  );
  pointer-events: none;
}
.btn:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.98),
    0 12px 26px rgba(17, 34, 63, 0.13);
}
.btn.primary {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--primary), white 10%),
    var(--primary)
  );
  border-color: color-mix(in srgb, var(--primary), black 5%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 11px 25px color-mix(in srgb, var(--primary), transparent 78%);
}
.btn.accent {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--accent), white 20%),
    var(--accent)
  );
  color: #10203c;
  border-color: color-mix(in srgb, var(--accent), black 8%);
}
.card,
.kpi,
.stat-box {
  border-radius: 20px;
}
.card {
  padding: 18px;
}
.kpi {
  padding: 17px;
}
.field input,
.field select,
.field textarea {
  font-size: 13px;
  min-height: 43px;
  border-radius: 14px;
}
.content {
  padding: 22px 24px;
}
.page-head {
  margin-bottom: 16px;
}
.grid {
  gap: 14px;
}
.sidebar-particles:before {
  opacity: 0.35;
}
.sidebar-particles:after {
  opacity: 0.22;
}
.settings-preview,
.brand-banner-preview,
.profile-photo-large,
.member-card,
.role-card-premium {
  border-radius: 18px;
}
.brand-banner-preview img {
  max-height: 76px;
}
.profile-photo-large {
  width: 150px;
  height: 150px;
}
.profile-editor {
  grid-template-columns: 180px 1fr;
}
.responsibility-box {
  padding: 14px;
  border-radius: 16px;
  background: linear-gradient(180deg, #f5f8ff, #edf4ff);
  border: 1px solid #d8e4f6;
}
.responsibility-box strong {
  font-size: 14px;
}
.responsibility-box p {
  font-size: 12px;
  line-height: 1.62;
  color: #4e5e75;
  margin: 8px 0 0;
}
.member-card {
  padding: 15px;
}
.role-card-premium {
  padding: 15px;
}
.role-title strong {
  font-size: 17px;
}
.role-title small {
  font-size: 12px !important;
}
.perm-item {
  padding: 8px 10px;
}
.perm-item small {
  font-size: 12px !important;
}
@media (max-width: 1024px) {
  .topbar {
    padding: 0 14px;
  }
  .content {
    padding: 16px;
  }
  .page-head h1 {
    font-size: 26px;
  }
  .mobile-app-nav span,
  .mobile-more-grid a span {
    font-size: 11px !important;
  }
}
@media (max-width: 620px) {
  .page-head h1 {
    font-size: 24px;
  }
  .kpi strong {
    font-size: 22px;
  }
  .auth-card h2 {
    font-size: 22px;
  }
  .topbar-right {
    gap: 6px;
  }
  .user-menu strong {
    max-width: 92px;
  }
  .profile-editor {
    grid-template-columns: 1fr;
  }
}

/* LexControl v1.5.0 - módulos jurídicos avançados */
.sidebar nav {
  gap: 0;
}
.nav-item {
  padding: 7px 10px;
  min-height: 34px;
  font-size: 13px;
  margin: 0;
  border-radius: 12px;
}
.sidebar {
  overflow-y: auto;
}
.sidebar::-webkit-scrollbar {
  width: 4px;
}
.sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.14);
  border-radius: 999px;
}
.brand {
  margin-bottom: 6px;
}
.brand-logo-wide {
  height: 45px;
}
.brand-caption strong,
.brand-text strong {
  font-size: 16px !important;
}
.brand-caption small,
.brand-text small {
  font-size: 10px !important;
}
.privacy-mini {
  font-size: 11px !important;
}
.monitor-list,
.notice-list,
.meeting-list,
.template-grid {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.monitor-row,
.meeting-row,
.template-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, #f9fbff);
}
.monitor-row > div:first-child,
.meeting-row > div:nth-child(2),
.template-card > div:nth-child(2) {
  display: grid;
  gap: 4px;
}
.monitor-row span,
.meeting-row span,
.template-card span {
  font-size: 12px;
  color: var(--muted);
}
.danger-text {
  font-size: 11px;
  color: var(--danger);
}
.notice-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 16px;
  color: inherit;
  text-decoration: none;
  background: #fff;
  transition: 0.2s;
}
.notice-row:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow);
}
.notice-row.unread {
  border-color: color-mix(in srgb, var(--accent), #dfe6f0 55%);
  background: linear-gradient(180deg, #fffdf8, #fff);
}
.notice-icon,
.meeting-icon,
.template-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--accent), white 88%);
  color: var(--primary);
}
.notice-icon .icon-svg,
.meeting-icon .icon-svg,
.template-icon .icon-svg {
  width: 19px;
  height: 19px;
}
.notice-row > div:nth-child(2) {
  display: grid;
  gap: 3px;
}
.notice-row span,
.notice-row small {
  font-size: 12px;
  color: var(--muted);
}
.notice-detail h3 {
  font-size: 18px;
  margin: 8px 0;
}
.legal-text {
  max-height: 390px;
  overflow: auto;
  background: #f7f9fc;
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 14px;
  margin: 14px 0;
  font-size: 12px;
  line-height: 1.65;
}
.check-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: var(--muted);
  margin: 10px 0;
}
.subcard {
  margin-top: 16px;
  border: 1px solid var(--line);
  background: #fafcff;
  border-radius: 16px;
  padding: 14px;
  display: grid;
  gap: 10px;
}
.placeholder-box {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 12px 0 14px;
}
.placeholder-box strong {
  width: 100%;
  font-size: 12px;
}
.placeholder-box code,
.subcard code {
  background: #eef3fa;
  border: 1px solid #dce5f1;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 11px;
  color: #30415d;
}
.template-card {
  grid-template-columns: 40px minmax(0, 1fr) auto;
}
.dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #94a3b8;
}
.dot.ok {
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
}
@media (max-width: 1024px) {
  .monitor-row,
  .meeting-row,
  .template-card {
    grid-template-columns: 1fr;
  }
  .notice-row {
    grid-template-columns: 36px minmax(0, 1fr);
  }
  .notice-row > div:last-child {
    grid-column: 2;
  }
}

/* LexControl v1.5.1 - correções de responsividade, identidade e anexos */
html,
body {
  overflow-x: hidden;
}
.sidebar {
  background: var(--primary) !important;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--primary), #00132f 18%),
    var(--primary)
  ) !important;
}
.brand {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 10px 12px 8px !important;
  margin: 6px 10px 4px !important;
  border-radius: 0 !important;
}
.brand-logo-wide {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  height: 48px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.brand-caption,
.brand-text {
  width: 100%;
  padding-top: 4px;
}
.brand-caption strong,
.brand-text strong {
  font-size: 15px !important;
  color: #fff !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.brand-caption small,
.brand-text small {
  font-size: 12px !important;
  color: color-mix(in srgb, var(--accent), white 18%) !important;
}
.sidebar nav {
  padding: 0 9px !important;
}
.nav-item {
  min-height: 32px !important;
  padding: 6px 9px !important;
  margin: 0 !important;
  font-size: 13px !important;
  border-radius: 11px !important;
}
.nav-item.active {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--accent), transparent 73%),
    rgba(255, 255, 255, 0.08)
  ) !important;
  border-color: color-mix(in srgb, var(--accent), transparent 45%) !important;
}
.nav-ico .icon-svg {
  width: 16px !important;
  height: 16px !important;
}
.sidebar-foot {
  padding: 6px 9px 10px !important;
}
.privacy-mini {
  font-size: 12px !important;
  padding: 7px 9px !important;
}
.btn {
  border-radius: 16px !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.86),
    rgba(245, 249, 255, 0.58)
  ) !important;
  border: 1px solid rgba(142, 160, 190, 0.24) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.94),
    0 10px 24px rgba(17, 35, 66, 0.08) !important;
  backdrop-filter: blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease !important;
}
.btn:hover {
  transform: translateY(-1px) !important;
  box-shadow:
    inset 0 1px 0 #fff,
    0 15px 30px rgba(17, 35, 66, 0.13) !important;
}
.btn.primary {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--primary), white 9%),
    var(--primary)
  ) !important;
  color: #fff !important;
  border-color: color-mix(in srgb, var(--primary), black 8%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 12px 28px color-mix(in srgb, var(--primary), transparent 76%) !important;
}
.btn.accent {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--accent), white 22%),
    var(--accent)
  ) !important;
  color: #101c35 !important;
  border-color: color-mix(in srgb, var(--accent), black 6%) !important;
}
.btn.danger {
  background: linear-gradient(180deg, #fff7f7, #fff1f1) !important;
  color: #b42318 !important;
  border-color: #fecaca !important;
}
.user-menu {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.user-menu:hover {
  border-color: color-mix(in srgb, var(--accent), transparent 55%);
  box-shadow: 0 12px 28px rgba(17, 35, 66, 0.12);
}
small,
.meta,
.trend,
.field span,
.app-footer,
.member-meta,
.role-title small,
.perm-item small,
.bullet-note li,
.responsibility-box p,
.notif-item small,
.notif-item span {
  font-size: 12px !important;
}
.user-menu small {
  font-size: 12px !important;
}
.brand-caption small,
.brand-text small {
  font-size: 12px !important;
}
.process-attachments {
  display: grid;
  gap: 14px;
}
.process-attach-form {
  display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f8fbff;
}
.attachment-list {
  display: grid;
  gap: 8px;
}
.attachment-item {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.attachment-icon {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--primary), white 91%);
  color: var(--primary);
}
.attachment-icon .icon-svg {
  width: 18px;
  height: 18px;
}
.attachment-info {
  min-width: 0;
}
.attachment-info strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.attachment-info span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}
.attachment-download {
  min-height: 34px !important;
  padding: 7px 10px !important;
}
.process-mobile-list {
  display: none;
}
.process-mobile-card {
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: linear-gradient(180deg, #fff, #f9fbff);
  box-shadow: 0 8px 20px rgba(16, 36, 66, 0.06);
}
.process-mobile-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.process-mobile-head > div {
  min-width: 0;
}
.process-mobile-head strong {
  font-size: 13px;
  word-break: break-word;
}
.process-mobile-head span:not(.badge) {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}
.process-mobile-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 0;
}
.process-mobile-card dl > div {
  padding: 8px;
  border-radius: 11px;
  background: #f4f7fb;
}
.process-mobile-card dt {
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
}
.process-mobile-card dd {
  font-size: 12px;
  margin: 3px 0 0;
  word-break: break-word;
}
.process-mobile-card .actions {
  flex-wrap: wrap;
}
.mobile-app-nav {
  display: none;
}
@media (max-width: 1100px) {
  body:not(.auth-body) {
    padding-bottom: 88px !important;
  }
  .app-shell {
    display: block !important;
  }
  .sidebar {
    display: none !important;
  }
  .main {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .content {
    padding: 14px !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  .topbar {
    height: 66px !important;
    padding: 0 12px !important;
  }
  .global-search {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .topbar-right {
    flex: 0 0 auto !important;
  }
  .user-menu {
    padding: 4px !important;
  }
  .user-menu > div:last-child {
    display: none !important;
  }
  .notif-btn {
    width: 38px !important;
    height: 38px !important;
  }
  .avatar {
    width: 38px !important;
    height: 38px !important;
  }
  .mobile-app-nav {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: rgba(7, 25, 58, 0.94) !important;
    border-top: 1px solid color-mix(in srgb, var(--accent), transparent 58%) !important;
    box-shadow: 0 -12px 32px rgba(7, 20, 48, 0.22) !important;
    backdrop-filter: blur(22px) saturate(155%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(155%) !important;
    padding: 7px max(7px, env(safe-area-inset-right))
      calc(7px + env(safe-area-inset-bottom))
      max(7px, env(safe-area-inset-left)) !important;
  }
  .mobile-app-nav a,
  .mobile-app-nav button {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    color: #dce6f5 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    min-height: 55px !important;
    padding: 5px 2px !important;
  }
  .mobile-app-nav a.active {
    color: var(--accent) !important;
    background: color-mix(in srgb, var(--accent), transparent 87%) !important;
    border-radius: 13px !important;
  }
  .mobile-app-nav .icon-svg {
    width: 21px !important;
    height: 21px !important;
  }
  .mobile-app-nav span {
    font-size: 12px !important;
    line-height: 1 !important;
  }
  .mobile-more-sheet {
    bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    z-index: 10001 !important;
  }
  .mobile-more-backdrop {
    z-index: 10000 !important;
  }
  .process-desktop-table {
    display: none !important;
  }
  .process-mobile-list {
    display: grid !important;
    gap: 10px !important;
  }
  .table-wrap:has(.process-mobile-list) {
    overflow: visible !important;
    border: 0 !important;
  }
  .page-head h1 {
    font-size: 25px !important;
  }
  .page-head p {
    font-size: 12px !important;
  }
  .actions {
    flex-wrap: wrap !important;
  }
  .stat-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .two-col {
    grid-template-columns: 1fr !important;
  }
  .attachment-item {
    grid-template-columns: 34px minmax(0, 1fr) !important;
  }
  .attachment-download {
    grid-column: 2 !important;
    justify-self: start !important;
  }
}
@media (max-width: 620px) {
  .process-mobile-card dl {
    grid-template-columns: 1fr !important;
  }
  .stat-row {
    grid-template-columns: 1fr !important;
  }
  .page-head h1 {
    font-size: 22px !important;
  }
  .content {
    padding: 12px !important;
  }
  .card {
    padding: 13px !important;
    border-radius: 17px !important;
  }
  .mobile-app-nav span {
    font-size: 11px !important;
  }
  .notif-panel {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: 70px !important;
    width: auto !important;
  }
}
.process-subnav {
  display: flex;
  gap: 8px;
  margin: 0 0 14px;
  flex-wrap: wrap;
}
.process-subnav a {
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-size: 12px;
  font-weight: 700;
  color: var(--text);
  text-decoration: none;
}
.process-subnav a:hover {
  border-color: color-mix(in srgb, var(--accent), transparent 45%);
  background: color-mix(in srgb, var(--accent), white 91%);
}
@media (max-width: 1100px) {
  .process-subnav {
    position: sticky;
    top: 70px;
    z-index: 30;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding: 8px 2px;
    background: rgba(238, 243, 249, 0.9);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    scrollbar-width: none;
  }
  .process-subnav::-webkit-scrollbar {
    display: none;
  }
  .process-subnav a {
    white-space: nowrap;
    flex: 0 0 auto;
  }
  .process-attachments {
    scroll-margin-top: 125px;
  }
  #resumo,
  #movimentacoes,
  #prazos,
  #anexos {
    scroll-margin-top: 125px;
  }
}

/* LexControl v1.5.2 - menu inferior fixo e controles de acesso */
.participant-admin,
.process-access-admin {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(180deg, #fbfdff, #f6f9fd);
}
.participant-admin > div:first-child,
.process-access-head {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}
.participant-admin small,
.process-access-head small {
  font-size: 12px;
  color: var(--muted);
}
.participant-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.participant-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #e3eaf4;
  border-radius: 14px;
  background: #fff;
}
.participant-row span {
  display: grid;
  gap: 2px;
}
.participant-row span > small {
  font-size: 11px;
}
.participant-row select {
  min-height: 40px;
  border: 1px solid #d7e0ec;
  border-radius: 12px;
  background: #fff;
  padding: 8px;
  font-size: 12px;
}
.process-team-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--line);
}
.process-team-line > span {
  font-size: 12px;
  color: var(--muted);
}
.process-team-line b {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 9px;
  border-radius: 999px;
  background: #f1f6ff;
  border: 1px solid #dbe6f5;
  font-size: 12px;
}
.process-team-line b small {
  font-size: 10px;
  color: #65758d;
  font-weight: 600;
}
.access-choice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 8px 0;
  padding: 11px;
  border: 1px solid #e1e8f2;
  border-radius: 14px;
  background: #fff;
}
.access-choice > span {
  display: grid;
  gap: 2px;
}
.access-choice b {
  font-size: 13px;
}
.access-choice small {
  font-size: 11px;
  color: var(--muted);
}
.access-choice.compact {
  background: #f8fbff;
}
.process-access-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 12px;
  max-height: 330px;
  overflow: auto;
  padding-right: 4px;
}
.process-access-list label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px;
  border: 1px solid #e3e9f2;
  border-radius: 13px;
  background: #fff;
}
.process-access-list span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.process-access-list strong,
.process-access-list small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.process-access-list strong {
  font-size: 12px;
}
.process-access-list small {
  font-size: 11px;
  color: var(--muted);
}
@media (max-width: 1180px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }
  body:not(.auth-body) {
    padding-bottom: 86px !important;
  }
  .app-shell {
    display: block !important;
  }
  .sidebar {
    display: none !important;
  }
  .main {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .content {
    max-width: 100% !important;
    padding: 16px !important;
  }
  .topbar {
    height: 66px !important;
    padding: 0 14px !important;
  }
  .global-search {
    width: min(64vw, 560px) !important;
  }
  .mobile-app-nav {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    z-index: 2147483000 !important;
    background: color-mix(in srgb, var(--primary), #020814 24%) !important;
    border-top: 1px solid color-mix(in srgb, var(--accent), transparent 62%) !important;
    box-shadow: 0 -14px 36px rgba(0, 0, 0, 0.22) !important;
    backdrop-filter: blur(24px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
    padding: 7px max(7px, env(safe-area-inset-right))
      calc(7px + env(safe-area-inset-bottom))
      max(7px, env(safe-area-inset-left)) !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .mobile-app-nav a,
  .mobile-app-nav button {
    display: flex !important;
    min-height: 56px !important;
    color: #d7e0ed !important;
  }
  .mobile-app-nav a.active {
    color: var(--accent) !important;
    background: rgba(255, 255, 255, 0.07) !important;
    border-radius: 13px;
  }
  .mobile-app-nav .icon-svg {
    width: 21px !important;
    height: 21px !important;
  }
  .mobile-app-nav span {
    font-size: 10px !important;
  }
  .mobile-more-sheet {
    z-index: 2147483001 !important;
  }
  .mobile-more-backdrop {
    z-index: 2147482999 !important;
  }
  .process-desktop-table {
    display: none !important;
  }
  .process-mobile-list {
    display: grid !important;
    gap: 10px !important;
  }
  .process-table-wrap {
    border: 0 !important;
    overflow: visible !important;
  }
  .process-mobile-card {
    width: 100% !important;
    min-width: 0 !important;
  }
  .process-mobile-card * {
    max-width: 100%;
  }
  .process-mobile-card dl {
    grid-template-columns: 1fr 1fr !important;
  }
  .process-mobile-card dd,
  .process-mobile-card dt,
  .process-mobile-head span,
  .process-mobile-head strong {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .process-subnav {
    position: sticky !important;
    top: 72px !important;
    z-index: 18 !important;
    display: flex !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
  }
  .process-subnav::-webkit-scrollbar {
    display: none;
  }
  .participant-grid,
  .process-access-list {
    grid-template-columns: 1fr !important;
  }
  .participant-row {
    grid-template-columns: 1fr !important;
  }
  .two-col {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 620px) {
  .global-search {
    width: 48vw !important;
  }
  .topbar-right {
    gap: 7px !important;
  }
  .user-menu > div:last-child {
    display: none !important;
  }
  .content {
    padding: 12px !important;
  }
  .process-mobile-card dl {
    grid-template-columns: 1fr !important;
  }
  .process-head-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
  .process-head-actions .btn:last-child {
    grid-column: 1/-1;
  }
  .mobile-app-nav span {
    font-size: 9px !important;
  }
}

/* LexControl v1.5.3 - refinamentos do painel */
.user-menu,
.btn,
.mobile-app-nav a,
.mobile-app-nav button,
.nav-item {
  transition: 0.22s ease;
}
.btn,
.mobile-app-nav a.active,
.mobile-more-grid a,
.user-menu,
.notif-btn {
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}
.btn {
  border-radius: 14px !important;
  box-shadow: 0 10px 24px rgba(8, 20, 40, 0.1);
}
.btn.primary {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--accent), white 18%),
    color-mix(in srgb, var(--accent), black 6%)
  ) !important;
  color: #0e1930 !important;
  border-color: color-mix(in srgb, var(--accent), black 12%) !important;
}
.btn.glass,
.btn:not(.primary):not(.danger) {
  background: rgba(255, 255, 255, 0.78) !important;
}
.btn:hover {
  transform: translateY(-1px);
}
.user-menu {
  border-radius: 18px !important;
  padding: 6px 8px 6px 6px !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.9),
    rgba(246, 249, 253, 0.84)
  ) !important;
  border: 1px solid rgba(207, 219, 233, 0.9) !important;
  box-shadow: 0 12px 28px rgba(10, 24, 42, 0.1) !important;
}
.user-menu strong {
  font-size: 12px !important;
}
.user-menu small {
  font-size: 11px !important;
}
.notif-btn {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.92),
    rgba(244, 248, 252, 0.85)
  ) !important;
  border: 1px solid rgba(210, 221, 233, 0.9) !important;
  box-shadow: 0 10px 22px rgba(7, 20, 38, 0.1) !important;
}
.notif-panel {
  border-radius: 20px !important;
}
.mobile-app-nav {
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
  overflow: hidden;
}
.mobile-app-nav a.active {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}
.mobile-more-sheet {
  border-top-left-radius: 24px !important;
  border-top-right-radius: 24px !important;
  box-shadow: 0 -24px 44px rgba(0, 0, 0, 0.24) !important;
}
@media (max-width: 1180px) {
  html,
  body {
    overflow-x: hidden !important;
  }
  body:not(.auth-body) {
    padding-bottom: 94px !important;
  }
  .mobile-app-nav {
    position: fixed !important;
    inset: auto 0 0 0 !important;
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .content,
  .main,
  .app-shell {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  .table-wrap,
  .card {
    max-width: 100% !important;
  }
}

/* v1.5.4 refinements */
@media (min-width: 1181px) {
  .app-shell {
    display: block !important;
  }
  .sidebar {
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    width: 238px !important;
    height: 100vh !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding-bottom: 16px !important;
  }
  .sidebar nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    overflow: visible !important;
  }
  .main {
    margin-left: 238px !important;
    width: calc(100% - 238px) !important;
    min-width: 0 !important;
  }
  .content {
    min-height: calc(100vh - 92px) !important;
  }
}
.sidebar-foot {
  margin-top: auto !important;
}
.team-layout-premium {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.team-sidebar-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: sticky;
  top: 96px;
}
.role-list-clean {
  display: grid;
  gap: 12px;
}
.role-clean-item {
  padding: 14px 0;
  border-bottom: 1px solid var(--line, #dfe5ee);
}
.role-clean-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.role-clean-item strong {
  display: block;
  font-size: 20px;
  color: #182847;
  margin-bottom: 4px;
}
.role-clean-item p {
  margin: 0;
  color: #5e6f87;
  line-height: 1.55;
}
.profile-preview-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.member-photo,
.member-photo-xl,
.profile-photo-large {
  display: block;
  object-fit: cover;
  border-radius: 22px;
  background: #e9eef5;
  border: 1px solid #d6e0ea;
}
.member-photo {
  width: 78px;
  height: 78px;
}
.member-photo-xl,
.profile-photo-large {
  width: 110px;
  height: 110px;
}
.member-photo.initials,
.member-photo-xl.initials,
.profile-photo-large.initials {
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #1a3a74, #102750);
  color: #fff;
  font-weight: 800;
}
.member-photo.initials {
  font-size: 28px;
}
.member-photo-xl.initials,
.profile-photo-large.initials {
  font-size: 36px;
}
.compact-view {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.compact-member-card {
  padding: 22px !important;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 290px;
  justify-content: space-between;
}
.compact-member-top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.compact-member-top strong {
  font-size: 20px;
  line-height: 1.2;
  color: #172744;
}
.compact-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start !important;
  gap: 8px !important;
}
.compact-meta span,
.compact-meta .badge {
  font-size: 13px;
}
.member-links-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.link-inline {
  color: #17366d;
  font-weight: 700;
  text-decoration: none;
}
.link-inline:hover {
  text-decoration: underline;
}
.inline-form {
  display: inline-flex;
  margin: 0;
}
.danger-link {
  background: none;
  border: 0;
  padding: 0;
  color: #c84444;
  cursor: pointer;
}
.profile-preview-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #5e6f87;
  font-size: 14px;
}
.process-access-admin {
  margin-top: 18px;
  border: 1px solid #dbe4ee;
  background: #f8fbff;
  border-radius: 18px;
  padding: 18px;
}
.process-access-head {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 14px;
}
.process-access-head small {
  color: #60728b;
}
.access-choice {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border: 1px solid #dfe7f0;
  background: #fff;
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 10px;
}
.access-choice.compact {
  background: #fbfcfe;
}
.access-choice input {
  margin-top: 4px;
}
.access-choice span {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.access-choice b {
  color: #1a2947;
}
.access-choice small {
  color: #62738a;
  line-height: 1.45;
}
.process-access-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
  max-height: 320px;
  overflow: auto;
  padding-right: 4px;
}
.process-access-list label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  border: 1px solid #dfe7f0;
  background: #fff;
  border-radius: 14px;
  padding: 12px;
}
.process-access-list span {
  display: flex;
  flex-direction: column;
}
.process-access-list strong {
  font-size: 14px;
  color: #1a2947;
}
.process-access-list small {
  font-size: 12px;
  color: #67788f;
}
.settings-grid-premium .card {
  overflow: hidden;
}
.brand-config-preview {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(145deg, #f9fbff, #eef3f8);
  border: 1px solid #dde6ef;
}
.brand-config-preview img {
  max-width: 240px;
  max-height: 56px;
  display: block;
}
.brand-banner-fallback {
  min-width: 220px;
  min-height: 56px;
  border-radius: 16px;
  border: 1px dashed #c6d3e3;
  display: grid;
  place-items: center;
  color: #6d7e95;
  padding: 10px;
  background: #fff;
}
.profile-editor {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.profile-photo-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.profile-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.responsibility-box {
  padding: 16px;
  border-radius: 18px;
  background: #f8fbff;
  border: 1px solid #dde6ef;
  color: #5e6f87;
  line-height: 1.65;
}
.responsibility-box strong {
  display: block;
  color: #1a2947;
  font-size: 18px;
  margin-bottom: 8px;
}
.notice-detail .legal-text {
  white-space: normal;
  line-height: 1.7;
}
@media (max-width: 1350px) {
  .compact-view {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 1180px) {
  .team-layout-premium {
    grid-template-columns: 1fr;
  }
  .team-sidebar-stack {
    position: static;
  }
  .compact-view {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .profile-editor {
    grid-template-columns: 1fr;
  }
  .process-access-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .compact-view {
    grid-template-columns: 1fr;
  }
  .profile-form-grid {
    grid-template-columns: 1fr !important;
  }
  .member-links-row {
    gap: 10px;
  }
  .brand-config-preview {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* LexControl v1.5.4 */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}
.app-shell {
  min-height: 100dvh !important;
}
.sidebar {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  width: 238px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 100 !important;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--primary), #00132f 18%),
    var(--primary)
  ) !important;
}
.sidebar:before,
.sidebar:after,
.sidebar-particles {
  min-height: 100%;
  height: 100%;
}
.sidebar-foot {
  margin-top: auto !important;
  flex: 0 0 auto;
}
.main {
  margin-left: 238px !important;
  grid-column: auto !important;
  width: calc(100% - 238px) !important;
  min-height: 100vh !important;
}
.content {
  min-height: calc(100vh - 70px) !important;
}
.topbar {
  left: 238px !important;
  width: auto !important;
}
.team-layout-premium {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.team-sidebar-stack {
  position: sticky;
  top: 86px;
  align-self: start;
}
.role-list-clean {
  display: grid;
  gap: 0;
}
.role-clean-item {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.role-clean-item:last-child {
  border-bottom: 0;
}
.role-clean-item strong {
  display: block;
  font-size: 13px;
  color: var(--text);
}
.role-clean-item p {
  margin: 4px 0 0;
  font-size: 11px;
  line-height: 1.5;
  color: var(--muted);
}
.team-card-grid.compact-view {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.compact-member-card {
  padding: 16px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  min-height: 255px !important;
  justify-content: flex-start;
}
.compact-member-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.member-photo {
  width: 82px;
  height: 82px;
  border-radius: 22px;
  object-fit: cover;
  border: 1px solid #dce5ef;
  box-shadow: 0 12px 28px rgba(16, 37, 65, 0.1);
  background: #fff;
}
.member-photo.initials {
  display: grid;
  place-items: center;
  background: linear-gradient(
    180deg,
    var(--primary),
    color-mix(in srgb, var(--primary), #000 18%)
  );
  color: #fff;
  font-weight: 800;
  font-size: 24px;
}
.compact-member-top strong {
  font-size: 14px;
}
.compact-member-top .badge {
  font-size: 10px !important;
  padding: 4px 8px !important;
}
.compact-meta {
  display: grid !important;
  gap: 5px !important;
  width: 100%;
  margin: 12px 0 !important;
}
.compact-meta > span {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  font-size: 10px !important;
  color: var(--muted) !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
.member-links-row {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.link-inline {
  font-size: 11px;
  font-weight: 750;
  color: var(--info);
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.link-inline:hover {
  text-decoration: underline;
}
.danger-link {
  color: var(--danger);
}
.inline-form {
  display: inline-flex;
  margin: 0;
}
.profile-preview-card {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 9px;
}
.member-photo-xl {
  width: 112px;
  height: 112px;
  border-radius: 26px;
  object-fit: cover;
  border: 1px solid #dce5ef;
  box-shadow: 0 12px 30px rgba(16, 37, 65, 0.1);
}
.member-photo-xl.initials {
  display: grid;
  place-items: center;
  background: linear-gradient(
    180deg,
    var(--primary),
    color-mix(in srgb, var(--primary), #000 18%)
  );
  color: #fff;
  font-size: 34px;
  font-weight: 800;
}
.profile-preview-meta {
  display: grid;
  gap: 5px;
  width: 100%;
  margin: 5px 0 4px;
}
.profile-preview-meta > span {
  font-size: 10px;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.page-head h1 {
  font-size: 24px !important;
}
.page-head p {
  font-size: 12px !important;
}
.card-head h2 {
  font-size: 15px !important;
}
.card {
  contain: layout paint;
}
.table-wrap {
  contain: layout;
}
.member-card,
.role-card-premium {
  box-shadow: 0 10px 28px rgba(16, 35, 62, 0.06) !important;
}
@media (max-width: 1280px) {
  .team-card-grid.compact-view {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 1180px) {
  .sidebar {
    display: none !important;
  }
  .main {
    margin-left: 0 !important;
    width: 100% !important;
  }
  .topbar {
    left: 0 !important;
    width: 100% !important;
  }
  .team-layout-premium {
    grid-template-columns: 1fr !important;
  }
  .team-sidebar-stack {
    position: static !important;
  }
  .team-sidebar-stack .card:first-child {
    display: block !important;
  }
  .role-list-clean {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .role-clean-item {
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 12px;
  }
  .team-card-grid.compact-view {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 680px) {
  .team-card-grid.compact-view {
    grid-template-columns: 1fr !important;
  }
  .role-list-clean {
    grid-template-columns: 1fr;
  }
  .compact-member-card {
    min-height: 230px !important;
  }
  .member-photo {
    width: 72px;
    height: 72px;
  }
  .kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
.compact-member-card {
  min-height: 190px !important;
}
.member-links-row {
  padding-top: 12px;
}
.link-sep {
  font-size: 10px;
  color: #a5b2c2;
}

/* === LexControl 1.6.0 · lançamento === */
:root {
  --primary-text: #fff;
  --accent-text: #0f172a;
}
.sidebar {
  color: var(--primary-text) !important;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--primary), #00172f 8%),
    var(--primary)
  ) !important;
  border-right: 1px solid
    color-mix(in srgb, var(--primary-text), transparent 88%) !important;
}
.sidebar .nav-item,
.sidebar .privacy-mini,
.sidebar .sidebar-foot .nav-item {
  color: color-mix(in srgb, var(--primary-text), transparent 8%) !important;
}
.sidebar .nav-item:hover {
  background: color-mix(
    in srgb,
    var(--primary-text),
    transparent 90%
  ) !important;
}
.sidebar .nav-item.active {
  color: var(--primary-text) !important;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--accent), transparent 72%),
    color-mix(in srgb, var(--primary-text), transparent 92%)
  ) !important;
  border-color: color-mix(in srgb, var(--accent), transparent 48%) !important;
}
.sidebar .nav-ico,
.sidebar .brand-mark,
.sidebar .privacy-mini .icon-svg {
  color: var(--accent) !important;
}
.sidebar .brand-caption strong,
.sidebar .brand-text strong {
  color: var(--primary-text) !important;
}
.sidebar .brand-caption small,
.sidebar .brand-text small {
  color: color-mix(in srgb, var(--primary-text), transparent 32%) !important;
}
.btn.primary {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--accent), white 8%),
    var(--accent)
  ) !important;
  color: var(--accent-text) !important;
  border-color: color-mix(in srgb, var(--accent), black 10%) !important;
  box-shadow: 0 10px 28px color-mix(in srgb, var(--accent), transparent 72%) !important;
}
.btn.primary:hover {
  filter: brightness(0.98);
}

/* Login de lançamento */
.auth-body {
  background: #11151d !important;
  color: #f4f7fb !important;
  min-height: 100vh;
}
.launch-auth-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(360px, 29%) 1fr;
  background: #11151d;
}
.launch-auth-brand {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 36px 36px 28px;
  background:
    radial-gradient(
      circle at 70% 15%,
      rgba(46, 105, 190, 0.28),
      transparent 30%
    ),
    linear-gradient(160deg, #17305b 0, #0d1f3d 50%, #0a172f 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.05);
}
.launch-auth-brand:after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 97%, rgba(255, 255, 255, 0.03) 97%),
    linear-gradient(transparent 97%, rgba(255, 255, 255, 0.025) 97%);
  background-size: 34px 34px;
  opacity: 0.28;
  pointer-events: none;
}
.launch-auth-logo {
  position: relative;
  z-index: 2;
  display: block;
  width: 220px;
}
.launch-auth-logo img {
  display: block;
  width: 100%;
  filter: brightness(1.12);
}
.launch-brand-content {
  position: relative;
  z-index: 2;
  margin: auto 0;
  max-width: 430px;
}
.launch-kicker {
  font-size: 11px;
  letter-spacing: 0.18em;
  color: #77baff;
  font-weight: 800;
}
.launch-brand-content h1 {
  font-size: clamp(31px, 2.65vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.035em;
  margin: 14px 0 15px;
  color: #fff;
}
.launch-brand-content h1 span {
  display: block;
  background: linear-gradient(90deg, #4db8ff, #8d83ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.launch-brand-content > p {
  font-size: 13px;
  line-height: 1.68;
  color: #b8c6d9;
  max-width: 390px;
}
.launch-benefits {
  display: grid;
  gap: 13px;
  margin-top: 23px;
}
.launch-benefits > div {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 11px;
  align-items: center;
}
.launch-benefits i {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: #68b8ff;
  background: rgba(98, 172, 255, 0.1);
  border: 1px solid rgba(111, 179, 255, 0.16);
  font-style: normal;
}
.launch-benefits i .icon-svg {
  width: 18px;
  height: 18px;
}
.launch-benefits strong,
.launch-benefits small {
  display: block;
}
.launch-benefits strong {
  font-size: 13px;
  color: #fff;
}
.launch-benefits small {
  font-size: 11px !important;
  color: #91a2b9;
  line-height: 1.45;
  margin-top: 2px;
}
.launch-brand-foot {
  position: relative;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  padding: 12px 14px;
  display: grid;
  gap: 3px;
}
.launch-brand-foot span {
  font-size: 11px;
  font-weight: 700;
  color: #e7eef8;
  display: flex;
  align-items: center;
  gap: 7px;
}
.launch-brand-foot span .icon-svg {
  width: 14px;
  height: 14px;
  color: #69b5ff;
}
.launch-brand-foot small {
  font-size: 10px !important;
  color: #8799b0;
}
.launch-auth-main {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 34px;
  background: #12161f;
  overflow: hidden;
}
.launch-dot-grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    circle,
    rgba(114, 137, 165, 0.26) 1px,
    transparent 1.2px
  );
  background-size: 24px 24px;
  mask-image: linear-gradient(
    to bottom,
    #000 0,
    rgba(0, 0, 0, 0.75) 55%,
    transparent 100%
  );
  opacity: 0.56;
}
.launch-auth-main:before {
  content: "";
  position: absolute;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: rgba(31, 111, 235, 0.08);
  filter: blur(110px);
  top: -220px;
  left: 20%;
}
.launch-login-card {
  position: relative;
  z-index: 2;
  width: min(610px, 100%);
  padding: 30px;
  border-radius: 18px;
  background: rgba(21, 26, 36, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.025);
}
.launch-login-head {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 24px;
}
.launch-login-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #18a8ff, #136eea);
  box-shadow: 0 10px 28px rgba(12, 126, 238, 0.28);
}
.launch-login-icon .icon-svg {
  width: 21px;
  height: 21px;
}
.launch-login-head h2 {
  font-size: 20px;
  margin: 0;
  color: #fff;
}
.launch-login-head p {
  font-size: 12px;
  margin: 4px 0 0;
  color: #98a5b8;
}
.launch-login-card .field {
  margin-bottom: 14px;
}
.launch-login-card .field span {
  font-size: 12px !important;
  color: #f0f3f7 !important;
}
.launch-login-card .field input {
  height: 48px;
  background: #1a1f29 !important;
  border: 1px solid #3b424d !important;
  color: #fff !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.launch-login-card .field input::placeholder {
  color: #7e8795;
}
.launch-login-card .field input:focus {
  border-color: #258af5 !important;
  box-shadow: 0 0 0 3px rgba(37, 138, 245, 0.13) !important;
}
.launch-links {
  font-size: 11px !important;
  color: #9ba8b8;
}
.launch-links a {
  color: #4ba4ff !important;
}
.launch-primary {
  width: 100%;
  height: 46px;
  background: linear-gradient(90deg, #3488ff, #078fee) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 28px rgba(25, 121, 245, 0.2) !important;
}
.launch-separator {
  height: 1px;
  background: #2a303b;
  margin: 22px 0;
  position: relative;
  text-align: center;
}
.launch-separator span {
  position: relative;
  top: -10px;
  background: #151a24;
  padding: 0 12px;
  color: #697587;
  font-size: 10px;
}
.launch-create {
  width: 100%;
  height: 44px;
  color: #e8edf4 !important;
  background: #1a202b !important;
  border-color: #39414e !important;
}
.launch-security-note {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  margin-top: 18px;
  padding: 12px;
  border-radius: 11px;
  background: rgba(59, 130, 246, 0.06);
  border: 1px solid rgba(59, 130, 246, 0.14);
  color: #92a2b6;
}
.launch-security-note .icon-svg {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  color: #57a6ff;
  margin-top: 2px;
}
.launch-security-note span {
  font-size: 10.5px;
  line-height: 1.5;
}
.launch-security-note strong {
  color: #c8d4e3;
}
.launch-auth-corner {
  position: absolute;
  right: 24px;
  top: 22px;
  z-index: 3;
  color: #a9b5c5;
  font-size: 11px;
  display: flex;
  gap: 6px;
  align-items: center;
}

/* Personalização premium */
.theme-presets {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
}
.theme-preset {
  display: grid;
  text-align: left;
  gap: 5px;
  padding: 11px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #dfe6f0;
  cursor: pointer;
  color: #18263f;
  transition: 0.2s;
}
.theme-preset:hover {
  transform: translateY(-1px);
  border-color: #aabbd2;
  box-shadow: 0 9px 22px rgba(15, 31, 54, 0.08);
}
.theme-preset > span {
  height: 28px;
  border-radius: 9px;
  background: linear-gradient(90deg, var(--p) 0 62%, var(--a) 62%);
  border: 1px solid rgba(0, 0, 0, 0.07);
}
.theme-preset b {
  font-size: 11px;
}
.theme-preset small {
  font-size: 9.5px !important;
  color: #6e7d91;
}
.live-theme-preview {
  display: grid;
  grid-template-columns: 130px 1fr;
  min-height: 180px;
  margin-top: 16px;
  border: 1px solid #dfe6f0;
  border-radius: 19px;
  overflow: hidden;
  background: #f3f6fa;
}
.preview-side {
  background: var(--preview-primary);
  color: var(--preview-primary-text, #fff);
  padding: 16px 10px;
  display: grid;
  align-content: start;
  gap: 5px;
}
.preview-side strong {
  font-size: 12px;
  margin-bottom: 8px;
}
.preview-side span {
  padding: 7px 8px;
  border-radius: 8px;
  font-size: 10px;
}
.preview-side span.active {
  background: color-mix(in srgb, var(--preview-accent), transparent 70%);
  box-shadow: inset 2px 0 var(--preview-accent);
}
.preview-main {
  padding: 18px;
  display: grid;
  align-content: start;
  gap: 12px;
}
.preview-main > small {
  font-size: 10px !important;
  color: #69798d;
}
.preview-main button {
  justify-self: start;
  border: 0;
  border-radius: 10px;
  padding: 9px 13px;
  background: var(--preview-accent);
  color: var(--preview-accent-text, #0f172a);
  font-weight: 800;
}
.preview-main > div {
  padding: 13px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e1e7ef;
  display: grid;
  gap: 3px;
}
.preview-main b {
  font-size: 12px;
}
.preview-main span {
  font-size: 10px;
  color: #6d7c90;
}
.demo-setting-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}
.demo-setting-row strong {
  font-size: 13px;
}
.demo-setting-row p {
  margin: 4px 0 0;
  max-width: 650px;
}

/* Modo demonstração isolado */
.demo-global-banner,
.demo-mode-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  border-radius: 16px;
  padding: 12px 14px;
  margin-bottom: 15px;
  background: linear-gradient(90deg, #eef6ff, #f9fbff);
  border: 1px solid #cfe0f5;
  box-shadow: 0 10px 26px rgba(25, 72, 125, 0.06);
}
.demo-global-banner > div,
.demo-mode-toolbar > div {
  display: grid;
  grid-template-columns: auto auto;
  gap: 1px 8px;
  align-items: center;
}
.demo-global-banner small,
.demo-mode-toolbar small {
  grid-column: 2;
  font-size: 10px !important;
  color: #66758a;
}
.demo-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.1);
}
.demo-tabs {
  display: flex;
  gap: 6px;
  overflow: auto;
  padding: 4px 0 14px;
  scrollbar-width: none;
}
.demo-tabs::-webkit-scrollbar {
  display: none;
}
.demo-tabs a {
  flex: 0 0 auto;
  padding: 8px 11px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #dfe6ef;
  color: #506079;
  font-size: 10.5px;
  font-weight: 700;
}
.demo-tabs a.active {
  background: var(--primary);
  color: var(--primary-text);
  border-color: var(--primary);
}
.demo-kpis {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.demo-list {
  display: grid;
}
.demo-list > div {
  display: grid;
  gap: 3px;
  padding: 12px 0;
  border-bottom: 1px solid #edf1f5;
}
.demo-list > div:last-child {
  border: 0;
}
.demo-list b {
  font-size: 10px;
  color: #64748a;
}
.demo-list strong {
  font-size: 12px;
}
.demo-list span {
  font-size: 10px;
  color: #718197;
}
.demo-agenda {
  display: grid;
  gap: 9px;
}
.demo-agenda > div {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 9px;
  align-items: center;
  padding: 9px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e5ebf3;
}
.demo-agenda time {
  font-size: 10px;
  font-weight: 800;
  color: var(--primary);
}
.demo-agenda span {
  font-size: 10.5px;
}
.demo-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.demo-card-grid article {
  padding: 15px;
  border: 1px solid #e1e7f0;
  border-radius: 14px;
  background: #fbfcfe;
}
.demo-card-grid h3 {
  font-size: 13px;
  margin: 9px 0 6px;
}
.demo-card-grid p,
.demo-card-grid span {
  font-size: 10.5px;
  color: #65758a;
}
.demo-card-grid dl {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 5px;
  margin: 12px 0 0;
  font-size: 10px;
}
.demo-card-grid dt {
  color: #7d8b9c;
}
.demo-card-grid dd {
  margin: 0;
  font-weight: 700;
}
.demo-card-grid.compact article {
  min-height: 120px;
}
.demo-week {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}
.demo-week > div {
  min-height: 150px;
  padding: 12px;
  border: 1px solid #e1e7ef;
  border-radius: 13px;
  background: #fbfcfe;
}
.demo-week b {
  display: block;
  font-size: 10px;
  color: #52627a;
  margin-bottom: 9px;
}
.demo-week span {
  display: block;
  padding: 7px;
  border-radius: 8px;
  background: #eef5ff;
  color: #204a84;
  font-size: 9.5px;
  margin-bottom: 6px;
}
.demo-kanban {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.demo-kanban > div {
  padding: 12px;
  background: #f7f9fc;
  border: 1px solid #e1e7ef;
  border-radius: 13px;
}
.demo-kanban h3 {
  font-size: 11px;
  margin: 0 0 10px;
}
.demo-kanban article {
  padding: 10px;
  background: #fff;
  border: 1px solid #e1e7ef;
  border-radius: 10px;
  font-size: 10.5px;
  margin-bottom: 7px;
}
.demo-kanban small {
  display: block;
  margin-top: 5px;
  color: #78879a;
  font-size: 9px !important;
}
.demo-docs {
  display: grid;
  gap: 8px;
}
.demo-docs > div {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border: 1px solid #e2e8f0;
  border-radius: 11px;
  background: #fbfcfe;
}
.demo-docs .icon-svg {
  width: 18px;
  height: 18px;
  color: var(--primary);
}
.demo-docs span {
  display: grid;
  gap: 2px;
}
.demo-docs strong {
  font-size: 11px;
}
.demo-docs small {
  font-size: 9.5px !important;
  color: #738198;
}
.demo-team {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.demo-team article {
  text-align: center;
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fbfcfe;
}
.demo-team article > span {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto 8px;
  background: var(--primary);
  color: var(--primary-text);
  font-size: 11px;
  font-weight: 800;
}
.demo-team strong,
.demo-team small {
  display: block;
}
.demo-team strong {
  font-size: 11px;
}
.demo-team small {
  font-size: 9.5px !important;
  color: #728197;
  margin-top: 3px;
}
.demo-report-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.demo-report-grid > div {
  padding: 18px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fbfcfe;
}
.demo-report-grid strong,
.demo-report-grid span {
  display: block;
}
.demo-report-grid strong {
  font-size: 20px;
  color: var(--primary);
}
.demo-report-grid span {
  font-size: 9.5px;
  color: #718096;
  margin-top: 4px;
}

/* Equipe compacta */
.team-layout-premium {
  display: grid;
  grid-template-columns: 275px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.team-sidebar-stack {
  position: sticky;
  top: 86px;
  min-width: 0;
}
.role-list-clean {
  display: grid;
}
.role-clean-item {
  padding: 10px 0;
  border-bottom: 1px solid #ebeff5;
}
.role-clean-item:last-child {
  border: 0;
}
.role-clean-item strong {
  font-size: 11.5px;
}
.role-clean-item p {
  font-size: 9.5px;
  line-height: 1.45;
  color: #718097;
  margin: 3px 0 0;
}
.team-card-grid.compact-view {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.compact-member-card {
  padding: 14px !important;
  text-align: center;
  min-height: 190px;
  display: grid;
  align-content: start;
}
.compact-member-top {
  display: grid;
  justify-items: center;
  gap: 6px;
}
.member-photo {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #e6ecf4;
  background: #f1f5fa;
}
.member-photo.initials,
.member-photo-xl.initials {
  display: grid;
  place-items: center;
  background: var(--primary);
  color: var(--primary-text);
  font-weight: 800;
}
.compact-member-top strong {
  font-size: 11.5px;
}
.compact-meta {
  justify-content: center !important;
  margin: 8px 0 !important;
}
.compact-meta span {
  font-size: 9px !important;
  padding: 5px 7px !important;
}
.member-links-row {
  display: flex;
  justify-content: center;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: auto;
}
.link-inline {
  border: 0;
  background: transparent;
  color: #24589b;
  font-size: 9.5px;
  font-weight: 800;
  padding: 3px;
  cursor: pointer;
}
.danger-link {
  color: #c83434;
}
.inline-form {
  display: inline;
}
.profile-preview-card {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 9px;
}
.member-photo-xl {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
}
.profile-preview-card > strong {
  font-size: 14px;
}
.profile-preview-meta {
  display: grid;
  width: 100%;
  gap: 5px;
  margin: 5px 0;
}
.profile-preview-meta > span {
  font-size: 9.5px;
  padding: 6px 8px;
  background: #f7f9fc;
  border: 1px solid #e6ebf2;
  border-radius: 9px;
  overflow-wrap: anywhere;
}

@media (max-width: 1200px) {
  .launch-auth-shell {
    grid-template-columns: 390px 1fr;
  }
  .theme-presets {
    grid-template-columns: repeat(3, 1fr);
  }
  .team-card-grid.compact-view {
    grid-template-columns: repeat(3, 1fr);
  }
  .demo-kpis {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 900px) {
  .launch-auth-shell {
    grid-template-columns: 1fr;
  }
  .launch-auth-brand {
    display: none;
  }
  .launch-auth-main {
    padding: 20px;
  }
  .launch-login-card {
    max-width: 560px;
  }
  .team-layout-premium {
    grid-template-columns: 1fr;
  }
  .team-sidebar-stack {
    position: static;
  }
  .team-card-grid.compact-view {
    grid-template-columns: repeat(2, 1fr);
  }
  .demo-card-grid,
  .demo-kanban,
  .demo-team,
  .demo-report-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .demo-week {
    grid-template-columns: repeat(2, 1fr);
  }
  .demo-kpis {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 620px) {
  .launch-auth-main {
    padding: 12px;
  }
  .launch-login-card {
    padding: 20px;
    border-radius: 15px;
  }
  .launch-auth-corner {
    right: 14px;
    top: 12px;
  }
  .theme-presets {
    grid-template-columns: 1fr 1fr;
  }
  .live-theme-preview {
    grid-template-columns: 95px 1fr;
  }
  .demo-global-banner,
  .demo-mode-toolbar,
  .demo-setting-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .demo-card-grid,
  .demo-kanban,
  .demo-team,
  .demo-report-grid,
  .demo-week,
  .demo-kpis {
    grid-template-columns: 1fr;
  }
  .team-card-grid.compact-view {
    grid-template-columns: 1fr;
  }
  .team-sidebar-stack {
    display: block;
  }
  .member-photo {
    width: 68px;
    height: 68px;
  }
}

/* LexControl 2.0 — interface premium, clara e consistente */
:root {
  --bg: #f1f5fa;
  --surface: #fff;
  --surface-soft: #f7f9fc;
  --text: #14213d;
  --muted: #617089;
  --line: #dde5ef;
  --danger: #c93636;
  --ok: #12845b;
  --warn: #bd7911;
  --info: #285fb8;
  --radius: 18px;
  --shadow: 0 18px 50px rgba(24, 42, 75, 0.09);
  --shadow-soft: 0 8px 24px rgba(24, 42, 75, 0.07);
}
html,
body {
  font-size: 14px !important;
  color: var(--text);
  background: var(--bg);
  scroll-behavior: smooth;
}
body,
button,
input,
select,
textarea {
  font-family:
    Inter,
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}
body.app-body {
  min-height: 100vh;
  background:
    radial-gradient(
      circle at 94% 3%,
      color-mix(in srgb, var(--primary), transparent 94%),
      transparent 30%
    ),
    linear-gradient(145deg, #f7f9fc, #edf2f8);
}
a {
  color: inherit;
}
button,
input,
select,
textarea {
  font-size: 14px;
}
.icon-svg {
  width: 18px;
  height: 18px;
}
small,
.meta,
.trend,
.field > span,
.field > small,
.app-footer,
.notif-item time,
.task-meta span {
  font-size: 13px !important;
  line-height: 1.45;
}
.app-shell {
  display: block;
  min-height: 100vh;
}
.sidebar {
  position: fixed !important;
  inset: 0 auto 0 0;
  width: 252px;
  height: 100vh;
  padding: 0 12px 13px;
  background: linear-gradient(
    175deg,
    color-mix(in srgb, var(--primary), #152f68 10%),
    color-mix(in srgb, var(--primary), #020813 42%)
  );
  color: #fff;
  z-index: 50;
  display: flex !important;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 10px 0 35px rgba(9, 20, 45, 0.09);
}
.sidebar-glow {
  position: absolute;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  top: -100px;
  right: -100px;
  background: color-mix(in srgb, var(--accent), transparent 78%);
  filter: blur(35px);
  pointer-events: none;
}
.sidebar-particles {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0.38;
  pointer-events: none;
}
.sidebar-particles:before {
  opacity: 0.55 !important;
  background:
    radial-gradient(
        circle at 20% 18%,
        color-mix(in srgb, var(--accent), transparent 25%) 0 1px,
        transparent 1.4px
      )
      0 0/88px 88px,
    radial-gradient(
        circle at 72% 34%,
        rgba(255, 255, 255, 0.34) 0 1px,
        transparent 1.4px
      )
      0 0/116px 116px !important;
}
.brand {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 18px 10px 15px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none;
  min-height: 78px;
}
.brand-mark {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 13px;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.16),
    rgba(255, 255, 255, 0.06)
  );
  border: 1px solid color-mix(in srgb, var(--accent), transparent 45%);
  color: var(--accent);
  display: grid;
  place-items: center;
}
.brand-mark .icon-svg {
  width: 23px;
  height: 23px;
}
.brand-logo {
  width: 52px !important;
  height: 45px !important;
  flex: 0 0 52px;
  object-fit: contain;
  background: rgba(255, 255, 255, 0.96) !important;
  padding: 4px !important;
  border-radius: 11px !important;
}
.brand-text,
.brand-caption {
  min-width: 0;
}
.brand-text strong,
.brand-caption strong {
  display: block;
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: inherit !important;
  font-size: 14px !important;
  color: #fff !important;
}
.brand-text small,
.brand-caption small {
  display: block;
  font-size: 10px !important;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--accent), white 15%) !important;
  margin-top: 2px;
}
.sidebar-nav {
  position: relative;
  z-index: 1;
  display: block !important;
  padding: 10px 2px 14px !important;
  margin: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}
.nav-section {
  display: block;
  padding: 14px 11px 5px;
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: rgba(235, 241, 251, 0.52);
  font-weight: 800;
}
.sidebar .nav-item {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 37px;
  margin: 2px 0;
  padding: 8px 10px;
  border-radius: 11px;
  border: 1px solid transparent;
  color: rgba(246, 249, 255, 0.82);
  font-size: 13px !important;
  font-weight: 650;
  text-decoration: none;
  transition:
    background 0.18s,
    border-color 0.18s,
    color 0.18s;
}
.sidebar .nav-item:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.06);
}
.sidebar .nav-item.active {
  color: var(--primary-text) !important;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--accent), white 8%),
    color-mix(in srgb, var(--accent), transparent 12%)
  ) !important;
  border-color: color-mix(in srgb, var(--accent), white 15%) !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--accent), transparent 82%) !important;
}
.sidebar .nav-item.active .nav-ico {
  color: var(--accent-text) !important;
}
.nav-ico {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}
.nav-ico .icon-svg {
  width: 17px;
  height: 17px;
}
.sidebar-foot {
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding: 9px 2px 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.privacy-mini {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 4px;
  padding: 8px 10px !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
}
.privacy-mini .icon-svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  color: var(--accent) !important;
}
.privacy-mini span {
  font-size: 12px;
  line-height: 1.25;
}
.privacy-mini small {
  font-size: 10px !important;
  color: rgba(237, 242, 251, 0.56);
}
.main {
  margin-left: 252px;
  min-width: 0;
}
.topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  height: 70px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 18px;
  background: rgba(255, 255, 255, 0.82);
  border-bottom: 1px solid rgba(165, 181, 205, 0.28);
  backdrop-filter: blur(22px) saturate(145%);
  box-shadow: 0 6px 22px rgba(28, 45, 76, 0.035);
}
.mobile-brand {
  display: none;
}
.global-search {
  width: min(560px, 52vw);
  height: 43px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  border-radius: 13px;
  border: 1px solid var(--line);
  background: rgba(248, 250, 253, 0.85);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.7);
}
.global-search > .icon-svg {
  width: 17px;
  height: 17px;
  color: #748298;
}
.global-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  outline: 0;
  color: var(--text);
  padding: 9px 0;
}
.global-search kbd {
  padding: 3px 6px;
  border-radius: 6px;
  border: 1px solid #dce3ec;
  background: #fff;
  color: #8490a3;
  font: 600 10px/1 inherit;
}
.topbar-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}
.notif-wrap {
  position: relative;
}
.notif-btn {
  position: relative;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--text);
  cursor: pointer;
  box-shadow: var(--shadow-soft);
}
.notif-btn:hover {
  border-color: color-mix(in srgb, var(--primary), transparent 65%);
}
.notif-btn b {
  position: absolute;
  right: -5px;
  top: -5px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 20px;
  background: #db3b46;
  color: #fff;
  font-size: 10px;
}
.notif-panel {
  display: none;
  position: absolute;
  right: 0;
  top: 52px;
  width: min(380px, calc(100vw - 24px));
  max-height: min(540px, 75vh);
  overflow: auto;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 25px 70px rgba(13, 29, 56, 0.2);
  backdrop-filter: blur(22px);
}
.notif-wrap.open .notif-panel {
  display: block;
  animation: panel-in 0.18s ease-out;
}
.notif-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 10px 12px;
  border-bottom: 1px solid #edf1f5;
}
.notif-head > div {
  display: grid;
}
.notif-head strong {
  font-size: 14px;
}
.notif-head span {
  font-size: 12px;
  color: var(--muted);
}
.notif-head > a,
.notif-footer {
  font-size: 12px;
  font-weight: 750;
  color: var(--info);
  text-decoration: none;
}
.notif-item {
  display: grid;
  gap: 3px;
  padding: 11px 10px;
  border-bottom: 1px solid #edf1f5;
  text-decoration: none;
  border-radius: 10px;
}
.notif-item:hover {
  background: #f5f8fc;
}
.notif-kind {
  font-size: 10px !important;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--info);
}
.notif-item strong {
  font-size: 13px;
}
.notif-item time {
  color: var(--muted);
}
.notif-empty {
  padding: 24px 12px;
  text-align: center;
  color: var(--muted);
  font-size: 13px;
}
.notif-footer {
  display: block;
  padding: 12px 10px 8px;
  text-align: center;
}
.user-menu {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 4px 7px 4px 4px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  box-shadow: var(--shadow-soft);
}
.avatar {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: linear-gradient(
    145deg,
    var(--primary),
    color-mix(in srgb, var(--primary), white 17%)
  );
  color: var(--primary-text);
  font-size: 13px;
  font-weight: 800;
}
.avatar-img {
  object-fit: cover;
}
.user-menu strong {
  display: block;
  max-width: 155px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.user-menu small {
  display: block;
  font-size: 10px !important;
  color: var(--muted);
}
.content {
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
  padding: 24px 26px 18px;
}
.page-head {
  margin: 0 0 18px;
}
.page-eyebrow {
  display: block;
  margin-bottom: 6px;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.14em;
  color: color-mix(in srgb, var(--primary), #526b93 30%);
}
.page-head h1 {
  margin: 0;
  font-size: 29px !important;
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: #15213a;
}
.page-head p {
  max-width: 800px;
  margin: 6px 0 0;
  font-size: 13px !important;
  color: var(--muted);
}
.grid {
  display: grid;
  gap: 14px;
}
.two-col {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 350px);
}
.three-col {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 12px;
  margin-bottom: 16px;
}
.kpi,
.card,
.stat-box,
.export-box {
  border: 1px solid rgba(210, 220, 233, 0.88);
  background: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.98),
    rgba(249, 251, 254, 0.92)
  );
  box-shadow: var(--shadow-soft);
}
.kpi {
  position: relative;
  overflow: hidden;
  min-height: 112px;
  padding: 17px;
  border-radius: 17px !important;
}
.kpi:after {
  content: "";
  position: absolute;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  right: -30px;
  top: -30px;
  background: color-mix(in srgb, var(--accent), transparent 90%);
}
.kpi small {
  display: block;
  color: #65738a;
  font-weight: 700;
}
.kpi strong {
  display: block;
  margin-top: 8px;
  font-size: 23px !important;
  line-height: 1.15;
  letter-spacing: -0.025em;
}
.kpi .trend {
  margin-top: 7px;
  color: #6b7c94;
}
.finance-kpis {
  grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
}
.deadline-kpis {
  grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
}
.danger-text {
  color: var(--danger) !important;
}
.card {
  margin-bottom: 15px;
  padding: 18px;
  border-radius: 18px !important;
  overflow: visible;
}
.card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
}
.card-head h2 {
  margin: 0;
  font-size: 17px !important;
  line-height: 1.25;
  letter-spacing: -0.012em;
}
.actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}
.page-actions {
  min-height: 43px;
  margin: 0 0 15px;
}
.page-actions .meta {
  margin-left: 4px;
}
.action-spacer {
  flex: 1;
}
.form-actions {
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px solid #ebf0f5;
}
.filter-actions {
  align-self: end;
  padding-bottom: 1px;
}
.inline-form {
  display: inline-flex;
}
.danger-zone {
  margin-top: 10px;
}
.btn {
  min-height: 38px;
  padding: 9px 13px;
  border: 1px solid #d7e0eb;
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, #f7f9fc);
  color: #23314c;
  box-shadow: 0 5px 14px rgba(24, 42, 75, 0.055);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform 0.16s,
    box-shadow 0.16s,
    border-color 0.16s;
}
.btn .icon-svg {
  width: 15px;
  height: 15px;
}
.btn:hover {
  transform: translateY(-1px);
  border-color: #b9c7da;
  box-shadow: 0 9px 20px rgba(24, 42, 75, 0.1);
}
.btn.primary {
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--primary), white 10%),
    var(--primary)
  ) !important;
  border-color: transparent !important;
  color: var(--primary-text) !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--primary), transparent 79%) !important;
}
.btn.glass {
  background: rgba(255, 255, 255, 0.58) !important;
  backdrop-filter: blur(14px);
}
.btn.danger {
  background: #fff7f7;
  color: #b62e35;
  border-color: #f1c9cc;
}
.btn.success {
  background: #eefaf5;
  color: #0d7652;
  border-color: #c2e8da;
}
.btn.small {
  min-height: 31px;
  padding: 6px 9px;
  font-size: 11px;
}
.icon-button {
  display: grid;
  place-items: center;
  min-width: 30px;
  height: 30px;
  border-radius: 9px;
  text-decoration: none;
  color: #748198;
}
.link,
a.link {
  color: color-mix(in srgb, var(--primary), #2470ce 38%);
  font-weight: 750;
  text-decoration: none;
}
.link:hover,
a.link:hover {
  text-decoration: underline;
}
.filters,
.form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
}
.filters-compact {
  align-items: end;
  margin-bottom: 14px;
  padding: 13px;
  border: 1px solid #e6ebf2;
  border-radius: 14px;
  background: #f9fbfd;
}
.field {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: #46566f;
  font-size: 13px;
  font-weight: 700;
}
.field > span {
  color: #4b5a71;
  font-weight: 700;
}
.field > small {
  color: var(--muted);
  font-weight: 500;
}
.field input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.field select,
.field textarea {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #d5deea;
  border-radius: 11px;
  background: #fff;
  color: var(--text);
  outline: 0;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.75);
  font-size: 13px;
}
.field input[type="file"] {
  padding: 8px;
}
.field textarea {
  min-height: 110px;
  resize: vertical;
  line-height: 1.5;
}
.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: color-mix(in srgb, var(--primary), white 38%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary), transparent 90%);
}
.field.span-2 {
  grid-column: span 2;
}
.field.span-4 {
  grid-column: 1/-1;
}
.field input[type="checkbox"],
.field input[type="radio"],
.toggle-line input,
.terms-check input,
.access-choice input,
.participant-row input {
  width: 17px !important;
  height: 17px !important;
  min-height: 0 !important;
  accent-color: var(--primary);
}
.checkbox-field {
  align-content: start;
}
.toggle-line {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border: 1px solid #d5deea;
  border-radius: 11px;
  background: #fff;
}
.hp-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.terms-check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 17px 0;
  color: #52627a;
  font-size: 13px;
  line-height: 1.5;
}
.terms-check a,
.auth-switch a {
  color: #1553ad;
  font-weight: 800;
}
.auth-switch {
  text-align: center;
  color: #718097;
  font-size: 13px;
}
.table-wrap {
  max-width: 100%;
  overflow: auto;
  border: 1px solid #dfe6ef;
  border-radius: 14px;
  background: #fff;
}
.table-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.table-wrap th,
.table-wrap td {
  padding: 11px 10px;
  border-bottom: 1px solid #e9edf3;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}
.table-wrap th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f7f9fc;
  color: #536179;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.table-wrap td {
  font-size: 13px;
}
.table-wrap tr:last-child td {
  border-bottom: 0;
}
.table-wrap tbody tr:hover {
  background: #fbfcfe;
}
.table-wrap .meta {
  white-space: normal;
  max-width: 270px;
}
.badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px !important;
  font-weight: 800;
  line-height: 1.15;
  background: #eef2f6;
  color: #526176;
}
.badge.ok {
  background: #eaf8f2;
  color: #08734f;
}
.badge.danger {
  background: #fff0f1;
  color: #b72e36;
}
.badge.warn {
  background: #fff7e7;
  color: #a96609;
}
.badge.info {
  background: #edf4ff;
  color: #2456a5;
}
.badge.violet {
  background: #f3f0ff;
  color: #6545b8;
}
.badge.muted {
  background: #f0f2f5;
  color: #697386;
}
.empty {
  padding: 28px 15px;
  text-align: center;
  color: var(--muted);
  font-size: 13px;
}
.empty.compact {
  padding: 18px 8px;
}
.flash {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  padding: 11px 13px;
  border: 1px solid;
  border-radius: 13px;
  font-size: 13px;
  transition: 0.25s;
}
.flash > span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-weight: 900;
}
.flash > div {
  flex: 1;
}
.flash button {
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 18px;
  cursor: pointer;
}
.flash.success {
  background: #eefaf5;
  border-color: #c6e9dc;
  color: #0b6d4d;
}
.flash.error {
  background: #fff2f3;
  border-color: #f2cbce;
  color: #a62a32;
}
.flash.fade {
  opacity: 0;
  transform: translateY(-4px);
}
.stat-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.stat-row.single {
  grid-template-columns: 1fr;
}
.stat-box {
  padding: 13px;
  border-radius: 13px;
}
.stat-box small {
  display: block;
  color: var(--muted);
}
.stat-box strong {
  display: block;
  margin-top: 5px;
  font-size: 16px;
}
.alert-list {
  display: grid;
}
.alert-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid #e9edf3;
}
.alert-row:last-child {
  border-bottom: 0;
}
.linked-row {
  text-decoration: none;
}
.linked-row:hover strong {
  color: var(--info);
}
.calendar-scroll {
  overflow: auto;
}
.calendar {
  min-width: 760px;
  display: grid;
  grid-template-columns: repeat(7, minmax(105px, 1fr));
  border: 1px solid #dfe6ef;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.cal-head,
.cal-day {
  padding: 9px;
  border-right: 1px solid #e5eaf1;
  border-bottom: 1px solid #e5eaf1;
}
.cal-head {
  min-height: auto;
  text-align: center;
  background: #f6f8fb;
  color: #627089;
  font-size: 11px;
  font-weight: 850;
}
.cal-day {
  min-height: 105px;
}
.cal-day.today {
  background: color-mix(in srgb, var(--accent), white 92%);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--accent), transparent 55%);
}
.cal-day .num {
  font-size: 12px;
  font-weight: 800;
}
.cal-event {
  display: block;
  margin-top: 5px;
  padding: 5px 6px;
  border-left: 3px solid var(--info);
  border-radius: 6px;
  background: #eff5fd;
  color: #204d8e;
  font-size: 10px;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cal-event time {
  font-weight: 800;
}
.cal-event.type-hearing {
  border-left-color: var(--danger);
  background: #fff1f2;
  color: #9c2930;
}
.cal-event.type-meeting {
  border-left-color: #7355bb;
  background: #f4f1ff;
  color: #5e419e;
}
.muted-day {
  background: #fafbfc;
}
.task-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}
.task-column {
  min-width: 0;
  padding: 11px;
  border: 1px solid #dfe6ef;
  border-radius: 16px;
  background: rgba(244, 247, 251, 0.78);
}
.task-column > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 3px 11px;
}
.task-column > header > div {
  display: flex;
  align-items: center;
  gap: 8px;
}
.task-column > header strong {
  font-size: 13px;
}
.task-column > header b {
  min-width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #fff;
  color: #5f6e84;
  font-size: 11px;
}
.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #8f9aae;
}
.status-dot.warn {
  background: #e7a532;
}
.status-dot.ok {
  background: #23a778;
}
.task-stack {
  display: grid;
  gap: 9px;
}
.task-card {
  padding: 13px;
  border: 1px solid #dfe5ed;
  border-left: 3px solid #8fa0b5;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 6px 17px rgba(24, 42, 75, 0.05);
}
.task-card.priority-high {
  border-left-color: var(--danger);
}
.task-card.priority-medium {
  border-left-color: #e6a12d;
}
.task-card.priority-low {
  border-left-color: #2ea97c;
}
.task-card-top {
  display: flex;
  justify-content: space-between;
}
.task-card h3 {
  margin: 10px 0 6px;
  font-size: 14px;
}
.task-card p {
  margin: 0 0 9px;
  color: #65738a;
  font-size: 12px;
  line-height: 1.45;
}
.task-meta {
  display: grid;
  gap: 5px;
  padding: 8px 0;
}
.task-meta span {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #65738a;
}
.task-meta .icon-svg {
  width: 13px;
  height: 13px;
}
.task-actions {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #edf0f4;
}
.upload-zone {
  position: relative;
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 96px;
  margin-bottom: 14px;
  padding: 16px;
  border: 1.5px dashed #bfcddd;
  border-radius: 15px;
  background: #f8fafd;
}
.upload-zone:hover {
  border-color: var(--info);
  background: #f4f8ff;
}
.upload-zone input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.upload-icon {
  width: 47px;
  height: 47px;
  display: grid;
  place-items: center;
  flex: 0 0 47px;
  border-radius: 14px;
  background: #eaf2ff;
  color: var(--info);
}
.upload-icon .icon-svg {
  width: 23px;
  height: 23px;
}
.upload-zone strong,
.upload-zone span {
  display: block;
}
.upload-zone span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}
.file-cell {
  display: flex;
  align-items: center;
  gap: 9px;
}
.file-cell > div {
  display: grid;
}
.file-cell small {
  color: var(--muted);
  font-size: 10px !important;
}
.file-type {
  width: 42px;
  min-height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #edf3fb;
  color: #315b91;
  font-size: 9px;
  font-weight: 900;
}
.process-subnav {
  position: sticky;
  top: 78px;
  z-index: 10;
  display: flex;
  gap: 5px;
  overflow: auto;
  margin: 0 0 14px;
  padding: 7px;
  border: 1px solid #dfe6ef;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
}
.process-subnav a {
  flex: 0 0 auto;
  padding: 7px 11px;
  border-radius: 8px;
  color: #53637a;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}
.process-subnav a:hover {
  background: #edf3fb;
  color: var(--primary);
}
.process-summary {
  overflow: hidden;
}
.process-notes {
  margin-top: 13px;
  padding: 12px;
  border-radius: 12px;
  background: #f8fafc;
}
.process-notes p {
  margin: 5px 0 0;
  line-height: 1.55;
}
.process-team-line {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid #e8edf3;
}
.process-team-line > b {
  padding: 6px 8px;
  border-radius: 9px;
  background: #f2f6fb;
  font-size: 12px;
}
.process-team-line small {
  font-size: 10px !important;
  color: var(--muted);
}
.timeline {
  margin-left: 7px;
  padding-left: 18px;
  border-left: 2px solid #dbe5f2;
}
.timeline-item {
  position: relative;
  padding: 0 0 17px;
}
.timeline-item:before {
  content: "";
  position: absolute;
  left: -24px;
  top: 4px;
  width: 10px;
  height: 10px;
  border: 3px solid #edf4ff;
  border-radius: 50%;
  background: var(--info);
}
.timeline-item p {
  margin: 6px 0 0;
  line-height: 1.55;
}
.participant-admin {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #e0e7f0;
  border-radius: 14px;
  background: #f8fafc;
}
.participant-admin > div:first-child {
  display: grid;
  gap: 3px;
}
.participant-admin small {
  color: var(--muted);
}
.participant-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 11px;
}
.participant-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  padding: 9px;
  border: 1px solid #e1e7ef;
  border-radius: 10px;
  background: #fff;
}
.participant-row > span {
  display: grid;
  font-size: 12px;
}
.participant-row select {
  max-width: 165px;
  padding: 7px;
  border: 1px solid #d5deea;
  border-radius: 8px;
  font-size: 11px;
}
.attachment-list,
.meeting-list {
  display: grid;
}
.attachment-item,
.meeting-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 11px 0;
  border-bottom: 1px solid #e9edf3;
}
.attachment-item:last-child,
.meeting-row:last-child {
  border-bottom: 0;
}
.attachment-icon,
.meeting-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #edf3fb;
  color: var(--info);
}
.attachment-info,
.meeting-row > div:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.attachment-info strong,
.meeting-row strong {
  overflow-wrap: anywhere;
}
.attachment-info span,
.meeting-row span {
  color: var(--muted);
  font-size: 12px;
}
.secure-media {
  display: grid;
  gap: 10px;
  margin: 13px 0;
  padding: 13px;
  border: 1px solid #d6e3ef;
  border-radius: 14px;
  background: linear-gradient(145deg, #f5f9fd, #eef5fc);
}
.secure-media > div:first-child {
  display: grid;
}
.secure-media strong {
  display: flex;
  align-items: center;
  gap: 6px;
}
.secure-media span {
  color: var(--muted);
  font-size: 12px;
}
.secure-media audio,
.secure-media video {
  width: 100%;
  max-height: 340px;
}
.media-tag {
  display: flex !important;
  align-items: center;
  gap: 4px;
  color: var(--info) !important;
}
.media-tag .icon-svg {
  width: 12px;
  height: 12px;
}
.guidance-list {
  margin: 0;
  padding-left: 20px;
}
.guidance-list li {
  margin: 8px 0;
  color: #52627a;
  line-height: 1.45;
}
.privacy-copy {
  line-height: 1.65;
}
.communications-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 14px;
}
.communication-feed {
  display: grid;
  gap: 10px;
}
.communication-card {
  position: relative;
  padding: 16px;
  border: 1px solid #e0e6ef;
  border-radius: 15px;
  background: #fff;
}
.communication-card.unread {
  border-left: 3px solid var(--info);
}
.communication-card.pinned {
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--accent), white 94%),
    #fff
  );
  border-color: color-mix(in srgb, var(--accent), transparent 50%);
}
.communication-card > header,
.communication-card > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.communication-card time,
.communication-card footer > span {
  color: var(--muted);
  font-size: 12px;
}
.communication-card h2 {
  margin: 12px 0 7px;
  font-size: 16px;
}
.communication-card p {
  margin: 0;
  line-height: 1.6;
}
.communication-card footer {
  margin-top: 14px;
  padding-top: 11px;
  border-top: 1px solid #edf0f4;
}
.audience-guide {
  display: grid;
}
.audience-guide > div {
  display: grid;
  gap: 2px;
  padding: 10px 0;
  border-bottom: 1px solid #e9edf3;
}
.audience-guide > div:last-child {
  border: 0;
}
.audience-guide b {
  font-size: 13px;
}
.audience-guide span {
  font-size: 12px;
  color: var(--muted);
}
.notification-list {
  display: grid;
}
.notification-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 12px;
  border-bottom: 1px solid #e9edf3;
  text-decoration: none;
}
.notification-row:last-child {
  border: 0;
}
.notification-row:hover {
  background: #f8fafc;
}
.notification-row.unread {
  background: #f3f7fd;
}
.notification-row p {
  margin: 3px 0;
  color: #58677f;
  font-size: 12px;
}
.notification-row small {
  color: var(--muted);
}
.notification-symbol {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #eaf2fc;
  color: var(--info);
}
.unread-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--info);
}
.notification-list.compact .notification-row {
  padding: 10px 3px;
}
.activity-list {
  display: grid;
}
.activity-list article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 12px 3px;
  border-bottom: 1px solid #e9edf3;
}
.activity-list article:last-child {
  border: 0;
}
.activity-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #eef3f9;
  color: #557092;
}
.activity-list strong {
  font-size: 13px;
}
.activity-list p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
}
.activity-list time {
  color: var(--muted);
  font-size: 12px;
}
.app-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  padding: 18px 3px 4px;
  border-top: 1px solid #dde5ef;
  color: #718096;
  text-align: left;
}
.app-footer small {
  font-size: 11px !important;
}
.demo-global-banner {
  border-radius: 14px !important;
}
.mobile-app-nav,
.mobile-more-sheet,
.mobile-more-backdrop {
  display: none;
}

/* Autenticação */
.auth-body {
  min-height: 100vh;
  background: #111722 !important;
}
.launch-auth-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(380px, 34%) 1fr;
}
.launch-auth-brand {
  padding: 32px 34px 25px;
  background:
    radial-gradient(
      circle at 75% 12%,
      rgba(64, 135, 231, 0.25),
      transparent 30%
    ),
    linear-gradient(160deg, #17315c, #0c1d3a 54%, #07142b);
}
.launch-auth-logo {
  width: 215px;
}
.launch-brand-content h1 {
  font-size: clamp(31px, 3vw, 47px);
}
.launch-brand-content > p,
.launch-benefits strong {
  font-size: 13px;
}
.launch-benefits small,
.launch-brand-foot small {
  font-size: 12px !important;
}
.launch-auth-main {
  padding: 28px;
  background: #111722;
}
.launch-login-card {
  width: min(520px, 100%);
  padding: 28px;
  border-radius: 20px;
  background: rgba(22, 28, 39, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.11);
}
.launch-login-head h2 {
  font-size: 21px;
}
.launch-login-head p {
  font-size: 13px;
}
.launch-login-card .field > span {
  font-size: 13px !important;
  color: #eff4fa !important;
}
.launch-login-card .field input:not([type="checkbox"]) {
  height: 47px !important;
  background: #1b222e !important;
  border-color: #3b4553 !important;
  color: #fff !important;
}
.launch-links {
  font-size: 13px !important;
}
.launch-links label {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #adb9c8;
}
.launch-links input {
  width: 16px;
  height: 16px;
  accent-color: #3488ff;
}
.launch-primary,
.launch-create {
  height: 45px;
}
.launch-security-note span {
  font-size: 12px;
  line-height: 1.5;
}
.auth-main.auth-single,
.auth-main {
  min-height: 100vh;
  padding: 22px;
}
.auth-card {
  width: min(500px, 100%);
  padding: 28px;
  border-radius: 20px;
  background: #fff;
  color: var(--text);
}
.auth-card .field > span {
  font-size: 13px !important;
}
.auth-card h2 {
  font-size: 24px;
}
.auth-note {
  font-size: 13px;
}
.auth-card-logo {
  max-width: 190px;
}

@keyframes panel-in {
  from {
    opacity: 0;
    transform: translateY(-6px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
@media (max-width: 1250px) {
  .finance-kpis {
    grid-template-columns: repeat(3, minmax(160px, 1fr)) !important;
  }
  .two-col {
    grid-template-columns: minmax(0, 1fr) 310px;
  }
  .participant-grid {
    grid-template-columns: 1fr;
  }
  .team-card-grid.compact-view {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 1100px) {
  body:not(.auth-body) {
    padding-bottom: 76px;
  }
  .sidebar {
    display: none !important;
  }
  .main {
    margin-left: 0;
  }
  .topbar {
    height: 64px;
    padding: 0 16px;
  }
  .mobile-brand {
    display: flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 850;
    color: var(--primary);
  }
  .mobile-brand .icon-svg {
    width: 24px;
    height: 24px;
  }
  .global-search {
    width: min(480px, 48vw);
  }
  .content {
    padding: 19px 17px 16px;
  }
  .two-col,
  .communications-layout,
  .meeting-layout,
  .process-detail-grid {
    grid-template-columns: 1fr;
  }
  .team-sidebar-stack {
    position: static;
  }
  .mobile-app-nav {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr);
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    padding: 6px max(7px, env(safe-area-inset-right))
      calc(6px + env(safe-area-inset-bottom))
      max(7px, env(safe-area-inset-left));
    background: color-mix(in srgb, var(--primary), #020710 32%);
    border-top: 1px solid color-mix(in srgb, var(--accent), transparent 65%);
    box-shadow: 0 -14px 34px rgba(5, 13, 29, 0.18);
    backdrop-filter: blur(18px);
  }
  .mobile-app-nav a,
  .mobile-app-nav button {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 4px 2px;
    border: 0;
    background: transparent;
    color: #c6d0de;
    font: inherit;
    text-decoration: none;
    cursor: pointer;
  }
  .mobile-app-nav span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
  }
  .mobile-app-nav .icon-svg {
    width: 21px;
    height: 21px;
  }
  .mobile-app-nav a.active {
    color: var(--accent);
  }
  .mobile-more-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 94;
    background: rgba(4, 10, 23, 0.55);
    opacity: 0;
    pointer-events: none;
    transition: 0.2s;
  }
  .mobile-more-sheet {
    display: block;
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: calc(70px + env(safe-area-inset-bottom));
    z-index: 95;
    max-height: 75vh;
    overflow: auto;
    padding: 8px 14px 16px;
    border: 1px solid #dbe3ed;
    border-radius: 21px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 28px 70px rgba(4, 12, 28, 0.3);
    transform: translateY(120%);
    opacity: 0;
    pointer-events: none;
    transition: 0.24s ease;
    backdrop-filter: blur(20px);
  }
  .mobile-more-open .mobile-more-backdrop {
    opacity: 1;
    pointer-events: auto;
  }
  .mobile-more-open .mobile-more-sheet {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
  .mobile-more-handle {
    width: 42px;
    height: 4px;
    margin: 2px auto 10px;
    border-radius: 8px;
    background: #d5dde7;
  }
  .mobile-more-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
  }
  .mobile-more-head > div {
    display: grid;
  }
  .mobile-more-head strong {
    font-size: 14px;
  }
  .mobile-more-head small {
    color: var(--muted);
    font-size: 11px !important;
  }
  .mobile-more-head button {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: #eef2f6;
    color: #536176;
    font-size: 21px;
    cursor: pointer;
  }
  .mobile-more-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 7px;
  }
  .mobile-more-grid a {
    min-height: 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 5px;
    border: 1px solid #e0e6ee;
    border-radius: 12px;
    background: #f9fafc;
    color: var(--text);
    font-size: 10px;
    text-align: center;
    text-decoration: none;
  }
  .mobile-more-grid a .icon-svg {
    width: 20px;
    height: 20px;
    color: var(--primary);
  }
}
@media (max-width: 760px) {
  .topbar {
    gap: 10px;
    padding: 0 11px;
  }
  .mobile-brand span {
    display: none;
  }
  .global-search {
    flex: 1;
    width: auto;
  }
  .global-search kbd {
    display: none;
  }
  .user-menu > div:last-child {
    display: none;
  }
  .user-menu {
    padding: 3px;
  }
  .notif-panel {
    position: fixed;
    top: 66px;
    left: 10px;
    right: 10px;
    width: auto;
  }
  .content {
    padding: 16px 11px 12px;
  }
  .page-head h1 {
    font-size: 25px !important;
  }
  .page-head p {
    font-size: 13px !important;
  }
  .filters,
  .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .field.span-4 {
    grid-column: 1/-1;
  }
  .finance-kpis,
  .deadline-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .task-board {
    grid-template-columns: 1fr;
  }
  .task-column {
    padding: 9px;
  }
  .stat-row {
    grid-template-columns: 1fr;
  }
  .participant-grid {
    grid-template-columns: 1fr;
  }
  .communication-card > footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .activity-list article {
    grid-template-columns: auto 1fr;
  }
  .activity-list time {
    grid-column: 2;
  }
  .attachment-item,
  .meeting-row {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .attachment-item > .btn,
  .meeting-row > .actions {
    grid-column: 2;
    justify-self: start;
  }
  .app-footer {
    flex-direction: column;
    gap: 4px;
  }
  .launch-auth-shell {
    grid-template-columns: 1fr;
  }
  .launch-auth-brand {
    display: none;
  }
  .launch-auth-main {
    padding: 13px;
  }
  .launch-login-card {
    padding: 21px;
  }
  .launch-auth-corner {
    top: 12px;
    right: 12px;
  }
}
@media (max-width: 520px) {
  html,
  body {
    font-size: 14px !important;
  }
  .filters,
  .form-grid {
    grid-template-columns: 1fr;
  }
  .field.span-2,
  .field.span-4 {
    grid-column: auto;
  }
  .kpis,
  .finance-kpis,
  .deadline-kpis {
    grid-template-columns: 1fr 1fr !important;
  }
  .kpi {
    min-height: 102px;
    padding: 14px;
  }
  .kpi strong {
    font-size: 19px !important;
  }
  .card {
    padding: 14px;
  }
  .card-head h2 {
    font-size: 16px !important;
  }
  .page-actions {
    align-items: stretch;
  }
  .page-actions .btn {
    flex: 1;
  }
  .action-spacer {
    display: none;
  }
  .table-wrap th,
  .table-wrap td {
    padding: 10px 9px;
  }
  .mobile-more-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .mobile-app-nav span {
    font-size: 9px;
  }
  .process-subnav {
    top: 71px;
  }
  .participant-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .participant-row select {
    width: 100%;
    max-width: none;
  }
  .movement-form > div {
    grid-column: auto;
  }
  .communication-card > header {
    align-items: flex-start;
    flex-direction: column;
  }
  .launch-login-head {
    align-items: flex-start;
  }
  .launch-login-head h2 {
    font-size: 19px;
  }
  .launch-links {
    align-items: flex-start;
    flex-direction: column;
  }
  .auth-card {
    padding: 22px 18px;
  }
  .theme-presets {
    grid-template-columns: 1fr 1fr;
  }
}

/* Cobrança e relatórios 2.0 */
.dashboard-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: -3px 0 14px;
  padding: 11px 13px;
  border: 1px solid #dfe6ef;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.76);
}
.dashboard-welcome > div:first-child {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.dashboard-welcome span {
  color: var(--muted);
  font-size: 12px;
}
.dashboard-health {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #47705f;
  font-size: 12px;
  font-weight: 750;
}
.dashboard-health i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #27a577;
  box-shadow: 0 0 0 4px #e8f7f1;
}
.dashboard-kpis {
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
}
.kpi-link {
  position: relative;
  display: block;
  text-decoration: none;
  transition: 0.18s;
}
.kpi-link:hover {
  transform: translateY(-2px);
  border-color: #c9d6e6;
}
.kpi-icon {
  position: absolute;
  right: 14px;
  top: 14px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #edf3fa;
  color: var(--primary);
}
.kpi-icon .icon-svg {
  width: 18px;
  height: 18px;
}
.kpi-link > small,
.kpi-link > strong,
.kpi-link > .trend {
  max-width: calc(100% - 38px);
}
.kpi-danger {
  border-color: #efcdd0;
}
.kpi-danger .kpi-icon {
  background: #fff0f1;
  color: var(--danger);
}
.dashboard-actions {
  display: flex;
  gap: 8px;
  overflow: auto;
  margin: 0 0 14px;
  padding: 1px 1px 5px;
  scrollbar-width: thin;
}
.dashboard-actions a {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 39px;
  padding: 9px 12px;
  border: 1px solid #dbe3ed;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  color: #394d69;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.dashboard-actions a:hover {
  border-color: #aebfd3;
  color: var(--primary);
}
.dashboard-actions .icon-svg {
  width: 16px;
  height: 16px;
}
.dashboard-main-grid {
  grid-template-columns: minmax(0, 1fr) 320px;
}
.dashboard-main-grid .card {
  margin-bottom: 14px;
}
.alert-date {
  margin-top: 5px;
}
.compact-event-list {
  display: grid;
}
.compact-event-list > a {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #e9edf3;
  text-decoration: none;
}
.compact-event-list > a:last-child {
  border-bottom: 0;
}
.compact-event-list time {
  display: grid;
  place-items: center;
  width: 40px;
  height: 44px;
  border-radius: 10px;
  background: #edf3fa;
  color: var(--primary);
}
.compact-event-list time b {
  font-size: 16px;
  line-height: 1;
}
.compact-event-list time span {
  font-size: 9px;
  font-weight: 900;
}
.compact-event-list a > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.compact-event-list a > div strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.compact-event-list a > div span {
  color: var(--muted);
  font-size: 11px;
}
.dashboard-comms {
  display: grid;
}
.dashboard-comms > a {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 0;
  border-bottom: 1px solid #e9edf3;
  text-decoration: none;
}
.dashboard-comms > a:last-child {
  border: 0;
}
.dashboard-comms > a.unread {
  padding-left: 9px;
  border-left: 3px solid var(--info);
}
.dashboard-comms a > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.dashboard-comms strong {
  font-size: 13px;
}
.dashboard-comms span {
  color: var(--muted);
  font-size: 11px;
}
.dashboard-comms b {
  padding: 4px 6px;
  border-radius: 8px;
  background: #fff4db;
  color: #8a6414;
  font-size: 9px;
}
.billing-layout {
  grid-template-columns: minmax(0, 1fr) 300px;
}
.billing-alert {
  margin-top: 14px;
}
.kpi-date {
  font-size: 19px !important;
}
.billing-pricing {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}
.price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 260px;
  padding: 19px;
  border: 1px solid #dfe6ef;
  border-radius: 17px;
  background: linear-gradient(160deg, #fff, #f7f9fc);
}
.price-card.featured {
  border-color: color-mix(in srgb, var(--accent), #dfe6ef 40%);
  box-shadow: 0 14px 32px color-mix(in srgb, var(--primary), transparent 90%);
}
.price-card h3 {
  margin: 3px 0 0;
  font-size: 18px;
}
.price-card .eyebrow {
  color: var(--info);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.price-value {
  font-size: 25px;
  font-weight: 900;
  color: var(--primary);
}
.price-value small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-weight: 650;
}
.price-card p {
  flex: 1;
  line-height: 1.55;
}
.price-card form,
.price-card .btn {
  width: 100%;
}
.price-ribbon {
  position: absolute;
  right: 12px;
  top: 12px;
  padding: 5px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent), white 74%);
  color: #5f4610;
  font-size: 10px;
  font-weight: 900;
}
.billing-sync {
  margin-top: 10px;
}
.steps-clean {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  counter-reset: step;
  list-style: none;
}
.steps-clean li {
  position: relative;
  padding-left: 38px;
  min-height: 27px;
  color: #536279;
  line-height: 1.5;
}
.steps-clean li:before {
  counter-increment: step;
  content: counter(step);
  position: absolute;
  left: 0;
  top: -2px;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #edf3fa;
  color: var(--primary);
  font-size: 11px;
  font-weight: 900;
}
.one-col {
  grid-template-columns: 1fr !important;
}
.metric-list {
  display: grid;
  gap: 13px;
}
.metric-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}
.metric-row > div {
  display: grid;
  gap: 6px;
}
.metric-row span {
  font-size: 13px;
  font-weight: 700;
}
.metric-row strong {
  min-width: 34px;
  text-align: right;
}
.metric-bar {
  height: 7px;
  border-radius: 99px;
  background: #edf1f6;
  overflow: hidden;
}
.metric-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    var(--primary),
    color-mix(in srgb, var(--primary), var(--accent) 24%)
  );
}
.danger-text {
  color: var(--danger) !important;
}
@media (max-width: 1100px) {
  .dashboard-main-grid,
  .billing-layout {
    grid-template-columns: 1fr;
  }
  .billing-layout > aside {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .billing-layout > aside > .card {
    margin: 0;
  }
}
@media (max-width: 700px) {
  .billing-pricing,
  .billing-layout > aside {
    grid-template-columns: 1fr;
  }
  .reports-topbar {
    grid-template-columns: 1fr;
  }
  .export-box {
    grid-template-columns: 1fr;
  }
  .price-card {
    min-height: 0;
  }
  .price-ribbon {
    position: static;
    width: max-content;
  }
}
@media (max-width: 560px) {
  .dashboard-welcome {
    align-items: flex-start;
    flex-direction: column;
  }
  .dashboard-kpis {
    grid-template-columns: 1fr 1fr !important;
  }
  .dashboard-actions a {
    min-height: 42px;
  }
  .kpi-link > small,
  .kpi-link > strong,
  .kpi-link > .trend {
    max-width: 100%;
  }
  .kpi-icon {
    opacity: 0.2;
  }
  .compact-event-list > a {
    grid-template-columns: 40px minmax(0, 1fr);
  }
}

/* LexControl 2.1 — identidade premium e iconografia jurídica */
.icon-svg .icon-dot {
  fill: currentColor;
  stroke: none;
  opacity: 0.78;
}
.brand-product-mark {
  display: block;
  width: 51px;
  height: 51px;
  flex: 0 0 51px;
  object-fit: contain;
  filter: drop-shadow(0 9px 13px rgba(0, 4, 16, 0.42));
  transition: transform 0.24s ease, filter 0.24s ease;
}
.brand:hover .brand-product-mark {
  transform: translateY(-1px) scale(1.025);
  filter: drop-shadow(0 12px 17px rgba(0, 4, 16, 0.5));
}
.sidebar .brand-product-text strong {
  max-width: 158px;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.24);
}
.sidebar .brand-product-text small {
  max-width: 158px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 8.5px !important;
  letter-spacing: 0.13em;
}
.sidebar-nav {
  padding-inline: 1px !important;
}
.sidebar .nav-item {
  position: relative;
  gap: 10px;
  min-height: 43px;
  padding: 5px 8px;
  border-radius: 13px;
  overflow: hidden;
}
.sidebar .nav-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 3px;
  height: 0;
  border-radius: 0 5px 5px 0;
  background: linear-gradient(180deg, #fff0a9, var(--accent), #9b6a1d);
  box-shadow: 0 0 13px color-mix(in srgb, var(--accent), transparent 26%);
  transform: translateY(-50%);
  transition: height 0.2s ease;
}
.sidebar .nav-item:hover::before {
  height: 18px;
}
.sidebar .nav-item.active::before {
  height: 27px;
}
.nav-ico {
  --icon-color: #b9cae7;
  --icon-wash: rgba(166, 190, 228, 0.13);
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  border-radius: 10px;
  color: var(--icon-color);
  background:
    radial-gradient(circle at 27% 18%, rgba(255, 255, 255, 0.22), transparent 38%),
    linear-gradient(145deg, var(--icon-wash), rgba(255, 255, 255, 0.035));
  border: 1px solid color-mix(in srgb, var(--icon-color), transparent 72%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.13),
    0 6px 13px rgba(0, 6, 20, 0.16);
  transition: transform 0.2s ease, color 0.2s ease, background 0.2s ease,
    border-color 0.2s ease, box-shadow 0.2s ease;
}
.nav-ico::after {
  content: "";
  position: absolute;
  inset: 3px;
  z-index: -1;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.045);
}
.nav-ico .icon-svg {
  width: 18px;
  height: 18px;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}
.sidebar .nav-item:hover .nav-ico {
  transform: translateY(-1px) scale(1.035);
  color: color-mix(in srgb, var(--icon-color), white 18%);
  border-color: color-mix(in srgb, var(--icon-color), transparent 48%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.17),
    0 9px 17px rgba(0, 5, 19, 0.24),
    0 0 14px color-mix(in srgb, var(--icon-color), transparent 85%);
}
.sidebar .nav-item.active {
  color: #fff !important;
  background:
    radial-gradient(circle at 14% 50%, color-mix(in srgb, var(--accent), transparent 81%), transparent 44%),
    linear-gradient(105deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.055)) !important;
  border-color: color-mix(in srgb, var(--accent), transparent 66%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 10px 24px rgba(0, 5, 19, 0.2) !important;
}
.sidebar .nav-item.active .nav-ico {
  color: #07162f !important;
  background:
    radial-gradient(circle at 26% 17%, #fff6c8 0, transparent 36%),
    linear-gradient(145deg, #f4d77e, var(--accent) 53%, #9e6e1e);
  border-color: rgba(255, 238, 166, 0.82);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 8px 18px color-mix(in srgb, var(--accent), transparent 65%);
}
.nav-ico--dashboard { --icon-color: #76c7ff; --icon-wash: rgba(52, 153, 232, 0.19); }
.nav-ico--processes { --icon-color: #8eafff; --icon-wash: rgba(76, 112, 224, 0.2); }
.nav-ico--clients { --icon-color: #bd9cff; --icon-wash: rgba(131, 82, 217, 0.2); }
.nav-ico--agenda { --icon-color: #66d8cd; --icon-wash: rgba(33, 167, 154, 0.19); }
.nav-ico--deadlines { --icon-color: #ff9c8f; --icon-wash: rgba(221, 76, 76, 0.2); }
.nav-ico--tasks { --icon-color: #77dfac; --icon-wash: rgba(40, 174, 111, 0.2); }
.nav-ico--documents { --icon-color: #7ac5ff; --icon-wash: rgba(43, 137, 221, 0.2); }
.nav-ico--docgen { --icon-color: #f2cf69; --icon-wash: rgba(208, 160, 38, 0.2); }
.nav-ico--notices { --icon-color: #ca9cff; --icon-wash: rgba(143, 83, 222, 0.2); }
.nav-ico--meetings { --icon-color: #ff9fbd; --icon-wash: rgba(212, 72, 125, 0.19); }
.nav-ico--communications { --icon-color: #6ed9e7; --icon-wash: rgba(37, 164, 182, 0.19); }
.nav-ico--finance { --icon-color: #71dba2; --icon-wash: rgba(35, 164, 98, 0.2); }
.nav-ico--team { --icon-color: #9daeff; --icon-wash: rgba(86, 105, 210, 0.2); }
.nav-ico--reports { --icon-color: #ffd074; --icon-wash: rgba(204, 145, 35, 0.2); }
.nav-ico--history { --icon-color: #aebdd3; --icon-wash: rgba(121, 144, 178, 0.17); }
.nav-ico--billing { --icon-color: #f4d57a; --icon-wash: rgba(207, 163, 48, 0.22); }
.nav-ico--settings { --icon-color: #b9c7dc; --icon-wash: rgba(126, 148, 180, 0.18); }
.nav-ico--logout { --icon-color: #ff9a9f; --icon-wash: rgba(210, 63, 74, 0.18); }
.mobile-brand img {
  display: block;
  width: 29px;
  height: 29px;
  object-fit: contain;
  filter: drop-shadow(0 4px 7px rgba(6, 22, 51, 0.2));
}
@media (max-width: 1100px) {
  .mobile-brand .icon-svg {
    display: none;
  }
  .mobile-app-nav .icon-svg {
    width: 21px;
    height: 21px;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.22));
  }
  .mobile-more-grid a .icon-svg {
    width: 22px;
    height: 22px;
  }
}

/* ===== Auth premium royal glass v2.1.9 ===== */
.auth-body{
  min-height:100vh;
  color:#eef5ff!important;
  background:radial-gradient(circle at 12% 20%,rgba(37,98,182,.25),transparent 28%),linear-gradient(135deg,#071225 0,#081a34 44%,#09111d 100%)!important;
}
.auth-royal-page{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:linear-gradient(135deg,#071225 0,#081a34 42%,#09111d 100%);
}
.auth-royal-page:before,
.auth-royal-page:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.auth-royal-page:before{
  background:
    radial-gradient(circle at 18% 14%,rgba(112,175,255,.16),transparent 20%),
    radial-gradient(circle at 82% 18%,rgba(236,190,90,.13),transparent 18%),
    radial-gradient(circle at 78% 72%,rgba(34,93,163,.18),transparent 22%),
    linear-gradient(90deg,transparent 96.7%,rgba(255,255,255,.025) 96.7%),
    linear-gradient(transparent 96.7%,rgba(255,255,255,.02) 96.7%);
  background-size:auto,auto,auto,42px 42px,42px 42px;
  opacity:.9;
}
.auth-royal-page:after{
  background:
    radial-gradient(circle at 80% 24%,rgba(255,255,255,.11) 0 1px,transparent 2px),
    radial-gradient(circle at 72% 15%,rgba(255,215,138,.18) 0 1.6px,transparent 2.6px),
    radial-gradient(circle at 13% 77%,rgba(255,255,255,.11) 0 1.4px,transparent 2.4px),
    radial-gradient(circle at 91% 61%,rgba(255,227,156,.12) 0 1.4px,transparent 2.2px);
}
.auth-royal-scene{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.auth-royal-glow,
.auth-royal-orbit,
.auth-royal-ornament{position:absolute;pointer-events:none;}
.auth-royal-glow{
  border-radius:999px;
  filter:blur(38px);
  opacity:.8;
}
.ar-glow-a{width:260px;height:260px;left:8%;top:10%;background:rgba(58,134,255,.22);}
.ar-glow-b{width:300px;height:300px;right:6%;bottom:12%;background:rgba(255,194,87,.16);}
.auth-royal-orbit{
  border-radius:999px;
  border:1px solid rgba(233,191,89,.2);
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
}
.ar-orbit-a{width:420px;height:420px;right:-60px;top:-80px;transform:rotate(18deg);}
.ar-orbit-b{width:320px;height:320px;left:-90px;bottom:-70px;transform:rotate(-25deg);border-color:rgba(127,184,255,.16);}
.auth-royal-ornament{
  width:54px;height:54px;border-radius:18px;
  display:grid;place-items:center;
  color:#efd189;
  background:linear-gradient(160deg,rgba(245,213,140,.08),rgba(32,63,103,.18));
  border:1px solid rgba(240,199,112,.2);
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 18px 34px rgba(2,8,18,.28);
  backdrop-filter:blur(10px);
  animation:authRoyalFloat 11s ease-in-out infinite;
}
.auth-royal-ornament .icon-svg{width:24px;height:24px;}
.ar-ornament-scale{left:7%;top:20%;animation-delay:-1s;}
.ar-ornament-gavel{right:10%;top:18%;animation-delay:-4s;}
.ar-ornament-doc{right:16%;bottom:16%;animation-delay:-2s;}
.ar-ornament-spark{left:12%;bottom:16%;animation-delay:-6s;}
@keyframes authRoyalFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.auth-royal-wrap{
  position:relative;
  z-index:2;
  max-width:1320px;
  margin:0 auto;
  padding:34px 28px 28px;
}
.auth-royal-topline{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin-bottom:20px;
  color:#c7d8ec;
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
}
.auth-royal-topline span:last-child{text-align:right;opacity:.88;}
.auth-royal-grid{
  display:grid;
  grid-template-columns:minmax(330px,1fr) minmax(420px,520px);
  gap:36px;
  align-items:center;
  min-height:calc(100vh - 110px);
}
.auth-royal-copy{max-width:520px;}
.auth-royal-logo{display:block;width:215px;margin-bottom:24px;}
.auth-royal-logo img,.auth-royal-mini-logo img{display:block;width:100%;filter:drop-shadow(0 10px 22px rgba(0,0,0,.25));}
.auth-royal-kicker,
.auth-royal-kicker-line{
  display:inline-block;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#9cc6ff;
  font-weight:800;
}
.auth-royal-copy h1{
  margin:14px 0 14px;
  font-size:clamp(40px,5vw,68px);
  line-height:.98;
  letter-spacing:-.045em;
  color:#fff;
}
.auth-royal-copy h1 span{
  display:block;
  background:linear-gradient(90deg,#7fc2ff,#7f96ff 45%,#8f7cff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.auth-royal-copy p{
  margin:0;
  max-width:460px;
  color:#cad8ea;
  font-size:15px;
  line-height:1.75;
}
.auth-royal-benefits{display:grid;gap:14px;margin-top:30px;}
.auth-royal-benefits article{
  display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:start;
}
.auth-royal-benefits i{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-style:normal;
  color:#92c9ff;background:linear-gradient(160deg,rgba(77,163,255,.16),rgba(8,31,58,.2));
  border:1px solid rgba(120,185,255,.18);box-shadow:inset 0 1px rgba(255,255,255,.08);
}
.auth-royal-benefits i .icon-svg{width:22px;height:22px;}
.auth-royal-benefits strong{display:block;font-size:14px;color:#fff;}
.auth-royal-benefits small{display:block;font-size:12px!important;line-height:1.58;color:#9eb1c7;margin-top:4px;}
.auth-royal-footer-note{
  margin-top:30px;padding:15px 16px;border-radius:18px;max-width:500px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);
  backdrop-filter:blur(14px);box-shadow:inset 0 1px rgba(255,255,255,.05);
}
.auth-royal-footer-note span{display:flex;align-items:center;gap:8px;color:#f2f7ff;font-weight:800;font-size:12px;}
.auth-royal-footer-note span .icon-svg{width:16px;height:16px;color:#efc56b;}
.auth-royal-footer-note small{display:block;margin-top:4px;color:#9eb1c6;font-size:11px!important;}
.auth-royal-card{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  padding:30px 28px 24px;
  background:linear-gradient(145deg,rgba(14,29,53,.76),rgba(7,18,34,.86));
  border:1px solid rgba(150,196,255,.28);
  box-shadow:0 34px 90px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.16),0 0 0 1px rgba(255,228,160,.06);
  backdrop-filter:blur(16px);
}
.auth-royal-card:before{
  content:"";position:absolute;inset:1px;border-radius:31px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 24%,transparent 68%,rgba(74,139,232,.08));
  pointer-events:none;
}
.auth-royal-card-glow{
  position:absolute;inset:auto -18% 68% auto;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,231,168,.18),transparent 63%);filter:blur(22px);pointer-events:none;
}
.auth-royal-card--login{width:min(100%,520px);justify-self:end;}
.auth-royal-card--compact{width:min(100%,620px);margin:0 auto;padding:32px 30px 26px;}
.auth-royal-head{position:relative;z-index:2;display:flex;gap:15px;align-items:flex-start;margin-bottom:22px;}
.auth-royal-head-icon{
  flex:0 0 auto;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(160deg,#2eb0ff,#1a6ef0);box-shadow:0 18px 36px rgba(21,120,232,.26),inset 0 1px rgba(255,255,255,.2);
}
.auth-royal-head-icon .icon-svg{width:23px;height:23px;}
.auth-royal-head h2{
  margin:4px 0 6px;
  color:#fff;
  font-size:clamp(28px,3vw,44px);
  line-height:1.03;
  letter-spacing:-.04em;
}
.auth-royal-card--login .auth-royal-head h2{font-size:22px;letter-spacing:-.03em;}
.auth-royal-head p{margin:0;color:#c2d2e7;font-size:14px;line-height:1.58;}
.auth-royal-form{position:relative;z-index:2;display:grid;gap:14px;}
.auth-royal-field{display:grid;gap:8px;margin:0!important;}
.auth-royal-field>span{color:#eef5fd!important;font-size:13px!important;font-weight:800;}
.auth-royal-input-wrap{
  display:grid;grid-template-columns:20px 1fr;align-items:center;gap:12px;
  min-height:58px;padding:0 18px;border-radius:16px;
  border:1px solid rgba(130,181,239,.36);background:linear-gradient(145deg,rgba(26,56,97,.28),rgba(6,19,37,.42));
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 14px 34px rgba(2,8,17,.12);
}
.auth-royal-input-wrap .icon-svg{width:20px;height:20px;color:#d8e7f8;opacity:.95;}
.auth-royal-input-wrap input{
  min-height:56px;width:100%;padding:0!important;background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;
  color:#fff!important;font-size:15px!important;
}
.auth-royal-input-wrap input::placeholder{color:#8da4c0!important;opacity:1;}
.auth-royal-input-wrap:focus-within{border-color:#efc56b;box-shadow:0 0 0 3px rgba(239,197,107,.13),inset 0 1px rgba(255,255,255,.1);}
.auth-royal-password-wrap{grid-template-columns:20px 1fr auto;}
.auth-royal-toggle{
  width:38px;height:38px;border:0;border-radius:12px;display:grid;place-items:center;cursor:pointer;
  color:#d8e7f8;background:rgba(255,255,255,.05);
}
.auth-royal-toggle:hover{background:rgba(255,255,255,.09);}
.auth-royal-toggle .icon-svg{width:18px;height:18px;}
.auth-royal-links{
  display:flex;justify-content:space-between;gap:14px;align-items:center;
  color:#b9c9dc;font-size:12px!important;
}
.auth-royal-links label{display:flex;align-items:center;gap:8px;color:#b9c9dc;}
.auth-royal-links input{width:17px;height:17px;accent-color:#d4a746;}
.auth-royal-links a{color:#85c5ff!important;text-decoration:none;}
.auth-royal-links a:hover{text-decoration:underline;}
.auth-royal-primary,
.auth-royal-secondary{
  display:flex!important;align-items:center;justify-content:center;gap:10px;
  min-height:58px;width:100%;border-radius:16px!important;font-size:15px!important;font-weight:900!important;
}
.auth-royal-primary{
  background:linear-gradient(180deg,#ffe49a,#d59a2d)!important;color:#171109!important;border:1px solid #efc15f!important;
  box-shadow:0 18px 38px rgba(202,145,36,.22),inset 0 1px rgba(255,255,255,.7)!important;
}
.auth-royal-primary:hover{transform:translateY(-1px);filter:brightness(1.03);}
.auth-royal-primary .icon-svg,.auth-royal-secondary .icon-svg{width:19px;height:19px;}
.auth-royal-secondary{
  background:linear-gradient(145deg,rgba(31,58,95,.44),rgba(10,23,41,.54))!important;
  color:#eef5ff!important;border:1px solid rgba(134,181,236,.34)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.12),0 14px 32px rgba(1,6,12,.16)!important;
}
.auth-royal-actions-stack{display:grid;gap:12px;}
.auth-royal-separator{
  position:relative;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);margin:20px 0;
}
.auth-royal-separator span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:0 12px;background:rgba(10,18,32,.88);color:#8fa7c2;font-size:11px;}
.auth-royal-security{
  display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:14px 15px;border-radius:16px;
  background:linear-gradient(145deg,rgba(15,45,88,.34),rgba(7,22,40,.40));border:1px solid rgba(122,172,236,.18);color:#aebed1;
}
.auth-royal-security .icon-svg{flex:0 0 auto;width:16px;height:16px;color:#efc56b;margin-top:2px;}
.auth-royal-security span{font-size:12px;line-height:1.58;}
.auth-royal-security strong{color:#eef5ff;}
.auth-royal-corner{
  position:absolute;right:18px;top:18px;z-index:3;color:#c7d8ec;font-size:11px;display:flex;gap:6px;align-items:center;letter-spacing:.12em;
}
.auth-royal-wrap--single{display:grid;place-items:center;min-height:100vh;padding-top:34px;padding-bottom:34px;}
.auth-royal-mini-logo{display:block;width:220px;margin:0 auto 24px;}
.auth-royal-page--single .auth-royal-card{max-width:620px;}
.auth-royal-page--single .auth-royal-head h2{font-size:38px;}
.auth-royal-note{padding:13px 15px;border-radius:15px;background:rgba(244,193,84,.08);border:1px solid rgba(244,193,84,.24);color:#f0d595;font-size:12px;line-height:1.6;}

@media (max-width: 1160px){
  .auth-royal-grid{grid-template-columns:1fr;min-height:auto;gap:24px;}
  .auth-royal-copy{max-width:700px;}
  .auth-royal-card--login{justify-self:stretch;width:min(100%,680px);}
}
@media (max-width: 760px){
  .auth-royal-wrap{padding:18px 14px 20px;}
  .auth-royal-topline{display:none;}
  .auth-royal-grid{gap:16px;}
  .auth-royal-copy h1{font-size:42px;}
  .auth-royal-copy p{font-size:14px;}
  .auth-royal-benefits{gap:11px;margin-top:20px;}
  .auth-royal-card{padding:24px 18px 20px;border-radius:24px;}
  .auth-royal-card--compact{padding:24px 18px 20px;}
  .auth-royal-head{gap:12px;}
  .auth-royal-head h2,.auth-royal-page--single .auth-royal-head h2{font-size:31px;}
  .auth-royal-card--login .auth-royal-head h2{font-size:24px;}
  .auth-royal-links{flex-direction:column;align-items:flex-start;}
  .auth-royal-ornament{display:none;}
  .auth-royal-corner{top:10px;right:10px;font-size:10px;}
}
@media (max-width: 560px){
  .auth-royal-copy{display:none;}
  .auth-royal-wrap{padding-top:44px;}
  .auth-royal-card{padding:22px 16px 18px;border-radius:22px;}
  .auth-royal-input-wrap{min-height:54px;padding:0 14px;border-radius:14px;}
  .auth-royal-input-wrap input{min-height:52px;font-size:14px!important;}
  .auth-royal-primary,.auth-royal-secondary{min-height:54px;border-radius:14px!important;font-size:14px!important;}
  .auth-royal-mini-logo,.auth-royal-logo{width:180px;}
  .auth-royal-page--single .auth-royal-head h2{font-size:28px;}
}

/* LexControl 2.2.0 — temas e contraste do menu */
.sidebar .nav-item.active{
  color:var(--primary-text)!important;
}
.sidebar .nav-item.active > span:last-child{
  color:var(--primary-text)!important;
}
.theme-presets{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.theme-preset.is-active{
  border-color:color-mix(in srgb,var(--accent),transparent 34%)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 82%),0 12px 26px rgba(15,23,42,.10)!important;
  transform:translateY(-1px);
}
.activity-kpis{margin-bottom:14px;}
.premium-activity-list article{padding:13px 6px;}
@media (max-width:980px){.theme-presets{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:620px){.theme-presets{grid-template-columns:1fr;}}
