:root { --ink:#17212b; --muted:#637180; --line:#dbe2e8; --paper:#ffffff; --canvas:#f4f7f8; --teal:#0f766e; --teal-dark:#115e59; --amber:#c76b18; --red:#b42318; --radius:8px; }
* { box-sizing:border-box; }
body { margin:0; background:var(--canvas); color:var(--ink); font:15px/1.5 Arial, sans-serif; }
header { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 5vw; color:#fff; background:#142b36; }
.brand { color:#fff; text-decoration:none; font-size:18px; font-weight:700; }
nav { display:flex; align-items:center; gap:16px; }
nav a, nav span { color:#d8e6e9; text-decoration:none; }
nav form { margin:0; }
main { width:min(1280px, 90vw); margin:34px auto 64px; }
h1,h2,h3,p { margin-top:0; } h1 { font-size:32px; line-height:1.15; margin-bottom:8px; } h2 { font-size:19px; } h3 { font-size:16px; }
.eyebrow { margin-bottom:6px; color:var(--teal); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.page-head { margin-bottom:26px; max-width:800px; } .page-head p:not(.eyebrow) { color:var(--muted); }
.split { display:grid; grid-template-columns:minmax(0, 1fr) minmax(280px, 360px); gap:24px; align-items:start; }
.stack { display:grid; gap:24px; }
.panel, details.panel { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:20px; }
details.panel summary { cursor:pointer; color:var(--teal-dark); font-weight:700; } details.panel[open] summary { margin-bottom:16px; }
.panel-heading, .list-toolbar, .lead-head, .lead-top, .quick-links, .run { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.project-grid, .campaign-grid, .lead-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:14px; }
.project-card, .campaign-card, .lead-card { min-height:146px; display:flex; flex-direction:column; gap:5px; padding:16px; border:1px solid var(--line); border-radius:var(--radius); color:var(--ink); text-decoration:none; background:var(--paper); transition:border-color .15s, transform .15s; }
.project-card:hover, .campaign-card:hover, .lead-card:hover { border-color:var(--teal); transform:translateY(-1px); }
.project-card span, .campaign-card span, .lead-card small { color:var(--muted); } .campaign-card small { margin-top:auto; }
.lead-card footer { display:flex; justify-content:space-between; gap:8px; margin-top:auto; color:var(--muted); font-size:12px; }
.lead-card.priority-prioritario { border-left:4px solid var(--teal); } .lead-card.priority-secundario { opacity:.8; } .lead-card.priority-descartado { opacity:.55; border-left:4px solid var(--red); }
.score { display:inline-grid; width:34px; height:34px; place-items:center; background:#e5f3f1; border-radius:50%; color:var(--teal-dark); font-weight:700; } .stars { color:var(--amber); letter-spacing:1px; }
.actions { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:24px; } .campaign-metrics { display:flex; flex-wrap:wrap; align-items:stretch; gap:1px; margin:-6px 0 24px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--line); }.campaign-metrics div { display:grid; min-width:150px; flex:1; gap:3px; padding:12px 14px; background:var(--paper); }.campaign-metrics span,.campaign-metrics small { color:var(--muted); font-size:12px; }.campaign-metrics strong { color:var(--teal-dark); font-size:19px; }.campaign-metrics > small { display:grid; place-items:center; min-width:180px; padding:12px 14px; background:#fff8eb; color:#8a4b0f; }.run-list { margin-bottom:20px; }.run { align-items:flex-start; margin-bottom:8px; padding:12px 14px; background:#edf5f4; border-radius:var(--radius); }.run-details { display:grid; gap:2px; }.run-details span,.run-details small { color:var(--muted); }.run-actions { display:flex; flex-wrap:wrap; gap:8px; }.run-actions form { display:block; }
form { display:grid; gap:13px; } label { display:grid; gap:5px; color:#364554; font-weight:600; } input, textarea, select { width:100%; padding:9px 10px; border:1px solid #bdc9d2; border-radius:5px; color:var(--ink); background:#fff; font:inherit; } textarea { resize:vertical; }
button { justify-self:start; border:0; border-radius:5px; padding:10px 14px; color:#fff; background:var(--teal); cursor:pointer; font:inherit; font-weight:700; } button:hover { background:var(--teal-dark); } button.small { padding:7px 10px; font-size:13px; } button.danger { background:var(--red); } .link-button { padding:0; background:transparent; color:#d8e6e9; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.hint { margin:0; color:var(--muted); font-size:13px; }.back { display:inline-block; margin-bottom:18px; color:var(--teal-dark); }
.flash { margin-bottom:18px; padding:12px 14px; border-radius:5px; }.flash.success { color:#075c49; background:#dff6ee; }.flash.error { color:#8c1d18; background:#fde8e7; }.empty { color:var(--muted); }
.auth { width:min(430px, 100%); margin:10vh auto; padding:28px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); }.auth p { color:var(--muted); }
.lead-head { align-items:start; }.big-score { display:grid; place-items:center; min-width:110px; padding:14px; background:#e5f3f1; border-radius:var(--radius); color:var(--teal-dark); }.big-score strong { font-size:34px; }.big-score span { color:var(--amber); }.big-score small { color:var(--muted); }
.quick-links { justify-content:flex-start; flex-wrap:wrap; margin:16px 0 24px; }.quick-links a { padding:8px 11px; border:1px solid var(--line); border-radius:5px; color:var(--teal-dark); background:#fff; text-decoration:none; }
.analysis { display:grid; grid-template-columns:150px 1fr; gap:8px 14px; }.analysis dt { color:var(--muted); }.analysis dd { margin:0; overflow-wrap:anywhere; }fieldset { margin:0; border:1px solid var(--line); border-radius:5px; padding:10px; }legend { padding:0 5px; color:var(--muted); }.check { display:block; margin:7px 0; font-weight:400; }.check input { width:auto; margin-right:7px; }.timeline { margin:0 0 18px; padding:0; list-style:none; }.timeline li { padding:10px 0; border-bottom:1px solid var(--line); }.timeline li span { float:right; color:var(--muted); font-size:12px; }.timeline p { margin:5px 0 0; }
table { width:100%; border-collapse:collapse; margin-bottom:18px; background:#fff; }th,td { padding:10px; text-align:left; border-bottom:1px solid var(--line); }th { color:var(--muted); font-size:12px; text-transform:uppercase; }
@media (max-width:760px) { header { padding:14px 5vw; align-items:flex-start; flex-direction:column; } nav { width:100%; justify-content:space-between; }.split,.actions { grid-template-columns:1fr; }.lead-head,.run { display:grid; }.big-score { justify-self:start; }.two { grid-template-columns:1fr; }.campaign-metrics { display:grid; }.campaign-metrics div { min-width:0; } h1 { font-size:27px; } }

.filter-bar { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin:16px 0 24px; }
.filter-bar select, .filter-bar input { width:auto; min-width:145px; }
.filter-bar label { margin:0; font-size:12px; }
.button-secondary { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:5px; padding:7px 10px; color:var(--ink); background:#fff; text-decoration:none; font-size:13px; }
.metric-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(155px, 1fr)); gap:10px; margin:16px 0 24px; }
.metric-grid article { padding:14px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.metric-grid span,.metric-grid strong { display:block; }.metric-grid span { color:var(--muted); font-size:12px; }.metric-grid strong { color:var(--teal-dark); font-size:18px; margin-top:4px; }
.table-wrap { overflow-x:auto; }
.kanban { display:grid; grid-template-columns:repeat(8, minmax(220px, 1fr)); gap:12px; overflow-x:auto; padding-bottom:12px; }
.kanban-column { min-height:360px; padding:12px; border:1px solid var(--line); border-radius:var(--radius); background:#edf4f4; }
.kanban-column h2 { display:flex; justify-content:space-between; gap:10px; margin:0 0 12px; font-size:15px; }.kanban-column h2 span { color:var(--muted); font-size:13px; }
.kanban-dropzone { display:grid; min-height:290px; gap:10px; align-content:start; }
.kanban-card { display:grid; gap:6px; padding:11px; border:1px solid var(--line); border-radius:6px; background:#fff; cursor:grab; }.kanban-card.is-dragging { opacity:.45; }
.kanban-card a { color:var(--ink); text-decoration:none; }.kanban-card small { color:var(--muted); }.kanban-card form { display:flex; gap:5px; margin-top:2px; }.kanban-card select { min-width:0; padding:5px; font-size:12px; }
.kanban-score { width:fit-content; padding:3px 7px; border-radius:999px; color:var(--teal-dark); background:#e5f3f1; font-weight:700; }.kanban-empty { color:var(--muted); font-size:13px; }
.proposal-list { display:grid; gap:10px; margin:14px 0; }.proposal-item { padding-top:10px; border-top:1px solid var(--line); }.proposal-item strong,.proposal-item small { display:block; }.proposal-item small { color:var(--muted); margin-top:3px; }
.flow-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 20px; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius); background:#edf5f4; }.flow-controls form { display:block; margin:0; }.bulk-lead { display:block; position:relative; }.bulk-lead > input { position:absolute; z-index:2; top:10px; right:10px; width:auto; }.bulk-lead .lead-card { display:flex; }
@media (max-width:760px) { .filter-bar select,.filter-bar input { width:100%; }.kanban { grid-template-columns:repeat(8, minmax(250px, 1fr)); } }
