@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--bg-base: #0b0f19;--bg-surface: #141c2f;--bg-card: rgba(22, 30, 52, .7);--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(139, 92, 246, .3);--color-primary: #8b5cf6;--color-primary-light: #a78bfa;--color-accent: #d946ef;--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .1);--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .1);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--shadow-premium: 0 10px 30px -10px rgba(0, 0, 0, .5);--shadow-accent: 0 0 20px rgba(139, 92, 246, .15)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-base);color:var(--color-text-primary);line-height:1.5;overflow-x:hidden;min-height:100vh;background-image:radial-gradient(circle at 10% 20%,rgba(139,92,246,.08) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(217,70,239,.06) 0%,transparent 40%)}#root{min-height:100vh;display:flex;flex-direction:column}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#0b0f19cc;border-bottom:1px solid var(--border-color);padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.logo{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:800;background:linear-gradient(135deg,var(--color-primary-light),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.logo-icon{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;width:2.2rem;height:2.2rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-weight:800;-webkit-text-fill-color:initial}.connection-pill{font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:2rem;background:#ffffff08;border:1px solid var(--border-color)}.pulse{width:8px;height:8px;border-radius:50%;background-color:var(--color-warning);display:inline-block}.pulse.online{background-color:var(--color-success);box-shadow:0 0 8px var(--color-success);animation:pulse-animation 2s infinite}.pulse.offline{background-color:var(--color-danger);box-shadow:0 0 8px var(--color-danger)}@keyframes pulse-animation{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.main-container{max-width:1200px;width:100%;margin:0 auto;padding:2.5rem 1.5rem;flex:1;display:flex;flex-direction:column;gap:2.5rem}.page-intro{margin-bottom:.5rem}.page-intro h1{font-size:2.25rem;font-weight:800;letter-spacing:-.025em;margin-bottom:.5rem}.page-intro p{color:var(--color-text-secondary);font-size:1.05rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:1rem;padding:1.75rem;box-shadow:var(--shadow-premium);transition:var(--transition-smooth);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:transparent;transition:var(--transition-smooth)}.card:hover{transform:translateY(-4px);border-color:var(--border-hover);box-shadow:var(--shadow-accent)}.card.primary-gradient-border:before{background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.card-title{font-size:1.15rem;font-weight:700;color:var(--color-text-primary)}.badge{font-size:.75rem;font-weight:700;text-transform:uppercase;padding:.25rem .75rem;border-radius:1rem;letter-spacing:.5px}.badge.success{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(16,185,129,.2)}.badge.danger{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(239,68,68,.2)}.badge.warning{background-color:var(--color-warning-bg);color:var(--color-warning);border:1px solid rgba(245,158,11,.2)}.badge.primary{background-color:#8b5cf61a;color:var(--color-primary-light);border:1px solid rgba(139,92,246,.2)}.status-value{font-size:1.75rem;font-weight:800;margin-bottom:.5rem;display:flex;align-items:baseline;gap:.5rem}.status-unit{font-size:.9rem;font-weight:500;color:var(--color-text-secondary)}.status-detail{font-size:.85rem;color:var(--color-text-muted)}.tenant-explorer{display:grid;grid-template-columns:1fr 2fr;gap:2rem}@media (max-width: 768px){.tenant-explorer{grid-template-columns:1fr}}.tenant-selector-panel{display:flex;flex-direction:column;gap:1rem}.tenant-list{display:flex;flex-direction:column;gap:.75rem}.tenant-item{background:#ffffff05;border:1px solid var(--border-color);border-radius:.75rem;padding:1rem 1.25rem;cursor:pointer;transition:var(--transition-smooth);display:flex;justify-content:space-between;align-items:center}.tenant-item:hover{background:#ffffff0a;border-color:#8b5cf633}.tenant-item.active{background:#8b5cf614;border-color:var(--color-primary);box-shadow:0 0 15px #8b5cf61a}.tenant-name-col{display:flex;flex-direction:column;gap:.2rem}.tenant-name{font-weight:700;font-size:1rem}.tenant-domain{font-size:.8rem;color:var(--color-text-secondary)}.tenant-details-panel{display:flex;flex-direction:column;gap:1.5rem}.tenant-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.meta-item{background:#ffffff05;border:1px solid var(--border-color);border-radius:.5rem;padding:1rem}.meta-label{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:.25rem}.meta-value{font-size:1.1rem;font-weight:700}.code-block{background:#0000004d;font-family:Courier New,Courier,monospace;padding:1rem;border-radius:.5rem;font-size:.85rem;overflow-x:auto;border:1px solid var(--border-color);margin-top:.5rem;color:var(--color-text-secondary)}.flex-center{display:flex;align-items:center;gap:.5rem}.btn{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:var(--transition-smooth);display:flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #d946ef66}.btn:active{transform:translateY(0)}.btn-secondary{background:#ffffff0d;border:1px solid var(--border-color);color:var(--color-text-primary)}.btn-secondary:hover{background:#ffffff14;border-color:var(--color-text-secondary);box-shadow:none}.app-footer{border-top:1px solid var(--border-color);padding:1.5rem;text-align:center;font-size:.85rem;color:var(--color-text-muted);margin-top:auto}.auth-container{display:flex;align-items:center;justify-content:center;flex:1;padding:2rem 1.5rem;min-height:calc(100vh - 140px)}.auth-card{width:100%;max-width:440px;background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:1.25rem;padding:2.5rem;box-shadow:var(--shadow-premium);position:relative;overflow:hidden;transition:var(--transition-smooth)}.auth-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.auth-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-accent)}.auth-title{font-size:1.75rem;font-weight:800;text-align:center;margin-bottom:.75rem;background:linear-gradient(135deg,var(--color-primary-light),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.auth-subtitle{color:var(--color-text-secondary);text-align:center;font-size:.9rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.form-label{font-size:.85rem;font-weight:600;color:var(--color-text-primary);display:flex;justify-content:space-between;align-items:center}.form-input{background:#0003;border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem 1rem;color:var(--color-text-primary);font-family:var(--font-sans);font-size:.95rem;transition:var(--transition-smooth)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 10px #8b5cf640;background:#0000004d}.auth-error-box{background:var(--color-danger-bg);border:1px solid rgba(239,68,68,.2);color:var(--color-danger);padding:.75rem 1rem;border-radius:.5rem;font-size:.85rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.auth-switch{margin-top:1.5rem;text-align:center;font-size:.875rem;color:var(--color-text-secondary)}.auth-link{color:var(--color-primary-light);text-decoration:none;font-weight:700;cursor:pointer;transition:var(--transition-smooth)}.auth-link:hover{color:var(--color-accent);text-decoration:underline}.user-menu{display:flex;align-items:center;gap:1rem}.user-pill{display:flex;align-items:center;gap:.5rem;padding:.4rem 1rem;background:#ffffff08;border:1px solid var(--border-color);border-radius:2rem;font-size:.85rem}.user-avatar{width:1.5rem;height:1.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.user-email{font-weight:600;color:var(--color-text-primary)}.user-role-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.1rem .4rem;border-radius:.25rem;background:#8b5cf626;color:var(--color-primary-light);border:1px solid rgba(139,92,246,.3)}.logout-btn{background:transparent;border:1px solid var(--border-color);color:var(--color-text-secondary);padding:.4rem .8rem;border-radius:2rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition-smooth)}.logout-btn:hover{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.dropdown{position:relative;display:inline-block}.dropdown-toggle{background:#ffffff08;border:1px solid var(--border-color);color:var(--color-text-primary);padding:.45rem 1.25rem;border-radius:2rem;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:var(--transition-smooth)}.dropdown-toggle:hover{border-color:var(--border-hover);background:#8b5cf60d}.dropdown-menu{position:absolute;top:100%;left:0;margin-top:.5rem;background:#121824;border:1px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow-premium);min-width:240px;overflow:hidden;z-index:1000;display:none}.dropdown-menu.show{display:block;animation:dropdown-fade-in .2s cubic-bezier(.16,1,.3,1)}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;padding:.75rem 1.25rem;background:transparent;border:none;color:var(--color-text-primary);font-family:var(--font-sans);font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:var(--transition-smooth)}.dropdown-item:hover{background:#8b5cf614;color:var(--color-primary-light)}.dropdown-item.active{background:#8b5cf626;color:var(--color-primary-light);font-weight:700}.dropdown-divider{height:1px;background:var(--border-color);margin:.25rem 0}.dropdown-item.action-item{color:var(--color-primary-light);font-weight:600}.dropdown-item.action-item:hover{background:#d946ef14;color:var(--color-accent)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0b0f19d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fade-in .25s ease-out}.modal-content{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:1.25rem;width:100%;max-width:480px;padding:2.25rem;box-shadow:var(--shadow-premium);position:relative;animation:scale-in .25s cubic-bezier(.34,1.56,.64,1)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{transform:scale(.9) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-title{font-size:1.35rem;font-weight:800;background:linear-gradient(135deg,var(--color-primary-light),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.modal-close{background:transparent;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;transition:var(--transition-smooth)}.modal-close:hover{color:var(--color-text-primary)}.member-table-container{overflow-x:auto;border-radius:.75rem;border:1px solid var(--border-color);background:#ffffff03;margin-top:1rem}.member-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.member-table th{background:#ffffff05;padding:1rem 1.25rem;font-weight:700;color:var(--color-text-secondary);border-bottom:1px solid var(--border-color)}.member-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.member-table tr:last-child td{border-bottom:none}.select-input{background:#0000004d;border:1px solid var(--border-color);color:var(--color-text-primary);padding:.4rem .75rem;border-radius:.5rem;font-family:var(--font-sans);font-size:.85rem;outline:none;cursor:pointer;transition:var(--transition-smooth)}.select-input:focus{border-color:var(--color-primary);box-shadow:0 0 8px #8b5cf633}.select-input:disabled{opacity:.6;cursor:not-allowed}.inline-form{display:flex;gap:.75rem;align-items:flex-end;background:#ffffff05;border:1px solid var(--border-color);padding:1.25rem;border-radius:.75rem;margin-bottom:1.5rem}@media (max-width: 600px){.inline-form{flex-direction:column;align-items:stretch}}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.welcome-box{text-align:center;max-width:540px;margin:3rem auto;padding:3rem 2.5rem}.welcome-box h2{font-size:1.85rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,var(--color-primary-light),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.welcome-box p{color:var(--color-text-secondary);font-size:1rem;margin-bottom:2rem;line-height:1.6}
