﻿:root{
  --navy:#17365d; --blue:#2f75b5; --sky:#eaf3fb; --teal:#2f8f9d;
  --ink:#1f2937; --muted:#64748b; --line:#dbe4ee; --paper:#ffffff;
  --bg:#f4f7fb; --success:#1f7a4d; --danger:#b42318; --warning:#9a6700;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-size:14px}
.topbar{background:linear-gradient(90deg,var(--navy),var(--blue));color:#fff;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 4px 15px #0002;position:sticky;top:0;z-index:50}
.brand a{color:#fff;text-decoration:none;font-weight:700;font-size:20px}
.mainnav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.mainnav>a,.dropdown>span{color:#fff;text-decoration:none;padding:9px 10px;border-radius:6px;cursor:pointer;font-size:15px;}
.mainnav>a:hover,.dropdown:hover>span{background:#ffffff1f}
.dropdown{position:relative}
.dropdown-menu{display:none;position:absolute;right:0;top:36px;min-width:235px;background:#fff;border-radius:8px;box-shadow:0 12px 30px #0003;padding:6px;overflow:hidden}
.dropdown:hover .dropdown-menu{display:block}
.dropdown-menu a{display:block;color:var(--ink);text-decoration:none;padding:10px 12px;border-radius:5px}
.dropdown-menu a:hover{background:var(--sky)}
.login-link{font-weight:600}
.page-wrap{max-width:1320px;margin:28px auto;padding:0 18px}
.hero-panel{background:linear-gradient(120deg,#e9f3fb 0%,#fff 60%);border:1px solid #cfdeec;border-radius:14px;padding:46px 42px;box-shadow:0 8px 30px #17365d12}
.hero-panel h1{font-size:40px;margin:8px 0 10px;color:var(--navy)}
.hero-panel p{color:var(--muted);font-size:17px;max-width:760px}
.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700;color:var(--blue)}
.hero-actions{display:flex;gap:10px;margin-top:22px}
.btn{display:inline-block;border:0;background:var(--blue);color:#fff;text-decoration:none;border-radius:6px;padding:9px 14px;cursor:pointer;font-weight:600}
.btn:hover{filter:brightness(.96)}
.btn.primary{background:var(--navy)}
.btn.light{background:#fff;color:var(--navy);border:1px solid #c9d8e7}
.btn.secondary{background:#64748b}
.btn.danger,.danger{background:var(--danger)}
.btn.small{padding:5px 9px;font-size:12px}
.btn.full{width:100%}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;box-shadow:0 4px 14px #0000000a}
.stat-card span{color:var(--muted);display:block}
.stat-card strong{font-size:30px;color:var(--navy)}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.panel,.form-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:0 4px 15px #0000000a}
.form-card.narrow{max-width:520px}
.center-wrap{display:flex;justify-content:center;padding:30px 0}
.section-title{margin-bottom:18px}
.section-title h2,.section-head h2{margin:3px 0}
.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.split-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid var(--line);padding:11px;border-radius:8px;margin-bottom:14px}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:var(--ink)}
.toolbar input,.toolbar select{width:auto;min-width:170px}
label{font-weight:600;display:block;margin:12px 0 5px}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:15px 0}
th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{background:#eaf0f7;color:var(--navy);font-weight:700}
.section-row td{background:#17365d;color:#fff;font-weight:700;font-size:15px}
.section-label{color:var(--navy);border-left:4px solid var(--blue);padding-left:10px}
.result-section{margin-bottom:18px}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.check-item{display:flex;gap:8px;align-items:flex-start;background:#f8fbfe;border:1px solid var(--line);padding:9px;border-radius:6px;font-weight:400}
.check-item input{width:auto;margin-top:3px}
.check-item small{display:block;color:var(--muted)}
.cell-input{width:90px}
.inline{display:inline}
.link-danger{border:0;background:none;color:var(--danger);cursor:pointer;padding:0}
.status{padding:4px 8px;border-radius:20px;font-size:11px;font-weight:700}
.status.ok{background:#dcfce7;color:var(--success)}
.status.pending{background:#fff7d6;color:var(--warning)}
.notice{background:#fff7ed;border:1px solid #f5c78e;padding:11px;border-radius:7px;color:#7a4b00}
.status-box{padding:14px;border-radius:8px;margin:12px 0}
.status-box.good{background:#dcfce7;color:var(--success)}
.status-box.warning{background:#fff7d6;color:var(--warning)}
.message-area{max-width:1320px;margin:12px auto;padding:0 18px}
.message{padding:10px 12px;border-radius:7px;background:#eaf3fb;border:1px solid #c8d9ea}
.message.success{background:#dcfce7;border-color:#9bd3b1}
.message.error{background:#fee2e2;border-color:#f3a7a7}
.champion-hero{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
.champion-card{background:linear-gradient(135deg,#17365d,#2f75b5);color:#fff;padding:26px;border-radius:12px}
.champion-card span{opacity:.8;text-transform:uppercase;font-size:11px;letter-spacing:1.3px}
.champion-card h2{font-size:27px;margin:8px 0}
.plain-list{line-height:1.8}
footer{text-align:center;padding:32px 18px;color:var(--muted)}
footer div{font-weight:600;color:var(--navy)}
@media(max-width:1000px){.stat-grid,.info-grid{grid-template-columns:repeat(2,1fr)}.split-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}}
@media(max-width:650px){.topbar{flex-direction:column;align-items:flex-start}.mainnav{width:100%}.stat-grid,.info-grid,.champion-hero{grid-template-columns:1fr}.hero-panel h1{font-size:30px}table{font-size:12px}.page-wrap{padding:0 10px}}




/* ONLY MENU SIZE +2px */
.mainnav > a,
.dropdown > span {
    padding-top: 11px;
    padding-bottom: 11px;
}

.dropdown-menu a {
    padding-top: 12px;
    padding-bottom: 12px;
}

/* ONLY: main menu font size */
.mainnav > a,
.dropdown > span {
    font-size: 20px;
}

/* Participant Items - selection area only */
.item-selection-row td {
    background: #f8fbff;
    padding: 14px;
}

.participant-item-editor {
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    background: #ffffff;
    padding: 14px;
}

.selection-title {
    margin-bottom: 12px;
    color: #17365d;
    font-weight: 600;
}

.section-badge {
    display: inline-block;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 12px;
    background: #eaf3fb;
    color: #17365d;
    font-size: 11px;
    font-weight: 700;
}

.item-selection-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}

.item-selection-grid label {
    font-size: 12px;
    margin-bottom: 4px;
}

.item-selection-grid select {
    width: 100%;
}

.selection-actions {
    margin-top: 12px;
}

@media (max-width: 1100px) {
    .item-selection-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .item-selection-grid {
        grid-template-columns: 1fr;
    }
}

/* Participant Item Report - print button only */
.section-head > div:last-child {
    display: flex;
    align-items: center;
}


/* ============================================================
   Academic Year - participant data administration only
   ============================================================ */

.admin-danger-card,
.admin-backup-card,
.admin-import-card {
    background: #ffffff;
    border: 1px solid #dbe4ee;
    border-radius: 10px;
    padding: 22px;
    margin: 20px 0;
    box-shadow: 0 4px 15px #0000000a;
}

.admin-danger-card {
    border-left: 5px solid #b42318;
}

.admin-backup-card {
    border-left: 5px solid #17365d;
}

.admin-import-card {
    border-left: 5px solid #2f75b5;
}

.admin-card-heading {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.admin-card-heading h3 {
    margin: 0 0 6px;
}

.admin-card-heading p {
    color: #64748b;
    margin-top: 4px;
}

.danger-number,
.backup-number,
.import-number {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: 700;
}

.danger-number {
    background: #b42318;
}

.backup-number {
    background: #17365d;
}

.import-number {
    background: #2f75b5;
}

.csv-error-card {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-left: 5px solid #b42318;
    border-radius: 10px;
    padding: 20px;
    margin: 20px 0;
}

.csv-error-card li {
    margin: 6px 0;
}

@media (max-width: 700px) {
    .admin-card-heading {
        flex-direction: column;
    }
}


.champion-card .champion-points{color:#fff;font-size:1.5rem;font-weight:700;text-decoration:underline}
.champion-card .champion-points:hover{color:#fff}

