/* ============================================================
   TRACEHOLD — Screen-specific styles
   Incidentes · Threat hunting · Enforcement · Listas
   Simulador · Mapa · Mi panel
   ============================================================ */

.searchbox.sm{max-width:none;flex:1;padding:6px 11px;}
.sev-rail-critical{background:var(--coral-500);}
.sev-rail-high{background:var(--amber-500);}
.sev-rail-medium{background:var(--blue-500);}
.sev-rail-low{background:var(--teal-500);}
.spin{animation:kl-spin .7s linear infinite;}
.row-flash-once{animation:kl-rowfade .5s var(--ease-out) both;}
@keyframes kl-rowfade{from{opacity:0;transform:translateY(-3px);}to{opacity:1;transform:none;}}

/* ====================== INCIDENTES ====================== */
.inc-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px;}
.inc-layout{display:grid;grid-template-columns:380px 1fr;gap:16px;align-items:start;}
.inc-list-pane{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--sh-sm);position:sticky;top:72px;max-height:calc(100vh - 92px);}
.inc-list-tools{padding:12px;border-bottom:1px solid var(--divider);}
.inc-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:7px;}
.inc-card{position:relative;text-align:left;width:100%;cursor:pointer;flex-shrink:0;padding:11px 12px 11px 15px;border-radius:11px;border:1px solid var(--border);background:var(--surface);transition:border-color .14s,background .14s,transform .1s;overflow:hidden;}
.inc-card:hover{border-color:var(--border-strong);background:var(--surface-hover);}
.inc-card.sel{border-color:var(--accent);background:var(--accent-softer);box-shadow:0 0 0 1px var(--accent) inset;}
.inc-sev-rail{position:absolute;left:0;top:0;bottom:0;width:4px;}
.inc-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;}
.inc-card-title{font-size:13px;font-weight:600;color:var(--text-strong);line-height:1.35;margin-bottom:9px;}
.inc-card-foot{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.inc-card-foot .meta{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);}
.inc-card-foot .meta.time{margin-left:auto;color:var(--text-subtle);font-family:var(--font-mono);font-size:10.5px;}
.inc-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);}
.inc-status .dot{width:6px;height:6px;border-radius:50%;}
.inc-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-sm);}
.inc-detail.empty-detail{display:grid;place-items:center;min-height:420px;}
.inc-detail-head{border-bottom:1px solid var(--divider);padding-bottom:16px;margin-bottom:18px;}
.inc-metarow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px;}
.inc-metarow>span{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted);}
.inc-metarow svg{color:var(--text-subtle);}
.inc-scoregrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
.inc-mini{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:13px 14px;}
.inc-mini-lbl{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-subtle);}
.inc-mini-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface-sunken);color:var(--text-muted);flex-shrink:0;}
.inc-score-bar{margin-top:10px;height:6px;border-radius:999px;background:var(--surface-sunken);overflow:hidden;}
.inc-score-bar span{display:block;height:100%;border-radius:999px;transition:width 1s var(--ease-out);}
.inc-sec{margin-bottom:20px;}
.inc-summary{font-size:13.5px;line-height:1.65;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px 16px;}
.inc-summary b{color:var(--text-strong);font-weight:650;}
.inc-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.inc-related{display:flex;align-items:center;gap:10px;padding:9px 11px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;}
.inc-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;border-top:1px solid var(--divider);padding-top:18px;}
@media(max-width:1200px){
  .inc-layout{grid-template-columns:1fr;}
  .inc-list-pane{position:static;max-height:none;}
  .inc-list{max-height:420px;}
  .inc-cols{grid-template-columns:1fr;}
  .inc-kpis{grid-template-columns:repeat(2,1fr);}
  .inc-scoregrid{grid-template-columns:1fr 1fr;}
}

/* ====================== THREAT HUNTING ====================== */
.hunt-console{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px;margin-bottom:16px;box-shadow:var(--sh-sm);}
.hunt-qrow{display:flex;align-items:stretch;gap:9px;}
.hunt-prompt{display:flex;align-items:center;padding:0 12px;border-radius:9px;background:var(--navy-800);color:var(--teal-300);font-size:12px;font-weight:700;letter-spacing:.05em;flex-shrink:0;}
[data-theme="dark"] .hunt-prompt{background:#0b1426;}
.hunt-input{flex:1;min-width:0;height:42px;padding:0 14px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface-sunken);color:var(--text-strong);font-size:13px;transition:border-color .15s,box-shadow .15s;}
.hunt-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);background:var(--surface);}
.hunt-qrow .kl-select{height:42px;}
.hunt-qrow .btn{height:42px;}
.hunt-fields{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:11px;}
.hunt-fields .hf-lbl{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);margin-right:2px;}
.hunt-fields .hf{font-family:var(--font-mono);font-size:11px;padding:3px 9px;border-radius:7px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;transition:all .12s;}
.hunt-fields .hf:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-softer);}
.hunt-main{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start;}
.hunt-saved{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px;box-shadow:var(--sh-sm);position:sticky;top:72px;}
.hunt-saved-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border-radius:10px;border:1px solid transparent;background:transparent;cursor:pointer;transition:background .12s,border-color .12s;margin-bottom:3px;}
.hunt-saved-item:hover{background:var(--surface-hover);}
.hunt-saved-item.on{background:var(--accent-softer);border-color:var(--accent-soft);}
.hunt-saved-item .st{color:var(--amber-500);flex-shrink:0;}
.hunt-saved-item .hits{font-size:11px;font-weight:700;color:var(--text-muted);background:var(--surface-sunken);padding:2px 7px;border-radius:999px;flex-shrink:0;}
.hunt-statbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:12px;padding:0 2px;}
.hunt-stat{display:flex;align-items:center;gap:8px;}
.hunt-stat .dot{width:9px;height:9px;border-radius:3px;}
.hunt-stat .v{font-size:19px;font-weight:700;color:var(--text-strong);letter-spacing:-.02em;}
.hunt-stat .l{font-size:12px;color:var(--text-muted);}
.hunt-hist{display:flex;align-items:flex-end;gap:2px;height:90px;}
.hunt-hist .hb{flex:1;height:100%;display:flex;align-items:flex-end;position:relative;cursor:pointer;}
.hunt-hist .hb .bar{width:100%;border-radius:2px 2px 0 0;background:var(--accent);transition:opacity .12s,height .5s var(--ease-out);}
.hunt-hist .hb-tip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:5px;white-space:nowrap;background:var(--navy-800);color:#fff;font-size:11px;padding:3px 8px;border-radius:6px;z-index:3;}
@media(max-width:1100px){
  .hunt-main{grid-template-columns:1fr;}
  .hunt-saved{position:static;}
  .hunt-qrow{flex-wrap:wrap;}
  .hunt-input{flex-basis:100%;order:-1;}
}

