@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* ========================================================================
   DataContratos CO 2.0 — estilos encapsulados para WordPress
   Conserva la capa móvil del plugin anterior y añade Workspace/Expedientes.
   ======================================================================== */
#datacontratos-wrapper,
#datacontratos-wrapper * { box-sizing:border-box; }
#datacontratos-wrapper { width:100%; max-width:100%; min-width:0; font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
#datacontratos-wrapper .dc-root,
#datacontratos-wrapper .dc-main,
#datacontratos-wrapper .dc-shell,
#datacontratos-wrapper .dc-card,
#datacontratos-wrapper .dc-table-scroll { min-width:0; max-width:100%; }
#datacontratos-wrapper button,
#datacontratos-wrapper input,
#datacontratos-wrapper select,
#datacontratos-wrapper a { -webkit-tap-highlight-color:transparent; }
#datacontratos-wrapper button,
#datacontratos-wrapper select,
#datacontratos-wrapper input[type="date"] { min-height:44px; }
#datacontratos-wrapper .dc-table-scroll { -webkit-overflow-scrolling:touch; overscroll-behavior-inline:contain; }

/* Navegación: conserva el aspecto del plugin móvil anterior. */
#datacontratos-wrapper .nav { color:#475569; }
#datacontratos-wrapper .nav .nav-ic { background:#f1f5f9; color:#64748b; }
#datacontratos-wrapper .nav.active { background:#2563eb; border-color:#2563eb!important; color:#fff; box-shadow:0 4px 6px -1px rgba(37,99,235,.2); }
#datacontratos-wrapper .nav.active .nav-ic { background:rgba(255,255,255,.2); color:#fff; }

/* Toast */
#datacontratos-wrapper .dc-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px); background:#0f172a; color:#fff; padding:12px 20px; border-radius:12px; opacity:0; pointer-events:none; transition:.25s; font-size:14px; z-index:99999; box-shadow:0 8px 24px rgba(0,0,0,.2); max-width:min(92vw,560px); text-align:center; }
#datacontratos-wrapper .dc-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
#datacontratos-wrapper .dc-toast.ok { background:#059669; }
#datacontratos-wrapper .dc-toast.err { background:#dc2626; }

/* Gráficos y señales */
#datacontratos-wrapper .bar-row { display:grid; grid-template-columns:minmax(120px,190px) 1fr auto; align-items:center; gap:10px; margin-bottom:8px; font-size:13px; }
#datacontratos-wrapper .bar-lab { color:#475569; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#datacontratos-wrapper .bar-track { background:#f1f5f9; border-radius:8px; height:22px; overflow:hidden; }
#datacontratos-wrapper .bar-fill { height:100%; border-radius:8px; background:linear-gradient(90deg,#3b82f6,#2563eb); min-width:2px; transition:width .4s; }
#datacontratos-wrapper .bar-val { color:#0f172a; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
#datacontratos-wrapper .flag { display:flex; gap:12px; align-items:flex-start; padding:12px 14px; border-radius:12px; border:1px solid; margin-bottom:8px; }
#datacontratos-wrapper .flag-hi { background:#fef2f2; border-color:#fecaca; }
#datacontratos-wrapper .flag-md { background:#fffbeb; border-color:#fde68a; }
#datacontratos-wrapper .flag-ok { background:#f0fdf4; border-color:#bbf7d0; }
#datacontratos-wrapper .flag-ic { width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:15px; }
#datacontratos-wrapper .hhi-hi { background:#fee2e2; color:#b91c1c; }
#datacontratos-wrapper .hhi-md { background:#fef3c7; color:#b45309; }
#datacontratos-wrapper .hhi-ok { background:#dcfce7; color:#15803d; }

