/*
 * PICKLE MANIA LIVE COURTS & CHECK-IN
 * Canonical consolidated stylesheet.
 * Legacy cleanup/port/layout layers merged.
 */

.owner-dashboard-grid>.owner-live-court-status{
    grid-column:1 / -1;
}

.owner-live-court-status .staff-live-heading h2{
    font-size:16px;
    font-weight:800;
}

.owner-live-court-status .staff-live-heading h2 span{
    font-size:10px;
    color:var(--kr-accent-text);
}

.owner-live-court-status .staff-live-heading p{
    font-size:10px;
}

.owner-live-court-status .staff-live-heading>small{
    font-size:9px;
}

.owner-live-court-status .staff-status-summary article b{
    font-size:19px;
}

.owner-live-court-status .staff-status-summary article small{
    font-size:9px;
}

.owner-live-court-status .staff-court-card h3{
    font-size:13px;
    font-weight:700;
}

.owner-live-court-status .staff-court-card strong{
    font-size:9px;
}

.owner-live-court-status .staff-court-card .court-detail{
    font-size:10px;
    font-weight:800;
}

.owner-live-court-status .staff-court-card small{
    font-size:9px;
}

.owner-live-court-status .staff-status-summary article.available>i{
    color:var(--kr-accent-text);
    background:var(--kr-theme-soft);
}

.owner-live-court-status .staff-status-summary article.available b,.owner-live-court-status .staff-status-summary article.available small{
    color:var(--kr-accent-text);
}

.owner-live-court-status .staff-court-card.available .mini-court{
    background:color-mix(
            in srgb,
            var(--kr-accent) 55%,
            white
        ) !important;
    border-color:var(--kr-accent) !important;
}

.owner-live-court-status .staff-court-card.available .mini-court::before,.owner-live-court-status .staff-court-card.available .mini-court::after,.owner-live-court-status .staff-court-card.available .mini-court .court-center-line,.owner-live-court-status .staff-court-card.available .mini-court .court-net,.owner-live-court-status .staff-court-card.available .mini-court .court-left-box,.owner-live-court-status .staff-court-card.available .mini-court .court-right-box{
    border-color:var(--kr-accent) !important;
}

.owner-live-court-status .staff-court-card.available>strong{
    color:var(--kr-accent-text);
    background:var(--kr-theme-soft);
}

.owner-live-court-status .staff-court-card.available .court-detail{
    color:var(--kr-accent-text);
}

.owner-live-court-status .staff-live-heading h2 span,.owner-live-court-status .staff-status-summary article.available>i,.owner-live-court-status .staff-court-card.available .mini-court,.owner-live-court-status .staff-court-card.available>strong,.owner-live-court-status .staff-court-card.available .court-detail{
    transition:color .18s ease,
        background .18s ease,
        border-color .18s ease;
}

.owner-live-court-status .staff-court-card.available .court-net{
    background:var(--dp-accent-2) !important;
}

.owner-live-court-status .staff-court-card.busy .mini-court{
    background:#60a5fa !important;
    border-color:#2563eb !important;
}

.owner-live-court-status .staff-court-card.busy .mini-court span{
    border-color:rgba(255,255,255,.95) !important;
}

.owner-live-court-status .staff-court-card.busy .court-net{
    background:#1d4ed8 !important;
}

.owner-live-court-status .staff-court-card.hold .mini-court{
    background:#fbbf24 !important;
    border-color:#d97706 !important;
}

.owner-live-court-status .staff-court-card.hold .mini-court span{
    border-color:rgba(255,255,255,.95) !important;
}

.owner-live-court-status .staff-court-card.hold .court-net{
    background:#b45309 !important;
}

.owner-live-court-status .staff-court-card.offline .mini-court{
    background:#cbd5e1 !important;
    border-color:#64748b !important;
}

.owner-live-court-status .staff-court-card.offline .mini-court span{
    border-color:rgba(255,255,255,.9) !important;
}