/* ====================== ENFORCEMENT ====================== */
.enf-stance{display:flex;gap:18px;align-items:stretch;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--sh-sm);flex-wrap:wrap;}
.enf-stance-main{display:flex;align-items:center;gap:14px;flex:1;min-width:340px;}
.enf-stance-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);flex-shrink:0;}
.enf-stance .seg button{display:inline-flex;align-items:center;gap:5px;}
.enf-stance-stats{display:flex;gap:26px;align-items:center;padding-left:18px;border-left:1px solid var(--divider);}
.enf-stance-stats .es .v{font-size:22px;font-weight:700;color:var(--text-strong);letter-spacing:-.02em;}
.enf-stance-stats .es .l{font-size:11.5px;color:var(--text-muted);margin-top:1px;}
.enf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.enf-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;box-shadow:var(--sh-sm);transition:border-color .15s,transform .15s;}
.enf-card:hover{border-color:var(--border-strong);transform:translateY(-2px);}
.enf-card-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:14px;}
.enf-card-ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--surface-sunken);color:var(--text-muted);flex-shrink:0;}
.enf-cov{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.enf-cov-bar{flex:1;height:7px;border-radius:999px;background:var(--surface-sunken);overflow:hidden;}
.enf-cov-bar span{display:block;height:100%;border-radius:999px;transition:width .9s var(--ease-out);}
.enf-cov-val{font-size:12.5px;font-weight:700;color:var(--text-strong);min-width:38px;text-align:right;}
.enf-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.enf-fail{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:4px 9px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;transition:all .14s;}
.enf-fail.closed{color:var(--green-700);background:var(--green-100);border-color:transparent;}
@media(max-width:1100px){.enf-grid{grid-template-columns:1fr;}.enf-stance-stats{border-left:none;padding-left:0;}}

/* ====================== LISTAS ====================== */
.lists-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.lists-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .14s;}
.lists-tab:hover{border-color:var(--border-strong);color:var(--text-strong);}
.lists-tab.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);}
.lists-tab .n{font-family:var(--font-mono);font-size:11px;padding:1px 7px;border-radius:999px;background:var(--surface-sunken);}
.lists-tab.on .n{background:rgba(var(--accent-rgb),.18);}
.list-ico{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--surface-sunken);color:var(--text-muted);flex-shrink:0;}
.list-type{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:var(--r-pill);}
.list-type .dot{width:6px;height:6px;border-radius:50%;}

/* ====================== SIMULADOR ====================== */
.sim-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:18px;align-items:start;}
.sim-input{width:100%;border-radius:11px;border:1px solid var(--border-strong);background:var(--surface-sunken);color:var(--text-strong);font-size:13px;line-height:1.6;padding:13px 15px;resize:vertical;transition:border-color .15s,box-shadow .15s;}
.sim-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);background:var(--surface);}
.sim-ctx{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.sim-ctx label{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:5px;}
.sim-ctx .kl-select{width:100%;}
.sim-verdict{display:flex;align-items:center;gap:14px;border-radius:var(--r-lg);padding:16px 18px;margin-bottom:14px;border:1px solid;}
.sim-verdict .sv-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;color:#fff;}
.sim-verdict .sv-action{font-size:16px;font-weight:650;color:var(--text-strong);letter-spacing:-.01em;}
.sim-verdict .sv-sub{font-size:12.5px;color:var(--text-muted);margin-top:2px;}
.sim-verdict .sv-sub b{color:var(--text-strong);}
.sim-verdict.block{background:var(--coral-100);border-color:color-mix(in srgb,var(--coral-500) 30%,transparent);}
.sim-verdict.block .sv-ico{background:var(--coral-500);}
.sim-verdict.redact{background:var(--violet-100);border-color:color-mix(in srgb,var(--violet-500) 30%,transparent);}
.sim-verdict.redact .sv-ico{background:var(--violet-500);}
.sim-verdict.warn{background:var(--amber-100);border-color:color-mix(in srgb,var(--amber-500) 30%,transparent);}
.sim-verdict.warn .sv-ico{background:var(--amber-500);}
.sim-verdict.allow{background:var(--green-100);border-color:color-mix(in srgb,var(--green-500) 30%,transparent);}
.sim-verdict.allow .sv-ico{background:var(--green-500);}
.sim-preview{font-size:12.5px;line-height:1.85;color:var(--text);background:var(--surface-sunken);border-radius:10px;padding:13px 15px;white-space:pre-wrap;word-break:break-word;}
.sim-hl{padding:1px 4px;border-radius:4px;font-weight:600;}
.sim-hl.sev-critical{background:var(--coral-200);color:var(--coral-700);}
.sim-hl.sev-high{background:var(--amber-100);color:var(--amber-700);}
.sim-hl.sev-medium{background:var(--blue-100);color:var(--blue-600);}
.sim-hl.sev-low{background:var(--teal-100);color:var(--teal-700);}
@media(max-width:1100px){.sim-layout{grid-template-columns:1fr;}}

/* ====================== MAPA DE DATOS ====================== */
.map-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.map-grid{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:stretch;}
.map-canvas{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px;box-shadow:var(--sh-sm);overflow:hidden;min-height:480px;background-image:radial-gradient(var(--bg-grid) 1px,transparent 1px);background-size:22px 22px;}
.map-colhdr{position:absolute;top:16px;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);z-index:2;}
.map-colhdr.left{left:20px;}
.map-colhdr.center{left:50%;transform:translateX(-50%);color:var(--accent-strong);}
.map-colhdr.right{right:20px;}
.map-svg{width:100%;height:auto;display:block;margin-top:6px;}
.map-flow{stroke-dasharray:5 11;animation:map-dash 1s linear infinite;}
@keyframes map-dash{to{stroke-dashoffset:-16;}}
@media(prefers-reduced-motion:reduce){.map-flow{animation:none;stroke-dasharray:none;}}
.map-glow{animation:map-pulse 3s ease-in-out infinite;transform-origin:center;transform-box:fill-box;}
@keyframes map-pulse{0%,100%{opacity:.5;}50%{opacity:1;}}
.map-engine{filter:drop-shadow(0 4px 14px rgba(var(--accent-rgb),.4));}
.map-node{transition:r .2s;}
.map-node.prov{animation:map-bob 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center;}
@keyframes map-bob{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}
.map-label{font-family:var(--font-sans);font-size:12px;font-weight:600;fill:var(--text-strong);}
.map-scan{transform-box:fill-box;transform-origin:center;animation:map-scan 3.4s ease-out infinite;}
@keyframes map-scan{0%{transform:scale(.7);opacity:.35;}70%{transform:scale(1.5);opacity:0;}100%{opacity:0;}}
.map-legend{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:16px;z-index:2;padding:7px 14px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);border-radius:var(--r-pill);box-shadow:var(--sh-sm);backdrop-filter:blur(4px);}
.map-leg-item{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-muted);white-space:nowrap;}
.map-leg-item .dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 5px currentColor;}
.map-feed{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;max-height:480px;}
.map-feed-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--border) transparent;}
.map-feed-list::-webkit-scrollbar{width:4px;}.map-feed-list::-webkit-scrollbar-track{background:transparent;}.map-feed-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}
.map-feed-item{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);}
.map-feed-item.fresh{animation:kl-rowfade .5s var(--ease-out) both;border-color:var(--accent-soft);background:var(--accent-softer);}
@media(max-width:1100px){.map-grid{grid-template-columns:1fr;}.map-kpis{grid-template-columns:repeat(2,1fr);}}

