:root{--tuki:#5b2a86;--tuki-2:#7d4bb0;--bg:#f7f5fa;--card:#fff;--ink:#1d1530;--muted:#6b6478;--line:#e6e1ee;--ok:#1f8a4c;--warn:#b4560f;--bad:#b42318}@media (prefers-color-scheme:dark){:root{--bg:#14101b;--card:#1d1727;--ink:#eee9f5;--muted:#a69fb4;--line:#2e2640;--tuki-2:#b38be0}}*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--tuki-2);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:22px;margin:0 0 16px}h2{font-size:16px;margin:24px 0 8px}.muted{color:var(--muted)}.warn{color:var(--warn)}.shell{display:grid;grid-template-columns:200px 1fr;min-height:100vh}.side{background:var(--tuki);color:#fff;padding:20px 14px;display:flex;flex-direction:column;gap:4px}.side .brand{font-weight:700;font-size:17px;margin-bottom:16px}.side a{color:#fff;opacity:.85;padding:7px 10px;border-radius:6px}.side a:hover{opacity:1;background:rgba(255,255,255,.12);text-decoration:none}.side .foot{margin-top:auto;font-size:12px;opacity:.8}.side button{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:4px 8px;border-radius:6px;cursor:pointer;margin-top:6px}.main{padding:24px 28px;max-width:1200px}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px}.card,.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.kpi .v{font-size:22px;font-weight:700}.kpi .l{color:var(--muted);font-size:12px}table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600;background:color-mix(in srgb,var(--line) 35%,transparent)}tr:last-child td{border-bottom:0}.pill{display:inline-block;padding:1px 8px;border-radius:99px;font-size:12px;border:1px solid var(--line)}.pill.activo{color:var(--ok);border-color:currentColor}.pill.pendiente{color:var(--warn);border-color:currentColor}.pill.cancelado,.pill.inactivo{color:var(--bad);border-color:currentColor}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}input,select,textarea{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink)}button{font:inherit;padding:7px 14px;border:0;border-radius:7px;background:var(--tuki);color:#fff;cursor:pointer}button:disabled{opacity:.6}.stack{display:flex;flex-direction:column;gap:10px}.grid2{grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.grid2,dl{display:grid}dl{grid-template-columns:140px 1fr;grid-gap:4px 12px;gap:4px 12px;margin:0}dt{color:var(--muted)}.login{display:grid;place-items:center;min-height:100vh;padding:16px}.login .card{width:100%;max-width:380px}.empty{padding:24px;text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:10px}@media (max-width:760px){.shell{grid-template-columns:1fr}.side{flex-direction:row;flex-wrap:wrap;align-items:center}.side .brand{margin:0 8px 0 0}.side .foot{margin:0 0 0 auto}.main{padding:16px}.grid2{grid-template-columns:1fr}table{display:block;overflow-x:auto}}.side{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}@media (max-width:760px){.side{position:static;height:auto;overflow:visible}}.bar{height:10px;background:var(--line);overflow:hidden}.bar,.bar .fill{border-radius:99px}.bar .fill{height:100%;background:var(--tuki);transition:width .4s ease}.bar .fill.run{background-image:linear-gradient(90deg,var(--tuki) 0,var(--tuki-2) 50%,var(--tuki) 100%);background-size:200% 100%;animation:barmove 1.2s linear infinite}@keyframes barmove{0%{background-position:200% 0}to{background-position:0 0}}.rt{display:flex;flex-direction:column;gap:6px}.rt textarea{width:100%}.rt-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.rt-bar button{background:var(--card);color:var(--ink);border:1px solid var(--line);padding:4px 10px;font-size:13px}.rt-bar button:hover{border-color:var(--tuki-2)}.rt-help{font-size:12px}.rt-pop{gap:6px;flex-wrap:wrap;padding:8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--line) 25%,transparent)}.pt,.rt-pop{display:flex}.pt{min-height:100vh;flex-direction:column}.pt-preview{background:#fff4e5;color:#8a4b08;padding:8px 16px;font-size:13px;text-align:center}.pt-head{background:#660099;color:#fff}.pt-headin{max-width:1100px;margin:0 auto;padding:14px 20px 6px;gap:16px}.pt-headin,.pt-logo{display:flex;align-items:center}.pt-logo{gap:10px;color:#fff!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.pt-logo:hover{text-decoration:none}.pt-logo img{height:30px}.pt-who{margin-left:auto;display:flex;flex-direction:column;text-align:right;font-size:13px;line-height:1.3}.pt-who span{opacity:.8}.pt-head button{background:none;border:1px solid rgba(255,255,255,.45);padding:5px 10px;font-size:13px}.pt-nav{max-width:1100px;margin:0 auto;padding:4px 14px 0;display:flex;gap:2px;overflow-x:auto}.pt-nav a{color:#fff;opacity:.85;padding:10px 12px;border-bottom:3px solid transparent;white-space:nowrap}.pt-nav a:hover{opacity:1;text-decoration:none;border-bottom-color:#00CCFF}.pt-main{max-width:1100px;width:100%;margin:0 auto;padding:24px 20px;flex:1 1}.pt-foot{text-align:center;color:var(--muted);font-size:12px;padding:18px;border-top:1px solid var(--line)}.pt-kpi{color:inherit!important}.pt-kpi:hover{text-decoration:none;border-color:var(--tuki-2)}.pt-big{font-size:18px;font-weight:700}.pt-code{display:block;padding:10px 12px;background:color-mix(in srgb,var(--line) 40%,transparent);border-radius:8px;word-break:break-all;font-size:14px}.pt-qr{width:180px}.pt-qr svg{width:100%;height:auto;border-radius:8px}.pt-bar{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:12px}.pt-bar div{height:100%;background:#660099}.pt-lessons{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px}.pt-lesson{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;color:inherit!important}.pt-lesson:hover{text-decoration:none;border-color:var(--tuki-2)}.pt-lesson img{width:100%;aspect-ratio:2.3;object-fit:cover}.pt-lesson>div{padding:10px 12px;display:flex;flex-direction:column;gap:4px}.pt-lesson .ok{color:var(--ok);font-size:13px}.pt-mats{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}.pt-mat{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-left:4px solid #660099;border-radius:10px;padding:12px 14px;color:inherit!important}.pt-mat:hover{text-decoration:none;border-color:var(--tuki-2)}.pt-pitch{border-left:4px solid #00ccff}.pt-brandbar{background:#660099;color:#fff;border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.pt-brandbar img{height:30px}@media (max-width:760px){.pt-headin{flex-wrap:wrap}.pt-who{margin-left:0;text-align:left;order:3;width:100%}}.hp{border:1px dashed var(--line);border-radius:8px;padding:12px}.hp-sel{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hp-sel img{width:260px;max-width:100%;aspect-ratio:1200/520;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.hp-quitar{background:var(--bad);padding:5px 10px;font-size:13px}.hp-sec{background:var(--card);color:var(--ink);border:1px solid var(--line)}.hp-tabs{display:flex;gap:6px;flex-wrap:wrap}.hp-tabs button{background:var(--card);color:var(--ink);border:1px solid var(--line);padding:4px 10px;font-size:13px}.hp-tabs button.on{background:var(--tuki);color:#fff;border-color:var(--tuki)}.hp-scroll{max-height:560px;overflow-y:auto;padding-right:4px;flex-shrink:0}.hp-group{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 0 6px}.hp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-auto-rows:max-content;grid-gap:10px;gap:10px}.hp-tile{display:flex;flex-direction:column;padding:0;text-align:left;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:8px;overflow:hidden}.hp-tile:hover{border-color:var(--tuki-2)}.hp-tile.on{border:2px solid var(--tuki)}.hp-tile img{width:100%;height:auto;aspect-ratio:1200/520;object-fit:cover;display:block;background:var(--line)}.hp-cap{padding:6px 8px 8px;font-size:12.5px;line-height:1.3}.hp-cap b{display:block;font-size:11px;color:var(--tuki)}