
    /* LAYOUT */
    .login-station-wrapper {
        flex: 1;    
        width: 100%;
        min-height: 100vh;
        display: flex;
        align-items: center;        
        justify-content: center;
        background-color: #ffffff;
        padding: 20px;
        box-sizing: border-box;
    }

    /* VÉ */
    .vertical-pass {
        width: 360px; /* Thu gọn chiều ngang lại xíu cho xinh */
        background-color: #fff;
        border: 1px solid #E2E8F0;    
        box-shadow: 0 25px 50px -12px rgba(0, 4, 30, 0.15); 
        border-radius: 12px;
        overflow: hidden;
        position: relative;
    }

    /* HEADER */
    .pass-header {
        background-color: #000435;
        padding: 40px 30px 30px; /* Tăng padding trên để logo cân đối hơn */
        text-align: center;
    }

    .brand {
        font-family: 'FC-Azonix', sans-serif;
        font-size: 2.4rem; /* To hơn xíu cho nét */
        margin: 0;
        letter-spacing: 3px;
        color: #fff;
    }

    /* ĐƯỜNG XÉ */
    .rip-line-horizontal { position: relative; height: 0; }
    .dashed-line {
        border-top: 2px dashed #CBD5E1;
        position: absolute; left: 0; right: 0; top: -1px;
    }
    .notch-left, .notch-right {
        position: absolute; width: 20px; height: 20px;
        background-color: #ffffff;
        border-radius: 50%; top: -10px; z-index: 2;
        border: 1px solid #E2E8F0;
        clip-path: polygon(50% 0, 100% 0, 100% 100%, 50% 100%); 
    }
    .notch-left { left: -11px; transform: rotate(180deg); }
    .notch-right { right: -11px; }


    /* BODY */
    .pass-body {
        padding: 40px 40px 0px; /* Tăng padding trên để bù cho chỗ trống của tiêu đề */
    }

    /* INPUT & LABEL (Source Serif 4) */
    .input-group { margin-bottom: 25px; } /* Giãn khoảng cách các ô nhập */
    
    .input-group label {
        display: block;
        font-family: 'Source Serif 4', serif;
        font-size: 0.9rem;
        color: #64748B;
        margin-bottom: 8px;
        font-weight: 600;
        text-transform: uppercase; /* Viết hoa tiêu đề label cho gọn */
        letter-spacing: 0.5px;
    }

    .solaw-form input {
        width: 100%;
        padding: 8px 0;
        border: none;
        border-bottom: 1px solid #CBD5E1;
        font-family: 'Source Serif 4', serif;
        font-size: 1.15rem; /* Chữ nhập to rõ hơn */
        color: #0F172A;
        background: transparent;
        transition: 0.3s;
        border-radius: 0;
    }

    .solaw-form input:focus {
        outline: none;
        border-bottom: 2px solid #000435;
    }

    /* BUTTON (FC-Azonix) */
    .btn-stamp {
        font-weight: 700;
        width: 100%;
        padding: 18px; /* Nút dày hơn tí cho đã tay */
        background-color: #000435;
        color: #F1F5F9;
        border: none;
        border-radius: 4px;
        font-family: 'Gentium Book Plus', serif;
        font-size: 0.9rem;
        cursor: pointer;
        margin-top: 20px;
        transition: all 0.2s;
        letter-spacing: 1px;
    }
    
    .btn-stamp:hover {
        background-color: #0a0f4d;
        transform: translateY(-1px);
        box-shadow: 0 4px 10px rgba(0,4,53,0.2);
    }

    /* FOOTER */
    .pass-footer {
        margin-top: 30px;
        text-align: center;
        font-family: 'Source Serif 4', serif;
        font-size: 0.95rem;
        margin-bottom: 1rem;
    }
    
    .link-small { color: #94A3B8; text-decoration: none; }
    .link-small:hover { color: #000435; text-decoration: underline; }
    .register { font-weight: 600; color: #000435; }
    .dot { color: #E2E8F0; margin: 0 8px; }

    /* Alert */
    .error-alert {
        font-family: 'Source Serif 4', serif;
        background: #FEF2F2; color: #991B1B;
        padding: 10px; border-radius: 4px;
        margin-bottom: 25px; font-size: 0.9rem;
        text-align: center;
    }

    .barcode-strip {
        height: 6px;
        margin: 0 40px 30px;
        opacity: 0.1;
        background-image: repeating-linear-gradient(90deg, #000 0, #000 1px, transparent 1px, transparent 3px, #000 3px, #000 6px, transparent 6px, transparent 8px);
    }

    @media (max-width: 480px) {
        .vertical-pass { width: 100%; border: none; box-shadow: none; border-radius: 0; }
        .login-station-wrapper { padding: 0; background: #fff; }
        .notch-left, .notch-right { display: none; }
    }