@import"https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap";:root{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-card: #16213e;--bg-card-hover: #1c2a4a;--accent: #00d4ff;--accent-alt: #7b2ff7;--accent-green: #00e676;--accent-yellow: #ffd600;--accent-orange: #ff9100;--accent-red: #ff1744;--text-primary: #e8e8f0;--text-secondary: #a0a0b8;--text-muted: #6b6b80;--border: #2a2a40;--shadow: 0 4px 24px rgba(0, 0, 0, .3);--radius: 12px;--radius-sm: 8px;--font: "Manrope", "Segoe UI", "Helvetica Neue", sans-serif;--font-pro: "Source Sans 3", "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:radial-gradient(circle at 12% 8%,rgba(50,88,184,.32),transparent 38%),radial-gradient(circle at 84% 18%,rgba(53,67,128,.24),transparent 34%),linear-gradient(160deg,#080c1c,#0a1023 56%,#090e1c);color:var(--text-primary);line-height:1.6;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{background:linear-gradient(135deg,var(--accent),var(--accent-alt));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:22px 24px;max-width:1260px;margin:0 auto;width:100%}@media(max-width:1024px){.main-content{padding:20px 18px}.app-brand{min-width:220px}.app-brand-copy h1{font-size:1.45rem}.app-brand-copy p{font-size:.76rem}}.app-header{background:linear-gradient(180deg,#0d1326fa,#0a0f20f7);border-bottom:1px solid rgba(102,121,179,.32);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-brand{display:flex;align-items:center;gap:12px;min-width:290px}.app-brand-logo{width:38px;height:38px;border:1px solid rgba(112,142,214,.45);border-radius:12px;color:#8cb1ff;display:inline-flex;align-items:center;justify-content:center;background:#121c3acc;box-shadow:inset 0 0 0 1px #4d68ad33}.app-brand-logo svg{width:24px;height:24px}.app-brand-copy h1{margin:0;font-size:1.9rem;line-height:1.1;font-weight:650;color:#f4f7ff;background:none;-webkit-text-fill-color:currentColor}.app-brand-copy p{margin:2px 0 0;font-size:.78rem;color:#8f9cbc;font-family:var(--font-pro);line-height:1.2}.header-actions{display:flex;align-items:center;gap:14px}.app-header nav{display:flex;gap:6px}.burger-btn{display:none;width:42px;height:42px;border:1px solid var(--border);border-radius:10px;background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}.burger-btn span{display:block;width:18px;height:2px;background:var(--text-primary);transition:transform .2s ease,opacity .2s ease}.burger-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger-btn.open span:nth-child(2){opacity:0}.burger-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.app-header nav a{color:#b4bfd8;font-size:.95rem;font-weight:500;padding:10px 12px;border-radius:9px;transition:all .2s;border:1px solid transparent;display:inline-flex;align-items:center;gap:6px}.app-header nav a:hover,.app-header nav a.active{color:#f1f5ff;background:#1c274a9e;border-color:#6276b173;text-decoration:none}.nav-icon{width:14px;height:14px;display:inline-flex}.nav-icon svg{width:14px;height:14px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0006}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,var(--accent),var(--accent-alt));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:all .2s;font-family:var(--font)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-alt));color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card-hover)}.btn-danger{background:var(--accent-red);color:#fff}.btn-sm{padding:6px 14px;font-size:.8rem}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font);font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.score-excellent{color:var(--accent-green)}.score-good{color:var(--accent)}.score-warning{color:var(--accent-yellow)}.score-poor{color:var(--accent-orange)}.score-critical{color:var(--accent-red)}.grade-badge{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-weight:800;font-size:.9rem}.grade-A\+{background:#00e67626;color:var(--accent-green)}.grade-A{background:#00d4ff26;color:var(--accent)}.grade-B{background:#00d4ff1a;color:var(--accent)}.grade-C{background:#ffd60026;color:var(--accent-yellow)}.grade-D{background:#ff910026;color:var(--accent-orange)}.grade-E,.grade-F{background:#ff174426;color:var(--accent-red)}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:60px}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px;color:var(--text-muted)}.empty-state h3{font-size:1.2rem;margin-bottom:8px;color:var(--text-secondary)}.tag{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:600;background:#00d4ff1a;color:var(--accent)}.page-header{margin-bottom:24px}.page-header h2{font-size:1.6rem;font-weight:700;margin-bottom:4px}.page-header p{color:var(--text-secondary);font-size:.95rem}@media(max-width:768px){.main-content{padding:16px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.app-header{flex-wrap:wrap;gap:10px;padding:12px 14px}.app-brand{min-width:0;flex:1}.app-brand-copy h1{font-size:1.05rem}.app-brand-copy p{font-size:.76rem}.app-brand-logo{width:34px;height:34px}.app-brand-logo svg{width:20px;height:20px}.burger-btn{display:inline-flex;margin-left:auto}.header-actions{display:none;width:100%;flex-direction:column;gap:10px;background:#0d142af2;border:1px solid rgba(98,118,177,.45);border-radius:var(--radius);padding:12px}.header-actions.open{display:flex}.app-header nav{width:100%;flex-direction:column}.app-header nav a,.app-header .btn-logout{width:100%;text-align:left}.app-header .btn-logout{margin-top:4px}}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);padding:24px}.login-card{width:100%;max-width:400px;text-align:center}.login-card h2{font-size:1.6rem;margin-bottom:4px;background:linear-gradient(135deg,var(--accent),var(--accent-alt));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card .form-group{text-align:left}.login-error{background:#ff17441a;border:1px solid var(--accent-red);color:var(--accent-red);padding:10px 14px;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:16px}.btn-logout{background:#101831c7;border:1px solid rgba(98,118,177,.45);color:#d7e0f5;font-size:.92rem;font-weight:500;padding:9px 16px;border-radius:10px;cursor:pointer;transition:all .2s}.btn-logout:hover{color:#ffb8c3;border-color:#ff6c82b3;background:#471b2b75}.auth-divider{display:flex;align-items:center;margin:20px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-divider span{padding:0 14px;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.login-info{background:#00d4ff14;border:1px solid var(--accent);color:var(--accent);padding:10px 14px;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:16px}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;font-family:var(--font);font-weight:600;padding:0;text-decoration:none;transition:color .2s}.btn-link:hover{color:var(--accent-alt);text-decoration:underline}.google-btn-placeholder{display:flex;align-items:center;justify-content:center;width:100%;padding:10px 16px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.8rem;cursor:default}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