/* ====================== FUNNEL ====================== */
.funnel{display:flex;flex-direction:column;gap:14px;padding:8px 0;}
.fn-bar{height:40px;border-radius:9px;display:flex;align-items:center;justify-content:flex-end;padding:0 12px;min-width:60px;transition:width 1s var(--ease-out);}
.fn-val{color:#fff;font-size:14px;font-weight:700;}
.fn-lbl{font-size:12px;color:var(--text-muted);margin-top:5px;}

/* ====================== MI PANEL ====================== */
.mp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
.mp-head-actions{display:flex;gap:8px;flex-wrap:wrap;}
.mp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start;}
.mp-widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px;box-shadow:var(--sh-sm);transition:box-shadow .2s,transform .15s,border-color .15s;overflow:hidden;}
.mp-widget.span-1{grid-column:span 1;}
.mp-widget.span-2{grid-column:span 2;}
.mp-grid.editing .mp-widget{border-style:dashed;border-color:var(--border-strong);cursor:grab;}
.mp-grid.editing .mp-widget:active{cursor:grabbing;transform:scale(.99);}
.mp-widget-head{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.mp-widget-head .wh-ico{color:var(--accent);flex-shrink:0;}
.mp-widget-head .wh-title{font-size:13px;font-weight:650;color:var(--text-strong);flex:1;}
.mp-grip{color:var(--text-subtle);cursor:grab;}
.mp-remove{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;border:none;background:var(--coral-100);color:var(--coral-600);cursor:pointer;transition:background .12s;}
.mp-remove:hover{background:var(--coral-200);}
.mp-stat{position:relative;}
.mp-stat-top{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.mp-stat-ico{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;}
.mp-stat-label{font-size:12.5px;font-weight:600;color:var(--text-muted);}
.mp-stat-val{font-size:var(--fs-4xl);font-weight:650;letter-spacing:-.035em;color:var(--text-strong);line-height:1;font-variant-numeric:tabular-nums;}
.mp-stat-foot{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;}
.mp-stat-foot .since{color:var(--text-subtle);}
.mp-stat-spark{margin:14px -18px -18px;height:38px;opacity:.9;}
.mp-feed{display:flex;flex-direction:column;gap:6px;}
.mp-feed-item{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:9px;background:var(--surface-2);border:1px solid var(--border);}
.mp-feed-item.fresh{animation:kl-rowfade .5s var(--ease-out) both;border-color:var(--accent-soft);background:var(--accent-softer);}
.mp-gallery{display:flex;flex-direction:column;gap:8px;}
.mp-gallery-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;text-align:left;transition:border-color .14s,background .14s;}
.mp-gallery-item:hover{border-color:var(--accent);background:var(--accent-softer);}
.mp-gallery-item .mg-ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--surface-sunken);color:var(--accent);flex-shrink:0;}
.mp-gallery-item .mg-title{font-size:13.5px;font-weight:600;color:var(--text-strong);}
.mp-gallery-item .mg-meta{font-size:11.5px;color:var(--text-muted);margin-top:1px;}
.mp-gallery-item .mg-add{color:var(--text-subtle);flex-shrink:0;}
.mp-gallery-item:hover .mg-add{color:var(--accent);}
@media(max-width:1200px){.mp-grid{grid-template-columns:repeat(2,1fr);}.mp-widget.span-2{grid-column:span 2;}}
@media(max-width:680px){.mp-grid{grid-template-columns:1fr;}.mp-widget.span-2{grid-column:span 1;}}

