/* Login screen — same brand system as the dashboard */
.login-main{display:grid;place-items:center;min-height:calc(100vh - 220px);padding:24px 0}
.login-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:30px 28px;
  transition:background-color var(--t),border-color var(--t)}
.login-card .mark{width:44px;height:auto;color:var(--teal);display:block;margin-bottom:16px}
.login-card h1{font-size:20px;font-weight:700;margin:0 0 6px}
.login-card .sub{font-size:13.5px;color:var(--muted);font-weight:500;margin:0 0 22px}

.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:700;color:var(--txt-2);margin-bottom:7px}
.field input{width:100%;box-sizing:border-box;font-family:inherit;font-size:15px;color:var(--txt);
  background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);
  padding:12px 14px;transition:border-color var(--t),background-color var(--t)}
.field input:hover{border-color:var(--border-h)}
.field input:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--accent)}
.pw-wrap{position:relative}
.pw-wrap input{padding-inline-end:46px}
.pw-toggle{position:absolute;inset-block:0;inset-inline-end:6px;display:grid;place-items:center;
  width:36px;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:var(--r-sm)}
.pw-toggle:hover{color:var(--txt)}
.pw-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pw-toggle .eye-off{display:none}
.pw-wrap.shown .eye-off{display:block}
.pw-wrap.shown .eye{display:none}

.login-error{display:none;font-size:13px;font-weight:700;color:var(--st-exp-c);background:var(--st-exp-bg);
  border-radius:var(--r-md);padding:10px 13px;margin-bottom:16px}
.login-error.show{display:block}

.login-submit{width:100%;font-family:inherit;font-size:15px;font-weight:700;color:#fff;cursor:pointer;
  background:var(--teal);border:0;border-radius:999px;padding:13px 18px;box-shadow:var(--sh-sm);
  transition:background-color var(--t),transform var(--t)}
.login-submit:hover{background:var(--deep-teal)}
.login-submit:active{transform:scale(.985)}
.login-submit:disabled{opacity:.65;cursor:progress}

@media(max-width:620px){.login-card{padding:24px 20px}}
