/* PanelMH — styl wg MEX Global UI Standard (global.md). Granat #1a2744. */
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:#212529; background:#fff; font-size:14px; }
a { color:#1e2d5e; text-decoration:none; }

/* pasek środowiska (kolor konfigurowany w Ekosystem) */
.mex-envstrip { width:100%; text-align:center; color:#fff; font-size:12px; font-weight:700; letter-spacing:.6px; padding:3px 0; }

/* layout */
.mex-shell { display:flex; min-height:100vh; }
.mex-sidebar { width:212px; background:#1a2744; color:#fff; flex:0 0 212px; display:flex; flex-direction:column; }
.mex-main { flex:1; display:flex; flex-direction:column; min-width:0; }

/* navbar */
.mex-navbar { background:#1a2744; color:#fff; height:52px; display:flex; align-items:center; justify-content:space-between; padding:0 20px; }
.mex-navbar .brand { font-weight:700; font-size:16px; color:#fff; }
.mex-navbar .brand .sep { color:#8899aa; font-weight:400; }
.mex-navbar .right { display:flex; align-items:center; gap:14px; font-size:13px; }
.mex-navbar .right .email { color:#c9d3e6; }
.mex-navbar .right a { color:#fff; opacity:.9; }
.mex-navbar .right a:hover { opacity:1; text-decoration:underline; }
.mex-btn-logout { border:1px solid #ffffff66; color:#fff; padding:5px 12px; border-radius:6px; background:transparent; cursor:pointer; font-size:13px; }
.mex-btn-logout:hover { background:#243560; }

/* sidebar */
.mex-envbox { text-align:center; color:#fff; font-size:11px; font-weight:700; letter-spacing:.6px; line-height:1.35; padding:10px 12px; }
.mex-logo { padding:14px 18px 2px; font-weight:800; font-size:19px; color:#fff; letter-spacing:.3px; }
.mex-syslabel { padding:0 18px 12px; font-size:11px; color:#8899aa; border-bottom:1px solid #ffffff1a; }
.mex-menu { padding:6px 0; flex:1; overflow:auto; }
.mex-group { color:#8899aa; text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.6px; padding:14px 18px 6px; }
.mex-item { display:block; padding:9px 18px; color:#dfe5f0; font-size:14px; border-left:3px solid transparent; }
.mex-item:hover { background:#20325a; color:#fff; }
.mex-item.active { background:#243560; color:#fff; font-weight:600; border-left:3px solid #ffffff; padding-left:15px; }
.mex-sidefoot { padding:12px 18px; border-top:1px solid #ffffff1a; font-size:12px; color:#c9d3e6; }
.mex-sidefoot form { margin-top:6px; }
.mex-sidefoot .lgt { background:none; border:none; color:#fff; text-decoration:underline; cursor:pointer; padding:0; font-size:12px; }

/* content */
.mex-content { padding:22px 26px; flex:1; }
.mex-h1 { color:#1e2d5e; font-size:24px; font-weight:700; margin:0 0 4px; }
.mex-count { color:#6c757d; font-size:13px; margin-bottom:16px; }

/* buttons */
.mex-btn { display:inline-block; background:#1a2744; color:#fff; border:none; padding:9px 16px; border-radius:6px; font-weight:600; font-size:14px; cursor:pointer; }
.mex-btn:hover { background:#243560; color:#fff; }
.mex-btn-outline { display:inline-block; background:#fff; color:#495057; border:1px solid #ced4da; padding:7px 13px; border-radius:6px; font-size:13px; cursor:pointer; }
.mex-btn-outline:hover { background:#e9ecef; }
.mex-btn-danger { background:#dc3545; color:#fff; border:none; padding:9px 16px; border-radius:6px; font-weight:600; cursor:pointer; }

/* filtry */
.mex-filters { background:#f8f9fa; border:1px solid #e9ecef; border-radius:8px; padding:14px 16px; margin-bottom:16px; display:flex; gap:16px; align-items:flex-end; flex-wrap:wrap; }
.mex-filters .f label { display:block; font-weight:600; font-size:13px; margin-bottom:4px; }

/* pola */
.mex-input, .mex-select { padding:8px 10px; border:1px solid #ced4da; border-radius:6px; font-size:14px; min-width:200px; }
.mex-input:focus, .mex-select:focus { outline:none; border-color:#1a2744; }
.mex-check { width:16px; height:16px; }
.mex-color { width:64px; height:40px; min-width:0; padding:2px; border:1px solid #ced4da; border-radius:6px; cursor:pointer; }

/* tabela */
.mex-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #e9ecef; border-radius:8px; overflow:hidden; }
.mex-table th { text-transform:uppercase; font-size:11px; letter-spacing:.4px; color:#495057; text-align:left; padding:11px 12px; border-bottom:2px solid #e9ecef; }
.mex-table td { padding:10px 12px; border-bottom:1px solid #f0f2f5; }
.mex-table tr:nth-child(even) td { background:#f8f9fa; }
.mex-table tr:hover td { background:#e9ecef; }
.mex-actions-cell { white-space:nowrap; text-align:right; }
.mex-actions-cell a, .mex-actions-cell button { margin-left:6px; }
.mex-empty { padding:26px; text-align:center; color:#6c757d; }

/* formularz */
.mex-form { max-width:720px; }
.mex-field { margin-bottom:16px; }
.mex-field label { display:block; font-weight:600; font-size:14px; margin-bottom:5px; }
.mex-field .help { color:#6c757d; font-size:12px; margin-top:4px; }
.mex-field .err { color:#dc3545; font-size:12px; margin-top:4px; }
.mex-form-actions { margin-top:22px; display:flex; gap:10px; }

/* komunikaty */
.mex-msg { padding:10px 14px; border-radius:6px; margin-bottom:14px; font-size:14px; }
.mex-msg.success { background:#e6f4ea; color:#1e7e34; border:1px solid #b7dfc3; }
.mex-msg.error { background:#fdecea; color:#b02a37; border:1px solid #f5c2c7; }
.mex-msg.info, .mex-msg.warning { background:#eef2f7; color:#1e2d5e; border:1px solid #d3dcea; }

/* dashboard */
.mex-tiles { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:22px; }
.mex-tile { background:#fff; border:1px solid #e9ecef; border-radius:10px; padding:18px 20px; min-width:210px; }
.mex-tile .lbl { color:#6c757d; font-size:13px; }
.mex-tile .val { color:#1e2d5e; font-size:30px; font-weight:700; margin-top:4px; }

/* sekret (onboarding) */
.mex-secret { background:#f8f9fa; border:1px solid #e9ecef; border-radius:8px; padding:12px 14px; font-family:ui-monospace,monospace; font-size:13px; word-break:break-all; margin:6px 0 14px; }
.mex-info { background:#eef2f7; border:1px solid #d3dcea; color:#1e2d5e; border-radius:8px; padding:12px 14px; margin-bottom:16px; font-size:13px; }

/* login */
.mex-login-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; background:#eef1f5; }
.mex-login-card { width:390px; background:#fff; border-radius:12px; box-shadow:0 8px 30px #0000001a; overflow:hidden; }
.mex-login-head { background:#1a2744; color:#fff; padding:22px 26px; }
.mex-login-head .t { font-size:20px; font-weight:700; }
.mex-login-head .s { font-size:12px; color:#8899aa; margin-top:3px; }
.mex-login-body { padding:24px 26px; }
.mex-login-body .mex-field label { font-size:13px; }
.mex-login-body .mex-input { width:100%; min-width:0; }
.mex-login-body input[type=text], .mex-login-body input[type=password] { width:100%; padding:9px 10px; border:1px solid #ced4da; border-radius:6px; font-size:14px; }
.mex-login-body input:focus { outline:none; border-color:#1a2744; }
