.controls[data-v-396b5125]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.controls label[data-v-396b5125]{display:flex;align-items:center;gap:6px;color:#e0e0e0}.controls input[type=date][data-v-396b5125],.controls input[type=text][data-v-396b5125]{background:#2a2a2a;color:#e0e0e0;border:1px solid #444;padding:6px 10px;border-radius:4px}.controls input[type=date][data-v-396b5125]:focus,.controls input[type=text][data-v-396b5125]:focus{outline:none;border-color:#2d7ff9}.controls button[data-v-396b5125]{background:#2d7ff9;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;transition:background .2s}.controls button[data-v-396b5125]:hover{background:#1e5fcf}h2[data-v-396b5125],h3[data-v-396b5125]{color:#e0e0e0}table[data-v-396b5125]{width:100%;border-collapse:collapse;margin-bottom:12px;background:#1e1e1e}th[data-v-396b5125],td[data-v-396b5125]{border:1px solid #404040;padding:8px;color:#e0e0e0}th[data-v-396b5125]{background:#2a2a2a;font-weight:600}tr[data-v-396b5125]:hover{background:#252525}.epic[data-v-396b5125]{margin-bottom:18px;padding:16px;background:#1a1a1a;border-radius:8px;border:1px solid #333}section[data-v-396b5125]{margin-bottom:24px}.loading-bar[data-v-396b5125]{display:flex;align-items:center;gap:10px;margin:12px 0}.loading-bar__track[data-v-396b5125]{position:relative;flex:1;height:10px;background:#2a2a2a;border-radius:6px;overflow:hidden}.loading-bar__progress[data-v-396b5125]{position:absolute;top:0;left:0;height:100%;width:40%;background:#2d7ff9;border-radius:6px;animation:lb-shift-396b5125 1.2s infinite ease-in-out}.loading-bar__text[data-v-396b5125]{font-size:.95em;color:#b0b0b0}@keyframes lb-shift-396b5125{0%{transform:translate(-50%)}50%{transform:translate(100%)}to{transform:translate(250%)}}.login-container[data-v-0f9e4e15]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card[data-v-0f9e4e15]{background:#fff;padding:3rem;border-radius:12px;box-shadow:0 10px 40px #0003;text-align:center;max-width:400px;width:100%}.login-card h1[data-v-0f9e4e15]{margin:0 0 .5rem;color:#333;font-size:2rem}.login-card p[data-v-0f9e4e15]{margin:0 0 2rem;color:#666}.login-button[data-v-0f9e4e15]{background:#667eea;color:#fff;border:none;padding:1rem 2rem;font-size:1rem;border-radius:6px;cursor:pointer;width:100%;transition:background .3s ease}.login-button[data-v-0f9e4e15]:hover:not(:disabled){background:#5568d3}.login-button[data-v-0f9e4e15]:disabled{opacity:.6;cursor:not-allowed}.error-message[data-v-0f9e4e15]{margin-top:1rem;color:#e74c3c;font-size:.9rem}.auth-callback[data-v-f21b886d]{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.spinner[data-v-f21b886d]{border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;width:50px;height:50px;animation:spin-f21b886d 1s linear infinite;margin-bottom:1rem}@keyframes spin-f21b886d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-callback p[data-v-f21b886d]{font-size:1.2rem;margin:0}body{font-family:system-ui,Arial;margin:0;padding:0;background:#121212;color:#e0e0e0}.app{min-height:100vh;background:#121212}.container{max-width:900px;margin:0 auto;padding:16px;background:#121212}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #333}.header h1{margin:0;font-size:1.8rem;color:#e0e0e0}.user-info{display:flex;align-items:center;gap:1rem}.user-info span{color:#b0b0b0;font-size:.9rem}.logout-btn{background:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.logout-btn:hover{background:#c0392b}.loading-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.spinner{border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body{margin:0;padding:0;background:#121212;color:#e0e0e0}.container{padding:16px}
