:root{--brand:#0f5132;--brand2:#198754;--accent:#c79a00;--bg:#f4f6f5;--card:#fff;--line:#e3e8e5;--ink:#1f2a26;--muted:#6b7a72;--ok:#198754;--bad:#dc3545;--calc:#eef6f1}*{box-sizing:border-box}body,html,#root{margin:0;height:100%;font-family:Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}.topbar{background:var(--brand);color:#fff;display:flex;align-items:center;gap:16px;padding:10px 18px}.logo{width:40px;height:40px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:800;color:#1a1a00}.brand h1{font-size:16px;margin:0;line-height:1.1}.brand small{opacity:.85;font-size:11px}.spacer{flex:1}.lang{display:flex;gap:6px;font-size:12px}.lang button{background:#ffffff26;color:#fff;border:0;border-radius:6px;padding:6px 10px;cursor:pointer}.lang button.active{background:var(--accent);color:#1a1a00;font-weight:700}.user{display:flex;align-items:center;gap:8px;font-size:13px}.avatar{width:30px;height:30px;border-radius:50%;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:700}.linkbtn{background:transparent;border:0;color:#fff;cursor:pointer;font-size:12px;text-decoration:underline}.wrap{display:flex;min-height:calc(100% - 60px)}.side{width:210px;background:#0c3d27;color:#cfe6da;padding:14px 0;flex-shrink:0}.side a{display:flex;gap:10px;align-items:center;padding:11px 18px;color:#cfe6da;text-decoration:none;font-size:13px}.side a.active{background:#ffffff14;color:#fff;border-left:3px solid var(--accent);font-weight:600}.side a:hover{background:#ffffff0d}.side .grp{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#6f9685;padding:14px 18px 6px}main{flex:1;padding:18px 22px;overflow:auto}.pagehead{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:14px}.pagehead h2{margin:0;font-size:20px}.pagehead .sub{color:var(--muted);font-size:13px;margin-top:2px}.controls{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto;align-items:flex-end}.field{display:flex;flex-direction:column;font-size:11px;color:var(--muted)}.field select,.field input{margin-top:3px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;font-size:13px;background:#fff;color:var(--ink)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden}.card .ch{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fafcfb}.card .ch h3{margin:0;font-size:14px}.card .ch .hint{color:var(--muted);font-size:12px;margin-left:auto}.card .cb{padding:6px}table{border-collapse:collapse;width:100%;font-size:12.5px}th,td{padding:7px 8px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#f0f4f2;color:#33473e;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px}td:first-child,th:first-child{text-align:left}.tablescroll{overflow:auto;max-width:100%}td input{width:62px;text-align:right;border:1px solid transparent;border-radius:5px;padding:5px;font-size:12.5px;background:transparent}td input:hover{border-color:var(--line)}td input:focus{border-color:var(--brand2);outline:none;background:#fff;box-shadow:0 0 0 2px #1987541f}td.calc{background:var(--calc);font-weight:600;color:var(--brand)}.agentcol{background:#fbfdfc}.neg{color:var(--bad)!important}tfoot td{background:#eef3f0;font-weight:700;border-top:2px solid #cfe0d7}.grid2{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}@media (max-width:1100px){.grid2{grid-template-columns:1fr}}.exp-row{display:grid;grid-template-columns:1fr 120px 30px;gap:8px;padding:6px 12px;align-items:center}.exp-row input{padding:7px 9px;border:1px solid var(--line);border-radius:7px;font-size:13px}.exp-row .amt{text-align:right}.exp-row button{border:0;background:#fbe7e9;color:var(--bad);border-radius:6px;cursor:pointer;height:30px}.addbtn{margin:8px 12px;padding:8px 12px;border:1px dashed var(--brand2);background:#f1f8f4;color:var(--brand);border-radius:8px;cursor:pointer;font-size:13px}.recon .rrow{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);font-size:13px}.recon .rrow label{color:var(--muted)}.recon .rrow .v{font-weight:600;font-variant-numeric:tabular-nums}.recon .rrow input{width:130px;text-align:right;padding:7px 9px;border:1px solid var(--line);border-radius:7px;font-size:13px}.recon .rrow.total{background:#eef6f1}.diff{display:flex;justify-content:space-between;align-items:center;padding:14px;border-radius:10px;margin:10px 12px;font-weight:700}.diff.ok{background:#e7f6ee;color:var(--ok)}.diff.bad{background:#fdeaec;color:var(--bad)}.actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 0 30px}.btn{padding:11px 18px;border-radius:9px;border:0;font-size:14px;cursor:pointer;font-weight:600}.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.primary{background:var(--brand2);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.login-wrap{display:flex;align-items:center;justify-content:center;height:100%}.login-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;width:340px;box-shadow:0 10px 40px #0000000f}.login-card h2{margin:0 0 4px}.login-card p{color:var(--muted);font-size:13px;margin:0 0 18px}.login-card label{display:block;font-size:12px;color:var(--muted);margin:12px 0 4px}.login-card input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:14px}.login-card .btn{width:100%;margin-top:18px}.err{color:var(--bad);font-size:13px;margin-top:10px}.toast{position:fixed;bottom:20px;right:20px;background:var(--ok);color:#fff;padding:12px 18px;border-radius:10px;font-size:14px;box-shadow:0 6px 20px #00000026}
