/* Styles moved from index.php */
.login-float-box {
    background-color: #f8f9fa;
    min-width: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 2rem;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
    height: fit-content;
}

.btn-login {
    background-color: #004d40;
    color: white;
    border: none;
    font-weight: 600;
    padding: 0.75rem 1.75rem;
    font-size: 1.1rem;
    border-radius: 6px;
    transition: background-color 0.3s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    cursor: pointer;
    text-decoration: none !important;
}

.btn-login:hover {
    background-color: #00332d;
    text-decoration: none;
}

.registration-form {
    background-color: #ffffff;
    min-width: 420px;
    max-width: 420px;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
    background: white;
}

.btn-login {
    background-color: #004d40;
    color: white;
    border: none;
    font-weight: 600;
    padding: 0.6rem 1.5rem;
    font-size: 1.05rem;
    border-radius: 6px;
    transition: background-color 0.3s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.btn-login:hover {
    background-color: #00332d;
}

body {
    background: #f0f2f5;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
header, footer {
    flex-shrink: 0;
}
header {
    background-color: #004d40;
    color: white;
    padding: 1rem 2rem;
    box-shadow: 0 3px 6px rgba(0,0,0,0.15);
}
.institute-name {
    color: #a5d6a7;
    font-size: 2rem;
    font-weight: 700;
    text-shadow: 0 0 4px #a5d6a766;
}
.welcome-row {
    color: #c8e6c9cc;
}
footer {
    background-color: #343a40;
    color: #fff;
    padding: 0.8rem 0;
    text-align: center;
    font-size: 0.9rem;
    margin-top: auto;
}
.left-panel {
    height: 450px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* NAT keypad styles */
.nat-keypad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    max-width: 260px;
}
.nat-keypad .key-row {
    display: contents; /* each button occupies grid cells */
}
.nat-key {
    width: 100%;
    padding: 10px 0;
    font-size: 1.05rem;
    font-weight: 700;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.nat-key.btn-danger {
    color: #fff;
}

@media (max-width: 576px) {
    .nat-keypad { max-width: 100%; grid-template-columns: repeat(3, 1fr); }
    .nat-key { padding: 8px 0; font-size: 1rem; }
}

/* Question palette color variables */
:root {
    --qp-current: #00695c; /* deep teal */
    --qp-answered: #2e7d32; /* green */
    --qp-review: #6a1b9a; /* purple */
    --qp-border: rgba(0,0,0,0.06);
}

.qp-button {
    background-color: #f1f3f5; /* neutral */
    color: #212529;
    border-color: var(--qp-border);
}
.qp-button:hover {
    background-color: #e0f2f1; /* slight teal tint */
    color: var(--qp-current);
    border-color: var(--qp-current);
}
.qp-button.active {
    border-color: var(--qp-current);
    background-color: var(--qp-current);
    color: white;
    box-shadow: 0 0 10px var(--qp-current, #00695c44);
}
.qp-button.answered {
    background-color: var(--qp-answered);
    color: white;
    border-color: #1b5e20;
}
.qp-button.review {
    background-color: var(--qp-review);
    color: white;
    border-color: #4a148c;
}

.legend-current { background-color: var(--qp-current); }
.legend-answered { background-color: var(--qp-answered); }
.legend-review { background-color: var(--qp-review); }
