/* General Reset & Base Styles */
body {
    margin: 0;
    padding: 0;
    font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
    background: #f6fafd;
    color: #123146;
    min-height: 100vh;
    text-align: center;
}

h1, h2 {
    color: #154ea4;
    margin-top: 32px;
    margin-bottom: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
}
h2 { font-size: 1.22em; }
a { color: #154ea4; text-decoration: none;}
a:hover { text-decoration: underline;}

.container, .main-links, .form-wrap, .table-wrap, .admin-section {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 16px;
    text-align: center;
}

.main-links, .admin-links {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    margin-top: 40px;
}

.main-links a, .admin-links a {
    font-size: 1.15em;
    padding: 16px 24px;
    background: #e8f2fc;
    border-radius: 12px;
    text-align: center;
    text-decoration: none;
    color: #1862a7;
    transition: background .2s, color .2s, transform .18s;
    box-shadow: 0 2px 8px rgba(22,98,167,0.08);
    border: none;
    width: 90%;
    max-width: 420px;
    margin-bottom: 0;
}
.main-links a:hover, .admin-links a:hover,
.main-links a:focus, .admin-links a:focus {
    background: #d0e8ff;
    color: #154e8a;
    outline: none;
    transform: scale(1.03);
}
.admin-section { margin: 42px auto 0; max-width: 650px; }
.admin-toggle {
    width: 90%;
    max-width: 420px;
    font-size: 1.1em;
    padding: 14px 18px;
    background: #ffe6b3;
    color: #945200;
    box-shadow: 0 2px 10px rgba(255,180,50,0.12);
    border-radius: 12px;
    margin-bottom: 6px;
    border: 1px solid #ffbe57;
    text-align: center;
    cursor:pointer;
    font-weight: 600;
    transition: background .2s, color .2s, transform .18s;
}
.admin-toggle:hover { background: #ffe075; color:#aa6000; transform: scale(1.03);}
.admin-links { display: none; width: 100%; }
.admin-section.open .admin-links { display: flex; }

table {
    width: 90%;
    margin: 20px auto 32px;
    border-collapse: collapse;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(22,98,167,0.09);
    text-align: center;
}
th, td {
    padding: 12px 16px;
    border-bottom: 1px solid #e3e8f0;
    font-size: 1em;
}
tr:last-child td { border-bottom: none; }
th { background: #f3f9ff; color: #144e96; font-weight: 600; }
tr:nth-child(even) { background: #f7f9fa; }
@media (max-width:700px) {
    table, thead, tbody, th, td, tr { display: block; width: 100%; }
    thead { display:none; }
    tr { margin-bottom: 10px; }
    td {
        padding: 10px 10px;
        position: relative;
        background: #fff;
        border-radius: 10px;
        border-bottom: 1px solid #e3e8f0;
        box-shadow: 0 2px 6px rgba(22,98,167,0.04);
        font-size: 0.99em;
    }
    td[data-label]:before {
        content: attr(data-label) ": ";
        font-weight: bold;
        color: #1555ab;
        display: block;
        margin-bottom: 6px;
    }
}

form {
    margin: 0 auto 24px auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 420px;
    padding: 20px 24px;
    background: #f8fcff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(60,98,180,0.04);
}
label { display:flex; flex-direction:column; align-items: flex-start; width:95%; margin-bottom: 16px; font-size:1em; }
input, select, button, textarea {
    font-family: inherit;
    font-size: 1em;
}
input, select, textarea {
    padding: 10px 12px;
    border: 1.5px solid #adc9e8;
    border-radius: 8px;
    margin-bottom: 10px;
    background: #f8fcff;
    width: 100%;
    box-sizing: border-box;
}
input:focus, select:focus, textarea:focus {
    outline: 2px solid #82b1ff;
}
textarea { min-height: 64px; resize: vertical; }

button, input[type="submit"] {
    background: #1671c2;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 13px 18px;
    font-size: 1em;
    cursor: pointer