#systemHealthKPI>.kpi-card,#lastSyncKPI>.kpi-card{height:115px!important;min-height:115px!important;max-height:115px!important;overflow:hidden;box-sizing:border-box}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:#0f0d15;color:#94a3b8;font-size:1.125rem}.app-loading .spinner{width:40px;height:40px;border:3px solid #2d2838;border-top-color:#a855f7;border-radius:50%;animation:spin 1s linear infinite;margin-right:1rem}@keyframes spin{to{transform:rotate(360deg)}}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/source-sans-3-latin-300.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-latin-400.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/source-sans-3-latin-500.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-latin-600.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-sans-3-latin-700.woff2) format("woff2")}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-code-pro-latin-400.woff2) format("woff2")}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/source-code-pro-latin-500.woff2) format("woff2")}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-code-pro-latin-600.woff2) format("woff2")}:root{color-scheme:dark light;--bg-primary: #0d0a14;--bg-secondary: #16121f;--bg-tertiary: #1e1a29;--bg-hover: #262233;--border-color: #2d2640;--border-light: #3d3555;--text-primary: #f5f3f8;--text-secondary: #c4bdd0;--text-muted: #9288a0;--accent-primary: #a855f7;--accent-secondary: #c084fc;--accent-purple: #a855f7;--accent-purple-light: #c084fc;--accent-purple-dark: #7c3aed;--accent-orange: #f97316;--accent-orange-light: #fb923c;--accent-orange-dark: #ea580c;--status-healthy: #10b981;--status-warning: #f59e0b;--status-critical: #ef4444;--status-info: #a855f7;--sidebar-width: 260px;--sidebar-collapsed: 72px;--header-height: 60px;--card-shadow: 0 4px 24px rgba(0, 0, 0, .2);--font-size-xs: 14px;--font-size-sm: 16px;--font-size-base: 19px;--font-size-md: 21px;--font-size-lg: 24px;--font-size-xl: 26px}[data-theme=light]{color-scheme:light;--bg-primary: #f5f3f7;--bg-secondary: #ffffff;--bg-tertiary: #f0eef2;--bg-hover: #e8e5ed;--border-color: #e0dce5;--border-light: #d0cad8;--text-primary: #1a1523;--text-secondary: #5c5468;--text-muted: #8a8295;--card-shadow: 0 4px 24px rgba(0, 0, 0, .08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);line-height:1.5;transition:background .3s ease,color .3s ease;-webkit-user-select:text;user-select:text;cursor:default}body.no-scroll{overflow:hidden}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;cursor:text}a,button,select,summary,[role=button],[data-action],[onclick],.pointer{cursor:pointer!important}select,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),textarea{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}select option{background:var(--bg-secondary);color:var(--text-primary)}.icon{width:20px;height:20px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.icon-sm{width:16px;height:16px}.icon-lg{width:24px;height:24px}.app-container{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;transition:margin-left .3s ease}#sidebar-container:has(.sidebar.collapsed)+.main-content{margin-left:var(--sidebar-collapsed)}.page-content{padding:24px}.dashboard{flex:1;padding:1.5rem;overflow-y:auto}.top-row{display:grid;grid-template-columns:160px 160px 180px 1fr;gap:1rem;margin-bottom:1.5rem}.resource-section{margin-bottom:1.5rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.page-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.landing-hero{text-align:center;padding:60px 20px;max-width:800px;margin:0 auto}.landing-logo{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px}.logo-icon{width:64px;height:64px;color:var(--accent-primary)}.landing-logo h1{font-size:48px;font-weight:700;color:var(--text-primary);margin:0}.landing-subtitle{font-size:20px;color:var(--text-secondary);margin-bottom:40px}.landing-buttons{display:flex;gap:16px;justify-content:center;margin-bottom:80px}.btn-large{padding:14px 32px;font-size:16px}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:0 40px;max-width:1200px;margin:0 auto}.feature-card{text-align:center;padding:32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;transition:all .3s ease}.feature-card:hover{border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:0 8px 24px #0003}.feature-icon{width:64px;height:64px;margin:0 auto 20px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#a855f71a}.feature-icon svg{width:32px;height:32px;color:var(--accent-primary)}.feature-card h3{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.feature-card p{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.6}.login-box{width:100%;max-width:440px;padding:40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 32px #0000004d}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:56px;height:56px;color:var(--accent-primary);margin:0 auto 16px}.login-header h2{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.login-header p{font-size:14px;color:var(--text-secondary);margin:0}.login-form{margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.form-group input[type=email],.form-group input[type=password]{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;transition:all .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #a855f71a}.form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:14px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-secondary)}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.form-options a{color:var(--accent-primary);text-decoration:none;transition:color .2s ease}.form-options a:hover{color:#9333ea;text-decoration:underline}.btn-block{width:100%}.login-divider{position:relative;text-align:center;margin:24px 0}.login-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-color)}.login-divider span{position:relative;display:inline-block;padding:0 12px;background:var(--bg-secondary);color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.demo-logins{margin-bottom:24px}.demo-label{text-align:center;font-size:12px;color:var(--text-muted);margin-bottom:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.demo-logins .btn{margin-bottom:8px}.demo-logins .btn:last-child{margin-bottom:0}.login-footer{text-align:center;padding-top:24px;border-top:1px solid var(--border-color)}.login-footer a{color:var(--accent-primary);text-decoration:none;font-size:14px;transition:color .2s ease}.login-footer a:hover{color:#9333ea}@media(max-width:1024px){.landing-features{grid-template-columns:1fr;padding:0 20px}.landing-logo h1{font-size:36px}}@media(max-width:768px){.landing-hero{padding:40px 20px}.landing-buttons{flex-direction:column}.btn-large{width:100%}.login-box{margin:20px;padding:32px 24px}.landing-logo{flex-direction:column;gap:12px}.logo-icon{width:48px;height:48px}}#login-page.page-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.book{display:flex;width:100%;max-width:860px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 32px #0000004d;overflow:hidden}.page-left{flex:1;padding:48px 40px;display:flex;flex-direction:column;justify-content:center}.page-right{flex:1;padding:48px 40px;background:var(--bg-tertiary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;justify-content:center}.page-left .login-header{margin-bottom:32px}.page-left .login-logo{width:44px;height:44px;color:var(--accent-primary);margin-bottom:20px;display:block;stroke-width:1.5}.page-left .login-header h2{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.login-view{display:none;opacity:0;transition:opacity .25s ease}.login-view.active{display:block}.login-view.visible{opacity:1}.page-left .form-group{margin-bottom:20px}.page-left .form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.page-left .form-group input{width:100%;padding:11px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.page-left .form-group input::placeholder{color:var(--text-muted)}.page-left .form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #a855f71a}.page-left .form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:13px}.page-left .form-options--end{justify-content:flex-end}.page-left .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-secondary)}.page-left .checkbox-label input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--accent-primary)}.page-left a{color:var(--accent-primary);text-decoration:none;transition:color .2s ease;cursor:pointer}.page-left a:hover{color:var(--accent-hover, #9333ea);text-decoration:underline}.page-left .btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:11px 20px;font-size:14px;font-weight:600;font-family:inherit;border:none;border-radius:8px;cursor:pointer;transition:background .2s ease,transform .1s ease}.page-left .btn:active{transform:scale(.98)}.page-left .btn-primary{background:var(--accent-primary);color:#fff}.page-left .btn-primary:hover{background:var(--accent-hover, #9333ea)}.page-left .login-footer{text-align:center;padding-top:20px;margin-top:24px;border-top:1px solid var(--border-color);font-size:13px;color:var(--text-secondary)}.page-left .login-footer a{font-weight:600}.info-logo{width:40px;height:40px;color:var(--accent-primary);margin-bottom:24px;stroke-width:1.5}.info-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.info-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:32px}.info-features{list-style:none;display:flex;flex-direction:column;gap:18px;padding:0;margin:0}.info-features li{display:flex;gap:14px;align-items:flex-start}.feature-icon{width:20px;height:20px;color:var(--accent-primary);flex-shrink:0;margin-top:1px;stroke-width:1.8}.feature-text strong{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.feature-text span{font-size:13px;color:var(--text-muted);line-height:1.4}@media(max-width:768px){.book{flex-direction:column}.page-right{border-left:none;border-top:1px solid var(--border-color)}.page-left,.page-right{padding:32px 24px}}.login-error{padding:12px 16px;margin-bottom:20px;border-radius:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:13px;line-height:1.4}.otp-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:24px;line-height:1.5}#otp-code,#fp-otp{text-align:center;font-size:24px;letter-spacing:8px;font-weight:600;font-family:Source Code Pro,monospace}.resend-cooldown{opacity:.5;pointer-events:none}.login-success{padding:12px 16px;margin-bottom:20px;border-radius:8px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981;font-size:13px;line-height:1.4}
