@import url('https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&display=swap');
.lamp-pr-public-schedule{--lamp-bg:#101317;--lamp-panel:#171c22;--lamp-line:#2b333d;--lamp-text:#f5f7fa;--lamp-muted:#aab4c0;--lamp-accent:#f3b91f;--lamp-accent2:#ffdd6b;background:var(--lamp-bg);color:var(--lamp-text);border:1px solid var(--lamp-line);border-radius:18px;padding:22px;margin:24px 0;box-shadow:0 18px 55px rgba(0,0,0,.18);font-family:inherit}
.lamp-pr-public-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.lamp-pr-public-kicker{font-size:11px;font-weight:800;letter-spacing:.18em;margin:0 0 6px;color:var(--lamp-accent)}.lamp-pr-public-head h2{color:var(--lamp-text);margin:0 0 6px;font-size:clamp(24px,4vw,38px);line-height:1.05}.lamp-pr-public-meta{margin:0;color:var(--lamp-muted)}.lamp-pr-live-pill,.lamp-pr-row-now{background:var(--lamp-accent);color:#17130a;font-weight:900;border-radius:999px}.lamp-pr-live-pill{padding:8px 12px;font-size:11px;letter-spacing:.08em;white-space:nowrap}.lamp-pr-public-controls{display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(220px,1fr) auto auto;gap:9px;align-items:end;background:var(--lamp-panel);border:1px solid var(--lamp-line);padding:13px;border-radius:13px}.lamp-pr-public-controls label{display:flex;flex-direction:column;gap:5px}.lamp-pr-public-controls label span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--lamp-muted);font-weight:700}.lamp-pr-public-controls input,.lamp-pr-public-controls button{min-height:40px;border-radius:9px;border:1px solid var(--lamp-line);font:inherit}.lamp-pr-public-controls input{background:#0f1318;color:var(--lamp-text);padding:7px 10px}.lamp-pr-public-controls input.is-invalid{border-color:#ef6c6c;box-shadow:0 0 0 2px rgba(239,108,108,.15)}.lamp-pr-public-controls button{cursor:pointer;background:#252c34;color:var(--lamp-text);padding:7px 12px;font-weight:700}.lamp-pr-public-controls button:hover,.lamp-pr-public-controls button.is-active{background:var(--lamp-accent);color:#17130a;border-color:var(--lamp-accent)}.lamp-pr-public-clock{font-size:13px;color:var(--lamp-muted);margin:10px 2px 16px}.lamp-pr-now-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#202833,#14191f);border:1px solid #394553;border-radius:16px;padding:18px 20px;margin-bottom:16px}.lamp-pr-now-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.lamp-pr-now-label{color:var(--lamp-accent);font-weight:900;font-size:11px;letter-spacing:.14em;margin:0}.lamp-pr-like-current{appearance:none;width:60px;height:60px;padding:0 !important;border-radius:999px !important;border:1px solid #cf1638 !important;background:#e11d48 !important;color:#fff !important;display:inline-grid !important;place-items:center !important;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,opacity .16s ease,box-shadow .16s ease;flex:0 0 60px;box-shadow:0 4px 14px rgba(225,29,72,.25)}.lamp-pr-like-current:hover{transform:scale(1.06);border-color:#c8102e !important;background:#e11d48 !important;color:#fff !important;box-shadow:none !important}.lamp-pr-like-current:disabled,.lamp-pr-like-current.is-unavailable{opacity:1 !important;cursor:pointer;background:#e11d48 !important;border-color:#cf1638 !important;color:#fff !important;filter:none}.lamp-pr-like-heart{display:block;font-size:27px;line-height:1;color:#fff !important;transform:none;text-align:center;font-family:Arial,Helvetica,sans-serif;font-weight:700}.lamp-pr-like-current.is-sent{background:#e11d48 !important;color:#fff !important;border-color:#e11d48 !important;animation:lamp-pr-heart-pop .5s ease}.lamp-pr-like-note{min-height:0;margin-top:5px;color:var(--lamp-muted);font-size:12px}.lamp-pr-like-note:empty{display:none}@keyframes lamp-pr-heart-pop{0%{transform:scale(1)}45%{transform:scale(1.18)}100%{transform:scale(1)}}.lamp-pr-now-main{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:baseline}.lamp-pr-now-main strong{font-size:clamp(20px,3vw,30px)}.lamp-pr-now-title{font-size:clamp(18px,2.4vw,26px);color:#d9e0e7}.lamp-pr-now-times{margin-top:8px;color:var(--lamp-muted);font-variant-numeric:tabular-nums}.lamp-pr-now-progress{height:4px;background:#313a44;position:absolute;bottom:0;left:0;right:0}.lamp-pr-now-progress span{display:block;height:100%;background:var(--lamp-accent);width:0;transition:width .7s linear}.lamp-pr-public-table-wrap{overflow:auto;max-height:72vh;border:1px solid var(--lamp-line);border-radius:14px}.lamp-pr-public-table{border-collapse:collapse;width:100%;min-width:690px;background:var(--lamp-panel);color:var(--lamp-text)}.lamp-pr-public-table th,.lamp-pr-public-table td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--lamp-line)}.lamp-pr-public-table th{position:sticky;top:0;z-index:2;background:#20262e;color:#cbd3dc;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.lamp-pr-public-table tbody tr:last-child td{border-bottom:0}.lamp-pr-public-table tr.is-current{background:rgba(243,185,31,.1)}.lamp-pr-public-table tr.is-current td{font-weight:700}.lamp-pr-air-time{font-variant-numeric:tabular-nums;white-space:nowrap}.lamp-pr-row-now{display:inline-block;font-size:9px;padding:3px 6px;margin-right:7px;vertical-align:1px}.lamp-pr-air-duration{white-space:nowrap;color:var(--lamp-muted)}.lamp-pr-public-foot{color:var(--lamp-muted);font-size:13px;margin:12px 2px 0}.lamp-pr-public-not-ready{padding:16px;border:1px solid #6b5730;background:#292313;border-radius:12px;color:#f7e5b2}.lamp-pr-public-not-ready strong{display:block;margin-bottom:4px}.lamp-pr-schedule-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}.lamp-pr-schedule-tab{width:100%;min-width:0;min-height:44px;border:1px solid #ccd2d8;background:#fff;border-radius:999px;padding:9px 12px;font-weight:700;line-height:1.2;text-align:center;white-space:normal;cursor:pointer}.lamp-pr-schedule-tab.is-active{background:#171c22;color:#fff;border-color:#171c22}.lamp-pr-schedule-tab-shell{display:none}.lamp-pr-schedule-tab-shell.is-active{display:block}
@media(max-width:900px){.lamp-pr-public-controls{grid-template-columns:1fr 1fr}.lamp-pr-public-controls label{grid-column:span 1}.lamp-pr-public-controls button{width:100%}}
@media(max-width:620px){.lamp-pr-schedule-tabs{gap:6px}.lamp-pr-schedule-tab{min-height:46px;padding:8px 6px;font-size:12px}.lamp-pr-public-schedule{padding:15px;border-radius:14px}.lamp-pr-public-head{flex-direction:column}.lamp-pr-public-controls{grid-template-columns:1fr}.lamp-pr-public-controls label{grid-column:1}.lamp-pr-live-pill{align-self:flex-start}.lamp-pr-public-table-wrap{max-height:none}.lamp-pr-public-table th,.lamp-pr-public-table td{padding:10px}}

.lamp-pr-player-triggers{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* v1.6.0 clean heart styling: red circle, red hover, larger white heart. */
.lamp-pr-public-schedule .lamp-pr-now-card .lamp-pr-like-current{
    position:relative !important;
    width:60px !important;
    height:60px !important;
    min-width:60px !important;
    min-height:60px !important;
    padding:0 !important;
    border:1px solid #c8102e !important;
    border-radius:50% !important;
    background:#e11d48 !important;
    background-image:none !important;
    color:#fff !important;
    box-shadow:0 4px 14px rgba(225,29,72,.25) !important;
    opacity:1 !important;
    overflow:hidden !important;
    display:inline-grid !important;
    place-items:center !important;
    cursor:pointer !important;
    transition:transform .16s ease,background-color .16s ease,border-color .16s ease !important;
}
.lamp-pr-public-schedule .lamp-pr-now-card .lamp-pr-like-current::before{content:none !important;display:none !important;}
.lamp-pr-public-schedule .lamp-pr-now-card .lamp-pr-like-current:hover{
    background:#e11d48 !important;
    border-color:#c8102e !important;
    color:#fff !important;
    transform:scale(1.06);
    box-shadow:0 5px 16px rgba(225,29,72,.30) !important;
}
.lamp-pr-public-schedule .lamp-pr-now-card .lamp-pr-like-current.is-unavailable,
.lamp-pr-public-schedule .lamp-pr-now-card .lamp-pr-like-current[aria-disabled="true"]{
    background:#e11d48 !important;
    border-color:#c8102e !important;
    color:#fff !important;
    opacity:1 !important;
    filter:none !important;
}
.lamp-pr-public-schedule .lamp-pr-now-card .lamp-pr-like-current.is-unavailable:hover,
.lamp-pr-public-schedule .lamp-pr-now-card .lamp-pr-like-current[aria-disabled="true"]:hover{
    background:#e11d48 !important;
    border-color:#c8102e !important;
}
.lamp-pr-public-schedule .lamp-pr-now-card .lamp-pr-like-current .lamp-pr-like-heart{
    position:relative;
    z-index:2;
    color:#fff !important;
    font-size:30px !important;
    line-height:1 !important;
    opacity:1 !important;
    font-family:Arial,Helvetica,sans-serif;
    font-weight:700;
}

.lamp-pr-jingle-phase-check{display:flex;align-items:center;gap:8px;margin:10px 0 4px;}
.lamp-pr-jingle-phase-check input{margin:0;}

/* v1.6.1: keep the scheduler heart independent of theme button hover styling. */
.lamp-pr-public-schedule .lamp-pr-like-current,
.lamp-pr-public-schedule .lamp-pr-like-current:hover,
.lamp-pr-public-schedule .lamp-pr-like-current:focus,
.lamp-pr-public-schedule .lamp-pr-like-current:active,
.lamp-pr-public-schedule .lamp-pr-like-current.is-unavailable,
.lamp-pr-public-schedule .lamp-pr-like-current[aria-disabled="true"]{
    width:60px !important;
    height:60px !important;
    min-width:60px !important;
    min-height:60px !important;
    border:1px solid #c8102e !important;
    border-radius:50% !important;
    background:#e11d48 !important;
    background-color:#e11d48 !important;
    background-image:none !important;
    color:#fff !important;
    box-shadow:0 4px 14px rgba(225,29,72,.25) !important;
    outline:none !important;
    filter:none !important;
    opacity:1 !important;
    display:inline-grid !important;
    place-items:center !important;
    cursor:pointer !important;
    text-decoration:none !important;
    transform:none !important;
}
.lamp-pr-public-schedule .lamp-pr-like-current:hover{transform:scale(1.04) !important;}
.lamp-pr-public-schedule .lamp-pr-like-current::before,
.lamp-pr-public-schedule .lamp-pr-like-current::after{content:none !important;display:none !important;background:none !important;box-shadow:none !important;}
.lamp-pr-public-schedule .lamp-pr-like-current .lamp-pr-like-heart{
    color:#fff !important;
    font-size:32px !important;
    line-height:1 !important;
    opacity:1 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-weight:700 !important;
}

/* Public guide is live-only; browser timezone is detected automatically. */
.lamp-pr-public-clock{margin:0 2px 16px;}

/* Mobile schedule: turn the four desktop columns into readable track cards. */
@media(max-width:620px){
    .lamp-pr-public-schedule{margin:14px 0;padding:12px;max-width:100%;box-sizing:border-box;overflow:hidden;}
    .lamp-pr-public-head{gap:10px;margin-bottom:12px;}
    .lamp-pr-public-head h2{font-size:clamp(22px,7vw,30px);overflow-wrap:anywhere;}
    .lamp-pr-public-meta{font-size:12px;line-height:1.45;}
    .lamp-pr-now-card{padding:14px 14px 16px;}
    .lamp-pr-public-table-wrap{overflow:visible;max-height:none;width:100%;border-radius:12px;}
    .lamp-pr-public-table{display:block;width:100%;min-width:0 !important;table-layout:auto;}
    .lamp-pr-public-table thead{display:none;}
    .lamp-pr-public-table tbody{display:block;width:100%;}
    .lamp-pr-public-table tbody tr{display:block;width:100%;padding:8px 0;border-bottom:1px solid var(--lamp-line);box-sizing:border-box;}
    .lamp-pr-public-table tbody tr:last-child{border-bottom:0;}
    .lamp-pr-public-table tbody td{
        display:grid;
        grid-template-columns:68px minmax(0,1fr);
        gap:8px;
        align-items:start;
        width:100%;
        padding:5px 10px !important;
        border:0 !important;
        box-sizing:border-box;
        white-space:normal !important;
        overflow-wrap:anywhere;
    }
    .lamp-pr-public-table tbody td::before{font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--lamp-muted);padding-top:2px;}
    .lamp-pr-public-table tbody td:nth-child(1)::before{content:"AIR TIME";}
    .lamp-pr-public-table tbody td:nth-child(2)::before{content:"ARTIST";}
    .lamp-pr-public-table tbody td:nth-child(3)::before{content:"SONG";}
    .lamp-pr-public-table tbody td:nth-child(4)::before{content:"TIME";}
    .lamp-pr-air-time{white-space:normal !important;}
    .lamp-pr-row-now{margin:0 6px 2px 0;}
    .lamp-pr-public-foot{font-size:12px;line-height:1.45;}
}


/* v1.7.0 continuous NOW PLAYING time gauge. The gauge is driven from the
   saved station clock, so late footer metadata never restarts it at 00:00. */
.lamp-pr-now-gauge{
    display:grid;
    grid-template-columns:auto minmax(90px,1fr) auto;
    align-items:center;
    gap:10px;
    margin-top:12px;
    color:#d9e0e7;
    font-size:12px;
    font-weight:700;
    font-variant-numeric:tabular-nums;
}
.lamp-pr-now-gauge .lamp-pr-now-progress{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    height:8px !important;
    width:100%;
    overflow:hidden;
    border-radius:999px;
    background:#313a44;
}
.lamp-pr-now-gauge .lamp-pr-now-progress span{
    display:block;
    height:100%;
    border-radius:999px;
    background:var(--lamp-accent);
    width:0;
    transition:width .35s linear;
}
.lamp-pr-now-elapsed,.lamp-pr-now-duration{min-width:34px;white-space:nowrap;}
.lamp-pr-now-duration{text-align:right;}
@media(max-width:620px){
    .lamp-pr-now-gauge{grid-template-columns:38px minmax(70px,1fr) 42px;gap:8px;font-size:11px;}
}

/* v1.7.6 heart thank-you caption */
.lamp-pr-like-zone{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto;min-width:0}
.lamp-pr-like-caption{display:block;max-width:230px;min-height:2.4em;text-align:right;font-family:'Gloria Hallelujah',cursive;font-size:17px;line-height:1.22;font-weight:400;color:#ffd84d;opacity:0;transform:translateX(4px);transition:opacity .18s ease,transform .18s ease;white-space:normal}
.lamp-pr-like-caption.is-visible{display:block!important;visibility:visible!important;opacity:1!important;transform:translateX(0)!important}
@media(max-width:600px){.lamp-pr-now-topline{gap:8px}.lamp-pr-like-zone{gap:9px}.lamp-pr-like-caption{max-width:155px;font-size:15px;line-height:1.18}}


/* v1.7.10 diagnostic-only AUTO SYNC panel. Hidden unless ?lamp_sync_debug=1 is present. */
.lamp-pr-sync-debug{margin:0 0 16px;padding:12px 14px;border:1px dashed #64748b;border-radius:12px;background:#111820;color:#dce5ee;font-size:12px;line-height:1.45;font-variant-numeric:tabular-nums}
.lamp-pr-sync-debug[hidden]{display:none!important}
.lamp-pr-sync-debug-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.lamp-pr-sync-debug-head strong{color:#f3b91f;letter-spacing:.08em;font-size:11px}
.lamp-pr-sync-debug-state{font-weight:800;color:#fff}
.lamp-pr-sync-debug-summary{display:flex;flex-wrap:wrap;gap:7px 18px;color:#aab4c0;margin-bottom:8px}
.lamp-pr-sync-debug-summary strong{color:#eef3f8;font-weight:700}
.lamp-pr-sync-debug-log{margin:0;padding-left:20px;max-height:170px;overflow:auto}
.lamp-pr-sync-debug-log li{padding:3px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.lamp-pr-sync-debug-log li:last-child{border-bottom:0}
@media(max-width:620px){.lamp-pr-sync-debug-head{align-items:flex-start;flex-direction:column;gap:4px}.lamp-pr-sync-debug{font-size:11px}}

/* v1.7.21 Lamp yellow/black scrollbars on the public scheduler page. */
html{
    scrollbar-color:#f3b91f #090b0d;
    scrollbar-width:thin;
}
html::-webkit-scrollbar,
.lamp-pr-public-table-wrap::-webkit-scrollbar,
.lamp-pr-sync-debug-log::-webkit-scrollbar{
    width:12px;
    height:12px;
}
html::-webkit-scrollbar-track,
.lamp-pr-public-table-wrap::-webkit-scrollbar-track,
.lamp-pr-sync-debug-log::-webkit-scrollbar-track{
    background:#090b0d;
}
html::-webkit-scrollbar-thumb,
.lamp-pr-public-table-wrap::-webkit-scrollbar-thumb,
.lamp-pr-sync-debug-log::-webkit-scrollbar-thumb{
    background:#f3b91f;
    border:2px solid #090b0d;
    border-radius:999px;
}
html::-webkit-scrollbar-thumb:hover,
.lamp-pr-public-table-wrap::-webkit-scrollbar-thumb:hover,
.lamp-pr-sync-debug-log::-webkit-scrollbar-thumb:hover{
    background:#ffdd6b;
}
.lamp-pr-public-table-wrap,
.lamp-pr-sync-debug-log{
    scrollbar-color:#f3b91f #090b0d;
    scrollbar-width:thin;
}