/* ====================== DESCARGAS — NUEVA UI ====================== */
.dep-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;margin-top:16px;align-items:start;}
.dep-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;}
.dep-sub{font-size:12.5px;color:var(--text-muted);margin-bottom:13px;}
.token-field{display:flex;align-items:center;gap:9px;padding:9px 10px 9px 12px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-sunken);}
.token-field .tk-ico{color:var(--accent);flex-shrink:0;}
.token-field .tk-val{flex:1;font-family:var(--font-mono);font-size:13.5px;font-weight:600;color:var(--text-strong);letter-spacing:.06em;}
.token-field .tk-copy{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:var(--r-xs);background:var(--surface);border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .14s;flex-shrink:0;}
.token-field .tk-copy:hover{color:var(--accent);border-color:var(--accent);}
.dep-os{margin:14px 0 10px;}
.code-block{position:relative;background:var(--navy-900,#0f1730);border:1px solid var(--border);border-radius:var(--r-sm);padding:14px 15px;overflow:hidden;}
[data-theme="dark"] .code-block{background:#0a1020;}
.code-block pre{margin:0;font-family:var(--font-mono);font-size:12.5px;line-height:1.7;color:#d7e0f2;white-space:pre-wrap;word-break:break-word;}
.code-block .code-prompt{color:var(--accent-strong,#b9a2f9);font-weight:700;}
[data-theme="dark"] .code-block .code-prompt{color:#b9a2f9;}
.code-copy{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:var(--r-xs);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);font-size:11.5px;font-weight:600;color:#b0bcd4;cursor:pointer;transition:all .14s;}
.code-copy:hover{background:rgba(255,255,255,.14);color:#fff;}
.mass-list{display:flex;flex-direction:column;gap:6px;}
.mass-row{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .14s;width:100%;text-align:left;}
.mass-row:hover{border-color:var(--accent);background:var(--accent-softer);}
.mass-ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--surface-sunken);color:var(--text-muted);flex-shrink:0;}
.mass-row:hover .mass-ico{color:var(--accent);}
.mass-n{font-size:13px;font-weight:600;color:var(--text-strong);}
.mass-m{font-size:11px;color:var(--text-subtle);margin-top:1px;}
.mass-chev{color:var(--text-subtle);flex-shrink:0;transition:transform .14s;}
.mass-row:hover .mass-chev{transform:translateX(2px);color:var(--accent);}
.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;}
.dl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:13px;transition:border-color .15s,transform .15s,box-shadow .15s;}
.dl-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--sh-md,var(--sh-lg));}
.dl-card-top{display:flex;align-items:center;gap:12px;}
.dl-glyph{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex-shrink:0;}
.dl-name{font-size:14.5px;font-weight:650;color:var(--text-strong);}
.dl-sub{font-size:11.5px;color:var(--text-subtle);margin-top:1px;}
.dl-note{font-size:12px;color:var(--text-muted);line-height:1.45;min-height:34px;}
/* La tabla (specs) + arquitectura + botón se anclan al fondo: la nota se
   muestra íntegra y el bloque inferior queda alineado entre todas las tarjetas. */
.dl-spec{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 14px;padding:12px 0;border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);margin-top:auto;}
.dl-spec-cell{display:flex;flex-direction:column;gap:2px;min-width:0;min-height:34px;}
.dl-spec-l{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);}
.dl-spec-v{font-size:12.5px;font-weight:600;color:var(--text-strong);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:4px;min-width:0;}
.dl-spec-v.ok{color:var(--green-600);}
.dl-spec-v.empty{color:var(--text-subtle);font-weight:500;}
.dl-spec-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.dl-arch{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.dl-arch-lbl{font-size:11px;font-weight:600;color:var(--text-muted);flex-shrink:0;}
.dl-arch .seg{flex:1;}
.dl-arch .seg button{flex:1;min-width:0;padding:4px 9px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dl-foot{display:flex;align-items:center;gap:8px;padding-top:2px;}
.dl-foot .btn{height:38px;}
.dl-fmt{font-family:var(--font-mono);font-size:10.5px;font-weight:600;opacity:.7;margin-left:2px;}
.dl-ib{border:1px solid var(--border);flex-shrink:0;width:38px;height:38px;}
.dl-ib:hover{color:var(--accent);border-color:var(--accent);}
.ver-list{display:flex;flex-direction:column;}
.ver-row{display:flex;align-items:center;gap:13px;padding:13px 16px;border-bottom:1px solid var(--divider);}
.ver-row:last-child{border-bottom:none;}
.ver-tag{font-size:13px;font-weight:700;color:var(--text-strong);width:54px;flex-shrink:0;}
.ver-desc{flex:1;font-size:12.5px;color:var(--text-muted);min-width:0;}
.ver-when{font-size:11.5px;color:var(--text-subtle);white-space:nowrap;flex-shrink:0;}
@media(max-width:1100px){.dep-layout{grid-template-columns:1fr;}}
@media(max-width:720px){.ver-desc,.ver-when{display:none;}}

/* DLP Policies Redesign */
.pol-back{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);cursor:pointer;margin-bottom:18px;padding:0;}
.pol-back:hover{color:var(--text-strong);}
.crumb-sep{color:var(--divider);margin:0 2px;}
.crumb-now{color:var(--text-strong);font-weight:600;}
.pol-detail-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg,12px);box-shadow:var(--sh-sm);}
.pol-detail-ico{width:46px;height:46px;border-radius:10px;background:var(--surface-sunken);display:grid;place-items:center;color:var(--accent);flex-shrink:0;}
.pol-detail-titles{flex:1;min-width:0;}
.pol-detail-titles h1{margin:0 0 4px;font-size:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pol-detail-desc{font-size:13px;color:var(--text-muted);margin-bottom:8px;}
.pol-detail-metarow{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--text-subtle);}
.pol-detail-metarow span{display:flex;align-items:center;gap:4px;}
.pol-detail-toggle{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.pol-onstate{font-size:12px;font-weight:600;}
.pol-onstate.on{color:var(--green-600);}
.pol-onstate.off{color:var(--text-subtle);}
.pol-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
.subpol-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.subpol-section-head h2{margin:0;font-size:15px;display:flex;align-items:center;gap:8px;}
.spd-layout{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start;}
.spd-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg,12px);overflow:hidden;box-shadow:var(--sh-sm);}
.spd-list-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--divider);}
.spd-lh-t{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--text-strong);}
.spd-list-hint{display:flex;align-items:flex-start;gap:6px;padding:8px 14px;font-size:11.5px;color:var(--text-muted);border-bottom:1px solid var(--divider);background:var(--surface-sunken);}
.spd-rows{display:flex;flex-direction:column;}
.spd-row{display:flex;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid var(--divider);cursor:pointer;transition:background .12s;}
.spd-row:hover{background:var(--surface-hover);}
.spd-row.sel{background:color-mix(in srgb,var(--accent) 8%,transparent);border-left:3px solid var(--accent);}
.spd-row.off{opacity:0.5;}
.spd-reorder{display:flex;flex-direction:column;gap:1px;}
.spd-rbtn{background:none;border:none;cursor:pointer;color:var(--text-subtle);padding:1px;line-height:1;border-radius:3px;}
.spd-rbtn:hover:not(:disabled){color:var(--text-strong);background:var(--surface-hover);}
.spd-rbtn:disabled{opacity:0.3;cursor:default;}
.spd-ord{font-size:10px;font-weight:700;color:var(--text-subtle);font-variant-numeric:tabular-nums;width:18px;flex-shrink:0;}
.spd-rmain{flex:1;min-width:0;}
.spd-rname{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;color:var(--text-strong);}
.spd-health{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block;}
.spd-rsub{display:flex;align-items:center;gap:6px;margin-top:2px;}
.spd-fallback-row{display:flex;align-items:center;gap:8px;padding:9px 12px;border-top:2px dashed var(--divider);font-size:12px;color:var(--text-muted);}
.spd-fb-ico{width:22px;height:22px;border-radius:6px;background:var(--surface-sunken);display:grid;place-items:center;color:var(--text-subtle);flex-shrink:0;}
.spd-fb-t{font-size:12px;font-weight:500;color:var(--text-muted);}
.spd-fb-s{font-size:11px;color:var(--text-subtle);}
.spd-newbtn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:none;border:none;border-top:1px solid var(--divider);color:var(--accent);font-size:12.5px;cursor:pointer;font-weight:500;}
.spd-newbtn:hover{background:var(--surface-hover);}
.spd-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg,12px);padding:20px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--sh-sm);}
.spd-dhead{display:flex;align-items:flex-start;gap:12px;}
.spd-dord{font-size:11px;font-weight:700;color:var(--text-subtle);width:22px;flex-shrink:0;padding-top:2px;}
.spd-dtitle{font-size:15px;font-weight:600;color:var(--text-strong);display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:4px;}
.spd-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.spd-mode{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:5px;background:var(--surface-sunken);}
.spd-mode.enforce{color:var(--green-600);background:color-mix(in srgb,var(--green-500) 10%,transparent);}
.spd-mode.shadow,.spd-mode.monitor{color:var(--blue-600);background:color-mix(in srgb,var(--blue-500) 10%,transparent);}
.spd-mode.paused{color:var(--text-subtle);}
.spd-healthpill{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);}
.hdot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0;}
.spd-id{font-size:10px;color:var(--text-subtle);}
.spd-dtoggle{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0;}
.spd-onlbl{font-size:11.5px;font-weight:600;}
.spd-note,.subpol-except{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:7px;font-size:12.5px;color:var(--text-muted);background:color-mix(in srgb,var(--blue-500) 8%,transparent);border:1px solid color-mix(in srgb,var(--blue-500) 20%,transparent);}
.spd-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.spd-stat{background:var(--surface-sunken);border-radius:8px;padding:10px 12px;}
.spd-stat .l{font-size:11px;color:var(--text-subtle);margin-bottom:3px;}
.spd-stat .v{font-size:17px;font-weight:700;color:var(--text-strong);font-variant-numeric:tabular-nums;}
.spd-stat .s{font-size:10.5px;color:var(--text-muted);margin-top:1px;}
.spd-stat-spark{margin-top:4px;}
.spd-sec{display:flex;flex-direction:column;gap:8px;}
.sec-lbl{font-size:11.5px;font-weight:600;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em;}
.bb{background:var(--surface-sunken);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;}
.bb-kw{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--text-subtle);}
.bb-kw.si{color:var(--blue-600);}
.bb-kw.then{color:var(--accent);}
.spd-rule{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.spd-rule-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;}
.cond-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:5px;background:var(--surface);border:1px solid var(--border);font-size:12px;color:var(--text-strong);}
.cc-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block;}
.cond-join{font-size:11px;font-weight:700;color:var(--text-subtle);padding:0 2px;}
.cond-ctx{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);}
.rule-kw{font-size:11.5px;font-weight:700;color:var(--text-subtle);}
.rule-arrow{color:var(--text-subtle);}
.action-seg{display:flex;gap:6px;flex-wrap:wrap;}
.action-opt{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:6px;border:1.5px solid var(--border-strong);background:var(--surface);font-size:12.5px;cursor:pointer;color:var(--text-muted);transition:all .15s;}
.action-opt:hover{border-color:var(--accent);color:var(--accent);}
.action-opt.block.on{border-color:var(--coral-500);background:color-mix(in srgb,var(--coral-500) 10%,transparent);color:var(--coral-600);}
.action-opt.redact.on{border-color:var(--violet-500);background:color-mix(in srgb,var(--violet-500) 10%,transparent);color:var(--violet-600,#7c3aed);}
.action-opt.warn.on{border-color:var(--amber-500);background:color-mix(in srgb,var(--amber-500) 10%,transparent);color:var(--amber-600);}
.action-opt.monitor.on{border-color:var(--blue-500);background:color-mix(in srgb,var(--blue-500) 10%,transparent);color:var(--blue-600);}
.spd-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.spd-chips{display:flex;flex-wrap:wrap;gap:6px;}
.spd-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:5px;border:1px solid var(--divider);font-size:12px;color:var(--text-muted);background:var(--surface-sunken);}
.spd-chip.incl{border-color:color-mix(in srgb,var(--green-500) 30%,transparent);color:var(--green-600);background:color-mix(in srgb,var(--green-500) 8%,transparent);}
.spd-chip.excl{border-color:color-mix(in srgb,var(--amber-500) 30%,transparent);color:var(--amber-600);background:color-mix(in srgb,var(--amber-500) 8%,transparent);}
.spd-scopemeta{font-size:12px;color:var(--text-muted);}
.spd-link{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;padding:0;}
.spd-link:hover{text-decoration:underline;}
.spd-switchrow{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--text-muted);cursor:pointer;padding:3px 0;}
.spd-msgbox{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:7px;background:var(--surface-sunken);border:1px solid var(--divider);font-size:12.5px;color:var(--text-muted);font-style:italic;}
.spd-audit{display:flex;flex-wrap:wrap;gap:14px;font-size:11.5px;color:var(--text-subtle);padding-top:8px;border-top:1px solid var(--divider);}
.spd-audit span{display:inline-flex;align-items:center;gap:4px;}
.spd-foot{display:flex;align-items:center;gap:8px;padding-top:4px;}
.pol-caret{display:inline-flex;align-items:center;cursor:pointer;color:var(--text-subtle);transition:transform .18s;}
.pol-caret.open{transform:rotate(90deg);}
.pol-subchip{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;color:var(--text-subtle);background:var(--surface-sunken);border:1px solid var(--divider);border-radius:4px;padding:1px 5px;}
.pol-subtree td{padding:0;}
.pol-subtree-inner{padding:4px 12px 8px 50px;display:flex;flex-direction:column;gap:4px;}
.subrow{display:grid;grid-template-columns:28px 1fr auto auto 56px;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;background:var(--surface-sunken);font-size:12.5px;}
.subrow.off{opacity:0.5;}
.sr-ord{font-size:10px;font-weight:700;color:var(--text-subtle);}
.sr-name{font-weight:500;color:var(--text-strong);margin-bottom:2px;}
.sr-rule{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:11.5px;}
.sr-scope{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);}
.sr-trig{font-size:12px;font-weight:700;color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;}
.pol-subtree-add{display:flex;align-items:center;gap:5px;padding:6px 10px;background:none;border:1.5px dashed var(--divider);border-radius:7px;color:var(--accent);font-size:12px;cursor:pointer;width:100%;justify-content:center;margin-top:4px;}
.pol-subtree-add:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent);}
.act-mini-stack{display:flex;flex-wrap:wrap;gap:4px;}
.act{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:600;}
.act.act-block{background:color-mix(in srgb,var(--coral-500) 12%,transparent);color:var(--coral-600);}
.act.act-redact{background:color-mix(in srgb,var(--violet-500) 12%,transparent);color:var(--violet-600,#7c3aed);}
.act.act-warn{background:color-mix(in srgb,var(--amber-500) 12%,transparent);color:var(--amber-600);}
.act.act-confirm{background:color-mix(in srgb,var(--blue-500) 12%,transparent);color:var(--blue-600);}
@media(max-width:1100px){.pol-kpis{grid-template-columns:repeat(2,1fr);}.spd-layout{grid-template-columns:1fr;}.spd-stats{grid-template-columns:repeat(3,1fr);}.spd-cols{grid-template-columns:1fr;}}
@media(max-width:720px){.pol-detail-head{flex-direction:column;}.pol-kpis{grid-template-columns:1fr 1fr;}.spd-stats{grid-template-columns:1fr 1fr;}}

/* ── PolDetectorBuilder ── */
.det-builder{display:flex;flex-direction:column;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px;}
.det-search-wrap{position:relative;}
.det-search-row{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:7px 11px;transition:border-color .14s;}
.det-search-row:focus-within{border-color:var(--accent);}
.det-search-ico{color:var(--text-subtle);flex-shrink:0;}
.det-search-input{flex:1;border:0;background:transparent;font-size:13px;color:var(--text);outline:none;}
.det-search-input::placeholder{color:var(--text-subtle);}
.det-dropdown{position:absolute;top:calc(100% + 5px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:11px;box-shadow:0 8px 24px rgba(0,0,0,.14);z-index:40;max-height:240px;overflow-y:auto;}
.det-opt{display:flex;align-items:center;gap:7px;padding:8px 11px;width:100%;border:0;background:transparent;cursor:pointer;font-size:12.5px;color:var(--text);text-align:left;}
.det-opt:hover,.det-opt:focus{background:var(--surface-sunken);}
.det-opt.sel{color:var(--text-muted);}
.det-opt-label{flex:1;min-width:0;font-weight:550;}
.det-opt-cat{font-size:10.5px;color:var(--text-subtle);background:var(--surface-sunken);border:1px solid var(--border);border-radius:5px;padding:1px 6px;white-space:nowrap;}
.det-opt-empty{padding:12px 14px;font-size:12px;color:var(--text-muted);text-align:center;}
.det-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.det-row{display:flex;align-items:center;gap:7px;padding:8px 10px;background:var(--surface);border-bottom:1px solid var(--divider);transition:background .12s;}
.det-row:last-child{border-bottom:0;}
.det-row:hover{background:var(--surface-sunken);}
.det-reorder{display:flex;flex-direction:column;gap:1px;flex-shrink:0;}
.det-ord{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-subtle);width:20px;text-align:center;flex-shrink:0;}
.det-row-label{flex:1;min-width:0;font-size:12.5px;font-weight:550;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.det-row-cat{font-size:10.5px;color:var(--text-subtle);background:var(--surface-sunken);border:1px solid var(--border);border-radius:5px;padding:1px 6px;flex-shrink:0;white-space:nowrap;}
.det-logic-badge{font-family:var(--font-mono);font-size:9.5px;font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:5px;background:var(--accent-soft);color:var(--accent-strong);flex-shrink:0;}
.det-sev-sel{font-size:11px;padding:2px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;flex-shrink:0;}
.det-remove{width:22px;height:22px;display:grid;place-items:center;border:0;background:transparent;color:var(--text-subtle);cursor:pointer;border-radius:6px;font-size:16px;line-height:1;flex-shrink:0;padding:0;}
.det-remove:hover{background:var(--danger-soft);color:var(--coral-600);}
.det-custom-row{display:flex;align-items:center;gap:7px;padding:4px 2px;}
.det-empty{display:flex;align-items:center;gap:8px;padding:14px 10px;font-size:12px;color:var(--text-muted);justify-content:center;}
.det-empty svg{color:var(--text-subtle);}
.det-footer{display:flex;align-items:center;justify-content:space-between;padding-top:4px;}
.det-mode-toggle{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--text-muted);background:none;border:0;cursor:pointer;padding:3px 0;}
.det-mode-toggle:hover{color:var(--accent-strong);}
.det-advanced{display:flex;flex-direction:column;gap:0;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px;}

/* ── PolConditionBuilder v2 (multi-type) ── */
.cond-builder{display:flex;flex-direction:column;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:10px 10px 8px;}
.cond-row-wrap{display:flex;flex-direction:column;}
.cond-row{display:flex;align-items:flex-start;gap:7px;padding:9px 8px;background:var(--surface);border:1px solid var(--border);border-radius:10px;position:relative;transition:box-shadow .12s;}
.cond-row:hover{box-shadow:0 0 0 2px var(--accent-soft);}
.cond-reorder{display:flex;flex-direction:column;gap:1px;flex-shrink:0;padding-top:1px;}
.cond-ord{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-subtle);width:20px;text-align:center;flex-shrink:0;padding-top:2px;}
.cond-type-sel{flex-shrink:0;position:relative;}
.cond-type-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:7px;border:1px solid var(--border);background:var(--surface-2);font-size:11.5px;font-weight:650;cursor:pointer;white-space:nowrap;transition:border-color .12s;}
.cond-type-btn:hover{border-color:var(--border-strong);}
.cond-type-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:190px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.14);z-index:50;padding:4px;}
.cond-type-menu.standalone{top:calc(100% + 4px);left:0;}
.cond-type-opt{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;background:transparent;cursor:pointer;font-size:12.5px;color:var(--text);border-radius:7px;width:100%;text-align:left;}
.cond-type-opt:hover,.cond-type-opt.on{background:var(--surface-sunken);}
.cond-type-opt.on{font-weight:650;}
.cond-editor-slot{flex:1;min-width:0;}
.cond-logic-sep{display:flex;align-items:center;justify-content:center;padding:3px 0;}
.cond-logic-pill{font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.07em;background:var(--accent-soft);color:var(--accent-strong);padding:2px 9px;border-radius:var(--r-pill,999px);}
.cond-logic-toggle{font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.07em;background:var(--accent-soft);color:var(--accent-strong);padding:2px 12px;border-radius:var(--r-pill,999px);border:1.5px solid transparent;cursor:pointer;transition:background .12s,border-color .12s,transform .1s;}
.cond-logic-toggle:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.08);}
.cond-logic-toggle:active{transform:scale(.96);}
.cond-add-wrap{position:relative;margin-top:4px;}
.cond-add-btn{display:flex;align-items:center;gap:7px;padding:8px 13px;border-radius:9px;border:1.5px dashed var(--border-strong);background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:600;cursor:pointer;width:100%;justify-content:center;transition:border-color .14s,color .14s,background .14s;}
.cond-add-btn:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft);}

