:root{--bg:#0d0f12;--card:#15181e;--line:rgba(255,255,255,.1);--tx:#f1f5f9;--mu:#94a3b8;--red:#BE1622}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.5 'Funnel Display',-apple-system,BlinkMacSystemFont,sans-serif}
header{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;border-bottom:1px solid var(--line)}
header img{height:36px;display:block}
main{max-width:1100px;margin:0 auto;padding:32px 20px 80px;display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:36px;align-items:start}
h1,h2{font-weight:900;letter-spacing:-.025em;margin:0 0 16px;line-height:1.1}
h1{font-size:30px}h2{font-size:22px;font-weight:800}.gap{margin-top:40px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
label{display:block;font-size:13px;font-weight:800;color:var(--mu);margin:18px 0 6px}
input,textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--tx);padding:10px 12px;font:inherit}
input:focus,textarea:focus,.btn:focus-visible,.link:focus-visible{outline:2px solid var(--red);outline-offset:2px}
input[type=file]{padding:8px;color:var(--mu)}
.btn{display:block;width:100%;margin-top:22px;background:var(--red);color:#fff;border:0;border-radius:8px;padding:13px 26px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(190,22,34,.35);transition:background .15s,transform .15s}
.btn:hover{background:#d41825;transform:scale(1.01)}
.nets{display:flex;flex-wrap:wrap;gap:8px}
.nets label{display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 13px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:700;color:var(--tx);cursor:pointer}
.nets input{width:auto;accent-color:#fff}
.nets label:has(input:checked){background:var(--red);border-color:var(--red)}
.nets .off{opacity:.35;cursor:not-allowed}
.mu{color:var(--mu)}.s{font-size:13px;margin:8px 0 0}
.err{background:rgba(190,22,34,.18);border:1px solid var(--red);border-radius:8px;padding:10px 12px;margin:0 0 6px}
.errl{margin:6px 0 0;font-size:12.5px;color:#f87171;word-break:break-word}
.post{padding:18px 0;border-bottom:1px solid var(--line)}
.meta{font-size:12.5px;font-weight:700;color:var(--mu);margin-bottom:6px}
.txt{font-weight:600;overflow-wrap:anywhere}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chip{font-size:11px;font-weight:800;padding:3px 8px;border-radius:5px;background:rgba(255,255,255,.08);color:var(--mu)}
.chip.ok{background:rgba(34,197,94,.18);color:#4ade80}.chip.bad{background:rgba(190,22,34,.28);color:#f87171}
.acts{margin-top:10px}
.inl{display:inline}
.link{background:none;border:0;padding:0;margin-right:16px;font:inherit;font-size:13px;font-weight:700;color:var(--mu);cursor:pointer;text-decoration:none}
.link:hover{color:var(--red)}
.login{max-width:380px;margin:12vh auto;width:calc(100% - 32px)}
.login img{height:40px;display:block;margin-bottom:20px}
@media(max-width:860px){main{grid-template-columns:1fr}header{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}

main{max-width:1240px}
.cal{margin-bottom:12px}
.calh{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.calh h2{margin:0;text-transform:capitalize}
.calh .link{font-size:28px;margin:0;padding:0 12px;line-height:1}
.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.wd{font-size:12px;color:var(--mu);text-align:center;padding-bottom:2px}
.day{min-height:96px;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:border-color .15s}
.day:hover{border-color:rgba(255,255,255,.3)}
.day.today{border-color:var(--red)}
.dn{font-size:12px;font-weight:800;color:var(--mu)}
.today .dn{color:#fff;background:var(--red);border-radius:999px;padding:0 7px;align-self:flex-start}
.ev{display:block;font-size:11px;font-weight:700;line-height:1.35;padding:2px 5px;border-radius:4px;color:#fff;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(190,22,34,.5)}
.ev.done{background:rgba(34,197,94,.32)}
.ev.error{background:#7f1d1d;outline:1px solid var(--red)}
.more{font-size:11px;color:var(--mu)}
.post{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;scroll-margin-top:16px}
.post:target{background:rgba(190,22,34,.1)}
.th{width:96px;height:96px;border-radius:10px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.th img,.th video{display:block;width:100%;height:100%;object-fit:cover}
.th:empty{display:flex;align-items:center;justify-content:center;font-weight:900;color:rgba(255,255,255,.2)}
.th:empty::after{content:"nx"}
@media(max-width:600px){.grid{gap:3px}.day{min-height:64px;padding:3px}.ev{font-size:0;height:6px;padding:0}.post{grid-template-columns:72px minmax(0,1fr);gap:12px}.th{width:72px;height:72px}}

dialog{width:min(760px,calc(100% - 24px));max-height:80vh;background:var(--card);color:var(--tx);border:1px solid var(--line);border-radius:14px;padding:18px}
dialog::backdrop{background:rgba(0,0,0,.7)}
.b2h{display:flex;gap:14px;align-items:center;margin-bottom:14px}.b2h input{flex:1}.b2h .link{margin:0}
.b2l{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;overflow:auto;max-height:58vh}
.b2i{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px;color:var(--tx);font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.b2i:hover,.b2i:focus-visible{border-color:var(--red);outline:0}
.b2i img,.b2v{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;background:var(--card)}
.b2v{display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--mu)}
.b2i span{font-size:12.5px;font-weight:700;overflow-wrap:anywhere}.b2i small{color:var(--mu);font-size:11.5px}
.ghost{margin-top:8px;background:none;border:1px solid var(--line);color:var(--tx);border-radius:8px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer}
.ghost:hover{border-color:var(--red)}

label.ghost{display:inline-block;margin:8px 0 0 8px;font-size:15px;text-transform:none}

/* ---- Temas: noche (por defecto) y día ---- */
:root{color-scheme:dark;--sel:rgba(190,22,34,.18);--hov:rgba(255,255,255,.3);--soft:rgba(255,255,255,.08);--evq:rgba(190,22,34,.5);--evd:rgba(34,197,94,.32);--eve:#7f1d1d;--evt:#fff;--ok:#4ade80;--bad:#f87171}
:root[data-theme=light]{color-scheme:light;--bg:#f4f6f9;--card:#fff;--line:#e2e8f0;--tx:#0f172a;--mu:#64748b;--sel:rgba(190,22,34,.08);--hov:#94a3b8;--soft:#eef2f6;--evq:rgba(190,22,34,.14);--evd:rgba(34,197,94,.22);--eve:#fee2e2;--evt:#0f172a;--ok:#15803d;--bad:#b91c1c}
:root[data-theme=light] header img,:root[data-theme=light] .login img{filter:brightness(0)}
.day:hover{border-color:var(--hov)}
.chip{background:var(--soft)}
.chip.ok{background:rgba(34,197,94,.18);color:var(--ok)}
.chip.bad{background:rgba(190,22,34,.2);color:var(--bad)}
.errl{color:var(--bad)}
.ev{background:var(--evq);color:var(--evt)}
.ev.done{background:var(--evd)}
.ev.error{background:var(--eve);outline:1px solid var(--red)}
.th:empty{color:var(--mu)}
.hr{display:flex;align-items:center;gap:16px}.hr form{margin:0}
.tg{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--card);border:1px solid var(--line);color:var(--tx);border-radius:8px;cursor:pointer}
.tg:hover{border-color:var(--red)}.tg.fix{position:fixed;top:14px;right:14px;z-index:5}
.i-sun{display:none}:root[data-theme=dark] .i-sun{display:block}:root[data-theme=dark] .i-moon{display:none}
/* ---- Iconos de redes ---- */
.ico{display:block;width:20px;height:20px}
:root[data-theme=dark] .ico.mono{filter:invert(1)}
.nets .nl{padding:9px 12px}
.nl input{position:absolute;opacity:0;pointer-events:none}
.nl:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px}
.nets .nl:has(input:checked){background:var(--sel);border-color:var(--red)}
.nl:not(:has(input:checked)) .ico{opacity:.4}
.nl:not(:has(input:checked)) .ico:not(.mono){filter:grayscale(1)}
.chip{display:inline-flex;align-items:center;padding:5px 7px}.chip .ico{width:16px;height:16px}
.link .ico{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-right:2px}

main.one{display:block;max-width:640px}
main.one h2{margin-bottom:14px}
main.one .card{margin-bottom:24px}
.okm{background:rgba(34,197,94,.15);border:1px solid #22c55e;border-radius:8px;padding:10px 12px;margin:0 0 16px;overflow-wrap:anywhere}
.urow{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}
.urow:last-child{border-bottom:0}
select{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--tx);padding:10px 12px;font:inherit}
.hr{flex-wrap:wrap;justify-content:flex-end}

:root[data-theme=dark] .ico.mono{filter:none}
.ico.fb{display:flex;align-items:center;justify-content:center;border-radius:5px;color:#fff;font-size:12px;font-weight:800}

.day.past{background:transparent;cursor:default}
.day.past .dn{opacity:.4}
.day.past:hover{border-color:var(--line)}