:root{--bs-body-bg:#f8f9fa;--bs-body-color:#212529;--bs-primary:#0d6efd;--bs-danger:#dc3545;--bs-success:#198754}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bs-body-bg);color:var(--bs-body-color)}
.container{max-width:720px;margin:0 auto;padding:1rem}
.header{background:#fff;border-bottom:1px solid #dee2e6}
.header .container{display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:700}
.footer{margin-top:2rem;padding:1rem 0;border-top:1px solid #dee2e6;color:#6c757d;font-size:.9rem}
.main-center{min-height:calc(100vh - 120px);display:grid;place-items:center}
.card{width:100%;max-width:560px;background:#fff;border:1px solid #dee2e6;border-radius:.5rem;box-shadow:0 1rem 2rem rgba(0,0,0,.05)}
.card-body{padding:1.25rem}
.card-title{margin:0 0 1rem;font-size:1.25rem}
h1,h2,h3{margin:.5rem 0 1rem}
form{background:transparent;border:0;padding:0}
label{display:block;margin:.5rem 0 .25rem}
input[type="email"],input[type="password"],input[type="text"],input[type="url"],input[type="search"],input[type="number"],select{width:100%;padding:.5rem .75rem;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff}
small{color:#6c757d}
.btn{display:inline-block;font-weight:600;line-height:1.5;color:#fff;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:var(--bs-primary);border:1px solid var(--bs-primary);padding:.5rem 1rem;font-size:1rem;border-radius:.375rem}
.btn:disabled{opacity:.65}
.btn-secondary{background:#6c757d;border-color:#6c757d}
.btn-danger{background:var(--bs-danger);border-color:var(--bs-danger)}
.alert{position:relative;padding:.75rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem}
.alert-success{color:#0f5132;background:#d1e7dd;border-color:#badbcc}
.alert-danger{color:#842029;background:#f8d7da;border-color:#f5c2c7}
.text-muted{color:#6c757d}
.mt-3{margin-top:1rem}
.mb-3{margin-bottom:1rem}
.w-100{width:100%}
.btn-right{display:flex;justify-content:flex-end}
.btn-center{display:flex;justify-content:center}