/* Workspace */
#datacontratos-wrapper .ws-tabs { display:flex; gap:4px; flex-wrap:wrap; border-bottom:2px solid #e2e8f0; margin:12px 0 18px; }
#datacontratos-wrapper .ws-tab { padding:8px 14px; font-weight:600; color:#64748b; border:0; background:transparent; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; font-size:14px; }
#datacontratos-wrapper .ws-tab:hover { color:#0f172a; }
#datacontratos-wrapper .ws-tab.on { color:#2563eb; border-bottom-color:#2563eb; }
#datacontratos-wrapper .kv { display:grid; grid-template-columns:210px 1fr; gap:6px 16px; font-size:14px; }
#datacontratos-wrapper .kv dt { color:#64748b; font-weight:600; }
#datacontratos-wrapper .kv dd { margin:0; }
#datacontratos-wrapper .state-pill { display:inline-flex; align-items:center; gap:6px; padding:4px 12px; border-radius:999px; font-weight:700; font-size:13px; }
#datacontratos-wrapper .st-exec { background:#dbeafe; color:#1e40af; }
#datacontratos-wrapper .st-liq { background:#dcfce7; color:#15803d; }
#datacontratos-wrapper .st-term { background:#e2e8f0; color:#475569; }
#datacontratos-wrapper .st-other { background:#fef3c7; color:#92400e; }
#datacontratos-wrapper .qbtn { display:flex; align-items:center; gap:8px; padding:10px 14px; border-radius:12px; font-weight:600; font-size:13px; border:1px solid #e2e8f0; background:#fff; color:#0f172a; text-decoration:none; transition:.15s; }
#datacontratos-wrapper .qbtn:hover { background:#f8fafc; border-color:#cbd5e1; }
#datacontratos-wrapper .qbtn-dis { opacity:.45; cursor:not-allowed; pointer-events:none; }
#datacontratos-wrapper .mini { background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:12px; min-width:0; }
#datacontratos-wrapper .mini b { display:block; font-size:15px; overflow-wrap:anywhere; }
#datacontratos-wrapper .mini span { color:#64748b; font-size:11px; text-transform:uppercase; letter-spacing:.03em; }
#datacontratos-wrapper .clause { border:1px solid #e2e8f0; border-radius:12px; padding:12px 14px; margin-bottom:8px; background:#fff; cursor:pointer; }
#datacontratos-wrapper .clause:hover { background:#f8fafc; }
#datacontratos-wrapper .clause-body { margin-top:10px; padding:12px; background:#f8fafc; border-radius:10px; font-size:14px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
#datacontratos-wrapper .drop { border:2px dashed #cbd5e1; border-radius:12px; padding:22px; text-align:center; cursor:pointer; background:#f8fafc; transition:.15s; }
#datacontratos-wrapper .drop.over { border-color:#2563eb; background:#eff6ff; transform:scale(1.01); }
#datacontratos-wrapper .prog { height:8px; background:#e2e8f0; border-radius:6px; overflow:hidden; margin-top:8px; }
#datacontratos-wrapper .prog>div { height:100%; background:#2563eb; width:0; transition:width .2s; }
#datacontratos-wrapper .chip { display:inline-block; padding:2px 8px; border-radius:8px; font-size:12px; font-weight:700; }
#datacontratos-wrapper .chip-secop { background:#e0f2fe; color:#0369a1; }
#datacontratos-wrapper .chip-user { background:#dcfce7; color:#15803d; }
#datacontratos-wrapper .chip-cat { background:#eef2ff; color:#4338ca; }
#datacontratos-wrapper .chip-per { background:#fef3c7; color:#92400e; }

/* Scrollbars discretos */
#datacontratos-wrapper .dc-table-scroll,
#datacontratos-wrapper #menu { scrollbar-width:thin; scrollbar-color:#cbd5e1 transparent; }
#datacontratos-wrapper .dc-table-scroll::-webkit-scrollbar,
#datacontratos-wrapper #menu::-webkit-scrollbar { width:8px; height:8px; }
#datacontratos-wrapper .dc-table-scroll::-webkit-scrollbar-thumb,
#datacontratos-wrapper #menu::-webkit-scrollbar-thumb { background:#cbd5e1; border-radius:10px; }

/* Tablet */
@media (max-width:1023px) {
  #datacontratos-wrapper .dc-shell { grid-template-columns:minmax(0,1fr)!important; }
  #datacontratos-wrapper .dc-sidebar,
  #datacontratos-wrapper .dc-main { width:100%; min-width:0; }
}

