@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

* {
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    width: 100%;
    background: #009579;
}

.container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* Qattiq piksel o'rniga — ekran kengligiga moslashadi, lekin 640px'dan
       oshmaydi (juda keng bo'lib ketmasligi uchun). Registration'da
       maydonlar yonma-yon (.form-row) joylashgani uchun kengroq kerak. */
    max-width: min(640px, 94vw);
    width: 100%;
    /* Balandligi ekrandan oshib ketsa (kichik noutbuk ekranlari) — kesilib
       qolmasin, o'zi ichida aylanadi. */
    max-height: 94vh;
    overflow-y: auto;
    background: #fff;
    border-radius: 7px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
}

.container .form {
    padding: 2rem;
}

.form header {
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 1.5rem;
}

.form input{
    height: 60px;
    width: 100%;
    padding: 0 15px;
    font-size: 17px;
    margin-bottom: 1.3rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    outline: none;
}

/* Ikkita maydonni yonma-yon joylashtirish uchun (username+email,
   password+confirmPassword) — balandlikni tejaydi. Tor ekranda
   (mobil) avtomatik pastma-past bo'lib qoladi. */
.form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 1.3rem;
}

.form-row input {
    flex: 1 1 220px;
    min-width: 200px;
    margin-bottom: 0;
}

/* Telefon raqam — bayroqli davlat tanlash widget'i (country-picker.js/css)
   + mahalliy raqam (input). Widget yopiq holatda faqat bayroq+kod
   ko'rsatgani uchun kam joy oladi, raqam maydoniga ko'proq joy qoladi. */
.phone-field {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 1.3rem;
}

.phone-field .country-picker .cp-toggle {
    height: 60px;
}

.phone-field input {
    flex: 1 1 180px;
    min-width: 160px;
    font-size: 15px;
    margin-bottom: 0;
}

.form .checkbox{
    width: 15px;
    height: 15px;
    margin-bottom: 40px;
}

.form label{
    font-size: 16px;
    color: #009579;
}

/* .form input{height:60px; margin-bottom:1.3rem} umumiy qoidasi checkbox'ga
   ham tegib, uni cho'zilgan va pastga siljigan qilib ko'rsatardi —
   margin-bottom olib tashlanmasa, align-items:center ishlamay qolardi
   (checkbox pastdan qo'shimcha joy egallagani uchun markazdan chetlashardi). */
.form input[type="checkbox"] {
    height: 16px;
    width: 16px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.form input:focus {
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);

}

.form a {
    font-size: 16px;
    color: #009579;
    text-decoration: none;
}

.form a:hover {
    text-decoration: underline;
}

.form input.button {
    background: #009579;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 1px;
    margin-top: 1.7rem;
    cursor: pointer;
    transition: 0.4s;
}

.form input.button:hover {
    background: #006653;
}

.signup {
    font-size: 17px;
    text-align: center;
}

.signup label {
    color: #009579;
    cursor: pointer;
}

.signup label:hover {
    text-decoration: underline;
}

.success-alert, .error-alert {
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #ffdddd;
    color: #a10000;
    padding: 12px 24px;
    border: 1px solid #ff5c5c;
    border-radius: 6px;
    font-weight: 500;
    z-index: 1000;
}

