:root{--g:#123f32;--g2:#205c49;--o:#ef6c2c;--bg:#eef2ef;--card:#fff;--muted:#6e7a75;--line:#d9dfdc;--ok:#2f7d5d;--bad:#b9473e;--cream:#f6f2e9;--shadow:0 12px 32px #00000010}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:#15211d}.hidden{display:none!important}button,input,select{font:inherit}.btn{border:0;background:var(--o);color:#fff;padding:12px 15px;border-radius:11px;font-weight:850;cursor:pointer}.btn.secondary{background:var(--g)}.btn.ghost{background:#fff;color:var(--g);border:1px solid var(--line)}.btn.sm{padding:8px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0d2e25,#164a3a 58%,#ef6c2c22)}.login-card{width:min(520px,100%);background:#fff;border-radius:24px;padding:34px;box-shadow:0 25px 70px #0004}.brand{font-size:32px;font-weight:900;color:var(--g)}.brand span{color:var(--o)}.tag{font-size:11px;letter-spacing:1.6px;color:var(--muted);margin:4px 0 26px}.field{display:grid;gap:7px;margin:13px 0}.field input,.field select{padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}.err{color:var(--bad);font-size:13px;margin-top:10px}.demo,.notice{margin-top:18px;background:#fff7ee;border:1px solid #f3d3bd;border-radius:13px;padding:13px;font-size:12px;line-height:1.6}.envpill,.pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#edf4f0;color:var(--g);font-size:11px;font-weight:900}.shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.side{background:linear-gradient(180deg,var(--g),#0c3026);color:#fff;padding:28px 22px;position:sticky;top:0;height:100vh}.side .brand{color:#fff}.nav a{display:block;color:#eaf2ee;text-decoration:none;padding:11px 10px;border-radius:10px;margin:3px 0;font-size:14px}.nav a:hover{background:#ffffff16}.profile{margin-top:25px;padding:14px;border:1px solid #ffffff2b;border-radius:13px;font-size:12px;background:#ffffff0d;line-height:1.5}.main{padding:34px 38px 55px}.top{display:flex;justify-content:space-between;gap:18px;align-items:center}.eyebrow{color:var(--o);font-weight:900;letter-spacing:.9px;font-size:12px}.title{font-size:38px;margin:5px 0 8px}.sub,.small{color:var(--muted);line-height:1.5}.small{font-size:13px}.badge{background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:999px;font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:var(--shadow)}.kpi{font-size:34px;font-weight:900}.progress,.bar{height:10px;background:#e9eeeb;border-radius:999px;overflow:hidden;margin:11px 0}.progress i,.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--o),#f39a5d);width:0;transition:.25s}.section{margin-top:34px}.course{display:flex;gap:14px;position:relative}.num{width:42px;height:42px;border-radius:12px;background:var(--cream);display:grid;place-items:center;font-weight:900;color:var(--g);flex:0 0 auto}.locked{opacity:.55}.locktag{position:absolute;right:14px;top:14px;font-size:11px;color:var(--muted)}.hero{margin-top:24px;padding:22px;border-radius:18px;background:linear-gradient(135deg,#163f33,#285e4c);color:#fff;display:flex;justify-content:space-between;gap:15px;align-items:center}.hero p{color:#dfeae5}.question{font-weight:900;margin:20px 0 10px}.opt{display:block;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--line);background:#fff;border-radius:10px;margin:8px 0;cursor:pointer}.exam-result{padding:14px;border-radius:12px;margin-top:14px}.pass{background:#eaf5ef;color:#205941}.fail{background:#fff0ee;color:#8e352f}.check label{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid #edf0ee}.cert{background:linear-gradient(135deg,#fffdf8,#f3eee3);border:1px solid #d9ccb3;position:relative;overflow:hidden}.cert:after{content:'AFS';position:absolute;right:-8px;bottom:-35px;font-size:95px;font-weight:900;color:#123f320b}.cert-name{font-size:28px;font-weight:900}.cert-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;padding:8px 10px;border:1px dashed #c9b99a;border-radius:8px;display:inline-block}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:11px;border-bottom:1px solid #edf0ee;text-align:left;font-size:13px}.version{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0ee}.simq{padding:16px;background:#f8faf9;border:1px solid var(--line);border-radius:12px;margin:12px 0}.lesson-list{padding-left:18px;line-height:1.8}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:20px;z-index:30}.modal-card{background:#fff;border-radius:18px;width:min(720px,100%);max-height:90vh;overflow:auto;padding:24px}.modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.footer{margin-top:28px;color:var(--muted);font-size:12px}.admin-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end}.sync-ok{color:#bde6cf}.sync-warn{color:#ffd5b8}@media(max-width:1000px){.shell{grid-template-columns:1fr}.side{position:relative;height:auto}.grid{grid-template-columns:1fr}.main{padding:22px}.top,.hero{flex-direction:column;align-items:flex-start}.admin-form{grid-template-columns:1fr}}@media print{.side,.top,.grid:not(.printkeep),.section:not(#certificate),.notice,.footer,.btn{display:none!important}.shell{display:block}.main{padding:0}#certificate{margin:0}.cert{border:2px solid #123f32;min-height:650px;padding:60px}}
