/* MiExpediente360: shared premium tokens and cross-module components.
 * Preserve established layout, mobile dock and sidebar overrides.
 * Loaded LAST in workspace bundle; after legacy base in Django pages. */
:root {
  --mi-navy: #0b2037;
  --mi-navy-soft: #173a55;
  --mi-gold: #bd985a;
  --mi-gold-soft: #eee1c9;
  --mi-paper: #fff;
  --mi-canvas: #f6f8fa;
  --mi-ink: #173149;
  --mi-muted: #526a7d;
  --mi-line: #dbe3ea;
  --mi-line-strong: #c3d2de;
  --mi-focus: #2478a8;
  --mi-radius-sm: 8px;
  --mi-radius-md: 12px;
  --mi-radius-lg: 16px;
  --mi-shadow: 0 6px 22px rgba(11,32,55,.055);
  --mi-space-1: 4px;
  --mi-space-2: 8px;
  --mi-space-3: 12px;
  --mi-space-4: 16px;
  --mi-space-5: 20px;
  --mi-space-6: 24px;
}

/* Shared accessibility rules: never remove the keyboard indication. */
body:is(.lex-workspace,.lex-ui,.lex-marketing) :is(a,button,input,textarea,select,summary,[role="button"]):focus-visible {
  outline: 3px solid var(--mi-focus);
  outline-offset: 3px;
}
body:is(.lex-workspace,.lex-ui,.lex-marketing) :is(button,[role="button"]):disabled {
  cursor: not-allowed;
}
body:is(.lex-workspace,.lex-ui,.lex-marketing) :is(input,textarea,select) {
  accent-color: var(--mi-navy-soft);
}
@media (prefers-reduced-motion: reduce) {
  body:is(.lex-workspace,.lex-ui,.lex-marketing) :is(.card,.btn,.button,.lc-case-card,.lc-module-page *) {
    scroll-behavior: auto;
    animation-duration: .01ms;
    transition-duration: .01ms;
  }
}

/* Consistent Django-backed workspace modules. Navigation and workbench stay unchanged. */
body.lex-workspace #lcUnifiedModule {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
body.lex-workspace #lcUnifiedContent {
  --mi-module-gap: clamp(12px, 1.4vw, 20px);
  color: var(--mi-ink);
  line-height: 1.55;
  min-width: 0;
}
body.lex-workspace #lcUnifiedContent :is(.page-title,.lc-module-heading) {
  gap: var(--mi-space-4);
  padding-bottom: var(--mi-space-3);
  border-bottom: 1px solid var(--mi-line);
}
body.lex-workspace #lcUnifiedContent :is(.page-title,.lc-module-heading) :is(h1,h2) {
  letter-spacing: -.018em;
}
body.lex-workspace #lcUnifiedContent :is(.page-title,.lc-module-heading) p {
  font-size: 13px;
  line-height: 1.6;
}
body.lex-workspace #lcUnifiedContent :is(.card,.record-card,.table-wrap,.lc-history-table-wrap,.lc-agenda-aside) {
  border-color: var(--mi-line);
  border-radius: var(--mi-radius-md);
  box-shadow: var(--mi-shadow);
}
body.lex-workspace #lcUnifiedContent :is(.searchbar,.lc-module-searchbar) {
  gap: var(--mi-space-3);
  padding: var(--mi-space-3);
  border: 1px solid var(--mi-line);
  border-radius: var(--mi-radius-md);
  background: var(--mi-paper);
}
body.lex-workspace #lcUnifiedContent :is(.searchbar,.lc-module-searchbar) label {
  color: var(--mi-ink);
  font-size: 13px;
  line-height: 1.45;
}
body.lex-workspace #lcUnifiedContent :is(input,select,textarea) {
  border-color: var(--mi-line-strong);
  border-radius: var(--mi-radius-sm);
  background: var(--mi-paper);
  color: var(--mi-ink);
}
body.lex-workspace #lcUnifiedContent :is(input,select,textarea):focus {
  border-color: var(--mi-focus);
}
body.lex-workspace #lcUnifiedContent :is(th,td) {
  line-height: 1.55;
}
body.lex-workspace #lcUnifiedContent th {
  color: var(--mi-navy-soft);
  background: #eff4f7;
  font-size: 12px;
  font-weight: 700;
}
body.lex-workspace #lcUnifiedContent td {
  font-size: 13px;
  color: var(--mi-ink);
}
body.lex-workspace #lcUnifiedContent :is(.stats,.lc-module-stats) > div {
  border-radius: var(--mi-radius-md);
  border-color: var(--mi-line);
  box-shadow: var(--mi-shadow);
}
body.lex-workspace #lcUnifiedContent .eyebrow {
  color: #86632c;
  font-size: 11px;
  line-height: 1.4;
}
body.lex-workspace #lcUnifiedContent :is(.badge,.lc-count) {
  font-size: 11px;
}
body.lex-workspace #lcUnifiedContent :is(.button,button:not(.close)) {
  border-radius: var(--mi-radius-sm);
  min-height: 40px;
  line-height: 1.4;
}
body.lex-workspace #lcUnifiedContent .lc-agenda-filter-controls {
  max-width: 100%;
}
body.lex-workspace #lcUnifiedContent .lc-agenda-calendar a.lc-agenda-event {
  font-size: 12px;
  min-height: 38px;
  transition: border-color .15s ease;
}
body.lex-workspace #lcUnifiedContent .lc-agenda-calendar a .lc-agenda-event-title {
  font-size: 12px;
}
body.lex-workspace #lcUnifiedContent .lc-agenda-calendar .calendar-day > strong {
  font-size: 13px;
}
body.lex-workspace #lcUnifiedContent .lc-upcoming-item :is(strong,span) {
  overflow-wrap: anywhere;
}
body.lex-workspace #lcUnifiedContent .lc-agenda-wrap {
  min-width: 0;
}

