*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#f0f4f8;color:#1a2744;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.loading-screen{color:#6b7280;font-size:15px}.loading-screen,.login-page{align-items:center;display:flex;justify-content:center;min-height:100vh}.login-page{background:linear-gradient(145deg,#1b5ea7,#29abe2);padding:24px}.login-card{background:#fff;border-radius:16px;box-shadow:0 24px 64px #1b5ea74d;max-width:420px;padding:48px 44px;width:100%}.login-logo{display:flex;justify-content:center;margin-bottom:28px}.login-logo img{height:44px;width:auto}.login-heading{margin-bottom:32px;text-align:center}.login-heading p{color:#6b7280;font-size:14px}.field{margin-bottom:18px}.field label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.field input{background:#fafafa;border:1.5px solid #d1d5db;border-radius:8px;color:#111827;font-size:14px;outline:none;padding:11px 14px;transition:border-color .15s;width:100%}.field input:focus{background:#fff;border-color:#29abe2}.login-btn{background:#1b5ea7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.2px;margin-top:8px;padding:12px;transition:background .2s;width:100%}.login-btn:hover:not(:disabled){background:#154e96}.login-btn:disabled{cursor:not-allowed;opacity:.65}.login-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:13.5px;margin-bottom:20px;padding:11px 14px}.module-card{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;gap:14px;padding:28px 24px 20px;transition:all .2s ease}.module-card.enabled{cursor:pointer}.module-card.enabled:hover{border-color:#29abe2;box-shadow:0 8px 28px #1b5ea724;transform:translateY(-3px)}.module-card.locked{background:#f9fafb;cursor:not-allowed}.card-icon{align-items:center;background:#ebf5ff;border-radius:12px;display:flex;font-size:28px;height:56px;justify-content:center;width:56px}.module-card.locked .card-icon{background:#f3f4f6;filter:grayscale(1) opacity(.5)}.card-body h3{color:#1b3a6b;font-size:17px;font-weight:700}.module-card.locked .card-body h3{color:#9ca3af}.card-body p{color:#6b7280;font-size:13px;line-height:1.55;margin-top:5px}.card-footer{border-top:1px solid #f3f4f6;margin-top:auto;padding-top:8px}.open-label{color:#1b5ea7;font-size:13px;font-weight:600}.locked-label{color:#d1d5db;font-size:12px;font-weight:500;letter-spacing:.4px;text-transform:uppercase}.dash-page{background:#f0f4f8;min-height:100vh}.dash-header{align-items:center;background:#fff;box-shadow:0 1px 0 #e2e8f0,0 2px 8px #1b5ea712;display:flex;height:68px;justify-content:space-between;padding:0 40px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.dash-logo img{display:block;height:36px;width:auto}.dash-nav{align-items:center;display:flex;gap:14px}.user-pill{background:#ebf5ff;gap:10px;padding:6px 12px}.user-avatar,.user-pill{align-items:center;border-radius:8px;display:flex}.user-avatar{background:#1b5ea7;color:#fff;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.user-meta{display:flex;flex-direction:column}.user-name{color:#1b3a6b;font-size:13px;font-weight:600;line-height:1.2}.user-role{color:#29abe2;font-size:11px;line-height:1.2}.nav-btn{border:none;border-radius:7px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s}.admin-btn{background:#1b5ea7;border:none;color:#fff}.admin-btn:hover{background:#154e96}.signout-btn{background:#0000;border:1.5px solid #c5d9f0;color:#4b6fa5}.signout-btn:hover{background:#ebf5ff;border-color:#1b5ea7;color:#1b5ea7}.dash-main{margin:0 auto;max-width:1100px;padding:44px 40px}.dash-welcome{margin-bottom:36px}.dash-welcome h2{color:#1b3a6b;font-size:26px;font-weight:700;letter-spacing:-.3px}.dash-welcome p{color:#6b7280;font-size:14px;margin-top:6px}.dash-loading{color:#9ca3af;font-size:14px;padding:80px 0;text-align:center}.dash-empty{background:#fff;border:1.5px dashed #e5e7eb;border-radius:14px;padding:80px 40px;text-align:center}.empty-icon{font-size:40px;margin-bottom:16px}.dash-empty h3{color:#374151;font-size:18px;font-weight:600}.dash-empty p{color:#9ca3af;font-size:14px;margin-top:8px}.module-section{margin-bottom:40px}.section-label{color:#9ca3af;font-size:12px;font-weight:600;letter-spacing:.6px;margin-bottom:16px;text-transform:uppercase}.modules-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.locked-section .modules-grid{opacity:.6}.um-page{background:#f0f4f8;min-height:100vh}.um-header{background:#fff;box-shadow:0 1px 0 #e2e8f0,0 2px 8px #1b5ea712;height:68px;justify-content:space-between;padding:0 40px}.um-brand,.um-header{align-items:center;display:flex}.um-brand{gap:14px}.um-logo img{display:block;height:36px;width:auto}.um-breadcrumb{border-left:1.5px solid #c5d9f0;color:#29abe2;font-size:14px;font-weight:500;padding-left:14px}.um-header-right{align-items:center;display:flex;gap:14px}.back-link{color:#1b5ea7;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}.back-link:hover{color:#154e96}.me-name{color:#4b6fa5;font-size:13px}.hdr-btn{border:none;border-radius:7px;cursor:pointer;font-size:13px;padding:7px 14px;transition:all .2s}.hdr-btn.signout{background:#0000;border:1.5px solid #c5d9f0;color:#4b6fa5}.hdr-btn.signout:hover{background:#ebf5ff;border-color:#1b5ea7;color:#1b5ea7}.um-main{margin:0 auto;max-width:1200px;padding:36px 40px}.um-toolbar{justify-content:space-between;margin-bottom:24px}.um-toolbar,.um-toolbar h2{align-items:center;display:flex}.um-toolbar h2{color:#1b3a6b;font-size:22px;font-weight:700;gap:10px}.count-badge{background:#ebf5ff;border-radius:20px;color:#1b5ea7;font-size:13px;font-weight:600;padding:2px 10px}.add-user-btn{background:#1b5ea7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 22px;transition:background .2s}.add-user-btn:hover{background:#154e96}.table-wrap{background:#fff;border-radius:14px;box-shadow:0 1px 4px #00000012;overflow-x:auto}.um-table{border-collapse:collapse;font-size:13.5px;width:100%}.um-table th{background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:11.5px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.um-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:14px 16px;vertical-align:middle}.um-table tbody tr:last-child td{border-bottom:none}.um-table tbody tr:hover{background:#fafbfc}.row-inactive{opacity:.55}.td-name{min-width:160px}.name-row{gap:9px}.name-row,.row-avatar{align-items:center;display:flex}.row-avatar{background:#bae6f7;border-radius:8px;flex-shrink:0;font-size:13px;height:32px;justify-content:center;width:32px}.row-avatar,.you-tag{color:#1b5ea7;font-weight:700}.you-tag{background:#ebf5ff;border-radius:20px;font-size:10px;padding:2px 7px}.td-email{color:#6b7280;font-size:13px}.na{color:#d1d5db}.role-tag{border-radius:20px;display:inline-block;font-size:11.5px;font-weight:600;padding:3px 10px;white-space:nowrap}.role-tag.super_admin{background:#fff3cd;color:#9a6700}.role-tag.user{background:#ebf5ff;color:#1b5ea7}.status-tag{border-radius:20px;display:inline-block;font-size:11.5px;font-weight:600;padding:3px 10px}.status-tag.active{background:#dcfce7;color:#15803d}.status-tag.inactive{background:#fee2e2;color:#b91c1c}.td-actions{align-items:center;display:flex;gap:6px;white-space:nowrap}.act-btn{border:none;border-radius:6px;cursor:pointer;font-size:12.5px;font-weight:500;padding:5px 13px;transition:background .15s}.act-btn.edit{background:#ebf5ff;color:#1b5ea7}.act-btn.edit:hover{background:#bae6f7}.act-btn.access{background:#f0fdf4;color:#15803d}.act-btn.access:hover{background:#dcfce7}.act-btn.del{background:#fef2f2;color:#b91c1c}.act-btn.del:hover{background:#fee2e2}.full-access-tag{background:#fff3cd;border-radius:20px;color:#9a6700;font-size:11.5px;font-weight:600;padding:4px 10px}.um-loading{color:#9ca3af;font-size:14px;padding:80px;text-align:center}.overlay{align-items:center;background:#0f172a80;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:200}.modal{background:#fff;border-radius:14px;box-shadow:0 24px 64px #00000040;max-height:90vh;max-width:560px;overflow-y:auto;width:100%}.modal-head{align-items:flex-start;background:#fff;border-bottom:1px solid #f3f4f6;border-radius:14px 14px 0 0;display:flex;justify-content:space-between;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-head h3{color:#1b3a6b;font-size:16px;font-weight:700}.modal-subhead{color:#6b7280;font-size:13px;margin-top:3px}.modal-subhead strong{color:#1b3a6b}.modal-x{background:none;border:none;color:#9ca3af;cursor:pointer;flex-shrink:0;font-size:22px;line-height:1;margin-top:-2px;padding:0 4px}.modal-x:hover{color:#374151}.modal-body{padding:24px}.form-err{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:13px;margin-bottom:20px;padding:11px 14px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.fld{display:flex;flex-direction:column;gap:5px}.fld.full{grid-column:1/-1}.fld label{color:#374151;font-size:12.5px;font-weight:500}.req{color:#ef4444;margin-left:2px}.hint{color:#9ca3af;font-weight:400}.fld input,.fld select{background:#fafafa;border:1.5px solid #e5e7eb;border-radius:7px;color:#111827;font-size:13.5px;outline:none;padding:9px 12px;transition:border-color .15s}.fld input:focus,.fld select:focus{background:#fff;border-color:#29abe2}.modal-foot{background:#fff;border-radius:0 0 14px 14px;border-top:1px solid #f3f4f6;bottom:0;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px;position:-webkit-sticky;position:sticky}.btn-cancel{background:#fff;border:1.5px solid #e5e7eb;border-radius:7px;color:#6b7280;cursor:pointer;font-size:13.5px;padding:9px 20px;transition:all .15s}.btn-cancel:hover{background:#f3f4f6;color:#374151}.btn-save{background:#1b5ea7;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:13.5px;font-weight:600;padding:9px 28px;transition:background .2s}.btn-save:hover:not(:disabled){background:#154e96}.btn-save:disabled{cursor:not-allowed;opacity:.6}.access-modal{max-width:480px}.access-body{padding:8px 24px 20px}.default-module-row{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:14px 0 10px}.default-module-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;min-width:160px;padding:6px 10px}.default-module-select:focus{border-color:#1b5ea7;box-shadow:0 0 0 2px #1b5ea726;outline:none}.access-divider{border:none;border-top:1px solid #e5e7eb;margin:4px 0 8px}.no-modules-msg{color:#9ca3af;font-size:14px;padding:40px;text-align:center}.module-list{display:flex;flex-direction:column}.module-row{border-bottom:1px solid #f3f4f6;border-radius:10px;flex-wrap:wrap;gap:14px;padding:14px 10px;transition:background .15s}.module-row,.provision-row{align-items:center;display:flex}.provision-row{gap:6px;margin-top:4px;padding-left:60px;width:100%}.provision-row select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1b3a6b;font-size:12px;padding:4px 6px}.provision-btn{background:#1b3a6b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:4px 10px}.provision-btn:disabled{background:#d1d5db;cursor:not-allowed}.provision-msg{font-size:12px}.provision-msg.success{color:#15803d}.provision-msg.error{color:#dc2626}.module-row:last-child{border-bottom:none}.module-row:hover{background:#f8fafc}.module-row-icon{align-items:center;background:#ebf5ff;border-radius:10px;display:flex;flex-shrink:0;font-size:22px;height:46px;justify-content:center;width:46px}.module-row-info{flex:1 1;min-width:0}.module-row-name{color:#1b3a6b;display:block;font-size:14px;font-weight:600}.module-row-desc{color:#9ca3af;display:block;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switch{display:inline-block;flex-shrink:0;height:26px;position:relative;width:46px}.switch input{height:0;opacity:0;width:0}.slider{background:#d1d5db;border-radius:26px;cursor:pointer;inset:0;position:absolute;transition:background .25s}.slider:before{background:#fff;border-radius:50%;box-shadow:0 1px 4px #0003;content:"";height:20px;left:3px;position:absolute;top:3px;transition:transform .25s;width:20px}.switch input:checked+.slider{background:#1b5ea7}.switch input:checked+.slider:before{transform:translateX(20px)}.switch.toggling{opacity:.5}.switch.toggling .slider{cursor:not-allowed}.switch.status-switch input:checked+.slider{background:#15803d}
/*# sourceMappingURL=main.62e5e136.css.map*/