@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');:root{--green:#096846;--dark:#073f30;--red:#f04459;--bg:#f3f6f5;--border:#e5eae8;--muted:#7c9089}*{box-sizing:border-box}body{margin:0;color:#183c30;background:var(--bg);font:13px Montserrat,Arial,sans-serif}a{color:var(--green);text-decoration:none}.side{position:fixed;inset:0 auto 0 0;width:230px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:26px 16px}.brand{font-size:20px;font-weight:600;color:var(--dark);white-space:nowrap}.brand b{font-weight:800}.mark{color:var(--red);font-size:30px;vertical-align:middle}.nav{margin-top:42px;display:grid;gap:8px}.nav a{padding:14px 18px;border-radius:11px;font-weight:700;color:#82978f}.nav a:hover,.nav a.sel{background:var(--green);color:#fff}.sfoot{margin-top:auto;font-size:10px;line-height:2;color:#94aaa1}.body{margin-left:230px;min-height:100vh}header{background:var(--dark);color:white;min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:12px 32px}.head-title{font-size:17px;font-weight:800}.right a{color:white;border:1px solid #ffffff6b;padding:9px 14px;border-radius:10px}main{padding:28px 32px;max-width:1680px;margin:auto}h1{font-size:25px;letter-spacing:-.6px;margin:0 0 12px}h2{font-size:17px}p{line-height:1.7;color:var(--muted)}.muted,small{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:23px;box-shadow:0 6px 20px #0c55400a}.card .num{font-size:34px;font-weight:800;color:var(--dark);margin-top:12px}.card small{font-weight:600}.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.btn,button{font-family:inherit;cursor:pointer;background:var(--green);color:white;border:0;border-radius:10px;padding:12px 17px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.secondary,button.secondary{background:#edf5f1;color:var(--green)}.btn.red,button.red{background:var(--red)}.btn.danger,button.danger{background:#fff0f1;color:#bd3547}input,select,textarea{width:100%;border:1px solid #dae4df;padding:13px 14px;border-radius:10px;font:inherit;color:#164532;background:white;outline:none}input:focus,select:focus,textarea:focus{border-color:#0f9661}label{display:block;font-size:11px;font-weight:700;color:#699080;margin-bottom:13px}label input,label select{margin-top:7px}table{width:100%;border-collapse:collapse}th{text-align:left;color:#82988f;font-size:11px}td,th{padding:15px 12px;border-bottom:1px solid #eef1ef;vertical-align:middle}td .actions{display:flex;gap:6px;flex-wrap:wrap}.pill{font-size:10px;font-weight:800;border-radius:30px;padding:6px 11px;background:#e6f8ed;color:#21845a}.pill.off{background:#ffe9ea;color:#cd4256}.code-preview{width:75px;height:75px}.toast{padding:14px;background:#e2f4e9;color:#12633d;border-radius:12px;margin-bottom:18px;font-weight:700}.error{background:#fff0f2;color:#bf4053;padding:13px;border-radius:9px}.login-page{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#063d2e,#148756)}.authbox{width:100%;max-width:470px;background:#fff;padding:35px;border-radius:18px;box-shadow:0 16px 60px #001e1240}.authbox h1{margin-top:25px}.authbox button{width:100%}.two{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qrstage{text-align:center;position:sticky;top:20px}.qrstage svg{width:100%;height:auto;max-width:270px;border:1px solid var(--border);border-radius:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.chart{width:100%;height:190px}.chart rect{fill:#14a573}.chart text{fill:#7c9089;font:10px Montserrat}.tablewrap{overflow:auto}.sub{margin:2px 0 22px}.statline{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}@media(max-width:850px){.side{position:static;width:auto;padding:15px}.nav{display:flex;margin-top:12px;overflow:auto}.nav a{white-space:nowrap;padding:10px}.sfoot{display:none}.body{margin-left:0}header{padding:15px}main{padding:16px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}.qrstage{position:static}}@media(max-width:520px){.grid,.formgrid{grid-template-columns:1fr}td,th{padding:9px 7px;font-size:11px}.card .num{font-size:26px}}
