:root{font-family:system-ui,sans-serif;color:#244c3d;background:#f3f5ed}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;padding:48px 20px;background:radial-gradient(ellipse at top left,#dce7d2,transparent 65%)}
.auth-card{max-width:500px;margin:auto;padding:42px;background:#fff;border:1px solid #dce3d6;border-radius:14px;box-shadow:0 18px 60px #244c3d0c}
.brand{font-size:13px;font-weight:700;text-decoration:none;letter-spacing:2px}
.brand span{font-weight:400;color:#83917b;font-size:10px}
.eyebrow{font-size:9px;letter-spacing:2px;margin-top:42px}
h1{font-family:Georgia,serif;font-size:36px;font-weight:400;letter-spacing:-1px;margin:16px 0}
p{font-size:13px;line-height:1.7;color:#73816d}
label{display:block;margin:20px 0 7px;font-size:12px;font-weight:600}
input{width:100%;padding:12px;border:1px solid #d7dfd1;border-radius:5px;font:inherit;font-size:14px}
input:focus{outline:2px solid #b9d0ad;border-color:#648b62}
button,.button{display:block;background:#285f48;color:#fff;border:0;border-radius:5px;padding:14px 18px;margin:26px 0 20px;width:100%;font:inherit;cursor:pointer;text-align:center;text-decoration:none}
button span{float:right}
a{color:#356749;font-size:13px}
small{font-size:11px;color:#73816d}
.error{padding:12px;background:#fff1ea;color:#8b3928;border-radius:5px}
.demo-table{border-collapse:collapse;width:100%;font-size:13px}
.demo-table td,.demo-table th{padding:12px 6px;border-bottom:1px solid #dce3d6;text-align:left}
@media(max-width:520px){body{padding:20px 12px}.auth-card{padding:28px 22px}}

body.auth-beach{background:linear-gradient(#163b4826,#163b4826),url('../img/beach.png') center center/cover fixed no-repeat}
.auth-beach .auth-card{background:#fdf8f84f;border-color:transparent;box-shadow:none}