/* Admin, SaaS, and independently visited Django pages share equivalent focus and surfaces. */
body.lex-ui #main-content :is(.card,.record-card,.table-wrap,.table-card) {
  border-color: var(--mi-line);
  border-radius: var(--mi-radius-md);
}
body.lex-ui #main-content :is(input,textarea,select):not([type="checkbox"]):not([type="radio"]) {
  border-color: var(--mi-line-strong);
  border-radius: var(--mi-radius-sm);
}
body.lex-ui #main-content :is(input,textarea,select):focus {
  border-color: var(--mi-focus);
}
body.lex-ui #main-content :is(table th,table td) {
  line-height: 1.5;
}
body.lex-ui #main-content table th {
  color: var(--mi-navy-soft);
}
body.lex-ui #main-content :is(.button,button):not(.close) {
  border-radius: var(--mi-radius-sm);
}

/* Preserve the mobile navigation and avoid forcing calendar tables into a narrow column. */
@media (max-width: 760px) {
  body.lex-workspace #lcUnifiedContent :is(.searchbar,.lc-module-searchbar) {
    padding: var(--mi-space-3);
  }
  body.lex-workspace #lcUnifiedContent :is(.page-title,.lc-module-heading) {
    align-items: stretch;
  }
  body.lex-workspace #lcUnifiedContent .lc-agenda-calendar {
    overflow: visible;
  }
}

/* Reusable presentation utilities replace 142 duplicated inline attributes.
 * They deliberately do not change modal widths or navigation geometry. */
body.lex-workspace .mi-grid-full { grid-column: 1 / -1; }
body.lex-workspace .mi-grid-span-two { grid-column: span 2; }
body.lex-workspace .mi-mt-6 { margin-top: 6px; }
body.lex-workspace .mi-mt-10 { margin-top: 10px; }
body.lex-workspace .mi-mt-12 { margin-top: 12px; }
body.lex-workspace .mi-mt-14 { margin-top: 14px; }
body.lex-workspace .mi-mt-16 { margin-top: 16px; }
body.lex-workspace .mi-support-text { font-size: 12px; margin-top: 3px; line-height: 1.45; }
body.lex-workspace .mi-support-text-plain { font-size: 12px; line-height: 1.45; }
@media (max-width: 760px) {
  body.lex-workspace .mi-grid-span-two { grid-column: 1 / -1; }
}