/* search-based editors (user, endpoint) */
.cond-search-wrap{position:relative;}
.cond-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface-raised,var(--surface));border:1px solid var(--border);border-radius:9px;box-shadow:0 6px 20px rgba(0,0,0,.12);z-index:60;max-height:200px;overflow-y:auto;}
.cond-search-opt{display:flex;align-items:center;gap:8px;width:100%;padding:7px 11px;background:transparent;border:0;cursor:pointer;font-size:12.5px;color:var(--text);text-align:left;}
.cond-search-opt:hover{background:var(--accent-soft);}

/* pattern editor */
.cond-pattern-wrap{position:relative;}
.cond-search-row{display:flex;align-items:center;gap:7px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:7px;padding:5px 9px;}
.cond-search-row:focus-within{border-color:var(--accent);}
.cond-search-input{flex:1;border:0;background:transparent;font-size:12.5px;color:var(--text);outline:none;}
.cond-search-input::placeholder{color:var(--text-subtle);}
.cond-sev-sel{font-size:11px;padding:2px 5px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;flex-shrink:0;}

/* destination editor */
.cond-dest-editor{display:flex;flex-direction:column;gap:7px;}
.cond-pills{display:flex;flex-wrap:wrap;gap:5px;}
.cond-pill{padding:4px 10px;border-radius:var(--r-pill,999px);border:1.5px solid var(--border);background:var(--surface-sunken);font-size:11.5px;font-weight:550;color:var(--text-muted);cursor:pointer;transition:border-color .12s,background .12s,color .12s;}
.cond-pill:hover{border-color:var(--accent);color:var(--accent-strong);}
.cond-pill.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:650;}
.cond-pill.custom{display:inline-flex;align-items:center;gap:5px;}
.cond-pill-rm{font-size:15px;line-height:1;color:var(--text-subtle);cursor:pointer;background:none;border:0;padding:0;margin-left:2px;}
.cond-pill-rm:hover{color:var(--coral-600);}
.cond-custom-mini{display:flex;gap:7px;align-items:center;}

