:root{--primary: #1a1a2e;--accent: #4a90d9;--accent-hover: #3a7bc8;--dark: #333;--medium: #666;--light: #f5f5f5;--white: #fff;--border: #e5e5e5;--success: #166534;--success-bg: #f0fdf4;--success-border: #bbf7d0;--error: #991b1b;--error-bg: #fef2f2;--error-border: #fecaca;--github: #24292f;--github-hover: #1b1f23;--slack: #4A154B;--slack-hover: #611f69;--radius: 8px;--radius-lg: 12px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--font: "Plus Jakarta Sans", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);color:var(--dark);line-height:1.6;background:var(--light);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.auth-page{min-height:100vh;display:flex;flex-direction:column}.auth-nav{background:var(--white);border-bottom:1px solid var(--border);padding:16px 24px}.auth-nav-inner{max-width:1140px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{font-size:20px;font-weight:700;letter-spacing:1px;text-decoration:none!important}.logo:hover{text-decoration:none!important}.logo-ambient{color:var(--medium)}.logo-meta{color:var(--accent)}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}.auth-card{background:var(--white);border-radius:var(--radius-lg);padding:48px;box-shadow:var(--shadow-card);width:100%;max-width:440px}.auth-card h1{font-size:28px;font-weight:700;color:var(--primary);margin-bottom:8px;text-align:center}.auth-subtitle{color:var(--medium);text-align:center;margin-bottom:32px;font-size:15px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--dark)}.form-input{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:var(--radius);font-size:16px;font-family:var(--font);transition:border-color .2s,box-shadow .2s;background:var(--white)}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4a90d91a}.form-input::placeholder{color:#aaa}.btn{width:100%;padding:14px 24px;border:none;border-radius:var(--radius);font-size:16px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-github{background:var(--github);color:var(--white)}.btn-github:hover:not(:disabled){background:var(--github-hover)}.btn-slack{background:var(--slack);color:var(--white)}.btn-slack:hover:not(:disabled){background:var(--slack-hover)}.btn-outline{background:var(--white);color:var(--dark);border:1px solid #ddd}.btn-outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.oauth-buttons{display:flex;flex-direction:column;gap:12px}.divider{display:flex;align-items:center;margin:24px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ddd}.divider span{padding:0 16px;color:var(--medium);font-size:14px}.msg-error{padding:12px 16px;border-radius:var(--radius);margin-bottom:20px;font-size:14px;background:var(--error-bg);border:1px solid var(--error-border);color:var(--error)}.msg-success{padding:12px 16px;border-radius:var(--radius);margin-bottom:20px;font-size:14px;background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.auth-footer{text-align:center;margin-top:24px;font-size:14px;color:var(--medium)}.auth-footer a{font-weight:600}.forgot-link{text-align:right;margin:-12px 0 20px;font-size:14px}.page-footer{text-align:center;padding:24px;color:var(--medium);font-size:14px}.dashboard-wrap{max-width:960px;margin:0 auto;padding:24px;min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:24px}.dashboard-header-left{display:flex;align-items:center;gap:12px}.dashboard-header-right{display:flex;gap:16px;align-items:center}.dashboard-user{font-size:14px;color:var(--medium)}.btn-logout{padding:6px 14px;cursor:pointer;background:none;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:var(--font);color:var(--dark);transition:all .2s}.btn-logout:hover{border-color:var(--accent);color:var(--accent)}.dashboard-nav{display:flex;gap:6px;margin-bottom:32px;flex-wrap:wrap}.nav-link{padding:8px 16px;border-radius:6px;text-decoration:none!important;font-size:14px;font-weight:500;transition:all .15s}.nav-link-inactive{background:var(--white);color:var(--medium);border:1px solid var(--border)}.nav-link-inactive:hover{color:var(--dark);border-color:#ccc}.nav-link-active{background:var(--primary);color:var(--white);border:1px solid var(--primary)}.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.admin-grid-4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px}.admin-card,.admin-stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--medium);padding:8px 12px;border-bottom:2px solid var(--border)}.admin-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.admin-table tbody tr:hover{background:#fafafa}.admin-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.admin-badge-active{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.admin-badge-inactive{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.admin-badge-free{background:#f3f4f6;color:#555}.admin-badge-pro{background:#eff6ff;color:#1d4ed8}.admin-badge-developer{background:#f0fdf4;color:#166534}.admin-badge-team{background:#fdf4ff;color:#7e22ce}.admin-badge-scale{background:#fff7ed;color:#c2410c}.admin-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;font-family:var(--font);cursor:pointer;transition:all .15s}.admin-btn-danger{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.admin-btn-danger:hover{background:#fecaca}.admin-btn-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.admin-btn-success:hover{background:#bbf7d0}.admin-btn-sm{padding:4px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:var(--font);background:var(--white);color:var(--dark);cursor:pointer;transition:all .15s}.admin-btn-sm:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.admin-btn-sm:disabled{opacity:.4;cursor:not-allowed}.admin-btn-sm.admin-btn-danger{background:var(--error-bg);color:var(--error);border-color:var(--error-border)}.admin-btn-sm.admin-btn-success{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}@media (max-width: 768px){.admin-grid-2,.admin-grid-3{grid-template-columns:1fr}.admin-grid-4{grid-template-columns:1fr 1fr}.admin-table{font-size:13px}.admin-table th,.admin-table td{padding:8px}}@media (max-width: 480px){.auth-card{padding:32px 24px;border-radius:var(--radius)}.auth-card h1{font-size:24px}.auth-main{padding:40px 16px 24px;align-items:flex-start}}
