*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{color:#0a1e2f;background:#f0f5fe;min-height:100vh;font-family:Inter,-apple-system,system-ui,sans-serif;overflow:hidden}.profile-container{background:#fff;grid-template-columns:260px minmax(0,1fr);width:100%;max-width:1200px;height:100vh;min-height:100vh;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 0 0 1px #1a4b6d0f,0 8px 32px #1a4b6d14}.sidebar{background:#f8faff;border-right:1px solid #e9edf4;flex-direction:column;gap:1.5rem;height:100%;padding:2rem 1.5rem;display:flex;overflow-y:auto}.sidebar-brand{color:#0b2b4a;border-bottom:1px solid #e9edf4;align-items:center;gap:.6rem;padding-bottom:1rem;font-size:1.2rem;font-weight:700;display:flex}.sidebar-brand i{color:#fff;background:linear-gradient(145deg,#1a4b6d,#2a7a9f);border-radius:10px;padding:.3rem .6rem;font-size:.9rem}.sidebar-brand span{background:linear-gradient(135deg,#1a4b6d,#3a8ab5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.sidebar-brand .hub-text{-webkit-text-fill-color:#1f405e;font-weight:400}.user-summary{text-align:center;flex-direction:column;align-items:center;padding:.5rem 0 1rem;display:flex}.avatar{color:#fff;background:linear-gradient(135deg,#1a4b6d,#3a8ab5);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:.8rem;font-size:2rem;font-weight:700;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #1a4b6d33}.avatar-image{object-fit:cover;width:100%;height:100%}.avatar .status-dot{background:#22c55e;border:3px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;bottom:4px;right:4px}.user-summary h4{color:#0b2b4a;font-size:1rem;font-weight:600}.user-summary .role{color:#4a6a8a;background:#eef4fc;border-radius:30px;margin-top:.2rem;padding:.15rem .8rem;font-size:.7rem;display:inline-block}.user-summary .email{color:#5a7a9a;margin-top:.2rem;font-size:.75rem}.nav-menu{flex-direction:column;flex:1;gap:.2rem;display:flex}.nav-item{color:#1f405e;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:14px;align-items:center;gap:.8rem;width:100%;padding:.7rem 1rem;font-family:Inter,sans-serif;font-size:.82rem;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{color:#0b2b4a;background:#eef4fc}.nav-item.active{color:#fff;background:#1a4b6d;box-shadow:0 4px 12px #1a4b6d33}.nav-item i{text-align:center;width:1.2rem;font-size:.9rem}.nav-item .badge{background:#fff3;border-radius:30px;margin-left:auto;padding:.05rem .5rem;font-size:.6rem;font-weight:600}.nav-item.active .badge{background:#ffffff40}.nav-divider{background:#e9edf4;height:1px;margin:.3rem 0}.sign-out-btn{border-top:1px solid #e9edf4;margin-top:auto;padding-top:1rem}.sign-out-btn .nav-item{color:#b13b3b}.sign-out-btn .nav-item:hover{color:#b13b3b;background:#fde8e8}.main-content{height:100%;padding:2rem 2.5rem;overflow-y:auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.page-header h2{color:#0b2b4a;font-size:1.4rem;font-weight:700}.page-header .subtitle{color:#5a7a9a;font-size:.75rem;font-weight:400}.status-banner{color:#1f6d3b;background:#e8f3e8;border-radius:12px;align-items:center;gap:.6rem;padding:.6rem 1.2rem;font-size:.75rem;display:flex}.status-banner i{font-size:1rem}.status-banner.pending{color:#a77b2b;background:#fef6e6}.panel{max-width:720px;animation:.25s fadeIn;display:none}.panel.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panel-title{align-items:center;gap:.5rem;margin-bottom:1.2rem;font-size:1rem;font-weight:600;display:flex}.panel-title i{color:#1a4b6d}.profile-avatar-section{background:#f8faff;border:1px solid #eef2f8;border-radius:16px;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:1rem;display:flex}.profile-avatar-preview{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.4rem;font-weight:700;display:flex;overflow:hidden}.profile-avatar-image{object-fit:cover;width:100%;height:100%}.profile-avatar-actions h5{color:#0b2b4a;font-size:.85rem;font-weight:600}.profile-avatar-actions p{color:#5a7a9a;margin:.2rem 0 .6rem;font-size:.7rem}.profile-avatar-input{display:none}.profile-form{margin-top:.2rem}.form-group{margin-bottom:1.2rem}.form-group label{color:#1e3b57;margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.form-group .hint{color:#5a7a9a;margin-top:.15rem;font-size:.65rem}.form-row{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.form-control{background:#fafcff;border:1px solid #dae2ec;border-radius:14px;width:100%;padding:.6rem .9rem;font-family:Inter,sans-serif;font-size:.82rem;transition:all .15s}.form-control:focus{background:#fff;border-color:#2b6c9e;outline:none;box-shadow:0 0 0 3px #2b6c9e1a}.form-control:disabled{color:#5a7a9a;background:#f2f6fc}.form-control.readonly{color:#1f405e;background:#f8faff}.btn{cursor:pointer;border:none;border-radius:40px;align-items:center;gap:.5rem;padding:.5rem 1.4rem;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{color:#fff;background:#1a4b6d;box-shadow:0 4px 12px #1a4b6d33}.btn-primary:hover{background:#0f3a56;transform:translateY(-1px)}.btn-secondary{color:#1d3852;background:#eef2f8}.btn-secondary:hover{background:#e2e9f2}.btn-success{color:#fff;background:#1f7a4a}.btn-success:hover{background:#15633a}.btn-outline{color:#1f405e;background:0 0;border:1px solid #d0dae8}.btn-outline:hover{background:#f0f4fc}.btn-danger-outline{color:#b13b3b;background:0 0;border:1px solid #d0dae8}.btn-danger-outline:hover{background:#fde8e8;border-color:#b13b3b}.btn-sm{padding:.3rem 1rem;font-size:.7rem}.btn-group{flex-wrap:wrap;gap:.6rem;margin-top:.5rem;display:flex}.twofa-setup{background:#f8faff;border:1px solid #eef2f8;border-radius:16px;margin-bottom:1.2rem;padding:1.2rem 1.5rem}.twofa-setup .step{align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.twofa-setup .step-number{color:#fff;background:#1a4b6d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;font-weight:700;display:flex}.twofa-setup .step-content h5{color:#0b2b4a;font-size:.85rem;font-weight:600}.twofa-setup .step-content p{color:#5a7a9a;font-size:.7rem}.qr-placeholder{text-align:center;background:#fff;border:2px dashed #dae2ec;border-radius:16px;margin:.5rem 0;padding:1.5rem}.qr-placeholder i{color:#1a4b6d;opacity:.5;font-size:3rem}.qr-placeholder p{color:#5a7a9a;margin-top:.3rem;font-size:.7rem}.qr-placeholder .manual-key{color:#8a9ab0;font-size:.55rem}.qr-placeholder .manual-key code{letter-spacing:.08em;color:#1f405e;word-break:break-all;background:#eef2f8;border-radius:8px;margin-top:.35rem;padding:.3rem .65rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.7rem;display:inline-block}.security-item{border-bottom:1px solid #f0f4fa;justify-content:space-between;align-items:center;padding:.8rem 0;display:flex}.security-item:last-child{border-bottom:none}.security-item.twofa-item{flex-direction:column;align-items:stretch;padding-bottom:1.2rem}.security-item-stack{flex-direction:column;align-items:stretch;gap:.8rem}.security-item-row{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.security-inline-form{background:#f8faff;border:1px solid #eef2f8;border-radius:14px;padding:1rem}.security-inline-form .form-group{margin-bottom:.8rem}.security-checkbox{color:#1f405e;align-items:center;gap:.5rem;margin-bottom:.8rem;font-size:.72rem;display:flex}.security-password-rules{margin-bottom:.8rem}.security-form-intro{color:#5a7a9a;margin-bottom:.8rem;font-size:.72rem}.security-2fa-controls{align-items:center;gap:.6rem;display:flex}.security-loading{color:#1a4b6d;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;display:flex}.security-loading p{color:#5a7a9a;font-size:.82rem}.qr-code-wrap{background:#fff;padding:1rem;display:inline-flex}.sessions-list,.login-activity-list{flex-direction:column;gap:.6rem;display:flex}.session-item,.login-activity-item{background:#f8faff;border:1px solid #eef2f8;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.session-item p,.login-activity-item p{color:#5a7a9a;margin-top:.15rem;font-size:.72rem}.session-current{color:#1f6d3b;background:#e8f3e8;border-radius:30px;margin-left:.5rem;padding:.1rem .5rem;font-size:.6rem;font-weight:600}.login-activity-status{border-radius:30px;flex-shrink:0;padding:.15rem .7rem;font-size:.65rem;font-weight:600}.login-activity-status.success{color:#1f6d3b;background:#e8f3e8}.login-activity-status.failed{color:#b13b3b;background:#fde8e8}.security-item.twofa-item .twofa-header{justify-content:space-between;align-items:center;width:100%;display:flex}.security-item .info h5{color:#0b2b4a;font-size:.85rem;font-weight:600}.security-item .info p{color:#5a7a9a;font-size:.7rem}.security-item .status{border-radius:30px;padding:.15rem .8rem;font-size:.65rem;font-weight:600}.status.enabled{color:#1f6d3b;background:#e8f3e8}.status.disabled{color:#a77b2b;background:#fef6e6}.toggle-switch{cursor:pointer;background:#d0dae8;border-radius:30px;flex-shrink:0;width:44px;height:24px;transition:all .2s;position:relative}.toggle-switch.active{background:#1a4b6d}.toggle-switch .thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0000001a}.toggle-switch.active .thumb{left:23px}.twofa-section{margin-top:.8rem}.verify-row{flex-wrap:wrap;gap:.6rem;margin-top:.3rem;display:flex}.verify-input{width:160px}.color-options{flex-wrap:wrap;gap:.6rem;display:flex}.color-option{cursor:pointer;border:3px solid #0000;border-radius:50%;width:36px;height:36px;transition:all .15s}.color-option:hover{transform:scale(1.05)}.color-option.selected{border-color:#0b2b4a;box-shadow:0 0 0 2px #fff,0 0 0 4px #0b2b4a}.color-option.blue{background:#1a4b6d}.color-option.purple{background:#7c3aed}.color-option.green{background:#1f7a4a}.color-option.orange{background:#d97706}.color-option.rose{background:#db2777}.color-option.slate{background:#475569}.onboarding-banner{color:#fff;background:linear-gradient(135deg,#1a4b6d,#2a7a9f);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;max-width:720px;margin-bottom:1.8rem;padding:1.2rem 1.5rem;display:flex}.onboarding-banner.accepted{background:linear-gradient(135deg,#1f7a4a,#2a9d6a)}.onboarding-banner h4{font-size:.95rem;font-weight:600}.onboarding-banner p{opacity:.85;font-size:.75rem}.onboarding-banner .banner-actions{flex-wrap:wrap;gap:.6rem;display:flex}.onboarding-banner .btn-white{color:#1a4b6d;cursor:pointer;background:#fff;border:none;border-radius:40px;padding:.4rem 1.4rem;font-size:.75rem;font-weight:600}.onboarding-banner .btn-white:hover{transform:scale(1.02)}.onboarding-banner .btn-white.later{color:#fff;background:#fff3}.onboarding-banner .active-badge{background:#fff3;border-radius:30px;padding:.3rem 1rem;font-size:.7rem}.invite-card{background:#f8faff;border:1px solid #eef2f8;border-radius:16px;padding:1.5rem}.invite-card-header{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.invite-icon{color:#a77b2b;background:#fef6e6;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex}.invite-card h5{font-size:.95rem;font-weight:600}.invite-card .invite-meta{color:#5a7a9a;font-size:.75rem}.invite-card .invite-permissions{color:#5a7a9a;font-size:.7rem}.invite-next-steps{border-top:1px solid #e9edf4;margin-top:1.2rem;padding-top:1.2rem}.invite-next-steps h5{font-size:.8rem;font-weight:600}.invite-next-steps ul{color:#1f405e;margin-top:.3rem;padding:0;font-size:.75rem;list-style:none}.invite-next-steps li{align-items:center;gap:.5rem;padding:.2rem 0;display:flex}.invite-next-steps .step-done{color:#22c55e}.invite-next-steps .step-pending{color:#d0dae8;font-size:.5rem}.invite-card-empty{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.invite-card-empty .invite-icon{color:#1f6d3b;background:#e8f3e8;margin-bottom:.25rem}.invite-history{margin-top:1.2rem}.invite-history h5{margin-bottom:.6rem;font-size:.85rem;font-weight:600}.invite-history-list{flex-direction:column;gap:.6rem;display:flex}.invite-history-item{background:#f8faff;border:1px solid #eef2f8;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.invite-history-item p{color:#5a7a9a;margin-top:.15rem;font-size:.72rem}.invite-status{text-transform:capitalize;border-radius:30px;flex-shrink:0;padding:.2rem .7rem;font-size:.65rem;font-weight:600}.invite-status-accepted{color:#1f6d3b;background:#e8f3e8}.invite-status-rejected{color:#b13b3b;background:#fde8e8}.dashboard-loading{background:#f0f5fe;justify-content:center;align-items:center;min-height:100vh;display:flex}.dashboard-loading-card{color:#1a4b6d;background:#fff;border:1px solid #eef2f8;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 2.5rem;display:flex;box-shadow:0 8px 24px #1a4b6d14}.dashboard-loading-card p{color:#5a7a9a;font-size:.82rem}.toast{color:#fff;z-index:2000;background:#1a3b55;border-radius:60px;align-items:center;gap:.6rem;padding:.8rem 1.6rem;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;animation:.3s slideUp;display:none;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 30px #00000026}.toast.visible{display:flex}.toast.error{background:#b13b3b}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){body{overflow:auto}.profile-container{max-width:none;height:auto;min-height:100vh;box-shadow:none;grid-template-columns:1fr}.panel,.onboarding-banner{max-width:none}.sidebar{border-bottom:1px solid #e9edf4;border-right:none;padding:1.5rem}.sidebar .user-summary{text-align:left;flex-direction:row;gap:1rem}.sidebar .user-summary .avatar{width:60px;height:60px;margin-bottom:0;font-size:1.5rem}.nav-menu{flex-flow:wrap;gap:.2rem}.nav-item{width:auto;padding:.4rem .8rem;font-size:.75rem}.sign-out-btn{border-top:none;margin-top:0;padding-top:0}.main-content{max-height:none;padding:1.5rem}.form-row{grid-template-columns:1fr}}@media (width<=480px){.main-content{padding:1rem}.onboarding-banner,.page-header{flex-direction:column;align-items:flex-start}}.landing-page{background:linear-gradient(160deg,#f0f5fe 0%,#e8f0fb 45%,#f8faff 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}body:has(.landing-page){overflow:auto}.landing-shell{width:100%;max-width:480px}.landing-brand{align-items:center;gap:.9rem;margin-bottom:1.5rem;display:flex}.landing-brand-icon{color:#fff;background:linear-gradient(145deg,#1a4b6d,#2a7a9f);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.1rem;display:flex;box-shadow:0 6px 16px #1a4b6d40}.landing-brand h1{color:#0b2b4a;font-size:1.35rem;font-weight:700;line-height:1.2}.landing-brand h1 .hub-text{color:#1f405e;font-weight:400}.landing-brand p{color:#5a7a9a;margin-top:.1rem;font-size:.75rem}.landing-card{background:#fff;border:1px solid #1a4b6d14;border-radius:20px;padding:2rem;box-shadow:0 12px 40px #1a4b6d1a}.landing-card-header{margin-bottom:1.5rem}.landing-card-header h2{color:#0b2b4a;margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.landing-card-header p{color:#5a7a9a;font-size:.82rem;line-height:1.5}.landing-alert{border-radius:12px;align-items:flex-start;gap:.6rem;margin-bottom:1.2rem;padding:.75rem 1rem;font-size:.78rem;line-height:1.4;display:flex}.landing-alert-error{color:#9b2c2c;background:#fde8e8;border:1px solid #f5c6c6}.landing-alert i{flex-shrink:0;margin-top:.1rem}.landing-form .form-group{margin-bottom:1rem}.landing-form label{color:#1e3b57;margin-bottom:.3rem;font-size:.75rem;font-weight:600;display:block}.landing-form .form-control{background:#fafcff;border:1px solid #dae2ec;border-radius:12px;width:100%;padding:.65rem .9rem;font-family:Inter,sans-serif;font-size:.85rem;transition:all .15s}.landing-form .form-control:focus{background:#fff;border-color:#2b6c9e;outline:none;box-shadow:0 0 0 3px #2b6c9e1a}.landing-form .hint{color:#5a7a9a;margin-top:.3rem;font-size:.68rem;line-height:1.4}.landing-form .hint-error{color:#b13b3b}.password-field{position:relative}.password-field .form-control{padding-right:2.75rem}.password-toggle{color:#5a7a9a;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:.85rem;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.password-toggle:hover{color:#1a4b6d}.password-rules{background:#f8faff;border:1px solid #eef2f8;border-radius:12px;margin:.5rem 0 1.25rem;padding:.75rem 1rem;list-style:none}.password-rules li{color:#8a9ab0;align-items:center;gap:.5rem;padding:.15rem 0;font-size:.7rem;display:flex}.password-rules li i{font-size:.65rem}.password-rules li.passed{color:#1f6d3b}.landing-submit{color:#fff;cursor:pointer;background:#1a4b6d;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.7rem 1.4rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 4px 12px #1a4b6d33}.landing-submit:hover:not(:disabled){background:#0f3a56;transform:translateY(-1px)}.landing-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}.landing-success{text-align:center;padding:1rem .5rem}.landing-success-icon{color:#1f6d3b;background:#e8f3e8;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;font-size:1.5rem;display:flex}.landing-success h2{color:#0b2b4a;margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.landing-success p{color:#5a7a9a;font-size:.82rem;line-height:1.5}.landing-success-hint{background:#eef4fc;border-radius:10px;margin-top:.75rem;padding:.6rem .9rem;color:#1a4b6d!important;font-size:.75rem!important}.landing-success-action{margin-top:1.25rem;text-decoration:none;display:inline-flex}.twofa-code-input{letter-spacing:.35em;text-align:center;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.1rem}.landing-back-link{color:#5a7a9a;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.4rem;width:100%;margin-top:.75rem;padding:.5rem;font-family:Inter,sans-serif;font-size:.75rem;display:flex}.landing-back-link:hover{color:#1a4b6d}.landing-footer{text-align:center;margin-top:1.25rem}.landing-footer p{color:#5a7a9a;font-size:.72rem}.landing-footer a{color:#1a4b6d;font-weight:600;text-decoration:none}.landing-footer a:hover{text-decoration:underline}@media (width<=480px){.landing-page{align-items:flex-start;padding:1.25rem 1rem}.landing-card{padding:1.5rem}}
