/* Oxton LMS — Course Builder Premium (wizard 7-step) */

:root{
  --ox-indigo:#6366f1;--ox-indigo-soft:#eef2ff;--ox-indigo-deep:#4338ca;
  --ox-blue:#0ea5e9;--ox-blue-soft:#e0f2fe;
  --ox-emerald:#10b981;--ox-emerald-soft:#d1fae5;
  --ox-amber:#f59e0b;--ox-amber-soft:#fef3c7;
  --ox-pink:#ec4899;--ox-pink-soft:#fce7f3;
  --ox-violet:#8b5cf6;--ox-violet-soft:#ede9fe;
  --ox-rose:#e11d48;--ox-rose-soft:#ffe4e6;
  --ox-bg:#f7f7fb;
  --ox-border:#e8e8ec;
  --ox-border-strong:#d1d1da;
  --ox-muted:#6b6b78;
  --ox-subtle:#9b9ba8;
}

.builder-body{
  margin:0;background:var(--ox-bg);min-height:100vh;
  font-family:'Inter','Inter var',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-feature-settings:'cv02','cv03','cv04','cv11','ss01';
  -webkit-font-smoothing:antialiased;color:#0a0a0a;
}

/* ===== Header ===== */
.builder-header{background:#fff;border-bottom:1px solid var(--ox-border);position:sticky;top:0;z-index:90;height:52px}
.builder-header-inner{padding:0 24px;display:flex;align-items:center;gap:18px;height:100%}
.builder-back{color:var(--ox-muted);font-size:.82rem;font-weight:500;text-decoration:none;display:flex;align-items:center;gap:6px;padding:6px 10px;margin-left:-10px;border-radius:6px}
.builder-back:hover{color:#0a0a0a;background:#fafafa;text-decoration:none}
.builder-header-title{flex:1;display:flex;align-items:center;gap:10px;min-width:0}
.builder-header-title strong{font-size:.92rem;font-weight:600;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.builder-flash{padding:10px 24px;font-size:.85rem;font-weight:500;border-bottom:1px solid var(--ox-border)}
.builder-flash.success{background:var(--ox-emerald-soft);color:#065f46}
.builder-flash.error{background:#fef2f2;color:#991b1b}

/* ===== STEPPER (topo) ===== */
.builder-wrap{padding:24px 32px 60px;max-width:1480px;margin:0 auto}
.builder-stepper{
  display:flex;align-items:center;gap:0;padding:16px 22px;background:#fff;
  border:1px solid var(--ox-border);border-radius:14px;margin-bottom:24px;
  background-image:linear-gradient(135deg,rgba(99,102,241,.04),rgba(139,92,246,.03) 70%);
}
.bstep{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;color:var(--ox-muted);text-decoration:none;flex-shrink:0;min-width:0}
.bstep:hover{text-decoration:none;background:#fafafa;color:#0a0a0a}
.bstep-num{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid var(--ox-border-strong);font-weight:700;font-size:.82rem;flex-shrink:0;font-variant-numeric:tabular-nums}
.bstep-info{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.bstep-title{font-size:.82rem;font-weight:600;color:inherit;white-space:nowrap}
.bstep-sub{font-size:.7rem;color:var(--ox-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
.bstep.done .bstep-num{background:var(--ox-emerald);border-color:var(--ox-emerald);color:#fff}
.bstep.done .bstep-title{color:#0a0a0a}
.bstep.active .bstep-num{background:var(--ox-indigo);border-color:var(--ox-indigo);color:#fff;box-shadow:0 0 0 4px rgba(99,102,241,.18)}
.bstep.active .bstep-title{color:var(--ox-indigo)}
.bstep-line{flex:1;height:2px;background:var(--ox-border);min-width:18px;margin:0 6px;border-radius:2px}
.bstep-line.done{background:var(--ox-emerald)}

/* ===== Grid (content + preview) ===== */
.builder-grid{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}
.builder-content{min-width:0}
.builder-content-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:12px;flex-wrap:wrap}
.builder-content-head h1{margin:0;font-size:1.65rem;font-weight:700;letter-spacing:-.025em}
.bch-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--ox-indigo);margin-bottom:4px}
.bch-sub{margin:4px 0 0;color:var(--ox-muted);font-size:.92rem}
.bch-actions{display:flex;gap:8px;align-items:center}

.save-status{font-size:.78rem;color:var(--ox-subtle);display:flex;align-items:center;gap:5px;padding:0 4px}
.save-status .dot{width:6px;height:6px;border-radius:50%;background:var(--ox-emerald)}
.save-status.saving .dot{background:var(--ox-amber)}
.save-status.error .dot{background:var(--ox-rose)}

.status-pill{font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.04em;border:1px solid}
.status-pill.draft{background:var(--ox-amber-soft);color:#b45309;border-color:#fde68a}
.status-pill.publish{background:var(--ox-emerald-soft);color:#065f46;border-color:#a7f3d0}
.status-pill.private{background:#f5f5f7;color:var(--ox-muted);border-color:var(--ox-border-strong)}

/* ===== Builder cards (forms) ===== */
.builder-card{background:#fff;border:1px solid var(--ox-border);border-radius:12px;padding:24px 26px;margin-bottom:14px}
.builder-card h3{margin:0 0 4px;font-size:1rem;font-weight:600;letter-spacing:-.005em}
.builder-card .card-hint{color:var(--ox-muted);font-size:.85rem;margin:0 0 18px}
.bcard-icon{display:inline-flex;width:30px;height:30px;border-radius:8px;background:var(--ox-indigo-soft);color:var(--ox-indigo);align-items:center;justify-content:center;font-size:.95rem;margin-right:10px;vertical-align:middle}
.bcard-head{display:flex;align-items:center;margin-bottom:6px}
.bcard-head h3{margin:0}

.builder-card .form-group{margin-bottom:16px}
.builder-card label{font-size:.82rem;font-weight:500;color:#0a0a0a;display:block;margin-bottom:5px}
.builder-card label .req{color:var(--ox-rose);margin-left:2px}
.builder-card .form-help{color:var(--ox-muted);font-size:.78rem;margin-top:4px}
.builder-card input,.builder-card textarea,.builder-card select{
  width:100%;border:1px solid var(--ox-border-strong);border-radius:6px;padding:9px 12px;
  font-size:.88rem;background:#fff;color:#0a0a0a;line-height:1.4;font-family:inherit;
}
.builder-card input:focus,.builder-card textarea:focus,.builder-card select:focus{
  border-color:var(--ox-indigo);box-shadow:0 0 0 3px rgba(99,102,241,.14);outline:none;
}
.builder-card .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.builder-card textarea{min-height:90px;resize:vertical}

/* ===== Nav footer ===== */
.builder-nav-foot{margin-top:24px;padding-top:20px;border-top:1px solid var(--ox-border);display:flex;justify-content:space-between;gap:12px}

/* ===== Buttons ===== */
.builder-body .btn{font-family:inherit;font-weight:500;letter-spacing:0;border-radius:6px;font-size:.88rem;padding:9px 18px;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;cursor:pointer;line-height:1.2;text-decoration:none}
.builder-body .btn:hover{text-decoration:none}
.builder-body .btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-color:#4f46e5;box-shadow:0 1px 0 rgba(99,102,241,.4) inset}
.builder-body .btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);border-color:#4338ca;color:#fff}
.builder-body .btn-outline{background:#fff;color:#0a0a0a;border-color:var(--ox-border-strong)}
.builder-body .btn-outline:hover{background:#fafafa;border-color:#a0a0ad}
.builder-body .btn-sm{padding:6px 12px;font-size:.8rem}

/* ===== Live Preview ===== */
.builder-preview{background:#fff;border:1px solid var(--ox-border);border-radius:12px;position:sticky;top:80px;align-self:start;overflow:hidden}
.bp-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ox-border);background:linear-gradient(135deg,rgba(99,102,241,.05),rgba(139,92,246,.03))}
.bp-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--ox-subtle)}
.bp-link{font-size:.78rem;color:var(--ox-indigo);font-weight:500;text-decoration:none}

.bp-card{margin:14px;border:1px solid var(--ox-border);border-radius:10px;overflow:hidden;background:#fff}
.bp-thumb{aspect-ratio:16/10;background:#f5f5f7;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.bp-thumb img{width:100%;height:100%;object-fit:cover}
.bp-placeholder{color:var(--ox-subtle);font-size:.85rem;font-weight:500;background:linear-gradient(135deg,#f0f0f3,#fafafa);width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.bp-badge{position:absolute;top:8px;right:8px;background:var(--ox-rose);color:#fff;padding:3px 8px;border-radius:99px;font-size:.72rem;font-weight:700}

.bp-body{padding:14px 16px}
.bp-cat{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--ox-indigo);margin-bottom:5px}
.bp-body h3{margin:0 0 4px;font-size:.95rem;font-weight:600;line-height:1.3;letter-spacing:-.005em;word-wrap:break-word}
.bp-excerpt{margin:0 0 10px;color:var(--ox-muted);font-size:.78rem;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bp-meta{display:flex;gap:12px;color:var(--ox-muted);font-size:.74rem;margin-bottom:10px;padding:6px 0;border-top:1px solid #f5f5f7;border-bottom:1px solid #f5f5f7}
.bp-price{display:flex;align-items:baseline;gap:8px;font-weight:700;font-size:1.1rem}
.bp-price .free{color:var(--ox-emerald)}
.bp-price-old{color:var(--ox-subtle);font-size:.78rem;text-decoration:line-through;font-weight:500}

.bp-checklist{padding:14px 16px;border-top:1px solid var(--ox-border);background:#fafafa}
.bp-progress{display:flex;align-items:center;gap:8px;margin:6px 0 12px}
.bp-progress-bar{flex:1;height:5px;background:#f0f0f3;border-radius:99px;overflow:hidden}
.bp-progress-bar > div{height:100%;background:linear-gradient(90deg,var(--ox-indigo),var(--ox-violet))}
.bp-progress-text{font-size:.72rem;font-weight:600;color:var(--ox-muted);font-variant-numeric:tabular-nums}
.bp-cl-list{list-style:none;padding:0;margin:0}
.bp-cl-list li{padding:5px 0;font-size:.78rem;color:var(--ox-muted);display:flex;gap:8px;align-items:center}
.bp-cl-list li.ok{color:#0a0a0a}
.bp-cl-list li span{display:inline-flex;width:14px;height:14px;border-radius:50%;background:#f0f0f3;color:var(--ox-subtle);font-size:.6rem;align-items:center;justify-content:center;flex-shrink:0;font-weight:700}
.bp-cl-list li.ok span{background:var(--ox-emerald);color:#fff}

/* ===== Chips input ===== */
.chip-input{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid var(--ox-border-strong);border-radius:6px;background:#fff;min-height:60px;align-items:flex-start}
.chip-input:focus-within{border-color:var(--ox-indigo);box-shadow:0 0 0 3px rgba(99,102,241,.14)}
.chip{background:var(--ox-indigo-soft);color:var(--ox-indigo);padding:5px 12px;border-radius:99px;font-size:.82rem;display:inline-flex;align-items:center;gap:8px;font-weight:500}
.chip button{background:transparent;border:none;cursor:pointer;color:var(--ox-indigo);font-size:1rem;padding:0;line-height:1;opacity:.6;font-family:inherit}
.chip button:hover{opacity:1}
.chip-input-field{flex:1;border:none !important;outline:none !important;padding:6px 4px !important;font-size:.88rem;background:transparent !important;box-shadow:none !important;min-width:140px}

/* ===== Rich text editor ===== */
.rt-wrap{border:1px solid var(--ox-border-strong);border-radius:6px;background:#fff;overflow:hidden}
.rt-wrap:focus-within{border-color:var(--ox-indigo);box-shadow:0 0 0 3px rgba(99,102,241,.14)}
.rt-toolbar{display:flex;gap:2px;padding:6px;background:#fafafa;border-bottom:1px solid var(--ox-border);flex-wrap:wrap}
.rt-toolbar button{background:transparent;border:1px solid transparent;padding:4px 10px;cursor:pointer;border-radius:5px;font-size:.82rem;font-family:inherit;color:var(--ox-muted);min-width:30px;font-weight:600}
.rt-toolbar button:hover{background:#fff;border-color:var(--ox-border);color:#0a0a0a}
.rt-toolbar .sep{width:1px;background:var(--ox-border);margin:2px 4px}
.rt-area{padding:14px 16px;min-height:180px;outline:none;font-size:.92rem;line-height:1.6}
.rt-area:empty::before{content:attr(data-placeholder);color:var(--ox-subtle)}
.rt-area p{margin:0 0 .6em}
.rt-area h2{font-size:1.15rem;font-weight:600;margin:1em 0 .4em;letter-spacing:-.01em}
.rt-area h3{font-size:1rem;font-weight:600;margin:.8em 0 .3em}
.rt-area ul,.rt-area ol{padding-left:22px;margin:.4em 0}
.rt-area a{color:var(--ox-indigo)}

/* ===== Drop zone ===== */
.dz{border:2px dashed var(--ox-border-strong);border-radius:10px;padding:28px 20px;text-align:center;background:#fafafa;cursor:pointer;color:var(--ox-muted)}
.dz:hover,.dz.over{border-color:var(--ox-indigo);background:var(--ox-indigo-soft);color:var(--ox-indigo)}
.dz strong{display:block;color:#0a0a0a;font-weight:600;margin-bottom:4px;font-size:.92rem}
.dz small{display:block;color:var(--ox-subtle);font-size:.78rem;margin-top:6px}
.dz-ico{font-size:1.8rem;display:block;margin-bottom:8px;opacity:.6}
.dz-preview{max-width:100%;border-radius:8px;border:1px solid var(--ox-border);margin:0 auto 10px;display:block}

/* ===== AI button ===== */
.ai-btn{background:linear-gradient(135deg,#a78bfa,#6366f1);color:#fff;border:none;border-radius:6px;padding:5px 11px;font-size:.74rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:inherit}
.ai-btn:hover{background:linear-gradient(135deg,#8b5cf6,#4f46e5)}
.ai-btn .star{font-size:.78rem}

/* ===== Currículo ===== */
.curri-section{background:#fff;border:1px solid var(--ox-border);border-radius:10px;margin-bottom:10px;overflow:hidden}
.curri-section.collapsed .curri-lessons,.curri-section.collapsed .add-row{display:none}
.sec-head{padding:12px 14px;display:flex;align-items:center;gap:8px;background:#fff;border-bottom:1px solid #f5f5f7}
.curri-section.collapsed .sec-head{border-bottom:none}
.sec-head .toggle{cursor:pointer;color:var(--ox-subtle);font-size:.72rem;width:18px;text-align:center;user-select:none;font-family:'SF Mono',ui-monospace,monospace}
.sec-head .drag{cursor:grab;color:#c7c7d1;user-select:none;padding:0 4px;font-size:.75rem}
.sec-head .drag:active{cursor:grabbing}
.sec-head .title{flex:1;min-width:0}
.sec-head .title input{background:transparent;border:1px solid transparent;padding:4px 8px;font-weight:600;font-size:.95rem;width:100%;border-radius:5px;letter-spacing:-.005em}
.sec-head .title input:hover{border-color:var(--ox-border)}
.sec-head .title input:focus{background:#fafafa;border-color:var(--ox-indigo);outline:none;box-shadow:0 0 0 3px rgba(99,102,241,.10)}
.sec-head .num-mini{font-size:.74rem;color:var(--ox-subtle);font-variant-numeric:tabular-nums;padding:0 6px}
.sec-actions{display:flex;gap:2px}
.sec-actions button,.sec-actions a{background:transparent;border:1px solid transparent;cursor:pointer;padding:5px 10px;border-radius:5px;font-size:.78rem;color:var(--ox-muted);font-weight:500;font-family:inherit}
.sec-actions button:hover,.sec-actions a:hover{background:#fafafa;color:#0a0a0a;text-decoration:none}
.sec-actions .danger:hover{color:var(--ox-rose);background:#fef2f2}

.curri-lessons{list-style:none;margin:0;padding:0;background:#fafafa}
.curri-lesson{padding:9px 12px;display:flex;align-items:center;gap:10px;font-size:.86rem;background:#fff;margin:4px 8px;border:1px solid #f0f0f3;border-radius:6px}
.curri-lessons li:first-child{margin-top:8px}
.curri-lessons li:last-child{margin-bottom:8px}
.curri-lesson:hover{border-color:var(--ox-border-strong);background:#fafbff}
.curri-lesson .drag{cursor:grab;color:#c7c7d1;padding:0 2px;font-size:.75rem}
.curri-lesson .icon{width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0;font-family:'SF Mono',ui-monospace,monospace;font-weight:700}
.curri-lesson.is-video .icon{background:var(--ox-blue-soft);color:var(--ox-blue)}
.curri-lesson.is-text .icon{background:var(--ox-emerald-soft);color:var(--ox-emerald)}
.curri-lesson.is-quiz .icon{background:var(--ox-violet-soft);color:var(--ox-violet)}
.curri-lesson .lname{flex:1;min-width:0}
.curri-lesson .lname a{color:#0a0a0a;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.curri-lesson .lname a:hover{color:var(--ox-indigo);text-decoration:underline}
.curri-lesson .lduration{color:var(--ox-subtle);font-size:.74rem;font-variant-numeric:tabular-nums}
.curri-lesson .ltag{font-size:.66rem;font-weight:600;padding:2px 7px;border-radius:99px;background:#fff7ed;color:#c2410c;letter-spacing:.02em;text-transform:uppercase}
.curri-lesson .lactions{display:flex;gap:2px;opacity:0}
.curri-lesson:hover .lactions{opacity:1}
.curri-lesson .lactions button,.curri-lesson .lactions a{background:transparent;border:1px solid transparent;cursor:pointer;padding:4px 9px;border-radius:5px;font-size:.76rem;color:var(--ox-muted);font-weight:500;font-family:inherit}
.curri-lesson .lactions button:hover,.curri-lesson .lactions a:hover{background:#fff;border-color:var(--ox-border);color:#0a0a0a;text-decoration:none}
.curri-lesson .lactions .danger:hover{color:var(--ox-rose);background:#fef2f2;border-color:#fecaca}

.add-row{padding:8px 12px;display:flex;gap:6px;background:#fff;border-top:1px solid #f5f5f7;flex-wrap:wrap}
.add-row button{background:transparent;border:1px dashed var(--ox-border-strong);cursor:pointer;color:var(--ox-muted);font-weight:500;padding:6px 12px;border-radius:6px;font-size:.78rem;font-family:inherit}
.add-row button:hover{border-color:#0a0a0a;color:#0a0a0a;border-style:solid;background:#fafafa}
.add-row .from-lib{border-color:var(--ox-indigo);color:var(--ox-indigo);background:var(--ox-indigo-soft);border-style:solid}
.add-row .from-lib:hover{background:var(--ox-indigo);color:#fff}

.section-add{background:#fff;border:1px dashed var(--ox-border-strong);border-radius:10px;padding:16px;text-align:center;cursor:pointer;color:var(--ox-muted);font-weight:500;font-size:.85rem}
.section-add:hover{border-color:var(--ox-indigo);color:var(--ox-indigo);background:var(--ox-indigo-soft)}

.sortable-ghost{opacity:.35}
.sortable-chosen{background:#fafbff !important}

/* ===== Modal ===== */
.modal-backdrop{position:fixed;inset:0;background:rgba(10,10,10,.45);z-index:200;display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow:auto;backdrop-filter:blur(2px)}
.modal-backdrop.open{display:flex}
.modal{background:#fff;border-radius:10px;max-width:780px;width:100%;overflow:hidden;border:1px solid var(--ox-border-strong)}
.modal-head{padding:14px 22px;border-bottom:1px solid var(--ox-border);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,rgba(99,102,241,.04),#fff)}
.modal-head h3{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.005em}
.modal-head .close{cursor:pointer;background:transparent;border:none;font-size:1.4rem;color:var(--ox-subtle);padding:4px 8px;border-radius:5px}
.modal-head .close:hover{background:#f5f5f7;color:#0a0a0a}
.modal-body{padding:0;max-height:72vh;overflow:auto}
.modal-foot{padding:12px 22px;border-top:1px solid var(--ox-border);background:#fafafa;display:flex;justify-content:space-between;align-items:center;gap:8px}
.modal-foot .ks{color:var(--ox-subtle);font-size:.75rem}

.lesson-modal-grid{display:grid;grid-template-columns:170px 1fr}
.field-tabs{display:flex;flex-direction:column;border-right:1px solid var(--ox-border);background:#fafafa;padding:14px 0}
.field-tabs button{background:transparent;border:none;padding:8px 18px;cursor:pointer;font-size:.84rem;color:var(--ox-muted);font-weight:500;text-align:left;border-left:2px solid transparent;font-family:inherit}
.field-tabs button.active{color:var(--ox-indigo);border-left-color:var(--ox-indigo);background:#fff;font-weight:600}
.field-tabs button:hover:not(.active){background:#fff;color:#0a0a0a}
.field-content{padding:22px 26px}
.field-pane{display:none}
.field-pane.active{display:block}

.material-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}
.material-row input{flex:1}
.material-row button{background:transparent;border:1px solid var(--ox-border-strong);cursor:pointer;padding:7px 11px;border-radius:5px;color:var(--ox-muted)}

/* Switch */
.switch{position:relative;display:inline-block;width:34px;height:20px;vertical-align:middle}
.switch input{opacity:0;width:0;height:0}
.switch .slider{position:absolute;cursor:pointer;inset:0;background:#d1d1da;border-radius:99px}
.switch .slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;top:3px;background:#fff;border-radius:50%}
.switch input:checked + .slider{background:var(--ox-indigo)}
.switch input:checked + .slider:before{transform:translateX(14px)}
.field-switch{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:.85rem}
.field-switch label{margin-bottom:0;font-weight:500;cursor:pointer}

/* Tag chips */
.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.tag-list .ti{background:#fff;padding:5px 12px;border-radius:99px;font-size:.82rem;display:inline-flex;gap:8px;align-items:center;border:1px solid var(--ox-border-strong);font-weight:500}
.tag-list .ti button{background:transparent;border:none;cursor:pointer;color:var(--ox-subtle);font-size:1rem;padding:0;line-height:1;font-family:inherit}
.tag-list .ti button:hover{color:var(--ox-rose)}

/* Checklist */
.checklist{list-style:none;padding:0;margin:0}
.checklist li{padding:10px 14px;border:1px solid var(--ox-border);border-radius:6px;margin-bottom:6px;display:flex;align-items:center;gap:10px;font-size:.88rem;background:#fff}
.checklist li::before{content:'';width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.7rem;font-weight:700}
.checklist li.ok::before{content:'✓';background:var(--ox-emerald);color:#fff}
.checklist li.no::before{content:'';background:#fef2f2;border:1.5px solid #fecaca}

/* FAQ */
.faq-item{background:#fff;border:1px solid var(--ox-border);border-radius:8px;padding:13px 18px;margin-bottom:8px}
.faq-item summary{cursor:pointer;font-weight:500;font-size:.9rem;padding:2px 0;list-style:none;display:flex;align-items:center;gap:8px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::before{content:'+';color:var(--ox-indigo);font-weight:700;width:14px;font-family:'SF Mono',ui-monospace,monospace}
.faq-item[open] summary::before{content:'−'}
.faq-item p{margin:8px 0 0 22px;font-size:.85rem;color:var(--ox-muted)}

/* Toast */
.toast{position:fixed;bottom:20px;right:20px;background:#0a0a0a;color:#fff;padding:11px 17px;border-radius:8px;font-size:.84rem;font-weight:500;z-index:300;opacity:0;transform:translateY(8px);transition:opacity .15s,transform .15s;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.toast.show{opacity:1;transform:translateY(0)}
.toast.error{background:var(--ox-rose)}
.toast .dot{width:6px;height:6px;border-radius:50%;background:var(--ox-emerald)}

/* Library picker */
.lib-modal{background:#fff;border-radius:12px;max-width:1080px;width:100%;overflow:hidden;display:flex;flex-direction:column;max-height:86vh}
.lib-modal-head{padding:18px 24px;border-bottom:1px solid var(--ox-border);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,var(--ox-indigo-soft),#fff)}
.lib-modal-head h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--ox-indigo)}
.lib-modal-head .close{cursor:pointer;background:transparent;border:none;font-size:1.6rem;color:var(--ox-subtle);padding:4px 10px;border-radius:5px;font-family:inherit}
.lib-modal-toolbar{padding:14px 24px;border-bottom:1px solid var(--ox-border);display:flex;gap:8px;background:#fafafa}
.lib-modal-toolbar input{flex:1;border:1px solid var(--ox-border-strong);border-radius:6px;padding:9px 13px;font-size:.88rem;background:#fff;font-family:inherit}
.lib-modal-toolbar select{min-width:140px;border:1px solid var(--ox-border-strong);border-radius:6px;padding:9px 12px;font-size:.85rem;background:#fff;font-family:inherit}
.lib-cats{padding:12px 24px;display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--ox-border)}
.lib-cat-chip{background:#fff;border:1px solid var(--ox-border-strong);border-radius:99px;padding:5px 12px;font-size:.78rem;font-weight:500;cursor:pointer;color:var(--ox-muted);font-family:inherit;display:inline-flex;align-items:center;gap:5px}
.lib-cat-chip span{color:var(--c)}
.lib-cat-chip:hover{border-color:var(--c);color:var(--c)}
.lib-cat-chip.active{background:var(--c);color:#fff;border-color:var(--c)}
.lib-cat-chip.active span{color:#fff}
.lib-items{padding:18px 24px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;background:#fafafa}
.lib-pick-item{background:#fff;border:1px solid var(--ox-border-strong);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;border-left:3px solid var(--c)}
.lib-pick-item:hover{border-color:var(--c)}
.lib-pick-thumb{height:90px;background:color-mix(in srgb, var(--c) 8%, #fff);display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--ox-border)}
.lib-pick-thumb img{width:100%;height:100%;object-fit:cover}
.lib-pick-type{position:absolute;top:8px;right:8px;background:#fff;color:#0a0a0a;padding:2px 8px;border-radius:99px;font-size:.7rem;font-weight:600;border:1px solid var(--ox-border)}
.lib-pick-body{padding:10px 14px;flex:1;display:flex;flex-direction:column;gap:3px}
.lib-pick-cat{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.lib-pick-title{font-weight:600;font-size:.9rem;letter-spacing:-.005em;color:#0a0a0a;line-height:1.3}
.lib-pick-meta{color:var(--ox-subtle);font-size:.74rem;margin-top:auto;font-variant-numeric:tabular-nums}
.lib-pick-add{padding:7px 14px;background:#fafafa;border-top:1px solid var(--ox-border);font-size:.78rem;font-weight:600;color:var(--c);text-align:center}
.lib-pick-item:hover .lib-pick-add{background:var(--c);color:#fff}

/* Upload */
.upload-zone{background:#fafafa;border:1px dashed var(--ox-border-strong);border-radius:8px;padding:14px}
.upload-zone:hover{border-color:var(--ox-indigo)}
.upload-row{display:flex;gap:8px;align-items:center}
.upload-row input[type=url]{flex:1}

/* Empty state */
.builder-empty{text-align:center;padding:36px 24px;border:1px dashed var(--ox-border-strong);border-radius:10px;color:var(--ox-muted);background:#fafafa}
.builder-empty .ico{font-size:1.8rem;color:var(--ox-subtle);margin-bottom:10px;font-family:'SF Mono',ui-monospace,monospace}
.builder-empty h4{color:#0a0a0a;font-size:1rem;margin:0 0 4px;font-weight:600}
.builder-empty p{margin:0 0 14px;font-size:.85rem}

/* ===== Mobile ===== */
@media(max-width:1100px){
  .builder-grid{grid-template-columns:1fr}
  .builder-preview{position:static;order:2}
  .builder-wrap{padding:18px 16px 40px}
}
@media(max-width:780px){
  .builder-stepper{flex-direction:column;align-items:stretch;gap:6px}
  .bstep-line{display:none}
  .bstep{padding:8px 10px}
  .bstep-sub{max-width:none}
  .lesson-modal-grid{grid-template-columns:1fr}
  .field-tabs{flex-direction:row;border-right:none;border-bottom:1px solid var(--ox-border);overflow-x:auto}
  .field-tabs button{border-left:none;border-bottom:2px solid transparent}
  .field-tabs button.active{border-left:none;border-bottom-color:var(--ox-indigo)}
  .builder-card .form-row{grid-template-columns:1fr}
}