/* schedule editor */
.cond-sched-editor{display:flex;flex-direction:column;gap:8px;}
.cond-days-row{display:flex;gap:4px;}
.cond-day{width:28px;height:28px;border-radius:7px;border:1.5px solid var(--border);background:var(--surface-sunken);font-size:12px;font-weight:700;color:var(--text-muted);cursor:pointer;display:grid;place-items:center;transition:border-color .12s,background .12s,color .12s;}
.cond-day:hover{border-color:var(--accent);}
.cond-day.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);}
.cond-time-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.cond-time-input{border:1px solid var(--border);border-radius:7px;padding:4px 8px;font-size:12.5px;background:var(--surface-sunken);color:var(--text);cursor:pointer;width:100px;}
.cond-time-input:focus{outline:none;border-color:var(--accent);}
.cond-invert-lbl{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-muted);cursor:pointer;}

/* file type editor */
.cond-ft-editor{display:flex;flex-direction:column;gap:6px;}

/* group editor */
.cond-group-editor{display:flex;align-items:center;gap:8px;}

/* chip in detail view */
.cond-chip-typed{display:inline-flex;align-items:center;gap:4px;}
.cond-chip-type{display:flex;align-items:center;opacity:.75;}


/* ============================================================
   TRACEHOLD — Flota · Grupos (rediseño 2026)
   ============================================================ */

