/* Estructura y Volumen v2.4 · Extraído desde v2.3 */

.sw-widget { width:100%; background:var(--surface); border:1px solid var(--border); border-radius:16px; overflow:hidden; }
    .sw-header { padding:20px 28px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
    .sw-title-group { display:flex; align-items:center; gap:10px; }
    .sw-live-dot { width:7px;height:7px;border-radius:50%;background:#2ECC71;box-shadow:0 0 7px #2ECC71;animation:swblink 2s infinite;flex-shrink:0; }
    @keyframes swblink{0%,100%{opacity:1}50%{opacity:0.4}}
    .sw-title { font-family:'Syne',sans-serif;font-weight:800;font-size:1rem;color:var(--text); }
    .sw-sub { font-size:0.72rem;color:var(--text-muted);margin-top:2px; }
    .sw-header-right { display:flex;align-items:center;gap:16px; }
    .sw-tz-label { font-size:0.65rem;color:var(--text-dim);margin-bottom:3px; }
    .sw-tz-sel { background:var(--surface2);border:1px solid var(--border-light);border-radius:7px;color:var(--text);font-family:'JetBrains Mono',monospace;font-size:0.68rem;padding:5px 22px 5px 8px;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237A8494'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center; }
    .sw-clock { font-family:'JetBrains Mono',monospace;font-size:1.3rem;color:var(--gold);text-align:right; }
    .sw-clock-date { font-size:0.68rem;color:var(--text-muted);font-family:'JetBrains Mono',monospace;margin-top:1px; }
    .sw-timeline { padding:16px 28px 0; }
    .sw-hours-grid { display:grid;grid-template-columns:200px 1fr;align-items:end;margin-bottom:8px; }
    .sw-scale-caption { font-size:0.62rem;color:var(--text-dim);font-family:'JetBrains Mono',monospace;padding-left:3px; }
    .sw-hours-row { position:relative;height:22px;font-family:'JetBrains Mono',monospace;font-size:0.68rem;color:var(--text-muted);border-bottom:1px solid rgba(201,168,76,0.18); }
    .sw-hlabel { position:absolute;top:0;transform:translateX(-50%);font-weight:700;text-shadow:0 0 8px rgba(0,0,0,0.55); }
    .sw-hlabel.edge-start { transform:translateX(0); }
    .sw-htick { position:absolute;bottom:-1px;width:1px;height:6px;background:rgba(201,168,76,0.38);transform:translateX(-50%); }
    .sw-sessions-wrap { position:relative; }
    .sw-sessions { display:flex;flex-direction:column;gap:2px; }
    .sw-row { display:grid;grid-template-columns:200px 1fr;align-items:center;min-height:54px;border-radius:8px;padding:3px 0;transition:background 0.2s; }
    .sw-row:hover { background:var(--surface2); }
    .sw-info { display:flex;align-items:center;gap:10px;padding:0 3px; }
    .sw-flag { font-size:1.15rem; }
    .sw-name { font-weight:600;font-size:0.85rem;color:var(--text); }
    .sw-local { font-family:'JetBrains Mono',monospace;font-size:0.67rem;color:var(--text-muted);margin-top:1px; }
    .sw-hours { font-family:'JetBrains Mono',monospace;font-size:0.62rem;color:var(--text-dim);margin-top:1px; }
    .sw-status { font-size:0.6rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;margin-top:2px; }
    .sw-s-open{color:#2ECC71}.sw-s-closed{color:var(--text-dim)}
    .sw-bar-wrap { position:relative;height:44px;display:flex;align-items:center; }
    .sw-bar-track { position:absolute;inset:10px 0;display:grid;grid-template-columns:repeat(48,1fr);overflow:hidden; }
    .sw-bar-cell { height:100%; }
    .sw-bar-off { background:rgba(255,255,255,0.04); }
    .sw-row-weekend .sw-bar-track { opacity:0.72; filter:saturate(0.95) brightness(1.08); }
    .sw-weekend-shade { position:absolute;inset:10px 0;border-radius:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,0.055) 0 5px,rgba(255,255,255,0.015) 5px 10px),rgba(10,12,15,0.58);border:1px solid rgba(201,168,76,0.18);box-shadow:inset 0 0 18px rgba(0,0,0,0.28);pointer-events:none;z-index:2; }
    .sw-weekend-msg { position:absolute;top:50%;left:10px;transform:translateY(-50%);display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:0.56rem;font-weight:700;color:rgba(232,236,240,0.9);background:rgba(10,12,15,0.82);border:1px solid rgba(201,168,76,0.36);border-radius:999px;padding:4px 9px;text-transform:uppercase;letter-spacing:0.08em;pointer-events:none;z-index:3;box-shadow:0 6px 18px rgba(0,0,0,0.28); }
    .sw-weekend-icon { color:var(--gold);font-size:0.62rem;line-height:1; }
    body.light .sw-weekend-shade { background:repeating-linear-gradient(135deg,rgba(0,0,0,0.06) 0 5px,rgba(0,0,0,0.018) 5px 10px),rgba(255,255,255,0.52);border-color:rgba(130,94,20,0.2); }
    body.light .sw-weekend-msg { color:rgba(20,24,30,0.86);background:rgba(255,255,255,0.86);border-color:rgba(130,94,20,0.35); }
    .sw-overlay { position:absolute;top:0;bottom:0;left:200px;right:0;pointer-events:none;z-index:20; }
    .sw-v-now { position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,0.12);pointer-events:none; }
    .sw-v-drag { position:absolute;top:0;bottom:0;width:2px;border-radius:1px;cursor:ew-resize;pointer-events:all;left:50%; }
    .sw-v-drag::before { content:'';position:absolute;top:-4px;left:50%;transform:translateX(-50%);width:9px;height:9px;border-radius:50%; }
    .sw-v-label { position:absolute;top:-24px;left:50%;transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:0.6rem;font-weight:700;padding:2px 5px;border-radius:4px;white-space:nowrap;color:#0A0C0F; }
    .sw-drag-hint { font-size:0.67rem;color:var(--text-dim);padding:6px 28px 4px; }
    .sw-bottom { display:grid;grid-template-columns:200px 1fr;padding:8px 28px 6px;align-items:center; }
    .sw-sem-block { display:flex;align-items:center;gap:10px; }
    .sw-semaphore { display:flex;flex-direction:column;gap:4px;background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:7px;align-items:center; }
    .sw-sc { width:16px;height:16px;border-radius:50%;transition:background .35s,box-shadow .35s; }
    .sw-sc-green{background:#0A2A12}.sw-sc-yellow{background:#2A2000}.sw-sc-red{background:#2A0A0A}
    .sw-sc-green.on{background:#2ECC71;box-shadow:0 0 9px #2ECC71}.sw-sc-yellow.on{background:#F1C40F;box-shadow:0 0 9px #F1C40F}.sw-sc-red.on{background:#E74C3C;box-shadow:0 0 9px #E74C3C}
    .sw-vol-heading { font-size:0.64rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:3px; }
    .sw-vol-level { font-family:'Syne',sans-serif;font-weight:800;font-size:0.95rem; }
    .sw-vol-desc { font-size:0.68rem;color:var(--text-muted);margin-top:2px;line-height:1.4;max-width:115px; }
    .sw-vol-wrap { height:60px;position:relative; }
    .sw-vol-wrap canvas { width:100%;height:100%;display:block; }
    .sw-legend { padding:0 28px 14px;display:flex;gap:14px;flex-wrap:wrap; }
    .sw-leg-item { display:flex;align-items:center;gap:5px;font-size:0.7rem;color:var(--text-muted); }
    .sw-leg-dot { width:9px;height:9px;border-radius:2px; }
    .sw-overlaps { padding:12px 28px 20px;border-top:1px solid var(--border);display:flex;gap:10px;flex-wrap:wrap; }
    .sw-ovpill { display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:9px;background:var(--surface2);border:1px solid var(--border); }
    .sw-ov-dot { width:9px;height:9px;border-radius:50%;flex-shrink:0; }
    .sw-ov-name { font-weight:600;font-size:0.78rem;color:var(--text); }
    .sw-ov-time { font-family:'JetBrains Mono',monospace;font-size:0.67rem;color:var(--text-muted); }
    .sw-ov-vol { font-size:0.65rem;margin-top:2px; }
    .sw-ov-high{color:#2ECC71}.sw-ov-med{color:#F1C40F}
    @media (max-width:720px){.sw-header{padding:18px}.sw-timeline{padding:14px 18px 0}.sw-hours-grid,.sw-row{grid-template-columns:145px 1fr}.sw-bottom{grid-template-columns:145px 1fr;padding-left:18px;padding-right:18px}.sw-overlay{left:145px}.sw-name{font-size:0.78rem}.sw-hours{font-size:0.58rem}.sw-scale-caption{font-size:0.56rem}.sw-legend{padding-left:18px;padding-right:18px}.sw-overlaps{padding-left:18px;padding-right:18px}}
