:root{--green: #2c5f45;--lgreen: #3f9e5f;--bg: #f6f5f2;--panel: #fff;--ink: #1c1f1d;--muted: #6b7570;--line: #dfe3de;--blue: #3db3f0;--warn: #b3701a;--danger: #b23b3b}*{box-sizing:border-box;margin:0}html,body{height:100%}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);line-height:1.45}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.app{display:flex;min-height:100vh}.side{width:210px;background:var(--green);color:#fff;padding:20px 0;flex-shrink:0}.side .brand{font-weight:800;font-size:18px;padding:0 20px 18px}.side .brand span{color:#bfe6cd}.side nav a{display:block;color:#dff0e6;padding:9px 20px;font-size:14px;border-left:3px solid transparent}.side nav a:hover{background:#ffffff14;text-decoration:none}.side nav a.active{background:#ffffff24;border-left-color:#bfe6cd;color:#fff;font-weight:600}.side .who{padding:16px 20px 0;font-size:12px;color:#bfe6cd;border-top:1px solid rgba(255,255,255,.15);margin-top:14px}.side .who button{margin-top:8px}.main{flex:1;padding:26px 30px;max-width:1200px}h1{font-size:24px;color:var(--green);margin-bottom:4px}h2{font-size:15px;color:var(--green);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}h3{font-size:14px;margin:14px 0 8px;color:var(--green)}.sub{color:var(--muted);font-size:13px;margin-bottom:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin-bottom:18px}label{display:block;font-size:13px;color:var(--muted);margin-top:10px}input,select,textarea{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:6px;font-size:14px;margin-top:3px;background:#fff;font-variant-numeric:tabular-nums}input[type=checkbox]{width:auto;margin:0 6px 0 0}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}@media (max-width: 720px){.row,.row3{grid-template-columns:1fr}}button{background:var(--green);color:#fff;border:0;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer}button:hover{background:#24503a}button.ghost{background:#fff;color:var(--green);border:1px solid var(--line)}button.danger{background:#fff;color:var(--danger);border:1px solid var(--line)}button:disabled{opacity:.5;cursor:not-allowed}table{border-collapse:collapse;width:100%;font-size:13.5px;font-variant-numeric:tabular-nums}td,th{padding:7px 9px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}td.num,th.num{text-align:right;white-space:nowrap}tr.total td{font-weight:700;border-top:2px solid var(--green);border-bottom:none}tr.subrow td{color:var(--muted);font-size:12.5px}.table-wrap{overflow-x:auto}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}@media (max-width: 720px){.kpis{grid-template-columns:1fr}}.kpi{background:#eef4ef;border-radius:8px;padding:12px 14px}.kpi .l{font-size:12px;color:var(--muted)}.kpi .n{font-size:22px;font-weight:800;color:var(--green)}.note{font-size:12px;color:var(--muted);margin-top:8px}.warn{color:var(--warn);font-size:12.5px;margin-top:6px}.err{color:var(--danger);font-size:13px;margin-top:8px}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11.5px;font-weight:600}.badge.draft{background:#eee;color:#555}.badge.sent{background:#dcedfb;color:#1c6ea4}.badge.won{background:#d9f0e0;color:#1f7a44}.badge.lost{background:#fbe0e0;color:#a33}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.spacer{flex:1}.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tabs button{background:#fff;color:var(--green);border:1px solid var(--line)}.tabs button.active{background:var(--green);color:#fff}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%}.login-card{width:340px}@media print{.side,.toolbar,button,.no-print{display:none!important}.app{display:block}.main{max-width:100%;padding:0}.card{break-inside:avoid;border:1px solid #ccc}}.main.wide{max-width:none;padding:14px}
