:root{--dtb-navy:var(--dt-primary,var(--dt-dark,#0e2d56));--dtb-blue:var(--dt-secondary,var(--dt-primary,#1768ff));--dtb-ink:#162238;--dtb-muted:#6f7f99;--dtb-line:#dbe4f0;--dtb-bg:#f6f8fc;--dtb-green:#129b69;--dtb-red:#d73553}
.dt-b2b-app{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dtb-ink);max-width:1380px;margin:0 auto;padding:22px}.dt-b2b-app *{box-sizing:border-box}.dt-b2b-hero{background:var(--dt-panel-gradient,linear-gradient(110deg,var(--dtb-navy) 0%,var(--dtb-navy) 30%,var(--dtb-blue) 100%));border-radius:24px;padding:34px 36px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 20px 45px rgba(14,45,86,.14)}.dt-b2b-hero span,.dt-b2b-section-title>div>span,.form-head span,.view-head span{font-size:12px;font-weight:800;letter-spacing:.15em}.dt-b2b-hero h1{color:#fff!important;font-size:34px;line-height:1.08;margin:8px 0 9px;font-weight:800}.dt-b2b-hero p{margin:0;color:#dce8fa;font-size:16px}.dt-b2b-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.dt-b2b-app button{border:1px solid #d7e1ef;background:#fff;color:var(--dtb-ink);border-radius:11px;padding:12px 17px;font-weight:750;cursor:pointer;transition:.18s ease}.dt-b2b-app button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,45,85,.12)}.dt-b2b-app button.primary{background:var(--dtb-blue);border-color:var(--dtb-blue);color:#fff}.dt-b2b-hero-actions button{background:#fff;color:var(--dt-dark,#0e2d56);border-color:#fff}.dt-b2b-hero-actions .primary{background:var(--dt-primary,#1768ff);color:#fff;border-color:var(--dt-primary,#1768ff)}.dt-b2b-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.dt-b2b-summary>div{background:#fff;border:1px solid var(--dtb-line);border-radius:17px;padding:22px;box-shadow:0 8px 24px rgba(19,49,83,.045)}.dt-b2b-summary strong{display:block;font-size:30px}.dt-b2b-summary span{display:block;color:var(--dtb-muted);font-size:13px;margin-top:4px}.dt-b2b-panel{background:#fff;border:1px solid var(--dtb-line);border-radius:20px;margin-top:18px;box-shadow:0 10px 32px rgba(16,46,83,.055);overflow:hidden}.dt-b2b-section-title{padding:24px 25px 18px;display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.dt-b2b-section-title h2{margin:5px 0 5px;font-size:24px;color:var(--dtb-ink)!important}.dt-b2b-section-title p{margin:0;color:var(--dtb-muted)}.dt-b2b-section-title>div>span{color:var(--dtb-blue)}.dt-b2b-search input{width:360px;max-width:100%;padding:13px 15px;border:1px solid var(--dtb-line);border-radius:11px;font-size:14px}.dt-b2b-table-wrap{overflow:auto;border-top:1px solid var(--dtb-line)}.dt-b2b-table{width:100%;border-collapse:separate;border-spacing:0;min-width:940px}.dt-b2b-table th{background:#f3f6fb;color:#61728e;font-size:11px;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:14px 15px;border-bottom:1px solid var(--dtb-line)}.dt-b2b-table td{padding:15px;border-bottom:1px solid #edf1f7;vertical-align:middle}.dt-b2b-table tbody tr:hover td{background:#fbfdff}.client{display:flex;align-items:center;gap:10px}.client i{width:38px;height:38px;border-radius:12px;background:var(--dt-primary-soft,#eaf2ff);color:var(--dt-primary,#1768ff);display:grid;place-items:center;font-style:normal;font-weight:800}.client strong,.client small{display:block}.client small{font-size:12px;color:var(--dtb-muted);margin-top:2px}.metric{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:9px;background:var(--dt-primary-soft,#eef4ff);color:var(--dt-primary,#1768ff);font-weight:800}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:750;background:#edf1f7;color:#5e6f89}.pill.ok{background:#e6f8f1;color:#0d8c60}.actions{white-space:nowrap}.actions button{padding:8px 10px;margin-right:4px;border-radius:9px}.actions .danger,.remove-course{color:var(--dtb-red)!important;background:#fff2f4!important;border-color:#ffd4dc!important}.dt-b2b-empty{padding:35px;text-align:center;color:var(--dtb-muted)}.dt-upload-panel{padding-bottom:24px}.outline{background:var(--dt-primary-soft,#f4f8ff)!important;color:var(--dt-primary,#1768ff)!important;border-color:var(--dt-border,#cfe0ff)!important}.roster-grid{padding:0 25px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.dt-b2b-app label,.dt-b2b-modal label{font-size:12px;font-weight:750;color:#53647f}.dt-b2b-app input,.dt-b2b-app select,.dt-b2b-app textarea,.dt-b2b-modal input,.dt-b2b-modal select,.dt-b2b-modal textarea{width:100%;margin-top:6px;padding:12px 13px;border:1px solid #d5dfed;border-radius:10px;background:#fff;color:#172238;font:inherit;outline:none}.dt-b2b-app input:focus,.dt-b2b-app select:focus,.dt-b2b-modal input:focus,.dt-b2b-modal select:focus,.dt-b2b-modal textarea:focus{border-color:var(--dt-primary,#5b91ff);box-shadow:0 0 0 3px color-mix(in srgb,var(--dt-primary,#1768ff) 9%,transparent)}.course-picker{margin:18px 25px;border:1px solid var(--dtb-line);border-radius:15px;padding:17px;background:#f9fbfe}.course-picker>div:first-child strong,.course-picker>div:first-child small{display:block}.course-picker small{color:var(--dtb-muted);font-size:12px;margin-top:3px}.course-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px;max-height:230px;overflow:auto}.course-checks label{background:#fff;border:1px solid #e0e7f1;padding:10px 11px;border-radius:10px;display:flex;gap:8px;align-items:center}.course-checks input{width:auto;margin:0;accent-color:var(--dt-primary,#1768ff)}.automation-flow{margin:20px 25px;display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap}.automation-flow div{display:flex;align-items:center;gap:7px;color:#495b76}.automation-flow b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--dt-primary-soft,#e9f1ff);color:var(--dt-primary,#1768ff)}.automation-flow i{font-style:normal;color:#9badc5}.roster-actions{border-top:1px solid var(--dtb-line);padding:18px 25px 0;display:flex;align-items:center;justify-content:space-between;gap:18px}.hint{font-size:12px;color:var(--dtb-muted)}.big{padding:14px 24px!important}.dt-roster-result{margin:20px 25px 0}.result-ok{background:#f1fbf7;border:1px solid #cdeede;border-radius:16px;padding:20px}.result-ok h3{margin:0 0 6px;color:#146746!important}.result-ok p{margin:0 0 14px}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0}.result-stats span{background:#fff;border:1px solid #dbefe6;border-radius:10px;padding:11px}.result-stats b{display:block;font-size:20px}.dt-b2b-modal[hidden]{display:none!important}.dt-b2b-modal{position:fixed;inset:0;z-index:999999}.modal-backdrop{position:absolute;inset:0;background:rgba(7,20,38,.62);backdrop-filter:blur(4px)}.modal-card{position:relative;width:min(1180px,calc(100vw - 34px));max-height:calc(100vh - 34px);overflow:auto;margin:17px auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(3,16,35,.35);padding:28px}.modal-close{position:sticky;float:right;top:0;z-index:3;width:42px;height:42px;padding:0!important;border-radius:50%!important;font-size:24px!important;color:#d73553!important;background:#f2f5f9!important}.dt-b2b-lock{overflow:hidden}.form-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px;padding-right:55px}.form-head span,.view-head span{color:var(--dt-primary,#1768ff)}.form-head h2,.view-head h2{font-size:28px;margin:5px 0;color:#162238!important}.form-head p,.view-head p{margin:0;color:var(--dtb-muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.span2{grid-column:1/-1}.courses-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 12px;border-top:1px solid var(--dtb-line);padding-top:22px}.courses-head h3{margin:0;color:#162238!important}.courses-head p{margin:3px 0 0;color:var(--dtb-muted);font-size:13px}.course-row{border:1px solid #dce5f1;border-radius:15px;padding:16px;margin-bottom:13px;background:#fbfcfe}.course-row-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.view-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.view-meta>div{padding:14px;border:1px solid var(--dtb-line);border-radius:12px}.view-meta small,.view-meta strong{display:block}.view-meta small{color:var(--dtb-muted);margin-bottom:3px}.view-table{overflow:auto}.view-table table{width:100%;border-collapse:collapse}.view-table th,.view-table td{padding:12px;border-bottom:1px solid var(--dtb-line);text-align:left}.view-table th{background:#f5f8fc;font-size:11px;text-transform:uppercase;color:#677994}.dt-b2b-toast{position:fixed;left:50%;top:28px;transform:translate(-50%,-15px);opacity:0;z-index:1000000;background:var(--dt-dark,#17335b);color:#fff;padding:13px 20px;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.2);font-weight:750;transition:.2s}.dt-b2b-toast.show{transform:translate(-50%,0);opacity:1}.dt-b2b-toast.error{background:#c93650}.dt-b2b-toast.warn{background:#a86d08}.dt-b2b-noaccess{padding:20px;border:1px solid #f0d7a8;background:#fff8e8;border-radius:12px}
@media(max-width:900px){.dt-b2b-app{padding:12px}.dt-b2b-hero,.dt-b2b-section-title,.roster-actions,.form-head{align-items:stretch;flex-direction:column}.dt-b2b-summary{grid-template-columns:1fr 1fr}.dt-b2b-search input{width:100%}.roster-grid,.form-grid,.course-grid,.view-meta{grid-template-columns:1fr}.course-checks{grid-template-columns:1fr 1fr}.span2{grid-column:auto}.result-stats{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.dt-b2b-summary,.course-checks{grid-template-columns:1fr}.dt-b2b-hero h1{font-size:27px}.modal-card{padding:18px}.automation-flow i{display:none}.automation-flow{justify-content:flex-start}}

.dt-b2b-wrap .id-action-info{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:13px 16px;border:1px solid #d7e3f6;border-radius:12px;background:#f7faff;color:#17243d}
.dt-b2b-wrap .id-action-info strong{font-size:14px;color:var(--dt-primary,#1769ff)}
.dt-b2b-wrap .id-action-info span{font-size:12px;line-height:1.45;color:#667895}

/* v1.1.0 premium */
.dt-b2b-premium{--ink:#12213b;--muted:#6c7f9b;--line:#dce6f4;--blue:var(--dt-primary,#1769ff);--navy:var(--dt-dark,#0d2d57);max-width:1450px;margin:0 auto;padding:0 18px 55px}
.dt-b2b-premium .premium-hero{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:30px!important;padding:38px 40px!important;border-radius:28px!important;background:var(--dt-panel-gradient,linear-gradient(110deg,var(--dt-primary,#0d2d57) 0%,var(--dt-primary,#0d2d57) 30%,var(--dt-secondary,#1769ff) 100%))!important;box-shadow:0 24px 70px rgba(18,52,101,.18)!important;color:#fff!important}
.dt-b2b-premium .eyebrow,.dt-b2b-premium .section-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:2px;color:#6fa5ff;margin-bottom:8px}
.dt-b2b-premium .premium-hero .eyebrow{color:#c5dcff}
.dt-b2b-premium .premium-hero h1{margin:0!important;color:#fff!important;font-size:32px!important;font-weight:800!important;letter-spacing:-.7px!important}
.dt-b2b-premium .premium-hero p{margin:10px 0 0!important;color:#d6e6fb!important;font-size:15px!important}
.dt-b2b-premium .hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.dt-b2b-premium .hero-btn,.dt-b2b-premium .solid-btn,.dt-b2b-premium .soft-btn,.dt-b2b-premium .action-btn{cursor:pointer;border:0;font-weight:750;transition:.2s ease}
.dt-b2b-premium .hero-btn{height:48px;padding:0 18px;border-radius:14px}
.dt-b2b-premium .hero-btn.ghost{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:#fff}
.dt-b2b-premium .hero-btn.primary{background:#fff;color:#145fd8}
.dt-b2b-premium .dt-b2b-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 24px}
.dt-b2b-premium .dt-b2b-kpis article{padding:20px 22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 36px rgba(27,62,112,.06)}
.dt-b2b-premium .dt-b2b-kpis span{display:block;color:var(--muted);font-size:12px;font-weight:700}
.dt-b2b-premium .dt-b2b-kpis strong{display:block;margin:7px 0 2px;font-size:30px;color:var(--ink)}
.dt-b2b-premium .dt-b2b-kpis small{color:#9aabc1;font-size:11px}
.dt-b2b-premium .premium-section{margin-top:24px;padding:28px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 16px 50px rgba(22,58,109,.06)}
.dt-b2b-premium .section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
.dt-b2b-premium .section-heading h2{margin:0!important;color:var(--ink)!important;font-size:25px!important;font-weight:800!important}
.dt-b2b-premium .section-heading p{margin:7px 0 0;color:var(--muted);font-size:14px}
.dt-b2b-premium .section-actions{display:flex;gap:10px;flex-wrap:wrap}
.dt-b2b-premium .soft-btn,.dt-b2b-premium .solid-btn{min-height:44px;padding:0 17px;border-radius:13px}
.dt-b2b-premium .soft-btn{background:#f3f7fd;color:#245790;border:1px solid #dce8f8}
.dt-b2b-premium .solid-btn{background:linear-gradient(135deg,var(--dt-primary,#1769ff),var(--dt-primary-hover,#0f55df));color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--dt-primary,#1769ff) 20%,transparent)}
.dt-b2b-premium .solid-btn.full{width:100%;margin-top:14px}
.dt-b2b-premium .execution-tools{display:grid;grid-template-columns:1fr 230px;gap:12px;margin-bottom:18px}
.dt-b2b-premium .search-shell{display:flex;align-items:center;gap:9px;height:48px;padding:0 15px;border:1px solid var(--line);border-radius:15px;background:#fbfdff}
.dt-b2b-premium .search-shell input{width:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important}
.dt-b2b-premium #dtExecutionStatusFilter{height:48px;border:1px solid var(--line);border-radius:15px;background:#fbfdff;padding:0 13px}
.dt-b2b-premium .execution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dt-b2b-premium .execution-card{overflow:hidden;border:1px solid #dbe6f5;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 12px 34px rgba(20,57,107,.07);transition:.2s}
.dt-b2b-premium .execution-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(20,57,107,.12)}
.dt-b2b-premium .execution-top{display:grid;grid-template-columns:48px 1fr auto;gap:14px;padding:20px 20px 14px;align-items:start}
.dt-b2b-premium .company-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,var(--dt-primary-soft,#eaf2ff),#d9e7ff);color:#145fd8;font-weight:900;font-size:19px}
.dt-b2b-premium .execution-title small{display:block;color:#6d809d;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}
.dt-b2b-premium .execution-title h3{margin:2px 0 0!important;color:var(--ink)!important;font-size:19px!important;font-weight:800!important}
.dt-b2b-premium .chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.dt-b2b-premium .chips span{padding:5px 8px;border-radius:9px;background:#f4f7fb;color:#788aa5;font-size:10px}
.dt-b2b-premium .chips b{color:#425978}
.dt-b2b-premium .status-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}
.dt-b2b-premium .status-pill.ready{background:#e8f8f2;color:#087d59}.dt-b2b-premium .status-pill.pending{background:#fff6df;color:#9a6411}.dt-b2b-premium .status-pill.alert{background:#fff0f2;color:#bd3f55}.dt-b2b-premium .status-pill.done{background:#eef1f5;color:#667386}
.dt-b2b-premium .detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 20px;padding:12px;border-radius:14px;background:#f7faff;border:1px solid #edf2f9}
.dt-b2b-premium .detail-grid small{display:block;color:#8b9bb2;font-size:9px;text-transform:uppercase;letter-spacing:.55px}
.dt-b2b-premium .detail-grid strong{display:block;margin-top:3px;color:#344b6b;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dt-b2b-premium .execution-progress{padding:16px 20px}
.dt-b2b-premium .bar-info{display:flex;justify-content:space-between;margin-bottom:6px;color:#7d8fa9;font-size:10px}
.dt-b2b-premium .bar{height:7px;border-radius:999px;background:#eaf0f8;overflow:hidden}
.dt-b2b-premium .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--dt-primary,#1769ff),var(--dt-secondary,#59a1ff))}
.dt-b2b-premium .participant-count{margin-top:9px;color:#7387a3;font-size:11px}.dt-b2b-premium .participant-count b{color:#17385f;font-size:17px}
.dt-b2b-premium .execution-actions{display:flex;gap:8px;flex-wrap:wrap;padding:13px 18px;border-top:1px solid #edf1f6;background:#f9fbfe}
.dt-b2b-premium .action-btn{padding:9px 11px;border-radius:11px;background:#fff;border:1px solid #dfe7f2;color:#385476;font-size:11px}
.dt-b2b-premium .action-btn.main{background:linear-gradient(135deg,var(--dt-primary,#1769ff),var(--dt-primary-hover,#0f55df));border-color:transparent;color:#fff}
.dt-b2b-premium .premium-empty{grid-column:1/-1;padding:52px 25px;text-align:center;border:1px dashed #cad9ee;border-radius:20px;background:#f9fbfe}
.dt-b2b-premium .premium-empty>div{font-size:30px;color:var(--dt-primary,#1769ff)}.dt-b2b-premium .premium-empty h3{margin:7px 0;color:var(--ink)}
.dt-b2b-premium .monitor{overflow:hidden;border:1px solid #dce6f3;border-radius:18px}
.dt-b2b-premium .monitor-head,.dt-b2b-premium .monitor-row{display:grid;grid-template-columns:2.1fr .9fr .85fr .9fr 1.1fr 1.1fr;gap:12px;align-items:center}
.dt-b2b-premium .monitor-head{padding:12px 16px;background:#f3f7fc;color:#71849f;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.7px}
.dt-b2b-premium .monitor-row{padding:14px 16px;border-top:1px solid #edf2f8;color:#536985;font-size:11px}
.dt-b2b-premium .monitor-course{display:flex;align-items:center;gap:10px}.dt-b2b-premium .monitor-course>i{width:9px;height:9px;border-radius:50%;background:#aab6c7}.dt-b2b-premium .monitor-course>i.ready{background:#17a878}.dt-b2b-premium .monitor-course>i.pending{background:#d99927}.dt-b2b-premium .monitor-course>i.alert{background:#d94d65}
.dt-b2b-premium .monitor-course strong{display:block;color:#233b5d;font-size:12px}.dt-b2b-premium .monitor-course small{display:block;color:#8597ae;margin-top:2px}
.dt-b2b-premium .mono{padding:5px 7px;border-radius:8px;background:#f2f5fa;color:#435d7f;font-family:monospace;font-size:10px}
.dt-b2b-premium .ok-chip,.dt-b2b-premium .warn-chip{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800}.dt-b2b-premium .ok-chip{background:#e8f8f2;color:#087d59}.dt-b2b-premium .warn-chip{background:#fff4df;color:#a06a12}
.dt-b2b-premium .mini-progress{display:flex;align-items:center;gap:8px}.dt-b2b-premium .mini-progress>div{width:78px;height:6px;border-radius:999px;background:#e9eff7;overflow:hidden}.dt-b2b-premium .mini-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--dt-primary,#1769ff),var(--dt-secondary,#65a6ff))}
.dt-b2b-premium .roster-modal-head h2{margin:0!important;font-size:27px!important;color:#12213b!important}.dt-b2b-premium .roster-modal-head p{color:#6c7f9b}
.dt-b2b-premium .roster-flow{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:20px 0;padding:15px;border-radius:16px;background:#f7faff;border:1px solid #e7eef8}.dt-b2b-premium .roster-flow div{display:flex;align-items:center;gap:7px;font-size:11px;color:#536a88}.dt-b2b-premium .roster-flow b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--dt-primary-soft,#e6f0ff);color:var(--dt-primary,#1769ff)}.dt-b2b-premium .roster-flow i{font-style:normal;color:#a6b4c8}
.dt-b2b-premium .roster-upload{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.dt-b2b-premium .roster-upload label span{display:block;margin-bottom:7px;font-size:11px;font-weight:800;color:#4d6380}.dt-b2b-premium .roster-upload input{width:100%;padding:12px;border:1px solid #dce6f2;border-radius:13px}.dt-b2b-premium .roster-note{margin-top:13px;padding:12px 14px;border-radius:12px;background:#eef5ff;color:#5b7190;font-size:11px;line-height:1.5}
@media(max-width:1050px){.dt-b2b-premium .dt-b2b-kpis{grid-template-columns:repeat(2,1fr)}.dt-b2b-premium .execution-grid{grid-template-columns:1fr}.dt-b2b-premium .monitor-head{display:none}.dt-b2b-premium .monitor-row{grid-template-columns:1.6fr .8fr .8fr}}
@media(max-width:720px){.dt-b2b-premium{padding:0 10px 40px}.dt-b2b-premium .premium-hero{flex-direction:column;align-items:flex-start!important;padding:28px 22px!important}.dt-b2b-premium .dt-b2b-kpis{grid-template-columns:1fr 1fr}.dt-b2b-premium .premium-section{padding:19px 14px}.dt-b2b-premium .section-heading{flex-direction:column}.dt-b2b-premium .execution-tools{grid-template-columns:1fr}.dt-b2b-premium .execution-top{grid-template-columns:42px 1fr}.dt-b2b-premium .execution-top .status-pill{grid-column:2}.dt-b2b-premium .detail-grid{grid-template-columns:1fr 1fr}.dt-b2b-premium .monitor-row{grid-template-columns:1fr 1fr}.dt-b2b-premium .roster-upload{grid-template-columns:1fr}.dt-b2b-premium .roster-flow{overflow-x:auto;justify-content:flex-start}}

/* v1.1.1 · Nómina visible dentro del curso contratado */
.dt-b2b-premium .course-roster-inline,
.dt-b2b-app .course-roster-inline{
    display:grid;
    grid-template-columns:46px 1fr auto;
    gap:14px;
    align-items:center;
    margin-top:16px;
    padding:16px;
    border:1px solid #dce7f6;
    border-radius:16px;
    background:linear-gradient(135deg,#f8fbff 0%,#f1f6fd 100%);
}
.dt-b2b-premium .course-roster-inline.locked,
.dt-b2b-app .course-roster-inline.locked{border-style:dashed}
.dt-b2b-premium .course-roster-icon,
.dt-b2b-app .course-roster-icon{
    display:grid;
    place-items:center;
    width:46px;height:46px;
    border-radius:14px;
    background:#e7f0ff;
    color:var(--dt-primary,#1769ff);
    font-size:22px;
    font-weight:900;
}
.dt-b2b-premium .course-roster-copy strong,
.dt-b2b-app .course-roster-copy strong{
    display:block;
    color:var(--dt-dark,#173457);
    font-size:13px;
    font-weight:800;
}
.dt-b2b-premium .course-roster-copy span,
.dt-b2b-app .course-roster-copy span{
    display:block;
    margin-top:4px;
    color:#7588a4;
    font-size:11px;
    line-height:1.45;
}
.dt-b2b-premium .roster-lock-btn,
.dt-b2b-app .roster-lock-btn{
    min-height:40px;
    padding:0 13px;
    border:1px solid #d9e3f1;
    border-radius:11px;
    background:#eef3f9;
    color:#7a8ca5;
    font-weight:750;
    cursor:not-allowed;
}
@media(max-width:720px){
    .dt-b2b-premium .course-roster-inline,
    .dt-b2b-app .course-roster-inline{
        grid-template-columns:42px 1fr;
    }
    .dt-b2b-premium .course-roster-actions,
    .dt-b2b-app .course-roster-actions{grid-column:1/-1}
}

/* v1.1.2 */
.dt-b2b-premium .execution-title .company-main{margin:0!important;color:var(--dt-dark,#173457)!important;font-size:19px!important;line-height:1.12!important;font-weight:900!important;letter-spacing:.15px!important;text-transform:uppercase}
.dt-b2b-premium .execution-title .course-secondary{display:block;margin-top:5px;color:#334e72;font-size:14px;line-height:1.25;font-weight:750}
.dt-b2b-premium .execution-title .chips{margin-top:8px}
.dt-b2b-premium .execution-actions .compact-export{min-width:44px;padding:9px 10px;font-weight:850;letter-spacing:.25px;background:#f1f5fa;color:#405978}
.dt-b2b-premium .execution-actions .compact-export:hover{background:#e7eef8;border-color:#cbd9eb}

/* v1.1.3 · Modal premium de carga de nómina */
.dt-b2b-modal[hidden]{display:none!important}
.dt-b2b-modal{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
}
.dt-b2b-modal .modal-backdrop{
    position:absolute!important;
    inset:0!important;
    background:rgba(8,24,47,.72)!important;
    backdrop-filter:blur(6px)!important;
}
.dt-b2b-modal .modal-card{
    position:relative!important;
    z-index:2!important;
    width:min(980px,96vw)!important;
    max-height:90vh!important;
    overflow:auto!important;
    padding:0!important;
    border:1px solid rgba(211,224,242,.9)!important;
    border-radius:26px!important;
    background:#fff!important;
    box-shadow:0 32px 100px rgba(5,25,55,.32)!important;
}
.dt-b2b-modal .modal-close{
    position:absolute!important;
    top:20px!important;
    right:22px!important;
    z-index:5!important;
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    border:1px solid #f0b2bf!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#dd3555!important;
    font-size:25px!important;
    line-height:1!important;
    cursor:pointer!important;
    transition:.2s ease!important;
}
.dt-b2b-modal .modal-close:hover{
    transform:rotate(4deg) scale(1.04)!important;
    background:#fff4f6!important;
}
.dt-b2b-modal .dt-roster-modal-form{
    padding:38px 40px 34px!important;
    font-family:inherit!important;
    color:#14233d!important;
}
.dt-b2b-modal .roster-modal-head{
    padding-right:70px!important;
    margin-bottom:24px!important;
}
.dt-b2b-modal .roster-kicker{
    display:block!important;
    margin-bottom:8px!important;
    color:var(--dt-primary,#1769ff)!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:850!important;
    letter-spacing:2px!important;
}
.dt-b2b-modal .roster-modal-head h2{
    margin:0!important;
    color:#14233d!important;
    font-size:31px!important;
    line-height:1.08!important;
    font-weight:850!important;
    letter-spacing:-.6px!important;
}
.dt-b2b-modal .roster-modal-head p{
    margin:10px 0 0!important;
    color:#687d9c!important;
    font-size:14px!important;
}
.dt-b2b-modal .roster-modal-head p strong{
    color:#213d65!important;
    font-weight:800!important;
}
.dt-b2b-modal .roster-flow{
    display:grid!important;
    grid-template-columns:auto 24px auto 24px auto 24px auto 24px auto!important;
    align-items:center!important;
    gap:8px!important;
    margin:0 0 24px!important;
    padding:16px 18px!important;
    border:1px solid #e4edf8!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,#f8fbff 0%,#f3f7fd 100%)!important;
}
.dt-b2b-modal .roster-flow div{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    color:#516a8b!important;
    font-size:11px!important;
    font-weight:700!important;
    white-space:nowrap!important;
}
.dt-b2b-modal .roster-flow b{
    display:grid!important;
    place-items:center!important;
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    border-radius:50%!important;
    background:var(--dt-primary-soft,#e6f0ff)!important;
    color:var(--dt-primary,#1769ff)!important;
    font-size:12px!important;
    font-weight:900!important;
}
.dt-b2b-modal .roster-flow i{
    color:#9cafc8!important;
    font-size:17px!important;
    font-style:normal!important;
    text-align:center!important;
}
.dt-b2b-modal .roster-upload-card{
    display:grid!important;
    grid-template-columns:54px 1fr auto!important;
    gap:15px!important;
    align-items:center!important;
    padding:18px!important;
    border:1px solid #dce7f5!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 8px 30px rgba(25,66,117,.06)!important;
}
.dt-b2b-modal .roster-upload-icon{
    display:grid!important;
    place-items:center!important;
    width:54px!important;
    height:54px!important;
    border-radius:16px!important;
    background:linear-gradient(145deg,var(--dt-primary-soft,#eaf2ff),#dbe9ff)!important;
    color:var(--dt-primary,#1769ff)!important;
    font-size:26px!important;
    font-weight:900!important;
}
.dt-b2b-modal .roster-upload-main label>span{
    display:block!important;
    margin-bottom:7px!important;
    color:#314d72!important;
    font-size:11px!important;
    font-weight:850!important;
}
.dt-b2b-modal .roster-upload-main input[type=file]{
    width:100%!important;
    min-height:45px!important;
    padding:7px!important;
    border:1px solid #d4e0ef!important;
    border-radius:12px!important;
    background:#fafdff!important;
    color:#425b7d!important;
}
.dt-b2b-modal .roster-upload-main small{
    display:block!important;
    margin-top:7px!important;
    color:#8a9bb1!important;
    font-size:10px!important;
}
.dt-b2b-modal .roster-template-btn{
    min-height:44px!important;
    padding:0 16px!important;
    border:1px solid #bfd4f3!important;
    border-radius:12px!important;
    background:#f4f8fe!important;
    color:var(--dt-primary,#1769ff)!important;
    font-weight:800!important;
    cursor:pointer!important;
    white-space:nowrap!important;
}
.dt-b2b-modal .roster-template-btn:hover{
    background:var(--dt-primary-soft,#eaf2ff)!important;
}
.dt-b2b-modal .roster-note{
    display:flex!important;
    gap:12px!important;
    align-items:flex-start!important;
    margin-top:15px!important;
    padding:14px 16px!important;
    border:1px solid #d9e8fb!important;
    border-radius:15px!important;
    background:#eef6ff!important;
}
.dt-b2b-modal .roster-note .info-icon{
    display:grid!important;
    place-items:center!important;
    flex:0 0 26px!important;
    width:26px!important;
    height:26px!important;
    border-radius:50%!important;
    background:var(--dt-primary,#1769ff)!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:900!important;
}
.dt-b2b-modal .roster-note strong{
    display:block!important;
    margin-bottom:3px!important;
    color:#24466f!important;
    font-size:11px!important;
    font-weight:850!important;
}
.dt-b2b-modal .roster-note p{
    margin:0!important;
    color:#5d7494!important;
    font-size:11px!important;
    line-height:1.5!important;
}
.dt-b2b-modal .roster-submit-btn{
    width:100%!important;
    min-height:50px!important;
    margin-top:18px!important;
    border:0!important;
    border-radius:14px!important;
    background:linear-gradient(135deg,var(--dt-primary,#1769ff),#0d55df)!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:850!important;
    box-shadow:0 12px 28px rgba(23,105,255,.22)!important;
    cursor:pointer!important;
    transition:.2s ease!important;
}
.dt-b2b-modal .roster-submit-btn:hover{
    transform:translateY(-1px)!important;
    box-shadow:0 16px 34px rgba(23,105,255,.28)!important;
}
.dt-b2b-modal .roster-submit-btn:disabled{
    opacity:.65!important;
    cursor:wait!important;
}
.dt-b2b-modal .dt-roster-result{
    margin-top:16px!important;
}
.dt-b2b-modal .result-ok{
    padding:16px!important;
    border:1px solid #cdecdc!important;
    border-radius:15px!important;
    background:#f0fbf6!important;
}
.dt-b2b-modal .result-ok h3{
    margin:0 0 6px!important;
    color:#087d59!important;
    font-size:16px!important;
}
.dt-b2b-modal .result-stats{
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:8px!important;
    margin-top:12px!important;
}
.dt-b2b-modal .result-stats span{
    padding:10px!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#637a98!important;
    text-align:center!important;
    font-size:10px!important;
}
.dt-b2b-modal .result-stats b{
    display:block!important;
    color:#173e69!important;
    font-size:18px!important;
}
@media(max-width:820px){
    .dt-b2b-modal{padding:10px!important}
    .dt-b2b-modal .modal-card{width:100%!important;max-height:94vh!important;border-radius:20px!important}
    .dt-b2b-modal .dt-roster-modal-form{padding:28px 20px 24px!important}
    .dt-b2b-modal .roster-flow{display:flex!important;overflow-x:auto!important;justify-content:flex-start!important}
    .dt-b2b-modal .roster-upload-card{grid-template-columns:46px 1fr!important}
    .dt-b2b-modal .roster-template-btn{grid-column:1/-1!important;width:100%!important}
    .dt-b2b-modal .result-stats{grid-template-columns:1fr 1fr!important}
}

/* v1.2.0 · Sección 3 Progreso de participantes */
.dt-b2b-premium .progress-section{position:relative;overflow:hidden}
.dt-b2b-premium .progress-section:before{content:"";position:absolute;right:-90px;top:-90px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(23,105,255,.07),transparent 68%);pointer-events:none}
.dt-b2b-premium .progress-summary span{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:12px;background:#f3f7fd;color:#7185a2;font-size:11px;font-weight:700}
.dt-b2b-premium .progress-summary b{font-size:17px;color:var(--dt-primary,#1769ff)}
.dt-b2b-premium .participant-tools{display:grid;grid-template-columns:1fr 300px 180px;gap:12px;margin-bottom:18px}
.dt-b2b-premium .participant-tools select{height:48px;border:1px solid #dce6f4;border-radius:15px;background:#fbfdff;padding:0 12px;color:#304b6c;font-weight:650}
.dt-b2b-premium .participant-report-shell{overflow:hidden;border:1px solid #dce6f3;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(24,57,105,.04)}
.dt-b2b-premium .participant-report-head,.dt-b2b-premium .participant-report-row{display:grid;grid-template-columns:1.55fr 1.35fr .82fr 1.05fr .82fr .78fr .62fr;gap:12px;align-items:center}
.dt-b2b-premium .participant-report-head{padding:13px 16px;background:linear-gradient(180deg,#f6f9fd,#f1f6fb);color:#71849f;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.65px}
.dt-b2b-premium .participant-report-row{padding:14px 16px;border-top:1px solid #edf2f8;color:#536985;font-size:11px;transition:.18s ease}
.dt-b2b-premium .participant-report-row:hover{background:#fbfdff;box-shadow:inset 3px 0 var(--dt-primary,#1769ff)}
.dt-b2b-premium .participant-person{display:flex;align-items:center;gap:10px;min-width:0}
.dt-b2b-premium .participant-avatar{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border-radius:12px;background:linear-gradient(145deg,#e8f1ff,#d9e8ff);color:var(--dt-primary,#1769ff);font-size:13px;font-weight:900}
.dt-b2b-premium .participant-person strong,.dt-b2b-premium .participant-course strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#233d60;font-size:11px}
.dt-b2b-premium .participant-person small,.dt-b2b-premium .participant-course small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a9bb2;font-size:9px}
.dt-b2b-premium .date-cell{font-size:10px;color:#526a89}
.dt-b2b-premium .participant-progress{display:grid;grid-template-columns:1fr 35px;gap:7px;align-items:center}
.dt-b2b-premium .participant-progress>div{height:7px;border-radius:999px;background:#e9eff7;overflow:hidden}
.dt-b2b-premium .participant-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--dt-primary,#1769ff),#66a7ff)}
.dt-b2b-premium .participant-progress b{font-size:10px;color:#345476}
.dt-b2b-premium .participant-progress small{grid-column:1/-1;color:#9aabc0;font-size:8px}
.dt-b2b-premium .participant-status{display:inline-flex;padding:6px 8px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}
.dt-b2b-premium .participant-status.assigned{background:#eef3fa;color:#5c708e}
.dt-b2b-premium .participant-status.in-progress{background:#fff4de;color:#9b6716}
.dt-b2b-premium .participant-status.completed{background:#e8f8f2;color:#087d59}
.dt-b2b-premium .participant-downloads{display:flex;gap:5px}
.dt-b2b-premium .participant-downloads button{min-width:38px;height:31px;padding:0 8px;border:1px solid #dbe5f2;border-radius:9px;background:#f7faff;color:#3c5a7e;font-size:9px;font-weight:850;cursor:pointer;transition:.18s}
.dt-b2b-premium .participant-downloads button:hover{background:var(--dt-primary,#1769ff);border-color:var(--dt-primary,#1769ff);color:#fff;transform:translateY(-1px)}
.dt-b2b-premium .participant-empty{padding:38px 20px;text-align:center;color:#8192aa;font-size:12px}
@media(max-width:1100px){
 .dt-b2b-premium .participant-tools{grid-template-columns:1fr 1fr}
 .dt-b2b-premium .participant-tools .search-shell{grid-column:1/-1}
 .dt-b2b-premium .participant-report-head{display:none}
 .dt-b2b-premium .participant-report-row{grid-template-columns:1.5fr 1.2fr .8fr 1fr;row-gap:10px}
}
@media(max-width:720px){
 .dt-b2b-premium .participant-tools{grid-template-columns:1fr}
 .dt-b2b-premium .participant-tools .search-shell{grid-column:auto}
 .dt-b2b-premium .participant-report-row{grid-template-columns:1fr 1fr}
 .dt-b2b-premium .participant-person,.dt-b2b-premium .participant-course{grid-column:1/-1}
}

/* v1.2.1 · reportes por grupo y estado Asignado */
.dt-b2b-premium .participant-tools{grid-template-columns:1fr 280px 170px auto!important}
.dt-b2b-premium .group-report-actions{display:flex;gap:7px;align-items:center}
.dt-b2b-premium .group-report-actions button{height:48px;padding:0 13px;border:1px solid #d9e5f3;border-radius:13px;background:#f5f9ff;color:#315779;font-size:10px;font-weight:850;white-space:nowrap;cursor:pointer;transition:.18s}
.dt-b2b-premium .group-report-actions button:hover{background:var(--dt-primary,#1769ff);border-color:var(--dt-primary,#1769ff);color:#fff;transform:translateY(-1px)}
.dt-b2b-premium .group-report-actions button:disabled{opacity:.45;cursor:not-allowed;transform:none}
@media(max-width:1150px){.dt-b2b-premium .participant-tools{grid-template-columns:1fr 1fr!important}.dt-b2b-premium .participant-tools .search-shell{grid-column:1/-1}.dt-b2b-premium .group-report-actions{justify-content:flex-end}}
@media(max-width:720px){.dt-b2b-premium .participant-tools{grid-template-columns:1fr!important}.dt-b2b-premium .participant-tools .search-shell{grid-column:auto}.dt-b2b-premium .group-report-actions{justify-content:stretch}.dt-b2b-premium .group-report-actions button{flex:1}}

/* v1.2.3 · Legibilidad reforzada para usuarios adultos */
.dt-b2b-app,
.dt-b2b-premium{
    font-size:16px!important;
    line-height:1.5!important;
}
.dt-b2b-premium .premium-hero p,
.dt-b2b-premium .section-heading p{
    font-size:15px!important;
}
.dt-b2b-premium .eyebrow,
.dt-b2b-premium .section-kicker,
.dt-b2b-premium .detail-grid small,
.dt-b2b-premium .participant-person small,
.dt-b2b-premium .participant-course small,
.dt-b2b-premium .participant-progress small,
.dt-b2b-premium .monitor-course small{
    font-size:12px!important;
}
.dt-b2b-premium .chips span,
.dt-b2b-premium .mini-meta span,
.dt-b2b-premium .status-pill,
.dt-b2b-premium .participant-status,
.dt-b2b-premium .ok-chip,
.dt-b2b-premium .warn-chip,
.dt-b2b-premium .mono,
.dt-b2b-premium .date-cell{
    font-size:12px!important;
}
.dt-b2b-premium .action-btn,
.dt-b2b-premium .participant-downloads button,
.dt-b2b-premium .group-report-actions button,
.dt-b2b-premium .hero-btn,
.dt-b2b-premium .solid-btn,
.dt-b2b-premium .soft-btn{
    font-size:14px!important;
}
.dt-b2b-premium .action-btn{
    padding:11px 14px!important;
}
.dt-b2b-premium .participant-downloads button{
    min-width:46px!important;
    height:36px!important;
}
.dt-b2b-premium .search-shell input,
.dt-b2b-premium select,
.dt-b2b-premium #dtExecutionStatusFilter,
.dt-b2b-premium .participant-tools select{
    font-size:15px!important;
}
.dt-b2b-premium .dt-b2b-kpis span{
    font-size:14px!important;
}
.dt-b2b-premium .dt-b2b-kpis small{
    font-size:12px!important;
}
.dt-b2b-premium .bar-info,
.dt-b2b-premium .participant-count,
.dt-b2b-premium .progress-label{
    font-size:12px!important;
}
.dt-b2b-premium .monitor-head,
.dt-b2b-premium .participant-report-head{
    font-size:11px!important;
}
.dt-b2b-premium .monitor-row,
.dt-b2b-premium .participant-report-row{
    font-size:13px!important;
    line-height:1.5!important;
    padding-top:17px!important;
    padding-bottom:17px!important;
}
.dt-b2b-premium .monitor-course strong{
    font-size:14px!important;
}
.dt-b2b-premium .participant-person strong,
.dt-b2b-premium .participant-course strong{
    font-size:14px!important;
}
.dt-b2b-premium .participant-progress b{
    font-size:12px!important;
}
.dt-b2b-premium .participant-avatar{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
    font-size:15px!important;
}
.dt-b2b-premium .execution-title .company-main{
    font-size:22px!important;
}
.dt-b2b-premium .execution-title .course-secondary{
    font-size:16px!important;
}
.dt-b2b-premium .detail-grid strong{
    font-size:13px!important;
}
.dt-b2b-modal,
.dt-b2b-modal input,
.dt-b2b-modal select,
.dt-b2b-modal textarea,
.dt-b2b-modal button{
    font-size:15px!important;
}
.dt-b2b-modal .roster-modal-head p,
.dt-b2b-modal .roster-note p,
.dt-b2b-modal .roster-upload-main small{
    font-size:13px!important;
}
.dt-b2b-modal .roster-flow div,
.dt-b2b-modal .roster-upload-main label>span,
.dt-b2b-modal .roster-note strong{
    font-size:13px!important;
}
.dt-b2b-modal .roster-submit-btn{
    font-size:15px!important;
}
.dt-b2b-app .form-grid label,
.dt-b2b-app .course-grid label{
    font-size:14px!important;
}
.dt-b2b-app .form-grid input,
.dt-b2b-app .form-grid textarea,
.dt-b2b-app .course-grid input,
.dt-b2b-app .course-grid select{
    font-size:15px!important;
    min-height:46px!important;
}
.dt-b2b-app .form-head p,
.dt-b2b-app .courses-head p{
    font-size:14px!important;
}


/* =========================================================
   v1.2.4 · FORMULARIO DE REGISTRO B2B 100% RESPONSIVE
   Desktop / Tablet / Mobile
   ========================================================= */

/* Modal general */
.dt-b2b-modal{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
    overflow:hidden!important;
}

.dt-b2b-modal .modal-backdrop{
    position:fixed!important;
    inset:0!important;
}

/* La ventana ya no depende de margin:auto ni puede salir de la pantalla */
.dt-b2b-modal .modal-card{
    position:relative!important;
    width:min(1240px, calc(100vw - 48px))!important;
    max-width:1240px!important;
    max-height:calc(100dvh - 48px)!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:24px!important;
    background:#fff!important;
    display:flex!important;
    flex-direction:column!important;
}

/* El formulario es el área scrollable */
.dt-b2b-modal .modal-card > form,
.dt-b2b-modal .modal-card .dt-b2b-form{
    width:100%!important;
    max-height:calc(100dvh - 48px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:30px 32px 34px!important;
    box-sizing:border-box!important;
    scrollbar-width:thin;
    scrollbar-color:#c7d5e7 transparent;
}

/* Cabecera del formulario */
.dt-b2b-modal .form-head{
    position:relative!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:18px!important;
    margin:0 0 22px!important;
    padding:0 64px 0 0!important;
}

.dt-b2b-modal .form-head h2{
    font-size:30px!important;
    line-height:1.16!important;
}

.dt-b2b-modal .form-head p{
    max-width:760px!important;
    font-size:15px!important;
    line-height:1.5!important;
}

/* Cerrar: siempre visible */
.dt-b2b-modal .modal-close{
    position:absolute!important;
    top:20px!important;
    right:20px!important;
    z-index:50!important;
    float:none!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    background:#fff7f8!important;
    border:1px solid #f4b8c5!important;
    box-shadow:0 5px 15px rgba(30,50,80,.08)!important;
}

/* Botón guardar: tamaño cómodo y nunca fuera de pantalla */
.dt-b2b-modal .form-head > button:not(.modal-close),
.dt-b2b-modal .form-head .primary{
    flex:0 0 auto!important;
    min-height:46px!important;
    padding:0 18px!important;
    white-space:nowrap!important;
}

/* Campos empresa */
.dt-b2b-modal .form-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:17px 18px!important;
    width:100%!important;
}

/* Cursos contratados */
.dt-b2b-modal .courses-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    margin:30px 0 14px!important;
    padding-top:24px!important;
}

.dt-b2b-modal .courses-head > div{
    min-width:0!important;
}

.dt-b2b-modal .course-row{
    padding:20px!important;
    border-radius:18px!important;
}

.dt-b2b-modal .course-row-top{
    gap:14px!important;
}

.dt-b2b-modal .course-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:15px 16px!important;
}

/* Todos los campos deben poder encogerse sin romper el grid */
.dt-b2b-modal .form-grid > *,
.dt-b2b-modal .course-grid > *{
    min-width:0!important;
}

.dt-b2b-modal input,
.dt-b2b-modal select,
.dt-b2b-modal textarea{
    max-width:100%!important;
    min-width:0!important;
}

/* Escritorio mediano / laptop */
@media (max-width:1180px){
    .dt-b2b-modal{
        padding:18px!important;
    }

    .dt-b2b-modal .modal-card{
        width:calc(100vw - 36px)!important;
        max-height:calc(100dvh - 36px)!important;
    }

    .dt-b2b-modal .modal-card > form,
    .dt-b2b-modal .modal-card .dt-b2b-form{
        max-height:calc(100dvh - 36px)!important;
        padding:27px 28px 32px!important;
    }

    .dt-b2b-modal .course-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

/* Tablet */
@media (max-width:820px){
    .dt-b2b-modal{
        padding:12px!important;
        align-items:stretch!important;
    }

    .dt-b2b-modal .modal-card{
        width:100%!important;
        max-width:none!important;
        max-height:calc(100dvh - 24px)!important;
        border-radius:20px!important;
    }

    .dt-b2b-modal .modal-card > form,
    .dt-b2b-modal .modal-card .dt-b2b-form{
        max-height:calc(100dvh - 24px)!important;
        padding:24px 22px 28px!important;
    }

    .dt-b2b-modal .form-head{
        flex-direction:column!important;
        padding-right:58px!important;
        gap:12px!important;
    }

    .dt-b2b-modal .form-head h2{
        font-size:26px!important;
    }

    .dt-b2b-modal .form-head > button:not(.modal-close),
    .dt-b2b-modal .form-head .primary{
        width:100%!important;
        justify-content:center!important;
    }

    .dt-b2b-modal .form-grid,
    .dt-b2b-modal .course-grid{
        grid-template-columns:1fr!important;
    }

    .dt-b2b-modal .span2{
        grid-column:auto!important;
    }

    .dt-b2b-modal .courses-head{
        align-items:flex-start!important;
        flex-direction:column!important;
    }

    .dt-b2b-modal .courses-head button{
        width:100%!important;
    }

    .dt-b2b-modal .course-row-top{
        align-items:flex-start!important;
    }
}

/* Móvil */
@media (max-width:560px){
    .dt-b2b-modal{
        padding:0!important;
        align-items:stretch!important;
    }

    .dt-b2b-modal .modal-card{
        width:100vw!important;
        height:100dvh!important;
        max-height:100dvh!important;
        border-radius:0!important;
    }

    .dt-b2b-modal .modal-card > form,
    .dt-b2b-modal .modal-card .dt-b2b-form{
        height:100dvh!important;
        max-height:100dvh!important;
        padding:22px 16px 28px!important;
    }

    .dt-b2b-modal .modal-close{
        position:fixed!important;
        top:12px!important;
        right:12px!important;
        width:42px!important;
        height:42px!important;
        min-width:42px!important;
    }

    .dt-b2b-modal .form-head{
        padding-right:48px!important;
        margin-bottom:18px!important;
    }

    .dt-b2b-modal .form-head h2{
        font-size:23px!important;
        line-height:1.2!important;
    }

    .dt-b2b-modal .form-head p{
        font-size:14px!important;
    }

    .dt-b2b-modal .form-grid{
        gap:14px!important;
    }

    .dt-b2b-modal .course-row{
        padding:15px!important;
    }

    .dt-b2b-modal .course-row-top{
        flex-direction:column!important;
        align-items:stretch!important;
    }

    .dt-b2b-modal .course-row-top .remove-course{
        width:100%!important;
    }

    .dt-b2b-modal input,
    .dt-b2b-modal select,
    .dt-b2b-modal textarea,
    .dt-b2b-modal button{
        font-size:16px!important; /* evita zoom automático en iPhone */
    }

    .dt-b2b-modal textarea{
        min-height:90px!important;
    }
}

/* Teléfonos muy pequeños */
@media (max-width:380px){
    .dt-b2b-modal .modal-card > form,
    .dt-b2b-modal .modal-card .dt-b2b-form{
        padding-left:12px!important;
        padding-right:12px!important;
    }

    .dt-b2b-modal .form-head h2{
        font-size:21px!important;
    }
}


/* =========================================================
   v1.3.0 · REGISTRO DE CURSOS SENCE
   ========================================================= */
.dt-b2b-premium .primary-soft{background:var(--dt-primary,#1769ff)!important;color:#fff!important;border-color:var(--dt-primary,#1769ff)!important}
.dt-b2b-premium .sence-catalog-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 15px}
.dt-b2b-premium .sence-catalog-summary>div{padding:15px 16px;border:1px solid #e0e9f4;border-radius:15px;background:#f9fbfe}
.dt-b2b-premium .sence-catalog-summary b{display:block;color:#173b67;font-size:24px;line-height:1}
.dt-b2b-premium .sence-catalog-summary span{display:block;margin-top:6px;color:#7a8ea9;font-size:12px;font-weight:750}
.dt-b2b-premium .sence-catalog-toolbar{display:grid;grid-template-columns:1fr 190px 190px;gap:10px;margin-bottom:15px}
.dt-b2b-premium .sence-catalog-toolbar select{height:48px;border:1px solid #dce6f3;border-radius:13px;background:#fbfdff;padding:0 12px;color:#365574;font-size:14px}
.dt-b2b-premium .sence-course-list{display:flex;flex-direction:column;gap:10px}
.dt-b2b-premium .sence-course-card{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.7fr) auto;gap:18px;align-items:center;padding:17px;border:1px solid #dde7f3;border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(24,57,102,.04)}
.dt-b2b-premium .sence-course-main{display:flex;align-items:center;gap:13px;min-width:0}
.dt-b2b-premium .sence-course-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#e8f1ff;color:var(--dt-primary,#1769ff);font-size:18px;font-weight:900}
.dt-b2b-premium .sence-course-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.dt-b2b-premium .sence-course-title h3{margin:0!important;color:#1c3d64!important;font-size:16px!important;font-weight:900!important}
.dt-b2b-premium .sence-status{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}
.dt-b2b-premium .sence-status.ready{background:#e7f8f1;color:#087b56}.dt-b2b-premium .sence-status.progress{background:#fff3de;color:#996216}.dt-b2b-premium .sence-status.draft{background:#eff3f7;color:#6b7c92}
.dt-b2b-premium .sence-course-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.dt-b2b-premium .sence-course-meta span{padding:5px 7px;border-radius:8px;background:#f5f8fc;color:#71859f;font-size:10px}
.dt-b2b-premium .sence-course-meta b{color:#315675}
.dt-b2b-premium .readiness-line{display:flex;justify-content:space-between;gap:10px;color:#6f829e;font-size:11px;font-weight:750}
.dt-b2b-premium .readiness-line b{color:var(--dt-primary,#1769ff)}
.dt-b2b-premium .readiness-bar{height:7px;margin:7px 0 5px;border-radius:999px;background:#edf2f8;overflow:hidden}.dt-b2b-premium .readiness-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--dt-primary,#1769ff),#65a2ff)}
.dt-b2b-premium .sence-readiness small{color:#8b9bb0;font-size:10px}
.dt-b2b-premium .sence-course-actions{display:flex;gap:6px}.dt-b2b-premium .danger-soft{color:#ce405b!important;background:#fff5f6!important;border-color:#f2dbe1!important}
.dt-b2b-premium .sence-course-empty{padding:40px 20px;text-align:center;border:1px dashed #cbd8e8;border-radius:18px;background:#fafcff}.dt-b2b-premium .sence-course-empty .empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto;border-radius:14px;background:#e9f2ff;color:var(--dt-primary,#1769ff);font-size:26px}.dt-b2b-premium .sence-course-empty h3{margin:11px 0 5px!important;color:#294b6f!important}.dt-b2b-premium .sence-course-empty p{color:#8091a8;font-size:13px}

/* Formulario SENCE */
.dt-sence-course-form{padding:30px 32px 34px!important;max-height:calc(100dvh - 48px);overflow-y:auto}
.dt-sence-course-form .sence-form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-right:54px;margin-bottom:20px}
.dt-sence-course-form .sence-form-head>div>span{color:var(--dt-primary,#1769ff);font-size:10px;font-weight:900;letter-spacing:1.8px}.dt-sence-course-form .sence-form-head h2{margin:5px 0!important;font-size:28px!important;color:#173657!important}.dt-sence-course-form .sence-form-head p{margin:0;color:#7487a2;font-size:13px}
.dt-sence-course-form .sence-form-section{margin-top:14px;padding:18px;border:1px solid #e0e8f3;border-radius:17px;background:#fbfdff}
.dt-sence-course-form .sence-form-section-title{display:flex;align-items:center;gap:11px;margin-bottom:15px}.dt-sence-course-form .sence-form-section-title>b{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e8f1ff;color:var(--dt-primary,#1769ff);font-size:13px}.dt-sence-course-form .sence-form-section-title strong{display:block;color:#23496f;font-size:14px}.dt-sence-course-form .sence-form-section-title span{display:block;margin-top:2px;color:#8798ad;font-size:11px}
.dt-sence-course-form .sence-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px}.dt-sence-course-form .sence-form-grid label{color:#526a87;font-size:12px;font-weight:800;min-width:0}.dt-sence-course-form .sence-form-grid .wide{grid-column:1/-1}.dt-sence-course-form input,.dt-sence-course-form select,.dt-sence-course-form textarea{width:100%;max-width:100%;margin-top:6px;padding:11px 12px;border:1px solid #d6e2f0;border-radius:10px;background:#fff;color:#1e395b;font-size:14px;box-sizing:border-box}.dt-sence-course-form textarea{resize:vertical}
.dt-sence-course-form .sence-form-note{display:flex;gap:10px;margin-top:15px;padding:13px;border:1px solid #dbe8f8;border-radius:13px;background:#f2f7ff;color:#5c7493;font-size:11px;line-height:1.5}.dt-sence-course-form .sence-form-note>span{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:var(--dt-primary,#1769ff);color:#fff;font-weight:900}.dt-sence-course-form .sence-form-note p{margin:0}

/* Vista ficha */
.sence-view-readiness{margin:15px 0;padding:13px 15px;border:1px solid #e0e9f4;border-radius:13px;background:#f8fbff}.sence-view-readiness>div:first-child{display:flex;justify-content:space-between;font-size:12px;color:#70849f}.sence-view-readiness>div:nth-child(2){height:8px;margin-top:7px;border-radius:999px;background:#e9eff7;overflow:hidden}.sence-view-readiness i{display:block;height:100%;background:var(--dt-primary,#1769ff)}.sence-view-sections{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:13px}.sence-view-sections section{padding:14px;border:1px solid #e0e8f2;border-radius:13px;background:#fbfdff}.sence-view-sections h3{margin:0 0 8px!important;color:#285079!important;font-size:13px!important}.sence-view-sections p{margin:5px 0;color:#607692;font-size:11px;line-height:1.5;white-space:pre-line}

@media(max-width:1050px){
 .dt-b2b-premium .sence-course-card{grid-template-columns:1fr 260px}.dt-b2b-premium .sence-course-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:820px){
 .dt-b2b-premium .sence-catalog-summary{grid-template-columns:1fr 1fr}.dt-b2b-premium .sence-catalog-toolbar{grid-template-columns:1fr}.dt-b2b-premium .sence-course-card{grid-template-columns:1fr}.dt-b2b-premium .sence-course-actions{grid-column:auto;justify-content:flex-start;flex-wrap:wrap}
 .dt-sence-course-form{padding:24px 20px 28px!important}.dt-sence-course-form .sence-form-head{flex-direction:column}.dt-sence-course-form .sence-form-head button{width:100%}.dt-sence-course-form .sence-form-grid{grid-template-columns:1fr}.dt-sence-course-form .sence-form-grid .wide{grid-column:auto}.sence-view-sections{grid-template-columns:1fr}
}
@media(max-width:560px){
 .dt-b2b-premium .sence-catalog-summary{grid-template-columns:1fr 1fr}.dt-b2b-premium .sence-course-main{align-items:flex-start}.dt-b2b-premium .sence-course-actions .action-btn{flex:1}.dt-sence-course-form{padding:21px 14px 26px!important}.dt-sence-course-form input,.dt-sence-course-form select,.dt-sence-course-form textarea,.dt-sence-course-form button{font-size:16px!important}
}


/* =========================================================
   v1.3.2 · POPUPS / FORMULARIOS RESPONSIVE GLOBAL
   ========================================================= */

/* Overlay: margen real en desktop y scroll externo de seguridad */
.dt-b2b-modal{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:28px!important;
    overflow:auto!important;
    overscroll-behavior:contain;
}

/* Caja general para TODOS los popups generados por el plugin */
.dt-b2b-modal .modal-card{
    position:relative!important;
    width:min(1240px, calc(100vw - 56px))!important;
    max-width:1240px!important;
    max-height:calc(100dvh - 56px)!important;
    margin:auto!important;
    border-radius:24px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 28px 90px rgba(7,26,50,.34)!important;
}

/* Todo contenido directo puede desplazarse si excede el alto */
.dt-b2b-modal .modal-card > form,
.dt-b2b-modal .modal-card > .view-head,
.dt-b2b-modal .modal-card > div:not(.modal-close){
    max-width:100%!important;
}

.dt-b2b-modal .modal-card > form{
    width:100%!important;
    max-height:calc(100dvh - 56px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    scrollbar-color:#c4d2e3 transparent;
}

/* Las vistas "Ver" también necesitan scroll: se aplica a la tarjeta completa */
.dt-b2b-modal .modal-card{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:thin;
    scrollbar-color:#c4d2e3 transparent;
}

/* Cierre siempre visible */
.dt-b2b-modal .modal-close{
    position:sticky!important;
    top:14px!important;
    float:right!important;
    z-index:100!important;
    margin:14px 14px -60px auto!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    background:#fff7f8!important;
    border:1px solid #f3b9c5!important;
    box-shadow:0 6px 18px rgba(31,54,82,.10)!important;
}

/* Cabeceras internas y padding seguro */
.dt-b2b-modal .view-head,
.dt-b2b-modal .view-meta,
.dt-b2b-modal .sence-view-readiness,
.dt-b2b-modal .sence-view-sections{
    margin-left:24px!important;
    margin-right:24px!important;
}
.dt-b2b-modal .view-head{padding-top:22px!important;padding-right:60px!important}
.dt-b2b-modal .sence-view-sections{padding-bottom:24px!important}

/* Formularios */
.dt-b2b-modal .dt-sence-course-form,
.dt-b2b-modal .dt-b2b-form{
    padding:28px 30px 32px!important;
}

/* Sección 1: acciones y botones de descarga */
.dt-b2b-premium .sence-section-actions{
    display:flex!important;
    gap:8px!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
}
.dt-b2b-premium .compact-report{
    min-width:48px!important;
    padding-left:9px!important;
    padding-right:9px!important;
    color:var(--dt-primary,#1769ff)!important;
    background:#f0f6ff!important;
    border-color:#d6e5fb!important;
}

/* Tablet */
@media(max-width:900px){
    .dt-b2b-modal{
        padding:18px!important;
        align-items:center!important;
    }
    .dt-b2b-modal .modal-card{
        width:calc(100vw - 36px)!important;
        max-height:calc(100dvh - 36px)!important;
        border-radius:20px!important;
    }
    .dt-b2b-modal .modal-card > form{
        max-height:calc(100dvh - 36px)!important;
    }
    .dt-b2b-modal .dt-sence-course-form,
    .dt-b2b-modal .dt-b2b-form{
        padding:24px 22px 28px!important;
    }
    .dt-b2b-modal .view-head,
    .dt-b2b-modal .view-meta,
    .dt-b2b-modal .sence-view-readiness,
    .dt-b2b-modal .sence-view-sections{
        margin-left:18px!important;
        margin-right:18px!important;
    }
    .dt-b2b-premium .sence-section-actions{
        justify-content:flex-start!important;
    }
}

/* Mobile: modal casi fullscreen, pero conserva margen visual */
@media(max-width:600px){
    .dt-b2b-modal{
        padding:8px!important;
        align-items:flex-start!important;
    }
    .dt-b2b-modal .modal-card{
        width:calc(100vw - 16px)!important;
        max-width:none!important;
        max-height:calc(100dvh - 16px)!important;
        border-radius:16px!important;
        margin:0 auto!important;
    }
    .dt-b2b-modal .modal-card > form{
        max-height:calc(100dvh - 16px)!important;
    }
    .dt-b2b-modal .modal-close{
        top:8px!important;
        margin:8px 8px -52px auto!important;
        width:42px!important;
        height:42px!important;
        min-width:42px!important;
    }
    .dt-b2b-modal .dt-sence-course-form,
    .dt-b2b-modal .dt-b2b-form{
        padding:20px 14px 24px!important;
    }
    .dt-b2b-modal .view-head,
    .dt-b2b-modal .view-meta,
    .dt-b2b-modal .sence-view-readiness,
    .dt-b2b-modal .sence-view-sections{
        margin-left:12px!important;
        margin-right:12px!important;
    }
    .dt-b2b-modal .view-head{
        padding-right:48px!important;
    }
    .dt-b2b-premium .sence-section-actions{
        width:100%!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }
    .dt-b2b-premium .sence-section-actions .primary-soft{
        grid-column:1/-1!important;
    }
    .dt-b2b-premium .sence-course-actions{
        display:grid!important;
        grid-template-columns:repeat(2,1fr)!important;
        width:100%!important;
    }
    .dt-b2b-premium .sence-course-actions .danger-soft{
        grid-column:1/-1!important;
    }
}

/* Teléfonos estrechos */
@media(max-width:390px){
    .dt-b2b-modal{
        padding:4px!important;
    }
    .dt-b2b-modal .modal-card{
        width:calc(100vw - 8px)!important;
        max-height:calc(100dvh - 8px)!important;
        border-radius:12px!important;
    }
    .dt-b2b-modal .modal-card > form{
        max-height:calc(100dvh - 8px)!important;
    }
    .dt-b2b-premium .sence-section-actions{
        grid-template-columns:1fr!important;
    }
    .dt-b2b-premium .sence-section-actions .primary-soft{
        grid-column:auto!important;
    }
}


/* =========================================================
   v1.3.3 · REVISIÓN GLOBAL DE MODALES Y RESPONSIVE
   ========================================================= */
.dt-b2b-modal{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
}
.dt-b2b-modal .modal-card{
    position:relative!important;
    display:block!important;
    width:min(1280px,calc(100vw - 48px))!important;
    max-width:1280px!important;
    max-height:calc(100dvh - 48px)!important;
    margin:auto!important;
    padding:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:24px!important;
    background:#fff!important;
    box-shadow:0 28px 90px rgba(5,23,48,.34)!important;
    scrollbar-width:thin!important;
    scrollbar-color:#bccbde transparent!important;
}
.dt-b2b-modal .modal-card>form,
.dt-b2b-modal form.dt-b2b-form,
.dt-b2b-modal form.dt-sence-course-form{
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    padding:30px 32px 42px!important;
    box-sizing:border-box!important;
}
.dt-b2b-modal .modal-close{
    position:sticky!important;
    top:12px!important;
    z-index:500!important;
    float:right!important;
    display:grid!important;
    place-items:center!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    margin:12px 12px -58px auto!important;
    padding:0!important;
    border-radius:50%!important;
    background:#fff7f8!important;
    border:1px solid #f1b8c4!important;
    box-shadow:0 7px 20px rgba(23,49,79,.12)!important;
}
.dt-b2b-modal .form-head,
.dt-b2b-modal .sence-form-head,
.dt-b2b-modal .view-head{
    padding-right:68px!important;
}
.dt-b2b-modal .form-head,
.dt-b2b-modal .sence-form-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:18px!important;
}
.dt-b2b-modal .form-grid,
.dt-b2b-modal .sence-form-grid{
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.dt-b2b-modal .course-grid{
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.dt-b2b-modal .form-grid>*,
.dt-b2b-modal .sence-form-grid>*,
.dt-b2b-modal .course-grid>*{
    min-width:0!important;
}
.dt-b2b-modal input,
.dt-b2b-modal select,
.dt-b2b-modal textarea{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}
.dt-b2b-modal .view-head,
.dt-b2b-modal .view-meta,
.dt-b2b-modal .sence-view-readiness,
.dt-b2b-modal .sence-view-sections{
    margin-left:24px!important;
    margin-right:24px!important;
}
.dt-b2b-modal .view-head{padding-top:24px!important}
.dt-b2b-modal .sence-view-sections{padding-bottom:28px!important}

.dt-b2b-premium .section-heading{align-items:flex-start!important}
.dt-b2b-premium .section-actions{
    display:flex!important;
    gap:8px!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
}

@media(max-width:1100px){
    .dt-b2b-modal{padding:18px!important}
    .dt-b2b-modal .modal-card{
        width:calc(100vw - 36px)!important;
        max-height:calc(100dvh - 36px)!important;
    }
    .dt-b2b-modal .course-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:820px){
    .dt-b2b-modal{padding:12px!important;align-items:flex-start!important}
    .dt-b2b-modal .modal-card{
        width:calc(100vw - 24px)!important;
        max-width:none!important;
        max-height:calc(100dvh - 24px)!important;
        border-radius:20px!important;
    }
    .dt-b2b-modal .modal-card>form,
    .dt-b2b-modal form.dt-b2b-form,
    .dt-b2b-modal form.dt-sence-course-form{
        padding:24px 20px 34px!important;
    }
    .dt-b2b-modal .form-grid,
    .dt-b2b-modal .sence-form-grid,
    .dt-b2b-modal .course-grid{
        grid-template-columns:1fr!important;
    }
    .dt-b2b-modal .span2,
    .dt-b2b-modal .wide{grid-column:auto!important}
    .dt-b2b-modal .form-head,
    .dt-b2b-modal .sence-form-head{
        flex-direction:column!important;
        padding-right:58px!important;
    }
    .dt-b2b-modal .form-head>button:not(.modal-close),
    .dt-b2b-modal .sence-form-head>button:not(.modal-close){
        width:100%!important;
    }
    .dt-b2b-premium .section-heading{
        flex-direction:column!important;
        gap:14px!important;
    }
    .dt-b2b-premium .section-actions{
        justify-content:flex-start!important;
        width:100%!important;
    }
}
@media(max-width:600px){
    .dt-b2b-modal{padding:6px!important}
    .dt-b2b-modal .modal-card{
        width:calc(100vw - 12px)!important;
        max-height:calc(100dvh - 12px)!important;
        border-radius:15px!important;
    }
    .dt-b2b-modal .modal-card>form,
    .dt-b2b-modal form.dt-b2b-form,
    .dt-b2b-modal form.dt-sence-course-form{
        padding:20px 14px 30px!important;
    }
    .dt-b2b-modal .modal-close{
        top:8px!important;
        margin:8px 8px -52px auto!important;
        width:42px!important;
        height:42px!important;
        min-width:42px!important;
    }
    .dt-b2b-modal .form-head,
    .dt-b2b-modal .sence-form-head,
    .dt-b2b-modal .view-head{padding-right:48px!important}
    .dt-b2b-modal input,
    .dt-b2b-modal select,
    .dt-b2b-modal textarea,
    .dt-b2b-modal button{font-size:16px!important}
    .dt-b2b-modal .view-head,
    .dt-b2b-modal .view-meta,
    .dt-b2b-modal .sence-view-readiness,
    .dt-b2b-modal .sence-view-sections{
        margin-left:12px!important;
        margin-right:12px!important;
    }
    .dt-b2b-premium .section-actions{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        width:100%!important;
    }
    .dt-b2b-premium .section-actions .primary-soft{
        grid-column:1/-1!important;
    }
}
@media(max-width:390px){
    .dt-b2b-modal{padding:3px!important}
    .dt-b2b-modal .modal-card{
        width:calc(100vw - 6px)!important;
        max-height:calc(100dvh - 6px)!important;
        border-radius:12px!important;
    }
    .dt-b2b-premium .section-actions{grid-template-columns:1fr!important}
    .dt-b2b-premium .section-actions .primary-soft{grid-column:auto!important}
}


/* =========================================================
   v1.3.4 · MODAL DEFINITIVO: CUERPO SCROLLABLE
   ========================================================= */

/*
 * La tarjeta queda fija dentro de la pantalla.
 * El scroll vive exclusivamente en #dtB2BModalBody.
 * Esto evita que los campos inferiores de Editar B2B queden cortados.
 */
.dt-b2b-modal{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:28px!important;
    overflow:hidden!important;
}

.dt-b2b-modal .modal-card{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    width:min(1280px,calc(100vw - 56px))!important;
    max-width:1280px!important;
    height:auto!important;
    max-height:calc(100dvh - 56px)!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:24px!important;
    background:#fff!important;
    box-shadow:0 28px 90px rgba(5,23,48,.36)!important;
}

/* Área que realmente desplaza */
.dt-b2b-modal #dtB2BModalBody{
    position:relative!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-height:0!important;
    max-height:calc(100dvh - 56px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    scrollbar-width:thin!important;
    scrollbar-color:#b9c9dd transparent!important;
}

/* El form ya no debe controlar el scroll */
.dt-b2b-modal #dtB2BModalBody > form,
.dt-b2b-modal form.dt-b2b-form,
.dt-b2b-modal form.dt-sence-course-form{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:30px 32px 70px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
}

/* Espacio inferior real: permite llegar al último campo y botón */
.dt-b2b-modal #dtB2BModalBody::after{
    content:""!important;
    display:block!important;
    height:20px!important;
    flex:0 0 20px!important;
}

/* Cierre permanece visible mientras se hace scroll */
.dt-b2b-modal .modal-close{
    position:absolute!important;
    top:18px!important;
    right:18px!important;
    z-index:1000!important;
    float:none!important;
    display:grid!important;
    place-items:center!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    margin:0!important;
    padding:0!important;
    border-radius:50%!important;
    background:#fff7f8!important;
    border:1px solid #f1b8c4!important;
    box-shadow:0 7px 20px rgba(23,49,79,.12)!important;
}

/* Cabeceras nunca quedan bajo el botón X */
.dt-b2b-modal .form-head,
.dt-b2b-modal .sence-form-head,
.dt-b2b-modal .view-head{
    padding-right:70px!important;
}

/* Sección 2: cursos contratados con espacio inferior suficiente */
.dt-b2b-modal #dtCourseRows{
    padding-bottom:20px!important;
}
.dt-b2b-modal .course-row:last-child{
    margin-bottom:24px!important;
}

/* Inputs y grids */
.dt-b2b-modal .form-grid,
.dt-b2b-modal .sence-form-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:15px 18px!important;
}
.dt-b2b-modal .course-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px 16px!important;
}
.dt-b2b-modal .form-grid>*,
.dt-b2b-modal .sence-form-grid>*,
.dt-b2b-modal .course-grid>*{
    min-width:0!important;
}

/* Botones de descarga uniformes */
.dt-b2b-premium .dt-local-downloads .soft-btn,
.dt-b2b-premium .sence-section-actions .soft-btn,
.dt-b2b-premium .compact-report,
.dt-b2b-premium .compact-export,
.dt-b2b-premium .participant-downloads button,
.dt-b2b-premium .group-report-actions button{
    min-width:58px!important;
    min-height:42px!important;
    padding:0 12px!important;
    border:1px solid #d6e3f2!important;
    border-radius:11px!important;
    background:#f4f8fd!important;
    color:#24527e!important;
    font-size:12px!important;
    font-weight:850!important;
    line-height:1!important;
    text-align:center!important;
}

/* Tablet */
@media(max-width:900px){
    .dt-b2b-modal{
        padding:16px!important;
    }
    .dt-b2b-modal .modal-card{
        width:calc(100vw - 32px)!important;
        max-height:calc(100dvh - 32px)!important;
        border-radius:20px!important;
    }
    .dt-b2b-modal #dtB2BModalBody{
        max-height:calc(100dvh - 32px)!important;
    }
    .dt-b2b-modal #dtB2BModalBody > form,
    .dt-b2b-modal form.dt-b2b-form,
    .dt-b2b-modal form.dt-sence-course-form{
        padding:26px 22px 64px!important;
    }
    .dt-b2b-modal .course-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

/* Tablet pequeña / móvil */
@media(max-width:720px){
    .dt-b2b-modal{
        padding:8px!important;
        align-items:flex-start!important;
    }
    .dt-b2b-modal .modal-card{
        width:calc(100vw - 16px)!important;
        max-width:none!important;
        max-height:calc(100dvh - 16px)!important;
        border-radius:16px!important;
    }
    .dt-b2b-modal #dtB2BModalBody{
        max-height:calc(100dvh - 16px)!important;
    }
    .dt-b2b-modal #dtB2BModalBody > form,
    .dt-b2b-modal form.dt-b2b-form,
    .dt-b2b-modal form.dt-sence-course-form{
        padding:22px 15px 60px!important;
    }
    .dt-b2b-modal .form-grid,
    .dt-b2b-modal .sence-form-grid,
    .dt-b2b-modal .course-grid{
        grid-template-columns:1fr!important;
    }
    .dt-b2b-modal .span2,
    .dt-b2b-modal .wide{
        grid-column:auto!important;
    }
    .dt-b2b-modal .form-head,
    .dt-b2b-modal .sence-form-head{
        flex-direction:column!important;
        align-items:stretch!important;
        padding-right:48px!important;
    }
    .dt-b2b-modal .form-head > button:not(.modal-close),
    .dt-b2b-modal .sence-form-head > button:not(.modal-close){
        width:100%!important;
    }
    .dt-b2b-modal .modal-close{
        top:10px!important;
        right:10px!important;
        width:42px!important;
        height:42px!important;
        min-width:42px!important;
    }
    .dt-b2b-modal input,
    .dt-b2b-modal select,
    .dt-b2b-modal textarea,
    .dt-b2b-modal button{
        font-size:16px!important;
    }
}

/* Teléfonos estrechos */
@media(max-width:390px){
    .dt-b2b-modal{
        padding:4px!important;
    }
    .dt-b2b-modal .modal-card{
        width:calc(100vw - 8px)!important;
        max-height:calc(100dvh - 8px)!important;
        border-radius:12px!important;
    }
    .dt-b2b-modal #dtB2BModalBody{
        max-height:calc(100dvh - 8px)!important;
    }
    .dt-b2b-modal #dtB2BModalBody > form{
        padding-left:12px!important;
        padding-right:12px!important;
    }
}

/* v2.0.6 - Vista de ficha alineada con formulario maestro */
.sence-view-form-section{margin:18px 0!important}.sence-view-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.sence-view-field{border:1px solid var(--dt-border,#dbe6f2);background:#fff;border-radius:12px;padding:12px 14px;min-width:0}.sence-view-field.wide{grid-column:1/-1}.sence-view-field small{display:block;color:var(--dt-muted,#6b7f99);font-weight:700;margin-bottom:6px}.sence-view-field strong,.sence-view-field p{display:block;margin:0;color:var(--dt-text,#173657);font-weight:600;white-space:pre-line;overflow-wrap:anywhere}.sence-view-field p{font-weight:400;line-height:1.55}@media(max-width:760px){.sence-view-form-grid{grid-template-columns:1fr}.sence-view-field.wide{grid-column:auto}}


/* v2.0.7 · Ficha institucional: misma jerarquía visual del formulario maestro */
.dt-b2b-premium .sence-view-head{margin-bottom:18px;padding:0 4px 8px}
.dt-b2b-premium .sence-view-form-section{margin:16px 0!important;padding:18px!important;border:1px solid var(--dt-border,#dce6f1)!important;border-radius:17px!important;background:#fbfdff!important}
.dt-b2b-premium .sence-view-form-section .sence-form-section-title{display:flex!important;align-items:center!important;gap:11px!important;margin:0 0 15px!important}
.dt-b2b-premium .sence-view-form-section .sence-form-section-title>b{display:grid!important;place-items:center!important;flex:0 0 32px!important;width:32px!important;height:32px!important;border-radius:10px!important;background:var(--dt-primary-soft,#e8f1ff)!important;color:var(--dt-primary,#1769ff)!important;font-size:13px!important}
.dt-b2b-premium .sence-view-form-section .sence-form-section-title>div{min-width:0!important}
.dt-b2b-premium .sence-view-form-section .sence-form-section-title strong{display:block!important;color:var(--dt-text,#23496f)!important;font-size:14px!important;line-height:1.3!important}
.dt-b2b-premium .sence-view-form-section .sence-form-section-title span{display:block!important;margin-top:2px!important;color:var(--dt-muted,#8798ad)!important;font-size:11px!important;line-height:1.4!important}
.dt-b2b-premium .sence-view-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:0!important}
.dt-b2b-premium .sence-view-field{border:1px solid var(--dt-border,#dbe6f2)!important;background:#fff!important;border-radius:12px!important;padding:12px 14px!important;min-width:0!important}
.dt-b2b-premium .sence-view-field.wide{grid-column:1/-1!important}
.dt-b2b-premium .sence-view-field small{display:block!important;color:var(--dt-muted,#6b7f99)!important;font-size:11px!important;font-weight:700!important;margin:0 0 6px!important}
.dt-b2b-premium .sence-view-field strong,.dt-b2b-premium .sence-view-field p{display:block!important;margin:0!important;color:var(--dt-text,#173657)!important;font-size:14px!important;font-weight:650!important;line-height:1.5!important;white-space:pre-line!important;overflow-wrap:anywhere!important}
.dt-b2b-premium .sence-view-field p{font-weight:500!important}
@media(max-width:760px){.dt-b2b-premium .sence-view-form-grid{grid-template-columns:1fr!important}.dt-b2b-premium .sence-view-field.wide{grid-column:auto!important}}

/* v2.0.9 · Biblioteca de medios (logo OTEC) sobre el modal del módulo */
.media-modal-backdrop{z-index:2000000!important}
.media-modal{z-index:2000001!important}
