/* Admin/Inquiries (the inbox) and the partner-strip parts of Admin/Sponsors.
   The inbox reuses the video review layout (.admin-review, .admin-queue, .admin-review-facts in
   admin.css); this file adds its rows, chips and actions. */

/* ---------- Inbox list ---------- */
.inq-queue { gap: .4rem; }
.inq-row { flex-direction: column; align-items: stretch; gap: .2rem; padding: .7rem .85rem; }
.inq-row.is-current { border-color: var(--blue); box-shadow: inset 4px 0 0 var(--blue); }
.inq-row-top { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; }
.inq-row-top b { font-size: .92rem; line-height: 1.3; min-width: 0; overflow-wrap: anywhere; }
.inq-row-top span { flex: none; font-size: .74rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.inq-row-org { font-size: .8rem; color: var(--muted); }
.inq-row-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .25rem; }

/* Kind and status chips. Blue outline = sponsorship (as a team chip is told from a sponsor);
   the status chips borrow the flag colours: amber waiting, green won. */
.inq-kind, .inq-status {
    display: inline-flex; align-items: center; padding: .12rem .6rem; border-radius: 999px;
    font-size: .72rem; font-weight: 600; line-height: 1.5;
    border: 1px solid var(--border); background: var(--surface-2); color: var(--ink-soft);
}
.inq-kind.is-sponsor { background: transparent; border-color: var(--blue); color: var(--blue-ink); }
.inq-status { color: var(--ink); }
.inq-status.is-new { background: var(--amber-bg); border-color: var(--amber-line); color: var(--amber-ink); }
.inq-status.is-won { background: color-mix(in srgb, var(--green) 10%, transparent); border-color: color-mix(in srgb, var(--green) 35%, transparent); color: var(--green-ink); }
.inq-status.is-closed { background: transparent; color: var(--muted); }

/* ---------- Detail ---------- */
.inq-detail-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 1rem 1.5rem; }
.inq-detail-head .admin-review-title { margin-top: .6rem; }
.inq-detail-head .inq-status { margin-left: .35rem; }
.inq-status-form { display: flex; flex-direction: column; gap: .35rem; min-width: 11rem; }
.inq-status-form label {
    font-family: var(--font-display); font-weight: 600; font-size: .78rem; letter-spacing: .04em; color: var(--ink);
}
.inq-status-form select {
    width: 100%; min-height: 2.6rem; padding: .45rem .7rem; font: inherit; font-size: .92rem;
    border: 1px solid var(--muted); border-radius: .55rem; background: var(--surface); color: var(--ink);
}
.inq-status-form select:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue) 22%, transparent); }
.inq-status-form .cta { padding: .45rem .9rem; font-size: .85rem; }
.inq-detail .admin-review-desc { overflow-wrap: anywhere; }

.inq-actions { margin-top: 1.4rem; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.inq-actions form { margin: 0; display: flex; }
.inq-actions .cta { display: inline-flex; align-items: center; gap: .45rem; padding: .6rem 1.1rem; font-size: .9rem; }

.inq-notes { margin-top: 1.6rem; padding-top: 1.25rem; border-top: 1px solid var(--border); }
.inq-notes-foot { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.inq-notes-foot .cta { padding: .5rem 1rem; font-size: .88rem; }

/* ---------- Admin/Sponsors: logo, On site switch, order ---------- */
.sp-logo-cell { width: 6rem; }
.sp-logo {
    width: 4.5rem; height: 2.6rem; object-fit: contain; display: grid; place-items: center;
    border: 1px solid var(--border); border-radius: .4rem; background: #fff; padding: .25rem;
}
/* "Upload" in place of a logo: a dashed slot, like any empty state. */
.sp-logo-empty {
    background: transparent; border-style: dashed;
    font-family: var(--font-display); font-weight: 600; font-size: .7rem; color: var(--blue-ink);
}
.sp-logo-empty:hover { border-color: var(--blue); }

.sp-toggle-form { margin: 0; display: flex; align-items: center; gap: .5rem; }
.sp-toggle { position: relative; display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; cursor: pointer; font-size: .84rem; color: var(--ink-soft); }
.sp-toggle input { position: absolute; opacity: 0; width: 2.4rem; height: 1.4rem; margin: 0; cursor: pointer; }
.sp-switch {
    flex: none; position: relative; width: 2.4rem; height: 1.4rem; border-radius: 999px;
    background: var(--surface-2); border: 1px solid var(--muted); transition: background-color .15s ease, border-color .15s ease;
}
.sp-switch::after {
    content: ""; position: absolute; top: 2px; left: 2px; width: calc(1.4rem - 6px); height: calc(1.4rem - 6px);
    border-radius: 50%; background: var(--surface); box-shadow: 0 1px 2px rgba(0, 0, 0, .25); transition: transform .15s ease;
}
.sp-toggle input:checked + .sp-switch { background: var(--green-ink); border-color: var(--green-ink); }
.sp-toggle input:checked + .sp-switch::after { transform: translateX(1rem); }
.sp-toggle input:focus-visible + .sp-switch { outline: 2px solid var(--blue); outline-offset: 2px; }
.sp-toggle input:disabled, .sp-toggle:has(input:disabled) { cursor: not-allowed; }
.sp-toggle input:disabled + .sp-switch { opacity: .45; border-style: dashed; }
.sp-toggle:has(input:disabled) .sp-state { color: var(--muted); }
.admin-linkbtn { background: none; border: 0; padding: 0; font: inherit; font-size: .82rem; color: var(--blue); cursor: pointer; }

.sp-order { white-space: nowrap; }
.sp-order form { display: inline-flex; gap: .25rem; margin: 0 0 0 .5rem; vertical-align: middle; }
.sp-pos { font-family: var(--font-display); font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink); }
.sp-move {
    width: 2rem; height: 2rem; display: grid; place-items: center; cursor: pointer;
    border: 1px solid var(--border); border-radius: .45rem; background: var(--surface); color: var(--ink); font-size: .9rem;
    transition: border-color .15s ease, color .15s ease;
}
.sp-move:hover:not(:disabled), .sp-move:focus-visible { border-color: var(--blue); color: var(--blue); }
.sp-move:disabled { opacity: .35; cursor: default; }

/* The strip as the site shows it, framed so it reads as a preview. */
.sp-preview-strip { margin-top: 1rem; border: 1px solid var(--border); border-radius: .85rem; overflow: hidden; }
.sp-preview-strip .partner-strip-row { padding-inline: 1.25rem; }

/* Admin/Sponsors/Edit: the current logo beside the upload. */
.sp-logo-preview {
    flex: none; width: 10rem; aspect-ratio: 4 / 3; object-fit: contain; padding: .75rem;
    border: 1px solid var(--border); border-radius: .6rem; background: #fff;
}
div.sp-logo-preview { display: grid; place-items: center; background: var(--surface-2); border-style: dashed; font-size: .8rem; color: var(--muted); }
