/*
 * ============================================================
 * KradPC - Owner Court
 * Canonical Owner Court presentation module
 *
 * Functionality:
 *   modules/owner/court.js
 *
 * Shared Court/Staff primitives remain temporarily in:
 *   dewpoint-app.css
 *
 * Theme values:
 *   dewpoint_theme / --kr-*
 *
 * Busy / Hold / Offline remain operational state colors.
 *
 * Three CSS priority flags remain temporarily on the
 * available mini-court because legacy shared Staff
 * state rules still use matching priority flags.
 * Remove them when shared Staff Court presentation
 * is migrated to KradPC.
 * ============================================================
 */

.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;
}

/* ============================================================
   KRADPC 2B-13H-R4 — OWNER COURT STATUS STATES

   Scoped migration from the former global
   .staff-court-card state rules.

   Owner Available mini-court background/border remains
   governed by the existing canonical --kr-accent rule.
   ============================================================ */

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

/* IN USE */
.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;
}

/* ON HOLD */
.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;
}

/* OFFLINE */
.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;
}
/* Secure check-in and live court dashboard */
.owner-court-page{max-width:1280px;margin:0 auto;padding:24px}
.dp-owner-checkin,.dp-live-courts{background:#fff;border:1px solid #d7deea;border-radius:18px;padding:24px;box-shadow:0 12px 32px rgba(7,24,56,.06)}
.dp-checkin-intro,.dp-live-courts>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}
.dp-checkin-intro>span{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:#071838;color:#fff;font-size:25px}
.dp-checkin-intro>div{flex:1}.dp-checkin-intro h2,.dp-live-courts h2{margin:0;color:#071838;font-size:26px}.dp-checkin-intro p,.dp-live-courts p{margin:5px 0 0;color:#68758b}
.dp-checkin-tools{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.dp-checkin-camera,.dp-checkin-tools form{min-height:230px;border:1px solid #dbe2ed;border-radius:14px;background:#f7f9fc;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.dp-checkin-camera>div{display:grid;place-items:center;min-height:130px;border:2px dashed #b9c4d4;border-radius:12px;color:#66758b;text-align:center;padding:18px}.dp-checkin-camera video{width:100%;height:230px;object-fit:cover;border-radius:12px;background:#071838}
.dp-checkin-tools button,.dp-checkin-today button{border:0;border-radius:10px;background:#071838;color:#fff;font-weight:800;padding:13px 18px;cursor:pointer}.dp-checkin-tools button:disabled,.dp-checkin-today button:disabled{opacity:.55;cursor:not-allowed}
.dp-checkin-tools form label{font-size:18px;font-weight:900;color:#071838}.dp-checkin-tools form p{margin:0;color:#68758b}.dp-checkin-tools input{border:1px solid #aebbd0;border-radius:10px;padding:14px;font-size:18px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.dp-checkin-result{margin-top:20px;border:1px solid #a9d8c8;border-radius:14px;overflow:hidden}.dp-checkin-result>header{display:flex;justify-content:space-between;gap:20px;padding:18px;background:#ecf9f4}.dp-checkin-result h3{margin:4px 0;color:#071838}.dp-checkin-result header>div:last-child{display:grid;text-align:right}.dp-checkin-today{padding:18px}.dp-checkin-today h4{margin:0 0 10px;color:#071838}.dp-checkin-today article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #e1e7ef}.dp-checkin-today article>div{display:grid;gap:4px}.dp-checkin-today .done{color:#087653}.dp-checkin-no-today{padding:18px;color:#6a7486}.dp-checkin-success{border:1px solid #79c5aa;background:#e9f8f2;color:#075f43;border-radius:12px;padding:14px 18px;font-weight:800}
.dp-live-courts>header span{color:#087653;font-weight:800}.dp-live-court-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dp-live-court-card{border:1px solid #d9e0eb;border-radius:14px;overflow:hidden;background:#fff}.dp-live-court-card.in-use{border-color:#071838}.dp-live-court-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#071838;color:#fff}.dp-live-court-head h3{margin:0;color:#fff}.dp-live-court-head span{font-size:11px;font-weight:900;letter-spacing:.08em}.dp-live-court-card.available .dp-live-court-head{background:#eef3f8;color:#071838}.dp-live-court-card.available .dp-live-court-head h3{color:#071838}.dp-live-court-current,.dp-live-court-next{display:grid;gap:6px;padding:16px}.dp-live-court-current strong{font-size:30px;color:#071838}.dp-live-court-current small,.dp-live-court-next small{font-size:11px;font-weight:900;color:#6d788b;letter-spacing:.08em}.dp-live-court-current span,.dp-live-court-next span{color:#68758b;font-size:13px}.dp-live-court-next{border-top:1px solid #e1e7ef;background:#fafbfd}.dp-live-court-queue{display:grid;gap:6px;padding:12px 16px;border-top:1px solid #e1e7ef;color:#35445e;font-size:12px}
@media(max-width:1050px){.dp-live-court-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.owner-court-page{padding:12px}.dp-owner-checkin,.dp-live-courts{padding:16px}.dp-checkin-tools,.dp-live-court-grid{grid-template-columns:1fr}.dp-checkin-result>header,.dp-checkin-today article{align-items:flex-start;flex-direction:column}.dp-checkin-result header>div:last-child{text-align:left}.dp-live-courts>header{align-items:flex-start;flex-direction:column}}
