:root { --navy:#2F3C7E; --coral:#F96167; --gold:#F9E795; --light:#F7F8FC; --gray:#5A6178; }
* { box-sizing:border-box; }
body { margin:0; font-family:'Segoe UI','Nirmala UI',system-ui,sans-serif; background:var(--light); color:#222; }
.topbar { display:flex; justify-content:space-between; align-items:center; background:var(--navy); color:#fff; padding:.7rem 1.2rem; flex-wrap:wrap; gap:.5rem; }
.topbar a { color:#fff; text-decoration:none; margin-left:.9rem; }
.topbar .brand { font-weight:700; font-size:1.15rem; margin:0; }
.lang-switch a.active { color:var(--gold); font-weight:700; }
.container { max-width:1000px; margin:1.5rem auto; padding:0 1rem; }
.card { background:#fff; border-radius:12px; padding:1.2rem 1.4rem; margin-bottom:1rem; box-shadow:0 2px 8px rgba(47,60,126,.08); }
h1,h2,h3 { color:var(--navy); }
.btn { display:inline-block; background:var(--navy); color:#fff !important; border:0; border-radius:8px; padding:.55rem 1.1rem; cursor:pointer; text-decoration:none; font-size:.95rem; }
.btn:hover { opacity:.9; }
.btn-coral { background:var(--coral); }
.btn-sm { padding:.3rem .7rem; font-size:.85rem; }
input,select,textarea { width:100%; padding:.55rem .7rem; margin:.25rem 0 .8rem; border:1px solid #cfd4e6; border-radius:8px; font:inherit; }
label { font-weight:600; color:var(--navy); }
table { width:100%; border-collapse:collapse; background:#fff; }
th,td { padding:.6rem .7rem; border-bottom:1px solid #e6e9f4; text-align:left; }
th { background:var(--navy); color:#fff; }
tr:nth-child(even) td { background:#f4f6fc; }
.alert { padding:.7rem 1rem; border-radius:8px; margin-bottom:1rem; }
.alert.ok { background:#e6f7ec; color:#186a3b; }
.alert.err { background:#fdecea; color:#b03a2e; }
.badge { display:inline-block; padding:.15rem .55rem; border-radius:99px; font-size:.8rem; }
.badge.pending { background:var(--gold); }
.badge.active { background:#d7f5e2; color:#186a3b; }
.progress-bar { background:#e6e9f4; border-radius:99px; height:12px; overflow:hidden; }
.progress-bar > div { background:var(--coral); height:100%; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1rem; }
.footer { text-align:center; color:var(--gray); padding:1.2rem; font-size:.85rem; }
.auth-card { max-width:430px; margin:2.5rem auto; }
