.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.login-card h1{margin:0 0 8px;font-size:28px;color:#333;text-align:center}.login-card .login-subtitle{margin:0 0 32px;color:#666;text-align:center;font-size:14px}.login-card form{display:flex;flex-direction:column;gap:20px}.login-card .form-group{display:flex;flex-direction:column;gap:8px}.login-card .form-group label{font-size:14px;font-weight:500;color:#333}.login-card .form-group input{padding:12px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.login-card .form-group input:focus{outline:none;border-color:#667eea}.login-card .form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-card .error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;font-size:14px;text-align:center}.login-card .login-button{padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.login-card .login-button:hover:not(:disabled){opacity:.9}.login-card .login-button:disabled{opacity:.6;cursor:not-allowed}.dashboard-container{min-height:100vh;background-color:#f5f5f5;display:flex;flex-direction:column}.dashboard-header{background:#fff;padding:20px 40px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{margin:0;font-size:24px;color:#333}.dashboard-header .logout-button{padding:10px 20px;background-color:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s}.dashboard-header .logout-button:hover{background-color:#c82333}.dashboard-content{flex:1;display:grid;grid-template-columns:400px 1fr;gap:20px;padding:20px;max-width:1400px;width:100%;margin:0 auto}@media(max-width:968px){.dashboard-content{grid-template-columns:1fr}}.initiatives-list{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a;height:fit-content;max-height:calc(100vh - 120px);overflow-y:auto}.initiatives-list h2{margin:0 0 16px;font-size:18px;color:#333}.initiatives-list .empty-message{color:#999;text-align:center;padding:40px 20px}.initiatives-items{display:flex;flex-direction:column;gap:12px}.initiative-item{padding:16px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.initiative-item:hover{border-color:#667eea;background-color:#f8f9ff}.initiative-item.selected{border-color:#667eea;background-color:#f0f2ff}.initiative-item h3{margin:0 0 8px;font-size:16px;color:#333}.initiative-item .initiative-date{margin:0;font-size:13px;color:#666}.initiative-detail{background:#fff;border-radius:8px;padding:32px;box-shadow:0 2px 8px #0000001a;height:fit-content}.empty-state{display:flex;align-items:center;justify-content:center;min-height:300px;color:#999;font-size:16px}.detail-content h2{margin:0 0 24px;font-size:24px;color:#333}.detail-content .detail-info{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:24px}.detail-content .detail-info p{margin:8px 0;font-size:14px;color:#555}.detail-content .detail-info p strong{color:#333}.detail-content .error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.detail-content .loading-download{text-align:center;padding:20px;color:#667eea;font-size:14px}.detail-content .download-button{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.detail-content .download-button:hover{opacity:.9}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:18px;color:#666}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh}