.owner-live-court-status .staff-court-card.offline .court-net{
    background:#475569 !important;
}

.owner-court-page{
    max-width:1180px;
    margin:0 auto;
    padding:20px;
    width:100%;
    min-width:0;
    box-sizing:border-box;
}

.dp-live-workspace{
    display:grid;
    grid-template-columns:minmax(0,7fr) minmax(310px,3fr);
    gap:18px;
    align-items:start;
}

.dp-live-main,.dp-checkin-column{
    display:grid;
    gap:18px;
    min-width:0;
}

.dp-live-courts,.dp-today-schedule,.dp-owner-checkin,.dp-checkin-manual,.dp-checkin-result{
    background:#fff;
    border:1px solid #d8e0eb;
    border-radius:16px;
    box-shadow:0 10px 28px rgba(7,24,56,.055);
}

.dp-live-courts,.dp-today-schedule,.dp-owner-checkin,.dp-checkin-manual{
    padding:20px;
}

.dp-live-courts>header,.dp-today-schedule>header,.dp-checkin-intro{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:18px;
}

.dp-live-courts h2,.dp-today-schedule h2,.dp-checkin-intro h2{
    margin:0;
    color:#071838;
    font-size:21px;
    line-height:1.2;
}

.dp-live-courts p,.dp-checkin-intro p,.dp-today-schedule header p{
    margin:4px 0 0;
    color:#69778c;
    font-size:13px;
}

.dp-live-courts>header>span{
    color:#087653;
    font-size:12px;
    font-weight:850;
    white-space:nowrap;
}

.dp-live-court-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));
    gap:12px;
    min-width:0;
    max-width:100%;
}

.dp-live-court-card{
    overflow:hidden;
    border:1px solid #d8e0eb;
    border-radius:12px;
    background:#fff;
    min-width:0;
}

.dp-live-court-card.in-use{
    border-color:#163868;
}

.dp-live-court-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:12px;
    background:#071838;
    color:#fff;
}

.dp-live-court-head h3{
    margin:0;
    color:inherit;
    font-size:14px;
}

.dp-live-court-head span{
    font-size:9px;
    font-weight:900;
    letter-spacing:.07em;
}

.dp-live-court-card.available .dp-live-court-head{
    background:#eef3f8;
    color:#071838;
}

.dp-live-court-current,.dp-live-court-next{
    display:grid;
    gap:5px;
    padding:13px;
}

.dp-live-court-current strong{
    min-height:36px;
    color:#071838;
    font-size:24px;
}

.dp-live-court-current b,.dp-live-court-next b{
    color:#087653;
    font-size:13px;
}

.dp-live-court-current small,.dp-live-court-next small{
    margin-top:5px;
    color:#6b778b;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
}

.dp-live-court-current span,.dp-live-court-next span{
    color:#69778c;
    font-size:11px;
}

.dp-live-court-next{
    border-top:1px solid #e1e7ef;
    background:#f9fbfd;
}

.dp-live-court-queue{
    display:grid;
    gap:5px;
    padding:10px 13px;
    border-top:1px solid #e1e7ef;
    color:#35445e;
    font-size:10px;
}

.dp-checkin-intro{
    justify-content:flex-start;
}

.dp-checkin-intro>span{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:12px;
    background:#071838;
    color:#fff;
    font-size:20px;
}

.dp-checkin-camera{
    display:grid;
    gap:12px;
    padding:12px;
    border:1px solid #dce3ed;
    border-radius:12px;
    background:#f7f9fc;
}

.dp-checkin-camera>div{
    display:grid;
    place-items:center;
    min-height:150px;
    padding:16px;
    border:2px dashed #bac5d5;
    border-radius:10px;
    color:#66758b;
    text-align:center;
    font-size:12px;
}

.dp-checkin-camera video{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:10px;
    background:#071838;
}

.dp-checkin-camera button,.dp-checkin-manual button,.dp-checkin-today button{
    border:0;
    border-radius:9px;
    background:#071838;
    color:#fff;
    font-weight:800;
    padding:12px 14px;
    cursor:pointer;
}

