@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600&display=swap');
:root{--bg:#2C3A3A;--bg-deep:#1e2b2b;--bg-card:#324040;--orange:#E07D3C;--orange-lt:#f0935a;--gold:#B5A842;--gold-lt:#cfc056;--text:#e8e2d4;--text-muted:#9aada8;--border:rgba(181,168,66,.18);--radius:14px;--font-head:'DM Serif Display',Georgia,serif;--font-body:'DM Sans',system-ui,sans-serif;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;font-family:var(--font-body);background:var(--bg-deep);color:var(--text);}
.login-page{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;}
.login-left{background:var(--bg);display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px;position:relative;overflow:hidden;}
.login-left::before{content:'';position:absolute;bottom:-80px;right:-80px;width:480px;height:480px;background:radial-gradient(circle,rgba(224,125,60,.12) 0%,transparent 65%);pointer-events:none;}
.login-left::after{content:'';position:absolute;top:-60px;left:-60px;width:320px;height:320px;background:radial-gradient(circle,rgba(181,168,66,.1) 0%,transparent 65%);pointer-events:none;}
.login-logo img{height:44px;position:relative;z-index:1;}
.login-brand{position:relative;z-index:1;}
.login-brand__title{font-family:var(--font-head);font-size:2.4rem;line-height:1.2;margin-bottom:16px;}
.login-brand__title em{font-style:italic;color:var(--orange);}
.login-brand__desc{font-size:.95rem;color:var(--text-muted);line-height:1.7;max-width:340px;}
.login-brand__pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;}
.login-pill{background:rgba(181,168,66,.1);border:1px solid rgba(181,168,66,.2);border-radius:50px;padding:5px 14px;font-size:.8rem;color:var(--gold);}
.login-left__footer{font-size:.8rem;color:var(--text-muted);position:relative;z-index:1;}
.login-right{background:var(--bg-deep);display:flex;align-items:center;justify-content:center;padding:48px 40px;}
.login-box{width:100%;max-width:400px;}
.login-box__title{font-family:var(--font-head);font-size:1.9rem;margin-bottom:6px;}
.login-box__sub{font-size:.9rem;color:var(--text-muted);margin-bottom:36px;}
.form-group{margin-bottom:20px;}
.form-label{display:block;font-size:.82rem;font-weight:500;color:var(--text-muted);margin-bottom:8px;letter-spacing:.02em;}
.form-input{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;color:var(--text);font-family:var(--font-body);font-size:.95rem;transition:border-color .2s,box-shadow .2s;outline:none;}
.form-input::placeholder{color:var(--text-muted);opacity:.6;}
.form-input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(224,125,60,.15);}
.form-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;}
.form-check{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted);cursor:pointer;}
.form-check input{accent-color:var(--orange);}
.form-link{font-size:.85rem;color:var(--gold);transition:color .2s;}
.form-link:hover{color:var(--gold-lt);}
.btn-login{width:100%;padding:15px;background:var(--orange);color:#fff;border:none;border-radius:50px;font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s,transform .15s;box-shadow:0 4px 24px rgba(224,125,60,.3);}
.btn-login:hover{background:var(--orange-lt);box-shadow:0 8px 32px rgba(224,125,60,.45);transform:translateY(-1px);}
.login-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--text-muted);font-size:.82rem;}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.login-back{text-align:center;margin-top:24px;font-size:.85rem;color:var(--text-muted);}
.login-back a{color:var(--gold);}
.login-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);border-radius:10px;padding:12px 16px;font-size:.88rem;color:#f87171;margin-bottom:20px;display:none;}
.login-error.show{display:block;}
@media(max-width:768px){.login-page{grid-template-columns:1fr;}.login-left{display:none;}.login-right{padding:32px 24px;min-height:100svh;}}
