:root{--navy:#07336b;--blue:#1264c0;--pale:#edf5ff;--green:#168044;--ink:#17243a;--muted:#64748b;--line:#d8e2ef}
*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:var(--ink);font:16px/1.45 Arial,sans-serif}
header{background:var(--navy);color:white;padding:25px 20px;text-align:center}header h1{margin:0;font-size:clamp(1.45rem,3vw,2rem)}header p{margin:7px 0 0;color:#dceaff}
main{max-width:1050px;margin:28px auto;padding:0 18px}.layout{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
.card{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 5px 18px #16345b0b}
h2{font-size:1.2rem;margin:0 0 15px;color:var(--navy)}.subheading{margin-top:22px}
label{display:block;font-weight:700;margin:13px 0 6px}input,textarea{width:100%;padding:11px 12px;border:1px solid #bdcadd;border-radius:8px;font:inherit}
input:focus,textarea:focus{outline:3px solid #cfe3ff;border-color:var(--blue)}
.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.slot{border:1px solid #a9c7ec;background:#f5f9ff;color:var(--navy);border-radius:9px;padding:12px 7px;font-weight:700;cursor:pointer}
.slot:hover{background:#e5f0ff}.slot.selected{background:var(--blue);color:white;border-color:var(--blue)}
.slot:disabled{background:#f0f2f5;color:#9aa4b2;border-color:#e0e4ea;cursor:not-allowed}
.note{font-size:.9rem;color:var(--muted)}.summary{background:var(--pale);border-radius:10px;padding:14px;margin:16px 0}
button.primary{width:100%;background:var(--green);color:white;border:0;border-radius:9px;padding:13px 16px;font-weight:700;font-size:1rem;cursor:pointer}
button.primary:disabled{background:#9aa9b8;cursor:not-allowed}.status{margin-top:13px;padding:12px;border-radius:8px;display:none}
.status.ok{display:block;background:#eaf7ef;color:#126333}.status.err{display:block;background:#fff0ef;color:#9b2118}
footer{max-width:1050px;margin:18px auto 35px;padding:0 18px;color:var(--muted);font-size:.85rem}
.admin-wrap{max-width:1100px;margin:35px auto;padding:20px;background:#fff;border-radius:12px}
table{border-collapse:collapse;width:100%;margin-top:15px}td,th{border:1px solid #d8e2ef;padding:9px;text-align:left}th{background:#edf5ff}
@media(max-width:760px){.layout{grid-template-columns:1fr}.slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
