*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,-apple-system,sans-serif;color:#0a1e3d;background:#f7f9fc;font-size:14px}h1,h2,h3,h4{font-family:Merriweather,Georgia,serif;color:#0a1e3d}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:14px}a{color:#1a4d8f;text-decoration:none}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid transparent;border-radius:8px;font-weight:600;font-size:13px;transition:all .15s}.btn-primary{background:#1a4d8f;color:#fff;border-color:#1a4d8f}.btn-primary:hover{background:#143c7a}.btn-secondary{background:#fff;color:#1a4d8f;border-color:#cbd5e1}.btn-secondary:hover{background:#f1f5f9}.btn-danger{background:#c0392b;color:#fff;border-color:#c0392b}.btn-ghost{background:transparent;color:#475569}.btn-ghost:hover{background:#f1f5f9}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:#fff;border:1px solid #dde3ec;border-radius:10px;padding:16px}.input{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:13.5px}.input:focus{outline:2px solid #1a4d8f;outline-offset:-1px;border-color:#1a4d8f}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700}.muted{color:#64748b}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{text-align:left;padding:8px 10px;background:#f7f9fc;color:#475569;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}table.t td{padding:8px 10px;border-bottom:1px solid #eef1f6}table.t tr:hover td{background:#fafbfd}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal{background:#fff;border-radius:12px;max-width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 50px #00000040}.modal-h{padding:16px 20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.modal-b{padding:20px}.modal-f{padding:14px 20px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:8px;background:#fafbfd}
