/* IB EXAM CLOCK - Panel de administración */
:root {
    --ibx-navy: #0b2545;
    --ibx-accent: #1d4ed8;
}

body { font-size: 1rem; }

.brand-mark {
    width: 64px; height: 64px; border-radius: 16px;
    background: var(--ibx-navy); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 1.6rem; letter-spacing: .02em;
}
.brand-mark-sm { width: 34px; height: 34px; border-radius: 9px; font-size: .95rem; }

.login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.login-card { width: 100%; max-width: 420px; }

.server-clock {
    font-variant-numeric: tabular-nums; font-weight: 700;
    background: #eef2ff; color: var(--ibx-navy); border-radius: 8px; padding: .2rem .6rem;
}

.card { border-radius: 14px; }
.table > :not(caption) > * > * { vertical-align: middle; }
.table-nowrap td, .table-nowrap th { white-space: nowrap; }

/* Botones grandes y táctiles */
.btn { border-radius: 10px; }
.btn-touch { min-height: 48px; padding-left: 1.2rem; padding-right: 1.2rem; }

/* Dashboard */
.exam-card { border-left: 8px solid #cbd5e1; }
.exam-card.st-EN_CURSO { border-left-color: #16a34a; }
.exam-card.st-LISTO { border-left-color: #f59e0b; }
.exam-card.st-FINALIZADO { border-left-color: #94a3b8; opacity: .85; }
.exam-card.st-CANCELADO { border-left-color: #dc2626; opacity: .6; }
.exam-card.st-NO_INICIADO { border-left-color: #dc2626; }
.exam-card .time { font-size: 2rem; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1; }
.exam-card .subject { font-size: 1.35rem; font-weight: 800; text-transform: uppercase; }
.exam-card .paper { font-size: 1.15rem; font-weight: 700; }
.exam-card .remaining { font-size: 1.8rem; font-weight: 800; font-variant-numeric: tabular-nums; color: #15803d; }
.badge-status { font-size: .9rem; padding: .45em .8em; }

.url-box { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .85rem; word-break: break-all; }

/* Vista previa de importación */
.row-ok { background: #f0fdf4 !important; }
.row-warn { background: #fffbeb !important; }
.row-err { background: #fef2f2 !important; }
.row-skip { background: #f8fafc !important; color: #64748b; }
.preview-table td { font-size: .9rem; }

.stat-pill { border-radius: 999px; padding: .35rem .9rem; font-weight: 600; }
