/* web/panel_login.css — страница входа: логотип, поле кода и кнопка по центру на фирменном градиенте SOUND */
body { margin:0; display:grid; place-items:center; min-height:100dvh; padding:16px; box-sizing:border-box; }
.login { width:min(360px, calc(100vw - 32px)); box-sizing:border-box; display:grid; justify-items:center; gap:14px; padding:28px 22px; background:var(--glass-hi);
  border:1px solid var(--rule); border-radius:16px; box-shadow:var(--shadow); }
.login img { height:54px; width:auto; }
.login h1 { margin:0; font:700 18px/1.2 var(--f-display); }
.login form { display:grid; gap:10px; width:100%; }
.login label { font-size:13px; color:var(--ink-2); }
.login input { padding:11px 12px; font-size:16px; color:var(--ink); background:var(--btn); border:1px solid var(--rule); border-radius:10px; }
.login input:focus { outline:2px solid var(--ink); outline-offset:1px; }
.login button { padding:11px; font-weight:600; font-size:15px; background:var(--ink); color:var(--on-ink); border:0; border-radius:10px; cursor:pointer; }
.login p { min-height:1.2em; margin:0; font-size:13.5px; color:var(--gap); }
.who { display:grid; gap:8px; width:100%; text-align:center; }
.who p { margin:0; font-weight:600; color:var(--ink); }
.who div { display:flex; gap:8px; }
.who button { flex:1; padding:11px; font-weight:600; font-size:15px; background:var(--btn); color:var(--ink); border:1px solid var(--rule); border-radius:10px; cursor:pointer; }
.who button:hover { border-color:var(--ink); }
.who[hidden] { display:none; }       /* «Кто вы?» — только когда паролем пользуются несколько человек */
.login img { filter:invert(1); }    /* белый логотип SOUND на светлом фоне — чёрным */
