*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;margin:0;color:#111}
.centered{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f7f7f8}
.card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 10px 30px rgba(0,0,0,.08);width:100%;max-width:380px}
.app-title{margin-top:0;margin-bottom:1rem;font-size:1.5rem;text-align:center}
.form{display:grid;gap:.5rem}
.form input{padding:.7rem .9rem;border:1px solid #ddd;border-radius:.75rem;font-size:1rem}
.btn{appearance:none;border:1px solid #ddd;background:#fff;padding:.6rem .9rem;border-radius:.75rem;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:#111;font-size:13px;}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
.btn.primary{background:#111;color:#fff;border-color:#111}
.btn.danger{background:#e11d48;color:#fff;border-color:#e11d48}
.btn.outline{background:transparent}
.btn.icon{font-size:1.2rem;line-height:1;padding:.2rem .5rem}
.header{padding:1rem 0;text-align:center;background:#fff;border-bottom:1px solid #eee}
.logo{max-width:260px;height:auto}
.container{max-width:960px;margin:1.5rem auto;padding:0 1rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}
.modal.hidden{display:none}
.modal-content{background:#fff;border-radius:1rem;min-width:min(90vw,540px);max-width:90vw;box-shadow:0 16px 60px rgba(0,0,0,.25);overflow:hidden}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1rem .5rem 1rem;border-bottom:1px solid #eee}
.modal-body{padding:1rem}
.modal-footer{padding:.75rem 1rem;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:.5rem}
.toast{position:fixed;right:1rem;bottom:1rem;z-index:1100}
.toast .toast-content{background:#fff;border:1px solid #ddd;border-radius:.75rem;padding:1rem;box-shadow:0 10px 30px rgba(0,0,0,.18);min-width:280px}
.toast ul{margin:.5rem 0 1rem 1rem;padding:0}
