
:root{
    --bg1:#0f2027;
    --bg2:#203a43;
    --bg3:#2c5364;
    --box:#ffffff;
    --text:#333;
    --muted:#777;
    --primary:#2c5364;
}

body.light{
    --bg1:#e9eef2;
    --bg2:#dfe7ed;
    --bg3:#cfd9e2;
    --box:#ffffff;
    --text:#222;
    --muted:#666;
    --primary:#2c5364;
}

body{
    margin:0;
    font-family:'Segoe UI',Arial,Helvetica,sans-serif;
    background:linear-gradient(135deg,var(--bg1),var(--bg2),var(--bg3));
    height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--text);
}

.login-box{
    width:360px;
    background:var(--box);
    border-radius:12px;
    padding:32px;
    box-shadow:0 20px 40px rgba(0,0,0,.25);
    position:relative;
}

.logo{
    text-align:center;
    margin-bottom:14px;
}
.logo img{
    max-height:60px;
}

h2{
    text-align:center;
    margin:0 0 24px;
    letter-spacing:1px;
}

label{
    font-size:13px;
    color:var(--muted);
    display:block;
    margin-bottom:6px;
}

.input-group{
    position:relative;
}

input{
    width:100%;
    padding:10px 40px 10px 12px;
    border-radius:6px;
    border:1px solid #ccc;
    font-size:14px;
    margin-bottom:16px;
    box-sizing:border-box;
}

input:focus{
    border-color:var(--primary);
    outline:none;
}

.toggle-pass{
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    cursor:pointer;
    font-size:14px;
    color:#555;
    user-select:none;
}

button{
    width:100%;
    padding:12px;
    border:none;
    border-radius:6px;
    background:var(--primary);
    color:#fff;
    font-size:14px;
    cursor:pointer;
    letter-spacing:1px;
}

button.loading{
    opacity:.7;
    pointer-events:none;
}

.error{
    background:#ffecec;
    color:#b00020;
    padding:10px;
    border-radius:6px;
    font-size:13px;
    margin-bottom:16px;
    text-align:center;
}

.footer{
    margin-top:18px;
    font-size:11px;
    text-align:center;
    color:var(--muted);
}

.top-actions{
    position:absolute;
    top:10px;
    right:12px;
    display:flex;
    gap:8px;
}

.action-btn{
    font-size:12px;
    cursor:pointer;
    padding:4px 6px;
    border-radius:4px;
    background:#eee;
}