@font-face{font-family:Mulish;src:url(/fonts/Mulish-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Mulish;src:url(/fonts/Mulish-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Mulish;src:url(/fonts/Mulish-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Mulish;src:url(/fonts/Mulish-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(/fonts/InstrumentSerif-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(/fonts/InstrumentSerif-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg: #ffffff;--crema: #fbf8f3;--soft: #f4efe6;--sheet: #ffffff;--nav-bg: #ffffff;--glass: #ffffff;--glass-strong: var(--crema);--icon-well: var(--accent-bg);--ink: #26221c;--ink-soft: #6e6656;--ink-dim: #8a8172;--border: #ebe5da;--hairline: #ebe5da;--track: #f0ebe1;--accent: #96702e;--accent-bg: #f5eddd;--send: #c0862f;--send-light: #e0a855;--on-accent: #ffffff;--accent-sage: #5f7a54;--sage-bg: #e9eee4;--accent-coral: #b36a4a;--coral-bg: #f6e8e0;--lila: #7a6a96;--lila-bg: #ede9f2;--danger: #b4361e;--danger-bg: #f8e6e1;--ok: #5f7a54;--flama: #e58a2e;--grad-send: linear-gradient(135deg, #c0862f, #e0a855);--sombra-card: 0 4px 14px rgba(38, 34, 28, .06);--sombra-destacada: 0 8px 26px rgba(38, 34, 28, .12);--radius: 22px;--radius-sm: 16px;--font-ui: "Mulish", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-pro: var(--font-ui);--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-nav: cubic-bezier(.3, .9, .3, 1);--ease-pop: cubic-bezier(.3, 1.2, .4, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}::selection{background:var(--accent-bg);color:var(--accent)}:focus-visible{outline:3px solid var(--send);outline-offset:2px;border-radius:8px}h1,h2,h3{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;line-height:1.1;margin:0}a{color:inherit;text-decoration:none}button{font-family:var(--font-ui)}input,textarea,select{font-family:var(--font-ui);width:100%;padding:13px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;color:var(--ink);font-size:14px;outline:none;transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out)}input:focus,textarea:focus,select:focus{border-color:var(--send);box-shadow:0 0 0 4px #c0862f24}input::placeholder,textarea::placeholder{color:var(--ink-dim)}select option{background:#fff;color:var(--ink)}textarea{resize:vertical;min-height:90px}label.field{display:block;margin-bottom:14px}label.field>span{display:block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:7px}.app-shell{position:relative;z-index:1;display:flex;min-height:100vh;background:var(--crema)}.sidebar{width:248px;flex-shrink:0;padding:22px 14px;background:var(--nav-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:thin}.sidebar .brand{font-family:var(--font-serif);font-style:italic;font-size:26px;padding:4px 12px 18px;display:flex;align-items:center;gap:10px}.sidebar .brand .orb{width:26px;height:26px;border-radius:50%;background:var(--grad-send);box-shadow:0 4px 14px #c0862f59}.sidebar .section-label{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);padding:16px 12px 6px}.sidebar a.nav-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-soft);border:1px solid transparent;transition:background .2s var(--ease-nav),color .2s var(--ease-nav)}.sidebar a.nav-item:hover{background:var(--soft);color:var(--ink)}.sidebar a.nav-item.active{background:var(--accent-bg);border-color:transparent;color:var(--accent);font-weight:700}.sidebar a.nav-item .ico{width:20px;text-align:center}.sidebar .spacer{flex:1}.main{flex:1;min-width:0;padding:28px 34px 60px;max-width:1180px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.topbar h1{font-size:34px}.topbar .sub{color:var(--ink-soft);font-size:14px;margin-top:6px}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--sombra-card)}.card.clickable{cursor:pointer;transition:box-shadow .22s var(--ease-out),transform .18s var(--ease-out)}.card.clickable:hover{box-shadow:var(--sombra-destacada);transform:translateY(-2px)}.card.clickable:active{transform:scale(.99)}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1100px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.sidebar{display:none}.main{padding:18px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--ink);font-size:14px;font-weight:700;cursor:pointer;box-shadow:var(--sombra-card);transition:box-shadow .22s var(--ease-out),transform .18s var(--ease-out),background .18s var(--ease-out);white-space:nowrap}.btn:hover{box-shadow:var(--sombra-destacada)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none;transform:none}.btn.primary{background:var(--grad-send);border-color:transparent;color:var(--on-accent);box-shadow:0 8px 22px #c0862f52}.btn.primary:hover{box-shadow:0 12px 30px #c0862f6b}.btn.danger{color:var(--danger);border-color:#b4361e47;background:#fff}.btn.danger:hover{background:var(--danger-bg)}.btn.small{padding:7px 16px;font-size:13px}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-soft);box-shadow:none}.btn.ghost:hover{background:var(--soft);color:var(--ink);box-shadow:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.04em;background:var(--soft);border:1px solid transparent;color:var(--ink-soft)}.chip.accent{background:var(--accent-bg);color:var(--accent)}.chip.sage{background:var(--sage-bg);color:var(--accent-sage)}.chip.coral{background:var(--coral-bg);color:var(--accent-coral)}.chip.live{background:var(--danger-bg);color:var(--danger)}.chip.clickable{cursor:pointer;transition:transform .18s var(--ease-out)}.chip.clickable:active{transform:scale(.97)}.section-label{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:28px 0 12px}.empty{text-align:center;color:var(--ink-soft);padding:46px 20px}.empty .big{font-size:34px;margin-bottom:10px}.muted{color:var(--ink-soft)}.dim{color:var(--ink-dim)}.error-text{color:var(--danger);font-size:13px;margin:8px 0}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stat-value{font-family:var(--font-serif);font-style:italic;font-size:38px;line-height:1;color:var(--ink)}.stat-label{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#26221c4d;display:flex;align-items:flex-start;justify-content:center;padding:7vh 20px 20px;z-index:50;overflow-y:auto;animation:fadeIn .24s var(--ease-out) both}.modal{background:var(--sheet);border:1px solid var(--border);border-radius:24px;width:100%;max-width:560px;padding:28px;box-shadow:0 24px 70px #26221c38;animation:lumenIn .42s var(--ease-out) both}.modal h2{font-size:27px;margin-bottom:18px}.tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tabs .tab{padding:9px 20px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--ink-soft);font-size:13px;font-weight:700;cursor:pointer;transition:background .2s var(--ease-nav),color .2s var(--ease-nav),border-color .2s var(--ease-nav)}.tabs .tab:hover{color:var(--ink)}.tabs .tab.active{background:var(--accent-bg);border-color:transparent;color:var(--accent)}.auth-wrap{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);overflow:hidden}.auth-wrap:before{content:"";position:absolute;width:min(760px,120vw);height:min(760px,120vw);border-radius:50%;background:radial-gradient(circle,#e0a8553d,#e0a85500 68%);pointer-events:none}.auth-card{position:relative;width:100%;max-width:420px;background:#fff;border:1px solid var(--border);border-radius:28px;padding:40px 36px;box-shadow:0 24px 60px #26221c1f,0 4px 14px #26221c0f;animation:lumenIn .5s var(--ease-out) both}.auth-card .brand{font-family:var(--font-serif);font-style:italic;font-size:38px;text-align:center;margin-bottom:6px}.auth-card .tagline{text-align:center;color:var(--ink-soft);font-size:14px;margin-bottom:30px}.auth-marca{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:26px}.auth-marca .orb{width:30px;height:30px;border-radius:50%;background:var(--grad-send);box-shadow:0 6px 18px #c0862f66}.auth-marca .brand{font-family:var(--font-ui);font-size:15px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.auth-titulo{font-size:33px;text-align:center;margin-bottom:8px}.auth-pies{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.auth-nota{position:relative;margin:22px 0 0;font-size:12.5px;font-weight:600;color:var(--ink-dim);text-align:center}.auth-nota a{color:var(--accent)}.auth-wrap{flex-direction:column}.list{display:flex;flex-direction:column;gap:12px}.divider{height:1px;background:var(--border);margin:16px 0}.avatar{width:38px;height:38px;border-radius:50%;background:var(--accent-bg);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:var(--accent);flex-shrink:0}.avatar-img{object-fit:cover;background:var(--soft);padding:0}.progress-track{height:7px;border-radius:99px;background:var(--track);overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:var(--grad-send);transition:width .4s var(--ease-out)}.course-grid{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:16px;align-items:start}@media(max-width:860px){.course-grid{grid-template-columns:1fr}}.course-lesson{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;color:var(--ink);cursor:pointer;transition:box-shadow .2s var(--ease-out),border-color .2s var(--ease-out),transform .18s var(--ease-out)}.course-lesson:hover{box-shadow:var(--sombra-card)}.course-lesson:active{transform:scale(.99)}.course-lesson.active{border-color:var(--send);background:var(--accent-bg)}.course-lesson .lesson-mark{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;background:var(--soft);border:1px solid transparent;color:var(--ink-soft)}.course-lesson .lesson-mark.done{background:var(--accent-sage);border-color:transparent;color:#fff}.course-lesson .lesson-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.course-lesson .lesson-title{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.serif-quote{font-family:var(--font-serif);font-style:italic;font-size:23px;line-height:1.45}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--ink);border:1px solid transparent;color:#fff;border-radius:999px;padding:13px 26px;font-size:14px;font-weight:600;z-index:100;box-shadow:0 12px 34px #26221c47;animation:lumenIn .38s var(--ease-pop) both}.spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--track);border-top-color:var(--send);animation:spin .8s linear infinite;margin:30px auto}.well{width:42px;height:42px;border-radius:14px;background:var(--accent-bg);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}.kpi.hero{background:linear-gradient(135deg,#fdf3e3,#f8e3be);border-color:#f0ddb4}.delta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px}.delta.up{color:var(--accent-sage);background:var(--sage-bg)}.delta.flat{color:var(--ink-soft);background:var(--soft)}.alert-row{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;box-shadow:var(--sombra-card)}.alert-row.danger{background:var(--danger-bg);border-color:#b4361e3d}.alert-row.warn{background:#fbedd8;border-color:#f0ddb4}.alert-row.ok{background:var(--sage-bg);border-color:transparent}.alert-row .pulse{width:11px;height:11px;border-radius:50%;flex-shrink:0}.alert-row.danger .pulse{background:var(--danger);animation:pulse 1.6s ease-out infinite}.alert-row.warn .pulse{background:var(--flama)}.alert-row.ok .pulse{background:var(--accent-sage)}@keyframes pulse{0%{box-shadow:0 0 #b4361e66}to{box-shadow:0 0 0 9px #b4361e00}}.segbar{display:flex;height:16px;border-radius:999px;overflow:hidden;background:var(--track)}.segbar>span{display:block;height:100%}.mini{display:flex;align-items:center;gap:13px;padding:16px 18px}.admin,.admin h1,.admin h2,.admin h3,.admin .brand{font-family:var(--font-pro)}.admin h1,.admin h2,.admin h3{font-style:normal}.admin .brand{font-weight:800;font-size:21px;letter-spacing:-.01em;font-style:normal}.admin .stat-value{font-family:var(--font-pro);font-style:normal;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.admin .topbar h1{font-size:25px;font-weight:800;letter-spacing:-.02em}.admin .section-label{margin:16px 0 9px}.admin .topbar{margin-bottom:16px}.admin .grid{gap:12px}.admin .card{padding:16px}@keyframes lumenIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.admin .anim,.anim{animation:lumenIn .5s var(--ease-out) both}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar .search{flex:1;min-width:220px;max-width:380px}.toolbar select{width:auto;min-width:150px}.dtable-wrap{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--sombra-card)}.dtable{width:100%;border-collapse:separate;border-spacing:0}.dtable thead th{text-align:left;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);padding:11px 14px;border-bottom:1px solid var(--border);background:var(--crema);white-space:nowrap}.dtable thead th.num,.dtable tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.dtable tbody td{padding:9px 14px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}.dtable tbody tr:last-child td{border-bottom:none}.dtable tbody tr{transition:background .14s var(--ease-nav)}.dtable tbody tr:hover{background:var(--crema)}.cell-id{display:flex;align-items:center;gap:11px;min-width:0}.cell-id .who{min-width:0}.cell-id .nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.cell-id .em{font-size:12px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--ink-soft);cursor:pointer;font-size:14px;transition:background .14s var(--ease-nav),color .14s var(--ease-nav),border-color .14s var(--ease-nav),transform .16s var(--ease-out)}.iconbtn:hover{background:var(--soft);color:var(--ink)}.iconbtn:active{transform:scale(.94)}.iconbtn.danger:hover{color:var(--danger);background:var(--danger-bg);border-color:#b4361e3d}.iconbtn:disabled{opacity:.4;cursor:default}.room-logo{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--soft);color:var(--ink-soft);font-size:14px}.room-logo.lg{width:56px;height:56px;border-radius:16px}.room-logo img{width:100%;height:100%;object-fit:cover}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}.pager .pages{display:flex;align-items:center;gap:6px}.pager .pg{min-width:32px;height:32px;padding:0 9px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--ink-soft);font-size:13px;font-weight:700;cursor:pointer;transition:background .16s var(--ease-nav),color .16s var(--ease-nav)}.pager .pg:hover{background:var(--soft);color:var(--ink)}.pager .pg.active{background:var(--accent-bg);border-color:transparent;color:var(--accent)}.pager .pg:disabled{opacity:.4;cursor:default}.role-select{width:auto;padding:6px 10px;font-size:12.5px;border-radius:999px}@media(max-width:900px){.dtable .hide-sm{display:none}}@keyframes spin{to{transform:rotate(360deg)}}.qa-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:18px;box-shadow:var(--sombra-card)}.qa-card.answered{border-color:#5f7a5466}.qa-question{font-size:15px;line-height:1.55;margin:8px 0 0}.qa-answer{border-left:2px solid var(--border);padding-left:12px;margin-top:12px;font-size:14px;line-height:1.6;color:var(--ink-soft);white-space:pre-wrap}.qa-answer.leader{border-left-color:var(--accent-sage);color:var(--ink)}@media(max-width:600px){.cert-form{flex-direction:column}}.invite{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--crema)}.invite-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--border);border-radius:28px;padding:28px;text-align:center;box-shadow:0 20px 50px #26221c1f;animation:lumenIn .5s var(--ease-out) both}.invite-cover{width:100%;height:168px;object-fit:cover;border-radius:18px;margin-bottom:18px}.invite-badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.12em;padding:6px 12px;border-radius:999px;background:var(--accent-sage);color:#fff}.invite-badge.is-demo{background:var(--soft);color:var(--ink-soft)}.invite-title{font-size:27px;line-height:1.2;margin:14px 0 6px}.invite-desc{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:12px 0 0}.invite-muted{font-size:13px;color:var(--ink-soft);margin:0}.invite-error{font-size:14px;color:var(--danger);margin:0}.invite-cta{display:block;margin:22px 0 16px;padding:15px;border-radius:999px;background:var(--grad-send);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 8px 22px #c0862f52}.invite-help{margin-bottom:10px}.invite-code{width:100%;display:flex;flex-direction:column;gap:3px;padding:14px;border-radius:16px;border:1px dashed var(--border);background:var(--crema);color:var(--ink);font-size:22px;font-weight:800;letter-spacing:.18em;cursor:pointer}.invite-code span{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ink-dim)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
