/* Стиль под кабинет app.bxcal.ru — тёмная тема, акцент #1adb8a, Golos Text */
:root{
  --bg:#0f0f13; --card:#1a1a21; --line:rgba(255,255,255,.10);
  --fg:#e8e8ee; --muted:#8b8b99; --accent:#1adb8a;
}
*{box-sizing:border-box}
body{
  margin:0; min-height:100vh; background:var(--bg); color:var(--fg);
  font-family:'Golos Text',-apple-system,Segoe UI,Roboto,sans-serif;
  display:flex; flex-direction:column;
}
header{
  display:flex; justify-content:space-between; align-items:center;
  padding:20px 28px; border-bottom:1px solid var(--line);
}
header h1{font-size:18px; font-weight:600; margin:0}
header .back{color:var(--muted); text-decoration:none; font-size:14px;
  border-bottom:1px dashed var(--line)}
header .back:hover{color:var(--fg)}
main{flex:1; display:flex; justify-content:center; align-items:center; padding:32px 16px}
.card{
  width:100%; max-width:460px;
  background:var(--card); border:1px solid var(--line);
  border-radius:14px; padding:24px;
}
h1{font-size:20px; font-weight:600; margin:0 0 16px}
.hint{color:var(--muted); font-size:13px; margin:0 0 16px}
label{display:block; margin-bottom:14px; font-size:13px; color:var(--muted)}
label.check{display:flex; align-items:center; gap:8px; margin-top:8px;
  font-size:14px; color:var(--fg)}
input,select{
  width:100%; padding:10px 12px; font-size:14px; color:var(--fg);
  border:1px solid var(--line); border-radius:10px; margin-top:6px;
  background:#12121a; font-family:inherit; transition:border-color .15s;
}
input:focus,select:focus{outline:none; border-color:var(--accent)}
select option{background:#1a1a21; color:var(--fg)}
.q{display:inline-flex; align-items:center; justify-content:center;
  width:15px; height:15px; border-radius:50%; border:1px solid var(--line);
  font-size:10px; line-height:1; color:var(--muted); cursor:help; margin-left:4px;
  vertical-align:middle}
.q:hover{border-color:var(--accent); color:var(--accent)}
/* заполненное валидное поле — зелёная галочка справа (без белого фона) */
input:not([type=checkbox]):not(:placeholder-shown):valid{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231adb8a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center; background-size:15px;
  padding-right:34px;
}
/* autofill Chrome не должен красить поле белым — держим тёмный фон */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--fg);
  -webkit-box-shadow:0 0 0 1000px #12121a inset;
  caret-color:var(--fg);
}
.clear-btn{display:block; width:100%; margin-top:10px; text-align:center}
label.check input{width:auto; margin:0; accent-color:var(--accent)}
button,.btn{
  display:inline-block; padding:11px 22px; font-size:14px; font-weight:600;
  border:1px solid var(--line); border-radius:10px; background:transparent;
  cursor:pointer; text-decoration:none; color:var(--fg);
  font-family:inherit; transition:.15s; text-align:center;
}
button,.btn.primary{background:var(--accent); color:#0f0f13; border-color:var(--accent)}
button:hover,.btn.primary:hover{filter:brightness(1.08)}
.btn:not(.primary):hover{border-color:var(--accent); color:var(--fg)}
button{width:100%; margin-top:8px}
.error{color:#ff6b6b; background:rgba(255,107,107,.10); padding:10px 12px;
  border-radius:10px; font-size:14px; margin-bottom:8px}
.preview{display:flex; justify-content:center; padding:8px 0}
.preview img{
  width:220px; height:auto; border-radius:10px; background:#fff;
  padding:6px; box-shadow:0 4px 16px rgba(0,0,0,.4);
}
.actions{display:flex; gap:12px; margin-top:20px}
.actions .btn{flex:1}
