@import url('reset.css');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

:root {
   --blue: #3390ec;
   --light-blue: #f3faff;
   --border: #c3d6e4;
   --placeholder: #a8b8c6;
   --dark-bg: #1c1c1e;
   --dark-card: #2c2c2e;
   --dark-text: #f2f2f7;
   --input-search-border-color: #dfe1e5;
}


body {
   font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
     Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
       font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI Emoji", "Noto Color Emoji", "Apple Color Emoji", sans-serif;

   background: white;
   display: flex;
   align-items: center;
   justify-content: center;
   height: 100vh;
   transition: background 0.3s ease;
}


.auth-box {
   background-color: white;
   padding: 40px 30px;
   border-radius: 16px;
   max-width: 400px;
   width: 100%;
   height: 800px;
   animation: fadeIn 0.4s ease-in-out;
}

@keyframes fadeIn {
   from {
      opacity: 0;
      transform: translateY(20px);
   }
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

.logo {
   text-align: center;
   margin-bottom: 24px;
}

.logo img {
   width: 150px;
   height: auto;
}

.title {
   padding-top: 30px;
   text-align: center;
   font-size: 2rem;
   font-weight: 600;
   color: #111827;
   margin-bottom: 6px;
}

.subtitle {
   text-align: center;
   font-size: 14px;
   color: #707579;
   margin-bottom: 24px;
}

.telegram-button {
   width: 100%;
   background: linear-gradient(to right, #33a8ff, #218afc);
   color: white;
   border: none;
   height: 55px;
   font-size: 14px;
   font-weight: 600;
   letter-spacing: 0.5px;
   border-radius: 10px;
   cursor: pointer;
   transition: background 0.2s ease;
   text-transform: uppercase;
}

.telegram-button:hover {
   background: linear-gradient(to right, #299dfb, #187ae0);
}

.floating-input {
   position: relative;
   margin-bottom: 20px;
}

.floating-input input {
   width: 100%;
   padding: 12px 12px 12px;
   font-size: 16px;
   border: 1.5px solid var(--input-search-border-color);
   border-radius: 8px;
   outline: none;
   transition: border-color 0.3s;
   background: white;
}

.floating-input label {
   position: absolute;
   left: 13px;
   top: 12px;
   color: var(--input-search-border-color);
   font-size: 16px;
   background: white;
   padding: 0 4px;
   pointer-events: none;
   transition: 0.2s ease all;
}

/* Только когда input в фокусе */
.floating-input input:focus {
   border-color: #1e90ff;
}

.floating-input input:focus + label {
   top: -10px;
   font-size: 13px;
   color: #1e90ff;
}

/* Только поднимаем label, но цвет не меняем */
.floating-input input:not(:placeholder-shown) + label {
   top: -10px;
   font-size: 13px;
}

.floating-select {
   margin-top: 30px;
   position: relative;
   margin-bottom: 20px;
}

.floating-select label {
   position: absolute;
   left: 13px;
   top: -10px;
   color: var(--input-search-border-color);
   font-size: 13px;
   background: white;
   padding: 0 4px;
   pointer-events: none;
   transition: 0.2s ease all;
   z-index: 1;
}

.floating-select select {
   width: 100%;
   padding: 15px 15px 15px;
   font-size: 16px;
   border: 1.5px solid var(--input-search-border-color);
   border-radius: 8px;
   outline: none;
   font-family: "Inter", sans-serif;
   background: white;
   appearance: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg fill='%23666' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-position: right 10px center;
   background-size: 16px 16px;
   color: #111827;
}

/* ПРИ ФОКУСЕ ВНУТРИ БЛОКА — рамка и лейбл синие */
.floating-select:focus-within select {
   border-color: #1e90ff;
}

.floating-select:focus-within label {
   color: #1e90ff;
   top: -10px;
   font-size: 13px;
}

/* ЕСЛИ выбрано значение — label поднимается, но не синий */
.floating-select select:valid ~ label {
   top: -10px;
   font-size: 13px;
   color: var(--input-search-border-color);
}

.custom-select-wrapper {
   position: relative;
   font-family: "Inter", sans-serif;
   margin-bottom: 20px;
}

.custom-select-trigger {
   width: 100%;
   padding: 15px 15px 15px;
   font-size: 16px;
   border: 1.5px solid var(--input-search-border-color);
   border-radius: 8px;
   outline: none;
   font-family: "Inter", sans-serif;
   background: white;
   appearance: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg fill='%23666' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-position: right 10px center;
   background-size: 16px 16px;
   color: #111827;
}

.custom-select-wrapper.open .custom-select-trigger {
   border-color: #1e90ff;
}

.custom-select-trigger img {
   width: 20px;
   margin-right: 10px;
}

.custom-select-trigger .code {
   color: #888;
   margin-left: auto;
}

.custom-options {
   position: absolute;
   top: 100%;
   left: 0;
   right: 0;
   border-radius: 10px;
   background: white;
   box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
   z-index: 999;
   display: none;
   max-height: 300px;
   overflow-y: auto;
}

.custom-select-wrapper.open .custom-options {
   display: block;
}

.custom-option {
   padding: 10px 12px;
   display: flex;
   align-items: center;
   cursor: pointer;
   transition: background 0.2s;
}

.custom-option img {
   width: 20px;
   margin-right: 10px;
}

.custom-option span {
   margin-left: auto;
   color: #666;
}

.custom-option:hover {
   background: #f0f0f0;
}

.subtitle {
   margin-top: 15px;
   margin-bottom: 30px;
}



.file-preview {
   margin-top: 20px;
   display: flex;
   align-items: center;
   background-color: #f5f8fa; /* очень светлый голубой, почти белый */
   border: 1px solid #cfdcec; /* мягкий голубой */
   padding: 14px 18px;
   border-radius: 12px;
   margin-bottom: 20px;
   font-size: 15px;
   font-weight: 500;
   color: #2c3e50; /* спокойный темно-синий */
   box-shadow: 0 2px 6px rgba(44, 62, 80, 0.08);
   transition: box-shadow 0.3s ease, background-color 0.3s ease;
   cursor: default;
}

.file-preview:hover {
   box-shadow: 0 6px 12px rgba(44, 62, 80, 0.15);
   background-color: #e8f0fe; /* очень мягкий голубой при наведении */
}

.file-preview img {
   width: 26px;
   height: 26px;
   margin-right: 14px;
   filter: none; /* без теней, чтобы иконка была чистой */
   transition: transform 0.3s ease;
}

.file-preview:hover img {
   transform: scale(1.1);
}

.file-preview span {
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   max-width: 260px;
}


@media (max-width: 480px) {
  body {
    align-items: flex-start;
    justify-content: flex-start;
    height: auto;
    padding: 20px;
    background: #f9fbfd;
  }

  .auth-box {
    padding: 24px 16px;
    margin-top: 40px;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  }

  .logo img {
    width: 120px;
  }

  .title {
    font-size: 1.5rem;
  }

  .telegram-button {
    height: 50px;
    font-size: 13px;
  }

  .file-preview {
    padding: 12px 14px;
    font-size: 14px;
  }

  .file-preview img {
    width: 22px;
    height: 22px;
  }

  .floating-input input,
  .floating-select select,
  .custom-select-trigger {
    font-size: 15px;
    padding: 12px 12px;
  }

  .custom-option {
    font-size: 14px;
    padding: 10px;
  }

  .subtitle {
    font-size: 13px;
    margin-bottom: 20px;
  }
}
