/* Galonea CRM */
.dashboard-shell{max-width:1440px;margin:0 auto;padding:clamp(1rem,3vw,2rem)}.dashboard-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.dashboard-topbar h1{font-size:clamp(1.8rem,4vw,3rem)}.dashboard-topbar p{color:var(--ink-soft);max-width:70ch}.dashboard-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--coral-dark);font-size:.72rem}.dashboard-user{display:flex;gap:.8rem;align-items:center;background:#fff;padding:.7rem 1rem;border-radius:999px;border:1px solid var(--line)}.dashboard-user a{color:var(--coral-dark);font-weight:700}.dashboard-nav{display:flex;gap:.45rem;overflow-x:auto;padding:.45rem;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:1.2rem}.dashboard-nav a{white-space:nowrap;padding:.65rem .95rem;border-radius:12px;color:var(--ink-soft);font-size:.86rem;font-weight:700}.dashboard-nav a.is-active{background:var(--ink);color:#fff}.dashboard-content{display:grid;gap:1rem}.dashboard-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(1rem,2vw,1.5rem);box-shadow:0 14px 50px -45px rgba(18,19,31,.6)}.dashboard-card h2{font-size:1.25rem;margin-bottom:.7rem}.dashboard-grid{display:grid;gap:1rem}.dashboard-grid--2{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}.metric-card span{display:block;color:var(--ink-faint);font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase}.metric-card strong{display:block;font-family:var(--font-display);font-size:1.8rem;margin-top:.25rem}.dashboard-notice,.dashboard-credentials{padding:1rem 1.2rem;border-radius:12px;background:#eaf8f5;border:1px solid rgba(15,168,149,.3)}.dashboard-notice--error{background:#fff1ef;border-color:rgba(225,67,31,.3)}.dashboard-credentials{background:#fff6d8;border-color:#f0cf61}.dashboard-credentials code{font-size:1rem}.quick-actions{display:flex;flex-wrap:wrap;gap:.6rem}.status-list{display:grid;gap:.55rem}.status-list li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:.45rem 0}.activity-list{display:grid}.activity-list>div{display:grid;grid-template-columns:150px 1fr 160px;gap:.8rem;padding:.65rem 0;border-bottom:1px solid var(--line);font-size:.83rem}.activity-list span,.activity-list small{color:var(--ink-faint)}
.filter-bar,.bulk-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.filter-bar input,.filter-bar select,.bulk-bar select{min-height:42px;border:1px solid var(--line-strong);border-radius:10px;padding:.65rem .8rem}.filter-bar input{flex:1 1 260px}.table-scroll{overflow:auto}.dashboard-table{width:100%;border-collapse:collapse;font-size:.84rem}.dashboard-table th,.dashboard-table td{text-align:left;vertical-align:top;padding:.8rem;border-bottom:1px solid var(--line);min-width:120px}.dashboard-table th{font-family:var(--font-mono);text-transform:uppercase;font-size:.66rem;color:var(--ink-faint);background:#fafafa}.dashboard-table details{margin-top:.35rem}.dashboard-table summary{cursor:pointer;color:var(--coral-dark)}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .55rem;background:var(--paper-alt);font-size:.67rem;font-weight:700;white-space:nowrap}.status-won,.status-interested{background:#e5f8f2;color:#087b6c}.status-no_answer,.status-callback{background:#fff4cf;color:#7a5c00}.status-not_interested,.status-lost{background:#ffeae6;color:#9f301a}.status-handoff_pending{background:#e9efff;color:#3150a1}
.dashboard-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.dashboard-form label,.inline-form label,.lead-update-form label{display:grid;gap:.35rem;font-size:.78rem;font-weight:700;color:var(--ink-soft)}.dashboard-form input,.dashboard-form select,.dashboard-form textarea,.inline-form input,.inline-form select,.lead-update-form input,.lead-update-form select,.lead-update-form textarea{width:100%;border:1px solid var(--line-strong);background:#fafafa;border-radius:9px;padding:.7rem;color:var(--ink)}.dashboard-form textarea,.lead-update-form textarea{min-height:90px;resize:vertical}.form-span{grid-column:1/-1}.inline-form{display:grid;gap:.55rem;min-width:260px;padding-top:.7rem}.handoff-card{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(300px,1.3fr);gap:1.2rem}.commercial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.8rem}.commercial-card{border:1px solid var(--line);border-radius:14px;padding:1rem;display:grid;gap:.8rem}.commercial-card h3{margin-top:.4rem}.mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.mini-metrics span{background:var(--paper-alt);border-radius:8px;padding:.55rem;font-size:.7rem;color:var(--ink-soft)}.mini-metrics strong{display:block;font-size:1.05rem;color:var(--ink)}
.dashboard-login__box{max-width:520px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:2rem}.dashboard-login form{display:grid;gap:.8rem;margin:1.2rem 0}.dashboard-login label{display:block;font-weight:700;font-size:.82rem}.dashboard-login input[type=text],.dashboard-login input[type=password]{width:100%;border:1px solid var(--line-strong);border-radius:10px;padding:.8rem}.dashboard-login input[type=submit]{border:0;background:var(--coral);color:#fff;border-radius:999px;padding:.8rem 1.2rem;font-weight:700}.request-card{display:flex;justify-content:space-between;gap:1rem;align-items:center}.request-card form{display:flex;gap:.5rem;flex-wrap:wrap}.lead-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:.9rem}.lead-card{border:1px solid var(--line);border-radius:16px;padding:1rem;display:grid;gap:.8rem;background:#fff}.lead-card header{display:flex;justify-content:space-between;gap:.7rem}.lead-card h3{font-size:1.2rem;margin:.35rem 0 .1rem}.lead-card header p{color:var(--ink-soft)}.lead-contact{display:flex;flex-wrap:wrap;gap:.45rem}.lead-contact a{background:var(--paper-alt);border-radius:999px;padding:.4rem .65rem;font-size:.75rem}.lead-update-form{display:grid;gap:.65rem;padding-top:.8rem;border-top:1px solid var(--line)}.handoff-details{border-top:1px solid var(--line);padding-top:.7rem}.handoff-details>summary{cursor:pointer;font-weight:700;color:var(--teal-dark)}.dashboard-help{color:var(--ink-soft);margin-bottom:1rem}
@media(max-width:760px){.dashboard-topbar{display:grid}.dashboard-user{justify-self:start}.activity-list>div{grid-template-columns:1fr}.handoff-card{grid-template-columns:1fr}.request-card{display:grid}.dashboard-table th,.dashboard-table td{min-width:145px}}
.privacy-action{border:0;background:transparent;color:#a33a24;text-decoration:underline;padding:.25rem 0;font:inherit;cursor:pointer;font-size:.75rem}


/* Empresas potenciales 2.1 */
.companies-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#eef9f2,#fff);border:1px solid #cfe8d5;border-radius:18px;padding:1.25rem 1.4rem}
.companies-dashboard-head h2{margin:.2rem 0 .45rem;font-size:clamp(1.5rem,3vw,2.2rem);color:#174f29}
.companies-dashboard-head p{margin:0;max-width:78ch;color:var(--ink-soft)}
.companies-metrics .metric-card{border-color:#d4ead9}
.company-filter-bar select{min-width:155px}
.companies-table-scroll{max-height:72vh;border:1px solid var(--line);border-radius:12px}
.companies-table thead th{position:sticky;top:0;z-index:3}
.company-type-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .55rem;background:#e7f6eb;color:#1b6732;font-size:.68rem;font-weight:800;white-space:nowrap;margin:.2rem .2rem .2rem 0}
.company-file>summary{font-weight:800;color:#1b6732;white-space:nowrap}
.company-file[open]{min-width:min(840px,78vw);padding:.7rem;background:#fbfffc;border:1px solid #d9ecdd;border-radius:10px}
.company-edit-form{grid-template-columns:repeat(3,minmax(190px,1fr));padding-top:.8rem}
.company-edit-form textarea{min-height:78px}
.crm-pagination{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;padding-top:1rem}
.crm-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:.35rem .65rem;border:1px solid var(--line);border-radius:9px;background:#fff}
.crm-pagination .page-numbers.current{background:#174f29;color:#fff;border-color:#174f29}
.lead-card .company-type-badge{margin-left:.35rem}
.lead-phone{font-weight:800;background:#e6f6ea!important;color:#165b2b}
.company-background{border:1px solid #dceadf;border-radius:10px;padding:.7rem;background:#fbfffc}
.company-background summary{cursor:pointer;font-weight:800;color:#1b6732}
.company-background p{font-size:.82rem;margin:.65rem 0}
@media(max-width:900px){.companies-dashboard-head{align-items:flex-start;display:grid}.company-edit-form{grid-template-columns:1fr}.company-file[open]{min-width:75vw}}


/* Galonea 2.2 — contraseñas comerciales definidas por administración. */
.commercial-inline-form{margin-top:1rem}
.commercial-password-form{display:grid;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #dfe5e2}
.commercial-password-form label{display:grid;gap:.35rem;font-size:.78rem;font-weight:700;color:#34443c}
.commercial-password-form input{width:100%;border:1px solid #c9d8d0;border-radius:8px;padding:.72rem .8rem;background:#fff;color:#1f2d27}
.commercial-password-form input:focus{outline:2px solid rgba(46,125,50,.16);border-color:#2e7d32}

/* Galonea 2.3 — guion, mensajería, cobros y contratos */
.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.script-sheet{margin-top:1rem;padding:1.1rem;border:1px solid #dce7e1;border-radius:12px;background:#fbfdfc;white-space:normal;font-size:.9rem;line-height:1.65}.script-sheet--warning{background:#fff8e6;border-color:#efd58b}.sales-script-card details{margin-top:.8rem;border:1px solid var(--line);border-radius:10px;padding:.75rem}.sales-script-card summary{cursor:pointer;font-weight:800}.large-script{min-height:340px!important}.contract-template-editor{min-height:520px!important;font-family:var(--font-mono);font-size:.78rem;line-height:1.5}.compact-message-form{margin:1rem 0;padding:1rem;background:var(--paper-alt);border-radius:12px}.message-thread{display:grid;gap:.7rem;max-height:520px;overflow:auto;padding:.25rem}.message-bubble{max-width:88%;padding:.85rem 1rem;border-radius:14px;background:#eef3ff;border:1px solid #dce4f6}.message-bubble.is-mine{justify-self:end;background:#e7f7f1;border-color:#cce9df}.message-bubble.is-admin{justify-self:start}.message-bubble header{display:flex;justify-content:space-between;gap:1rem;color:var(--ink-faint);font-size:.7rem}.message-bubble h3{font-size:.86rem;margin:.35rem 0}.message-bubble p{font-size:.82rem;margin:0;white-space:pre-wrap}.message-admin-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.message-admin-card{align-content:start}.message-thread--admin{max-height:360px}.profile-details,.payment-admin-details{margin-top:1rem;border:1px solid var(--line);border-radius:10px;padding:.8rem}.profile-details summary,.payment-admin-details summary{cursor:pointer;font-weight:800}.private-data-list{display:grid;grid-template-columns:minmax(110px,.35fr) 1fr;gap:.35rem .7rem;font-size:.78rem}.private-data-list dt{font-weight:800;color:var(--ink-soft)}.private-data-list dd{margin:0;overflow-wrap:anywhere}.contract-status-list{display:grid;gap:.65rem}.contract-status-list>div{display:grid;grid-template-columns:auto 1fr;gap:.25rem .7rem;align-items:center;padding:.8rem;border:1px solid var(--line);border-radius:10px}.contract-status-list small{grid-column:2;color:var(--ink-faint)}.status-signed{background:#dff6eb;color:#087a59}.status-viewed{background:#e8f0ff;color:#3150a1}.status-draft{background:#f1f1f1}.status-expired,.status-cancelled,.status-declined{background:#ffeae6;color:#9f301a}.contract-admin-preview{min-width:min(760px,75vw);max-height:70vh;overflow:auto;padding:.8rem;background:#fbfbfb;border-radius:10px}.contract-admin-preview pre{white-space:pre-wrap;font-family:var(--font-body);font-size:.78rem}.signature-evidence{max-width:380px;background:#fff;border:1px solid var(--line);border-radius:8px}.inline-actions{display:grid;gap:.5rem}.contract-shell{max-width:1040px;margin:0 auto;padding:clamp(1rem,4vw,3rem)}.contract-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(1.2rem,4vw,2.5rem);box-shadow:0 24px 70px -55px rgba(18,19,31,.8)}.contract-heading{border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1rem}.contract-heading h1{font-size:clamp(1.8rem,4vw,3rem)}.contract-document{white-space:normal;line-height:1.75;font-size:.94rem;padding:1.2rem;background:#fafafa;border:1px solid var(--line);border-radius:12px}.contract-proof{display:grid;gap:.35rem;margin:1rem 0;padding:.8rem;background:#eef7f4;border-radius:10px;font-size:.72rem;overflow-wrap:anywhere}.contract-sign-form{display:grid;gap:.9rem;margin-top:1.5rem}.contract-sign-form>label:not(.privacy-check){display:grid;gap:.35rem;font-weight:800;font-size:.82rem}.contract-sign-form input[type=text],.contract-sign-form input[type=email]{width:100%;border:1px solid var(--line-strong);border-radius:9px;padding:.8rem}.signature-pad-wrap{width:100%;height:210px;border:2px dashed #aebbb4;border-radius:12px;background:#fff;touch-action:none}.signature-pad-wrap canvas{display:block;width:100%;height:210px;touch-action:none}.contract-warning{padding:.9rem;background:#fff6dc;border:1px solid #ead28d;border-radius:10px;font-size:.78rem}.contract-success{text-align:center;max-width:700px;margin:3rem auto}.contract-icon{display:inline-grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#dff6eb;color:#087a59;font-size:2.3rem;font-weight:900}
@media(max-width:760px){.card-title-row{display:grid}.message-admin-grid{grid-template-columns:1fr}.message-bubble{max-width:96%}.private-data-list{grid-template-columns:1fr}.contract-status-list>div{grid-template-columns:1fr}.contract-status-list small{grid-column:1}.contract-admin-preview{min-width:70vw}}

/* Galonea 2.4 — reintentos semanales, suscripciones y pagos */
.status-retry_ready{background:#e9efff;color:#3150a1}.status-pending_payment,.status-pending{background:#fff4cf;color:#7a5c00}.status-active,.status-paid{background:#e5f8f2;color:#087b6c}.status-on_hold,.status-failed{background:#fff0d8;color:#8a5300}.status-pending_cancel{background:#eeeaff;color:#5d43a4}.status-completed{background:#e8f5ec;color:#28673b}.status-expired,.status-cancelled,.status-refunded{background:#ffeae6;color:#9f301a}
.service-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .62rem;font-size:.68rem;font-weight:800;white-space:nowrap}.service-pending{background:#fff4cf;color:#7a5c00}.service-active{background:#dff6eb;color:#087a59}.service-grace{background:#fff0d8;color:#8a5300}.service-suspended{background:#ffe4df;color:#9f301a}.service-ended{background:#ececec;color:#565656}
.retry-notice{background:#fff8df;border-color:#ebd486}.retry-assign-form{display:flex;align-items:center;gap:.5rem;min-width:300px}.retry-assign-form select{min-width:170px;border:1px solid var(--line-strong);border-radius:9px;padding:.62rem;background:#fff}.subscriptions-metrics{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.subscriptions-table-scroll{max-height:72vh;border:1px solid var(--line);border-radius:12px}.subscription-inline-form{min-width:min(720px,72vw);grid-template-columns:repeat(3,minmax(170px,1fr));padding:1rem;background:#fafcfa;border:1px solid var(--line);border-radius:10px}.subscription-inline-form label:last-of-type{grid-column:1/-1}.subscription-inline-form textarea{min-height:72px}.operations-steps{display:grid;gap:.65rem;counter-reset:steps}.operations-steps li{list-style:none;position:relative;padding:.85rem 1rem .85rem 3.2rem;border:1px solid var(--line);border-radius:11px;background:#fafafa}.operations-steps li:before{counter-increment:steps;content:counter(steps);position:absolute;left:1rem;top:.72rem;width:1.55rem;height:1.55rem;display:grid;place-items:center;border-radius:50%;background:var(--teal-dark);color:#fff;font-weight:800}.dashboard-table code{font-size:.72rem;overflow-wrap:anywhere}
@media(max-width:760px){.retry-assign-form{min-width:250px;display:grid}.subscription-inline-form{min-width:74vw;grid-template-columns:1fr}}

/* Candidaturas */
.dashboard-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem;}
.dashboard-card-heading h2{margin-bottom:.25rem;}
.dashboard-card-heading p{margin:0;color:var(--ink-soft);}
.application-live-status{display:grid;justify-items:end;gap:.35rem;}
.application-live-status small{color:var(--ink-faint);}
.applications-live-card.has-new-applications{box-shadow:0 0 0 3px rgba(220,91,66,.16);}
.application-admin-form{display:grid;gap:.55rem;min-width:250px;}
.application-admin-form select,.application-admin-form textarea{width:100%;}
.application-admin-form textarea{min-height:72px;resize:vertical;}
.application-admin-form+.btn,.application-admin-form~.btn{margin-top:.55rem;}
