:root{
  --azul:#1252C0; --azul-oscuro:#0C447C; --azul-suave:#E6F1FB;
  --lila:#7B7FD4; --coral:#993C1D; --coral-suave:#FAEEDA;
  --verde:#0F6E56; --verde-suave:#E1F5EE; --verde-online:#1D9E75;
  --ambar:#BA7517; --ambar-suave:#FAEEDA;
  --texto:#1A1D24; --texto-2:#565B66; --texto-mute:#8A909C;
  --sup-1:#FFFFFF; --sup-2:#F5F7FA; --borde:#E7EAF0; --borde-fuerte:#D2D7E0;
  --font-display:'Poppins',system-ui,sans-serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --sidebar-w:216px;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{font-family:var(--font-body);background:var(--sup-2);color:var(--texto);-webkit-font-smoothing:antialiased;line-height:1.5}
button{font-family:inherit}
input,select,textarea{font-family:inherit;font-size:14px;color:var(--texto);background:var(--sup-1);border:1px solid var(--borde-fuerte);border-radius:8px;padding:10px 12px;outline:none;transition:border-color .15s}
input:focus,select:focus,textarea:focus{border-color:var(--azul)}
::placeholder{color:var(--texto-mute)}

/* ===== LAYOUT ===== */
.app{display:flex;min-height:100vh}

/* ===== SIDEBAR ===== */
.sidebar{
  width:var(--sidebar-w);flex-shrink:0;background:var(--sup-1);border-right:1px solid var(--borde);
  display:flex;flex-direction:column;padding:18px 12px;position:fixed;top:0;bottom:0;left:0;z-index:40;
  transition:transform .25s ease;
}
.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 22px}
.brand-mark{width:32px;height:32px;border-radius:9px;background:var(--azul);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-weight:500;font-size:18px}
.brand-name{font-family:var(--font-display);font-size:16px;font-weight:500;letter-spacing:-.3px;line-height:1.1}
.brand-name span{color:var(--azul)}
.brand-sub{font-size:10px;color:var(--texto-mute);letter-spacing:1.5px}
.nav{display:flex;flex-direction:column;gap:3px}
.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;cursor:pointer;color:var(--texto-2);font-size:14px;border:none;background:transparent;width:100%;text-align:left;transition:background .12s,color .12s}
.nav-item:hover{background:var(--sup-2)}
.nav-item.active{background:var(--azul-suave);color:var(--azul-oscuro);font-weight:500}
.nav-ico{width:20px;height:20px;flex-shrink:0}
.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--borde);font-size:12px;color:var(--texto-2)}
.dot-online{width:7px;height:7px;border-radius:50%;background:var(--verde-online);flex-shrink:0}

/* ===== MAIN ===== */
.main{flex:1;margin-left:var(--sidebar-w);min-width:0;display:flex;flex-direction:column}
.topbar{display:none;align-items:center;gap:12px;padding:12px 16px;background:var(--sup-1);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:30}
.hamburger{width:40px;height:40px;border:1px solid var(--borde-fuerte);border-radius:8px;background:var(--sup-1);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--texto)}
.topbar .brand-name{font-size:15px}
.view{padding:26px 30px;flex:1;display:none}
.view.active{display:block}
.view-head{margin-bottom:22px}
.view-head h1{font-family:var(--font-display);font-size:21px;font-weight:500;margin-bottom:3px}
.view-head p{font-size:13px;color:var(--texto-2)}

