*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f4f6f8;color:#1f2937}.centered{min-height:100vh;display:grid;place-items:center;padding:24px}.card{background:#fff;border:1px solid #dfe3e8;border-radius:14px;padding:24px;box-shadow:0 8px 30px rgba(0,0,0,.06)}.narrow{width:min(440px,100%)}h1{margin-top:0}label{display:block;font-weight:600;margin:12px 0 6px}input,textarea,select{width:100%;padding:10px 12px;border:1px solid #cfd6dd;border-radius:8px;font:inherit}textarea{min-height:110px}button,.button{display:inline-block;border:0;background:#1f6feb;color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none;cursor:pointer;font:inherit}.secondary{background:#64748b}.danger{background:#b42318}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#fff;border-bottom:1px solid #dfe3e8}.topbar nav{display:flex;gap:16px}.topbar a{text-decoration:none;color:#1f2937}.container{max-width:1350px;margin:0 auto;padding:24px}.row{display:flex;gap:12px;align-items:center}.between{justify-content:space-between}.search{display:flex;gap:10px;margin:16px 0}.search input{max-width:520px}.table-wrap{overflow:auto;background:#fff;border:1px solid #dfe3e8;border-radius:12px}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid #edf0f2;text-align:left;vertical-align:top}th{background:#f8fafc}.small{font-size:12px}.status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px}.status.active{background:#dcfce7;color:#166534}.status.blocked,.status.expired{background:#fee2e2;color:#991b1b}.alert{background:#fee2e2;color:#991b1b;padding:10px;border-radius:8px;margin:10px 0}.success{background:#dcfce7;color:#166534;padding:10px;border-radius:8px;margin:10px 0}.muted{color:#6b7280}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{margin:0}.full{grid-column:1/-1}.checkbox{display:flex;gap:8px;align-items:center}.checkbox input{width:auto}.actions{margin-top:14px}@media(max-width:800px){.form-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:12px}.topbar nav{flex-wrap:wrap}.search{flex-direction:column}}.inline-form{display:inline}.compact-actions{flex-wrap:wrap;min-width:260px}.mini{padding:7px 10px;font-size:12px}.secondary-link{background:#64748b;color:#fff}.success-btn{background:#15803d}.muted{font-size:12px;margin-top:4px}
