*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--black: #1a1a1a;--red: #c8102e;--red-hover: #a80d25;--red-light: rgba(200, 16, 46, .06);--red-border: rgba(200, 16, 46, .12);--bg-page: #ffffff;--bg-subtle: #fafafa;--bg-card: #ffffff;--bg-card-hover: #fefefe;--bg-input: #f7f7f8;--bg-input-focus: #ffffff;--border-light: #f0f0f0;--border-default: #e5e5e5;--border-hover: #d0d0d0;--border-active: #1a1a1a;--text-primary: #1a1a1a;--text-secondary: #6b6b6b;--text-tertiary: #999999;--text-ghost: #c0c0c0;--text-inverse: #ffffff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 4px 20px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .08);--shadow-card-hover: 0 12px 48px rgba(0, 0, 0, .1);--green: #16a34a;--green-light: rgba(22, 163, 74, .08);--green-border: rgba(22, 163, 74, .15);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-2xl: 24px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ease: cubic-bezier(.16, 1, .3, 1);--duration: .25s}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font);color:var(--text-primary);background:var(--bg-page);line-height:1.5;min-height:100vh;overflow-x:hidden}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit;border:none;outline:none;background:none;color:inherit}.login-page{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.login-brand{display:flex;flex-direction:column;justify-content:center;padding:64px 72px;background:var(--black);color:var(--text-inverse);position:relative;overflow:hidden}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 40%,rgba(200,16,46,.06) 100%);pointer-events:none}.login-brand:after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:var(--red)}.login-brand-logo{width:200px;height:auto;margin-bottom:48px;position:relative;z-index:1}.login-brand h1{font-size:3rem;font-weight:800;letter-spacing:-.04em;line-height:1.08;margin-bottom:20px;position:relative;z-index:1}.login-brand h1 .highlight{color:var(--red)}.login-brand-desc{font-size:1.0625rem;color:#fff9;line-height:1.7;max-width:400px;margin-bottom:56px;position:relative;z-index:1}.login-systems{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.login-chip{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:100px;font-size:.8125rem;font-weight:500;color:#ffffffb3;transition:all var(--duration) var(--ease)}.login-chip-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff14}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:64px;background:var(--bg-page)}.login-card{width:100%;max-width:380px}.auth-tabs{display:flex;gap:0;margin-bottom:28px;border-bottom:1px solid var(--border-default)}.auth-tab{flex:1;padding:12px 0;font-size:.875rem;font-weight:600;color:var(--text-tertiary);border-bottom:2px solid transparent;transition:all var(--duration) var(--ease);margin-bottom:-1px}.auth-tab:hover{color:var(--text-secondary)}.auth-tab.active{color:var(--text-primary);border-bottom-color:var(--red)}.login-card-header{margin-bottom:28px}.login-card-header h2{font-size:1.625rem;font-weight:700;letter-spacing:-.025em;margin-bottom:8px;color:var(--text-primary)}.login-card-header p{font-size:.9375rem;color:var(--text-secondary)}.login-form{display:flex;flex-direction:column;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field-label{font-size:.8125rem;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.field-input-wrap{position:relative;display:flex;align-items:center}.field-input-wrap input{width:100%;padding:12px 44px 12px 16px;font-size:.9375rem;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--r-md);transition:all var(--duration) var(--ease)}.field-input-wrap input::placeholder{color:var(--text-ghost)}.field-input-wrap input:focus{background:var(--bg-input-focus);border-color:var(--black);box-shadow:0 0 0 3px #1a1a1a0f}.field-icon{position:absolute;right:14px;color:var(--text-ghost);pointer-events:none;transition:color var(--duration)}.field-input-wrap input:focus~.field-icon{color:var(--text-secondary)}.password-toggle{position:absolute;right:12px;padding:4px;color:var(--text-ghost);transition:color .15s;cursor:pointer}.password-toggle:hover{color:var(--text-primary)}.login-btn{width:100%;padding:13px;margin-top:4px;font-size:.9375rem;font-weight:600;color:var(--text-inverse);background:var(--black);border-radius:var(--r-md);transition:all var(--duration) var(--ease)}.login-btn:hover:not(:disabled){background:#2a2a2a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.3;cursor:not-allowed}.login-error{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:.8125rem;color:var(--red);background:var(--red-light);border:1px solid var(--red-border);border-radius:var(--r-md);animation:shakeX .35s ease-out}@keyframes shakeX{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.forgot-link{font-size:.75rem;font-weight:500;color:var(--text-tertiary);transition:color .15s;padding:0}.forgot-link:hover{color:var(--red)}.back-to-login{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);transition:color .15s}.back-to-login:hover{color:var(--text-primary)}.reset-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:8px 0}.reset-success h3{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.reset-success p{font-size:.875rem;color:var(--text-secondary);line-height:1.6}.login-footer{margin-top:40px;text-align:center;font-size:.75rem;color:var(--text-tertiary)}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-form-panel{padding:32px 24px}}.dashboard{min-height:100vh;background:var(--bg-subtle)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:var(--bg-page);border-bottom:1px solid var(--border-light);position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:14px}.topbar-logo{height:36px;width:auto}.topbar-divider{width:1px;height:24px;background:var(--border-default)}.topbar-brand{display:flex;flex-direction:column}.topbar-title{font-size:.875rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--text-primary)}.topbar-label{font-size:.6875rem;color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;font-weight:500}.topbar-right{display:flex;align-items:center;gap:12px}.user-pill{display:flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:100px;transition:all var(--duration) var(--ease)}.user-pill:hover{border-color:var(--border-hover);box-shadow:var(--shadow-xs)}.user-avatar{width:30px;height:30px;border-radius:50%;background:var(--black);display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;color:var(--text-inverse);flex-shrink:0}.user-pill-name{font-size:.8125rem;font-weight:500;color:var(--text-primary)}.signout-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);color:var(--text-tertiary);border:1px solid var(--border-light);transition:all var(--duration) var(--ease)}.signout-btn:hover{color:var(--red);border-color:var(--red-border);background:var(--red-light)}.dash-content{max-width:1080px;margin:0 auto;padding:48px 32px 80px}.greeting{margin-bottom:48px}.greeting-label{font-size:.8125rem;font-weight:500;color:var(--text-tertiary);margin-bottom:8px}.greeting h2{font-size:2.5rem;font-weight:800;letter-spacing:-.035em;line-height:1.15;margin-bottom:8px;color:var(--text-primary)}.greeting h2 .name{color:var(--red)}.greeting-sub{font-size:1rem;color:var(--text-secondary)}.systems-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.system-card{position:relative;padding:32px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--r-xl);cursor:pointer;overflow:hidden;transition:all .35s var(--ease);display:flex;flex-direction:column;box-shadow:var(--shadow-xs)}.system-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.system-card .spotlight{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .4s var(--ease);pointer-events:none;border-radius:inherit}.system-card:hover .spotlight{opacity:1}.system-card .card-accent{position:absolute;top:0;left:0;right:0;height:3px;opacity:0;transition:opacity .35s var(--ease)}.system-card:hover .card-accent{opacity:1}.card-logo-wrap{width:64px;height:64px;border-radius:var(--r-md);background:var(--bg-subtle);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;padding:10px;margin-bottom:24px;position:relative;z-index:2;transition:all .35s var(--ease)}.system-card:hover .card-logo-wrap{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.card-logo{width:100%;height:100%;object-fit:contain}.card-body{flex:1;position:relative;z-index:2}.card-name{font-size:1.125rem;font-weight:700;letter-spacing:-.02em;margin-bottom:8px;line-height:1.2;color:var(--text-primary)}.card-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.65}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:28px;position:relative;z-index:2}.card-launch-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;font-size:.8125rem;font-weight:600;color:var(--text-inverse);border-radius:var(--r-sm);transition:all var(--duration) var(--ease)}.card-launch-btn:hover{filter:brightness(1.1)}.card-launch-btn .arrow{transition:transform var(--duration) var(--ease)}.system-card:hover .card-launch-btn .arrow{transform:translate(3px)}.card-status{display:flex;align-items:center;gap:5px;font-size:.6875rem;font-weight:500;color:var(--green);padding:5px 10px;background:var(--green-light);border:1px solid var(--green-border);border-radius:100px;position:relative;z-index:2}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--green);animation:pulse 2.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@media(max-width:900px){.systems-row{grid-template-columns:1fr}.topbar{padding:12px 16px}.dash-content{padding:32px 16px 64px}.greeting h2{font-size:1.75rem}.user-pill-name{display:none}}@media(max-width:480px){.system-card{padding:24px}.greeting h2{font-size:1.5rem}}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;flex-direction:column;gap:16px}.loading-spinner{width:40px;height:40px;border:2px solid var(--border-default);border-top-color:var(--red);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:.8125rem;color:var(--text-tertiary)}