/* rejilla de tarjetas */
.grp-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:13px; }

.grp-card {
  background:var(--surface); border:1px solid var(--border); border-radius:14px;
  padding:15px 16px 14px; cursor:pointer; display:flex; flex-direction:column; gap:12px;
  transition:border-color .15s, box-shadow .15s, transform .12s;
}
.grp-card:hover { border-color:var(--border-strong); box-shadow:var(--sh-sm); transform:translateY(-1px); }

.grp-card-top { display:flex; align-items:center; gap:11px; }
.grp-ico { width:40px; height:40px; border-radius:11px; display:grid; place-items:center; flex-shrink:0; }
.grp-ico.lg { width:46px; height:46px; border-radius:13px; }
.grp-name { font-size:14px; font-weight:650; color:var(--text-strong); letter-spacing:-.01em; }
.grp-type { display:flex; align-items:center; gap:5px; margin-top:3px; font-size:11px; font-weight:600; color:var(--text-muted); }
.grp-type svg { color:var(--text-subtle); }

/* pila de avatares */
.grp-memrow { display:flex; align-items:center; gap:11px; }
.grp-avstack { display:flex; align-items:center; }
.grp-av { border:2px solid var(--surface); margin-left:-8px; }
.grp-av:first-child { margin-left:0; }
.grp-av-more {
  margin-left:-8px; width:24px; height:24px; border-radius:7px; border:2px solid var(--surface);
  background:var(--surface-sunken); color:var(--text-muted); font-size:10px; font-weight:700;
  display:grid; place-items:center; letter-spacing:-.02em; flex-shrink:0;
}
.grp-memcount { font-size:12px; color:var(--text-muted); font-weight:550; white-space:nowrap; }