.dp-checkin-camera button:disabled,.dp-checkin-manual button:disabled,.dp-checkin-today button:disabled{
    opacity:.55;
    cursor:not-allowed;
}

.dp-checkin-manual h3{
    margin:0 0 4px;
    color:#071838;
    font-size:18px;
}

.dp-checkin-manual p{
    margin:0 0 12px;
    color:#69778c;
    font-size:12px;
}

.dp-checkin-manual form{
    display:grid;
    gap:10px;
}

.dp-checkin-manual input{
    min-width:0;
    border:1px solid #aebbd0;
    border-radius:9px;
    padding:12px;
    font-size:15px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.dp-checkin-result{
    overflow:hidden;
}

.dp-checkin-result>header{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:15px;
    background:#eaf8f2;
}

.dp-checkin-result h3{
    margin:3px 0;
    color:#071838;
}

.dp-checkin-result header>div:last-child{
    display:grid;
    text-align:right;
    font-size:12px;
}

.dp-checkin-today{
    padding:15px;
}

.dp-checkin-today h4{
    margin:0 0 8px;
    color:#071838;
}

.dp-checkin-today article{
    display:grid;
    gap:9px;
    padding:12px 0;
    border-top:1px solid #e1e7ef;
}

.dp-checkin-today article>div{
    display:grid;
    gap:3px;
}

.dp-checkin-today .done{
    color:#087653;
}

.dp-checkin-no-today{
    padding:15px;
    color:#69778c;
    font-size:12px;
}

.dp-checkin-success{
    margin-bottom:14px;
    border:1px solid #79c5aa;
    border-radius:10px;
    background:#e9f8f2;
    color:#075f43;
    padding:12px 15px;
    font-weight:800;
}

.dp-today-schedule>header small{
    color:#6020d0;
    font-weight:900;
    letter-spacing:.09em;
}

.dp-schedule-legend{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:9px;
    font-size:9px;
}

.dp-schedule-legend span::before{
    content:"";
    display:inline-block;
    width:8px;
    height:8px;
    margin-right:4px;
    border-radius:2px;
    background:#d8dee8;
}

.dp-schedule-legend .booking::before{
    background:#159457;
}

.dp-schedule-legend .openplay::before{
    background:#7435db;
}

.dp-schedule-legend .walkin::before{
    background:#287bd7;
}

.dp-schedule-legend .event::before{
    background:#df930d;
}

.dp-schedule-legend .closed::before{
    background:#dc2f2f;
}

.dp-schedule-legend .maintenance::before{
    background:#8d98a8;
}

.dp-today-schedule-scroll{
    overflow-x:auto;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-y:hidden;
}

.dp-today-schedule-grid{
    display:grid;
    min-width:720px;
    border:1px solid #dce3ed;
    border-radius:10px;
    overflow:hidden;
}

.dp-today-grid-head,.dp-today-grid-time,.dp-today-grid-cell{
    min-height:34px;
    padding:8px;
    border-right:1px solid #e0e6ee;
    border-bottom:1px solid #e0e6ee;
    box-sizing:border-box;
}

.dp-today-grid-head{
    background:#f3f6fa;
    color:#071838;
    text-align:center;
    font-size:11px;
    font-weight:850;
}

.dp-today-grid-head.time,.dp-today-grid-time{
    text-align:left;
}

.dp-today-grid-time{
    color:#263956;
    font-size:10px;
    font-weight:800;
}

.dp-today-grid-cell{
    display:grid;
    place-items:center;
    color:#fff;
    text-align:center;
    font-size:9px;
    font-weight:800;
}

.dp-today-grid-cell.available{
    background:#fff;
}

.dp-today-grid-cell.booking{
    background:#159457;
}

.dp-today-grid-cell.openplay{
    background:#7435db;
}

.dp-today-grid-cell.walkin{
    background:#287bd7;
}

.dp-today-grid-cell.event{
    background:#df930d;
}

.dp-today-grid-cell.closed{
    background:#dc2f2f;
}

.dp-today-grid-cell.maintenance{
    background:#8d98a8;
}

.dp-today-grid-cell.hold{
    background:#f6c344;
    color:#573b00;
}

@media(max-width:1180px){
    .dp-live-workspace{
        grid-template-columns:1fr;
    }

    .dp-checkin-column{
        grid-template-columns:1fr 1fr;
        align-items:start;
    }

    .dp-checkin-result,.dp-checkin-column>.auth-error{
        grid-column:1/-1;
    }
}

@media(max-width:900px){
    .dp-live-court-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .owner-court-page{
        padding:12px;
    }

    .dp-live-courts,.dp-today-schedule,.dp-owner-checkin,.dp-checkin-manual{
        padding:14px;
    }

    .dp-live-court-grid,.dp-checkin-column{
        grid-template-columns:1fr;
    }

    .dp-live-courts>header,.dp-today-schedule>header{
        align-items:flex-start;
        flex-direction:column;
    }

    .dp-schedule-legend{
        justify-content:flex-start;
    }

    .dp-checkin-result>header{
        flex-direction:column;
    }

    .dp-checkin-result header>div:last-child{
        text-align:left;
    }
}

.dp-live-page-grid{
    display:grid;
    grid-template-columns:minmax(300px,.85fr) minmax(0,1.65fr);
    grid-template-areas:"checkin dashboard"
"schedule schedule";
    gap:18px;
    align-items:start;
    min-width:0;
    width:100%;
}

.dp-live-checkin-area{
    grid-area:checkin;
    min-width:0;
}

.dp-live-dashboard-area{
    grid-area:dashboard;
    min-width:0;
}

.dp-live-schedule-area{
    grid-area:schedule;
    min-width:0;
}

.dp-checkin-column{
    display:grid;
    gap:18px;
    min-width:0;
}

main.shell.owner-sidebar-hidden .owner-court-page{
    max-width:1320px;
}

.dp-live-courts, .dp-today-schedule, .dp-owner-checkin, .dp-checkin-manual, .dp-checkin-result{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
}

@media(max-width:1100px){
    .dp-live-page-grid{
        grid-template-columns:1fr;
        grid-template-areas:"checkin"
"dashboard"
"schedule";
    }

    .dp-checkin-column{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        align-items:start;
    }

    .dp-checkin-result,.dp-checkin-column>.auth-error{
        grid-column:1/-1;
    }

    .dp-live-court-grid{
        grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));
    }
}

