:root{
  --primary:#0078d4;
  --primary-600:#0a66c2;
  --muted:#6b7280;
  --border:#e5e7eb;
  --bg:#f7f8fa;
  --white:#fff;
  --success:#16a34a;
  --warning:#f59e0b;
  --danger:#dc2626;
  --sidebar-bg:#0b1324;
  --sidebar-bg-2:#111c34;
  --sidebar-border:rgba(148,163,184,.16);
  --sidebar-text:#f8fbff;
  --sidebar-muted:rgba(226,232,240,.72);
  --sidebar-width:270px;
  --sidebar-width-collapsed:78px;
  --embed-offset:0px;
  --embed-bottom:64px;
  --drawer-width:min(960px,62vw);
  --help-height:auto;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  color:#111827;
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.10), transparent 28%),
    linear-gradient(180deg,#f4f7fb 0%, #eef3f8 100%);
  display:flex;
  overflow:hidden;
}
body.is-embedded{padding-top:var(--embed-offset);--embed-bottom:82px}

.sidebar{
  width:var(--sidebar-width);
  position:relative;
  background:
    radial-gradient(circle at top left, rgba(96,165,250,.22), transparent 22%),
    linear-gradient(180deg,var(--sidebar-bg) 0%, var(--sidebar-bg-2) 100%);
  border-right:1px solid var(--sidebar-border);
  display:flex;
  flex-direction:column;
  padding:16px 12px 12px;
  padding-bottom:calc(12px + var(--embed-bottom));
  overflow:auto;
  color:var(--sidebar-text);
  box-shadow:18px 0 42px rgba(15,23,42,.18);
  transition:width .22s ease,padding .22s ease,transform .22s ease;
}
.sidebar::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 22%, transparent 78%, rgba(255,255,255,.04));
}
body.sidebar-collapsed .sidebar{
  width:var(--sidebar-width-collapsed);
  padding-left:10px;
  padding-right:10px;
}
.sidebar-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 8px;
  margin-bottom:10px;
  min-height:44px;
}
body.sidebar-collapsed .sidebar-top{justify-content:center}
.sidebar-toggle-btn{width:40px;height:40px;border-radius:12px}
.app-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  color:#f8fbff;
  text-decoration:none;
}
.app-brand-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:10px;
  box-shadow:0 10px 22px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.12);
}
.app-brand-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.app-brand-copy strong{
  font-size:.88rem;
  font-weight:900;
}
.app-brand-copy span{
  margin-top:3px;
  color:var(--sidebar-muted);
  font-size:.76rem;
  font-weight:800;
}
body.sidebar-collapsed .app-brand-copy{display:none}
body.sidebar-collapsed .app-brand{display:none}

.section-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.72rem;
  letter-spacing:.10em;
  color:var(--sidebar-muted);
  margin:12px 8px 8px;
  white-space:nowrap;
  text-transform:uppercase;
  font-weight:800;
}
.section-title::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:linear-gradient(90deg,rgba(148,163,184,.28),transparent);
}
body.sidebar-collapsed .section-title{display:none}

.nav{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:8px;
}
.nav.hidden{display:none}

.nav a,
.case-nav-btn{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:16px;
  text-decoration:none;
  color:rgba(241,245,249,.96);
  border:1px solid rgba(148,163,184,.14);
  background:linear-gradient(180deg,rgba(255,255,255,.05) 0%, rgba(255,255,255,.03) 100%);
  cursor:pointer;
  font:inherit;
  width:100%;
  text-align:left;
  box-shadow:0 10px 22px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}
.nav a.active,
.nav a:hover,
.case-nav-btn:hover,
.case-nav-btn.active{
  background:linear-gradient(180deg,rgba(59,130,246,.24) 0%, rgba(37,99,235,.16) 100%);
  color:#ffffff;
  border-color:rgba(96,165,250,.42);
  transform:translateY(-1px);
  box-shadow:0 16px 28px rgba(15,23,42,.24), inset 0 1px 0 rgba(255,255,255,.08);
}
.nav i,.case-nav-btn i{
  width:18px;
  height:18px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  padding:8px;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.08) 0%, rgba(255,255,255,.04) 100%);
  border:1px solid rgba(148,163,184,.18);
  color:#dbeafe;
  box-shadow:0 8px 16px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.06);
  stroke-width:2.15;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.nav a.active i,
.nav a:hover i,
.case-nav-btn:hover i,
.case-nav-btn.active i{
  background:linear-gradient(180deg,rgba(191,219,254,.28) 0%, rgba(96,165,250,.22) 100%);
  border-color:rgba(191,219,254,.28);
  color:#ffffff;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(37,99,235,.18), inset 0 1px 0 rgba(255,255,255,.09);
}
.btn i,.icon-btn i{width:18px;height:18px}
.nav .label-text,.case-nav-btn .label-text,.status .label-text{white-space:nowrap}
body.sidebar-collapsed .nav .label-text,
body.sidebar-collapsed .case-nav-btn .label-text,
body.sidebar-collapsed .status .label-text{display:none}
body.sidebar-collapsed .nav a,
body.sidebar-collapsed .case-nav-btn{justify-content:center;padding-left:10px;padding-right:10px}

.case-panel{display:none;flex-direction:column;gap:8px;margin-bottom:10px}
.case-panel.show{display:flex}
.case-chip{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 13px;
  border-radius:18px;
  border:1px solid rgba(96,165,250,.28);
  background:linear-gradient(180deg,rgba(59,130,246,.22) 0%, rgba(37,99,235,.12) 100%);
  color:#eff6ff;
  font-size:.88rem;
  font-weight:800;
  box-shadow:0 14px 26px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.08);
}
.case-chip .label-text{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.sidebar-collapsed .case-chip{justify-content:center;padding-left:10px;padding-right:10px}
body.sidebar-collapsed .case-chip .label-text{display:none}

.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.status,.sidebar-footer .btn,.settings-menu .btn{width:100%;min-height:42px}
.hidden{display:none !important}
.status{
  appearance:none;
  display:flex;
  align-items:center;
  width:100%;
  gap:10px;
  font:inherit;
  text-align:left;
  color:#f8fbff;
  padding:10px 12px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.08) 0%, rgba(255,255,255,.04) 100%);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:0 12px 24px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.05);
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.status:hover{
  transform:translateY(-1px);
  border-color:rgba(147,197,253,.38);
  background:linear-gradient(180deg,rgba(59,130,246,.16) 0%, rgba(255,255,255,.05) 100%);
  box-shadow:0 16px 28px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.08);
}
.status:focus-visible{
  outline:2px solid rgba(147,197,253,.85);
  outline-offset:3px;
}
.status:active{transform:translateY(0)}
.status::after{
  content:'';
  width:7px;
  height:7px;
  margin-left:auto;
  border-right:2px solid rgba(226,232,240,.74);
  border-bottom:2px solid rgba(226,232,240,.74);
  transform:rotate(-45deg);
  opacity:.72;
}
.status.storage-indexing,
.status.expedientes-indexing{
  border-color:rgba(56,189,248,.36);
  background:linear-gradient(180deg,rgba(14,165,233,.18) 0%, rgba(255,255,255,.045) 100%);
  box-shadow:0 16px 30px rgba(14,165,233,.14), inset 0 1px 0 rgba(255,255,255,.08);
}
.status.storage-error,
.status.expedientes-error{
  border-color:rgba(248,113,113,.36);
  background:linear-gradient(180deg,rgba(239,68,68,.14) 0%, rgba(255,255,255,.045) 100%);
}
.status.storage-pending,
.status.expedientes-pending{
  border-color:rgba(251,191,36,.36);
  background:linear-gradient(180deg,rgba(245,158,11,.14) 0%, rgba(255,255,255,.045) 100%);
}
.status-icon{
  position:relative;
  width:32px;
  height:32px;
  border-radius:10px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,rgba(255,255,255,.10) 0%, rgba(255,255,255,.05) 100%);
  border:1px solid rgba(148,163,184,.22);
  color:#dbeafe;
  box-shadow:0 10px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06);
}
.status-icon i{width:16px;height:16px}
.status .dot{
  position:absolute;
  right:-1px;
  bottom:-1px;
  width:10px;
  height:10px;
  border-radius:50%;
  border:2px solid #fff;
  background:#22c55e;
  box-shadow:0 0 0 2px rgba(34,197,94,.14);
}
.status.storage-indexing .dot,
.status.expedientes-indexing .dot{animation:storagePulse 1.2s ease-in-out infinite}
.status.storage-indexing .status-icon i,
.status.expedientes-indexing .status-icon i{animation:spin 1.5s linear infinite;color:#bae6fd}
@keyframes storagePulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 2px rgba(56,189,248,.18)}
  50%{transform:scale(1.22);box-shadow:0 0 0 8px rgba(56,189,248,.03)}
}
.status-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.status-provider{
  font-size:.84rem;
  font-weight:800;
  color:#f8fbff;
  letter-spacing:.01em;
  white-space:nowrap;
}
.status-state{
  font-size:.78rem;
  color:rgba(226,232,240,.72);
  font-weight:600;
  white-space:nowrap;
}
body.sidebar-collapsed .status{justify-content:center;padding-left:10px;padding-right:10px}
body.sidebar-collapsed .status-copy{display:none}
body.sidebar-collapsed .status::after{display:none}
body.sidebar-collapsed .btn{justify-content:center}
body.sidebar-collapsed .sidebar-footer .btn .label-text{display:none}
body.sidebar-collapsed .sidebar-footer .btn{padding-left:10px;padding-right:10px}

