/* Extracted component styles */
.input-primary {background:#1d1f23;color:#eee;border:1px solid #333;padding:.45rem .6rem;border-radius:6px;font:inherit;transition:border-color .15s,background .15s;}
.input-primary:focus {outline:1px solid #555;border-color:#555;}

button, .btn-primary, .btn-secondary, .btn-danger {font:inherit;cursor:pointer;}

/* Primary button */
.btn-primary {background:linear-gradient(135deg,#5851d8,#7b5dfa);color:#fff;padding:.55rem .95rem;border-radius:6px;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;border:1px solid #6c63e5;box-shadow:0 2px 4px rgba(0,0,0,.25);transition:background .2s,transform .15s;}
.btn-primary:hover {background:linear-gradient(135deg,#6a63e2,#8c6dfd);} 
.btn-primary:active {transform:translateY(1px);} 

/* Secondary */
.btn-secondary {background:#3a3f46;color:#ddd;padding:.55rem .9rem;border-radius:6px;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;border:1px solid #4a5058;transition:background .2s,color .2s;} 
.btn-secondary:hover {background:#474d55;color:#fff;} 

/* Danger */
.btn-danger {background:#b32626;color:#fff;padding:.5rem .9rem;border-radius:6px;text-decoration:none;border:1px solid #c23a3a;font-size:.8rem;display:inline-flex;align-items:center;gap:.35rem;transition:background .2s;} 
.btn-danger:hover {background:#c93737;} 

/* Generic button element fallback */
button {background:#2c3137;color:#eee;border:1px solid #3a4048;border-radius:6px;padding:.5rem .9rem;}
button:hover {background:#353b43;}
button:disabled {opacity:.55;cursor:not-allowed;}

/* Utility */
.w-100 {width:100%;}
.mt-sm {margin-top:.5rem;}
.mt-md {margin-top:1rem;}
