:root {
  --gold: #C99A3A; --gold-light: #E8C872; --dark-green: #163529; --green-light: #2A5540;
  --bg-main: #F7FAF8; --bg-card: #FFFFFF; --text-main: #1E293B; --text-muted: #64748B;
  --border: #E2E8F0; --danger: #EF4444; --radius: 12px; --transition: all 0.25s ease;
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI',sans-serif;}
body{background:var(--bg-main);color:var(--text-main);min-height:100vh;display:flex;}

.sidebar{width:260px;background:linear-gradient(180deg,var(--dark-green),#0F251C);color:white;position:fixed;height:100vh;box-shadow:0 4px 12px rgba(22,53,41,0.08);}
.sidebar-header{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,0.08);text-align:center;}
.sidebar-header h2{color:var(--gold);font-size:22px;}
.menu-item{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,0.8);padding:12px 24px;margin:4px 12px;border-radius:var(--radius);text-decoration:none;transition:var(--transition);}
.menu-item:hover{background:rgba(201,154,58,0.15);color:white;transform:translateX(3px);}
.menu-item.active{background:var(--gold);color:var(--dark-green);font-weight:600;}
.menu-divider{color:rgba(255,255,255,0.4);padding:12px 24px;font-size:12px;text-transform:uppercase;}
.logout{margin-top:auto;margin-bottom:24px;background:rgba(239,68,68,0.1);color:#FECACA;}
.logout:hover{background:var(--danger);color:white;}

.main-content{flex:1;margin-left:260px;padding:32px;}
h1{font-size:28px;color:var(--dark-green);margin-bottom:24px;}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px;}
.stat-card{background:white;padding:24px;border-radius:16px;border-left:5px solid var(--gold);transition:var(--transition);}
.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(22,53,41,0.12);}
.stat-card h2{color:var(--dark-green);font-size:32px;}
.card,.form-box,.table-box{background:white;padding:24px;border-radius:16px;margin-bottom:24px;box-shadow:0 1px 3px rgba(0,0,0,0.05);}
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;border:none;font-weight:600;cursor:pointer;text-decoration:none;transition:var(--transition);}
.btn-gold{background:var(--gold);color:var(--dark-green);}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-1px);}
.btn-green{background:var(--dark-green);color:white;}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;margin:8px 0;}
input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,154,58,0.15);}
table{width:100%;border-collapse:separate;border-spacing:0;border-radius:12px;overflow:hidden;}
th,td{padding:14px;text-align:left;border-bottom:1px solid var(--border);}
th{background:var(--dark-green);color:white;}
tr:hover td{background:#FAFBF9;}
.virtual-card{max-width:420px;background:linear-gradient(135deg,var(--dark-green),var(--green-light));border-radius:20px;padding:28px;color:white;box-shadow:0 8px 24px rgba(22,53,41,0.12);}
.virtual-card .logo{color:var(--gold);font-size:20px;font-weight:700;margin-bottom:40px;}
.auth-page{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dark-green),#2A5540);}
.auth-box{background:white;padding:40px;border-radius:16px;width:90%;max-width:420px;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,0.2);}
.auth-box h1{color:var(--dark-green);margin-bottom:8px;}
.auth-box button{width:100%;padding:12px;background:var(--gold);border:none;border-radius:8px;font-weight:bold;cursor:pointer;}
.error{background:#FEE;color:red;padding:8px;border-radius:6px;margin-bottom:10px;}
.ref-link span{flex:1;padding:10px;background:#F5F5F5;border-radius:6px;}
@media(max-width:768px){.sidebar{width:70px;}.sidebar-header h2,.menu-item span,.menu-divider{display:none;}.menu-item{justify-content:center;}.main-content{margin-left:70px;padding:20px;}}