.card{background:var(--sup-1);border-radius:13px;padding:20px;border:1px solid var(--borde)}
.label{display:block;font-size:12px;color:var(--texto-2);margin-bottom:6px}
.label .opt{color:var(--texto-mute)}
.field{width:100%;margin-bottom:15px}
.btn-primary{width:100%;background:var(--azul);color:#fff;border:none;border-radius:9px;padding:12px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}
.btn-primary:hover{background:var(--azul-oscuro)}
.btn-primary:disabled{opacity:.55;cursor:wait}
.btn-ghost{border:1px solid var(--borde-fuerte);background:transparent;border-radius:8px;padding:9px 14px;font-size:13px;cursor:pointer;color:var(--texto-2);display:inline-flex;align-items:center;gap:7px}
.btn-ghost:hover{background:var(--sup-2)}

/* ===== DEMO ===== */
.demo-wrap{max-width:460px;margin:0 auto}
.demo-card{text-align:center;padding:32px 28px}
.demo-selectors{display:flex;gap:10px;margin-bottom:26px;text-align:left}
.orb{width:120px;height:120px;border-radius:50%;background:var(--azul-suave);margin:0 auto 22px;display:flex;align-items:center;justify-content:center;color:var(--azul);transition:all .3s}
.orb svg{width:46px;height:46px}
.orb.live{background:var(--verde-suave);color:var(--verde);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(29,158,117,.22)}50%{box-shadow:0 0 0 18px rgba(29,158,117,0)}}
.demo-label{font-size:15px;font-weight:500;margin-bottom:4px}
.demo-sub{font-size:12px;color:var(--texto-mute);margin-bottom:24px;min-height:1.2em}
.btn-mic{background:var(--azul);color:#fff;border:none;border-radius:9px;padding:12px 28px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s}
.btn-mic:hover{background:var(--azul-oscuro)}
.btn-mic.active{background:var(--coral)}
.btn-mic:disabled{opacity:.55;cursor:wait}
.demo-share{margin-top:24px;padding-top:18px;border-top:1px solid var(--borde);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--texto-2)}
.demo-transcript{margin-top:18px;text-align:left;max-height:180px;overflow-y:auto;font-size:13px;line-height:1.6}
.demo-transcript .t-agent{color:var(--azul)}
.demo-transcript .t-user{color:var(--verde)}
.demo-transcript div{margin-bottom:6px}

