:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#243149;background:#f4f6fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1080px;margin:0 auto;padding:64px 24px}h1{font-size:clamp(2rem,5vw,3rem);letter-spacing:-.045em;margin:12px 0}h2{font-size:1.25rem;margin:0 0 16px}p{color:#627089;line-height:1.6}.eyebrow{font-weight:700;font-size:.75rem;letter-spacing:.18em;color:#76598d}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin:36px 0}.card{display:block;background:#fff;padding:30px;border:1px solid #e0e5ec;border-radius:16px;box-shadow:0 5px 18px #24314908;text-decoration:none;color:inherit}.card:hover,.card:focus-visible{border-color:#806592;box-shadow:0 8px 25px #80659220}.card span,.back{color:#76598d;font-weight:600}.card p{margin:0 0 24px}.login{max-width:460px;margin:30px auto;background:#fff;border:1px solid #e0e5ec;border-radius:20px;padding:36px}.login h1{font-size:2.1rem}label{display:block;font-weight:600;margin-top:22px;margin-bottom:8px}input{font:inherit;width:100%;border:1px solid #c6cedb;border-radius:8px;padding:12px}button{font:inherit;cursor:pointer;background:#76598d;color:white;border:0;border-radius:8px;padding:12px 22px;font-weight:600}.login button{width:100%;margin-top:26px}.logout button{background:white;color:#76598d;border:1px solid #d9cfe1}.error{color:#a42f40;background:#fff1f3;padding:12px;border-radius:8px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #baa4cb;outline-offset:3px}@media(max-width:600px){main{padding:32px 18px}.login{padding:24px;margin:12px auto}.cards{margin:26px 0}}

.admin-section{margin:2rem 0}.admin-section article{border:1px solid #d8e2ec;border-radius:12px;padding:1rem;margin:1rem 0}.admin-section form{display:grid;gap:.65rem;max-width:680px}.admin-section .check{display:flex;align-items:center;gap:.5rem}.admin-section .check input{width:auto}.admin-section select{padding:.65rem;border:1px solid #c5d1df;border-radius:6px;font:inherit}.admin-section table{width:100%;border-collapse:collapse}.admin-section td,.admin-section th{text-align:left;padding:.5rem;border-bottom:1px solid #d8e2ec}.admin-section details{margin-top:1rem}