/* Móvil: conserva la solución probada del ZIP anterior. */
@media (max-width:767px) {
  #datacontratos-wrapper .dc-header { position:relative!important; top:auto!important; border-radius:14px 14px 0 0!important; }
  #datacontratos-wrapper .dc-header-inner { padding:12px!important; gap:10px!important; }
  #datacontratos-wrapper .dc-header-actions { gap:8px!important; }
  #datacontratos-wrapper .dc-entity-badge { width:100%!important; max-width:100%; }
  #datacontratos-wrapper .dc-entity-badge span,
  #datacontratos-wrapper #entityName { min-width:0; white-space:normal!important; overflow-wrap:anywhere; }

  #datacontratos-wrapper .dc-period-filter { width:100%; display:grid!important; grid-template-columns:1fr 1fr; gap:7px!important; padding:9px!important; }
  #datacontratos-wrapper .dc-period-filter.hidden { display:none!important; }
  #datacontratos-wrapper .dc-period-filter > span:first-child { grid-column:1 / -1; }
  #datacontratos-wrapper .dc-period-filter .dc-period-dash { display:none; }
  #datacontratos-wrapper .dc-period-filter button { grid-column:1 / -1; width:100%; margin-left:0!important; }
  #datacontratos-wrapper .dc-period-filter input[type="date"] { border:1px solid rgba(255,255,255,.18); border-radius:8px; padding:4px 7px; }
  #datacontratos-wrapper .dc-header-buttons { width:100%; }

  #datacontratos-wrapper .dc-shell { padding:8px!important; gap:10px!important; overflow:hidden; }
  #datacontratos-wrapper .dc-sidebar { padding:8px!important; border-radius:14px!important; }

  #datacontratos-wrapper #menu.dc-menu { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px!important; overflow:visible!important; padding:0!important; margin-top:4px!important; }
  #datacontratos-wrapper #menu .dc-nav { width:100%!important; min-width:0!important; padding:9px 8px!important; min-height:52px; justify-content:flex-start!important; gap:5px!important; border-radius:10px!important; }
  #datacontratos-wrapper #menu .dc-nav > div { min-width:0; gap:7px!important; }
  #datacontratos-wrapper #menu .dc-nav span:not(#sampleCountBadge) { min-width:0; white-space:normal!important; overflow-wrap:anywhere; font-size:12px!important; line-height:1.15; }
  #datacontratos-wrapper #menu .nav-ic { width:28px!important; height:28px!important; min-width:28px; }

  #datacontratos-wrapper .dc-card { min-height:0!important; padding:14px!important; margin-bottom:10px!important; border-radius:14px!important; }
  #datacontratos-wrapper .dc-card h2 { font-size:18px!important; line-height:1.2!important; }

  /* 16 px evita zoom automático de Safari/iOS. */
  #datacontratos-wrapper input,
  #datacontratos-wrapper select,
  #datacontratos-wrapper textarea { width:100%; max-width:100%; min-width:0!important; font-size:16px!important; }
  #datacontratos-wrapper input[type="date"] { appearance:auto; -webkit-appearance:none; }

  /* Tablas principales, muestra y workspace pasan a tarjetas verticales. */
  #datacontratos-wrapper .dc-table-scroll { max-height:none!important; overflow:visible!important; border:0!important; box-shadow:none!important; background:transparent!important; border-radius:0!important; }
  #datacontratos-wrapper .dc-data-table,
  #datacontratos-wrapper .dc-data-table tbody,
  #datacontratos-wrapper .dc-data-table tr,
  #datacontratos-wrapper .dc-data-table td { display:block; width:100%!important; min-width:0!important; max-width:100%!important; }
  #datacontratos-wrapper .dc-data-table { min-width:0!important; white-space:normal!important; }
  #datacontratos-wrapper .dc-data-table thead { display:none; }
  #datacontratos-wrapper .dc-data-table tbody { display:grid; gap:10px; }
  #datacontratos-wrapper .dc-data-table tbody tr { overflow:hidden; border:1px solid #dbe3ec; border-radius:14px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.05); }
  #datacontratos-wrapper .dc-data-table tbody td { display:grid; grid-template-columns:minmax(76px,30%) minmax(0,1fr); gap:10px; align-items:start; padding:10px 12px!important; border:0; border-bottom:1px solid #eef2f7; text-align:left!important; overflow:visible!important; text-overflow:clip!important; white-space:normal!important; overflow-wrap:anywhere; }
  #datacontratos-wrapper .dc-data-table tbody td:last-child { border-bottom:0; }
  #datacontratos-wrapper .dc-data-table tbody td::before { content:attr(data-label); color:#64748b; font-size:10px; line-height:1.25; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
  #datacontratos-wrapper .dc-data-table .dc-row-actions { width:100%; display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px!important; }
  #datacontratos-wrapper .dc-data-table .dc-row-actions button,
  #datacontratos-wrapper .dc-data-table td > a,
  #datacontratos-wrapper .dc-data-table td > button { width:100%; min-height:40px; justify-content:center; }
  #datacontratos-wrapper .dc-sample-table input { min-width:0!important; }

  #datacontratos-wrapper .bar-row { grid-template-columns:minmax(86px,112px) 1fr auto; gap:7px; }
  #datacontratos-wrapper .flag { flex-wrap:wrap; }
  #datacontratos-wrapper .flag > button { width:100%; }
  #datacontratos-wrapper .ws-tabs { flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; }
  #datacontratos-wrapper .ws-tab { flex:0 0 auto; padding:8px 11px; }
  #datacontratos-wrapper .kv { grid-template-columns:1fr; }
  #datacontratos-wrapper .qbtn { width:100%; justify-content:flex-start; }
  #datacontratos-wrapper .clause > div:first-child { flex-wrap:wrap; }
  #datacontratos-wrapper .drop { padding:18px 12px; }
  #datacontratos-wrapper footer { padding-inline:10px!important; line-height:1.45; }
}

@media (max-width:380px) {
  #datacontratos-wrapper #menu.dc-menu { grid-template-columns:1fr; }
  #datacontratos-wrapper .dc-period-filter { grid-template-columns:1fr; }
  #datacontratos-wrapper .dc-period-filter > * { grid-column:1!important; }
}