/* ===== MARCAR ===== */
.seg{display:flex;background:var(--sup-2);border-radius:9px;padding:3px;gap:2px}
.seg button{border:none;background:transparent;color:var(--texto-2);padding:8px 16px;border-radius:7px;font-size:13px;cursor:pointer;font-weight:500}
.seg button.on{background:var(--azul);color:#fff}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.state-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.state-ico{width:44px;height:44px;border-radius:50%;background:var(--azul-suave);display:flex;align-items:center;justify-content:center;color:var(--azul);flex-shrink:0}
.state-ico svg{width:22px;height:22px}
.state-txt{min-width:0}
.state-label{font-size:15px;font-weight:500}
.state-sub{font-size:12px;color:var(--texto-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.state-timer{margin-left:auto;font-size:15px;font-weight:500;color:var(--texto-2);font-variant-numeric:tabular-nums}
.steps{display:flex;gap:6px;margin-bottom:16px}
.steps span{flex:1;height:4px;border-radius:2px;background:var(--borde)}
.live-box{min-height:150px;font-size:13px;line-height:1.6;color:var(--texto-mute)}
.live-box .row{margin-bottom:10px}
.live-box .who{font-size:11px;font-weight:500}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}
.stat-box{background:var(--sup-2);border-radius:8px;padding:12px}
.stat-box .k{font-size:11px;color:var(--texto-2)}
.stat-box .v{font-size:19px;font-weight:500;font-family:var(--font-display)}
.progress{height:8px;background:var(--sup-2);border-radius:4px;overflow:hidden;margin-bottom:8px}
.progress i{display:block;height:100%;background:var(--azul)}
.pill{font-size:11px;padding:3px 9px;border-radius:20px}
.pill-green{background:var(--verde-suave);color:var(--verde)}
.pill-blue{background:var(--azul-suave);color:var(--azul)}
.pill-mute{background:var(--sup-2);color:var(--texto-mute)}
.pill-red{background:#fde8e8;color:#b91c1c}
.compliance{font-size:11px;color:var(--texto-mute);text-align:center;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:5px}
.legal-check{display:flex;align-items:flex-start;gap:8px;margin:14px 0 2px;padding:10px 12px;background:var(--sup-2);border-radius:9px;cursor:pointer;font-size:12px;color:var(--texto-2);line-height:1.4}
.legal-check input{margin-top:2px;flex-shrink:0;width:15px;height:15px;cursor:pointer;accent-color:var(--azul)}
.legal-check .lc-txt strong{color:var(--texto);font-weight:500;display:block;margin-bottom:1px}

/* ===== HISTORIAL ===== */
.hist-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:16px}
.kpi{background:var(--sup-1);border:1px solid var(--borde);border-radius:9px;padding:12px 13px;min-width:0}
.kpi .k{font-size:11px;color:var(--texto-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .v{font-size:19px;font-weight:500;font-family:var(--font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Date filter bar */
.date-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.date-btn{padding:6px 12px;font-size:12px;border-radius:7px;border:1px solid var(--borde-fuerte);background:transparent;cursor:pointer;color:var(--texto-2);font-weight:500;transition:all .12s}
.date-btn:hover{background:var(--sup-2)}
.date-btn.active{background:var(--azul);color:#fff;border-color:var(--azul)}
.date-input{padding:5px 8px;font-size:12px;border-radius:7px;border:1px solid var(--borde-fuerte);width:130px}

/* Search + filters row */
.hist-filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center}
.hist-search{flex:1;min-width:180px;padding:8px 12px 8px 32px;font-size:13px;border:1px solid var(--borde-fuerte);border-radius:8px;background:var(--sup-1)}
.hist-search-wrap{flex:1;min-width:180px;position:relative}
.hist-search-wrap .search-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--texto-mute);pointer-events:none}
.hist-select{width:140px;padding:8px 10px;font-size:13px}

/* Auto-refresh indicator */
.auto-refresh{font-size:11px;color:var(--texto-mute);display:flex;align-items:center;gap:5px}
.auto-refresh .dot{width:6px;height:6px;border-radius:50%;background:var(--verde-online);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

.hist-body{display:flex;gap:16px;align-items:start}
.hist-list{flex:1;min-width:0}

/* Sort header */
.sort-header{display:flex;align-items:center;padding:6px 14px;margin-bottom:6px;font-size:11px;color:var(--texto-mute);gap:12px}
.sort-col{cursor:pointer;display:flex;align-items:center;gap:3px;user-select:none}
.sort-col:hover{color:var(--texto-2)}
.sort-col.active{color:var(--azul);font-weight:500}
.sort-arrow{font-size:10px}
.sort-fill{flex:1}

.call-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--borde);border-radius:11px;margin-bottom:8px;cursor:pointer;background:var(--sup-1);transition:border-color .12s}
.call-row:hover{border-color:var(--borde-fuerte)}
.call-row.sel{border-color:var(--azul)}
.call-ico{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.call-ico svg{width:17px;height:17px}
.call-main{min-width:0;flex:1}
.call-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.call-meta{font-size:12px;color:var(--texto-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.call-right{text-align:right;flex-shrink:0}
.call-dur{font-size:13px;color:var(--texto-2);font-variant-numeric:tabular-nums}
.call-cost{font-size:12px;font-weight:500;color:var(--azul);font-variant-numeric:tabular-nums}
.call-cost.zero{color:var(--texto-mute)}
.call-status{font-size:11px}

/* Type badge */
.badge-type{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:500;letter-spacing:.3px}
.badge-sip{background:var(--azul-suave);color:var(--azul)}
.badge-demo{background:var(--sup-2);color:var(--texto-mute)}

.detail{width:320px;flex-shrink:0;background:var(--sup-1);border:1px solid var(--borde);border-radius:13px;padding:18px;min-height:340px;max-height:calc(100vh - 200px);overflow-y:auto}
.detail-empty{font-size:12px;color:var(--texto-mute);text-align:center;margin-top:130px}
.detail h3{font-size:14px;font-weight:500;margin-bottom:3px}
.detail .d-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:2px}
.detail .d-meta{font-size:12px;color:var(--texto-mute);margin-bottom:16px}

/* Cost breakdown section */
.detail-section{background:var(--sup-2);border-radius:9px;padding:14px;margin-bottom:14px}
.detail-section-title{font-size:13px;font-weight:500;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.cost-table{width:100%;font-size:12px;border-collapse:collapse}
.cost-table td{padding:4px 0;color:var(--texto-2)}
.cost-table .cost-val{text-align:right;width:60px}
.cost-table .cost-detail{text-align:right;color:var(--texto-mute)}
.cost-table .cost-total td{padding:6px 0;font-weight:500;color:var(--texto);border-top:1px solid var(--borde)}
.cost-table .cost-total .cost-val{color:var(--azul)}

/* Tools section */
.tool-item{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:6px}
.tool-item:last-child{margin-bottom:0}
.tool-badge{font-size:10px;padding:2px 7px;border-radius:4px;font-weight:500}
.tool-ok{background:var(--verde-suave);color:var(--verde)}
.tool-err{background:#fde8e8;color:#b91c1c}
.tool-name{font-weight:500}
.tool-params{color:var(--texto-mute);font-size:11px}

/* Error section */
.error-item{font-size:12px;color:#b91c1c;padding:6px 8px;background:#fde8e8;border-radius:6px;margin-bottom:4px}
.error-item:last-child{margin-bottom:0}

/* Transcript with timestamps */
.detail .t-block{border-top:1px solid var(--borde);padding-top:14px}
.detail .t-row{margin-bottom:12px}
.detail .t-who{font-size:11px;font-weight:500;display:flex;align-items:center;gap:6px}
.detail .t-ts{font-size:10px;font-weight:400;color:var(--texto-mute)}
.detail .t-text{font-size:13px;line-height:1.5}

/* ===== SETTINGS PLACEHOLDER ===== */
.settings-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--texto-mute)}
.settings-empty svg{width:48px;height:48px;margin-bottom:16px;opacity:.4}
.settings-empty .se-title{font-size:16px;font-weight:500;color:var(--texto-2);margin-bottom:4px}
.settings-empty .se-sub{font-size:13px}

/* ===== OVERLAY (mobile) ===== */
.overlay{display:none;position:fixed;inset:0;background:rgba(20,24,34,.45);z-index:35}
.overlay.show{display:block}

/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
  .kpis{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:820px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0)}
  .main{margin-left:0}
  .topbar{display:flex}
  .view{padding:20px 16px}
  .grid-2{grid-template-columns:1fr}
  .hist-body{flex-direction:column}
  .detail{width:100%;max-height:none}
  .overlay{}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .date-filters{justify-content:start}
}
@media (max-width:520px){
  .kpis{grid-template-columns:1fr 1fr}
  .demo-selectors{flex-direction:column}
  .hist-top{flex-direction:column;align-items:stretch}
  .mini-grid{grid-template-columns:1fr}
  .view-head h1{font-size:19px}
  .hist-filters{flex-direction:column}
  .hist-select{width:100%}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.set-tab{padding:9px 15px;border:none;background:none;font-family:inherit;font-size:13px;color:var(--texto-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.set-tab.on{color:var(--azul);border-bottom-color:var(--azul);font-weight:500}


/* ===== FASE 6.1 CAMPAÑAS ===== */
.camp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:16px;flex-wrap:wrap}
.camp-head-actions{display:flex;gap:10px;align-items:center}
.camp-layout{display:grid;grid-template-columns:1fr 420px;gap:16px}
.camp-layout.no-detail{grid-template-columns:1fr}
.camp-table-wrap{overflow:hidden;border-radius:13px}
.camp-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--sup-1)}
.camp-table thead th{text-align:left;padding:12px 14px;font-size:11px;color:var(--texto-mute);text-transform:uppercase;letter-spacing:.5px;font-weight:500;background:var(--sup-2);border-bottom:1px solid var(--borde)}
.camp-table tbody td{padding:14px;border-bottom:1px solid var(--borde);vertical-align:middle}
.camp-table tbody tr{cursor:pointer;transition:background .1s}
.camp-table tbody tr:hover{background:var(--sup-2)}
.camp-table tbody tr.selected{background:var(--azul-suave)}
.camp-table tbody tr:last-child td{border-bottom:none}
.camp-name{font-weight:500;color:var(--texto);margin-bottom:2px}
.camp-sub{font-size:11px;color:var(--texto-mute)}
.pill-amber{background:var(--ambar-suave);color:var(--ambar)}
.pill-gray{background:var(--sup-2);color:var(--texto-2)}
.pill-azul{background:var(--azul-suave);color:var(--azul-oscuro)}
.pill-coral{background:var(--coral-suave);color:var(--coral)}
.camp-detail{display:flex;flex-direction:column;gap:0}
.camp-detail-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.camp-detail-title{font-family:var(--font-display);font-size:16px;font-weight:500;margin-bottom:4px}
.camp-detail-sub{font-size:12px;color:var(--texto-2)}
.close-btn{background:transparent;border:none;color:var(--texto-mute);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}
.close-btn:hover{color:var(--texto)}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--borde);font-size:12px}
.info-row:last-child{border-bottom:none}
.info-row .k{color:var(--texto-2)}
.info-row .v{color:var(--texto);font-weight:500}
.detail-actions{display:flex;gap:8px;margin-top:14px}
.detail-actions button{flex:1;justify-content:center}
.next-call{background:var(--verde-suave);color:var(--verde);padding:10px 12px;border-radius:9px;font-size:12px;display:flex;align-items:center;gap:8px;margin:12px 0}
.next-call.paused{background:var(--ambar-suave);color:var(--ambar)}
.section-label{font-size:11px;color:var(--texto-mute);text-transform:uppercase;letter-spacing:.5px;margin:14px 0 6px;font-weight:500}
.empty-state{text-align:center;padding:60px 20px;color:var(--texto-mute)}
.empty-state h3{font-family:var(--font-display);font-size:16px;font-weight:500;color:var(--texto);margin-bottom:8px}
.empty-state p{font-size:13px;margin-bottom:20px}
.modal-overlay{position:fixed;inset:0;background:rgba(26,29,36,.55);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal-overlay.active{display:flex}
.modal{background:var(--sup-1);border-radius:13px;padding:24px;width:560px;max-width:100%;max-height:calc(100vh - 40px);overflow-y:auto}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.modal h2{font-family:var(--font-display);font-size:18px;font-weight:500;margin-bottom:2px}
.modal-sub{font-size:12px;color:var(--texto-2)}
.form-row{margin-bottom:14px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modal textarea.field{min-height:120px;font-family:inherit;resize:vertical}
.modal-actions{display:flex;gap:8px;margin-top:18px;justify-content:flex-end;flex-wrap:wrap}
.preview-summary{background:var(--sup-2);border-radius:9px;padding:12px;margin:12px 0;font-size:12px;display:none}
.preview-summary.active{display:block}
.preview-summary .row{display:flex;justify-content:space-between;padding:4px 0}
.preview-summary .row.ok{color:var(--verde);font-weight:500}
.preview-summary .row.warn{color:var(--ambar)}
.preview-summary .row.err{color:var(--coral)}
.warning-banner{background:var(--ambar-suave);color:var(--ambar);padding:10px 12px;border-radius:9px;font-size:12px;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.progress.p-verde i{background:var(--verde)}
.progress.p-amber i{background:var(--ambar)}
.tabs-inline{display:inline-flex;gap:4px;background:var(--sup-2);padding:4px;border-radius:9px}
.tab-inline{padding:7px 14px;border-radius:6px;font-size:13px;cursor:pointer;color:var(--texto-2);border:none;background:transparent}
.tab-inline.active{background:var(--sup-1);color:var(--texto);font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,.06)}
@media (max-width:1100px){.camp-layout{grid-template-columns:1fr}}


/* ===== FASE 6.1 ESTÉTICA (consolidado) ===== */
/* Badge Completada más visible */
.pill-azul{background:#DBE7F7;color:var(--azul-oscuro);border:1px solid #C4D6F0}
.pill-green{background:var(--verde-suave);color:var(--verde);border:1px solid #C5E8DB}
.pill-amber{background:var(--ambar-suave);color:var(--ambar);border:1px solid #F0D9B4}
.pill-coral{background:var(--coral-suave);color:var(--coral);border:1px solid #F0D0BC}
.pill-gray{background:var(--sup-2);color:var(--texto-2);border:1px solid var(--borde)}

/* KPIs con más aire */
.stat-grid{grid-template-columns:repeat(4,1fr) !important;gap:6px !important}
.stat-box{background:var(--sup-2);border-radius:10px;padding:12px 10px;text-align:center;transition:transform .1s}
.stat-box:hover{transform:translateY(-1px)}
.stat-box .v{font-size:22px !important;font-weight:600;font-family:var(--font-display);line-height:1.1;margin-top:2px}
.stat-box .k{font-size:10px !important;color:var(--texto-mute);text-transform:uppercase;letter-spacing:.5px;font-weight:500}

/* Cards con sombra sutil */
.card{box-shadow:0 1px 2px rgba(26,29,36,.04),0 0 0 0 rgba(26,29,36,0);transition:box-shadow .15s}
.camp-detail{box-shadow:0 2px 8px rgba(26,29,36,.06)}

/* Tabla: filas con más aire y hover más claro */
.camp-table tbody td{padding:16px 14px}
.camp-table tbody tr:hover{background:var(--azul-suave);background:color-mix(in srgb, var(--azul-suave) 40%, var(--sup-1))}
.camp-table tbody tr.selected{background:var(--azul-suave);box-shadow:inset 3px 0 0 var(--azul)}

/* Progress bar más gruesa en el detalle */
.camp-detail .progress{height:8px}

/* Detail head con más peso */
.camp-detail-title{font-size:17px !important;letter-spacing:-.2px}
.camp-detail-sub{margin-bottom:2px}

/* Info rows más legibles */
.info-row{padding:10px 0;font-size:12.5px}
.info-row .v{font-weight:500}

/* Section labels con más presencia */
.section-label{margin:18px 0 8px !important;font-weight:600 !important}

/* Botones del detail: primero primario, después ghost */
.detail-actions{margin-top:18px;padding-top:16px;border-top:1px solid var(--borde)}
