.srp-player {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 76px;
    padding: 10px 18px;
    background: var(--srp-bg);
    color: var(--srp-text);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.35);
    font-family: inherit;
}

.srp-bottom {
    bottom: 0;
}

.srp-top {
    top: 0;
}

/* Classic */
.srp-style-classic {
    border-top: 3px solid var(--srp-accent);
}

/* Compact */
.srp-style-compact {
    min-height: 58px;
    padding: 6px 14px;
    gap: 10px;
}

.srp-style-compact .srp-play-button {
    width: 42px;
    height: 42px;
    font-size: 18px;
}

.srp-style-compact .srp-artwork-wrap {
    width: 42px;
    height: 42px;
}

.srp-style-compact .srp-now-playing {
    font-size: 13px;
}

/* Modern Rounded */
.srp-style-modern {
    left: 18px;
    right: 18px;
    bottom: 16px;
    border-radius: 22px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.45);
}

.srp-style-modern.srp-top {
    top: 16px;
    bottom: auto;
}

.srp-style-modern .srp-play-button {
    border-radius: 18px;
}

.srp-style-modern .srp-artwork-wrap {
    border-radius: 16px;
}

@media (max-width: 640px) {
    .srp-style-modern {
        left: 8px;
        right: 8px;
        bottom: 8px;
        border-radius: 18px;
    }

    .srp-style-modern.srp-top {
        top: 8px;
    }
}

.srp-play-button {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: none;
    background: var(--srp-accent);
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    flex: 0 0 auto;
}

.srp-stop-button {
    border: 1px solid rgba(255,255,255,0.3);
    background: transparent;
    color: var(--srp-text);
    border-radius: 18px;
    padding: 6px 12px;
    cursor: pointer;
}

.srp-volume-control {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.srp-volume-button {
    min-width: 54px;
    border: 1px solid rgba(255,255,255,0.3);
    background: transparent;
    color: var(--srp-text);
    border-radius: 18px;
    padding: 6px 10px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
}

.srp-volume-slider {
    width: 96px;
    accent-color: var(--srp-accent);
}

.srp-artwork-wrap {
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    border-radius: 10px;
    overflow: hidden;
    background: rgba(255,255,255,0.1);
}

.srp-artwork {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: none;
}

.srp-info {
    flex: 1;
    min-width: 0;
}

.srp-station-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 3px;
}

.srp-live-badge {
    display: inline-block;
    background: var(--srp-accent);
    color: #fff;
    font-size: 11px;
    line-height: 1;
    padding: 4px 7px;
    border-radius: 999px;
    font-weight: 700;
}

.srp-now-playing {
    font-size: 14px;
    opacity: 0.88;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.srp-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    opacity: 0.9;
}

@media (max-width: 640px) {
    .srp-player {
        min-height: 72px;
        padding: 9px 10px;
        gap: 10px;
    }

    .srp-artwork-wrap {
        display: none;
    }

    .srp-meta {
        display: none;
    }

    .srp-volume-slider {
        width: 68px;
    }

    .srp-volume-button {
        min-width: 44px;
        padding: 6px 8px;
    }

    .srp-play-button {
        width: 48px;
        height: 48px;
    }

    .srp-now-playing {
        font-size: 13px;
    }
}


.santofonia-chat-toggle {
    border: 0;
    border-radius: 999px;
    padding: 9px 16px;
    cursor: pointer;
    font-weight: 700;
    background: var(--srp-accent);
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    box-shadow: 0 6px 16px rgba(0,0,0,.18);
}

.santofonia-chat-toggle:hover {
    filter: brightness(1.06);
}

.santofonia-chat-panel {
    position: fixed;
    right: 20px;
    width: 370px;
    max-width: calc(100vw - 30px);
    height: 500px;
    background: #111;
    color: #fff;
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(0,0,0,.35);
    display: none;
    flex-direction: column;
    overflow: hidden;
    z-index: 1000000;
}

.santofonia-chat-panel-bottom {
    bottom: 95px;
}

.santofonia-chat-panel-top {
    top: 95px;
}

