:root{--bg:#080b12;--card:#101722;--cyan:#00d8ff;--success:#00ff9c;--warning:#ffc857;--danger:#ff5a5f;--text-primary:#e8edf5;--text-muted:#7a8899;--border:#ffffff12;--glass-bg:#101722a6;--glass-border:#00d8ff21}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}a{color:var(--cyan);text-decoration:none}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.loading-full{height:100vh;color:var(--text-muted);letter-spacing:.08em;justify-content:center;align-items:center;font-size:13px;display:flex}.morgan-orb{justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative}.morgan-orb__ring{border:2px solid var(--orb-color);opacity:.6;border-radius:50%;animation:2.4s ease-in-out infinite orb-ring-pulse;position:absolute;inset:0}.morgan-orb__core{background:radial-gradient(circle at 35% 35%, var(--orb-color-light), var(--orb-color));width:44px;height:44px;box-shadow:0 0 16px var(--orb-color), 0 0 32px var(--orb-color-alpha);border-radius:50%;animation:2.4s ease-in-out infinite orb-core-pulse}@keyframes orb-ring-pulse{0%,to{opacity:.6;box-shadow:0 0 0 0 var(--orb-color-alpha);transform:scale(1)}50%{opacity:.25;transform:scale(1.12);box-shadow:0 0 0 14px #0000}}@keyframes orb-core-pulse{0%,to{box-shadow:0 0 16px var(--orb-color), 0 0 32px var(--orb-color-alpha);transform:scale(1)}50%{box-shadow:0 0 24px var(--orb-color), 0 0 48px var(--orb-color-alpha);transform:scale(1.06)}}.morgan-orb--online{--orb-color:#00d8ff;--orb-color-light:#80ecff;--orb-color-alpha:#00d8ff40}.morgan-orb--offline{--orb-color:#ff5a5f;--orb-color-light:#ff9295;--orb-color-alpha:#ff5a5f40;animation-duration:0s}.morgan-orb--offline .morgan-orb__ring,.morgan-orb--offline .morgan-orb__core{animation:none}.morgan-orb--busy{--orb-color:#ffc857;--orb-color-light:#ffe0a0;--orb-color-alpha:#ffc85740;animation-duration:1.2s}.morgan-orb--busy .morgan-orb__ring,.morgan-orb--busy .morgan-orb__core{animation-duration:1.2s}.morgan-orb--sm{width:40px;height:40px}.morgan-orb--sm .morgan-orb__core{width:22px;height:22px}.morgan-orb--lg{width:120px;height:120px}.morgan-orb--lg .morgan-orb__core{width:64px;height:64px}.login-page{background:radial-gradient(ellipse 60% 50% at 50% 0%, #00d8ff12 0%, transparent 70%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);border-radius:16px;flex-direction:column;align-items:center;gap:32px;width:100%;max-width:400px;padding:48px 40px;display:flex}.login-branding{flex-direction:column;align-items:center;gap:20px;display:flex}.login-wordmark{letter-spacing:.22em;color:var(--text-muted);text-transform:uppercase;font-size:13px;font-weight:600}.login-form{flex-direction:column;gap:16px;width:100%;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500}.login-field input{border:1px solid var(--border);color:var(--text-primary);background:#0000004d;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-size:14px;transition:border-color .15s}.login-field input:focus{border-color:#00d8ff66}.login-field input::placeholder{color:var(--text-muted);opacity:.5}.login-error{color:var(--danger);text-align:center;background:#ff5a5f1a;border:1px solid #ff5a5f4d;border-radius:8px;padding:10px 14px;font-size:13px}.login-btn{background:var(--cyan);color:#080b12;letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:8px;width:100%;margin-top:4px;padding:13px;font-size:13px;font-weight:700;transition:opacity .15s,transform .1s}.login-btn:hover:not(:disabled){opacity:.9}.login-btn:active:not(:disabled){transform:scale(.98)}.login-btn:disabled{opacity:.45;cursor:not-allowed}.dashboard{background:radial-gradient(ellipse 70% 40% at 50% -5%, #00d8ff0f 0%, transparent 70%), var(--bg);flex-direction:column;min-height:100vh;display:flex}.dashboard-topbar{border-bottom:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);z-index:10;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.topbar-brand{letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:700}.topbar-brand span{color:var(--cyan)}.topbar-right{align-items:center;gap:16px;display:flex}.topbar-user{color:var(--text-muted);letter-spacing:.04em;font-size:12px}.logout-btn{border:1px solid var(--border);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;background:0 0;border-radius:6px;padding:7px 14px;font-size:12px;font-weight:500;transition:border-color .15s,color .15s}.logout-btn:hover{color:var(--danger);border-color:#ff5a5f66}.dashboard-main{flex-direction:column;flex:1;gap:32px;width:100%;max-width:1100px;margin:0 auto;padding:40px 32px;display:flex}.morgan-hero{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);border-radius:16px;align-items:center;gap:24px;padding:28px 32px;display:flex}.morgan-hero-text h1{color:var(--text-primary);margin-bottom:4px;font-size:20px;font-weight:600}.morgan-hero-text p{color:var(--text-muted);font-size:13px}.morgan-status-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--success);margin-top:8px;font-size:11px;font-weight:600}.section-heading{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:11px;font-weight:600}.agents-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.agent-card{background:var(--card);border:1px solid var(--border);border-radius:12px;align-items:center;gap:16px;padding:20px 24px;transition:border-color .2s;display:flex}.agent-card:hover{border-color:var(--glass-border)}.agent-info{flex:1}.agent-name{color:var(--text-primary);text-transform:capitalize;font-size:14px;font-weight:600}.agent-role{color:var(--text-muted);margin-top:2px;font-size:11px}.agent-status{letter-spacing:.08em;text-transform:uppercase;margin-top:6px;font-size:11px;font-weight:600}.agent-status--online{color:var(--success)}.agent-status--offline{color:var(--danger)}.agent-orb-wrap{flex-shrink:0}.finance-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px 28px}.finance-card--unavailable{color:var(--text-muted);align-items:center;gap:12px;font-size:13px;display:flex}.finance-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;margin-top:20px;display:grid}.finance-metric{flex-direction:column;gap:4px;display:flex}.finance-metric-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500}.finance-metric-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.finance-metric-value--negative{color:var(--danger)}.finance-metric-value--positive{color:var(--success)}.finance-metric-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.finance-divider{background:var(--border);height:1px;margin:20px 0}.finance-agent-costs{flex-direction:column;gap:8px;display:flex}.finance-agent-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.finance-agent-row-name{color:var(--text-muted);text-transform:capitalize}.finance-agent-row-value{color:var(--text-primary);font-variant-numeric:tabular-nums}.finance-tag{letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;border-radius:4px;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:600}.finance-tag--actual{color:var(--success);background:#00ff9c1f}.finance-tag--projected{color:var(--warning);background:#ffc8571f}.dashboard-loading,.dashboard-error{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 32px;font-size:14px;display:flex}.dashboard-error{color:var(--danger)}.generated-at{color:var(--text-muted);text-align:right;opacity:.6;margin-top:-16px;font-size:11px}