@media(max-width:760px){
    .owner-court-page{
        padding:12px;
    }

    .dp-live-courts,.dp-today-schedule,.dp-owner-checkin,.dp-checkin-manual{
        padding:14px;
    }

    .dp-checkin-column,.dp-live-court-grid{
        grid-template-columns:1fr;
    }

    .dp-checkin-result,.dp-checkin-column>.auth-error{
        grid-column:auto;
    }

    .dp-live-courts>header,.dp-today-schedule>header{
        align-items:flex-start;
        flex-direction:column;
    }

    .dp-schedule-legend{
        justify-content:flex-start;
    }

    .dp-checkin-result>header{
        flex-direction:column;
    }

    .dp-checkin-result header>div:last-child{
        text-align:left;
    }

    .dp-checkin-camera video{
        height:clamp(190px,56vw,280px);
    }

    .dp-checkin-camera button,.dp-checkin-manual button,.dp-checkin-today button{
        width:100%;
    }

    .dp-checkin-manual input{
        width:100%;
        box-sizing:border-box;
    }
}

@media(max-width:420px){
    .owner-court-page{
        padding:10px;
    }

    .dp-live-courts,.dp-today-schedule,.dp-owner-checkin,.dp-checkin-manual{
        padding:12px;
    }

    .dp-live-page-grid,.dp-checkin-column{
        gap:12px;
    }
}