.santofonia-chat-panel.is-open {
    display: flex;
}

.santofonia-chat-header {
    padding: 14px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #1d1d1d;
}

.santofonia-chat-close {
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.santofonia-chat-program {
    padding: 10px 16px;
    font-size: 13px;
    opacity: .85;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.santofonia-chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 14px;
}

.santofonia-chat-message {
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255,255,255,.075);
}

.santofonia-chat-message strong {
    display: block;
    font-size: 13px;
    margin-bottom: 3px;
    color: #fff;
}

.santofonia-chat-message span {
    display: block;
    font-size: 14px;
    line-height: 1.35;
    opacity: .92;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.santofonia-chat-empty,
.santofonia-chat-error {
    font-size: 13px;
    opacity: .75;
}

.santofonia-chat-error {
    color: #ffb4b4;
}

.santofonia-chat-form {
    padding: 12px;
    border-top: 1px solid rgba(255,255,255,.1);
}

.santofonia-chat-form input,
.santofonia-chat-form textarea {
    width: 100%;
    margin-bottom: 8px;
    border: 0;
    border-radius: 10px;
    padding: 10px;
    box-sizing: border-box;
}

.santofonia-chat-form textarea {
    height: 74px;
    resize: none;
}

.santofonia-chat-form button {
    width: 100%;
    border: 0;
    border-radius: 10px;
    padding: 10px;
    cursor: pointer;
    font-weight: 800;
    background: var(--srp-accent);
    color: #fff;
}

.santofonia-chat-form button:disabled {
    opacity: .6;
    cursor: not-allowed;
}

@media (max-width: 640px) {
    .santofonia-chat-label {
        display: none;
    }

    .santofonia-chat-toggle {
        width: 44px;
        height: 44px;
        justify-content: center;
        padding: 0;
        border-radius: 50%;
        font-size: 18px;
    }

    .santofonia-chat-panel {
        right: 10px;
        left: 10px;
        width: auto;
        height: 430px;
    }

    .santofonia-chat-panel-bottom {
        bottom: 88px;
    }

    .santofonia-chat-panel-top {
        top: 88px;
    }
}

/* Chat identity screen */
.santofonia-chat-name-screen {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.santofonia-chat-name-card {
    width: 100%;
    background: rgba(255,255,255,.075);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    padding: 18px;
}

.santofonia-chat-name-card strong {
    display: block;
    font-size: 18px;
    margin-bottom: 8px;
}

.santofonia-chat-name-card p {
    margin: 0 0 14px;
    font-size: 13px;
    opacity: .8;
}

.santofonia-chat-name-card input {
    width: 100%;
    margin-bottom: 10px;
    border: 0;
    border-radius: 10px;
    padding: 11px;
    box-sizing: border-box;
}

.santofonia-chat-name-card button {
    width: 100%;
    border: 0;
    border-radius: 10px;
    padding: 11px;
    cursor: pointer;
    font-weight: 800;
    background: var(--srp-accent);
    color: #fff;
}

.santofonia-chat-main {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.santofonia-chat-main[hidden],
.santofonia-chat-name-screen[hidden] {
    display: none !important;
}

.santofonia-chat-current-name {
    padding: 8px 16px;
    font-size: 12px;
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.04);
}

.santofonia-chat-current-name button {
    border: 1px solid rgba(255,255,255,.2);
    background: transparent;
    color: #fff;
    border-radius: 999px;
    padding: 3px 9px;
    cursor: pointer;
    font-size: 12px;
}

.santofonia-chat-form.is-disabled {
    opacity: .65;
}


.santofonia-chat-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 999px;
    background: var(--srp-accent);
    color: #fff;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
}

.santofonia-chat-badge[hidden] {
    display: none !important;
}

.santofonia-chat-message strong small {
    float: right;
    opacity: .55;
    font-size: 11px;
    font-weight: 400;
}

.santofonia-chat-message-producer {
    padding: 9px 10px;
    border-radius: 12px;
    background: rgba(255,255,255,.07);
    border-left: 3px solid var(--srp-accent);
}

/* Santofonia Chat Grand Update */
.santofonia-chat-toggle{position:relative;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:20px;padding:8px 16px;cursor:pointer;font-weight:700;background:var(--srp-accent);color:#fff;white-space:nowrap}.santofonia-chat-badge{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;border-radius:999px;background:#fff;color:#111;font-size:11px;line-height:20px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.santofonia-chat-panel{position:fixed;right:20px;bottom:95px;width:360px;max-width:calc(100vw - 30px);height:480px;background:#111;color:#fff;border-radius:18px;box-shadow:0 12px 35px rgba(0,0,0,.35);display:none;flex-direction:column;overflow:hidden;z-index:999998}.santofonia-chat-panel-top{top:95px;bottom:auto}.santofonia-chat-panel.is-open{display:flex}.santofonia-chat-size-small{width:320px;height:420px}.santofonia-chat-size-normal{width:360px;height:480px}.santofonia-chat-size-large{width:460px;height:600px}.santofonia-chat-size-wide{width:620px;height:620px}.santofonia-chat-header{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;background:#1d1d1d}.santofonia-chat-header strong{display:block}.santofonia-chat-online{display:block;font-size:12px;opacity:.72;margin-top:3px}.santofonia-chat-close{background:transparent;border:0;color:#fff;font-size:24px;cursor:pointer}.santofonia-chat-name-screen{display:flex;align-items:center;justify-content:center;flex:1;padding:20px}.santofonia-chat-name-card{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px}.santofonia-chat-name-card p{opacity:.75}.santofonia-chat-name-card input,.santofonia-chat-name-card button{width:100%;border:0;border-radius:10px;padding:10px;margin-top:8px}.santofonia-chat-main{display:flex;flex-direction:column;min-height:0;flex:1}.santofonia-chat-program{padding:10px 16px;font-size:13px;opacity:.82;border-bottom:1px solid rgba(255,255,255,.1)}.santofonia-chat-messages{flex:1;overflow-y:auto;padding:14px}.santofonia-chat-message{margin-bottom:12px;max-width:92%}.santofonia-chat-message strong{display:flex;align-items:center;gap:7px;font-size:13px;margin-bottom:3px}.santofonia-chat-message strong em{font-style:normal;background:var(--srp-accent);color:#fff;border-radius:999px;padding:2px 7px;font-size:10px;text-transform:uppercase;letter-spacing:.03em}.santofonia-chat-message span{display:inline-block;background:rgba(255,255,255,.08);border-radius:12px;padding:8px 10px;font-size:14px;line-height:1.35}.santofonia-chat-message-producer span{background:rgba(225,29,72,.24);border:1px solid rgba(225,29,72,.35)}.santofonia-chat-form{padding:12px;border-top:1px solid rgba(255,255,255,.1)}.santofonia-chat-form textarea{width:100%;height:70px;resize:none;border:0;border-radius:10px;padding:9px;margin-bottom:8px}.santofonia-chat-form button{width:100%;border:0;border-radius:10px;padding:10px;cursor:pointer;font-weight:700;background:var(--srp-accent);color:#fff}.santofonia-chat-new-messages{position:absolute;left:50%;bottom:112px;transform:translateX(-50%);border:0;border-radius:999px;background:#fff;color:#111;padding:7px 14px;box-shadow:0 6px 20px rgba(0,0,0,.3);cursor:pointer;font-weight:700}
@media(max-width:600px){.santofonia-chat-panel,.santofonia-chat-panel-top,.santofonia-chat-size-small,.santofonia-chat-size-normal,.santofonia-chat-size-large,.santofonia-chat-size-wide{right:10px;left:10px;bottom:90px;top:auto;width:auto;height:430px;max-width:none}.santofonia-chat-label{display:none}.santofonia-chat-toggle{padding:9px 12px}.santofonia-chat-new-messages{bottom:105px}}

/* Admin console */
.santofonia-admin-wrap .postbox{background:#fff}.santofonia-admin-grid{display:grid;grid-template-columns:minmax(340px,1fr) minmax(320px,440px);gap:22px;align-items:start;margin-top:18px}.santofonia-admin-box{padding:18px}.santofonia-admin-box h2{margin-top:0}.santofonia-admin-messages{height:460px;overflow-y:auto;background:#101010;color:#fff;border-radius:14px;padding:16px;margin:14px 0}.santofonia-admin-message{margin-bottom:12px}.santofonia-admin-message strong{display:flex;gap:8px;align-items:center}.santofonia-admin-message strong em{font-style:normal;background:#e11d48;color:#fff;border-radius:999px;padding:2px 7px;font-size:10px;text-transform:uppercase}.santofonia-admin-message span{display:inline-block;margin:4px 0;background:rgba(255,255,255,.08);border-radius:10px;padding:8px 10px}.santofonia-admin-message-producer span{background:rgba(225,29,72,.24);border:1px solid rgba(225,29,72,.35)}.santofonia-admin-message small{display:block;opacity:.7}.santofonia-admin-reply textarea,.santofonia-admin-reply input{width:100%;margin-bottom:10px}.santofonia-admin-new{background:#e11d48;color:#fff;border-radius:999px;padding:6px 12px;display:inline-block;margin-bottom:8px}.santofonia-admin-session-title{background:#f6f7f7;border:1px solid #dcdcde;padding:12px;border-radius:8px}@media(max-width:900px){.santofonia-admin-grid{grid-template-columns:1fr}.santofonia-admin-messages{height:360px}}

.santofonia-admin-message.is-hidden {
    opacity: .52;
}

.santofonia-admin-message small em {
    color: #ffcad5;
    font-style: normal;
    font-weight: 700;
}


/* Santofonia unified admin layout */
.santofonia-admin-cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:16px;
    margin-top:20px;
}
.santofonia-admin-card{
    display:block;
    padding:18px;
    background:#fff;
    border:1px solid #dcdcde;
    border-radius:12px;
    text-decoration:none;
    color:#1d2327;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.santofonia-admin-card strong{
    display:block;
    font-size:18px;
    margin-bottom:8px;
}
.santofonia-admin-card span{
    display:block;
    color:#646970;
}

.santofonia-admin-grid-schedules,
.santofonia-admin-grid-recordings{
    grid-template-columns:minmax(280px,420px) minmax(680px,1fr);
}
.santofonia-rule-form-box .regular-text,
.santofonia-rule-form-box .large-text,
.santofonia-admin-grid-recordings .regular-text,
.santofonia-admin-grid-recordings .large-text{
    width:100%;
    max-width:100%;
}
.santofonia-table-scroll{
    overflow-x:auto;
    width:100%;
}
.santofonia-schedule-table{
    min-width:900px;
}
.santofonia-schedule-table th,
.santofonia-schedule-table td{
    white-space:nowrap;
    vertical-align:middle;
}
.santofonia-schedule-table .program-col{
    white-space:normal;
    min-width:180px;
}
.santofonia-actions{
    display:flex;
    gap:5px;
    align-items:center;
    flex-wrap:nowrap;
}
.santofonia-actions form{
    margin:0;
}
.santofonia-inline-edit{
    background:#fff;
    border:1px solid #dcdcde;
    padding:12px;
    margin-top:8px;
    min-width:320px;
}
.santofonia-actions details{
    display:inline-block;
    position:relative;
}
.santofonia-actions details[open]{
    z-index:10;
}
.santofonia-actions summary.button{
    display:inline-flex;
    align-items:center;
}

@media(max-width:1100px){
    .santofonia-admin-grid-schedules,
    .santofonia-admin-grid-recordings{
        grid-template-columns:1fr;
    }
}

/* Replay audio availability */
.santofonia-recording-card-head {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.santofonia-recording-category {
    display: inline-flex;
    align-items: center;
}

.santofonia-recording-unavailable {
    margin: 10px 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(225, 29, 72, .08);
    border: 1px solid rgba(225, 29, 72, .22);
    color: #7f1d1d;
    font-size: 13px;
}