.btn{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  padding:10px 12px;
  border-radius:10px;
  background:var(--white);
  border:1px solid var(--border);
  cursor:pointer;
  font:inherit;
  color:#111827;
}
.btn:hover{background:#f3f4f6}
.btn:disabled{opacity:.65;cursor:not-allowed}
.btn-primary{background:var(--white);border-color:var(--border);color:#111827}
.btn-primary:hover{background:#f3f4f6}
.sidebar-footer .btn{
  border-radius:16px;
  color:#f8fbff;
  background:
    linear-gradient(180deg,rgba(255,255,255,.095) 0%, rgba(255,255,255,.045) 100%),
    radial-gradient(circle at 12% 0%,rgba(96,165,250,.16),transparent 42%);
  border-color:rgba(148,163,184,.22);
  box-shadow:0 12px 22px rgba(0,0,0,.17), inset 0 1px 0 rgba(255,255,255,.07);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.sidebar-footer .btn:hover{
  transform:translateY(-1px);
  background:linear-gradient(180deg,rgba(59,130,246,.18) 0%, rgba(37,99,235,.12) 100%);
  border-color:rgba(96,165,250,.32);
  box-shadow:0 14px 24px rgba(15,23,42,.2), inset 0 1px 0 rgba(255,255,255,.08);
}
.sidebar-footer .btn i{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  padding:8px;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.10) 0%, rgba(255,255,255,.05) 100%);
  border:1px solid rgba(148,163,184,.18);
  color:#dbeafe;
  box-shadow:0 8px 16px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06);
  stroke-width:2.15;
}
.sidebar-footer .btn:hover i{
  background:linear-gradient(180deg,rgba(191,219,254,.26) 0%, rgba(96,165,250,.18) 100%);
  border-color:rgba(191,219,254,.24);
  color:#ffffff;
}
.sidebar-footer .btn:focus-visible{
  outline:2px solid rgba(147,197,253,.78);
  outline-offset:3px;
}

.settings-wrap{position:relative}

.main{flex:1;display:flex;flex-direction:column;overflow:hidden}
header{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:10px 18px;background:rgba(255,255,255,.86);border-bottom:1px solid rgba(226,232,240,.9);backdrop-filter:blur(18px)
}
.header-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.mobile-sidebar-toggle{display:none !important}
.search-wrap{
  flex:0 1 220px;
  width:220px;
  max-width:100%;
  transition:flex-basis .22s ease,width .22s ease;
}
.search-wrap:focus-within,.search-wrap.search-expanded{
  flex-basis:clamp(260px,32vw,430px);
  width:clamp(260px,32vw,430px);
}
.search-wrap.hidden{display:none}
.search{
  display:flex;
  align-items:center;
  gap:7px;
  width:100%;
  height:38px;
  padding:0 8px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 8px 18px rgba(15,23,42,.04);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.search:focus-within{
  border-color:#bfdbfe;
  background:#fff;
  box-shadow:0 0 0 4px rgba(59,130,246,.10),0 10px 24px rgba(15,23,42,.06);
}
.search input{
  flex:1 1 auto;
  min-width:0;
  width:100%;
  padding:0 4px;
  border:0;
  border-radius:0;
  outline:none;
  background:transparent;
  font-size:.92rem;
}
.search-btn{
  flex:0 0 auto;
  width:28px;
  height:28px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#475569;
}
.search-btn:hover{background:#eef6ff;color:#0a66c2}
.header-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}
.header-context-wrap{position:relative}
.header-context-wrap.hidden{display:none}
.header-context-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:min(430px, calc(100vw - 28px));
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:0 18px 38px rgba(15,23,42,.12);
  padding:14px;
  display:none;
  z-index:60;
}
.header-context-menu.show{display:block}
.header-context-body{display:flex;flex-direction:column;gap:14px}
.header-context-section{
  border:1px solid #edf2f7;
  background:#f8fbff;
  border-radius:16px;
  padding:12px;
}
.header-context-title{
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#64748b;
  margin-bottom:10px;
}
.header-metrics-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.header-metric-chip{
  border:1px solid #e5eef8;
  background:#fff;
  border-radius:14px;
  padding:10px 12px;
}
.header-metric-chip .label{
  color:#64748b;
  font-size:.78rem;
  margin-bottom:4px;
}
.header-metric-chip .value{
  color:#0f172a;
  font-size:1.18rem;
  font-weight:800;
}
.header-metric-chip.warn .value{color:#f59e0b}
.header-metric-chip.ok .value{color:#16a34a}
.header-context-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.header-transcription-cta{
  min-height:38px;
  padding:8px 12px;
  border-color:#7dd3fc;
  background:linear-gradient(180deg,#f0f9ff,#e0f2fe);
  color:#075985;
  font-weight:850;
}
.header-transcription-cta:hover{border-color:#38bdf8;background:#e0f2fe;color:#0c4a6e}
.header-transcription-cta.hidden{display:none}
.header-transcription-cta i{width:17px;height:17px}
.header-action-btn{
  width:100%;
  justify-content:flex-start;
}
.header-help-toggle{
  width:100%;
  justify-content:flex-start;
}
.header-help-copy{
  margin-top:10px;
  padding:12px;
  border-radius:14px;
  background:#fffbeb;
  border:1px solid #fde68a;
  color:#6b4f08;
  font-size:.9rem;
  line-height:1.55;
}
.header-help-copy.hidden{display:none}
.actions-bar.hidden{display:none !important}
.icon-btn{
  width:38px;height:38px;border:1px solid var(--border);border-radius:10px;
  background:var(--white);cursor:pointer;display:grid;place-items:center
}
.icon-btn.active,.icon-btn:hover{background:#eef6ff;border-color:#dbeafe}
.sidebar .icon-btn{
  border-radius:14px;
  border-color:rgba(148,163,184,.16);
  background:linear-gradient(180deg,rgba(255,255,255,.08) 0%, rgba(255,255,255,.04) 100%);
  color:#f8fbff;
  box-shadow:0 10px 20px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
}
.sidebar .icon-btn:hover{
  background:linear-gradient(180deg,rgba(59,130,246,.18) 0%, rgba(37,99,235,.10) 100%);
  border-color:rgba(96,165,250,.28);
}

.content{flex:1;overflow:auto;padding:18px;position:relative}
.loading-overlay{
  position:absolute;inset:0;background:rgba(247,248,250,.92);display:none;align-items:center;justify-content:center;z-index:30
}
.loading-overlay.show{display:flex}
.loading-card{
  background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px 28px;
  min-width:320px;max-width:520px;text-align:center;box-shadow:0 12px 35px rgba(0,0,0,.08)
}
.loading-spinner{
  width:42px;height:42px;border-radius:50%;border:4px solid #dbeafe;border-top-color:var(--primary);
  margin:0 auto 14px;animation:spin 1s linear infinite
}
.loading-title{font-weight:700;font-size:1rem;margin-bottom:6px}
.loading-sub{color:var(--muted);font-size:.94rem;line-height:1.45}

.cloud-setup-section{display:block;margin-bottom:14px}
.cloud-setup-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% -12%,rgba(37,99,235,.16),transparent 34%),
    radial-gradient(circle at 95% 6%,rgba(14,165,233,.13),transparent 28%),
    linear-gradient(145deg,#ffffff 0%, #f8fbff 100%);
  border:1px solid #dbeafe;
  border-radius:28px;
  padding:28px;
  box-shadow:0 24px 54px rgba(37,99,235,.1);
  display:flex;
  flex-direction:column;
  gap:22px
}
.cloud-setup-card::before{
  content:"";
  position:absolute;
  inset:auto -90px -120px auto;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(96,165,250,.14),transparent 66%);
  pointer-events:none;
}
.cloud-setup-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px
}
.cloud-setup-copy{max-width:760px}
.cloud-setup-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:#eef6ff;
  border:1px solid #dbeafe;
  color:#0a66c2;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:14px
}
.cloud-setup-title{
  max-width:840px;
  font-size:1.85rem;
  font-weight:950;
  color:#0f172a;
  line-height:1.12;
  letter-spacing:-.04em;
  margin-bottom:10px
}
.cloud-setup-sub{
  max-width:760px;
  color:#475569;
  line-height:1.7;
  font-size:1rem
}
.cloud-provider-stack{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:230px;
}
.cloud-provider-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:11px 13px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dbeafe;
  color:#0f172a;
  font-weight:700;
  box-shadow:0 8px 24px rgba(15,23,42,.06)
}
.cloud-provider-pill strong{
  display:block;
  color:#64748b;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.2;
}
.active-provider{
  border-color:#bfdbfe;
  background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);
}
.ghost-provider{
  color:#64748b;
  background:rgba(255,255,255,.68);
  border-style:dashed;
  box-shadow:none;
}
.provider-logo{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:13px;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:-.04em;
}
.ms-logo{
  color:#075985;
  background:
    radial-gradient(circle at 28% 28%,#38bdf8 0 20%,transparent 22%),
    linear-gradient(135deg,#dbeafe,#f0f9ff);
  border:1px solid #bae6fd;
  box-shadow:0 10px 22px rgba(14,165,233,.16);
}
.soon-logo{
  color:#64748b;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}
.cloud-setup-flow{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:14px;
  border:1px solid #e6edf6;
  border-radius:24px;
  background:rgba(255,255,255,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 16px 34px rgba(15,23,42,.05);
}
.cloud-flow-step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:11px;
  align-items:center;
  min-width:0;
}
.cloud-flow-step span{
  grid-row:1 / 3;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#0f172a,#2563eb);
  font-weight:950;
  box-shadow:0 12px 24px rgba(37,99,235,.18);
}
.cloud-flow-step strong{
  color:#0f172a;
  font-size:.9rem;
  font-weight:950;
  line-height:1.25;
}
.cloud-flow-step small{
  color:#64748b;
  line-height:1.35;
  font-weight:650;
}
.cloud-flow-line{
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#bfdbfe,#93c5fd);
  opacity:.9;
}
.cloud-setup-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px
}
.cloud-setup-feature{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.88);
  border:1px solid #e5eef8;
  border-radius:18px;
  padding:16px;
  box-shadow:0 12px 26px rgba(15,23,42,.045);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.cloud-setup-feature:hover{
  transform:translateY(-2px);
  border-color:#bfdbfe;
  box-shadow:0 18px 34px rgba(37,99,235,.09);
}
.cloud-setup-feature .top{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px
}
.cloud-setup-feature .top i{width:18px;height:18px;color:#0a66c2}
.cloud-setup-feature .title{font-weight:800;color:#0f172a}
.cloud-setup-feature .desc{color:#64748b;line-height:1.6;font-size:.92rem}
.cloud-setup-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap
}
.cloud-setup-note{color:#64748b;font-size:.92rem;line-height:1.6}
.cloud-connect-cta{
  position:relative;
  overflow:hidden;
  min-height:48px;
  padding:12px 18px;
  border-radius:17px;
  color:#fff;
  border-color:#1d4ed8;
  background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 55%,#0ea5e9 100%);
  box-shadow:0 18px 34px rgba(37,99,235,.24);
  font-weight:950;
}
.cloud-connect-cta::after{
  content:"";
  position:absolute;
  inset:-55% auto -55% -40%;
  width:42%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  animation:cloudCtaSweep 3.8s ease-in-out infinite;
}
.cloud-connect-cta:hover{
  color:#fff;
  background:linear-gradient(135deg,#172554 0%,#2563eb 55%,#38bdf8 100%);
  box-shadow:0 22px 42px rgba(37,99,235,.3);
}
.cloud-connect-cta i{position:relative;z-index:1}
.cloud-connect-cta{animation:cloudCtaPulse 2.8s ease-in-out infinite}
@keyframes cloudCtaPulse{
  0%,100%{transform:translateY(0);box-shadow:0 18px 34px rgba(37,99,235,.24)}
  50%{transform:translateY(-1px);box-shadow:0 24px 46px rgba(37,99,235,.34)}
}
@keyframes cloudCtaSweep{
  0%,42%{left:-45%}
  64%,100%{left:120%}
}
.cloud-trust-note{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  background:#f0fdf4;
  border:1px solid #bbf7d0;
  color:#047857;
  font-size:.82rem;
  font-weight:800
}

.overview-section.hidden,
.process-info-section.hidden,
.novedades-section.hidden,
.audiencias-section.hidden,
.correo-section.hidden,
.chat-placeholder-section.hidden,
.docs-section.hidden,
.add-process-section.hidden,
.help-toolbar.hidden,
.help-panel.hidden,
.process-map-section.hidden{display:none !important}

.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}
.metric-card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:14px 16px}
.metric-card .label{color:var(--muted);font-size:.9rem}
.metric-card .value{font-size:1.6rem;font-weight:700;margin-top:4px}
.metric-card.warn .value{color:var(--warning)}
.metric-card.ok .value{color:var(--success)}

.section-card{
  display:none;
  margin-bottom:14px;
}
.section-card.show{display:block}
.section-shell{
  background:linear-gradient(180deg,#ffffff 0%, #f9fbff 100%);
  border:1px solid #e6edf6;
  border-radius:24px;
  padding:18px 20px;
  box-shadow:0 18px 40px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.92);
}
.section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid #edf2f7;
}
.section-title-lg,.process-info-title,.process-map-title{
  font-weight:800;
  font-size:1.14rem;
  letter-spacing:-.02em;
  color:#0f172a;
}
.section-sub,.process-info-sub,.process-map-sub{
  color:#64748b;
  font-size:.94rem;
  margin-top:6px;
  line-height:1.55;
}
.soft-badge{
  display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;
  background:linear-gradient(180deg,#eef6ff 0%, #f8fbff 100%);
  border:1px solid #dbeafe;color:#0a66c2;font-size:.82rem;font-weight:700;
  box-shadow:0 8px 18px rgba(37,99,235,.06)
}
.placeholder-box{
  background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:14px 16px
}
.placeholder-box p{margin:0 0 8px;color:#475569;line-height:1.5}
.placeholder-box p:last-child{margin-bottom:0}

.process-info-section{display:none;margin-bottom:14px}
.process-info-section.show{display:block}
.process-info-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 4% 0%,rgba(37,99,235,.12),transparent 30%),
    radial-gradient(circle at 98% 12%,rgba(14,165,233,.10),transparent 26%),
    linear-gradient(180deg,#ffffff 0%, #f9fbff 100%);
  border:1px solid #e6edf6;
  border-radius:24px;
  padding:18px 20px;
  box-shadow:0 18px 40px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.92)
}
.process-info-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #edf2f7
}
.process-info-hero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(260px,.45fr);
  gap:16px;
  align-items:center;
  margin-bottom:16px;
  padding:18px;
  border:1px solid #dbeafe;
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(15,23,42,.96) 0%,rgba(30,64,175,.92) 55%,rgba(14,165,233,.82) 100%);
  color:#fff;
  box-shadow:0 22px 46px rgba(37,99,235,.18);
}
.process-info-orb{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20);
}
.process-info-orb svg{width:28px;height:28px}
.process-info-main{min-width:0}
.process-info-kicker{
  color:rgba(255,255,255,.72);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.process-info-radicado{
  margin-top:4px;
  font-size:1.32rem;
  font-weight:950;
  letter-spacing:.01em;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.process-info-parties{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.process-info-parties span{
  min-width:0;
  padding:9px 11px;
  border-radius:15px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
}
.process-info-parties strong{
  display:block;
  margin-bottom:3px;
  color:rgba(255,255,255,.68);
  font-size:.67rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.process-info-parties em{
  display:block;
  color:#fff;
  font-style:normal;
  font-size:.86rem;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.process-info-status{
  min-width:0;
  justify-self:stretch;
  border-radius:20px;
  padding:14px;
  background:rgba(255,255,255,.92);
  color:#0f172a;
  box-shadow:0 16px 34px rgba(15,23,42,.16);
}
.process-info-status span,.process-info-status small{
  display:block;
  color:#64748b;
  font-size:.76rem;
  font-weight:850;
  line-height:1.35;
}
.process-info-status strong{
  display:block;
  margin:6px 0;
  color:#0f172a;
  font-size:.95rem;
  font-weight:950;
  line-height:1.35;
  max-height:4.1em;
  overflow:hidden;
}
.process-section-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:2px 0 12px;
  color:#475569;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.process-section-label svg{width:15px;height:15px;color:#2563eb}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.process-field,.cell,.mail-summary-box,.correo-box{
  background:linear-gradient(180deg,#fcfdff 0%, #f8fbff 100%);
  border:1px solid #e7edf5;
  border-radius:18px;
  padding:12px 14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}
.process-field{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.process-field::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#dbeafe,#eff6ff);
}
.process-field:hover{
  transform:translateY(-1px);
  border-color:#dbeafe;
  box-shadow:0 14px 28px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.92);
}
.process-field .label,.cell .label,.mail-summary-box .label,.correo-box .label{
  color:#64748b;
  font-size:.78rem;
  font-weight:800;
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.process-field .value{font-size:.95rem;color:#111827;word-break:break-word;font-weight:650;line-height:1.45}
.process-actions{display:flex;gap:8px;flex-wrap:wrap}
.process-actions-strip{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #edf2f7;
  justify-content:flex-end;
}
.process-actions-strip .btn-primary{box-shadow:0 12px 24px rgba(37,99,235,.16)}

.process-map-section{display:none;margin-bottom:14px}
.process-map-section.show{display:block}
.process-map-card{
  background:linear-gradient(180deg,#ffffff 0%, #f9fbff 100%);
  border:1px solid #e6edf6;
  border-radius:24px;
  padding:18px 20px;
  box-shadow:0 18px 40px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.92);
}
.process-map-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid #edf2f7
}
.process-map-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.process-map-toggle{
  padding:9px 13px;
  min-height:38px;
}
#processMapBody.hidden{display:none}
.process-map-stage{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:#ecfdf3;
  border:1px solid #bbf7d0;
  color:#15803d;
  font-size:.82rem;
  font-weight:800;
  box-shadow:0 8px 18px rgba(34,197,94,.08)
}
.process-map-stage.warn{
  background:#fffbeb;
  border-color:#fde68a;
  color:#b45309
}
.process-map-stage.neutral{
  background:#eef6ff;
  border-color:#dbeafe;
  color:#0a66c2
}
.process-map-timeline{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:0;
  padding-left:14px;
}
.process-map-timeline::before{
  content:"";
  position:absolute;
  left:22px;
  top:6px;
  bottom:6px;
  width:2px;
  background:#dbeafe;
}
.process-map-empty{
  background:linear-gradient(180deg,#fbfdff 0%, #f7fafc 100%);
  border:1px dashed #cbd5e1;
  border-radius:18px;
  padding:16px 18px;
  color:#475569;
  line-height:1.5;
}
.process-step{
  position:relative;
  display:grid;
  grid-template-columns:36px 1fr auto;
  gap:12px;
  align-items:flex-start;
  padding:12px 0;
}
.process-step-dot{
  position:relative;
  z-index:1;
  width:18px;
  height:18px;
  margin:4px 0 0 0;
  border-radius:50%;
  border:3px solid #93c5fd;
  background:#fff;
  box-shadow:0 0 0 4px #f8fbff;
}
.process-step.done .process-step-dot{
  background:#0a66c2;
  border-color:#0a66c2;
}
.process-step.current .process-step-dot{
  background:#16a34a;
  border-color:#16a34a;
}
.process-step.pending .process-step-dot{
  background:#fff;
  border-color:#cbd5e1;
}
.process-step-main{
  min-width:0;
}
.process-step-title{
  font-weight:700;
  color:#111827;
  line-height:1.35;
}
.process-step-sub{
  color:var(--muted);
  font-size:.9rem;
  margin-top:4px;
  line-height:1.45;
  word-break:break-word;
}
.process-step-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.process-step-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  border:1px solid #dbeafe;
  background:#f8fbff;
  color:#0a66c2;
}
.process-step-badge.success{
  background:#ecfdf3;
  border-color:#bbf7d0;
  color:#15803d;
}
.process-step-badge.warn{
  background:#fffbeb;
  border-color:#fde68a;
  color:#b45309;
}
.process-step-badge.muted{
  background:#f8fafc;
  border-color:#e5e7eb;
  color:#64748b;
}
.process-map-legend{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--border);
}
.process-map-legend .item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#475569;
  font-size:.84rem;
}
.process-map-legend .mark{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#0a66c2;
}
.process-map-legend .mark.current{background:#16a34a}
.process-map-legend .mark.pending{background:#cbd5e1}

.correo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.correo-box .value{font-size:.95rem;color:#111827;word-break:break-word}
.correo-actions,.chat-placeholder-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}

.chat-placeholder-section{display:none;margin-bottom:14px}
.chat-placeholder-section.show{display:block}
.chat-placeholder-card{
  background:linear-gradient(135deg,#0f172a 0%, #172554 100%);
  color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px 18px
}
.chat-placeholder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.chat-placeholder-title{font-size:1.05rem;font-weight:700}
.chat-placeholder-sub{color:rgba(255,255,255,.78);line-height:1.5;font-size:.95rem;margin-top:6px}
.chat-preview{
  margin-top:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);
  border-radius:14px;padding:14px
}
.chat-bubble{background:rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.chat-bubble:last-child{margin-bottom:0}
.chat-bubble.user{background:rgba(59,130,246,.22)}
.chat-placeholder-actions .btn{
  background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff
}
.chat-placeholder-actions .btn:hover{background:rgba(255,255,255,.12)}

.chat-badge{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;
  background:#eef6ff;border:1px solid #dbeafe;font-size:.82rem;color:#0a66c2
}

.cards-stack{display:flex;flex-direction:column;gap:14px}
.empty-state{
  background:linear-gradient(180deg,#fbfdff 0%, #f7fafc 100%);border:1px dashed #cbd5e1;border-radius:18px;padding:16px 18px;color:#475569;line-height:1.5
}
.aud-empty-state{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
  border-style:solid;
  background:
    radial-gradient(circle at top left,rgba(14,165,233,.10),transparent 30%),
    linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
}
.aud-empty-state strong{display:block;color:#0f172a;font-weight:850;margin-bottom:4px}
.aud-empty-state p{margin:0;color:#64748b;font-size:.92rem;line-height:1.55}
.aud-empty-icon{
  width:42px;
  height:42px;
  border-radius:15px;
  display:grid;
  place-items:center;
  color:#0369a1;
  background:linear-gradient(180deg,#eff6ff 0%, #e0f2fe 100%);
  border:1px solid #bae6fd;
  box-shadow:0 12px 24px rgba(14,165,233,.10);
}
.filter-row{display:flex;justify-content:flex-end;margin-bottom:12px}
.filter-row input{
  width:min(100%,360px);padding:12px 14px;border:1px solid #dbe7f6;border-radius:16px;outline:none;background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);box-shadow:0 10px 22px rgba(15,23,42,.04)
}
.filter-row input:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px rgba(191,219,254,.35)}
.tag{
  display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;border:1px solid #dbeafe;
  background:linear-gradient(180deg,#f8fbff 0%, #eef6ff 100%);color:#0a66c2;font-size:.78rem;font-weight:800;
  box-shadow:0 8px 18px rgba(37,99,235,.05)
}
.tag.success{background:#ecfdf3;border-color:#bbf7d0;color:#15803d}
.tag.warn{background:#fffbeb;border-color:#fde68a;color:#b45309}
.tag.neutral{background:#f8fbff;border-color:#dbeafe;color:#0a66c2}
.nov-card,.aud-card,.mail-preview-card{
  background:linear-gradient(180deg,#ffffff 0%, #f9fbff 100%);border:1px solid #e6edf6;border-radius:22px;padding:16px 18px;box-shadow:0 16px 34px rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.92)
}
.nov-card .top,.aud-card .top,.mail-preview-top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #edf2f7
}
.nov-meta,.aud-meta,.mail-minimal-sub{color:var(--muted);font-size:.92rem;line-height:1.45}
.nov-grid,.aud-grid,.mail-fields{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px
}
.novedades-console{
  border:1px solid #e6edf6;
  border-radius:24px;
  padding:16px;
  margin:4px 0 16px;
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.09),transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 18px 42px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.95);
}
.novedades-console-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.novedades-kicker{
  color:#2563eb;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.novedades-title{
  margin-top:3px;
  color:#0f172a;
  font-weight:900;
  letter-spacing:-.02em;
}
.nov-search-box{
  min-width:min(420px,100%);
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid #dbe7f6;
  border-radius:999px;
  padding:9px 13px;
  background:rgba(255,255,255,.86);
  box-shadow:0 12px 24px rgba(15,23,42,.05);
}
.nov-search-box svg{width:17px;height:17px;color:#64748b;flex:0 0 auto}
.nov-search-box input{
  border:none;
  outline:none;
  background:transparent;
  width:100%;
  min-width:0;
  font:inherit;
  color:#0f172a;
}
.novedades-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:13px;
}
.nov-stat-card{
  min-width:0;
  border:1px solid #e6edf6;
  border-radius:18px;
  padding:12px 13px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
.nov-stat-card span,.nov-stat-card small{
  display:block;
  color:#64748b;
  font-size:.72rem;
  font-weight:850;
}
.nov-stat-card span{text-transform:uppercase;letter-spacing:.08em}
.nov-stat-card strong{
  display:block;
  margin:5px 0 2px;
  color:#0f172a;
  font-size:1.02rem;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.novedades-filter-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.novedades-filter-chips button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #dbe7f6;
  border-radius:999px;
  padding:9px 12px;
  background:#fff;
  color:#334155;
  font:inherit;
  font-size:.84rem;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.novedades-filter-chips button span{
  min-width:22px;
  text-align:center;
  border-radius:999px;
  padding:2px 7px;
  color:#2563eb;
  background:#eff6ff;
}
.novedades-filter-chips button.active{
  color:#fff;
  border-color:#1d4ed8;
  background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);
  box-shadow:0 16px 32px rgba(37,99,235,.18);
}
.novedades-filter-chips button.active span{
  color:#0f172a;
  background:#ffffff;
}
.novedades-timeline{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:16px;
  padding-left:18px;
}
.novedades-timeline::before{
  content:"";
  position:absolute;
  top:12px;
  bottom:12px;
  left:6px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg,#bfdbfe,#e0f2fe 45%,#e5e7eb);
}
.premium-nov{
  position:relative;
  overflow:visible;
  padding:0;
  border-radius:24px;
  border-top:none;
}
.premium-nov::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  border-radius:24px 0 0 24px;
  background:linear-gradient(180deg,#64748b,#cbd5e1);
}
.premium-nov.is-sentencia::before{background:linear-gradient(180deg,#ef4444,#fecaca)}
.premium-nov.is-audiencia::before{background:linear-gradient(180deg,#f59e0b,#fde68a)}
.premium-nov.is-notificacion::before{background:linear-gradient(180deg,#06b6d4,#bae6fd)}
.premium-nov.is-auto::before{background:linear-gradient(180deg,#334155,#cbd5e1)}
.premium-nov.is-apelacion::before,.premium-nov.is-traslado::before{background:linear-gradient(180deg,#2563eb,#93c5fd)}
.premium-nov.is-pruebas::before{background:linear-gradient(180deg,#7c3aed,#ddd6fe)}
.premium-nov.is-conciliacion::before{background:linear-gradient(180deg,#10b981,#a7f3d0)}
.nov-timeline-dot{
  position:absolute;
  left:-26px;
  top:22px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#2563eb;
  background:#ffffff;
  border:1px solid #bfdbfe;
  box-shadow:0 10px 20px rgba(37,99,235,.14);
  z-index:2;
}
.nov-timeline-dot svg{width:15px;height:15px}
.nov-premium-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  padding:18px 20px 15px 22px;
  border-bottom:1px solid #edf2f7;
}
.nov-icon-wrap{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#1d4ed8;
  background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);
  border:1px solid #dbeafe;
  box-shadow:0 12px 22px rgba(37,99,235,.08);
}
.nov-title-wrap{min-width:0}
.nov-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.nov-title-row strong{color:#0f172a;font-size:1rem;font-weight:950}
.nov-card-title{
  margin-top:6px;
  color:#111827;
  font-size:.96rem;
  font-weight:800;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.nov-premium-body{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:15px 20px 16px 22px;
}
.nov-info-tile{
  min-width:0;
  border:1px solid #e6edf6;
  border-radius:18px;
  padding:12px 13px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
.nov-info-tile.full{grid-column:1 / -1}
.nov-info-tile .label{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
  color:#64748b;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nov-info-tile .label svg{width:14px;height:14px}
.nov-info-tile .value{
  color:#111827;
  font-size:.92rem;
  font-weight:650;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.nov-term-pill{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:86px;
  padding:8px 10px;
  border-radius:17px;
  border:1px solid #bbf7d0;
  background:#f0fdf4;
  text-align:center;
  box-shadow:0 12px 22px rgba(22,163,74,.08);
}
.nov-term-pill.warn{border-color:#fde68a;background:#fffbeb;box-shadow:0 12px 22px rgba(245,158,11,.10)}
.nov-term-pill.bad{border-color:#fecaca;background:#fef2f2;box-shadow:0 12px 22px rgba(239,68,68,.10)}
.nov-term-pill .pill-top,.nov-term-pill .pill-bot{
  color:#64748b;
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.nov-term-pill strong{color:#166534;font-size:1.25rem;line-height:1;font-weight:950;margin:3px 0}
.nov-term-pill.warn strong{color:#b45309}
.nov-term-pill.bad strong{color:#b91c1c}
.nov-actions-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:0 20px 18px 22px;
}
.nov-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #dbe7f6;
  border-radius:14px;
  padding:10px 13px;
  color:#0f172a;
  background:#fff;
  font:inherit;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.nov-action-btn:hover{border-color:#bfdbfe;background:#f8fbff;color:#1d4ed8}
.nov-action-btn svg{width:16px;height:16px}
.nov-empty-state{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.nov-empty-state svg{
  width:34px;
  height:34px;
  padding:8px;
  border-radius:14px;
  color:#2563eb;
  background:#eff6ff;
  border:1px solid #dbeafe;
}
.nov-empty-state strong{display:block;color:#0f172a;margin-bottom:3px}
.nov-empty-state span{display:block;color:#64748b}
.nov-doc-modal{
  position:fixed;
  inset:0;
  display:none;
  place-items:center;
  padding:20px;
  background:rgba(15,23,42,.46);
  backdrop-filter:blur(8px);
  z-index:3000;
}
.nov-doc-modal.show{display:grid}
.nov-doc-card{
  width:min(720px,100%);
  max-height:min(760px,88vh);
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  border:1px solid #e6edf6;
  box-shadow:0 28px 70px rgba(15,23,42,.28);
}
.nov-doc-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:18px 20px;
  border-bottom:1px solid #edf2f7;
}
.nov-doc-kicker{color:#2563eb;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.12em}
.nov-doc-title{color:#0f172a;font-weight:950;font-size:1.05rem;margin-top:2px}
.nov-doc-close{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:13px;
  border:1px solid #dbe7f6;
  background:#fff;
  cursor:pointer;
}
.nov-doc-body{padding:16px 18px;overflow:auto;max-height:calc(88vh - 78px)}
.nov-doc-list{display:flex;flex-direction:column;gap:10px}
.nov-doc-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 13px;
  border-radius:16px;
  border:1px solid #e6edf6;
  background:#f8fbff;
  color:#0f172a;
  text-decoration:none;
}
.nov-doc-row:hover{border-color:#bfdbfe;background:#eff6ff}
.nov-doc-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#1d4ed8;
  background:#fff;
  border:1px solid #dbeafe;
}
.nov-doc-name{font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nov-doc-action{color:#2563eb;font-weight:900;font-size:.82rem}
.nov-doc-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.nov-doc-import{border:1px solid #2563eb;border-radius:10px;background:#2563eb;color:#fff;padding:7px 10px;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer}
.nov-doc-import:hover{background:#1d4ed8;border-color:#1d4ed8}
.nov-doc-import:disabled{cursor:not-allowed;opacity:.55}
.nov-doc-import.is-added{background:#15803d;border-color:#15803d}
.nov-doc-warning{margin:0 0 12px;padding:11px 13px;border:1px solid #fde68a;border-radius:12px;background:#fffbeb;color:#92400e;font-size:.86rem;font-weight:700}
.aud-card.premium-aud{
  position:relative;
  overflow:hidden;
  padding:0;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
}
.premium-aud::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#2563eb,#38bdf8);
}
.premium-aud.cancelled::before{background:linear-gradient(180deg,#f97316,#ef4444)}
.premium-aud.done::before{background:linear-gradient(180deg,#16a34a,#86efac)}
.premium-aud.warn::before{background:linear-gradient(180deg,#f59e0b,#fde68a)}
.aud-premium-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:18px 20px 14px 22px;
  border-bottom:1px solid #edf2f7;
}
.aud-date-chip{
  width:72px;
  min-height:76px;
  border-radius:20px;
  display:grid;
  place-items:center;
  text-align:center;
  background:
    radial-gradient(circle at top left,rgba(59,130,246,.18),transparent 42%),
    linear-gradient(180deg,#eff6ff 0%, #ffffff 100%);
  border:1px solid #dbeafe;
  box-shadow:0 14px 28px rgba(37,99,235,.08);
  color:#0f172a;
}
.aud-date-month{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}
.aud-date-day{font-size:1.45rem;font-weight:950;line-height:1}
.aud-date-year{font-size:.72rem;color:#64748b;font-weight:800;margin-top:2px}
.aud-title-wrap{min-width:0}
.aud-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.aud-title-row strong{font-size:1rem;color:#0f172a}
.aud-id{color:#64748b;font-size:.86rem;margin-top:5px}
.aud-time-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:10px;
  padding:7px 10px;
  border-radius:999px;
  background:#f8fbff;
  border:1px solid #dbeafe;
  color:#1e3a8a;
  font-weight:850;
  font-size:.82rem;
}
.aud-time-pill svg{width:15px;height:15px}
.aud-premium-body{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:16px 20px 18px 22px;
}
.aud-info-tile{
  min-width:0;
  border:1px solid #e6edf6;
  border-radius:18px;
  padding:13px 14px;
  background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);
}
.aud-info-tile .label{
  display:flex;
  align-items:center;
  gap:7px;
  color:#64748b;
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:7px;
}
.aud-info-tile .label svg{width:14px;height:14px}
.aud-info-tile .value{
  color:#111827;
  font-size:.92rem;
  font-weight:650;
  line-height:1.35;
  word-break:break-word;
}
.aud-premium-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  padding:0 20px 18px 22px;
}
.aud-link-primary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:none;
  border-radius:14px;
  padding:11px 14px;
  color:#fff;
  font-weight:900;
  text-decoration:none;
  background:linear-gradient(135deg,#0f172a 0%, #1d4ed8 100%);
  box-shadow:0 14px 28px rgba(37,99,235,.20);
}
.aud-link-primary:hover{color:#fff;transform:translateY(-1px)}
.aud-link-secondary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #dbeafe;
  border-radius:14px;
  padding:10px 13px;
  color:#1e3a8a;
  background:#fff;
  font-weight:850;
}
.aud-link-muted{color:#64748b;font-size:.86rem}
.recorded-hearings{
  margin-bottom:16px;
  padding:16px;
  border:1px solid #e5eef8;
  border-radius:22px;
  background:
    radial-gradient(circle at top left,rgba(124,58,237,.10),transparent 30%),
    linear-gradient(180deg,#ffffff 0%, #f9fbff 100%);
  box-shadow:0 16px 34px rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.92);
}
.recorded-hearings.hidden{display:none}
.recorded-hearings.is-collapsed{
  padding:12px 16px;
}
.recorded-hearings.is-collapsed .recorded-head{
  margin-bottom:0;
}
.recorded-hearings.is-collapsed .recorded-grid{
  display:none;
}
.recorded-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.recorded-title{
  color:#0f172a;
  font-weight:900;
  font-size:1rem;
}
.recorded-sub{
  color:#64748b;
  line-height:1.5;
  font-size:.9rem;
  margin-top:4px;
}
.recorded-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.recorded-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #dbeafe;
  border-radius:999px;
  padding:8px 10px;
  background:#fff;
  color:#1e3a8a;
  font-size:.78rem;
  font-weight:850;
  cursor:pointer;
}
.recorded-toggle svg{width:14px;height:14px}
.recorded-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(156px,1fr));
  gap:12px;
}
.recorded-video-card{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  padding:8px;
  border-radius:18px;
  border:1px solid #e9d5ff;
  background:linear-gradient(180deg,#ffffff 0%, #faf5ff 100%);
  box-shadow:0 12px 24px rgba(88,28,135,.07);
  cursor:pointer;
  text-align:left;
  color:#1f2937;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.recorded-video-card:hover{
  transform:translateY(-1px);
  border-color:#c4b5fd;
  box-shadow:0 16px 32px rgba(88,28,135,.12);
}
.recorded-video-thumb{
  position:relative;
  min-height:86px;
  border-radius:15px;
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#fff;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.34),transparent 26%),
    linear-gradient(135deg,#1e3a8a 0%, #6d28d9 52%, #111827 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30);
}
.recorded-video-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(15,23,42,.52) 100%);
}
.recorded-video-play{
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#4c1d95;
  background:rgba(255,255,255,.90);
  box-shadow:0 12px 24px rgba(15,23,42,.20);
}
.recorded-video-play svg{width:16px;height:16px;transform:translateX(1px)}
.recorded-video-kicker{
  position:absolute;
  z-index:1;
  left:9px;
  bottom:8px;
  max-width:calc(100% - 18px);
  padding:4px 7px;
  border-radius:999px;
  background:rgba(15,23,42,.62);
  color:#fff;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.03em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.recorded-video-copy{
  min-width:0;
  overflow:hidden;
  padding:0 2px 2px;
}
.recorded-video-title{
  font-weight:850;
  font-size:.83rem;
  line-height:1.2;
  white-space:normal;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  word-break:break-word;
}
.recorded-video-detail{
  display:block;
  color:#475569;
  font-size:.74rem;
  font-weight:700;
  margin-top:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.recorded-video-meta{
  color:#64748b;
  font-size:.70rem;
  margin-top:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.recorded-empty{
  color:#64748b;
  border:1px dashed #cbd5e1;
  border-radius:16px;
  padding:14px;
  background:rgba(255,255,255,.72);
  line-height:1.5;
}
.cell .value,.mail-summary-box .value{font-size:.95rem;color:#111827;word-break:break-word;line-height:1.45}
.mail-compact-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.mail-templates-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mail-template-card{
  background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease
}
.mail-template-card:hover{border-color:#bfdbfe;box-shadow:0 8px 24px rgba(15,23,42,.08);transform:translateY(-1px)}
.mail-template-card.active{border-color:#93c5fd;background:#f8fbff;box-shadow:0 8px 24px rgba(59,130,246,.10)}
.mail-template-headline{display:flex;align-items:flex-start;gap:12px}
.mail-template-icon{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#eef6ff;color:#0a66c2;flex:0 0 auto
}
.mail-preview-body{
  margin-top:12px;background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);border:1px solid #e5edf6;border-radius:18px;padding:18px;white-space:pre-wrap;line-height:1.62;font-size:.98rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.92)
}
.correo-embed-shell{
  min-height:calc(100vh - 230px);
  display:flex;
  flex-direction:column;
  gap:12px
}
.correo-embed-state{
  background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:20px;color:#475569;line-height:1.6
}
.correo-embed-state strong{
  display:block;color:#0f172a;font-size:1rem;margin-bottom:6px
}
.correo-embed-content.hidden{display:none}
.correo-embed-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap
}
.correo-embed-chip{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eef6ff;border:1px solid #dbeafe;color:#0a66c2;font-size:.92rem;font-weight:700
}
.correo-embed-chip i{width:16px;height:16px}
.correo-embed-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.correo-embed-frame-wrap{
  position:relative;flex:1 1 auto;min-height:calc(100vh - 290px);border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.06)
}
.correo-embed-frame{
  width:100%;min-height:calc(100vh - 290px);border:0;background:#fff
}
.chat-placeholder-section{display:none;margin-bottom:14px;min-height:calc(100vh - 230px)}
.chat-placeholder-section.show{display:block}
.chat-placeholder-card{
  background:#fff;color:#111827;border:1px solid var(--border);border-radius:16px;padding:18px;min-height:calc(100vh - 250px);
  display:flex;flex-direction:column;justify-content:space-between;gap:16px
}
.chat-placeholder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.chat-placeholder-title{font-size:1.05rem;font-weight:700}
.chat-placeholder-sub{color:var(--muted);line-height:1.5;font-size:.95rem;margin-top:6px}
.chat-preview{
  margin-top:14px;border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px
}
.chat-bubble{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px;max-width:85%;line-height:1.5}
.chat-bubble.user{margin-left:auto;background:#eef6ff;border-color:#bfdbfe;color:#0a66c2;font-weight:600}
.chat-placeholder-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chat-placeholder-input{display:flex;gap:10px;align-items:center;margin-top:14px}
.chat-placeholder-input input{
  flex:1;padding:12px 14px;border:1px solid var(--border);border-radius:12px;outline:none;background:#fff
}
.chat-placeholder-input input:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px rgba(191,219,254,.35)}

.modal-shell{
  position:fixed;inset:0;display:none;align-items:center;justify-content:center;
  z-index:1300;padding:24px;background:rgba(17,24,39,.34)
}
.modal-shell.show{display:flex}
.modal-shell.open{display:flex}
.modal-card{
  width:min(680px,96vw);background:#fff;border:1px solid var(--border);border-radius:18px;
  box-shadow:0 24px 60px rgba(15,23,42,.22);overflow:hidden
}
.modal-card.modal-sm{width:min(520px,96vw)}
.modal-card.modal-lg{width:min(920px,96vw)}
.modal-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:18px 20px 14px;border-bottom:1px solid var(--border)
}
.modal-title{font-size:1.05rem;font-weight:700}
.modal-sub{color:var(--muted);font-size:.92rem;line-height:1.5;margin-top:4px}
.modal-close{
  width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer;
  display:grid;place-items:center
}
.modal-close:hover{background:#f3f4f6}
.modal-body{padding:18px 20px}
.modal-footer{
  display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 18px;border-top:1px solid var(--border)
}
.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.modal-field{
  background:#f8fafc;border:1px solid #edf2f7;border-radius:12px;padding:12px
}
.modal-field .label{color:var(--muted);font-size:.82rem;margin-bottom:6px}
.modal-field .value{font-size:.95rem;color:#111827;word-break:break-word;line-height:1.45}
.modal-field select,
.modal-field input,
.modal-field textarea{
  width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;outline:none;font:inherit
}
.modal-field select:focus,
.modal-field input:focus,
.modal-field textarea:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px rgba(191,219,254,.35)}
.share-result{
  margin-top:14px;background:#f8fbff;border:1px solid #dbeafe;border-radius:14px;padding:14px
}
.share-result.hidden{display:none}
.share-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.share-url{
  width:100%;min-height:88px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff;resize:vertical;
  font:inherit;color:#111827
}
.inline-actions{display:flex;gap:8px;flex-wrap:wrap}
.warn-box{
  background:#fff7ed;border:1px solid #fdba74;border-radius:14px;padding:14px 16px;color:#9a3412
}
.warn-box strong{display:block;margin-bottom:6px;color:#7c2d12}
.warn-meta{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px
}
.warn-chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;
  background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.82rem;font-weight:700
}
.modal-card.modal-cloud{width:min(640px,96vw)}
.action-confirm-card{position:relative}
.action-confirm-panel{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:14px;
  padding:16px;
  border:1px solid #bfdbfe;
  border-radius:18px;
  background:linear-gradient(135deg,#eff6ff 0%,#ffffff 100%);
  color:#0f172a;
}
.action-confirm-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#0759c8;
  background:#dbeafe;
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.14);
}
.action-confirm-icon svg{width:22px;height:22px}
.action-confirm-panel strong{display:block;font-size:.98rem;line-height:1.35}
.action-confirm-panel p{margin:6px 0 0;color:#475569;line-height:1.55}
.action-confirm-detail{
  margin-top:12px;
  padding:11px 13px;
  border:1px solid #e2e8f0;
  border-radius:13px;
  background:#f8fafc;
  color:#64748b;
  font-size:.84rem;
  line-height:1.5;
}
.action-confirm-input-wrap{margin-top:12px}
.action-confirm-submit{border-color:#2563eb!important;background:#2563eb!important;color:#fff!important}
.action-confirm-card[data-tone="warning"] .action-confirm-panel{border-color:#fde68a;background:linear-gradient(135deg,#fffbeb 0%,#ffffff 100%)}
.action-confirm-card[data-tone="warning"] .action-confirm-icon{color:#a16207;background:#fef3c7}
.action-confirm-card[data-tone="danger"] .action-confirm-panel{border-color:#fecaca;background:linear-gradient(135deg,#fef2f2 0%,#ffffff 100%)}
.action-confirm-card[data-tone="danger"] .action-confirm-icon{color:#b91c1c;background:#fee2e2}
.action-confirm-card[data-tone="danger"] .action-confirm-submit{border-color:#dc2626!important;background:#dc2626!important}
.action-confirm-card[data-tone="danger"] .action-confirm-detail{border-color:#fee2e2;background:#fff7f7;color:#991b1b}
.cloud-modal-hero{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  background:
    radial-gradient(circle at top left,rgba(59,130,246,.12),transparent 34%),
    linear-gradient(135deg,#f8fbff 0%, #ffffff 100%);
  border:1px solid #dbeafe;
  border-radius:20px;
  margin-bottom:14px;
  box-shadow:0 16px 34px rgba(37,99,235,.08), inset 0 1px 0 rgba(255,255,255,.92);
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.cloud-modal-hero.indexing{
  border-color:#bae6fd;
  background:
    radial-gradient(circle at top left,rgba(14,165,233,.18),transparent 38%),
    linear-gradient(135deg,#eff6ff 0%, #ffffff 100%);
}
.cloud-modal-hero.error{
  border-color:#fecaca;
  background:
    radial-gradient(circle at top left,rgba(239,68,68,.12),transparent 38%),
    linear-gradient(135deg,#fff7f7 0%, #ffffff 100%);
}
.cloud-modal-hero .status-icon{
  width:42px;
  height:42px;
  border-radius:14px
}
.cloud-modal-title{
  font-size:1rem;
  font-weight:800;
  color:#0f172a
}
.cloud-modal-sub{
  color:#64748b;
  font-size:.9rem;
  line-height:1.5;
  margin-top:4px
}
.cloud-modal-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#ecfdf5;
  border:1px solid #bbf7d0;
  color:#047857;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.02em;
}
.cloud-modal-badge.indexing{background:#eff6ff;border-color:#bae6fd;color:#0369a1}
.cloud-modal-badge.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.cloud-modal-badge.pending{background:#fffbeb;border-color:#fde68a;color:#92400e}
.cloud-modal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px
}
.cloud-modal-item{
  background:#f8fafc;
  border:1px solid #edf2f7;
  border-radius:14px;
  padding:12px
}
.cloud-modal-item .label{color:#64748b;font-size:.82rem;margin-bottom:6px}
.cloud-modal-item .value{color:#0f172a;font-weight:700;line-height:1.5}
.cloud-index-panel{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border-radius:18px;
  border:1px solid #e5eef8;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
  box-shadow:0 12px 28px rgba(15,23,42,.06);
  margin-bottom:14px;
}
.cloud-index-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#0a66c2;
  background:#eef6ff;
  border:1px solid #dbeafe;
}
.cloud-index-panel.indexing .cloud-index-icon i{animation:spin 1.3s linear infinite}
.cloud-index-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#0f172a;
  font-weight:900;
  margin-bottom:4px;
}
.cloud-index-state{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:999px;
  background:#ecfdf5;
  color:#047857;
  border:1px solid #bbf7d0;
  font-size:.74rem;
  font-weight:900;
}
.cloud-index-state.indexing{background:#eff6ff;border-color:#bae6fd;color:#0369a1}
.cloud-index-state.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.cloud-index-state.pending{background:#fffbeb;border-color:#fde68a;color:#92400e}
.cloud-index-text{
  color:#475569;
  line-height:1.55;
  font-size:.92rem;
}
.cloud-index-meta{
  margin-top:8px;
  color:#64748b;
  font-size:.82rem;
  font-weight:700;
}
.cloud-note-panel{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid #e5e7eb;
  background:#fbfdff;
  color:#475569;
  line-height:1.58;
  font-size:.9rem;
  margin-bottom:14px;
}
.cloud-note-panel strong{color:#0f172a}
.cloud-modal-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.cloud-action-btn{
  min-height:46px;
  border-radius:16px;
  justify-content:flex-start;
  font-weight:850;
  letter-spacing:-.01em;
  box-shadow:0 12px 24px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}
.cloud-action-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(15,23,42,.1), inset 0 1px 0 rgba(255,255,255,.95);
}
.cloud-action-btn i{
  width:19px;
  height:19px;
  stroke-width:2.3;
}
.cloud-action-reconnect{
  color:#0f3f8d;
  border-color:#bfdbfe;
  background:
    radial-gradient(circle at 0 0,rgba(59,130,246,.16),transparent 36%),
    linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%);
}
.cloud-action-reconnect:hover{background:linear-gradient(180deg,#eff6ff 0%,#dbeafe 100%)}
.cloud-action-prepare{
  color:#075985;
  border-color:#bae6fd;
  background:
    radial-gradient(circle at 0 0,rgba(14,165,233,.14),transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#f0f9ff 100%);
}
.cloud-action-prepare:hover{background:linear-gradient(180deg,#f0f9ff 0%,#e0f2fe 100%)}
.cloud-action-disconnect{
  color:#7f1d1d;
  border-color:#fecaca;
  background:
    radial-gradient(circle at 0 0,rgba(248,113,113,.1),transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#fff7f7 100%);
}
.cloud-action-disconnect:hover{background:linear-gradient(180deg,#fff7f7 0%,#fee2e2 100%)}
.cloud-action-btn:focus-visible{
  outline:2px solid rgba(59,130,246,.55);
  outline-offset:3px;
}
.cloud-modal-hint{
  margin-top:14px;
  color:#64748b;
  line-height:1.6;
  font-size:.92rem
}

/* ===========================
   AI SHARE MODAL
   =========================== */
.ai-provider-note{
  margin-top:8px;
  font-size:.88rem;
  color:#475569;
  line-height:1.45;
}
.ai-scope-summary{
  margin-top:8px;
  font-size:.9rem;
  color:#334155;
  line-height:1.45;
}
.ai-options-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px;
}
.ai-checkbox{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.92rem;
  color:#111827;
}
.ai-checkbox input{width:auto}
.ai-share-result{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.ai-share-result .field{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px 12px;
}
.ai-share-result .field label{
  display:block;
  font-size:.82rem;
  color:var(--muted);
  margin-bottom:6px;
}
.ai-share-result .field input,
.ai-share-result .field textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
  font:inherit;
  color:#111827;
}
.ai-result-box{
  margin-top:14px;
  background:#f8fbff;
  border:1px solid #dbeafe;
  border-radius:14px;
  padding:14px;
}
.ai-result-box:empty{
  display:none;
}

@media (max-width: 1100px){
  .process-info-hero{grid-template-columns:auto minmax(0,1fr)}
  .process-info-status{grid-column:1 / -1}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mail-templates-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mail-compact-meta{grid-template-columns:1fr}
}
@media (max-width: 820px){
  .nov-grid,.aud-grid,.mail-fields,.process-grid,.modal-grid,.warn-meta{grid-template-columns:1fr}
  .process-info-card{padding:15px}
  .process-info-head{flex-direction:column;align-items:stretch}
  .process-actions .btn{width:100%;justify-content:center}
  .process-info-hero{grid-template-columns:1fr;padding:16px}
  .process-info-orb{width:50px;height:50px}
  .process-info-radicado{font-size:1.05rem;white-space:normal;overflow-wrap:anywhere}
  .process-info-parties{grid-template-columns:1fr}
  .process-info-parties em{white-space:normal}
  .novedades-console{padding:13px;border-radius:20px}
  .novedades-console-head{flex-direction:column;align-items:stretch}
  .nov-search-box{min-width:0;width:100%}
  .novedades-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .novedades-filter-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .novedades-filter-chips button{white-space:nowrap}
  .novedades-timeline{padding-left:0}
  .novedades-timeline::before,.nov-timeline-dot{display:none}
  .nov-premium-head{grid-template-columns:auto minmax(0,1fr);padding:16px}
  .nov-term-pill{grid-column:1 / -1;align-items:flex-start;text-align:left}
  .nov-premium-body{grid-template-columns:1fr;padding:14px 16px}
  .nov-actions-row{padding:0 16px 16px}
  .nov-action-btn{width:100%}
  .nov-doc-row{grid-template-columns:auto minmax(0,1fr)}
  .nov-doc-actions{grid-column:2;justify-content:flex-start}
  .aud-premium-head{grid-template-columns:auto minmax(0,1fr);padding:16px}
  .aud-premium-head .aud-link-muted{grid-column:1 / -1;justify-self:flex-start}
  .aud-premium-body{grid-template-columns:1fr;padding:14px 16px}
  .aud-premium-actions{padding:0 16px 16px}
  .aud-link-primary,.aud-link-secondary{width:100%;justify-content:center}
  .recorded-head{flex-direction:column;align-items:stretch}
  .recorded-actions{justify-content:space-between}
  .mail-templates-strip{grid-template-columns:1fr}
  .cloud-setup-card{padding:22px 18px}
  .cloud-setup-hero{flex-direction:column;align-items:flex-start}
  .cloud-setup-title{font-size:1.32rem}
  .cloud-provider-stack{width:100%;min-width:0}
  .cloud-provider-pill{width:100%}
  .cloud-setup-flow{grid-template-columns:1fr;gap:12px}
  .cloud-flow-line{width:2px;height:22px;justify-self:17px;background:linear-gradient(180deg,#bfdbfe,#93c5fd)}
  .cloud-setup-grid{grid-template-columns:1fr}
  .cloud-modal-grid{grid-template-columns:1fr}
  .correo-embed-shell{min-height:calc(100vh - 180px)}
  .correo-embed-frame-wrap,.correo-embed-frame{min-height:calc(100vh - 250px)}
  .toolbar{flex-direction:column;align-items:stretch;gap:8px;padding:10px}
  .docs-nav-left{gap:8px}
  .breadcrumbs{font-size:.94rem}
  .folder-info{align-self:flex-end}
  .related-bar{margin:0 0 12px}
  .actions-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .actions-bar .btn{width:100%;justify-content:center;padding:10px 12px}
  .table-header{display:none !important}
  #file-container{margin-top:0}
  .mobile-file-top{align-items:center}
  .mobile-file-main .name{line-height:1.35;overflow-wrap:anywhere}
  .mobile-file-item .actions{align-self:flex-start}
  .dropzone{padding:16px;font-size:.92rem}
  .dropzone.drag{left:14px;right:14px;top:76px;bottom:82px}
  .mobile-file-meta{grid-template-columns:1fr}
  .chat-bubble{max-width:100%}
  .chat-placeholder-input{flex-direction:column;align-items:stretch}
  .cloud-setup-actions .btn{width:100%;justify-content:center}
  .process-step{
    grid-template-columns:30px 1fr;
  }
  .process-step-meta{
    grid-column:2;
    justify-content:flex-start;
    margin-top:8px;
  }
}

.help-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:10px}
.help-chip{
  display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid var(--border);
  background:var(--white);cursor:pointer;font:inherit
}
.help-chip:hover{background:#f3f4f6}
.help-panel{
  display:none;position:relative;margin-bottom:14px;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;overflow:hidden
}
.help-panel.show{display:block}
.help-body{padding:14px 16px;min-height:110px;height:var(--help-height);max-height:340px;overflow:auto}
.help-body h3{margin:0 0 10px;font-size:1rem}
.help-body p{margin:8px 0;color:#4b5563;line-height:1.5}
.help-actions{position:absolute;top:10px;right:12px;display:flex;gap:8px}
.help-mini-btn{border:1px solid #f3d18b;background:#fff;border-radius:8px;padding:6px 8px;cursor:pointer;font:inherit}
.help-mini-btn:hover{background:#fff7db}
.help-resize{height:12px;cursor:ns-resize;background:linear-gradient(to bottom,#fde68a 0,#fef3c7 100%);border-top:1px solid #f3d18b}
.help-resize::after{content:"";display:block;width:44px;height:4px;border-radius:999px;background:#d1d5db;margin:4px auto 0}

.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.toolbar{
  margin-bottom:12px;
  padding:10px 14px;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
  border:1px solid #e7edf5;
  box-shadow:0 12px 28px rgba(15,23,42,.04)
}
.docs-nav-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1;flex-wrap:wrap}
.docs-toolbar-actions{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.breadcrumbs{display:flex;gap:8px;align-items:center;color:var(--muted);font-weight:600;flex-wrap:wrap;min-width:0}
.breadcrumbs span{cursor:pointer}
.breadcrumbs span.active{color:#111827;cursor:default}
.case-header-summary{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  padding:10px 11px;
  border:1px solid #dbeafe;
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  color:#334155;
  font-size:.78rem;
  font-weight:800;
  line-height:1.45;
  box-shadow:0 10px 22px rgba(15,23,42,.04);
}
.case-header-summary span,.case-header-summary strong{display:inline;min-width:0}
.case-header-summary strong{color:#0f172a}
.case-header-summary .muted{color:#64748b;font-weight:700}
.expediente-tabs{
  display:none;
  align-items:center;
  gap:6px;
  padding:3px;
  border:1px solid #e5edf7;
  border-radius:999px;
  background:#f8fafc;
}
.expediente-tabs.show{display:flex}
.expediente-tab{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:6px 11px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#64748b;
  font:inherit;
  font-size:.86rem;
  font-weight:850;
  cursor:pointer;
}
.expediente-tab:hover{background:#fff;color:#0f172a}
.expediente-tab.active{
  background:#fff;
  color:#0a66c2;
  box-shadow:0 8px 18px rgba(15,23,42,.07),inset 0 0 0 1px #dbeafe;
}
.expediente-tab .count{
  min-width:22px;
  padding:2px 6px;
  border-radius:999px;
  background:#eef6ff;
  color:#0a66c2;
  font-size:.72rem;
  font-weight:950;
}
.expediente-sort{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:4px 8px 4px 12px;
  border:1px solid #e5edf7;
  border-radius:999px;
  background:#ffffff;
  color:#64748b;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.expediente-sort.hidden{display:none}
.expediente-sort select{
  min-width:150px;
  border:0;
  border-radius:999px;
  background:#eef6ff;
  color:#0f172a;
  font:inherit;
  font-size:.82rem;
  font-weight:850;
  text-transform:none;
  letter-spacing:0;
  padding:7px 30px 7px 10px;
  outline:none;
}
.folder-info{
  flex:0 0 auto;
  color:#475569;
  font-weight:800;
  font-size:.9rem;
  padding:7px 10px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #edf2f7;
}
.view-mode-wrap{position:relative;flex:0 0 auto}
.view-mode-btn{
  min-height:38px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  color:#0f172a;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  font:inherit;
  font-size:.88rem;
  font-weight:850;
  cursor:pointer;
}
.view-mode-btn:hover,.view-mode-btn.active{
  background:#eef6ff;
  border-color:#dbeafe;
}
.view-mode-btn i,.view-mode-current-icon svg{width:17px;height:17px}
.view-mode-current-icon{display:inline-grid;place-items:center}
.view-mode-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:150px;
  padding:6px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 36px rgba(15,23,42,.14);
  display:none;
  z-index:70;
}
.view-mode-menu.show{display:block}
.view-mode-menu button{
  width:100%;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#334155;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  font:inherit;
  font-size:.88rem;
  font-weight:800;
  cursor:pointer;
  text-align:left;
}
.view-mode-menu button:hover,.view-mode-menu button.active{
  background:#eef6ff;
  color:#0a66c2;
}
.view-mode-menu i{width:16px;height:16px}

.docs-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.docs-shell.with-folder-rail{grid-template-columns:290px minmax(0,1fr)}
.docs-main{
  min-width:0;
}
.folder-rail{
  position:sticky;
  top:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.folder-rail-card{
  background:linear-gradient(180deg,#ffffff 0%, #f9fbff 100%);
  border:1px solid #e4ebf5;
  border-radius:24px;
  box-shadow:0 18px 36px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
}
.folder-rail-head{
  padding:18px 18px 14px;
  border-bottom:1px solid #edf2f7;
}
.folder-rail-head h3{
  margin:0;
  font-size:1.02rem;
  letter-spacing:-.02em;
}
.folder-rail-sub{
  margin-top:6px;
  color:#64748b;
  font-size:.9rem;
  line-height:1.5;
}
.folder-rail-section{
  padding:16px 18px 18px;
  border-top:1px solid #f1f5f9;
}
.folder-rail-section:first-of-type{border-top:none}
.folder-rail-label{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  color:#64748b;
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.folder-path{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.folder-path-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  appearance:none;
  border-radius:999px;
  border:1px solid #dbe7f6;
  background:#f8fbff;
  color:#334155;
  font-size:.86rem;
  font-weight:600;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.folder-path-pill:hover{
  background:#f1f7ff;
  border-color:#c9dcf5;
  color:#0f172a;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(37,99,235,.06);
}
.folder-path-pill.active{
  background:#eef6ff;
  color:#0a66c2;
  border-color:#bfdbfe;
  cursor:default;
  box-shadow:none;
}
.folder-tree{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.folder-tree-icon{
  display:grid;
  place-items:center;
}
.folder-tree-btn{
  width:100%;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:12px 12px;
  appearance:none;
  border-radius:18px;
  border:1px solid transparent;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.folder-tree-btn:hover{
  background:#f8fbff;
  border-color:#dbe7f6;
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(37,99,235,.05);
}
.folder-tree-btn.active{
  background:linear-gradient(180deg,#eef6ff 0%, #f8fbff 100%);
  border-color:#bfdbfe;
}
.folder-tree-copy{
  min-width:0;
}
.folder-tree-title{
  font-weight:700;
  color:#0f172a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.folder-tree-meta{
  margin-top:4px;
  color:#64748b;
  font-size:.82rem;
  line-height:1.4;
}
.folder-tree-empty{
  padding:14px 16px;
  border-radius:18px;
  background:#f8fafc;
  border:1px dashed #cbd5e1;
  color:#64748b;
  line-height:1.5;
  font-size:.9rem;
}
.folder-rail-toggle{
  display:none;
}
.folder-rail-backdrop{
  display:none;
}

.related-bar{display:none;align-items:center;gap:7px;flex-wrap:wrap;margin:0}
.related-bar.show{display:flex}
.related-title{font-size:.78rem;color:#64748b;font-weight:900;margin-right:2px;text-transform:uppercase;letter-spacing:.06em}
.related-chip{
  display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid var(--border);
  background:#fff;cursor:pointer;font:inherit;font-weight:750;font-size:.88rem
}
.related-chip:hover{background:#f3f4f6}
.related-chip.active{background:#eef6ff;border-color:#bfdbfe;color:#0a66c2;font-weight:700}

.actions-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.actions-bar .btn{padding:9px 12px}

.table-header{
  display:grid;gap:12px;padding:12px 16px;font-size:.82rem;color:#64748b;border:1px solid #e6edf6;border-bottom:none;
  background:linear-gradient(180deg,#fbfdff 0%, #f4f8fd 100%);border-radius:20px 20px 0 0;
  text-transform:uppercase;letter-spacing:.06em;font-weight:800
}
.table-header.hidden{display:none}
.table-sort{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none}
.table-sort:hover{color:#111827}
.sort-indicator{font-size:.8rem;color:#9ca3af}
.sort-indicator.active{color:var(--primary)}

#file-container{margin-top:8px}
#file-container [draggable="true"]{cursor:grab}
#file-container [draggable="true"]:active{cursor:grabbing}
#file-container .is-dragging{opacity:.42;transform:scale(.985)}
#file-container .is-drop-target{
  border-color:#2783dd!important;
  background:#edf6ff!important;
  box-shadow:0 0 0 4px rgba(0,120,212,.13),0 16px 34px rgba(15,23,42,.10)!important;
}
.list-view .file-item{
  display:grid;align-items:center;gap:12px;padding:14px 16px;margin-bottom:10px;background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);
  border:1px solid #e7edf5;border-radius:20px;
  box-shadow:0 10px 24px rgba(15,23,42,.04), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease
}
.list-view .file-item:hover{
  transform:translateY(-1px);
  border-color:#d7e4f4;
  box-shadow:0 14px 28px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.95)
}
.list-view .file-item.case-row--unlinked{
  background:#fff8e7;
  border-color:#f5d48b;
  box-shadow:inset 3px 0 0 #f5b942;
}
.list-view.with-meta .file-item{grid-template-columns:28px 2.4fr 2.2fr 2.6fr 1.15fr .85fr 40px}
.list-view.no-meta .file-item{grid-template-columns:28px 4fr 1fr .9fr .9fr 40px}
.list-view.with-meta.with-select .file-item{grid-template-columns:32px 28px 2.4fr 2.2fr 2.6fr 1.15fr .85fr 40px}
.list-view.no-meta.with-select .file-item{grid-template-columns:32px 28px 4fr 1fr .9fr .9fr 40px}
.table-header.with-meta{grid-template-columns:28px 2.4fr 2.2fr 2.6fr 1.15fr .85fr 40px}
.table-header.no-meta{grid-template-columns:28px 4fr 1fr .9fr .9fr 40px}
.table-header.with-meta.with-select{grid-template-columns:32px 28px 2.4fr 2.2fr 2.6fr 1.15fr .85fr 40px}
.table-header.no-meta.with-select{grid-template-columns:32px 28px 4fr 1fr .9fr .9fr 40px}

.list-view.with-meta .file-item.expediente-row-card{
  display:block;
  position:relative;
  padding:0;
  overflow:hidden;
}
.expediente-card-select{
  position:absolute;
  left:14px;
  top:16px;
  z-index:3;
}
.expediente-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:48px;
  padding:10px 14px 10px 16px;
  border-bottom:1px solid #dde6f0;
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);
}
.list-view.with-meta.with-select .expediente-card-top{padding-left:48px}
.expediente-card-title{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.expediente-radicado{
  color:#0f172a;
  font-size:1rem;
  font-weight:950;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.expediente-card-badges{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.expediente-card-grid{
  display:grid;
  grid-template-columns:minmax(190px,1.25fr) minmax(230px,1.45fr) minmax(130px,.7fr) minmax(110px,.6fr);
  gap:18px;
  padding:13px 18px 15px;
}
.expediente-field{
  min-width:0;
  color:#334155;
  font-size:.93rem;
  line-height:1.38;
}
.expediente-field span{
  display:block;
  margin-bottom:6px;
  color:#64748b;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.expediente-field strong{
  display:block;
  color:#334155;
  font-weight:650;
  overflow-wrap:anywhere;
}
.expediente-field-date strong,
.expediente-field-date .last-action-empty{
  color:#0f172a;
  font-weight:900;
}
.expediente-field-date .last-action-empty{font-size:.82rem}

@media(max-width:1120px){
  .expediente-card-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:780px){
  .expediente-sort{
    width:100%;
    justify-content:space-between;
  }
  .expediente-sort select{
    min-width:0;
    flex:1;
  }
  .expediente-card-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .expediente-card-top{
    align-items:flex-start;
  }
  .expediente-card-title{
    align-items:flex-start;
  }
  .expediente-radicado{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

.icon{display:grid;place-items:center}
.name{font-weight:700;word-break:break-word;color:#0f172a;line-height:1.45}
.type,.modified,.meta,.size,.last-action{color:#374151;font-size:.95rem}
.last-action{line-height:1.25;min-width:0}
.last-action-label{display:block;color:#64748b;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;white-space:nowrap}
.last-action strong{display:block;color:#0f172a;font-weight:800;white-space:nowrap}
.last-action-empty{color:#94a3b8;font-size:.86rem;font-weight:700}
.actions{display:grid;place-items:center}
.kebab{background:none;border:none;cursor:pointer;color:#374151}
.kebab:hover{color:var(--primary)}
.file-icon{
  position:relative;
  width:40px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  border:1px solid rgba(148,163,184,.16);
  box-shadow:0 8px 18px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.95);
  overflow:hidden;
  flex:0 0 auto;
}
.file-icon i{
  position:relative;
  z-index:2;
  width:18px;
  height:18px;
  stroke-width:2.15;
}
.file-icon::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.72));
}
.file-icon::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:6px;
  background:currentColor;
  opacity:.18;
}
.file-icon.folder{
  width:42px;
  height:34px;
  border-radius:14px;
  background:linear-gradient(180deg,#fff8d8 0%, #ffe9a9 100%);
  color:#b7791f;
}
.file-icon.folder::before{
  inset:auto auto 100% 6px;
  width:18px;
  height:8px;
  border-radius:8px 8px 0 0;
  background:#ffe08a;
}
.file-icon.folder::after{display:none}
.file-icon.folder.folder-empty{
  background:linear-gradient(180deg,#f8fafc 0%, #e5e7eb 100%);
  color:#9a5b12;
  border-color:#facc15;
  box-shadow:0 8px 16px rgba(120,113,108,.08), inset 0 1px 0 rgba(255,255,255,.92);
}
.file-icon.folder.folder-empty::before{
  background:#fde68a;
}
.file-icon.word{background:linear-gradient(180deg,#eef4ff 0%, #dbeafe 100%);color:#2563eb}
.file-icon.excel{background:linear-gradient(180deg,#ecfdf3 0%, #d1fae5 100%);color:#16a34a}
.file-icon.pdf{background:linear-gradient(180deg,#fff1f2 0%, #ffe4e6 100%);color:#dc2626}
.file-icon.image{background:linear-gradient(180deg,#fff7ed 0%, #ffedd5 100%);color:#ea580c}
.file-icon.video{background:linear-gradient(180deg,#f5f3ff 0%, #ede9fe 100%);color:#7c3aed}
.file-icon.audio{background:linear-gradient(180deg,#eff6ff 0%, #dbeafe 100%);color:#0284c7}
.file-icon.archive{background:linear-gradient(180deg,#f8fafc 0%, #e2e8f0 100%);color:#475569}
.file-icon.generic{background:linear-gradient(180deg,#f8fafc 0%, #eef2f7 100%);color:#64748b}
.folder-tree-btn .file-icon{
  box-shadow:0 10px 18px rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.96);
}
.badge{
  display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:600;
  background:#eef6ff;color:var(--primary)
}
.badge.warn{background:#fffbeb;color:#b45309}
.badge.unlinked{background:#fff3cd;color:#8a5a00}
.badge.novedad{background:#eff6ff;color:##0a66c2;border:1px solid #bfdbfe}
.case-row--novedad{
  position:relative;
  border-color:#93c5fd !important;
  background:
    linear-gradient(90deg, rgba(37,99,235,.075) 0%, rgba(255,255,255,1) 32%),
    linear-gradient(180deg,#ffffff 0%, #fbfdff 100%) !important;
  box-shadow:
    inset 4px 0 0 #2563eb,
    0 0 0 1px rgba(37,99,235,.10),
    0 14px 28px rgba(37,99,235,.10) !important;
  animation:amxNovedadBluePulse 1.45s ease-in-out infinite;
}

.case-row--novedad:hover{
  border-color:#60a5fa !important;
  box-shadow:
    inset 4px 0 0 #1d4ed8,
    0 0 0 3px rgba(59,130,246,.12),
    0 16px 32px rgba(37,99,235,.14) !important;
}

/* Carpetica dentro de una fila con novedad */
.case-row--novedad .file-icon.folder{
  background:linear-gradient(180deg,#eff6ff 0%, #dbeafe 100%) !important;
  color:#1d4ed8 !important;
  border-color:#bfdbfe !important;
  box-shadow:
    0 10px 20px rgba(37,99,235,.14),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.case-row--novedad .file-icon.folder::before{
  background:#bfdbfe !important;
}

.case-row--novedad .file-icon.folder.folder-empty{
  background:linear-gradient(180deg,#f8fbff 0%, #e8f1ff 100%) !important;
  color:#2563eb !important;
  border-style:dashed;
  border-color:#93c5fd !important;
}

/* Pulso suave del filo azul */
@keyframes amxNovedadBluePulse{
  0%,100%{
    box-shadow:
      inset 4px 0 0 #2563eb,
      0 0 0 1px rgba(37,99,235,.10),
      0 14px 28px rgba(37,99,235,.09);
  }
  50%{
    box-shadow:
      inset 4px 0 0 #60a5fa,
      0 0 0 4px rgba(96,165,250,.13),
      0 16px 34px rgba(37,99,235,.16);
  }
}

/* Respeta usuarios que prefieren menos animación */
@media (prefers-reduced-motion: reduce){
  .case-row--novedad{
    animation:none;
  }
}

.case-row--novedad .name{color:#0f172a}

.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.grid-view .card{
  background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);
  border:1px solid #e7edf5;border-radius:24px;padding:18px;position:relative;min-height:190px;
  box-shadow:0 14px 32px rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.92);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease
}
.grid-view .card:hover{
  transform:translateY(-2px);
  border-color:#d7e4f4;
  box-shadow:0 18px 36px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.96)
}
.grid-view .card.card--unlinked{
  background:#fff8e7;
  border-color:#f5d48b;
  box-shadow:inset 3px 0 0 #f5b942;
}
.grid-view .card .actions{position:absolute;top:6px;right:6px}
.grid-view .card .preview-hint{font-size:.82rem;color:var(--muted);margin-top:8px}

.mobile-expedientes-view,.mobile-file-view{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mobile-expediente-card,.mobile-file-item{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:0 12px 28px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.9);
}
.mobile-expediente-card.case-row--unlinked,.mobile-file-item.case-row--unlinked{
  background:#fff8e7;
  border-color:#f5d48b;
  box-shadow:inset 3px 0 0 #f5b942;
}
.mobile-expediente-card.case-row--novedad,.mobile-file-item.case-row--novedad{
  border-color:#fed7aa;
  box-shadow:inset 3px 0 0 #f97316,0 14px 28px rgba(249,115,22,.10);
}
.mobile-expediente-card{padding:14px}
.mobile-expediente-top,.mobile-file-top{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.mobile-expediente-top .actions,.mobile-file-top .actions{
  margin-left:auto;
  flex:0 0 auto;
}
.mobile-leading{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#eef6ff;
  color:var(--primary);
  flex:0 0 auto;
}
.mobile-leading i{width:20px;height:20px}
.mobile-expediente-head,.mobile-file-main{
  min-width:0;
  flex:1 1 auto;
}
.mobile-radicado{
  font-size:1rem;
  font-weight:800;
  color:#0f172a;
  letter-spacing:.01em;
  word-break:break-word;
}
.mobile-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.mobile-parties{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.mobile-party{
  background:#f8fafc;
  border:1px solid #edf2f7;
  border-radius:14px;
  padding:10px 12px;
}
.mobile-party .label,.mobile-file-meta .label{
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:4px;
}
.mobile-party .value{
  color:#111827;
  font-size:.94rem;
  line-height:1.45;
  word-break:break-word;
}
.mobile-expediente-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
  color:#475569;
  font-size:.86rem;
}
.mobile-expediente-stats{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.mobile-file-item{padding:12px 14px}
.mobile-file-main .name{font-size:.97rem}
.mobile-file-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.mobile-file-meta .value{
  color:#1f2937;
  font-size:.88rem;
  line-height:1.35;
  word-break:break-word;
}
.mobile-file-hint{
  color:var(--muted);
  font-size:.82rem;
  margin-top:10px;
}
.mobile-select{
  display:grid;
  place-items:center;
  padding-top:8px;
}

.process-unlinked-notice{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  margin-bottom:14px;padding:14px 16px;border-radius:14px;
  border:1px solid #f5d48b;background:#fff8e7;color:#7c5600;
}
.process-unlinked-notice.hidden{display:none}
.process-unlinked-notice strong{display:block;margin-bottom:4px;color:#6b4a00}
.process-unlinked-notice p{margin:0;line-height:1.45}

.context-menu{
  position:absolute;display:none;background:#fff;border:1px solid var(--border);box-shadow:0 10px 25px rgba(0,0,0,.08);
  border-radius:12px;z-index:9999;min-width:250px;max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto
}
.context-menu.show{display:block}
.context-menu .item{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}
.context-menu .item:hover{background:#f3f4f6}
.context-menu-divider{height:1px;margin:4px 10px;background:#e5e7eb}
.client-paste-btn{border-color:#b9d8f4!important;background:#edf6ff!important;color:#075ea8!important}
.client-paste-btn .clipboard-mode{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:820px){
  .actions-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .actions-bar .btn{width:100%;justify-content:center;padding:10px 12px}
}

.dropzone{
  display:none;
  margin-top:12px;
  min-height:86px;
  border:1.5px dashed #b8c7dc;
  background:linear-gradient(180deg,rgba(248,251,255,.86),rgba(241,247,255,.72));
  border-radius:20px;
  padding:22px;
  color:#475569;
  text-align:center;
  place-items:center;
  font-weight:750;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.dropzone.show{display:grid}
.dropzone.drag{
  position:fixed;
  left:calc(var(--sidebar-width) + 24px);
  right:24px;
  top:92px;
  bottom:88px;
  z-index:120;
  min-height:260px;
  border:2px dashed #0a66c2;
  background:
    radial-gradient(circle at 50% 35%,rgba(14,165,233,.16),transparent 34%),
    linear-gradient(180deg,rgba(239,246,255,.98),rgba(255,255,255,.96));
  color:#0f3f7a;
  box-shadow:0 28px 80px rgba(15,23,42,.22),inset 0 0 0 8px rgba(255,255,255,.66);
  transform:scale(1.005);
}
.dropzone.drag::before{
  content:"";
  width:58px;
  height:58px;
  margin-bottom:12px;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(37,99,235,.16),inset 0 0 0 1px #bfdbfe;
}
.dropzone.drag::after{
  content:"Suelta los archivos aquí para cargarlos directamente a esta carpeta";
  display:block;
  margin-top:8px;
  color:#64748b;
  font-size:.92rem;
  font-weight:650;
}
.sidebar-collapsed .dropzone.drag{left:calc(var(--sidebar-width-collapsed) + 24px)}

.bulk-bar{
  position:fixed;bottom:-100px;left:50%;transform:translateX(-50%);width:calc(100% - 320px);max-width:820px;background:#111827;
  color:#fff;border-radius:14px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;
  box-shadow:0 -5px 20px rgba(0,0,0,.1);transition:bottom .3s ease-in-out;z-index:100
}
.bulk-bar.show{bottom:20px}
.bulk-bar-actions{display:flex;gap:10px}
.bulk-bar .btn{background:#374151;border:none;color:#fff}
.bulk-bar .btn:hover{background:#4b5563}

.preview-drawer{
  position:fixed;top:0;right:calc(-1 * var(--drawer-width));width:var(--drawer-width);height:100vh;
  background:var(--white);border-left:1px solid var(--border);box-shadow:-10px 0 30px rgba(0,0,0,.12);
  z-index:1200;display:flex;flex-direction:column;transition:right .25s ease
}
.preview-drawer.open{right:0}
.preview-resizer{
  position:absolute;left:0;top:0;transform:translateX(-50%);width:10px;height:100%;cursor:ew-resize;background:transparent;z-index:2
}
.preview-resizer::before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4px;height:64px;border-radius:999px;background:#d1d5db
}
.preview-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.preview-header h3{margin:0;font-size:1rem}
.preview-sub{color:var(--muted);font-size:.9rem;margin-top:4px}
.preview-actions{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--border)}
.preview-body{flex:1;overflow:auto;background:#f8fafc;display:flex;align-items:center;justify-content:center;padding:10px}
.preview-body iframe,.preview-body img,.preview-body video,.preview-body audio{max-width:100%;max-height:100%}
.preview-body img,.preview-body video{
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 18px 42px rgba(15,23,42,.12);
}
.preview-body video{
  width:100%;
  max-width:100%;
  max-height:calc(100vh - 240px);
  background:#000;
}
.preview-body audio{width:min(520px,92%)}
.preview-empty{padding:24px;text-align:center;color:var(--muted)}
.pdf-canvas-viewer{
  width:100%;
  height:100%;
  overflow:auto;
  padding:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  background:linear-gradient(180deg,#e9eef5 0%, #f8fafc 100%);
}
.pdf-canvas-toolbar{
  position:sticky;
  top:0;
  z-index:2;
  width:min(860px,100%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(203,213,225,.85);
  border-radius:16px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 34px rgba(15,23,42,.10);
  color:#334155;
  font-size:.88rem;
  font-weight:800;
}
.pdf-page-shell{
  width:min(860px,100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.pdf-page-shell canvas{
  max-width:100%;
  height:auto;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 38px rgba(15,23,42,.18);
}
.pdf-page-number{
  color:#64748b;
  font-size:.78rem;
  font-weight:800;
}
.pdf-load-more{
  justify-content:center;
  width:min(420px,100%);
  margin:4px auto 18px;
}
.preview-close{background:none;border:none;cursor:pointer;color:#374151}
.preview-close:hover{color:#111827}

.modal-backdrop{position:fixed;inset:0;background:rgba(17,24,39,.25);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1100}
.modal-backdrop.show{opacity:1;pointer-events:auto}

.upload-conflict-shell{
  position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:18px;
  background:rgba(15,23,42,.42);backdrop-filter:blur(5px)
}
.upload-conflict-card{
  width:min(520px,100%);padding:24px;border:1px solid var(--border);border-radius:20px;
  background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.26);text-align:center
}
.upload-conflict-symbol{
  width:48px;height:48px;margin:0 auto 12px;border:1px solid #fed7aa;border-radius:15px;
  display:grid;place-items:center;background:#fff7ed;color:#c2410c
}
.upload-conflict-symbol svg{width:22px;height:22px}
.upload-conflict-card h3{margin:0;color:#111827;font-size:1.2rem}
.upload-conflict-copy{margin:8px 0 16px;color:#475569;line-height:1.45;word-break:break-word}
.upload-conflict-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left}
.upload-conflict-grid>div{display:grid;gap:4px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.upload-conflict-grid span{color:#64748b;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.upload-conflict-grid strong{color:#111827;font-size:1rem}
.upload-conflict-grid small{color:#64748b}
.upload-conflict-help{margin:14px 0 18px;color:#64748b;font-size:.84rem;line-height:1.5}
.upload-conflict-actions{display:flex;justify-content:flex-end;gap:9px}
.upload-conflict-replace{border-color:#fecaca!important;background:#fef2f2!important;color:#b91c1c!important}

.zip-import-shell{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.58);backdrop-filter:blur(5px)}
.zip-import-card{width:min(560px,100%);padding:25px;border:1px solid #dbe7f5;border-radius:24px;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.24);text-align:center}
.zip-import-symbol{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 10px;border-radius:18px;background:#eef6ff;color:#0759c8;box-shadow:inset 0 0 0 1px #bfdbfe}
.zip-import-symbol svg{width:25px;height:25px}
.zip-import-kicker{color:#0759c8;font-size:.69rem;font-weight:950;letter-spacing:.12em}
.zip-import-card h3{margin:6px 0 8px;color:#0f172a;font-size:1.25rem}
.zip-import-copy{margin:0;color:#475569;word-break:break-word}
.zip-import-destination{display:flex;align-items:center;gap:12px;margin:18px 0 0;padding:13px 15px;border:1px solid #dbe7f5;border-radius:15px;background:#f8fbff;text-align:left}
.zip-import-destination svg{width:22px;color:#0759c8}
.zip-import-destination div{display:grid;gap:3px;min-width:0}
.zip-import-destination span{color:#64748b;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.zip-import-destination strong{overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap}
.zip-import-help{margin:15px 0 19px;color:#64748b;font-size:.86rem;line-height:1.5;text-align:left}
.zip-import-actions{display:flex;justify-content:flex-end;gap:9px}
.zip-import-extract{border-color:#2563eb!important;background:#2563eb!important;color:#fff!important}
@media(max-width:520px){
  .upload-conflict-card{padding:19px}
  .upload-conflict-grid{grid-template-columns:1fr}
  .upload-conflict-actions{display:grid;grid-template-columns:1fr 1fr}
  .zip-import-card{padding:20px;border-radius:20px}
  .zip-import-actions{display:grid;grid-template-columns:1fr 1fr}
  .zip-import-extract{grid-column:1/-1;grid-row:1}
}

.toast-wrap{
  position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:1400
}
.toast{
  min-width:280px;max-width:420px;background:#111827;color:#fff;border-radius:12px;padding:12px 14px;
  box-shadow:0 12px 30px rgba(0,0,0,.18);display:flex;align-items:flex-start;gap:10px;opacity:0;transform:translateY(10px);
  transition:opacity .18s ease, transform .18s ease
}
.toast.show{opacity:1;transform:translateY(0)}
.toast.success{background:#14532d}
.toast.warning{background:#92400e}
.toast.error{background:#7f1d1d}
.toast .icon{color:#fff}
.toast-body{flex:1}
.toast-title{font-weight:700;font-size:.92rem;margin-bottom:2px}
.toast-text{font-size:.9rem;line-height:1.4;color:rgba(255,255,255,.92)}
.toast-close{
  border:none;background:transparent;color:#fff;cursor:pointer;font-size:1rem;line-height:1;padding:0 0 0 4px
}

.i-tip{margin-top:8px;color:#6b7280;font-size:.9rem}
.muted{color:var(--muted)}
i.spin{animation:spin 1s linear infinite}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

@media (max-width:1200px){
  :root{ --drawer-width:72vw; }
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .correo-grid{grid-template-columns:1fr}
  .docs-shell.with-folder-rail{grid-template-columns:260px minmax(0,1fr)}
}
@media (max-width:980px){
  .sidebar{
    position:fixed;top:0;left:0;bottom:0;z-index:1001;transform:translateX(-100%);width:270px !important
  }
  body.sidebar-mobile-open .sidebar{transform:translateX(0)}
  .mobile-sidebar-toggle{display:grid !important}
  .search-wrap,.search-wrap:focus-within,.search-wrap.search-expanded{flex:1 1 170px;width:auto;max-width:100%}
  .search{max-width:100%}
  .header-context-menu{
    position:fixed;
    top:74px;
    left:14px;
    right:14px;
    width:auto;
    max-height:calc(100vh - 110px);
    overflow:auto;
  }
  .header-metrics-grid,.header-context-actions{grid-template-columns:1fr}
  .bulk-bar{width:calc(100% - 32px)}
  .content{padding:14px}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-grid{grid-template-columns:1fr}
  :root{ --drawer-width:100vw; }
  .docs-shell,.docs-shell.with-folder-rail{grid-template-columns:1fr}
  .folder-rail-toggle{
    display:inline-flex;
    margin-left:auto;
  }
  .folder-rail-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.28);
    z-index:1040;
  }
  body.folder-rail-open .folder-rail-backdrop{display:block}
  .folder-rail{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    width:min(380px,calc(100vw - 18px));
    padding:14px;
    background:rgba(243,246,250,.92);
    backdrop-filter:blur(16px);
    z-index:1050;
    transform:translateX(-108%);
    transition:transform .24s ease;
    overflow:auto;
  }
  body.folder-rail-open .folder-rail{transform:translateX(0)}
  .folder-rail-card{box-shadow:0 22px 50px rgba(15,23,42,.14)}
}
@media (max-width:820px){
  .preview-drawer{
    width:100vw;
    right:-100vw;
    border-left:none;
    box-shadow:none;
  }
  .preview-resizer{display:none}
  .preview-header{padding:12px 14px}
  .preview-actions{
    padding:8px 12px;
    gap:8px;
    flex-wrap:nowrap;
    overflow:auto hidden;
  }
  .preview-actions .btn{flex:0 0 auto}
  .preview-body{
    padding:0;
    background:#e9eef5;
    align-items:stretch;
    justify-content:flex-start;
  }
  .preview-body img,.preview-body video{
    width:100%;
    max-width:100%;
    max-height:calc(100vh - 170px);
    border-radius:0;
    box-shadow:none;
  }
  .preview-body iframe{
    min-height:calc(100vh - 170px);
    background:#fff;
  }
  .pdf-canvas-viewer{
    padding:12px 10px 22px;
    gap:12px;
  }
  .pdf-canvas-toolbar{
    border-radius:14px;
    font-size:.8rem;
  }
  .pdf-page-shell canvas{border-radius:10px}
}

.case-calendar-shell{overflow:hidden}
.case-calendar-head{
  align-items:center;
  gap:16px;
  padding-bottom:16px;
  border-bottom:1px solid #e8eef7;
}
.case-calendar-head p{margin:0;color:#334155;font-size:.96rem;line-height:1.35}
.case-calendar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.case-calendar-actions .btn{
  min-height:42px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.case-calendar-actions .btn-primary{
  color:#0f3f7a;
  background:linear-gradient(180deg,#f8fbff,#eef6ff);
  border-color:#bfdbfe;
}
.case-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.case-calendar-main,.case-task-panel{border:1px solid #e7eef8;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.92));box-shadow:0 20px 46px rgba(15,23,42,.08)}
.case-calendar-main{padding:14px}
.case-calendar-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:12px}
.case-day-card{min-height:84px;padding:10px;border-radius:18px;border:1px solid #e5edf7;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.case-day-card.today{border-color:rgba(0,120,212,.38);background:linear-gradient(180deg,#eff6ff,#fff)}
.case-day-name{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800}
.case-day-number{font-size:1.35rem;font-weight:900;color:#0f172a;margin-top:2px}
.case-day-count{font-size:.74rem;color:#64748b;margin-top:4px}
.case-calendar-list{display:flex;flex-direction:column;gap:10px}
.case-agenda-day{border:1px solid #e7eef8;border-radius:20px;background:#fff;overflow:hidden}
.case-agenda-day-head{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e7eef8;font-weight:900;color:#1f2a44}
.case-agenda-items{display:flex;flex-direction:column;padding:10px;gap:8px}
.case-agenda-item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:16px;border:1px solid #e8eef7;background:linear-gradient(180deg,#fff,#fbfdff)}
.case-agenda-item.audiencia{border-left:4px solid #2563eb}
.case-agenda-item.tarea{border-left:4px solid #f59e0b}
.case-agenda-item.done{opacity:.68}
.case-agenda-time{font-size:.82rem;font-weight:900;color:#0f172a}
.case-agenda-title{font-size:.94rem;font-weight:900;color:#111827}
.case-agenda-meta{font-size:.78rem;color:#64748b;margin-top:3px}
.case-agenda-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:.72rem;font-weight:900;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8}
.case-agenda-badge.task{border-color:#fde68a;background:#fffbeb;color:#b45309}
.case-agenda-menu{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.case-agenda-menu .btn{min-height:34px;padding:7px 9px;font-size:.78rem}
.case-week-grid{
  --hour-height:54px;
  display:grid;
  grid-template-columns:64px repeat(7,minmax(104px,1fr));
  border:1px solid #e5edf7;
  border-radius:22px;
  overflow:auto;
  background:#fff;
  min-height:620px;
}
.case-week-corner,.case-week-day-head,.case-week-hour,.case-week-cell{
  border-right:1px solid #e8eef7;
  border-bottom:1px solid #eef3f8;
}
.case-week-corner{
  position:sticky;
  top:0;
  left:0;
  z-index:5;
  background:#f8fafc;
}
.case-week-day-head{
  position:sticky;
  top:0;
  z-index:4;
  min-height:64px;
  padding:10px;
  background:linear-gradient(180deg,#f8fbff,#f1f5f9);
  text-align:center;
}
.case-week-day-head.today{background:linear-gradient(180deg,#eff6ff,#f8fbff);box-shadow:inset 0 -3px 0 rgba(37,99,235,.24)}
.case-week-day-head .dow{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:900}
.case-week-day-head .num{font-size:1.15rem;color:#0f172a;font-weight:950;margin-top:2px}
.case-week-hour{
  position:sticky;
  left:0;
  z-index:3;
  height:var(--hour-height);
  padding:8px 10px;
  background:#f8fafc;
  color:#64748b;
  font-size:.75rem;
  font-weight:900;
  text-align:right;
}
.case-week-cell{
  position:relative;
  min-height:var(--hour-height);
  background:linear-gradient(180deg,#fff,#fff 52%,#fbfdff);
}
.case-week-cell.today{background:linear-gradient(180deg,#f8fbff,#fff)}
.case-week-event{
  position:absolute;
  left:6px;
  right:6px;
  top:6px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:7px 8px;
  border-radius:12px;
  border:1px solid rgba(37,99,235,.18);
  background:linear-gradient(135deg,#eff6ff,#fff);
  box-shadow:0 10px 22px rgba(15,23,42,.10);
  color:#0f172a;
  overflow:hidden;
}
.case-week-event.tarea{border-color:rgba(245,158,11,.28);background:linear-gradient(135deg,#fffbeb,#fff)}
.case-week-event.done{opacity:.6}
.case-week-event-time{font-size:.68rem;font-weight:950;color:#475569}
.case-week-event-title{font-size:.76rem;font-weight:950;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.case-week-event-meta{font-size:.66rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.case-week-event-actions{display:flex;gap:4px;margin-top:4px}
.case-week-event-actions .btn{min-height:24px;padding:4px 6px;font-size:.68rem;border-radius:8px}
.case-task-panel{
  position:sticky;
  top:14px;
  padding:18px;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 6%,rgba(37,99,235,.16),transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.case-task-panel::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#0ea5e9,#2563eb 48%,#f59e0b);
}
.case-task-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.case-task-panel-head h3{margin:2px 0 0;font-size:1.05rem}
.case-task-panel-head i{
  width:38px;
  height:38px;
  padding:8px;
  border-radius:14px;
  color:#0a66c2;
  background:#eff6ff;
  box-shadow:inset 0 0 0 1px #bfdbfe,0 10px 24px rgba(37,99,235,.12);
}
.eyebrow{display:block;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#64748b}
.case-task-form{display:flex;flex-direction:column;gap:12px}
.case-task-form label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:900;color:#475569}
.case-task-form input,.case-task-form select,.case-task-form textarea{width:100%;border:1px solid #dbe5f1;border-radius:14px;padding:11px 12px;font:inherit;background:#fff;color:#111827;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.case-task-form input:focus,.case-task-form select:focus,.case-task-form textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,.12)}
.case-task-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:1100px){.case-calendar-layout{grid-template-columns:1fr}.case-task-panel{position:static}}
@media (max-width:760px){
  .case-calendar-head{align-items:stretch}
  .case-calendar-actions{justify-content:stretch}
  .case-calendar-actions .btn{flex:1 1 44%;padding:9px 10px;font-size:.84rem}
  .case-calendar-main{padding:10px;border-radius:20px}
  .case-calendar-strip{display:none}
  .case-day-card{min-width:112px}
  .case-agenda-item{grid-template-columns:1fr;gap:8px}
  .case-agenda-menu{justify-content:flex-start}
  .case-task-row{grid-template-columns:1fr}
  .case-week-grid{grid-template-columns:54px repeat(7,118px);min-height:560px;border-radius:18px}
  .case-week-hour{font-size:.68rem;padding:8px 6px}
  .case-week-day-head{padding:8px 6px}
  .case-week-event{left:4px;right:4px;padding:6px}
}


.add-process-section{display:block;min-height:calc(100vh - 120px)}
.add-process-shell{background:rgba(255,255,255,.86);border:1px solid #dbe7f6;border-radius:24px;box-shadow:0 22px 50px rgba(15,23,42,.08);overflow:hidden}
.add-process-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #e5edf7;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.add-process-kicker{color:#0759c8;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.add-process-head h2{margin:0;color:#0f172a;font-size:1.45rem;line-height:1.15}
.add-process-head p{margin:7px 0 0;color:#64748b;max-width:720px;font-weight:650;line-height:1.45}
.add-process-frame{display:block;width:100%;height:calc(100vh - 235px);min-height:620px;border:0;background:#f8fafc}
@media(max-width:820px){.add-process-head{flex-direction:column}.add-process-frame{height:calc(100vh - 260px);min-height:560px}}

.exp-transcription-launch{border-color:#bae6fd!important;background:linear-gradient(180deg,#f0f9ff,#e0f2fe)!important;color:#075985!important}
.exp-transcription-modal .modal-body{max-height:min(70vh,760px);overflow:auto}
.exp-transcription-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.exp-transcription-summary>div{display:flex;flex-direction:column;gap:3px;padding:13px 14px;border:1px solid #dbe7f4;border-radius:15px;background:linear-gradient(180deg,#fff,#f8fbff)}
.exp-transcription-summary strong{font-size:1.3rem;color:#0f172a}.exp-transcription-summary span{font-size:.76rem;color:#64748b;font-weight:800}
.exp-transcription-summary .pending{border-color:#fde68a;background:#fffbeb}.exp-transcription-summary .done{border-color:#bbf7d0;background:#f0fdf4}
.exp-transcription-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff;color:#334155;font-size:.86rem;font-weight:700}
.exp-transcription-progress{height:8px;margin:13px 0 4px;border-radius:999px;background:#e2e8f0;overflow:hidden}.exp-transcription-progress.hidden{display:none}.exp-transcription-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0284c7,#2563eb);transition:width .3s ease}
.exp-transcription-files{display:flex;flex-direction:column;gap:8px;max-height:310px;overflow:auto;margin:12px 0}
.exp-transcription-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #e5edf7;border-radius:14px;background:#fff}
.exp-transcription-file>i{width:19px;color:#64748b}.exp-transcription-file>div{min-width:0}.exp-transcription-file strong,.exp-transcription-file span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exp-transcription-file strong{font-size:.86rem;color:#172033}.exp-transcription-file span{margin-top:3px;font-size:.73rem;color:#64748b}.exp-transcription-file em{font-size:.72rem;font-style:normal;font-weight:900;color:#64748b}
.exp-transcription-file.done,.exp-transcription-file.completed{border-color:#bbf7d0;background:#f0fdf4}.exp-transcription-file.done>i,.exp-transcription-file.completed>i{color:#16a34a}.exp-transcription-file.pending{border-color:#e5edf7}.exp-transcription-file.failed{border-color:#fecaca;background:#fef2f2}.exp-transcription-file.failed>i{color:#dc2626}.exp-transcription-file.transcribing>i{color:#2563eb;animation:spin 1s linear infinite}
.exp-transcription-empty{padding:22px;border:1px dashed #cbd5e1;border-radius:14px;text-align:center;color:#64748b;background:#f8fafc}
.exp-ai-state{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:13px 14px;border:1px solid #e2e8f0;border-radius:15px;background:#f8fafc}.exp-ai-state>i{width:25px;color:#64748b}.exp-ai-state strong,.exp-ai-state span{display:block}.exp-ai-state strong{font-size:.88rem;color:#172033}.exp-ai-state span{margin-top:3px;font-size:.76rem;color:#64748b}.exp-ai-state.ready{border-color:#86efac;background:#f0fdf4}.exp-ai-state.ready>i{color:#16a34a}.exp-ai-state.stale{border-color:#fde68a;background:#fffbeb}.exp-ai-state.stale>i{color:#d97706}
.exp-transcription-note{margin-top:11px;padding:10px 12px;border-radius:12px;background:#f8fafc;color:#64748b;font-size:.76rem;line-height:1.45}.exp-transcription-footer{flex-wrap:wrap}.exp-transcription-footer #btnCancelExpedienteTranscription{margin-right:auto;color:#b91c1c;border-color:#fecaca}.exp-transcription-footer .hidden{display:none}
@media(max-width:760px){.exp-transcription-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.exp-transcription-toolbar{align-items:stretch;flex-direction:column}.exp-transcription-toolbar .btn{width:100%}.exp-transcription-footer .btn{flex:1 1 46%}}
@media(max-width:760px){.header-transcription-cta{width:40px;min-width:40px;padding:8px;justify-content:center}.header-transcription-cta span{display:none}}
