:root{
  --green:#00675f;
  --green-dark:#00574f;
  --ink:#082f2c;
  --muted:#6d7778;
  --line:#d8dddd;
  --light:#f7f8f7;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Segoe UI",Arial,sans-serif;background:#fff;color:var(--ink)}
body{height:100vh;min-height:100vh;overflow:hidden}
button,input{font:inherit}
.login-layout{height:100vh;min-height:100vh;display:grid;grid-template-columns:50% 50%;background:#fff;overflow:hidden}
.brand-panel{
  height:100vh;
  min-height:100vh;
  background-image:url('/login-visual.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-color:#004e49;
  overflow:hidden;
}
.brand-content{width:100%;height:100%}
.form-panel{display:flex;align-items:center;justify-content:center;padding:48px 5vw;background:linear-gradient(140deg,#fafafa 0%,#f2f4f3 100%)}
.login-card{
  width:min(600px,100%);
  background:rgba(255,255,255,.97);
  border:1px solid rgba(198,204,203,.95);
  border-radius:20px;
  box-shadow:0 18px 48px rgba(21,42,40,.10);
  padding:48px 50px 46px;
}
.kicker{font-size:14px;line-height:1;font-weight:800;letter-spacing:.055em;color:#0a6c61;margin-bottom:18px}
h1{margin:0;font-size:42px;line-height:1.08;letter-spacing:-.03em;color:#092e2b}
.subtitle{margin:16px 0 34px;color:#70797b;font-size:17px}
label{display:block;margin:0 0 10px 2px;font-size:16px;font-weight:700;color:#141a1a}
.field-wrap{position:relative;margin-bottom:28px}
input{
  width:100%;height:68px;border:1px solid #c9cece;border-radius:9px;background:#fff;
  padding:0 56px 0 58px;font-size:17px;color:#173b38;outline:none;transition:.15s ease;
}
input:focus{border-color:#6da29c;box-shadow:0 0 0 4px rgba(0,103,95,.07)}
input::placeholder{color:#8a9091}
.field-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:24px;color:#7d8485;z-index:2;line-height:1}.field-icon.lock{font-size:20px}
.show-password{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:transparent;color:#777f80;font-size:20px;cursor:pointer;border-radius:8px}
.show-password:hover{background:#f2f5f4}
.submit{width:100%;height:68px;border:0;border-radius:8px;background:linear-gradient(90deg,var(--green-dark),#006d63);color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:.15s ease;margin-top:2px}
.submit:hover{filter:brightness(.96)}.submit:disabled{opacity:.7;cursor:wait}
.message{display:none;margin-top:16px;padding:12px 14px;border-radius:8px;background:#fff0ee;color:#b3362c;font-size:13px;font-weight:650}.message.show{display:block}
@media(max-width:1000px){body{height:auto;overflow:auto}.login-layout{height:auto;min-height:100vh;grid-template-columns:1fr;overflow:visible}.brand-panel{height:430px;min-height:430px;background-size:cover;background-position:center center}.form-panel{padding:34px 22px}.login-card{padding:38px 32px}h1{font-size:36px}}.brand-panel{min-height:430px;background-size:cover}.form-panel{padding:34px 22px}.login-card{padding:38px 32px}h1{font-size:36px}}
@media(max-width:560px){.brand-panel{min-height:330px}.login-card{padding:30px 22px;border-radius:16px}h1{font-size:31px}.subtitle{font-size:15px}input,.submit{height:60px}}