/* pie de tarjeta */
.grp-card-foot { display:flex; align-items:center; gap:8px; padding-top:12px; border-top:1px solid var(--divider); }
.grp-chip { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; color:var(--text-muted); }
.grp-chip svg { color:var(--text-subtle); }
.grp-sync { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; }
.grp-sync-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }

/* descripción */
.grp-desc { font-size:11.5px; color:var(--text-muted); line-height:1.4;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* drawer de detalle */
.gd-note {
  display:flex; align-items:flex-start; gap:9px; font-size:12px; color:var(--text-muted); line-height:1.55;
  background:var(--surface-2); border:1px solid var(--border); border-left:2.5px solid var(--accent);
  border-radius:9px; padding:10px 12px; margin-bottom:16px;
}
.gd-note svg { color:var(--accent-strong); flex-shrink:0; margin-top:1px; }

.gd-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:6px; }
@media (max-width:560px) { .gd-stats { grid-template-columns:repeat(2,1fr); } }
.gd-stat { background:var(--surface-2); border:1px solid var(--border); border-radius:11px; padding:11px 12px; }
.gd-stat .l { font-size:9.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--text-subtle); }
.gd-stat .v { font-size:21px; font-weight:700; color:var(--text-strong); font-variant-numeric:tabular-nums; line-height:1.1; margin-top:5px; }

.gd-sec { margin-top:20px; }
.gd-sec-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; }
.gd-sec-head .sec-lbl { margin-bottom:0; }
.gd-link { display:inline-flex; align-items:center; gap:3px; font-size:11.5px; font-weight:600;
  color:var(--accent-strong); background:none; border:0; cursor:pointer; padding:0; }
.gd-link:hover { text-decoration:underline; }

/* miembros en el drawer */
.gd-members { display:flex; flex-direction:column; gap:7px; }
.gd-member {
  display:flex; align-items:center; gap:10px; padding:8px 10px;
  background:var(--surface-2); border:1px solid var(--border); border-radius:10px;
  transition:border-color .12s, background .12s;
}
.gd-member:hover { border-color:var(--border-strong); background:var(--surface-hover); }

/* usado-en */
.gd-usedlist { display:flex; flex-direction:column; gap:7px; }
.gd-used {
  display:flex; align-items:center; gap:10px; padding:9px 11px;
  background:var(--surface-2); border:1px solid var(--border); border-radius:10px;
  font-size:12.5px; color:var(--text-strong); font-weight:550;
  transition:border-color .12s, background .12s;
}
.gd-used:hover { border-color:var(--border-strong); background:var(--surface-hover); }
.gd-used .grow { flex:1; min-width:0; }
.gd-used-ico { display:grid; place-items:center; flex-shrink:0; }

/* clave-valor en el drawer */
.gd-kvs { display:flex; flex-direction:column; }
.gd-kv { display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:9px 0; border-bottom:1px solid var(--divider); font-size:12.5px; }
.gd-kv:last-child { border-bottom:0; }
.gd-kv .k { color:var(--text-muted); }
.gd-kv .v { color:var(--text-strong); font-weight:600; text-align:right; }

/* tipo de grupo en el drawer */
.grp-src-pill {
  display:inline-flex; align-items:center; gap:5px;
  font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  padding:3px 9px; border-radius:var(--r-pill);
  background:var(--surface-2); border:1px solid var(--border); color:var(--text-muted);
}
