/* D'Orygin Onboarding — estilos aislados de la landing y del resto del panel */
.onboarding-page { --onb-pink:#ed2d83; --onb-purple:#8d18d1; }
.qa-page-header { display:flex; justify-content:space-between; gap:24px; margin-bottom:20px; }
.qa-page-header h1 { margin:7px 0 8px; font-size:34px; letter-spacing:-.035em; }
.qa-page-header p { max-width:720px; color:var(--text-muted); line-height:1.55; }
.qa-view-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
.qa-view-tabs button { display:grid; grid-template-columns:auto 1fr; column-gap:12px; padding:16px 18px; color:var(--text-muted); text-align:left; border:1px solid var(--border-soft); border-radius:15px; background:var(--surface); cursor:pointer; }
.qa-view-tabs button>span { grid-row:1/3; display:grid; place-items:center; width:34px; height:34px; color:var(--text-muted); border-radius:10px; background:rgba(255,255,255,.05); font-size:11px; font-weight:700; }
.qa-view-tabs button strong { color:var(--text-primary); font-size:14px; }
.qa-view-tabs button small { margin-top:3px; color:var(--text-faint); }
.qa-view-tabs button.active { border-color:rgba(237,45,131,.52); background:linear-gradient(110deg,rgba(237,45,131,.1),rgba(141,24,209,.08)),var(--surface); }
.qa-view-tabs button.active>span { color:white; background:linear-gradient(105deg,var(--onb-pink),var(--onb-purple)); }
.qa-view-panel[hidden] { display:none; }
.qa-global-notice { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; padding:22px 24px; border:1px solid rgba(141,24,209,.34); border-radius:18px; background:linear-gradient(110deg,rgba(141,24,209,.1),rgba(237,45,131,.05)),var(--surface); }
.qa-global-notice h2 { margin:6px 0; font-size:21px; }
.qa-global-notice p { max-width:760px; color:var(--text-muted); font-size:13px; line-height:1.55; }
.qa-global-badge { flex:0 0 auto; padding:8px 12px; color:#e6ccff; border:1px solid rgba(188,104,255,.3); border-radius:999px; background:rgba(141,24,209,.14); font-size:11px; font-weight:700; }
.onboarding-hero { position:relative; overflow:hidden; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:24px; padding:30px; border:1px solid var(--border-soft); border-radius:22px; background:linear-gradient(120deg,rgba(237,45,131,.12),rgba(141,24,209,.13)),var(--surface); }
.onboarding-hero:after { content:""; position:absolute; width:260px; height:260px; right:-100px; top:-140px; border-radius:50%; background:radial-gradient(circle,rgba(237,45,131,.27),transparent 68%); }
.onboarding-eyebrow { color:#ec77b3; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.onboarding-hero h1,.onboarding-hero h2 { margin:8px 0 10px; font-size:32px; letter-spacing:-.045em; }
.onboarding-hero h1 span,.onboarding-hero h2 span { background:linear-gradient(100deg,#ad13bb,#e62e78); -webkit-background-clip:text; background-clip:text; color:transparent; }
.onboarding-hero p { max-width:600px; color:var(--text-muted); line-height:1.6; }
.onboarding-client { position:relative; z-index:1; min-width:270px; }
.onboarding-client span { display:block; margin-bottom:7px; color:var(--text-muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.onboarding-client select { width:100%; padding:12px 38px 12px 14px; color:var(--text-primary); background:var(--surface-raised); border:1px solid var(--border-soft); border-radius:12px; }
.onboarding-hero-actions { position:relative; z-index:1; display:flex; align-items:flex-end; gap:12px; }
.onboarding-new { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:10px 17px; color:white; border-radius:999px; background:linear-gradient(105deg,var(--onb-pink),var(--onb-purple)); font-size:13px; font-weight:700; text-decoration:none; white-space:nowrap; }
.onboarding-new:hover { color:white; transform:translateY(-1px); }
.onboarding-config { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:10px 17px; color:var(--text-primary); border:1px solid var(--border-soft); border-radius:999px; background:var(--surface-raised); font-size:13px; font-weight:700; text-decoration:none; white-space:nowrap; }
.onboarding-config:hover { border-color:rgba(237,45,131,.45); color:#fff; }
.provision-form { display:grid; gap:20px; }
.provision-section { padding:24px; border:1px solid var(--border-soft); border-radius:20px; background:var(--surface); }
.provision-section h2 { margin-bottom:6px; font-size:18px; }
.provision-section>p { margin-bottom:20px; color:var(--text-muted); font-size:13px; line-height:1.5; }
.provision-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.provision-field { display:grid; gap:7px; color:var(--text-muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.provision-field--full { grid-column:1/-1; }
.provision-field input,.provision-field select,.provision-field textarea { width:100%; padding:12px 14px; color:var(--text-primary); background:var(--surface-raised); border:1px solid var(--border-soft); border-radius:12px; font:inherit; font-size:14px; font-weight:400; text-transform:none; }
.provision-field textarea { min-height:86px; resize:vertical; }
.provision-hint { color:var(--text-faint); font-size:11px; font-weight:400; line-height:1.4; text-transform:none; }
.provision-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; border:1px solid rgba(237,45,131,.22); border-radius:17px; background:rgba(237,45,131,.06); }
.provision-footer p { max-width:650px; color:var(--text-muted); font-size:12px; line-height:1.5; }
.provision-result { padding:16px; color:#83eac2; border:1px solid rgba(115,230,189,.28); border-radius:14px; background:rgba(115,230,189,.08); }
.onboarding-progress-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; margin-bottom:24px; padding:22px 26px; background:var(--surface); border:1px solid var(--border-soft); border-radius:18px; }
.progress-ring { --progress:0deg; width:76px; height:76px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle at center,var(--surface) 56%,transparent 58%),conic-gradient(var(--onb-pink) 0 var(--progress),rgba(255,255,255,.08) var(--progress) 360deg); }
.progress-ring strong { font-size:17px; }
.onboarding-progress-card h2 { margin:5px 0; font-size:19px; }
.onboarding-progress-card p,.onboarding-panel-head p { color:var(--text-muted); font-size:13px; }
.onboarding-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.onboarding-panel { padding:24px; border:1px solid var(--border-soft); border-radius:20px; background:var(--surface); box-shadow:0 14px 38px rgba(0,0,0,.16); }
.onboarding-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.onboarding-panel-head>div { display:flex; align-items:center; gap:10px; }
.onboarding-panel-head h2 { font-size:18px; }
.step-number { color:#d862ad; font-size:11px; font-weight:700; }
.check-list,.manual-checks { display:grid; gap:10px; }
.check-row,.manual-row { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; min-height:66px; padding:12px 14px; border:1px solid var(--border-soft); border-radius:13px; background:rgba(255,255,255,.018); }
.check-icon,.custom-check { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; font-size:13px; font-weight:800; }
.is-ready .check-icon { color:#073f2e; background:#73e6bd; }
.is-pending .check-icon { color:#5a3700; background:#ffd179; }
.check-row strong,.manual-row strong { display:block; font-size:13px; }
.check-row p,.manual-row small { display:block; margin-top:4px; color:var(--text-faint); font-size:11px; line-height:1.4; }
.check-state { color:var(--text-muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.manual-row { grid-template-columns:auto 1fr; cursor:pointer; }
.manual-row input { position:absolute; opacity:0; pointer-events:none; }
.custom-check { border:1px solid rgba(237,45,131,.42); }
.manual-row input:checked+.custom-check { background:linear-gradient(105deg,var(--onb-pink),var(--onb-purple)); border-color:transparent; }
.manual-row input:checked+.custom-check:after { content:"✓"; color:white; }
.notes-field { display:grid; gap:7px; margin-top:8px; color:var(--text-muted); font-size:12px; font-weight:600; }
.notes-field textarea { min-height:95px; resize:vertical; padding:12px; color:var(--text-primary); background:rgba(255,255,255,.025); border:1px solid var(--border-soft); border-radius:12px; font:inherit; }
.manual-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:8px; }
.manual-footer span { color:var(--text-faint); font-size:11px; }
.onboarding-save { padding:11px 20px; color:white; border:0; border-radius:999px; background:linear-gradient(105deg,var(--onb-pink),var(--onb-purple)); font-weight:700; cursor:pointer; }
.onboarding-save:disabled { opacity:.55; }
.onboarding-alert { margin-bottom:20px; padding:14px; color:#ffafd4; background:rgba(237,45,131,.09); border:1px solid rgba(237,45,131,.25); border-radius:12px; }
.onboarding-plan-summary { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; padding:22px 26px; border:1px solid rgba(237,45,131,.28); border-radius:18px; background:linear-gradient(110deg,rgba(237,45,131,.08),rgba(141,24,209,.08)),var(--surface); }
.onboarding-plan-summary h2 { margin:5px 0; font-size:22px; }
.onboarding-plan-summary p { color:var(--text-muted); font-size:13px; }
.onboarding-limit-list { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.onboarding-limit-list span { min-width:88px; padding:10px 12px; text-align:center; color:var(--text-muted); font-size:11px; border:1px solid var(--border-soft); border-radius:12px; background:var(--surface-raised); }
.onboarding-limit-list strong { display:block; margin-bottom:2px; color:var(--text-primary); font-size:16px; }
.paid-contracts { margin-bottom:24px; padding:24px; border:1px solid var(--border-soft); border-radius:20px; background:var(--surface); box-shadow:0 14px 38px rgba(0,0,0,.14); }
.paid-contracts-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:18px; }
.paid-contracts-head h2 { margin:6px 0; font-size:21px; }
.paid-contracts-head p { max-width:680px; color:var(--text-muted); font-size:13px; line-height:1.55; }
.paid-contracts-summary { flex:0 0 auto; padding:9px 13px; color:#d8c7e5; border:1px solid var(--border-soft); border-radius:999px; background:var(--surface-raised); font-size:12px; }
.paid-contracts-list { display:grid; gap:12px; }
.paid-contract-card { padding:18px; border:1px solid var(--border-soft); border-radius:15px; background:var(--surface-raised); }
.paid-contract-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.paid-contract-card-head strong,.paid-contract-card-head span { display:block; }
.paid-contract-card-head strong { margin-bottom:4px; font-size:16px; }
.paid-contract-card-head div>span { color:var(--text-muted); font-size:12px; }
.paid-contract-badge { padding:7px 10px; border-radius:999px; font-size:11px; font-weight:700; white-space:nowrap; }
.paid-contract-badge.is-sandbox { color:#efc3ff; background:rgba(141,24,209,.18); border:1px solid rgba(197,91,255,.3); }
.paid-contract-badge.is-ready { color:#8ff0c8; background:rgba(20,170,115,.13); border:1px solid rgba(65,213,158,.3); }
.paid-contract-badge.is-blocked { color:#ffb3c7; background:rgba(237,45,131,.12); border:1px solid rgba(237,45,131,.28); }
.paid-contract-data { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:16px 0 0; }
.paid-contract-data div { min-width:0; padding:10px 12px; border-radius:10px; background:rgba(255,255,255,.025); }
.paid-contract-data dt { color:var(--text-muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.paid-contract-data dd { overflow:hidden; margin:4px 0 0; color:var(--text-primary); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.paid-contract-reason,.paid-contracts-empty,.paid-contracts-error { margin:14px 0 0; color:var(--text-muted); font-size:12px; line-height:1.5; }
.paid-contracts-error { color:#ffafd4; }
.paid-contract-actions { display:flex; justify-content:flex-end; margin-top:15px; padding-top:15px; border-top:1px solid var(--border-soft); }
.provision-dialog { width:min(620px,calc(100vw - 28px)); padding:0; color:var(--text-primary); border:1px solid var(--border-soft); border-radius:20px; background:#14091f; box-shadow:0 30px 90px rgba(0,0,0,.55); }
.provision-dialog::backdrop { background:rgba(4,1,8,.78); backdrop-filter:blur(4px); }
.provision-dialog-card { position:relative; padding:26px; }
.provision-dialog-card h2 { margin:8px 0; font-size:23px; }
.provision-dialog-card>p { margin:0 0 18px; color:var(--text-muted); font-size:13px; line-height:1.55; }
.provision-dialog-close { position:absolute; top:15px; right:17px; width:34px; height:34px; color:var(--text-muted); border:0; border-radius:50%; background:rgba(255,255,255,.05); font-size:23px; cursor:pointer; }
.provision-dialog-summary { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:18px; }
.provision-dialog-summary div { padding:11px 12px; border-radius:10px; background:rgba(255,255,255,.035); }
.provision-dialog-summary span,.provision-dialog-summary strong { display:block; }
.provision-dialog-summary span { margin-bottom:4px; color:var(--text-muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.provision-dialog-summary strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.provision-dialog-field { display:grid; gap:7px; margin-top:13px; color:#d9c7e7; font-size:12px; font-weight:650; }
.provision-dialog-field input,.provision-dialog-field select { width:100%; padding:12px 13px; color:var(--text-primary); border:1px solid var(--border-soft); border-radius:10px; outline:none; background:var(--surface-raised); }
.provision-dialog-field small { color:var(--text-muted); font-weight:400; }
.provision-confirm-check { display:flex; align-items:flex-start; gap:9px; margin-top:18px; color:#d9c7e7; font-size:12px; line-height:1.45; }
.provision-confirm-check input { margin-top:2px; accent-color:#ed2d83; }
.provision-dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
@media(max-width:1100px){.onboarding-grid{grid-template-columns:1fr}.onboarding-hero{align-items:stretch;flex-direction:column}.onboarding-hero-actions{align-items:stretch;flex-direction:column}.onboarding-client{min-width:0}.onboarding-progress-card{grid-template-columns:auto 1fr}.onboarding-progress-card .btn-refresh{grid-column:1/-1;width:max-content}}
@media(max-width:768px){.qa-view-tabs{grid-template-columns:1fr}.qa-global-notice{align-items:flex-start;flex-direction:column}.onboarding-hero{padding:22px}.onboarding-hero h1,.onboarding-hero h2{font-size:29px}.onboarding-progress-card{grid-template-columns:1fr}.progress-ring{margin:auto}.onboarding-plan-summary{align-items:flex-start;flex-direction:column}.onboarding-limit-list{justify-content:flex-start}.onboarding-panel{padding:17px}.onboarding-panel-head{flex-direction:column}.check-state{display:none}.manual-footer,.provision-footer{align-items:stretch;flex-direction:column}.provision-fields{grid-template-columns:1fr}.provision-field--full{grid-column:auto}.onboarding-save{width:100%}.paid-contracts{padding:17px}.paid-contracts-head,.paid-contract-card-head{align-items:stretch;flex-direction:column}.paid-contracts-summary{width:max-content}.paid-contract-data,.provision-dialog-summary{grid-template-columns:1fr}.provision-dialog-actions{align-items:stretch;flex-direction:column-reverse}.provision-dialog-actions .onboarding-save{width:100%}}
