.form-card{
    position:relative;
    overflow:hidden;
    padding:26px;
    background:
        linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    border:1px solid #e5e7eb;
    border-radius:24px;
    box-shadow:
        0 18px 46px rgba(15,23,42,.08),
        inset 0 1px 0 rgba(255,255,255,.75);
}

.form-card:before{
    content:"";
    position:absolute;
    left:26px;
    right:26px;
    top:20px;
    height:5px;
    border-radius:999px;
    background:linear-gradient(90deg,#2563eb,#facc15);
    opacity:.32;
}

.form-card label{
    position:relative;
    z-index:1;
    display:block;
    margin:16px 0 0;
    color:#0f172a;
    font-size:14px;
    line-height:1.25;
    font-weight:900;
    letter-spacing:-.01em;
}

.form-card label:first-of-type{
    margin-top:18px;
}

.form-card input,
.form-card textarea,
.form-card select{
    display:block;
    width:100%;
    min-height:46px;
    margin-top:8px;
    padding:12px 13px;
    background:#ffffff;
    border:1px solid #dbe3ef;
    border-radius:14px;
    color:#111827;
    font:inherit;
    font-weight:600;
    outline:none;
    box-shadow:0 8px 18px rgba(15,23,42,.035);
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.form-card textarea{
    min-height:132px;
    resize:vertical;
    line-height:1.55;
}

.form-card input:focus,
.form-card textarea:focus,
.form-card select:focus{
    border-color:#2563eb;
    background:#ffffff;
    box-shadow:
        0 0 0 4px rgba(37,99,235,.12),
        0 12px 26px rgba(37,99,235,.08);
}

.form-card input::placeholder,
.form-card textarea::placeholder{
    color:#94a3b8;
}

.form-card button,
.form-card .btn{
    margin-top:18px;
}

.alert{
    margin:0 0 16px;
    padding:13px 15px;
    border:1px solid #dbe3ef;
    border-radius:14px;
    background:#ffffff;
    color:#0f172a;
    font-weight:800;
    box-shadow:0 12px 28px rgba(15,23,42,.06);
}

.alert.success{
    border-color:#bbf7d0;
    background:#f0fdf4;
    color:#166534;
}

.alert.error{
    border-color:#fecaca;
    background:#fef2f2;
    color:#991b1b;
}

.hp{
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}
