*{box-sizing:border-box}:root{color-scheme:light;font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#f5f7fb;color:#1b2330}body,html{margin:0;min-height:100%}body{background:linear-gradient(180deg,#f8fbff,#eff4fb)}a{color:#0b4d98;text-decoration:none}a:hover{text-decoration:underline}.page-shell{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:30px 0 60px}.hero-panel{background:#fff;border:1px solid #d8e2ef;border-radius:18px;padding:32px 36px;margin-bottom:24px;box-shadow:0 12px 30px rgba(7,42,98,.08);text-align:center}.eyebrow{margin:0 0 8px;color:#0f5aa8;letter-spacing:.08em;font-size:.85rem;font-weight:700}h1{margin:0 0 12px;font-size:clamp(2rem,2.5vw,2.8rem);line-height:1.05}.lead{margin:0;font-size:1rem;line-height:1.75;color:#465164}.content-panel{display:grid;grid-gap:28px;gap:28px}.admin-form,.search-form{background:#fff;border:1px solid #d8e2ef;border-radius:18px;padding:28px}.admin-form .link-button,.admin-form button,.admin-form input,.admin-form label,.search-form input,.search-form label{display:block;width:100%}.search-form .input-row{display:flex;gap:12px;align-items:flex-end;margin-bottom:18px}.search-form .input-row .radio-group{display:flex;gap:4px;background:#f0f4fa;border-radius:12px;padding:4px;flex-shrink:0}.search-form .input-row .radio-group label{display:inline-flex;align-items:center;justify-content:center;gap:4px;margin-bottom:0;padding:8px 14px;border-radius:10px;font-size:.9rem;color:#2b3d54;cursor:pointer;background:transparent;transition:background .15s,color .15s;flex:1 1;text-align:center;white-space:nowrap}.search-form .input-row .radio-group input[type=radio]{display:none}.search-form .input-row .radio-group label:has(input:checked){background:#fff;color:#0b4d98;font-weight:600;box-shadow:0 2px 6px rgba(7,42,98,.1)}.search-form .input-row .field-wrap{flex:1 1}.search-form .input-row .field-wrap label{margin-bottom:6px}.search-form .input-row .field-wrap input{margin-bottom:0}.admin-form label,.search-form label{font-size:.95rem;margin-bottom:8px;color:#2b3d54}.admin-form input,.search-form input{margin-bottom:18px;border:1px solid #cbd5e0;border-radius:12px;background:#f8fbff;color:#1b2330;padding:12px 14px;font-size:1rem}.btn-cancel{background:transparent!important;color:#0b4d98!important;border:1px solid #cbd5e0!important}.btn-cancel:hover{background:#f0f4fa!important}.btn-table{border:0;padding:6px 14px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;margin-right:6px}.btn-edit{background:#e8f0fe;color:#0b4d98}.btn-edit:hover{background:#d4e3fc}.btn-delete{background:#ffe8e8;color:#841d1d}.btn-delete:hover{background:#fcd5d5}.admin-form .link-button,.admin-form button,.search-form button{border:0;background:#0b4d98;color:#fff;border-radius:12px;padding:12px 18px;font-size:1rem;font-weight:600;cursor:pointer}.admin-form .link-button{background:transparent;color:#0b4d98;text-align:center;margin-top:12px}.admin-form button:disabled,.search-form button:disabled{opacity:.65;cursor:not-allowed}.message{margin-top:16px;padding:14px 16px;border-radius:12px;font-size:.95rem}.message.error{background:#ffe8e8;color:#841d1d;border:1px solid #f1c0c0}.message.success{background:#e6f5e7;color:#1f5e2b;border:1px solid #b6dfba}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.field-grid label{margin-bottom:0}.required{margin-left:4px;color:#c02f2f}.form-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.records-panel{background:#fff;border:1px solid #d8e2ef;border-radius:18px;padding:24px}.records-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.records-header h2{margin:0;font-size:1.1rem}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}tbody td,thead th{padding:14px 12px;text-align:left;border-bottom:1px solid #e4eaf3;font-size:.95rem}thead th{color:#2b3d54;background:#f5f8fc}tbody tr:hover{background:#fbfdff}.result-grid{display:grid;grid-gap:18px;gap:18px}.result-card{border:1px solid #dbe6f1;border-radius:16px;padding:20px;background:#fff}.card-row{display:grid;grid-template-columns:130px 1fr;grid-gap:12px;gap:12px;padding:6px 0;align-items:center}.card-row .label{color:#596b7f;font-weight:600}.info{color:#42506a}@media (max-width:880px){.card-row,.field-grid{grid-template-columns:1fr}}