:root{--brand:#0b5d3b;--brand-2:#12834f;--brand-3:#1aa463;--accent:#e0a900;--accent-2:#f5c542;--bg:#eef2f0;--bg-2:#f7faf8;--card:#ffffff;--line:#e4eae7;--line-2:#eef3f0;--ink:#16241d;--muted:#6a7a72;--muted-2:#90a097;--ok:#15a05c;--ok-bg:#e6f7ee;--bad:#e23b4e;--bad-bg:#fdebed;--warn:#d98a00;--warn-bg:#fff6e3;--info:#2a78c2;--info-bg:#e8f2fc;--calc:#eaf6f0;--shadow:0 1px 2px rgba(16,40,30,.04), 0 6px 20px rgba(16,40,30,.06);--shadow-lg:0 10px 40px rgba(16,40,30,.12);--r:14px;--r-sm:9px;--font:"Inter","Segoe UI",Roboto,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 500px at 100% -10%,#e9f5ee 0%,transparent 60%),radial-gradient(900px 500px at -10% 110%,#eaf3ff 0%,transparent 55%),var(--bg);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#cdd8d2;border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#b6c4bc;background-clip:content-box}.topbar{background:linear-gradient(100deg,var(--brand) 0%,var(--brand-2) 60%,#0e6e44 100%);color:#fff;display:flex;align-items:center;gap:16px;padding:12px 20px;box-shadow:0 2px 16px #0b5d3b40;position:sticky;top:0;z-index:50}.logo{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,var(--accent-2),var(--accent));display:flex;align-items:center;justify-content:center;font-weight:800;color:#3a2e00;box-shadow:0 4px 12px #e0a90066;letter-spacing:-.5px}.brand h1{font-size:16px;margin:0;line-height:1.1;letter-spacing:.2px}.brand small{opacity:.82;font-size:11px}.spacer{flex:1}.lang{display:flex;gap:4px;background:#ffffff1f;padding:3px;border-radius:9px}.lang button{background:transparent;color:#fff;border:0;border-radius:6px;padding:5px 11px;cursor:pointer;font-size:12px;font-weight:600;transition:.15s}.lang button:hover{background:#ffffff1f}.lang button.active{background:#fff;color:var(--brand);box-shadow:0 2px 6px #00000026}.user{display:flex;align-items:center;gap:9px;font-size:13px}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#fff,#e6f0ea);color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 2px 8px #00000026}.linkbtn{background:#ffffff24;border:0;color:#fff;cursor:pointer;font-size:12px;padding:7px 12px;border-radius:8px;transition:.15s}.linkbtn:hover{background:#ffffff40}.wrap{display:flex;min-height:calc(100% - 66px)}.side{width:224px;background:linear-gradient(180deg,#0a4f33,#073venezia);background:linear-gradient(180deg,#0a4f33,#06351f);color:#bfe0cf;padding:16px 12px;flex-shrink:0}.side .grp{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#5e8a72;padding:16px 12px 7px;font-weight:700}.side a{display:flex;gap:11px;align-items:center;padding:11px 14px;color:#cbe6d8;text-decoration:none;font-size:13.5px;border-radius:10px;margin-bottom:2px;transition:.15s;font-weight:500}.side a:hover{background:#ffffff12;color:#fff}.side a.active{background:linear-gradient(100deg,#e0a9002e,#ffffff0f);color:#fff;font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}.side a span:first-child{font-size:16px;width:20px;text-align:center}main{flex:1;padding:22px 26px;overflow:auto;animation:fade .35s ease}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pagehead{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:18px}.pagehead h2{margin:0;font-size:23px;font-weight:750;letter-spacing:-.3px}.pagehead .sub{color:var(--muted);font-size:13px;margin-top:3px}.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);font-weight:600}.field select,.field input,.field>span+*{margin-top:4px}.field select,.field input{padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:13.5px;background:#fff;color:var(--ink);transition:.15s;box-shadow:0 1px 2px #00000005}.field select:focus,.field input:focus{outline:none;border-color:var(--brand-3);box-shadow:0 0 0 3px #1aa46324}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:18px;overflow:hidden;box-shadow:var(--shadow);transition:.2s}.card:hover{box-shadow:var(--shadow-lg)}.card .ch{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line-2);background:linear-gradient(180deg,#fcfdfd,#f7faf8)}.card .ch h3{margin:0;font-size:14px;font-weight:700;letter-spacing:.2px}.card .ch .hint{color:var(--muted);font-size:12px;margin-left:auto;font-weight:500}.card .cb{padding:8px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:18px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden;transition:.2s}.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.kpi:after{content:"";position:absolute;right:-26px;top:-26px;width:90px;height:90px;border-radius:50%;background:var(--kpi-tint,rgba(26,164,99,.1))}.kpi .kicon{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--kpi-tint,rgba(26,164,99,.12));position:relative;z-index:1}.kpi .klabel{color:var(--muted);font-size:12px;font-weight:600;margin-top:14px}.kpi .kvalue{font-size:25px;font-weight:800;letter-spacing:-.5px;margin-top:3px;line-height:1.1}.kpi .ksub{font-size:11.5px;color:var(--muted-2);margin-top:4px}.kpi .kvalue small{font-size:13px;font-weight:600;color:var(--muted)}table{border-collapse:collapse;width:100%;font-size:12.8px}th,td{padding:9px 11px;text-align:right;border-bottom:1px solid var(--line-2);white-space:nowrap}th{background:#f3f7f5;color:#42564c;font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;position:sticky;top:0;z-index:1}td:first-child,th:first-child{text-align:left}tbody tr{transition:.1s}tbody tr:hover td{background:#f4faf6}.tablescroll{overflow:auto;max-width:100%;border-radius:8px}td input{width:64px;text-align:right;border:1px solid transparent;border-radius:6px;padding:6px;font-size:12.8px;background:transparent;transition:.12s}td input:hover{border-color:var(--line)}td input:focus{border-color:var(--brand-3);outline:none;background:#fff;box-shadow:0 0 0 2px #1aa46324}td.calc{background:var(--calc);font-weight:700;color:var(--brand)}.agentcol{background:#fbfdfc}.neg{color:var(--bad)!important;font-weight:700}tfoot td{background:#eef4f1;font-weight:800;border-top:2px solid #d2e3da;position:sticky;bottom:0}.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width:1050px){.grid2,.grid-2{grid-template-columns:1fr}}.exp-row{display:grid;grid-template-columns:1fr 120px 32px;gap:8px;padding:7px 12px;align-items:center}.exp-row input,.exp-row select{padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:13px}.exp-row .amt{text-align:right}.exp-row button{border:0;background:var(--bad-bg);color:var(--bad);border-radius:8px;cursor:pointer;height:32px;font-weight:700}.addbtn{margin:8px 12px;padding:9px 14px;border:1px dashed var(--brand-3);background:#eef8f1;color:var(--brand);border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;transition:.15s}.addbtn:hover{background:#e2f3e8}.recon .rrow{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line-2);font-size:13px}.recon .rrow:last-child{border-bottom:0}.recon .rrow label{color:var(--muted);font-weight:500}.recon .rrow .v{font-weight:700;font-variant-numeric:tabular-nums}.recon .rrow input{width:140px;text-align:right;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:13px}.recon .rrow.total{background:var(--calc)}.diff{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-radius:11px;margin:12px;font-weight:800;font-size:14px}.diff.ok{background:var(--ok-bg);color:var(--ok)}.diff.bad{background:var(--bad-bg);color:var(--bad)}.btn{padding:11px 18px;border-radius:10px;border:0;font-size:13.5px;cursor:pointer;font-weight:700;transition:.15s;display:inline-flex;align-items:center;gap:6px}.btn:active{transform:translateY(1px)}.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.secondary:hover{background:#f4f7f5;border-color:#d3ddd7}.btn.primary{background:linear-gradient(100deg,var(--brand-2),var(--brand-3));color:#fff;box-shadow:0 4px 12px #12834f47}.btn.primary:hover{filter:brightness(1.06);box-shadow:0 6px 16px #12834f5c}.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand-3)}.btn.ghost:hover{background:#eef8f1}.btn:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 0 34px}.pill{font-size:10px;padding:3px 9px;border-radius:20px;background:var(--ok-bg);color:var(--ok);font-weight:800;text-transform:uppercase;letter-spacing:.4px}.badge{font-size:11px;padding:4px 10px;border-radius:20px;font-weight:700;display:inline-flex;align-items:center;gap:5px}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.info{background:var(--info-bg);color:var(--info)}.status{align-self:center;background:var(--warn-bg);color:var(--warn);border:1px solid #f0dca0;border-radius:20px;padding:6px 13px;font-size:12px;font-weight:700}.legend{display:flex;gap:16px;font-size:11px;color:var(--muted);padding:0 16px 12px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:5px}.sw{width:12px;height:12px;border-radius:3px;display:inline-block}.chart-wrap{padding:16px 18px}.barlist{display:flex;flex-direction:column;gap:11px;padding:16px 18px}.barlist .row{display:grid;grid-template-columns:130px 1fr 92px;align-items:center;gap:10px;font-size:12.5px}.barlist .row .lbl{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barlist .track{height:10px;background:#eef3f0;border-radius:5px;overflow:hidden}.barlist .fill{height:100%;border-radius:0 4px 4px 0;background:#0f6f43;transition:width .6s cubic-bezier(.2,.8,.2,1)}.barlist .val{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}.emptystate{padding:30px;text-align:center;color:var(--muted-2);font-size:13px}.login-wrap{display:flex;align-items:center;justify-content:center;height:100%;background:radial-gradient(800px 400px at 50% -10%,#dcf0e4,transparent 60%)}.login-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;width:360px;box-shadow:var(--shadow-lg)}.login-card .logo{width:48px;height:48px;margin-bottom:14px}.login-card h2{margin:0 0 4px;font-size:21px}.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:14px 0 5px;font-weight:600}.login-card input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px}.login-card input:focus{outline:none;border-color:var(--brand-3);box-shadow:0 0 0 3px #1aa46324}.login-card .btn{width:100%;margin-top:20px;justify-content:center}.err{color:var(--bad);font-size:13px;margin-top:12px;background:var(--bad-bg);padding:9px 12px;border-radius:8px}.toast{position:fixed;bottom:24px;right:24px;background:linear-gradient(100deg,var(--brand-2),var(--brand-3));color:#fff;padding:13px 20px;border-radius:11px;font-size:14px;font-weight:600;box-shadow:var(--shadow-lg);animation:slidein .3s ease;z-index:100}@keyframes slidein{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.skel{background:linear-gradient(90deg,#eef3f0 25%,#f6faf8,#eef3f0 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:6px;height:14px}@keyframes shimmer{to{background-position:-200% 0}}@media print{.topbar,.side,.controls,.actions,.addbtn,.lang,.linkbtn{display:none!important}main{padding:0}.card{box-shadow:none;border-color:#ccc;break-inside:avoid}body{background:#fff}}
