*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;height:100%}body{background:#f5f6f8;color:#222;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:#0366d6;text-decoration:none}button{cursor:pointer;border:1px solid #d0d4da;background:#fff;padding:6px 12px;border-radius:6px}button:hover{background:#f0f2f5}button.primary{background:#0366d6;color:#fff;border-color:#0366d6}button.primary:hover{background:#0257b8}input,select,textarea{padding:6px 8px;border:1px solid #d0d4da;border-radius:6px;font-size:14px;width:100%;background:#fff}label{display:block;margin:8px 0;font-size:13px;color:#555}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:#1f2937;color:#e5e7eb;padding:20px 16px;display:flex;flex-direction:column}.sidebar h2{margin:0 0 20px}.sidebar nav{display:flex;flex-direction:column;gap:6px;flex:1}.sidebar a{color:#cbd5e1;padding:8px 10px;border-radius:6px}.sidebar a.active,.sidebar a:hover{background:#374151;color:#fff}.sidebar .logout{margin-top:auto;background:transparent;color:#cbd5e1;border-color:#4b5563}.content{flex:1;padding:24px 32px;overflow:auto}h1{margin-top:0}.muted{color:#6b7280;font-size:13px}.err{background:#fee2e2;color:#991b1b;padding:8px 12px;border-radius:6px;margin:10px 0}.ok{background:#dcfce7;color:#166534;padding:8px 12px;border-radius:6px;margin:10px 0}.page-head{display:flex;justify-content:space-between;align-items:center}.page-head>div{display:flex;gap:8px}.filters{display:flex;gap:12px;margin:12px 0;flex-wrap:wrap}.filters>*{width:auto;min-width:180px}.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.tbl th,.tbl td{padding:8px 12px;text-align:left;border-bottom:1px solid #eef0f3;font-size:14px}.tbl th{background:#f9fafb;font-weight:600;font-size:12px;text-transform:uppercase;color:#6b7280}.tbl tr:last-child td{border-bottom:none}.tbl .sum-row{background:#fff7ed}.tbl .total-row{background:#eff6ff;font-weight:600}.pos{color:#166534}.neg{color:#991b1b}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0 24px}.kpi{background:#fff;padding:14px 16px;border-radius:8px;box-shadow:0 1px 3px #0000000f}.kpi-label{color:#6b7280;font-size:12px;text-transform:uppercase}.kpi-value{font-size:22px;font-weight:700;margin:4px 0}.kpi-diff{font-size:12px}.kpi-diff.pos{color:#166534}.kpi-diff.neg{color:#991b1b}.company-block{margin-bottom:24px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10}.modal{background:#fff;border-radius:10px;padding:20px 24px;width:min(560px,92vw);max-height:92vh;overflow:auto}.modal h2{margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh}.login-card{background:#fff;padding:28px 32px;border-radius:10px;width:min(380px,92vw);box-shadow:0 4px 16px #0000001a}.login-card h1{margin-top:0;font-size:22px}.login-card button{width:100%;margin-top:12px;background:#0366d6;color:#fff;border-color:#0366d6;padding:10px}
