/* Тема входа DOMEO — единый стиль экосистемы (bauhaus-арт + карточка, Montserrat).
   Полностью кастомная: покрывает вход, ошибки, сообщения, сброс пароля. */
:root{--ink:#2B333C;--orange:#C66E2E;--orange-d:#AE5E26;--peach:#F4A35E;--rust:#B5673A;--gray:#C9C4BD;--paper:#FCFBF9;--line:#EAE4D8;--muted:#928c80;--good:#3f9d6a;--warn:#c9942b;}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:'Montserrat',system-ui,sans-serif;background:var(--paper);color:var(--ink);min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
a{color:inherit;text-decoration:none}
/* full-bleed bauhaus backdrop */
.art{position:absolute;inset:0;z-index:0}
.art svg{position:absolute;inset:0;width:100%;height:100%}
.veil{position:absolute;z-index:1;width:760px;height:760px;left:50%;top:50%;transform:translate(-50%,-50%);
  background:radial-gradient(closest-side,rgba(252,251,249,.96),rgba(252,251,249,.74) 55%,transparent 78%)}
.card{position:relative;z-index:2;width:420px;max-width:92vw;padding:46px 44px 38px;border-radius:24px;background:#fff;
  border:1px solid rgba(43,51,60,.06);box-shadow:0 40px 110px rgba(43,51,60,.16),0 6px 18px rgba(43,51,60,.06);
  text-align:center;animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
h1{font-weight:700;font-size:26px;letter-spacing:-.01em;margin-bottom:20px}
.logo{display:block;margin:0 auto 16px;width:133px;height:auto;animation:logoin .9s cubic-bezier(.2,.8,.2,1) both .05s}
@keyframes logoin{from{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}
.sub{font-weight:400;font-size:13.5px;color:#928c80;margin-bottom:30px}
form{text-align:left}
label{display:block;font-size:12px;font-weight:500;letter-spacing:.02em;color:#6f6a60;margin:0 0 7px 1px}
.field{margin-bottom:18px;position:relative}
.field i{position:absolute;left:15px;top:41px;color:#c2bcae;font-style:normal;font-size:16px;transition:.2s}
input[type=text],input[type=email],input[type=password],input:not([type]){width:100%;height:52px;padding:0 16px 0 42px;border-radius:13px;font-family:inherit;font-size:15px;color:var(--ink);background:#fdfcfa;border:1.5px solid var(--line);outline:none;transition:.2s}
input::placeholder{color:#c2bcae}
input:hover{border-color:#d8d1c2}
input:focus{border-color:var(--orange);background:#fff;box-shadow:0 0 0 5px rgba(198,110,46,.16);transform:translateY(-1px)}
.field:focus-within i{color:var(--orange);transform:scale(1.15)}
.btn{display:block;width:100%;height:53px;margin-top:8px;border:none;border-radius:13px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:.03em;color:#fff;background:var(--orange);position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s,background .18s;box-shadow:0 8px 20px rgba(198,110,46,.22);text-align:center;line-height:53px}
.btn span{position:relative;z-index:1}
.btn::after{content:"";position:absolute;top:0;left:-65%;width:45%;height:100%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);animation:shine 3.2s ease-in-out infinite}
@keyframes shine{0%,55%{left:-65%}100%{left:150%}}
.btn:hover{background:var(--orange-d);transform:translateY(-3px) scale(1.012);box-shadow:0 18px 38px rgba(198,110,46,.40)}
.btn:active{transform:translateY(-1px) scale(.995)}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
.btn.ghost::after{display:none}
.btn.ghost:hover{border-color:var(--orange);background:#fff;transform:translateY(-2px)}
.row{display:flex;justify-content:space-between;align-items:center;margin:17px 1px 0;font-size:13px;color:#928c80}
.row a{color:#928c80;text-decoration:none;transition:.18s;border-bottom:1px solid transparent}
.row a:hover{color:var(--orange);border-bottom-color:var(--orange)}
.chk{display:flex;align-items:center;gap:8px}.chk input{width:auto;height:auto;accent-color:var(--orange)}
.foot{position:absolute;bottom:24px;left:0;right:0;text-align:center;z-index:2;font-size:11px;letter-spacing:.28em;color:#c2bcae;text-transform:uppercase}
/* сообщения/алерты */
.alert{text-align:left;font-size:14px;font-weight:600;line-height:1.55;padding:14px 16px;border-radius:14px;margin-bottom:22px;border:1px solid transparent}
.alert-error{background:rgba(181,103,58,.10);border-color:rgba(181,103,58,.30);color:var(--rust)}
.alert-warning{background:#fff7e6;border-color:#e3bd72;color:#8a5a00;box-shadow:0 8px 22px rgba(201,148,43,.12)}
.alert-success{background:rgba(63,157,106,.12);border-color:rgba(63,157,106,.30);color:var(--good)}
.alert-info{background:rgba(43,51,60,.06);border-color:var(--line);color:var(--ink)}
.msg{text-align:left;font-size:14px;line-height:1.6;color:#44413c;margin-bottom:22px}
.info-x{margin-top:20px;font-size:13px;color:var(--muted);text-align:center}
.info-x a{color:var(--orange);border-bottom:1px solid transparent}
.info-x a:hover{border-bottom-color:var(--orange)}
/* motion */
.L{will-change:transform;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.breathe{transform-box:fill-box;transform-origin:center;animation:breathe 6.5s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.075)}}
.eclipse{transform-box:fill-box;transform-origin:center;animation:eclipse 9s ease-in-out infinite}
@keyframes eclipse{0%,100%{transform:translate(0,0)}50%{transform:translate(60px,26px)}}
.spin{transform-box:fill-box;transform-origin:center;animation:spin 32s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.spinr{transform-box:fill-box;transform-origin:center;animation:spin 46s linear infinite reverse}
.floaty{animation:floaty 7s ease-in-out infinite}@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}
.floaty2{animation:floaty 8.5s ease-in-out infinite reverse}
.sway{animation:sway 10s ease-in-out infinite}@keyframes sway{0%,100%{transform:translateX(0)}50%{transform:translateX(20px)}}
.dl{stroke-dasharray:1100;stroke-dashoffset:1100;animation:draw 1.5s ease forwards}@keyframes draw{to{stroke-dashoffset:0}}
.pop{transform-box:fill-box;transform-origin:center;animation:pop .85s cubic-bezier(.2,.8,.2,1) both}@keyframes pop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
.a1{animation-delay:.05s}.a2{animation-delay:.18s}.a3{animation-delay:.31s}.a4{animation-delay:.44s}.a5{animation-delay:.57s}.a6{animation-delay:.7s}.a7{animation-delay:.83s}.a8{animation-delay:.96s}
@media(max-width:560px){.veil{width:520px;height:520px}.card{padding:40px 26px 32px}.art{opacity:.5}}
