:where(.board,.disp-board){--hora-fs: clamp(1rem, 2.1vw, 1.7rem);--hora-col: calc(var(--hora-fs) * 10.8);--bg: #05070d;--bg-grad: radial-gradient(1200px 600px at 50% -10%, #0b1830 0%, transparent 70%);--text: #e8ecf4;--text-strong: #ffffff;--muted: #6f86ad;--muted-2: #8ea3c6;--muted-3: #5f76a0;--faint: #4c5f82;--accent: #ffb300;--accent-glow: rgba(255, 179, 0, .35);--row-border: #0f1a2e;--head-border: #16233d;--sala-text: #9fb4d6;--flap-bg: linear-gradient(180deg, #1b1b1b 0%, #0a0a0a 50%, #1b1b1b 100%);--flap-text: #ffffff;--row-alt: rgba(255, 255, 255, .015);--panel-bg: rgba(11, 24, 48, .6);--st-prog-fg: #d6def0;--st-prog-bg: rgba(214, 222, 240, .08);--st-abord-fg: #29e06a;--st-abord-bg: rgba(41, 224, 106, .12);--st-curso-fg: #ffb300;--st-curso-bg: rgba(255, 179, 0, .12);--st-fin-fg: #5f6b80;--st-fin-bg: rgba(95, 107, 128, .08);--st-canc-fg: #ff4d4d;--st-canc-bg: rgba(255, 77, 77, .12);--live-on-fg: #29e06a;--live-wait-fg: #ffb300;--live-off-fg: #ff4d4d;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-grad),var(--bg);color:var(--text)}:where(.board,.disp-board)[data-tema=claro]{--bg: #f4f6fb;--bg-grad: radial-gradient(1200px 600px at 50% -10%, #ffffff 0%, transparent 70%);--text: #1a2233;--text-strong: #0d1526;--muted: #5a6b8a;--muted-2: #47597a;--muted-3: #6b7c9c;--faint: #8a99b5;--accent: #2563eb;--accent-glow: rgba(37, 99, 235, .25);--row-border: #dbe3f0;--head-border: #cdd8ea;--sala-text: #40506e;--flap-bg: linear-gradient(180deg, #e8edf6 0%, #d6deec 50%, #e8edf6 100%);--flap-text: #1a2233;--row-alt: rgba(20, 34, 61, .03);--panel-bg: rgba(255, 255, 255, .75);--st-prog-fg: #3a4a6b;--st-prog-bg: rgba(58, 74, 107, .1);--st-abord-fg: #0a8a3a;--st-abord-bg: rgba(10, 138, 58, .12);--st-curso-fg: #b26a00;--st-curso-bg: rgba(178, 106, 0, .12);--st-fin-fg: #8592ab;--st-fin-bg: rgba(133, 146, 171, .12);--st-canc-fg: #d62828;--st-canc-bg: rgba(214, 40, 40, .12);--live-on-fg: #0a8a3a;--live-wait-fg: #b26a00;--live-off-fg: #d62828}:where(.board,.disp-board)[data-tema=ambar]{--bg: #0a0700;--bg-grad: radial-gradient(1200px 600px at 50% -10%, #1a1200 0%, transparent 70%);--text: #ffb000;--text-strong: #ffcf4d;--muted: #a86f00;--muted-2: #c98a00;--muted-3: #8a5c00;--faint: #6b4700;--accent: #ffb000;--accent-glow: rgba(255, 176, 0, .5);--row-border: #241800;--head-border: #3a2600;--sala-text: #d99500;--flap-bg: linear-gradient(180deg, #1a1200 0%, #0a0700 50%, #1a1200 100%);--flap-text: #ffb000;--row-alt: rgba(255, 176, 0, .03);--panel-bg: rgba(26, 18, 0, .6);--st-prog-fg: #ffcf4d;--st-prog-bg: rgba(255, 176, 0, .08);--st-abord-fg: #ffdf80;--st-abord-bg: rgba(255, 176, 0, .16);--st-curso-fg: #ffb000;--st-curso-bg: rgba(255, 176, 0, .14);--st-fin-fg: #8a5c00;--st-fin-bg: rgba(138, 92, 0, .1);--st-canc-fg: #ff5a3c;--st-canc-bg: rgba(255, 90, 60, .14);--live-on-fg: #ffdf80;--live-wait-fg: #ffb000;--live-off-fg: #ff5a3c}:where(.board,.disp-board)[data-tema=verde]{--bg: #000a03;--bg-grad: radial-gradient(1200px 600px at 50% -10%, #00160a 0%, transparent 70%);--text: #33ff66;--text-strong: #7dffa3;--muted: #1f9a45;--muted-2: #2bbf58;--muted-3: #178038;--faint: #0f5926;--accent: #33ff66;--accent-glow: rgba(51, 255, 102, .5);--row-border: #062011;--head-border: #0b3a1e;--sala-text: #2bd960;--flap-bg: linear-gradient(180deg, #00160a 0%, #000a03 50%, #00160a 100%);--flap-text: #33ff66;--row-alt: rgba(51, 255, 102, .03);--panel-bg: rgba(0, 22, 10, .6);--st-prog-fg: #7dffa3;--st-prog-bg: rgba(51, 255, 102, .08);--st-abord-fg: #b6ffcb;--st-abord-bg: rgba(51, 255, 102, .16);--st-curso-fg: #33ff66;--st-curso-bg: rgba(51, 255, 102, .14);--st-fin-fg: #178038;--st-fin-bg: rgba(23, 128, 56, .1);--st-canc-fg: #ff4d4d;--st-canc-bg: rgba(255, 77, 77, .14);--live-on-fg: #b6ffcb;--live-wait-fg: #33ff66;--live-off-fg: #ff4d4d}:where(.board,.disp-board) .board__subtitle{display:block;margin-top:.15rem;font-size:clamp(.7rem,1.4vw,1rem);letter-spacing:.4em;color:var(--muted)}:where(.board,.disp-board) .board__clock{text-align:right}:where(.board,.disp-board) .board__time{display:block;font-size:clamp(2rem,5vw,3.6rem);font-weight:700;color:var(--accent);letter-spacing:.01em;line-height:1;text-shadow:0 0 18px var(--accent-glow);font-variant-numeric:tabular-nums}:where(.board,.disp-board) .board__day{display:block;margin-top:.35rem;font-size:clamp(.75rem,1.6vw,1.15rem);letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2)}:where(.board,.disp-board) .board__cols,:where(.board,.disp-board) .row{display:grid;grid-template-columns:max-content minmax(0,1.3fr) minmax(0,1fr) 11rem;gap:1rem;align-items:center}:where(.board,.disp-board) .col--estado{text-align:right}:where(.board,.disp-board) .board__rows{flex:1 1 auto;min-height:0;overflow:hidden;margin-top:.4rem}:where(.board,.disp-board) .cell{font-size:var(--hora-fs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(.board,.disp-board) .cell--evento{color:var(--text-strong);font-weight:600;letter-spacing:.03em}:where(.board,.disp-board) .cell--estado{text-align:right}:where(.board,.disp-board) .flap__sep{display:inline-block;margin:0 .3em;color:var(--muted-2);font-weight:700}:where(.board,.disp-board) .flap--fin{opacity:.88}:where(.board,.disp-board) .st--programado{color:var(--st-prog-fg);background:var(--st-prog-bg)}:where(.board,.disp-board) .st--abordando{color:var(--st-abord-fg);background:var(--st-abord-bg);animation:tablero-blink 1.1s steps(1,end) infinite;text-shadow:0 0 10px var(--st-abord-fg)}:where(.board,.disp-board) .st--encurso{color:var(--st-curso-fg);background:var(--st-curso-bg);text-shadow:0 0 10px var(--st-curso-fg)}:where(.board,.disp-board) .st--finalizado{color:var(--st-fin-fg);background:var(--st-fin-bg);opacity:.75}:where(.board,.disp-board) .st--cancelado{color:var(--st-canc-fg);background:var(--st-canc-bg);text-shadow:0 0 10px var(--st-canc-fg)}:where(.board,.disp-board) .board__foot{flex:0 0 auto;display:flex;justify-content:space-between;margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--head-border);font-size:clamp(.65rem,1.2vw,.9rem);letter-spacing:.25em;color:var(--faint)}:where(.board,.disp-board) .board__foot-brand{color:var(--muted);font-weight:700}:where(.board,.disp-board) .live__dot{width:.55em;height:.55em;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}:where(.board,.disp-board) .live--on .live__dot{animation:tablero-pulse 1.4s ease-in-out infinite}:where(.board,.disp-board) .board__center{flex:1 1 auto;display:flex;justify-content:center;min-width:0}:where(.board,.disp-board) .countdown{display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:0}:where(.board,.disp-board) .countdown__label{font-size:clamp(.6rem,1.2vw,.85rem);letter-spacing:.3em;color:var(--muted)}:where(.board,.disp-board) .countdown__val{font-size:clamp(1.3rem,3vw,2.4rem);font-weight:700;color:var(--st-abord-fg);letter-spacing:.08em;font-variant-numeric:tabular-nums;text-shadow:0 0 14px var(--st-abord-fg)}:where(.board,.disp-board) .countdown__evt{max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.7rem,1.4vw,1rem);letter-spacing:.1em;color:var(--sala-text)}:where(.board,.disp-board) .board__clockrow{display:flex;justify-content:flex-end;margin-bottom:.25rem}:where(.board,.disp-board) .chime{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:8px;border:1px solid var(--head-border);background:var(--row-alt);color:var(--muted);cursor:pointer;transition:color .2s,border-color .2s,background .2s}:where(.board,.disp-board) .chime svg{width:1.2rem;height:1.2rem}:where(.board,.disp-board) .chime:hover{color:var(--sala-text);border-color:var(--muted-3)}:where(.board,.disp-board) .chime--on{color:var(--accent);border-color:var(--accent);background:var(--st-curso-bg)}:where(.board,.disp-board) .ticker{flex:0 0 auto;display:flex;align-items:center;margin-top:.75rem;border:1px solid var(--head-border);border-radius:8px;background:var(--panel-bg);overflow:hidden}:where(.board,.disp-board) .ticker__tag{flex:0 0 auto;padding:.6rem 1rem;font-size:clamp(.6rem,1.1vw,.8rem);font-weight:700;letter-spacing:.24em;color:var(--bg);background:var(--accent);align-self:stretch;display:flex;align-items:center}:where(.board,.disp-board) .ticker__viewport{flex:1 1 auto;overflow:hidden;white-space:nowrap}:where(.board,.disp-board) .ticker__track{display:inline-flex;align-items:center;padding:.6rem 0;animation:tablero-marquee 30s linear infinite;will-change:transform}:where(.board,.disp-board) .ticker:hover .ticker__track{animation-play-state:paused}:where(.board,.disp-board) .ticker__item{display:inline-flex;align-items:center;gap:.6em;padding:0 2.5rem;font-size:clamp(.85rem,1.6vw,1.15rem);letter-spacing:.06em;color:var(--accent)}:where(.board,.disp-board) .ticker__item--urgente{color:var(--st-canc-fg);font-weight:700;text-shadow:0 0 10px var(--st-canc-fg)}:where(.board,.disp-board) .ticker__dot{font-size:.6em;opacity:.8}@keyframes tablero-blink{50%{opacity:.28}}@keyframes tablero-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes tablero-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}:root{--navy: #142b4d;--navy-600: #1d3a63;--navy-050: #eef3fa;--amber: #f0a04b;--amber-600: #e08d34;--green-bg: #bdecc5;--green-fg: #1a7a34;--red-bg: #f9c6c6;--red-fg: #c0392b;--amber-bg: #fdeacb;--amber-fg: #b9791f;--gray-bg: #d6dae0;--gray-fg: #56606c;--ink: #1b2735;--muted: #6b7683;--line: #e8ecf1;--bg: #f6f7f9;--card: #ffffff;--radius: 16px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(20, 43, 77, .06);--shadow-md: 0 8px 24px rgba(20, 43, 77, .08);--shadow-lg: 0 24px 60px rgba(20, 43, 77, .18);--font-title: "Poppins", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif}:root[data-theme=dark]{--ink: #e8ecf4;--muted: #9fb0c6;--line: #24344f;--bg: #0e1726;--card: #16233b;--navy-050: rgba(255, 255, 255, .06);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .55)}:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=dark] h4{color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-title);color:var(--navy);margin:0}button{font-family:var(--font-body);cursor:pointer}a{color:inherit}.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:12px;padding:11px 18px;font-size:14px;font-weight:600;transition:transform .12s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--navy);color:#fff;box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--navy-600);box-shadow:var(--shadow-md)}.btn--amber{background:var(--amber);color:#fff}.btn--amber:hover:not(:disabled){background:var(--amber-600)}.btn--ghost{background:transparent;color:var(--navy);font-weight:700}.btn--ghost:hover{background:var(--navy-050)}.btn__plus{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1.6px solid currentColor;font-size:13px;line-height:1}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.search{flex:0 1 340px;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:12px 20px;box-shadow:var(--shadow-sm)}.search input{border:none;outline:none;background:transparent;width:100%;font-size:14px;color:var(--ink);font-family:var(--font-body)}.search input::placeholder{color:#9aa4b0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.table{width:100%;border-collapse:collapse}.table thead th{text-align:left;font-size:13px;font-weight:700;color:var(--navy);padding:16px 24px;background:#fbfcfd;border-bottom:1px solid var(--line)}.table tbody td{padding:18px 24px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .12s ease}.table tbody tr:hover{background:#fafbfc}.table .t-strong{color:var(--ink);font-weight:600}.row-actions{display:flex;gap:18px}.link-edit,.link-del,.link-view{background:none;border:none;padding:0;font-size:14px;font-weight:700;cursor:pointer}.link-edit{color:var(--amber-600)}.link-edit:hover{text-decoration:underline}.link-del{color:var(--red-fg)}.link-del:hover{text-decoration:underline}.link-view{color:var(--navy)}.link-view:hover{text-decoration:underline}.empty{padding:48px 24px;text-align:center;color:var(--muted);font-size:14px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:600;color:var(--navy)}.field input,.field select,.field textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;font-family:var(--font-body);color:var(--ink);background:var(--card);outline:none;transition:border-color .14s ease,box-shadow .14s ease}.field textarea{min-height:88px;resize:vertical;line-height:1.5}.field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7683' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #142b4d1a}.field input::placeholder,.field textarea::placeholder{color:#9aa4b0}.req{color:var(--red-fg)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:12px 38px 12px 14px;font-size:14px;font-family:var(--font-body);color:var(--ink);background-color:var(--card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7683' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer;outline:none;transition:border-color .14s ease,box-shadow .14s ease}select:focus{border-color:var(--navy);box-shadow:0 0 0 3px #142b4d1a}
