@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-bg: #f8f9fc;--color-bg-secondary: #ffffff;--color-bg-tertiary: #eef1f6;--color-bg-hover: #e8ecf4;--color-text: #1a1d27;--color-text-secondary: #5f6577;--color-text-muted: #9096a8;--color-border: #dde1ea;--color-border-subtle: #eef1f6;--color-accent: #6366f1;--color-accent-hover: #4f46e5;--color-accent-soft: rgba(99, 102, 241, .1);--color-accent-glow: rgba(99, 102, 241, .25);--color-success: #22c55e;--color-success-soft: rgba(34, 197, 94, .1);--color-warning: #f59e0b;--color-warning-soft: rgba(245, 158, 11, .1);--color-error: #ef4444;--color-error-soft: rgba(239, 68, 68, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .08);--shadow-glow: 0 0 20px var(--color-accent-glow);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 240px;--header-height: 56px}[data-theme=dark]{--color-bg: #0f1117;--color-bg-secondary: #181a24;--color-bg-tertiary: #1e2130;--color-bg-hover: #252838;--color-text: #e8eaf0;--color-text-secondary: #9096a8;--color-text-muted: #5f6577;--color-border: #2a2d3d;--color-border-subtle: #1e2130;--color-accent: #818cf8;--color-accent-hover: #6366f1;--color-accent-soft: rgba(129, 140, 248, .12);--color-accent-glow: rgba(129, 140, 248, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;transition:background-color var(--transition-slow),color var(--transition-slow);overflow:hidden;height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::selection{background:var(--color-accent-soft);color:var(--color-accent)}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);height:100vh;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-shrink:0;z-index:40}.sidebar-header{padding:var(--space-5);border-bottom:1px solid var(--color-border-subtle);height:var(--header-height);display:flex;align-items:center}.sidebar-logo{text-decoration:none;font-weight:700;font-size:var(--text-lg);background:linear-gradient(135deg,var(--color-accent),#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-3)}.sidebar-section-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-3) var(--space-3) var(--space-2)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:all var(--transition-fast)}.sidebar-link:hover{background:var(--color-bg-hover);color:var(--color-text)}.sidebar-link.active{background:var(--color-accent-soft);color:var(--color-accent)}.sidebar-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-subtle);display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm);color:var(--color-text-muted)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.main-header{height:var(--header-height);padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);flex-shrink:0}.main-header-left{display:flex;align-items:center;gap:var(--space-4)}.main-header-title{font-size:var(--text-lg);font-weight:600}.main-header-right{display:flex;align-items:center;gap:var(--space-3)}.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;color:var(--color-text);font-size:var(--text-xl);cursor:pointer;border-radius:var(--radius-sm)}.main-body{flex:1;overflow-y:auto;padding:var(--space-6)}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary)}.card-body{padding:var(--space-5)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.stat-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--color-text)}.stat-change{font-size:var(--text-xs);font-weight:500}.stat-change.positive{color:var(--color-success)}.stat-change.negative{color:var(--color-error)}.monitor-list{display:flex;flex-direction:column;gap:var(--space-3)}.monitor-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);text-decoration:none;color:var(--color-text)}.monitor-row:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.monitor-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.monitor-status-dot.up{background:var(--color-success);box-shadow:0 0 8px #22c55e66}.monitor-status-dot.down{background:var(--color-error);box-shadow:0 0 8px #ef444466}.monitor-status-dot.unknown{background:var(--color-text-muted)}.monitor-info{flex:1;min-width:0}.monitor-name{font-weight:600;font-size:var(--text-sm)}.monitor-url{font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);flex-shrink:0}.uptime-bar{display:flex;gap:2px;height:28px;align-items:stretch}.uptime-bar-segment{flex:1;border-radius:2px;min-width:3px;transition:opacity var(--transition-fast)}.uptime-bar-segment.up{background:var(--color-success)}.uptime-bar-segment.down{background:var(--color-error)}.uptime-bar-segment.unknown{background:var(--color-bg-tertiary)}.uptime-bar-segment:hover{opacity:.7}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.form-input{padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.form-input::placeholder{color:var(--color-text-muted)}.form-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.form-error{font-size:var(--text-xs);color:var(--color-error)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--color-accent),#8b5cf6);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-hover);color:var(--color-text)}.btn-danger{background:var(--color-error-soft);color:var(--color-error);border:1px solid transparent}.btn-danger:hover{background:var(--color-error);color:#fff}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text)}.btn-icon{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-lg);transition:all var(--transition-fast)}.btn-icon:hover{background:var(--color-bg-hover);color:var(--color-text)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--text-xs);font-weight:500;border-radius:999px}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-error{background:var(--color-error-soft);color:var(--color-error)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-4)}.auth-card{width:100%;max-width:400px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-8)}.auth-card h1{font-size:var(--text-2xl);font-weight:700;text-align:center;margin-bottom:var(--space-2);background:linear-gradient(135deg,var(--color-accent),#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-card .subtitle{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-6)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-form .btn-primary{width:100%;justify-content:center;padding:var(--space-3);font-size:var(--text-base);margin-top:var(--space-2)}.auth-footer{text-align:center;margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted)}.auth-footer a{color:var(--color-accent);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.oauth-buttons{display:flex;flex-direction:column;gap:var(--space-3)}.btn-oauth{width:100%;justify-content:center;padding:var(--space-3);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all var(--transition-fast)}.btn-github{background:#24292e;color:#fff}.btn-github:hover{background:#2f363d;border-color:#444d56;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-google{background:var(--color-bg);color:var(--color-text)}.btn-google:hover{background:var(--color-bg-hover);border-color:var(--color-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.auth-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-5) 0;color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center;color:var(--color-text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.empty-state-desc{font-size:var(--text-sm);max-width:320px;margin-bottom:var(--space-5)}.landing-body{overflow-y:auto;height:100vh}.landing-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px var(--space-6) 80px;position:relative}.landing-hero h1{font-size:3.5rem;font-weight:800;line-height:1.1;background:linear-gradient(135deg,var(--color-accent),#a78bfa,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-5)}.landing-hero p{font-size:var(--text-xl);color:var(--color-text-secondary);max-width:560px;margin-bottom:var(--space-8)}.landing-nav{position:fixed;top:0;left:0;right:0;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);background:rgba(var(--color-bg),.8);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);z-index:50}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-5);max-width:1000px;margin:0 auto;padding:0 var(--space-6) 80px}.feature-card{padding:var(--space-6);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.feature-card:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.feature-icon{font-size:2rem;margin-bottom:var(--space-3)}.feature-title{font-weight:600;margin-bottom:var(--space-2)}.feature-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.chart-container{width:100%;height:200px}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform var(--transition-slow)}.sidebar.open{transform:translate(0)}.mobile-menu-btn{display:flex}.main-body{padding:var(--space-4)}.stats-grid{grid-template-columns:repeat(2,1fr)}.landing-hero h1{font-size:2rem}.landing-hero{padding:80px var(--space-4) 40px}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.monitor-meta{display:none}}
