/* Warjan base components (plain CSS; Tailwind CDN handles the utility classes) */
.input {
    display: block; width: 100%; box-sizing: border-box;
    border: 1px solid #cbd5e1; border-radius: .5rem; background: #fff;
    padding: .5rem .75rem; font-size: .95rem; line-height: 1.4;
}
.input:focus { outline: 2px solid #6366f1; outline-offset: 0; border-color: #6366f1; }
.input:disabled { color: #64748b; cursor: not-allowed; }
.input.is-invalid { border-color: #dc2626; }

.label { display: block; margin-bottom: .25rem; font-size: .875rem; font-weight: 500; color: #334155; }
.field-error { margin-top: .25rem; font-size: .8rem; color: #dc2626; }
.form-message { border: 1px solid #fecaca; background: #fef2f2; color: #b91c1c; border-radius: .5rem; padding: .5rem .75rem; font-size: .875rem; }

.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
    border: 1px solid transparent; border-radius: .5rem; padding: .5rem .9rem;
    font-size: .9rem; font-weight: 500; cursor: pointer; text-decoration: none; transition: background .15s;
}
.btn[disabled] { opacity: .6; cursor: not-allowed; }
.btn-sm { padding: .25rem .6rem; font-size: .8rem; }
.btn-primary { background: #4f46e5; color: #fff; }
.btn-primary:hover:not([disabled]) { background: #4338ca; }
.btn-secondary { background: #fff; color: #334155; border-color: #cbd5e1; }
.btn-secondary:hover:not([disabled]) { background: #f1f5f9; }
.btn-danger { background: #dc2626; color: #fff; }
.btn-danger:hover:not([disabled]) { background: #b91c1c; }

.card { background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }

/* Honeypot: off-screen, not display:none (some bots skip display:none fields) */
.hp-field { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

#toast-root { position: fixed; top: 1rem; right: 1rem; z-index: 50; display: flex; flex-direction: column; gap: .5rem; max-width: calc(100vw - 2rem); }
.toast { border-radius: .5rem; padding: .6rem .9rem; font-size: .875rem; color: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, .15); background: #334155; }
.toast-success { background: #16a34a; }
.toast-error { background: #dc2626; }
