@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-primary:#f9f9fb;--bg-surface:#fff;--bg-input:#f9f9fa;--primary:#4b2bee;--primary-hover:#3512e2;--primary-rgb:99, 102, 241;--primary-light:#ebe7fd;--text-primary:#17171c;--text-secondary:#60606c;--text-muted:#a2a2a9;--text-on-primary:#fff;--border:#e3e3e8;--border-focus:#735af2;--error:#ef4343;--error-light:#fdecec;--success:#16a249;--success-light:#e9fcf0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 30px -10px #00000014, 0 1px 3px #00000008;--shadow-xl:0 25px 50px -12px #00000026;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease}body.dark{--bg-primary:#09090c;--bg-surface:#101014;--bg-input:#17171c;--primary:#735af2;--primary-hover:#8f7bf4;--primary-light:#110647;--text-primary:#f4f4f6;--text-secondary:#bbbbc3;--text-muted:#7a7a85;--text-on-primary:#09090c;--border:#212127;--border-focus:#735af2;--error:#f15b5b;--error-light:#380505;--success:#1cca5b;--success-light:#073618;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -2px #00000080;--shadow-lg:0 10px 30px -10px #000000b3;--shadow-xl:0 25px 50px -12px #000000d9}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal), color var(--transition-normal);flex-direction:column;min-height:100vh;line-height:1.5;display:flex}:is(body:has(.layout-container),html:has(.layout-container)){height:100vh!important;overflow:hidden!important}.app-container{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.bg-glow-1,.bg-glow-2{filter:blur(100px);opacity:.12;z-index:0;pointer-events:none;border-radius:50%;width:500px;height:500px;position:absolute}.bg-glow-1{background:radial-gradient(circle, var(--primary) 0%, transparent 80%);animation:20s infinite alternate float-blob-1;top:-10%;left:-10%}.bg-glow-2{background:radial-gradient(circle,#f042b6 0%,#0000 80%);animation:25s infinite alternate float-blob-2;bottom:-10%;right:-10%}@keyframes float-blob-1{0%{transform:translate(0)scale(1)}50%{transform:translate(50px,40px)scale(1.1)}to{transform:translate(-30px,-20px)scale(.9)}}@keyframes float-blob-2{0%{transform:translate(0)scale(.9)}50%{transform:translate(-40px,60px)scale(1.15)}to{transform:translate(30px,-30px)scale(1)}}.auth-card{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);z-index:10;width:100%;max-width:480px;transition:transform var(--transition-normal), box-shadow var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal);padding:2.5rem;animation:.5s cubic-bezier(.16,1,.3,1) fade-in-up;position:relative}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.logo-container{justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.app-logo{border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--primary), #f042b6);color:#fff;width:48px;height:48px;box-shadow:0 8px 16px -4px rgba(var(--primary-rgb), .3);justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.auth-header{text-align:center;margin-bottom:2rem}.auth-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--text-secondary);font-size:.925rem}.form-group{margin-bottom:1.25rem;position:relative}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast);position:absolute;left:1rem}.form-input{border-radius:var(--radius-lg);border:1px solid var(--border);background-color:var(--bg-input);width:100%;color:var(--text-primary);font-family:var(--font-body);transition:all var(--transition-normal);padding:.875rem 1rem .875rem 2.75rem;font-size:.95rem}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 4px rgba(var(--primary-rgb), .12);background-color:var(--bg-surface);outline:none}.form-input:focus+.input-icon{color:var(--primary)}.input-password-toggle{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:1rem}.input-password-toggle:hover{color:var(--text-secondary)}.error-message{color:var(--error);align-items:center;gap:.25rem;margin-top:.35rem;font-size:.8rem;animation:.2s slide-down;display:flex}@keyframes slide-down{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.form-options{justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:.875rem;display:flex}.checkbox-container{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:flex}.checkbox-input{appearance:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);background-color:var(--bg-input);cursor:pointer;width:1.1rem;height:1.1rem;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.checkbox-input:checked{background-color:var(--primary);border-color:var(--primary)}.checkbox-input:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.3rem;height:.55rem;transform:rotate(45deg)translate(-.5px,-1px)}.checkbox-label{color:var(--text-secondary);font-size:.875rem}.auth-link{color:var(--primary);transition:color var(--transition-fast);font-weight:600;text-decoration:none}.auth-link:hover{color:var(--primary-hover);text-decoration:underline}.btn-primary{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary), #3713ec);color:#fff;width:100%;font-family:var(--font-body);cursor:pointer;box-shadow:0 4px 12px rgba(var(--primary-rgb), .2);transition:all var(--transition-normal);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.875rem;font-size:.95rem;font-weight:600;display:flex;position:relative;overflow:hidden}.btn-primary:before{content:"";opacity:0;width:100%;height:100%;transition:opacity var(--transition-fast);background:linear-gradient(#ffffff26,#0000);position:absolute;top:0;left:0}.btn-primary:hover:not(:disabled):before{opacity:1}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px rgba(var(--primary-rgb), .3);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1.2rem;height:1.2rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.divider{text-align:center;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;align-items:center;margin:1.75rem 0;font-size:.8rem;font-weight:600;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid var(--border);flex:1}.divider:not(:empty):before{margin-right:.75rem}.divider:not(:empty):after{margin-left:.75rem}.social-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.social-btn{border:1px solid var(--border);border-radius:var(--radius-lg);background-color:var(--bg-surface);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-normal);justify-content:center;align-items:center;gap:.6rem;padding:.75rem;font-size:.875rem;font-weight:600;display:flex}.social-btn:hover{background-color:var(--bg-input);border-color:var(--text-muted);transform:translateY(-1px)}.social-icon{width:18px;height:18px}.social-google{color:#ea4335}.social-github{color:#24292f}body.dark .social-github{color:#f0f6fc}.social-microsoft{color:#00a4ef}.social-linkedin{color:#0077b5}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:2rem;font-size:.9rem}.password-requirements{background-color:var(--bg-input);border-radius:var(--radius-lg);border:1px solid var(--border);margin-top:.75rem;padding:.75rem 1rem;font-size:.8rem}.password-requirements-title{color:var(--text-secondary);margin-bottom:.5rem;font-weight:600}.requirement-item{color:var(--text-muted);transition:color var(--transition-fast);align-items:center;gap:.4rem;margin-bottom:.25rem;display:flex}.requirement-item.met{color:var(--success)}.requirement-icon{width:14px;height:14px}.success-card{text-align:center;padding:1rem 0;animation:.3s cubic-bezier(.34,1.56,.64,1) scale-up}@keyframes scale-up{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-icon-wrapper{background-color:var(--success-light);width:64px;height:64px;color:var(--success);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;display:flex;box-shadow:0 4px 10px #10b9811a}.success-title{font-family:var(--font-heading);margin-bottom:.75rem;font-size:1.5rem;font-weight:700}.success-desc{color:var(--text-secondary);margin-bottom:1.75rem;font-size:.95rem;line-height:1.6}.theme-toggle-container{z-index:100;position:absolute;top:1.5rem;right:1.5rem}.theme-btn{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;width:40px;height:40px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);border-radius:50%;justify-content:center;align-items:center;display:flex}.theme-btn:hover{background:var(--bg-input);box-shadow:var(--shadow-md);transform:rotate(15deg)}.terms-group{margin:1.25rem 0}.dashboard-mock{text-align:center;animation:.5s fade-in-up}.dashboard-icon{color:var(--primary);width:56px;height:56px;margin-bottom:1rem}.layout-container{background-color:var(--bg-primary);width:100%;height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--bg-surface);border-right:1px solid var(--border);width:260px;height:100%;transition:all var(--transition-normal);z-index:50;flex-direction:column;display:flex}.sidebar-header{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:1.5rem;display:flex}.sidebar-menu{flex-direction:column;flex:1;gap:.25rem;padding:1.5rem 1rem;display:flex;overflow-y:auto}.sidebar-link{color:var(--text-secondary);border-radius:0 var(--radius-md) var(--radius-md) 0;transition:all var(--transition-fast);border-left:4px solid #0000;align-items:center;gap:.75rem;margin-right:.5rem;padding:.75rem 1.25rem;font-weight:600;text-decoration:none;display:flex}.sidebar-link:hover,.sidebar-link.active{color:var(--primary);background-color:var(--primary-light);border-left-color:var(--primary)}.main-content{flex-direction:column;flex:1;height:100%;display:flex;overflow-y:auto}.top-bar{background-color:var(--bg-surface);border-bottom:1px solid var(--border);z-index:40;justify-content:space-between;align-items:center;height:70px;padding:0 2rem;display:flex;position:sticky;top:0}.top-bar-left{align-items:center;gap:1.5rem;display:flex}.top-bar-right{align-items:center;gap:1rem;display:flex}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-input-wrapper input{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);width:240px;transition:all var(--transition-fast);outline:none;padding:.5rem 1rem .5rem 2.25rem;font-size:.875rem}.search-input-wrapper input:focus{border-color:var(--border-focus);width:280px}.search-input-wrapper svg{color:var(--text-muted);pointer-events:none;position:absolute;left:.75rem}.content-container{flex:1;padding:2rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.metric-card{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-info h3{color:var(--text-muted);text-transform:uppercase;margin-bottom:.25rem;font-size:.85rem;font-weight:600}.metric-info .value{color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1}.metric-info .change{align-items:center;gap:.25rem;margin-top:.5rem;font-size:.75rem;display:flex}.metric-icon{border-radius:var(--radius-lg);background-color:var(--primary-light);width:48px;height:48px;color:var(--primary);justify-content:center;align-items:center;display:flex}.reusable-table{border-collapse:collapse;text-align:left;width:100%}.reusable-table th{background-color:var(--bg-input);text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:1rem;font-size:.75rem;font-weight:700}.reusable-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:1rem;font-size:.875rem}.reusable-table tr:hover{background-color:var(--bg-input)}.badge{border-radius:var(--radius-sm);text-transform:capitalize;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background-color:var(--success-light);color:var(--success)}.badge-error{background-color:var(--error-light);color:var(--error)}.badge-primary{background-color:var(--primary-light);color:var(--primary)}.badge-secondary{background-color:var(--bg-input);color:var(--text-secondary)}.skeleton-box{background:linear-gradient(90deg, var(--border) 25%, var(--bg-input) 50%, var(--border) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite loading-skeleton}@keyframes loading-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=768px){.sidebar{display:none}}
