
:root{
    --brand:#7cab18;
    --brand-dark:#5f8a13;
    --ink:#312d28;
    --muted:#726b60;
    --bg:#f4f1e8;
    --card:#fffdf8;
    --border:#e3d8c2;
    --shadow:0 18px 42px rgba(66,53,32,.10);
    --radius:24px;
    --success:#466d15;
    --danger:#a1432f;
}
*{box-sizing:border-box;}
body.auth-page{margin:0;font-family:Georgia,"Times New Roman",serif;background:linear-gradient(180deg,#f0ede4 0%,#f6f2e8 100%);color:var(--ink);min-height:100vh;}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.04fr .96fr;}
.auth-panel,.auth-side{padding:56px;display:flex;flex-direction:column;justify-content:center;}
.auth-brand{margin-bottom:30px;}
.auth-brand a{text-decoration:none;display:flex;flex-direction:column;gap:4px;}
.auth-brand-mark{color:#5b5145;font-size:2rem;font-weight:700;letter-spacing:-.03em;}
.auth-brand-subtitle{font:12px/1 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#999182;}
.auth-title{font-size:3rem;line-height:1.03;margin:0 0 12px;color:#4d4338;}
.auth-subtitle{font:17px/1.75 Arial,Helvetica,sans-serif;color:var(--muted);margin:0 0 30px;max-width:620px;}
.auth-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;max-width:560px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-group{margin-bottom:18px;}
label{display:block;font:700 13px/1.4 Arial,Helvetica,sans-serif;margin-bottom:8px;color:#5b5246;text-transform:uppercase;letter-spacing:.04em;}
input[type="text"],input[type="email"],input[type="password"]{width:100%;padding:14px 15px;border:1px solid #d8cdb8;border-radius:14px;font:15px/1.5 Arial,Helvetica,sans-serif;background:#fffefb;color:#111827;outline:none;transition:border-color .2s ease, box-shadow .2s ease;}
input:focus{border-color:#86b81f;box-shadow:0 0 0 4px rgba(124,171,24,.14);}
.auth-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:14px 0 22px;flex-wrap:wrap;}
.checkbox-wrap{display:flex;align-items:center;gap:10px;font:14px/1.5 Arial,Helvetica,sans-serif;color:var(--muted);}
.btn-primary{display:inline-flex;width:100%;align-items:center;justify-content:center;border:none;border-radius:14px;background:linear-gradient(180deg,#84b71a 0%,#679312 100%);color:#fff;padding:15px 20px;font:700 16px/1 Arial,Helvetica,sans-serif;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease;box-shadow:0 12px 24px rgba(103,147,18,.24);}
.btn-primary:hover{transform:translateY(-1px);}
.auth-link-row{margin-top:18px;text-align:center;color:var(--muted);font:14px/1.6 Arial,Helvetica,sans-serif;}
.auth-link-row a,.auth-actions a{color:var(--brand-dark);text-decoration:none;font-weight:700;}
.alert{border-radius:14px;padding:14px 16px;margin-bottom:18px;font:600 14px/1.5 Arial,Helvetica,sans-serif;}
.alert-error{background:#fdf0ec;border:1px solid #efc1b5;color:var(--danger);}
.alert-success{background:#eef8e7;border:1px solid #bed9a0;color:var(--success);}
.feature-panel{width:100%;max-width:520px;background:linear-gradient(145deg,rgba(255,255,255,.82) 0%,rgba(247,241,228,.92) 100%);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.95);border-radius:30px;padding:38px;box-shadow:var(--shadow);position:relative;overflow:hidden;}
.feature-panel::after{content:"";position:absolute;right:-28px;top:-28px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(124,171,24,.18) 0%,rgba(124,171,24,0) 72%);}
.feature-badge{display:inline-block;padding:8px 12px;border-radius:999px;background:#eef7df;color:var(--brand-dark);font:700 12px/1 Arial,Helvetica,sans-serif;margin-bottom:16px;text-transform:uppercase;letter-spacing:.06em;}
.feature-panel h2{margin:0 0 14px;font-size:2.2rem;line-height:1.1;color:#4b4237;position:relative;z-index:1;}
.feature-panel p{margin:0 0 20px;color:var(--muted);font:16px/1.75 Arial,Helvetica,sans-serif;position:relative;z-index:1;}
.feature-list{margin:0;padding-left:18px;color:var(--ink);font:15px/1.9 Arial,Helvetica,sans-serif;position:relative;z-index:1;}
@media (max-width:960px){.auth-shell{grid-template-columns:1fr;}.auth-side{padding-top:0;}.auth-panel,.auth-side{padding:28px 20px;}.auth-title{font-size:2.35rem;}.form-row{grid-template-columns:1fr;}}
