*,*:before,*:after{box-sizing:border-box}:root{--primary: #242e4c;--primary-hover: #1f2741;--danger: #dc3545;--danger-hover: #bb2d3b;--text: #1f2937;--heading: #1c2540;--muted: #4b5563;--border: #d1d5db;--border-light: #e5e7eb;--radius: 1rem}body{margin:0;font-family:Nunito Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;color:var(--text);background:#fff;-webkit-text-size-adjust:100%}a{color:var(--primary);text-decoration:none}img{vertical-align:middle}.h4,.h5{margin:0;font-weight:600;line-height:1.3;color:var(--heading)}.h4{font-size:calc(1.275rem + .3vw)}.h5{font-size:1.25rem}@media(min-width:1200px){.h4{font-size:1.5rem}}.center{text-align:center}.mb-4{margin-bottom:1.5rem}.page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:0 .75rem}.card{width:100%;max-width:500px;margin:1.5rem 0;padding:1.5rem;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:#0000001a 0 1px 3px,#0000000f 0 1px 2px}@media(min-width:992px){.card{margin:0;padding:3rem}}.form{margin-top:1.5rem}.field{margin-bottom:1.5rem}.field label{display:inline-block;margin-bottom:.5rem;font-weight:600}.input-group{display:flex}.input-group-text,.input{padding:.55rem .75rem;font:inherit;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius)}.input-group-text{display:flex;align-items:center;background:#fff;border-top-right-radius:0;border-bottom-right-radius:0}.input{flex:1;min-width:0;margin:0 0 0 -1px;background:#f9fafb;border-top-left-radius:0;border-bottom-left-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.input::placeholder{color:#6b7280;opacity:1}.input:focus{position:relative;outline:0;border-color:#4d62a3;box-shadow:inset 0 1px 2px #171f3813,0 0 0 .2rem #242e4c40}.input:disabled{background:#f3f4f6}.icon{height:1em;overflow:visible;vertical-align:-.125em}.btn{--bg: var(--primary);--bg-hover: var(--primary-hover);--ring: 69, 77, 103;display:inline-block;padding:.55rem .75rem;font:inherit;font-weight:600;line-height:1.5;text-align:center;color:#fff;background:var(--bg);border:1px solid var(--bg);border-radius:var(--radius);box-shadow:inset 0 1px #ffffff26,0 1px 1px #171f3813;cursor:pointer;transition:all .2s ease}.btn:hover{color:#fff;background:var(--bg-hover);border-color:var(--bg-hover)}.btn:focus-visible{outline:0;box-shadow:0 0 0 .2rem rgba(var(--ring),.5)}.btn:disabled{opacity:.65;pointer-events:none;box-shadow:none}.btn-danger{--bg: var(--danger);--bg-hover: var(--danger-hover);--ring: 225, 83, 97}.btn-block{display:block;width:100%;margin-top:3rem}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.alert{padding:1rem;margin-bottom:1rem;color:#58151c;background:#f8d7da;border:1px solid #f1aeb5;border-radius:var(--radius)}.spinner{display:inline-block;width:1rem;height:1rem;vertical-align:middle;border:.2em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}.btn .spinner{margin:0 1rem .25rem 0}.spinner-lg{width:2rem;height:2rem;border-width:.25em;color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}.progress{height:20px;margin-bottom:1rem;overflow:hidden;background:#f3f4f6;border-radius:.6rem;box-shadow:inset 0 1px 3px #0003}.progress-bar{height:100%;background-color:var(--primary);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem;animation:stripes 1s linear infinite;transition:width .6s ease}@keyframes stripes{0%{background-position-x:1rem}}.table{width:100%;margin-bottom:1rem;border-collapse:collapse}.table th,.table td{padding:.25rem;text-align:left;vertical-align:top;border:1px solid var(--border-light)}.table th{font-weight:700}.table tbody tr:nth-child(odd){background:#171f380d}.table tbody tr:hover{background:#171f3813}@media(prefers-reduced-motion:reduce){.progress-bar{animation:none;transition:none}.spinner{animation-duration:1.5s}}
