:root{--qz-blue:#0b2f6b;--qz-blue-2:#165bc2;--qz-cyan:#57b7ff;--qz-gray:#6c7788;--qz-bg:#eef5ff;--qz-card:rgba(255,255,255,.82);--qz-border:rgba(31,74,130,.13);--qz-shadow:0 24px 70px rgba(20,58,112,.16);--qz-radius:24px}*{box-sizing:border-box}body.qz-body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(71,163,255,.35),transparent 34%),linear-gradient(135deg,#f8fbff 0%,#eef5ff 43%,#dcecff 100%);color:#10223f;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.qz-shell{min-height:100vh;display:flex}.qz-sidebar{position:fixed;left:22px;top:22px;bottom:22px;width:286px;padding:18px;border:1px solid var(--qz-border);border-radius:var(--qz-radius);background:rgba(255,255,255,.68);box-shadow:var(--qz-shadow);backdrop-filter:blur(18px);z-index:30}.qz-brand{display:flex;gap:12px;align-items:center;margin-bottom:18px}.qz-brand-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;color:white;background:linear-gradient(135deg,var(--qz-blue),var(--qz-blue-2));box-shadow:0 12px 24px rgba(22,91,194,.25)}.qz-brand small{display:block;color:var(--qz-gray);font-size:.78rem}.qz-user-card{display:flex;gap:12px;align-items:center;padding:12px;border-radius:20px;background:rgba(238,245,255,.8);border:1px solid var(--qz-border);margin-bottom:16px}.qz-user-card small{display:block;color:var(--qz-gray);font-size:.76rem;word-break:break-all}.qz-avatar{min-width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#d7e9ff;color:var(--qz-blue);font-weight:800}.qz-nav{display:grid;gap:8px}.qz-nav-link{height:46px;display:flex;align-items:center;gap:12px;padding:0 14px;border-radius:16px;text-decoration:none;color:#263d63;border:1px solid transparent;transition:.18s ease}.qz-nav-link:hover,.qz-nav-link.active{background:#fff;color:var(--qz-blue);border-color:var(--qz-border);box-shadow:0 12px 24px rgba(20,58,112,.09);transform:none}.qz-nav-link i{width:22px;text-align:center}.qz-content-shell{width:100%;padding-left:330px}.qz-content-shell.qz-public{padding-left:0}.qz-topbar{position:sticky;top:18px;z-index:20;margin:22px 24px 0 0;min-height:68px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:22px;border:1px solid var(--qz-border);background:rgba(255,255,255,.74);box-shadow:0 14px 38px rgba(20,58,112,.11);backdrop-filter:blur(16px)}.qz-role{font-size:.78rem;font-weight:700;color:var(--qz-blue);background:#e2f0ff;border:1px solid #c8dfff;border-radius:999px;padding:7px 12px}.qz-main{padding:24px 24px 54px 0}.qz-public .qz-main{padding:0}.qz-footer{margin:0 24px 18px 0;text-align:center;color:var(--qz-gray);font-size:.82rem}.qz-page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.qz-page-head h1{font-size:1.65rem;margin:0;font-weight:800;color:#10223f}.qz-page-head p{margin:.25rem 0 0;color:var(--qz-gray)}.qz-card{border:1px solid var(--qz-border);border-radius:var(--qz-radius);background:var(--qz-card);box-shadow:var(--qz-shadow);backdrop-filter:blur(16px);padding:20px}.qz-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.qz-card-head h2{font-size:1rem;margin:0;font-weight:800}.qz-card-head span{font-size:.8rem;color:var(--qz-gray)}.qz-metric{display:grid;gap:4px;min-height:132px}.qz-metric i{font-size:1.35rem;color:var(--qz-blue-2)}.qz-metric span{color:var(--qz-gray);font-size:.88rem}.qz-metric strong{font-size:2rem;line-height:1;color:#10223f}.qz-table{margin:0}.qz-table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#60708b;border-bottom:1px solid var(--qz-border)}.qz-table td{border-color:rgba(31,74,130,.08)}.qz-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#e8f2ff;color:var(--qz-blue);font-size:.78rem;font-weight:700}.qz-btn-primary{background:linear-gradient(135deg,var(--qz-blue),var(--qz-blue-2));border:0;color:#fff;border-radius:14px;padding:.65rem 1rem;font-weight:800;box-shadow:0 14px 28px rgba(22,91,194,.22)}.qz-btn-primary:hover{color:#fff;filter:brightness(.97)}.qz-input{border-radius:14px;border-color:#d8e5f5;min-height:44px}.qz-input:focus{border-color:#79b7ff;box-shadow:0 0 0 .25rem rgba(47,126,255,.12)}.qz-alert{border-radius:18px;border:0;box-shadow:0 10px 28px rgba(20,58,112,.08)}.qz-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.qz-list li{display:flex;gap:10px;align-items:center;color:#304a72}.qz-list i{color:var(--qz-blue-2)}.qz-map{min-height:230px;border-radius:28px;border:1px solid var(--qz-border);background:linear-gradient(135deg,rgba(11,47,107,.92),rgba(22,91,194,.78)),radial-gradient(circle at 80% 20%,rgba(87,183,255,.45),transparent 30%);color:#fff;box-shadow:var(--qz-shadow);display:flex;align-items:center;justify-content:center;gap:16px;text-align:left}.qz-map i{font-size:3rem}.qz-map span{display:block;color:rgba(255,255,255,.75)}.qz-login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.qz-login-card{width:min(460px,100%);padding:30px;border:1px solid var(--qz-border);border-radius:32px;background:rgba(255,255,255,.78);box-shadow:var(--qz-shadow);backdrop-filter:blur(18px)}.qz-login-brand{display:flex;gap:14px;align-items:center;margin-bottom:24px}.qz-login-brand h1{font-size:1.45rem;margin:0;font-weight:900;color:#10223f}.qz-login-brand p{margin:.15rem 0 0;color:var(--qz-gray)}.qz-login-meta{text-align:center;color:var(--qz-gray);font-size:.82rem;margin-top:18px}@media(max-width:991.98px){.qz-sidebar{transform:translateX(-115%);transition:.2s ease}.qz-sidebar.open{transform:translateX(0)}.qz-content-shell{padding-left:0}.qz-main{padding:18px}.qz-topbar{margin:18px}.qz-footer{margin:0 18px 18px}.qz-page-head{display:block}.qz-page-head .btn{margin-top:12px}}
.qz-leaflet-map{height:480px;border-radius:24px;border:1px solid rgba(24,71,134,.14);overflow:hidden;background:#e8f2ff}
.qz-code{background:#0f2748;color:#dbeafe;border-radius:18px;padding:18px;white-space:pre-wrap;overflow:auto}
.qz-token-created{border:1px solid rgba(37,99,235,.26);box-shadow:0 18px 50px rgba(37,99,235,.12)}
.qz-token-field{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem}

.qz-badge-active{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.qz-badge-stopped{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.qz-badge-offline{background:#eaf2ff;color:#1e3a8a;border:1px solid #bfdbfe}
.qz-badge-disabled{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}
.qz-center-unit,.btn-outline-primary{border-color:#1e5bbd;color:#164b9b}
.qz-center-unit:hover,.btn-outline-primary:hover{background:#1e5bbd;color:#fff}
.qz-badge.active,.qz-badge.executed{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.qz-badge.stopped,.qz-badge.pending,.qz-badge.sent{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.qz-badge.offline,.qz-badge.cancelled,.qz-badge.failed{background:#eaf2ff;color:#1e3a8a;border:1px solid #bfdbfe}
.qz-badge.disabled{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}
.qz-badge.neutral{background:#eef2f7;color:#334155;border:1px solid #dbe3ef}
.qz-form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.qz-form-grid>.col-12{grid-column:span 12}.qz-form-grid>.col-md-6{grid-column:span 6}@media(max-width:767.98px){.qz-form-grid>.col-md-6{grid-column:span 12}}
.qz-stat{min-height:140px;border:1px solid var(--qz-border);border-radius:var(--qz-radius);background:var(--qz-card);box-shadow:var(--qz-shadow);padding:20px;display:grid;gap:4px}.qz-stat i{font-size:1.3rem;color:var(--qz-blue-2)}.qz-stat span,.qz-stat small{color:var(--qz-gray)}.qz-stat strong{font-size:1.8rem;color:#10223f}

/* Fix select visibility in long forms */
.qz-select-readable,.qz-form-grid .form-select{min-height:46px;color:#10223f;background-color:rgba(255,255,255,.94);border-color:#cfe0f5;padding-right:2.75rem}
.qz-select-readable option,.qz-form-grid .form-select option{color:#10223f;background:#fff}

/* Role selector visible cards */
.qz-role-grid{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:.35rem}
.qz-role-option{display:flex;align-items:center;gap:.75rem;padding:.78rem .9rem;border:1px solid #cfe0f5;border-radius:14px;background:rgba(255,255,255,.92);cursor:pointer;transition:.18s ease;min-height:58px}
.qz-role-option:hover{border-color:#1f66d1;box-shadow:0 10px 24px rgba(30,101,199,.12)}
.qz-role-option input{width:18px;height:18px;accent-color:#174b9a;flex:0 0 auto}
.qz-role-option span{display:flex;flex-direction:column;line-height:1.15}
.qz-role-option strong{color:#10223f;font-size:.94rem}
.qz-role-option small{color:#5f708a;font-size:.78rem;margin-top:.2rem}
.qz-role-option:has(input:checked){border-color:#174b9a;background:#eaf3ff;box-shadow:0 8px 18px rgba(23,75,154,.14)}

/* Final users role visibility fix */
.qz-users-form-card{max-width:720px;width:100%}
.qz-role-visible-grid{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;margin-top:6px !important;width:100% !important;overflow:visible !important;visibility:visible !important;opacity:1 !important}
.qz-role-visible-option{display:flex !important;align-items:flex-start !important;gap:12px !important;padding:12px 14px !important;border:1px solid #cfe0f5 !important;border-radius:14px !important;background:#fff !important;color:#10223f !important;min-height:62px !important;cursor:pointer !important;width:100% !important;visibility:visible !important;opacity:1 !important}
.qz-role-visible-option input{width:18px !important;height:18px !important;margin-top:3px !important;accent-color:#174b9a !important;flex:0 0 auto !important;display:inline-block !important;visibility:visible !important;opacity:1 !important}
.qz-role-visible-option strong{display:block !important;color:#10223f !important;font-weight:800 !important;font-size:.94rem !important;line-height:1.2 !important}
.qz-role-visible-option small{display:block !important;color:#5f708a !important;font-size:.78rem !important;margin-top:2px !important;line-height:1.2 !important}
.qz-role-visible-option:has(input:checked){border-color:#174b9a !important;background:#eaf3ff !important;box-shadow:0 8px 18px rgba(23,75,154,.14) !important}
